From 015876edacbd4c1b5f0d164e1e8472e7edda8339 Mon Sep 17 00:00:00 2001 From: Julian Hyde Date: Tue, 26 Jul 2011 00:59:31 +0000 Subject: [PATCH] Tweaks to getSharedDimensions fix, and more testing. git-svn-id: https://olap4j.svn.sourceforge.net/svnroot/olap4j/trunk@465 c6a108a4-781c-0410-a6c6-c2d559e19af0 --- src/org/olap4j/driver/xmla/XmlaOlap4jConnection.java | 8 +++----- src/org/olap4j/driver/xmla/XmlaOlap4jSchema.java | 2 +- testsrc/org/olap4j/ConnectionTest.java | 12 ++++++++++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/org/olap4j/driver/xmla/XmlaOlap4jConnection.java b/src/org/olap4j/driver/xmla/XmlaOlap4jConnection.java index e224481..c89ec70 100644 --- a/src/org/olap4j/driver/xmla/XmlaOlap4jConnection.java +++ b/src/org/olap4j/driver/xmla/XmlaOlap4jConnection.java @@ -1169,11 +1169,9 @@ public int compare( } }); } - if (this.cubeForCallback != null) { - this.cubeForCallback.dimensionsByUname.put( - dimension.getUniqueName(), - dimension); - } + this.cubeForCallback.dimensionsByUname.put( + dimension.getUniqueName(), + dimension); } } diff --git a/src/org/olap4j/driver/xmla/XmlaOlap4jSchema.java b/src/org/olap4j/driver/xmla/XmlaOlap4jSchema.java index 72f3b97..689d90f 100644 --- a/src/org/olap4j/driver/xmla/XmlaOlap4jSchema.java +++ b/src/org/olap4j/driver/xmla/XmlaOlap4jSchema.java @@ -70,7 +70,7 @@ class XmlaOlap4jSchema implements Schema, Named { this.sharedDimensions = new DeferredNamedListImpl( XmlaOlap4jConnection.MetadataRequest.MDSCHEMA_DIMENSIONS, context, - new XmlaOlap4jConnection.DimensionHandler(null), + new XmlaOlap4jConnection.DimensionHandler(sharedCube), restrictions); } diff --git a/testsrc/org/olap4j/ConnectionTest.java b/testsrc/org/olap4j/ConnectionTest.java index da605b9..9e04077 100644 --- a/testsrc/org/olap4j/ConnectionTest.java +++ b/testsrc/org/olap4j/ConnectionTest.java @@ -2057,6 +2057,18 @@ public void testSchemaGetSharedDimensions() throws Exception { "Time", "Warehouse"), list); + + int hierarchyCount = 0, levelCount = 0; + for (Dimension sharedDimension : sharedDimensions) { + for (Hierarchy hierarchy : sharedDimension.getHierarchies()) { + ++hierarchyCount; + for (Level level : hierarchy.getLevels()) { + ++levelCount; + } + } + } + assertTrue(hierarchyCount > 0); + assertTrue(levelCount > 0); } /**