Author: rareddy
Date: 2011-06-08 19:02:33 -0400 (Wed, 08 Jun 2011)
New Revision: 3238
Modified:
branches/7.4.x/connectors/translator-olap/src/main/java/org/teiid/translator/olap/OlapQueryExecution.java
Log:
TEIID-1628: correct the code to extract the data rather than the label for the ROW
dimention data.
Modified:
branches/7.4.x/connectors/translator-olap/src/main/java/org/teiid/translator/olap/OlapQueryExecution.java
===================================================================
---
branches/7.4.x/connectors/translator-olap/src/main/java/org/teiid/translator/olap/OlapQueryExecution.java 2011-06-08
19:48:27 UTC (rev 3237)
+++
branches/7.4.x/connectors/translator-olap/src/main/java/org/teiid/translator/olap/OlapQueryExecution.java 2011-06-08
23:02:33 UTC (rev 3238)
@@ -54,9 +54,9 @@
protected OlapExecutionFactory executionFactory;
private OlapStatement stmt;
private CellSet cellSet;
- private CellSetAxis cols;
+ private CellSetAxis columnsAxis;
private int colWidth;
- private ListIterator<Position> iterator;
+ private ListIterator<Position> rowPositionIterator;
public OlapQueryExecution(Command command, OlapConnection connection, ExecutionContext
context, OlapExecutionFactory executionFactory) {
this.command = command;
@@ -74,10 +74,10 @@
stmt = this.connection.createStatement();
cellSet = stmt.executeOlapQuery(mdxQuery);
- CellSetAxis rows = this.cellSet.getAxes().get(Axis.ROWS.axisOrdinal());
- iterator = rows.iterator();
- cols = cellSet.getAxes().get(Axis.COLUMNS.axisOrdinal());
- colWidth = rows.getAxisMetaData().getHierarchies().size() +
this.cols.getPositions().size();
+ CellSetAxis rowAxis = this.cellSet.getAxes().get(Axis.ROWS.axisOrdinal());
+ rowPositionIterator = rowAxis.iterator();
+ columnsAxis = cellSet.getAxes().get(Axis.COLUMNS.axisOrdinal());
+ colWidth = rowAxis.getAxisMetaData().getHierarchies().size() +
this.columnsAxis.getPositions().size();
} catch (SQLException e) {
throw new TranslatorException(e);
}
@@ -109,22 +109,22 @@
@Override
public List<?> next() throws TranslatorException {
- if (!iterator.hasNext()) {
+ if (!rowPositionIterator.hasNext()) {
return null;
}
- Position nextRow = iterator.next();
+ Position rowPosition = rowPositionIterator.next();
Object[] result = new Object[colWidth];
int i = 0;
// add in rows axis
- List<Member> members = nextRow.getMembers();
+ List<Member> members = rowPosition.getMembers();
for (Member member:members) {
- String columnName = member.getHierarchy().getName();
+ String columnName = member.getName();
result[i++] = columnName;
}
// add col axis
- for (Position colPos : cols) {
- Cell cell = cellSet.getCell(colPos, nextRow);
+ for (Position colPos : columnsAxis) {
+ Cell cell = cellSet.getCell(colPos, rowPosition);
result[i++] = cell.getValue();
}
ArrayList<Object[]> results = new ArrayList<Object[]>();
Show replies by date