public RolapHierarchy getHierarchy() { return (RolapHierarchy) level.getHierarchy(); }
public Hierarchy getHierarchy() { return level.getHierarchy(); }
private boolean isDegenerate(Level level) { if (level instanceof RolapCubeLevel) { RolapCubeHierarchy hier = (RolapCubeHierarchy)level .getHierarchy(); return hier.isUsingCubeFact(); } return false; }
public Hierarchy evaluateHierarchy(Evaluator evaluator) { Level level = levelCalc.evaluateLevel(evaluator); return level.getHierarchy(); } }
public boolean isInstance(Object value) { return value instanceof Level && (level == null || value.equals(level)) && (hierarchy == null || ((Level) value).getHierarchy().equals(hierarchy)) && (dimension == null || ((Level) value).getDimension().equals(dimension)); }
public Hierarchy getHierarchy() { return new MondrianOlap4jHierarchy(olap4jSchema, level.getHierarchy()); }
public List<Member> getCalculatedMembers(Level level) { List<Member> hierarchyMembers = getCalculatedMembers(level.getHierarchy()); List<Member> result = new ArrayList<Member>(); for (Member member : hierarchyMembers) { if (member.getLevel().equals(level)) { result.add(member); } } return result; }
public static LevelType forLevel(Level level) { return new LevelType( level.getDimension(), level.getHierarchy(), level); }
public static MemberType forLevel(Level level) { final Dimension dimension; final Hierarchy hierarchy; if (level == null) { dimension = null; hierarchy = null; } else { dimension = level.getDimension(); hierarchy = level.getHierarchy(); } return new MemberType(dimension, hierarchy, level, null); }
public Object visit(LevelExpr levelExpr) { addToDimMemberSet(levelExpr.getLevel().getHierarchy()); return null; }
public static List<Member> addLevelCalculatedMembers( SchemaReader reader, Level level, List<Member> members) { List<Member> calcMembers = reader.getCalculatedMembers(level.getHierarchy()); List<Member> calcMembersInThisLevel = new ArrayList<Member>(); for (Member calcMember : calcMembers) { if (calcMember.getLevel().equals(level)) { calcMembersInThisLevel.add(calcMember); } } if (!calcMembersInThisLevel.isEmpty()) { List<Member> newMemberList = new ConcatenableList<Member>(); newMemberList.addAll(members); newMemberList.addAll(calcMembersInThisLevel); return newMemberList; } return members; }
public void getMemberRange( Level level, Member startMember, Member endMember, List<Member> list) { getMemberReader(level.getHierarchy()).getMemberRange( (RolapLevel) level, (RolapMember) startMember, (RolapMember) endMember, Util.<RolapMember>cast(list)); }
private void writeProperty( SaxWriter writer, Hierarchy hierarchy, final Property prop) { IMondrianOlap4jProperty currentProperty = (IMondrianOlap4jProperty) prop; String thisHierarchyName = hierarchy.getName(); String thatHierarchiName = currentProperty.getLevel() .getHierarchy().getName(); if (thisHierarchyName.equals(thatHierarchiName)) { writeElement(writer, hierarchy, prop); } }
private int getDepthOffset() { final Role.HierarchyAccess accessDetails = olap4jSchema.olap4jCatalog.olap4jDatabaseMetaData.olap4jConnection .getMondrianConnection2().getRole().getAccessDetails( level.getHierarchy()); if (accessDetails == null) { return 0; } return accessDetails.getTopLevelDepth(); }
public List<Member> getLevelMembers(Level level, Evaluator context) { TupleConstraint constraint = sqlConstraintFactory.getLevelMembersConstraint( context, new Level[] {level}); final MemberReader memberReader = getMemberReader(level.getHierarchy()); List<RolapMember> membersInLevel = memberReader.getMembersInLevel( (RolapLevel) level, constraint); return Util.cast(membersInLevel); }
protected MemberBase( Member parentMember, Level level, MemberType memberType) { this.parentMember = parentMember; this.level = level; this.flags = memberType.ordinal() | (memberType == MemberType.ALL ? FLAG_ALL : 0) | (memberType == MemberType.NULL ? FLAG_NULL : 0) | (computeCalculated(memberType) ? FLAG_CALCULATED : 0) | (level.getHierarchy().getDimension().isMeasures() ? FLAG_MEASURE : 0); }
private Object getHierarchyProperty( Member member, Property longProp) { IMondrianOlap4jProperty currentProperty = (IMondrianOlap4jProperty) longProp; String thisHierarchyName = member.getHierarchy().getName(); String thatHierarchyName = currentProperty.getLevel() .getHierarchy().getName(); if (thisHierarchyName.equals(thatHierarchyName)) { try { return member.getPropertyValue(currentProperty); } catch (OlapException e) { throw new XmlaException( SERVER_FAULT_FC, HSB_BAD_PROPERTIES_LIST_CODE, HSB_BAD_PROPERTIES_LIST_FAULT_FS, e); } } // if property doesn't belong to current hierarchy return null return null; }
static List<Member> periodsToDate( Evaluator evaluator, Level level, Member member) { if (member == null) { member = evaluator.getContext(level.getHierarchy()); } Member m = member; while (m != null) { if (m.getLevel() == level) { break; } m = m.getParentMember(); } // If m == null, then "level" was lower than member's level. // periodsToDate([Time].[Quarter], [Time].[1997] is valid, // but will return an empty List List<Member> members = new ArrayList<Member>(); if (m != null) { // e.g. m is [Time].[1997] and member is [Time].[1997].[Q1].[3] // we now have to make m to be the first member of the range, // so m becomes [Time].[1997].[Q1].[1] SchemaReader reader = evaluator.getSchemaReader(); m = Util.getFirstDescendantOnLevel(reader, m, member.getLevel()); reader.getMemberRange(level, m, member, members); } return members; }
private static Id hierarchyId(Level level) { Id id = new Id(q(level.getDimension().getName())); if (MondrianProperties.instance().SsasCompatibleNaming.get()) { id = id.append(q(level.getHierarchy().getName())); } return id; }
public TupleList evaluateList(Evaluator evaluator) { final Member member; final Level level; if (levelCalc == null) { member = evaluator.getContext(timeHierarchy); level = member.getLevel().getParentLevel(); } else { level = levelCalc.evaluateLevel(evaluator); if (memberCalc == null) { member = evaluator.getContext(level.getHierarchy()); } else { member = memberCalc.evaluateMember(evaluator); } } return new UnaryTupleList( periodsToDate(evaluator, level, member)); }