public boolean dependsOn(Hierarchy hierarchy) { return hierarchy.getDimension().getDimensionType() == mondrian.olap.DimensionType.TimeDimension; } };
public Type getDimensionType() throws OlapException { final DimensionType dimensionType = dimension.getDimensionType(); switch (dimensionType) { case StandardDimension: return Type.OTHER; case MeasuresDimension: return Type.MEASURE; case TimeDimension: return Type.TIME; default: throw Util.unexpected(dimensionType); } }
/** * Returns the time hierarchy for this cube. If there is no time hierarchy, * throws. */ public RolapHierarchy getTimeHierarchy(String funName) { for (RolapHierarchy hierarchy : hierarchyList) { if (hierarchy.getDimension().getDimensionType() == DimensionType.TimeDimension) { return hierarchy; } } throw MondrianResource.instance().NoTimeDimensionInCube.ex(funName); }
/** * 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; }
if (d.getDimensionType() == DimensionType.TimeDimension) { continue;
final Dimension dimension = hierarchy.getDimension(); final RolapLevel level = getLevel(); if (dimension.getDimensionType() != null && (dimension.getDimensionType().equals( DimensionType.MeasuresDimension) && hierarchy.getName().equals(dimension.getName())))
public Type getResultType(Validator validator, Exp[] args) { if (args.length == 0) { // With no args, the default implementation cannot // guess the hierarchy. RolapHierarchy defaultTimeHierarchy = ((RolapCube) validator.getQuery().getCube()).getTimeHierarchy( getName()); return new SetType(MemberType.forHierarchy(defaultTimeHierarchy)); } final Type type = args[0].getType(); if (type.getDimension().getDimensionType() != DimensionType.TimeDimension) { throw MondrianResource.instance().TimeArgNeeded.ex(getName()); } return super.getResultType(validator, args); }
if (dim.getDimensionType() == DimensionType.TimeDimension) { if (!levelType.isTime() && !isAll()) { throw MondrianResource.instance() .NonTimeLevelInTimeHierarchy.ex(getUniqueName()); } else if (dim.getDimensionType() == null) {