public static Set<String> getMeasures(String name, Map<String, String> props) { Set<String> measures = new HashSet<>(); String measureStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getCubeMeasureListKey(name)); measures.addAll(Arrays.asList(StringUtils.split(measureStr, ','))); return measures; }
public static Set<String> getMeasures(String name, Map<String, String> props) { Set<String> measures = new HashSet<>(); String measureStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getCubeMeasureListKey(name)); measures.addAll(Arrays.asList(StringUtils.split(measureStr, ','))); return measures; }
public static Set<CubeMeasure> getMeasures(String name, Map<String, String> props) { Set<CubeMeasure> measures = new HashSet<>(); String measureStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getCubeMeasureListKey(name)); String[] names = measureStr.split(","); for (String measureName : names) { String className = props.get(MetastoreUtil.getMeasureClassPropertyKey(measureName)); CubeMeasure measure; try { Class<?> clazz = Class.forName(className); Constructor<?> constructor; constructor = clazz.getConstructor(String.class, Map.class); measure = (CubeMeasure) constructor.newInstance(new Object[]{measureName, props}); } catch (Exception e) { throw new IllegalArgumentException("Invalid measure", e); } measures.add(measure); } return measures; }
public static Set<CubeMeasure> getMeasures(String name, Map<String, String> props) { Set<CubeMeasure> measures = new HashSet<>(); String measureStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getCubeMeasureListKey(name)); String[] names = measureStr.split(","); for (String measureName : names) { String className = props.get(MetastoreUtil.getMeasureClassPropertyKey(measureName)); CubeMeasure measure; try { Class<?> clazz = Class.forName(className); Constructor<?> constructor; constructor = clazz.getConstructor(String.class, Map.class); measure = (CubeMeasure) constructor.newInstance(new Object[]{measureName, props}); } catch (Exception e) { throw new IllegalArgumentException("Invalid measure", e); } measures.add(measure); } return 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 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); } }
/** * 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 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()); }
public void updateMeasureProperties() { MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeMeasureListKey(getName()), MetastoreUtil.getNamedSetFromStringSet(measures)); }
public void updateMeasureProperties() { MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getCubeMeasureListKey(getName()), MetastoreUtil.getNamedSetFromStringSet(measures)); }
@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); }