1 28 package net.sf.jasperreports.olap.mondrian; 29 30 import mondrian.olap.Axis; 31 import mondrian.olap.Cell; 32 import mondrian.olap.Query; 33 import mondrian.olap.Result; 34 import net.sf.jasperreports.olap.result.JROlapCell; 35 import net.sf.jasperreports.olap.result.JROlapResult; 36 import net.sf.jasperreports.olap.result.JROlapResultAxis; 37 38 39 43 public class JRMondrianResult implements JROlapResult 44 { 45 46 private final Result result; 47 private final JRMondrianAxis[] axes; 48 49 public JRMondrianResult(Result result) 50 { 51 this.result = result; 52 53 JRMondrianFactory factory = new JRMondrianFactory(); 54 55 Query query = result.getQuery(); 56 Axis[] resultAxes = result.getAxes(); 57 axes = new JRMondrianAxis[resultAxes.length]; 58 for (int i = 0; i < resultAxes.length; i++) 59 { 60 axes[i] = new JRMondrianAxis(resultAxes[i], query.getMdxHierarchiesOnAxis(i), factory); 61 } 62 } 63 64 public JROlapResultAxis[] getAxes() 65 { 66 return axes; 67 } 68 69 public JROlapCell getCell(int[] axisPositions) 70 { 71 Cell dataCell = result.getCell(axisPositions); 72 JRMondrianCell cell = new JRMondrianCell(dataCell); 73 return cell; 74 } 75 76 } 77 | Popular Tags |