CellSetAxis slicerAxis = cellSet.getFilterAxis(); CellSetAxis slicerAxis = cellSet.getFilterAxis(); final List<Position> slicerPositions = slicerAxis.getPositions();
CellSetAxis slicerAxis = cellSet.getFilterAxis(); if (omitDefaultSlicerInfo) { hierarchies =
/** * @see org.pivot4j.transform.ChangeSlicer#getSlicer() */ public List<Member> getSlicer() { if (!getModel().isInitialized()) { return Collections.emptyList(); } // Use result rather than query CellSet cellSet = getModel().getCellSet(); CellSetAxis slicer = cellSet.getFilterAxis(); List<Position> positions = slicer.getPositions(); List<Member> members = new ArrayList<Member>(); for (Position position : positions) { List<Member> posMembers = position.getMembers(); for (Member posMember : posMembers) { if (!members.contains(posMember)) { members.add(posMember); } } } return members; }
/** * @see org.pivot4j.transform.ChangeSlicer#getHierarchies() */ @Override public List<Hierarchy> getHierarchies() { if (!getModel().isInitialized()) { return Collections.emptyList(); } CellSet cellSet = getModel().getCellSet(); if (cellSet == null) { return Collections.emptyList(); } CellSetAxis slicer = cellSet.getFilterAxis(); Set<Hierarchy> hierarchies = new LinkedHashSet<Hierarchy>(); for (Position position : slicer.getPositions()) { for (Member member : position.getMembers()) { if (!member.isAll() && !(member instanceof Measure) && !hierarchies.contains(member.getHierarchy())) { hierarchies.add(member.getHierarchy()); } } } return new LinkedList<Hierarchy>(hierarchies); }
/** * @see org.pivot4j.transform.ChangeSlicer#getSlicer(org.olap4j.metadata * .Hierarchy) */ @Override public List<Member> getSlicer(Hierarchy hierarchy) { if (hierarchy == null) { return getSlicer(); } CellSet cellSet = getModel().getCellSet(); CellSetAxis slicer = cellSet.getFilterAxis(); List<Position> positions = slicer.getPositions(); List<Member> members = new ArrayList<Member>(); for (Position position : positions) { List<Member> posMembers = position.getMembers(); for (Member posMember : posMembers) { if (OlapUtils.equals(posMember.getHierarchy(), hierarchy) && !members.contains(posMember)) { members.add(posMember); } } } return members; }