private static Set<ExprColumn> getExpressions(String name, Map<String, String> props) { Set<ExprColumn> exprs = new HashSet<>(); String exprStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getExpressionListKey(name)); if (!StringUtils.isBlank(exprStr)) { String[] names = exprStr.split(","); for (String exprName : names) { ExprColumn expr = new ExprColumn(exprName, props); exprs.add(expr); } } return exprs; }
private static Set<ExprColumn> getExpressions(String name, Map<String, String> props) { Set<ExprColumn> exprs = new HashSet<>(); String exprStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getExpressionListKey(name)); if (!StringUtils.isBlank(exprStr)) { String[] names = exprStr.split(","); for (String exprName : names) { ExprColumn expr = new ExprColumn(exprName, props); exprs.add(expr); } } return exprs; }
/** * Remove the expression with name specified * * @param exprName expression name */ public void removeExpression(String exprName) { if (exprMap.containsKey(exprName.toLowerCase())) { log.info("Removing expression {}", getExpressionByName(exprName)); expressions.remove(getExpressionByName(exprName)); exprMap.remove(exprName.toLowerCase()); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getExpressionListKey(getName()), expressions); } }
/** * Remove the expression with name specified * * @param exprName expression name */ public void removeExpression(String exprName) { if (exprMap.containsKey(exprName.toLowerCase())) { log.info("Removing expression {}", getExpressionByName(exprName)); expressions.remove(getExpressionByName(exprName)); exprMap.remove(exprName.toLowerCase()); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getExpressionListKey(getName()), expressions); } }
/** * Alters the expression if already existing or just adds if it is new expression. * * @param expr ExprColumn */ public void alterExpression(ExprColumn expr) { if (expr == null) { throw new NullPointerException("Cannot add null expression"); } // Replace measure if already existing if (exprMap.containsKey(expr.getName().toLowerCase())) { expressions.remove(getExpressionByName(expr.getName())); log.info("Replacing expression {} with {}", getExpressionByName(expr.getName()), expr); } expressions.add(expr); exprMap.put(expr.getName().toLowerCase(), expr); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getExpressionListKey(getName()), expressions); expr.addProperties(getProperties()); }
/** * Alters the expression if already existing or just adds if it is new expression. * * @param expr ExprColumn */ public void alterExpression(ExprColumn expr) { if (expr == null) { throw new NullPointerException("Cannot add null expression"); } // Replace measure if already existing if (exprMap.containsKey(expr.getName().toLowerCase())) { expressions.remove(getExpressionByName(expr.getName())); log.info("Replacing expression {} with {}", getExpressionByName(expr.getName()), expr); } expressions.add(expr); exprMap.put(expr.getName().toLowerCase(), expr); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getExpressionListKey(getName()), expressions); expr.addProperties(getProperties()); }
@Override public void addProperties() { super.addProperties(); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getExpressionListKey(getName()), expressions); setExpressionProperties(getProperties(), expressions); MetastoreUtil.addNameStrings(getProperties(), getJoinChainListPropKey(getName()), joinChains); setJoinChainProperties(joinChains); }
@Override public void addProperties() { super.addProperties(); MetastoreUtil.addNameStrings(getProperties(), MetastoreUtil.getExpressionListKey(getName()), expressions); setExpressionProperties(getProperties(), expressions); MetastoreUtil.addNameStrings(getProperties(), getJoinChainListPropKey(getName()), joinChains); setJoinChainProperties(joinChains); }