[Mondrian] RE: Excel 2007 Support
Calum Miller
calum at millersoft.ltd.uk
Sat Jan 23 10:26:26 EST 2010
Hi Julian
I have made a wee change to getPros to return the last segment of the
property name. Also two other small changes
(XmlaHandler.writeHierarchyInfo and XmlaHandler. writeMember) to
display encoded properties. I have also removed now redundant code
from XmlaHandler. writeMember,
These changes were made to the mondrian 3.2 branch
I had to update the Excel2007 test as the xml formatting of the result
changed...odd
I tested these changed manually in Excel 2007 and they work fine. I
also reran the full Mondrian test suite against MySQL, the properties
issues are listed below. Had I direct access to the repository then
I'd have fixed these tests for you ;-)
[java] 1)
testExecuteSlicerJson
(mondrian.xmla.XmlaBasicTest)java.lang.AssertionError: Ended an
element, but in sequence Member
[java] at
mondrian.xmla.impl.JsonSaxWriter.endElement(JsonSaxWriter.java:135)
[java] at mondrian.xmla.XmlaHandler.execute(XmlaHandler.java:713)
[java] at mondrian.xmla.XmlaHandler.process(XmlaHandler.java:551)
[java] at mondrian.tui.XmlaSupport.processXmla(XmlaSupport.java:
877)
[java] at mondrian.tui.XmlaSupport.processXmla(XmlaSupport.java:
828)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTestsJson(XmlaBaseTestCase.java:611)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTestInline(XmlaBaseTestCase.java:456)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTest(XmlaBaseTestCase.java:421)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTest(XmlaBaseTestCase.java:410)
[java] at
mondrian.xmla.XmlaBasicTest.testExecuteSlicerJson(XmlaBasicTest.java:
610)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[java] at
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
[java] at
sun
.reflect
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[java] at mondrian.test.MondrianTestRunner
$2.run(MondrianTestRunner.java:139)
[java] at java.lang.Thread.run(Thread.java:637)
[java] There were 5 failures:
[java] 1)
testExecuteWithMemberKeyDimensionPropertyForMemberWithKey
(mondrian.xmla.XmlaBasicTest)junit.framework.ComparisonFailure:
expected:<... <[Customers>Alice Cantrell</Customers>
[java] <Customers>F</
Customers>
[java] <Customers>M</
Customers>
[java] <Customers>Partial
College</Customers>
[java] <Customers>$30K -
$50K</Customers>
[java] <]/Member>
[java] ...> but was:<... <[]/Member>
[java] ...>
[java] at
mondrian.test.DiffRepository.assertEquals(DiffRepository.java:516)
[java] at
mondrian.xmla.XmlaBaseTestCase.validate(XmlaBaseTestCase.java:147)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTests(XmlaBaseTestCase.java:588)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTestInline(XmlaBaseTestCase.java:475)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTest(XmlaBaseTestCase.java:421)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTest(XmlaBaseTestCase.java:410)
[java] at
mondrian
.xmla
.XmlaBasicTest
.testExecuteWithMemberKeyDimensionPropertyForMemberWithKey
(XmlaBasicTest.java:665)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[java] at
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
[java] at
sun
.reflect
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[java] at mondrian.test.MondrianTestRunner
$2.run(MondrianTestRunner.java:139)
[java] at java.lang.Thread.run(Thread.java:637)
[java] 2)
testExecuteWithKeyDimensionProperty
(mondrian.xmla.XmlaBasicTest)junit.framework.ComparisonFailure:
expected:<... <[Customers>Alice Cantrell</Customers>
[java] <Customers>F</
Customers>
[java] <Customers>M</
Customers>
[java] <Customers>Partial
College</Customers>
[java] <Customers>$30K -
$50K</Customers>
[java] <]/Member>
[java] ...> but was:<... <[]/Member>
[java] ...>
[java] at
mondrian.test.DiffRepository.assertEquals(DiffRepository.java:516)
[java] at
mondrian.xmla.XmlaBaseTestCase.validate(XmlaBaseTestCase.java:147)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTests(XmlaBaseTestCase.java:588)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTestInline(XmlaBaseTestCase.java:475)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTest(XmlaBaseTestCase.java:421)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTest(XmlaBaseTestCase.java:410)
[java] at
mondrian
.xmla
.XmlaBasicTest.testExecuteWithKeyDimensionProperty(XmlaBasicTest.java:
681)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[java] at
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
[java] at
sun
.reflect
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[java] at mondrian.test.MondrianTestRunner
$2.run(MondrianTestRunner.java:139)
[java] at java.lang.Thread.run(Thread.java:637)
[java] 3)
test24
(mondrian.xmla.XmlaExcelXPTest)junit.framework.ComparisonFailure:
expected:<... <[Store>Deluxe Supermarket</Store>
[java] <Store>Inmon</Store>
[java] <Store>27694</Store>
[java] <Store>18670</Store>
[java] <Store>5415</Store>
[java] <Store>3610</Store>
[java] <Store>1</Store>
[java] <Store>5179 Valley
Ave</Store>
[java] <]/Member>
[java] ...> but was:<... <[]/Member>
[java] ...>
[java] at
mondrian.test.DiffRepository.assertEquals(DiffRepository.java:516)
[java] at
mondrian.xmla.XmlaBaseTestCase.validate(XmlaBaseTestCase.java:147)
[java] at
mondrian.xmla.XmlaBaseTestCase.doTest(XmlaBaseTestCase.java:166)
[java] at
mondrian.xmla.XmlaBaseTestCase.helperTest(XmlaBaseTestCase.java:238)
[java] at
mondrian.xmla.XmlaExcelXPTest.test24(XmlaExcelXPTest.java:151)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[java] at
sun
.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
[java] at
sun
.reflect
.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[java] at mondrian.test.MondrianTestRunner
$2.run(MondrianTestRunner.java:139)
[java] at java.lang.Thread.run(Thread.java:637)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: XmlaExcel2007Test.ref.xml
Type: text/xml
Size: 39801 bytes
Desc: not available
Url : http://lists.pentaho.org/pipermail/mondrian/attachments/20100123/6ff04a71/attachment.xml
-------------- next part --------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: XmlaHandler.java
Type: application/octet-stream
Size: 119872 bytes
Desc: not available
Url : http://lists.pentaho.org/pipermail/mondrian/attachments/20100123/6ff04a71/attachment.obj
-------------- next part --------------
On 19 Jan 2010, at 18:42, Julian Hyde wrote:
>> Calum Miller wrote:
>>
>> I think the getProps function returns the wrong values when
>> HierachyInfo is generated. I will not get another chance to review
>> this function until Wednesday evening.
>>
>> <HierarchyInfo name="Store">
>> <UName name="[Store].[MEMBER_UNIQUE_NAME]"/>
>> <Caption name="[Store].[MEMBER_CAPTION]"/>
>> <LName name="[Store].[LEVEL_UNIQUE_NAME]"/>
>> <LNum name="[Store].[LEVEL_NUMBER]"/>
>> <DisplayInfo name="[Store].[DISPLAY_INFO]"/>
>> <PARENT_UNIQUE_NAME
>> name="[Store].[PARENT_UNIQUE_NAME]"
>> type="xsd:string"/>
>> <Store name="[Store].[Store]" type="xsd:string"/>
>> <Store name="[Store].[Store]" type="xsd:string"/>
>> <Store name="[Store].[Store]" type="xsd:string"/>
>> <Store name="[Store].[Store]" type="xsd:string"/>
>> <Store name="[Store].[Store]" type="xsd:string"/>
>> <Store name="[Store].[Store]" type="xsd:string"/>
>> <Store name="[Store].[Store]" type="xsd:string"/>
>> <Store name="[Store].[Store]" type="xsd:string"/>
>> </HierarchyInfo>
>
> Yes, I think you're right. HierarchyInfo needs to define the element
> names
> that will be used in the actual result set, and define how they map
> onto
> properties.
>
> Julian
>
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian
More information about the Mondrian
mailing list