public static String getHierarchyElement(CubeDimAttribute dim) { return dim.getName() + "," + dim.getClass().getCanonicalName(); }
/** * Alters the dimension if already existing or just adds if it is new dimension * * @param dimension the dim attribute */ public void alterDimension(@NonNull CubeDimAttribute dimension) { // Replace dimension if already existing if (dimMap.containsKey(dimension.getName().toLowerCase())) { dimensions.remove(getDimAttributeByName(dimension.getName())); log.info("Replacing dimension {} with {}", getDimAttributeByName(dimension.getName()), dimension); } dimensions.add(dimension); dimMap.put(dimension.getName().toLowerCase(), dimension); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeDimensionListKey(getName()), dimensions); dimension.addProperties(getProperties()); }
@Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((getType() == null) ? 0 : getType().toLowerCase().hashCode()); if (numOfDistinctValues.isPresent()) { result = prime * result + numOfDistinctValues.get().hashCode(); } if (values.isPresent()) { result = prime * result + values.get().hashCode(); } return result; }
xd.setName(cd.getName()); xd.setDescription(cd.getDescription()); xd.setDisplayString(cd.getDisplayString()); xd.setStartTime(getXMLGregorianCalendar(cd.getStartTime())); xd.setEndTime(getXMLGregorianCalendar(cd.getEndTime())); xd.setTags(getXProperties(xPropertiesFromMap(cd.getTags()))); if (cd instanceof ReferencedDimAttribute) { ReferencedDimAttribute rd = (ReferencedDimAttribute) cd;
assertEquals(hcube.getDimAttributeByName("dim1").getDescription(), "first dimension"); assertEquals(hcube.getDimAttributeByName("dim1").getDisplayString(), "Dimension1"); assertEquals((((BaseDimAttribute) hcube.getDimAttributeByName("dim1")).getNumOfDistinctValues().get()), Long.valueOf(2000)); assertEquals(hcube.getDimAttributeByName("testdim2col2").getDisplayString(), "Chained Dimension"); assertEquals(hcube.getDimAttributeByName("testdim2col2").getDescription(), "ref chained dimension"); assertEquals(((BaseDimAttribute) hcube.getDimAttributeByName("dim4")).getType(), "struct<a:int,b:array<string>,c:map<int,array<struct<x:int,y:array<int>>>");
assertNull(toAlter.getMeasureByName("msr4")); assertNotNull(toAlter.getDimAttributeByName("testAddDim1")); assertEquals(toAlter.getDimAttributeByName("testAddDim1").getDescription(), "dim to add"); assertNotNull(toAlter.getDimAttributeByName("dim1")); assertEquals(toAlter.getDimAttributeByName("dim1").getDescription(), "basedim altered"); assertNull(toAlter.getDimAttributeByName("location2")); assertEquals(altered.getMeasureByName("msr3").getDescription(), "third altered measure"); assertNotNull(altered.getDimAttributeByName("dim1")); assertEquals(altered.getDimAttributeByName("dim1").getDescription(), "basedim altered"); assertNull(altered.getDimAttributeByName("location2")); assertNull(altered.getChainByName("cityFromZip"));
assertEquals(stateid.getDisplayString(), "State refer altered");
private static void setDimensionProperties(Map<String, String> props, Set<CubeDimAttribute> dimensions) { for (CubeDimAttribute dimension : dimensions) { dimension.addProperties(props); } }
@Override public boolean equals(Object obj) { if (!super.equals(obj)) { return false; } HierarchicalDimAttribute other = (HierarchicalDimAttribute) obj; if (this.getHierarchy() == null) { if (other.getHierarchy() != null) { return false; } } else if (!this.getHierarchy().equals(other.getHierarchy())) { return false; } return true; }
xd.setName(cd.getName()); xd.setDescription(cd.getDescription()); xd.setDisplayString(cd.getDisplayString()); xd.setStartTime(getXMLGregorianCalendar(cd.getStartTime())); xd.setEndTime(getXMLGregorianCalendar(cd.getEndTime())); xd.setTags(getXProperties(xPropertiesFromMap(cd.getTags()))); if (cd instanceof ReferencedDimAttribute) { ReferencedDimAttribute rd = (ReferencedDimAttribute) cd;
assertEquals(cube2.getMeasureByName("msr4").getDisplayString(), "Measure4"); assertNotNull(cube2.getDimAttributeByName("location")); assertEquals(cube2.getDimAttributeByName("location").getDescription(), "location hierarchy"); assertNotNull(cube2.getDimAttributeByName("dim1")); assertEquals(cube2.getDimAttributeByName("dim1").getDescription(), "basedim"); assertNull(cube2.getDimAttributeByName("dim1").getDisplayString()); assertNotNull(cube2.getDimAttributeByName("dim2")); assertEquals(cube2.getDimAttributeByName("dim2").getDescription(), "ref dim"); assertEquals(cube2.getDimAttributeByName("dim2").getDisplayString(), "Dim2 refer"); assertNotNull(cube2.getExpressionByName("msr5")); assertEquals(cube2.getExpressionByName("msr5").getDescription(), "fifth measure");
private static void setAttributedProperties(Map<String, String> props, Set<CubeDimAttribute> attributes) { for (CubeDimAttribute attr : attributes) { attr.addProperties(props); } }
@Override public boolean equals(Object obj) { if (!super.equals(obj)) { return false; } HierarchicalDimAttribute other = (HierarchicalDimAttribute) obj; if (this.getHierarchy() == null) { if (other.getHierarchy() != null) { return false; } } else if (!this.getHierarchy().equals(other.getHierarchy())) { return false; } return true; }
assertEquals(dim.getAttributeByName("col1").getDescription(), "first column"); assertEquals(dim.getAttributeByName("col1").getDisplayString(), "Column1"); assertNotNull(dim.getAttributeByName("col2")); assertEquals(dim.getAttributeByName("col2").getDescription(), "second column"); assertEquals(dim.getAttributeByName("col2").getDisplayString(), "Column2"); assertNotNull(dim.getExpressionByName("dimexpr")); assertEquals(dim.getExpressionByName("dimexpr").getDescription(), "dimension expression");
public static String getHierarchyElement(CubeDimAttribute dim) { return dim.getName() + "," + dim.getClass().getCanonicalName(); }
/** * Alters the attribute if already existing or just adds if it is new attribute * * @param attribute */ public void alterAttribute(@NonNull CubeDimAttribute attribute) { // Replace dimension if already existing if (attributeMap.containsKey(attribute.getName().toLowerCase())) { attributes.remove(getAttributeByName(attribute.getName())); log.info("Replacing attribute {} with {}", getAttributeByName(attribute.getName()), attribute); } attributes.add(attribute); attributeMap.put(attribute.getName().toLowerCase(), attribute); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getDimAttributeListKey(getName()), attributes); attribute.addProperties(getProperties()); }
private static void setAttributedProperties(Map<String, String> props, Set<CubeDimAttribute> attributes) { for (CubeDimAttribute attr : attributes) { attr.addProperties(props); } }
@Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((getType() == null) ? 0 : getType().toLowerCase().hashCode()); if (numOfDistinctValues.isPresent()) { result = prime * result + numOfDistinctValues.get().hashCode(); } if (values.isPresent()) { result = prime * result + values.get().hashCode(); } return result; }
@Override public boolean equals(Object obj) { if (!super.equals(obj)) { return false; } BaseDimAttribute other = (BaseDimAttribute) obj; if (this.getType() == null) { if (other.getType() != null) { return false; } } else if (!this.getType().equalsIgnoreCase(other.getType())) { return false; } else if (!this.numOfDistinctValues.equals(other.numOfDistinctValues)) { return false; } else if (!this.getValues().equals(other.getValues())) { return false; } return true; } }