From 653e62d6defa9dcfa6ba76de5c56d853ee611672 Mon Sep 17 00:00:00 2001 From: Luc Boudreau Date: Mon, 20 Jul 2009 14:03:19 +0000 Subject: [PATCH] Dimensions are inserted according to their correct ordinal value, as specified by DIMENSION_ORDINAL. Fixes https://sourceforge.net/tracker/?func=detail&aid=2823612&group_id=168953&atid=848534 git-svn-id: https://olap4j.svn.sourceforge.net/svnroot/olap4j/trunk@267 c6a108a4-781c-0410-a6c6-c2d559e19af0 --- src/org/olap4j/driver/xmla/XmlaOlap4jConnection.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/org/olap4j/driver/xmla/XmlaOlap4jConnection.java b/src/org/olap4j/driver/xmla/XmlaOlap4jConnection.java index a338f89..821aecb 100644 --- a/src/org/olap4j/driver/xmla/XmlaOlap4jConnection.java +++ b/src/org/olap4j/driver/xmla/XmlaOlap4jConnection.java @@ -930,11 +930,17 @@ public void handle( Dimension.Type.forXmlaOrdinal(dimensionType); final String defaultHierarchyUniqueName = stringElement(row, "DEFAULT_HIERARCHY"); + final Integer dimensionOrdinal = + integerElement(row, "DIMENSION_ORDINAL"); XmlaOlap4jDimension dimension = new XmlaOlap4jDimension( context.olap4jCube, dimensionUniqueName, dimensionName, dimensionCaption, description, type, defaultHierarchyUniqueName); - list.add(dimension); + if (dimensionOrdinal != null) { + list.add(dimensionOrdinal.intValue(), dimension); + } else { + list.add(dimension); + } this.cubeForCallback.dimensionsByUname.put( dimension.getUniqueName(), dimension);