@Override public boolean allFieldsQueriable() { String canBeQueried = getProperties().get(MetastoreConstants.CUBE_ALL_FIELDS_QUERIABLE); return canBeQueried == null || Boolean.parseBoolean(canBeQueried.toLowerCase()); }
public String getPartitionColumnOfTimeDim(@NonNull String timeDimName) { String partCol = getProperties().get(MetastoreConstants.TIMEDIM_TO_PART_MAPPING_PFX + timeDimName); return StringUtils.isNotBlank(partCol) ? partCol : timeDimName; }
@Override public boolean allFieldsQueriable() { String canBeQueried = getProperties().get(MetastoreConstants.CUBE_ALL_FIELDS_QUERIABLE); return canBeQueried == null || Boolean.parseBoolean(canBeQueried.toLowerCase()); }
public String getPartitionColumnOfTimeDim(@NonNull String timeDimName) { String partCol = getProperties().get(MetastoreConstants.TIMEDIM_TO_PART_MAPPING_PFX + timeDimName); return StringUtils.isNotBlank(partCol) ? partCol : timeDimName; }
public String getTimeDimOfPartitionColumn(@NonNull String partCol) { Map<String, String> properties = getProperties(); for (Map.Entry<String, String> entry : properties.entrySet()) { if (entry.getKey().startsWith(MetastoreConstants.TIMEDIM_TO_PART_MAPPING_PFX) && entry.getValue().equalsIgnoreCase(partCol)) { return entry.getKey().replace(MetastoreConstants.TIMEDIM_TO_PART_MAPPING_PFX, ""); } } return partCol; }
public String getTimeDimOfPartitionColumn(@NonNull String partCol) { Map<String, String> properties = getProperties(); for (Map.Entry<String, String> entry : properties.entrySet()) { if (entry.getKey().startsWith(MetastoreConstants.TIMEDIM_TO_PART_MAPPING_PFX) && entry.getValue().equalsIgnoreCase(partCol)) { return entry.getKey().replace(MetastoreConstants.TIMEDIM_TO_PART_MAPPING_PFX, ""); } } return partCol; }
@Override public Date getAbsoluteEndTime() { return MetastoreUtil.getDateFromProperty(this.getProperties().get(MetastoreConstants.CUBE_ABSOLUTE_END_TIME), false, false); }
@Override public Date getRelativeEndTime() { return MetastoreUtil.getDateFromProperty(this.getProperties().get(MetastoreConstants.CUBE_RELATIVE_END_TIME), true, false); }
@Override public Date getAbsoluteStartTime() { return MetastoreUtil.getDateFromProperty(this.getProperties().get(MetastoreConstants.CUBE_ABSOLUTE_START_TIME), false, true); }
@Override public Date getRelativeStartTime() { return MetastoreUtil.getDateFromProperty(this.getProperties().get(MetastoreConstants.CUBE_RELATIVE_START_TIME), true, true); }
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); } }
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(); 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 Cube getMockCube(Map<String, String> properties) { Cube cube = mock(Cube.class); when(cube.now()).thenReturn(now); when(cube.getProperties()).thenReturn(properties); when(cube.getRelativeStartTime()).thenCallRealMethod(); when(cube.getAbsoluteStartTime()).thenCallRealMethod(); when(cube.getRelativeEndTime()).thenCallRealMethod(); when(cube.getAbsoluteEndTime()).thenCallRealMethod(); when(cube.getStartTime()).thenCallRealMethod(); when(cube.getEndTime()).thenCallRealMethod(); return cube; }