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));
}