public String getName() { return dimension.getName(); }
this.caption = caption; } else if (subName == null) { this.caption = dimension.getCaption(); } else { this.caption = subName; this.visible = visible; String name = dimension.getName(); if (MondrianProperties.instance().SsasCompatibleNaming.get()) { if (subName == null) { ? dimension.getUniqueName() : Util.makeFqName(dimension, this.name); } else { this.uniqueName = dimension.getUniqueName(); } else { this.uniqueName = dimension.getUniqueName();
/** * Returns the first level of a given type in this cube. * * @param levelType Level type * @return First level of given type, or null */ private Level getTimeLevel(LevelType levelType) { for (Dimension dimension : dimensions) { if (dimension.getDimensionType() == DimensionType.TimeDimension) { Hierarchy[] hierarchies = dimension.getHierarchies(); for (Hierarchy hierarchy : hierarchies) { Level[] levels = hierarchy.getLevels(); for (Level level : levels) { if (level.getLevelType() == levelType) { return level; } } } } } return null; }
private Hierarchy getHierarchyWithDefaultName() { for ( Hierarchy hierarchy : dimension.getHierarchies() ) { if ( Util.equalName( hierarchy.getName(), dimension.getName() ) ) { return hierarchy; } } return null; }
for (Hierarchy hierarchy : dimension.getHierarchies()) { final HierarchyAccessImpl hierarchyAccess = hierarchyGrants.get(hierarchy); LOGGER.trace( "Access level " + access + " granted to dimension " + dimension.getUniqueName() + " because of the grant to one of its hierarchy."); return Access.CUSTOM; } else { LOGGER.trace( "Access denided to dimension " + dimension.getUniqueName() + " because there are no hierarchies accessible."); return Access.NONE; LOGGER.trace( "Access level " + access + " granted to dimension " + dimension.getUniqueName() + " because of explicit access rights."); return access; LOGGER.trace( "Access level " + access + " granted to dimension " + dimension.getUniqueName() + " because of the grant to its parent cube."); return access; switch (getAccess(dimension.getSchema())) { case ALL:
/** * Sorts a list of members into hierarchical order. The members must belong * to the same dimension. * * @param memberList List of members * @param post Whether to sort in post order; if false, sorts in pre order * * @see #hierarchizeTupleList(mondrian.calc.TupleList, boolean) */ public static void hierarchizeMemberList( List<Member> memberList, boolean post) { if (memberList.size() <= 1) { return; } Dimension dimension = memberList.get(0).getDimension(); if (dimension.isHighCardinality()) { LOGGER.warn( MondrianResource.instance() .HighCardinalityInDimension.str( dimension.getUniqueName())); return; } Comparator<Member> comparator = new HierarchizeComparator(post); Collections.sort(memberList, comparator); }
dimension.getSchema(), dimension.getName() + "$Closure", null, true, "Closure dimension for parent-child hierarchy " + getName(), DimensionType.StandardDimension, dimension.isHighCardinality(), Collections.<String, Annotation>emptyMap());
Util.assertPrecondition(isMutable(), "isMutable()"); LOGGER.trace( "Grant " + access + " on dimension " + dimension.getUniqueName()); dimensionGrants.put(dimension, access); new Object[] { dimension.getClass().getName(), dimension.getName(), access.name()}); hash = 0;
/** * Returns the ordinal of this hierarchy in its cube. * * <p>Temporarily defined against RolapHierarchy; will be moved to * RolapCubeHierarchy as soon as the measures hierarchy is a * RolapCubeHierarchy. * * @return Ordinal of this hierarchy in its cube */ public int getOrdinalInCube() { // This is temporary to verify that all calls to this method are for // the measures hierarchy. For all other hierarchies, the context will // be a RolapCubeHierarchy. // // In particular, if this method is called from // RolapEvaluator.setContext, the caller of that method should have // passed in a RolapCubeMember, not a RolapMember. assert dimension.isMeasures(); return 0; }
private Hierarchy getTypeHierarchy(final Type type) { Hierarchy hierarchy = type.getHierarchy(); if (hierarchy != null) { return hierarchy; } final Dimension dimension = type.getDimension(); if (dimension != null) { return dimension.getHierarchy(); } return null; }
public RolapSchema getRolapSchema() { return (RolapSchema) dimension.getSchema(); }
final Dimension dimension = hierarchy.getDimension(); final RolapLevel level = getLevel(); if (dimension.getDimensionType() != null && (dimension.getDimensionType().equals( DimensionType.MeasuresDimension) && hierarchy.getName().equals(dimension.getName())))
public String getUniqueName() { return dimension.getUniqueName(); }
public Hierarchy getHierarchy() { return dimension == null ? null : dimension.getHierarchies().length > 1 ? getHierarchyWithDefaultName() : dimension.getHierarchies()[0]; }
public CellRegion createMeasuresRegion(Cube cube) { Dimension measuresDimension = null; for (Dimension dim : cube.getDimensions()) { if (dim.isMeasures()) { measuresDimension = dim; break; } } if (measuresDimension == null) { throw new MondrianException( "No measures dimension found for cube " + cube.getName()); } final List<Member> measures = cube.getSchemaReader(null).withLocus().getLevelMembers( measuresDimension.getHierarchy().getLevels()[0], false); if (measures.size() == 0) { return new EmptyCellRegion(); } return new MemberCellRegion(measures, false); }
/** * Returns the default hierarchy of a dimension, or null if there is no * default. * * @see MondrianResource#CannotImplicitlyConvertDimensionToHierarchy * * @param dimension Dimension * @return Default hierarchy, or null */ public static Hierarchy getDimensionDefaultHierarchy(Dimension dimension) { final Hierarchy[] hierarchies = dimension.getHierarchies(); if (hierarchies.length == 1) { return hierarchies[0]; } if (MondrianProperties.instance().SsasCompatibleNaming.get()) { // In SSAS 2005, dimensions with more than one hierarchy do not have // a default hierarchy. return null; } for (Hierarchy hierarchy : hierarchies) { if (hierarchy.getName() == null || hierarchy.getUniqueName().equals(dimension.getUniqueName())) { return hierarchy; } } return null; }
public boolean dependsOn(Hierarchy hierarchy) { return hierarchy.getDimension().getDimensionType() == mondrian.olap.DimensionType.TimeDimension; } };
if (memberList.get(i).getDimension().isMeasures()) { measurePosition = i; break; : vMinusBDimension.getHierarchies())
schema = getHierarchy().getDimension().getSchema(); return schema.getName(); return getHierarchy().getDimension().getUniqueName(); ((RolapSchema) level.getDimension().getSchema()) .getInternalConnection(), "Member.CHILDREN_CARDINALITY",
private void printAxis(PrintWriter pw, Axis axis) { List<Position> positions = axis.getPositions(); for (Position position : positions) { boolean firstTime = true; pw.print("{"); for (Member member : position) { if (member.getDimension().isHighCardinality()) { pw.println(" -- High cardinality dimension --}"); return; } if (! firstTime) { pw.print(", "); } pw.print(member.getUniqueName()); firstTime = false; } pw.println("}"); } }