Search in sources :

Example 6 with Property

use of org.olap4j.metadata.Property in project mondrian by pentaho.

the class UdfTest method testPropertyFormatterScript.

/**
 * As {@link #testPropertyFormatterNested()}, but using a script.
 *
 * @throws java.sql.SQLException on error
 */
public void testPropertyFormatterScript() throws SQLException {
    TestContext tc = TestContext.instance().createSubstitutingCube("Sales", "<Dimension name='Promotions2' foreignKey='promotion_id'>\n" + "  <Hierarchy hasAll='true' allMemberName='All Promotions' primaryKey='promotion_id' defaultMember='[All Promotions]'>\n" + "    <Table name='promotion'/>\n" + "    <Level name='Promotion Name' column='promotion_id' uniqueMembers='true'>\n" + "      <Property name='Medium' column='media_type'>\n" + "        <PropertyFormatter>\n" + "          <Script language='JavaScript'>\n" + "            return \"foo\" + member.getName() + \"/\"\n" + "                   + propertyName + \"/\"\n" + "                   + propertyValue + \"bar\";\n" + "          </Script>\n" + "        </PropertyFormatter>\n" + "      </Property>\n" + "    </Level>\n" + "  </Hierarchy>\n" + "</Dimension>");
    final CellSet result = tc.executeOlap4jQuery("select [Promotions2].Children on 0\n" + "from [Sales]");
    final org.olap4j.metadata.Member member = result.getAxes().get(0).getPositions().get(0).getMembers().get(0);
    final Property property = member.getProperties().get("Medium");
    assertEquals("foo0/Medium/No Mediabar", member.getPropertyFormattedValue(property));
}
Also used : Property(org.olap4j.metadata.Property)

Aggregations

Property (org.olap4j.metadata.Property)6 Member (org.olap4j.metadata.Member)2 Cell (org.olap4j.Cell)1