use of mondrian.olap.MondrianDef.Level in project collect by openforis.
the class Mondrian4SchemaGenerator method createDimension.
private Dimension createDimension(DataTable dataTable, AttributeDefinition attrDefn) {
List<Attribute> attrs = createDimensionAttributes(dataTable, attrDefn);
if (attrs.isEmpty()) {
return null;
} else {
Dimension dimension = new Dimension();
dimension.name = attrDefn.getName();
dimension.caption = getDimensionCaption(attrDefn);
if (attrDefn.hasMainField()) {
dimension.key = attrDefn.getMainFieldName();
} else {
dimension.key = attrDefn.getName();
}
dimension.table = dataTable.getName();
Attributes attributes = new Attributes();
attributes.list().addAll(attrs);
dimension.children.add(attributes);
List<Level> hierarchyLevels = createHierarchyLevels(attrDefn);
if (!hierarchyLevels.isEmpty()) {
Hierarchies hierarchies = new Hierarchies();
Hierarchy hierarchy = new Hierarchy();
hierarchy.name = attrDefn.getName() + "_full_hierarchy";
hierarchy.children.addAll(hierarchyLevels);
hierarchies.list().add(hierarchy);
dimension.children.add(hierarchies);
}
return dimension;
}
}
Aggregations