@Override public String evalString(final SimpleNode node, final Object data) { final Object value1 = node.jjtGetChild(0).jjtAccept(this, data); if (!"dateCreated".equals(value1)) { return null; } final Compare comparison = (Compare) node.jjtGetChild(1).jjtAccept(this, data); final Object value2 = node.jjtGetChild(2).jjtAccept(this, data); return String.format("%s%s%s", value1, comparison.getExpression(), value2.toString()); } }
public Object defaultVisit(SimpleNode node, Object data) { node.childrenAccept(this, data); return data; }
private Collection<String> getSinglePartitionExprs(final String filterExpression) { Collection<String> result = com.google.common.collect.Lists.newArrayList(); if (!Strings.isNullOrEmpty(filterExpression)) { try { result = (Collection<String>) new PartitionParser(new StringReader(filterExpression)).filter() .jjtAccept(new PartitionKeyParserEval(), null); } catch (Throwable ignored) { // } } if (result != null) { result = result.stream().filter(s -> !(s.startsWith("batchid=") || s.startsWith("dateCreated="))).collect( Collectors.toList()); } return result; } }
public static void main(String args[]) throws ParseException { PartitionParser parser = new PartitionParser(new java.io.StringReader(args[0])); SimpleNode root = parser.filter(); root.dump(""); System.out .println(root.jjtAccept(new com.netflix.metacat.common.server.partition.visitor.PartitionParserEval(), null)); }
public String toString(String prefix) { return prefix + toString(); }
private Collection<String> getSinglePartitionExprs(@Nullable final String filterExpression) { Collection<String> result = Lists.newArrayList(); if (!Strings.isNullOrEmpty(filterExpression)) { try { result = (Collection<String>) new PartitionParser( new StringReader(filterExpression)).filter().jjtAccept(new PartitionKeyParserEval(), null ); } catch (Throwable ignored) { // } } if (result != null) { result = result.stream().filter(s -> !(s.startsWith("batchid=") || s.startsWith("dateCreated="))).collect( Collectors.toList()); } return result; }
public static void main(String args[]) throws ParseException { PartitionParser parser = new PartitionParser(new java.io.StringReader(args[0])); SimpleNode root = parser.filter(); root.dump(""); System.out .println(root.jjtAccept(new com.netflix.metacat.common.server.partition.visitor.PartitionParserEval(), null)); }
public String toString(String prefix) { return prefix + toString(); }
private String getDateCreatedSqlCriteria(final String filterExpression) { final StringBuilder result = new StringBuilder(); Collection<String> values = com.google.common.collect.Lists.newArrayList(); if (!Strings.isNullOrEmpty(filterExpression)) { try { values = (Collection<String>) new PartitionParser(new StringReader(filterExpression)).filter() .jjtAccept(new PartitionParamParserEval(), null); } catch (Throwable ignored) { // } } for (String value : values) { if (result.length() != 0) { result.append(" and "); } result.append(value.replace("dateCreated", "to_seconds(p.date_created)")); } return result.toString(); }
/** * Evaluate the expression. * @param node node in the expression tree * @param data data * @return Evaluated string */ public String evalString(final SimpleNode node, final Object data) { final Object value1 = node.jjtGetChild(0).jjtAccept(this, data); final Compare comparison = (Compare) node.jjtGetChild(1).jjtAccept(this, data); final Object value2 = node.jjtGetChild(2).jjtAccept(this, data); if (comparison != Compare.EQ) { return null; } return String.format("%s=%s", value1, value2.toString()); }
public Object defaultVisit(SimpleNode node, Object data) { node.childrenAccept(this, data); return data; }
private Collection<String> getSinglePartitionExprs(@Nullable final String filterExpression) { Collection<String> result = Lists.newArrayList(); if (!Strings.isNullOrEmpty(filterExpression)) { try { result = (Collection<String>) new PartitionParser( new StringReader(filterExpression)).filter().jjtAccept(new PartitionKeyParserEval(), null ); } catch (Throwable ignored) { // } } if (result != null) { result = result.stream().filter(s -> !(s.startsWith("batchid=") || s.startsWith("dateCreated="))).collect( Collectors.toList()); } return result; }
@Override public String evalString(final SimpleNode node, final Object data) { final Object value1 = node.jjtGetChild(0).jjtAccept(this, data); if (!"dateCreated".equals(value1)) { return null; } final Compare comparison = (Compare) node.jjtGetChild(1).jjtAccept(this, data); final Object value2 = node.jjtGetChild(2).jjtAccept(this, data); return String.format("%s%s%s", value1, comparison.getExpression(), value2.toString()); } }
private String getDateCreatedSqlCriteria(final String filterExpression) { final StringBuilder result = new StringBuilder(); Collection<String> values = Lists.newArrayList(); if (!Strings.isNullOrEmpty(filterExpression)) { try { values = (Collection<String>) new PartitionParser( new StringReader(filterExpression)).filter().jjtAccept(new PartitionParamParserEval(), null ); } catch (Throwable ignored) { // } } for (String value : values) { if (result.length() != 0) { result.append(" and "); } result.append(value.replace("dateCreated", "p.CREATE_TIME")); } return result.toString(); }
/** * Evaluate the expression. * @param node node in the expression tree * @param data data * @return Evaluated string */ public String evalString(final SimpleNode node, final Object data) { final Object value1 = node.jjtGetChild(0).jjtAccept(this, data); final Compare comparison = (Compare) node.jjtGetChild(1).jjtAccept(this, data); final Object value2 = node.jjtGetChild(2).jjtAccept(this, data); if (comparison != Compare.EQ) { return null; } return String.format("%s=%s", value1, value2.toString()); }
private String getDateCreatedSqlCriteria(final String filterExpression) { final StringBuilder result = new StringBuilder(); Collection<String> values = Lists.newArrayList(); if (!Strings.isNullOrEmpty(filterExpression)) { try { values = (Collection<String>) new PartitionParser( new StringReader(filterExpression)).filter().jjtAccept(new PartitionParamParserEval(), null ); } catch (Throwable ignored) { // } } for (String value : values) { if (result.length() != 0) { result.append(" and "); } result.append(value.replace("dateCreated", "p.CREATE_TIME")); } return result.toString(); }
/** * Compares. * @param node node in the tree * @param data data * @return comparison result */ public Boolean evalCompare(final SimpleNode node, final Object data) { final Object value1 = node.jjtGetChild(0).jjtAccept(this, data); final Compare comparison = (Compare) node.jjtGetChild(1).jjtAccept(this, data); final Object value2 = node.jjtGetChild(2).jjtAccept(this, data); return compare(comparison, value1, value2); }
return (Boolean) parser.filter().jjtAccept(new PartitionParserEval(context), null); } else { return false;