@Override public boolean test(Values input) { Context calciteContext = new StormContext(dataContext); calciteContext.values = input.toArray(); filterInstance.execute(calciteContext, outputValues); return (outputValues[0] != null && (boolean) outputValues[0]); } }
@Override public Values apply(Values input) { Context calciteContext = new StormContext(dataContext); calciteContext.values = input.toArray(); projectionInstance.execute(calciteContext, outputValues); return new Values(outputValues); } }
@Override public Iterable<Values> apply(Values input) { Context calciteContext = new StormContext(dataContext); calciteContext.values = input.toArray(); if (filterInstance != null) { filterInstance.execute(calciteContext, outputValues); // filtered out if (outputValues[0] == null || !((Boolean) outputValues[0])) { return Collections.emptyList(); } } if (projectionInstance != null) { projectionInstance.execute(calciteContext, outputValues); return Collections.singletonList(new Values(outputValues)); } else { return Collections.singletonList(new Values(input.toArray())); } } }
@Override public boolean isKeep(TridentTuple tuple) { Context calciteContext = new StormContext(dataContext); calciteContext.values = tuple.getValues().toArray(); filterInstance.execute(calciteContext, outputValues); return (outputValues[0] != null && (boolean) outputValues[0]); } }
@Override public Values execute(TridentTuple input) { Context calciteContext = new StormContext(dataContext); calciteContext.values = input.getValues().toArray(); projectionInstance.execute(calciteContext, outputValues); return new Values(outputValues); } }
@Override public Iterable<Values> execute(TridentTuple input) { Context calciteContext = new StormContext(dataContext); calciteContext.values = input.getValues().toArray(); if (filterInstance != null) { filterInstance.execute(calciteContext, outputValues); // filtered out if (outputValues[0] == null || !((Boolean) outputValues[0])) { return Collections.emptyList(); } } if (projectionInstance != null) { projectionInstance.execute(calciteContext, outputValues); return Collections.singletonList(new Values(outputValues)); } else { return Collections.singletonList(new Values(input.getValues())); } } }