private static void outputFlattenedRecurse( Result result, List<List<Object>> rows, List<Object> rowValues, int[] coords, int axisOrdinal ) { final Axis[] axes = result.getAxes(); if ( axisOrdinal == axes.length ) { final Cell cell = result.getCell( coords ); // Output the raw (unformatted) value of the cell. // NOTE: We could output other properties of the cell here, such as its // formatted value, too. rowValues.add( cell.getValue() ); // Add a copy of the completed row to the list of rows. rows.add( new ArrayList<>( rowValues ) ); } else { final Axis axis = axes[axisOrdinal]; int k = -1; int saveLength = rowValues.size(); for ( Position position : axis.getPositions() ) { coords[axisOrdinal] = ++k; for ( Member member : position ) { rowValues.add( member.getUniqueName() ); } outputFlattenedRecurse( result, rows, rowValues, coords, axisOrdinal + 1 ); while ( rowValues.size() > saveLength ) { rowValues.remove( rowValues.size() - 1 ); } } } }
public int getDepth() { return member.getDepth(); }
private String getUniqueNameWithoutAll(Member member) { // build unique string Member parentMember = member.getParentMember(); if ((parentMember != null) && !parentMember.isAll()) { return Util.makeFqName( getUniqueNameWithoutAll(parentMember), member.getName()); } else { return Util.makeFqName(member.getHierarchy(), member.getName()); } }
headings.add( rowMember.getHierarchy().getUniqueName() ); heading += ", "; heading += columnMember.getUniqueName(); rowValues.add( rowMember.getUniqueName() );
public boolean evaluate(Object o) { Member member = (Member) o; return isRaggedLevel(member.getLevel()) || isCustomAccess(member.getHierarchy()); } };
VisualTotalMember( Member member, String name, String caption, final Exp exp) { super( (RolapMember) member.getParentMember(), (RolapLevel) member.getLevel(), RolapUtil.sqlNullValue, name, MemberType.FORMULA); this.member = member; this.caption = caption; this.exp = exp; }
List<Member> memberSiblings(Member member, Evaluator evaluator) { if (member.isNull()) { // the null member has no siblings -- not even itself return Collections.emptyList(); } Member parent = member.getParentMember(); final SchemaReader schemaReader = evaluator.getSchemaReader(); if (parent == null) { return schemaReader.getHierarchyRootMembers( member.getHierarchy()); } else { return schemaReader.getMemberChildren(parent); } } });
for (int i = 0; i < members.length; i++) { Member member = members[i]; if (ScenarioImpl.isScenario(member.getHierarchy())) { scenario = (Scenario) member.getPropertyValue(Property.SCENARIO.name); members[i] = (RolapMember) member.getHierarchy().getAllMember(); } else if (member.isCalculated()) { throw Util.newError( "Cannot write to cell: one of the coordinates (" + member.getUniqueName() + ") is a calculated member");
Hierarchy hierarchy = member.getHierarchy(); headings.add( hierarchy.getUniqueName() );
int depth1 = m1.getDepth(), depth2 = m2.getDepth(); if (depth1 < depth2) { m2 = m2.getParentMember(); if (FunUtil.equals(m1, m2)) { return -1; m1 = m1.getParentMember(); if (FunUtil.equals(m1, m2)) { return 1; m1 = m1.getParentMember(); m2 = m2.getParentMember(); if (FunUtil.equals(m1, m2)) {
private Member getCalculatedChild( Member parent, String childName, Evaluator evaluator) { final SchemaReader schemaReader = evaluator.getQuery().getSchemaReader(true); Level childLevel = parent.getLevel().getChildLevel(); if (childLevel == null) { return parent.getHierarchy().getNullMember(); } List<Member> calcMemberList = schemaReader.getCalculatedMembers(childLevel); for (Member child : calcMemberList) { // the parent check is required in case there are parallel children // with the same names if (child.getParentMember().equals(parent) && child.getName().equals(childName)) { return child; } } return parent.getHierarchy().getNullMember(); } }
private static boolean isChildOrEqualTo(Member member, String uniqueName) { while (true) { String thisUniqueName = member.getUniqueName(); if (thisUniqueName.equals(uniqueName)) { // found a match return true; } // try candidate's parentMember member = member.getParentMember(); if (member == null) { // have reached root return false; } } }
public int getMemberDepth(Member member) { final Role.HierarchyAccess hierarchyAccess = role.getAccessDetails(member.getHierarchy()); if (hierarchyAccess != null) { final int memberDepth = member.getLevel().getDepth(); final int topLevelDepth = hierarchyAccess.getTopLevelDepth(); return memberDepth - topLevelDepth; } else if (((RolapLevel) member.getLevel()).isParentChild()) { // For members of parent-child hierarchy, members in the same level // may have different depths. int depth = 0; for (Member m = member.getParentMember(); m != null; m = m.getParentMember()) { depth++; } return depth; } else { return member.getLevel().getDepth(); } }
public Access getAccess(Member member) { assert member != null; HierarchyAccess hierarchyAccess = getAccessDetails(member.getHierarchy()); if (hierarchyAccess != null) { return hierarchyAccess.getAccess(member); } final Access access = getAccess(member.getDimension()); LOGGER.debug( "Access level " + access + " granted to member " + member.getUniqueName() + " because of a union of roles."); return access; }
boolean isDefaultMeasureFound = false; for (Member cubeMeasure : cubeMeasures) { if (cubeMeasure.getUniqueName().equals(xmlMeasure.name)) { if (cubeMeasure.getName().equalsIgnoreCase( xmlVirtualCube.defaultMeasure)) cubeMeasure.getCaption()); origMeasureList.add(virtualCubeMeasure);
private Exp getFormula(Member member) { return (Exp) member.getPropertyValue(Property.FORMAT_EXP_PARSED.name); } }
public String getName() { return member.getName(); }
private Element createMemberElem(String name, Element parent, Member m) { Element e = elem(name, parent); e.setAttribute("caption", m.getCaption()); e.setAttribute("depth", Integer.toString(m.getLevel().getDepth())); //e.setAttribute("name", m.getName()); //e.setAttribute("qname", m.getQualifiedName()); e.setAttribute("uname", m.getUniqueName()); e.setAttribute("colspan", "1"); e.setAttribute("rowspan", "1"); // add properties to dom tree addMemberProperties(m, e); return e; }
/** * Adds the slicer member and all parent members to mapOfSlicerMembers * capturing the sliced members associated with an Expression. * */ private static void addSlicedMemberToMap( Map<MondrianDef.Expression, Set<RolapMember>> mapOfSlicerMembers, Member slicerMember) { if (slicerMember == null || slicerMember.isAll() || slicerMember.isNull()) { return; } assert slicerMember instanceof RolapMember; MondrianDef.Expression expression = ((RolapLevel) slicerMember.getLevel()).getKeyExp(); if (!mapOfSlicerMembers.containsKey(expression)) { mapOfSlicerMembers.put( expression, new LinkedHashSet<RolapMember>()); } mapOfSlicerMembers.get(expression).add((RolapMember) slicerMember); addSlicedMemberToMap( mapOfSlicerMembers, slicerMember.getParentMember()); }
public boolean isInstance(Object value) { return value instanceof Member && (level == null || ((Member) value).getLevel().equals(level)) && (hierarchy == null || ((Member) value).getHierarchy().equals(hierarchy)) && (dimension == null || ((Member) value).getDimension().equals(dimension)); }