/** * @see org.apache.lens.cube.metadata.AbstractBaseTable */ @Override protected String getJoinChainListPropKey(@NonNull String tblname) { return MetastoreUtil.getCubeJoinChainListKey(getName()); }
/** * @see org.apache.lens.cube.metadata.AbstractBaseTable */ @Override protected String getJoinChainListPropKey(@NonNull String tblname) { return MetastoreUtil.getCubeJoinChainListKey(getName()); }
public Set<String> getTimedDimensions() { String str = getProperties().get(MetastoreUtil.getCubeTimedDimensionListKey(getName())); Set<String> timedDimensions = new HashSet<>(); if (str != null) { timedDimensions.addAll(Arrays.asList(StringUtils.split(str, ','))); } return timedDimensions; }
public Set<String> getTimedDimensions() { String str = getProperties().get(MetastoreUtil.getCubeTimedDimensionListKey(getName())); Set<String> timedDimensions = new HashSet<>(); if (str != null) { timedDimensions.addAll(Arrays.asList(StringUtils.split(str, ','))); } return timedDimensions; }
/** * Removes the timed dimension * * @param timedDimension time dimension */ public void removeTimedDimension(@NonNull String timedDimension) { timedDimension = timedDimension.toLowerCase(); Set<String> timeDims = getTimedDimensions(); if (timeDims != null && timeDims.contains(timedDimension)) { timeDims.remove(timedDimension); getProperties().put(MetastoreUtil.getCubeTimedDimensionListKey(getName()), StringUtils.join(timeDims, ",")); } }
/** * Removes the timed dimension * * @param timedDimension time dimension */ public void removeTimedDimension(@NonNull String timedDimension) { timedDimension = timedDimension.toLowerCase(); Set<String> timeDims = getTimedDimensions(); if (timeDims != null && timeDims.contains(timedDimension)) { timeDims.remove(timedDimension); getProperties().put(MetastoreUtil.getCubeTimedDimensionListKey(getName()), StringUtils.join(timeDims, ",")); } }
/** * Remove the attribute with name specified * * @param dimName attribute name */ public void removeDimension(@NonNull String dimName) { if (dimMap.containsKey(dimName.toLowerCase())) { log.info("Removing dimension {}", getDimAttributeByName(dimName)); dimensions.remove(getDimAttributeByName(dimName)); dimMap.remove(dimName.toLowerCase()); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeDimensionListKey(getName()), dimensions); } }
/** * Remove the measure with name specified * * @param msrName measure name */ public void removeMeasure(@NonNull String msrName) { if (measureMap.containsKey(msrName.toLowerCase())) { log.info("Removing measure {}", getMeasureByName(msrName)); measures.remove(getMeasureByName(msrName)); measureMap.remove(msrName.toLowerCase()); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeMeasureListKey(getName()), measures); } }
/** * Remove the measure with name specified * * @param msrName measure name */ public void removeMeasure(@NonNull String msrName) { if (measureMap.containsKey(msrName.toLowerCase())) { log.info("Removing measure {}", getMeasureByName(msrName)); measures.remove(getMeasureByName(msrName)); measureMap.remove(msrName.toLowerCase()); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeMeasureListKey(getName()), measures); } }
/** * Remove the attribute with name specified * * @param dimName attribute name */ public void removeDimension(@NonNull String dimName) { if (dimMap.containsKey(dimName.toLowerCase())) { log.info("Removing dimension {}", getDimAttributeByName(dimName)); dimensions.remove(getDimAttributeByName(dimName)); dimMap.remove(dimName.toLowerCase()); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeDimensionListKey(getName()), dimensions); } }
public Cube(Table tbl) { super(tbl); this.measures = getMeasures(getName(), getProperties()); this.dimensions = getDimensions(getName(), getProperties()); measureMap = new HashMap<>(); for (CubeMeasure m : measures) { measureMap.put(m.getName().toLowerCase(), m); } dimMap = new HashMap<>(); for (CubeDimAttribute dim : dimensions) { addAllDimsToMap(dim); } }
public Cube(Table tbl) { super(tbl); this.measures = getMeasures(getName(), getProperties()); this.dimensions = getDimensions(getName(), getProperties()); measureMap = new HashMap<>(); for (CubeMeasure m : measures) { measureMap.put(m.getName().toLowerCase(), m); } dimMap = new HashMap<>(); for (CubeDimAttribute dim : dimensions) { addAllDimsToMap(dim); } }
@Override public void addProperties() { super.addProperties(); updateMeasureProperties(); updateDimAttributeProperties(); getProperties().put(MetastoreUtil.getParentCubeNameKey(getName()), parent.getName().toLowerCase()); getProperties().put(MetastoreUtil.getParentCubeNameKey(getName()), parent.getName().toLowerCase()); } public void updateDimAttributeProperties() {
@Override public void addProperties() { super.addProperties(); updateMeasureProperties(); updateDimAttributeProperties(); getProperties().put(MetastoreUtil.getParentCubeNameKey(getName()), parent.getName().toLowerCase()); getProperties().put(MetastoreUtil.getParentCubeNameKey(getName()), parent.getName().toLowerCase()); } public void updateDimAttributeProperties() {
/** * Alters the measure if already existing or just adds if it is new measure. * * @param measure new measure definition */ public void alterMeasure(@NonNull CubeMeasure measure) { // Replace measure if already existing if (measureMap.containsKey(measure.getName().toLowerCase())) { measures.remove(getMeasureByName(measure.getName())); log.info("Replacing measure {} with {}", getMeasureByName(measure.getName()), measure); } measures.add(measure); measureMap.put(measure.getName().toLowerCase(), measure); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeMeasureListKey(getName()), measures); measure.addProperties(getProperties()); }
/** * 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 void addProperties() { super.addProperties(); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeMeasureListKey(getName()), measures); setMeasureProperties(getProperties(), measures); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeDimensionListKey(getName()), dimensions); setDimensionProperties(getProperties(), dimensions); }
@Override public void addProperties() { super.addProperties(); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeMeasureListKey(getName()), measures); setMeasureProperties(getProperties(), measures); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeDimensionListKey(getName()), dimensions); setDimensionProperties(getProperties(), dimensions); }
private void addCubeNameAndAlias(ASTNode ast, Cube innerCube) { ASTNode cubeNameNode = findCubeNameNode(HQLParser.findNodeByPath(ast, TOK_FROM)); assert cubeNameNode != null; ASTNode tabrefNode = (ASTNode) cubeNameNode.getParent().getParent(); cubeNameNode.getToken().setText(innerCube.getName()); ASTNode aliasNode = new ASTNode(new CommonToken(Identifier, getCubeQueryContext().getAliasForTableName(getCube().getName()))); if (tabrefNode.getChildCount() > 1) { tabrefNode.setChild(1, aliasNode); } else { tabrefNode.addChild(aliasNode); } }
private void addCubeNameAndAlias(ASTNode ast, Cube innerCube) { ASTNode cubeNameNode = findCubeNameNode(HQLParser.findNodeByPath(ast, TOK_FROM)); assert cubeNameNode != null; ASTNode tabrefNode = (ASTNode) cubeNameNode.getParent().getParent(); cubeNameNode.getToken().setText(innerCube.getName()); ASTNode aliasNode = new ASTNode(new CommonToken(Identifier, getCubeQueryContext().getAliasForTableName(getCube().getName()))); if (tabrefNode.getChildCount() > 1) { tabrefNode.setChild(1, aliasNode); } else { tabrefNode.addChild(aliasNode); } }