From 134c876051dc7f59e6dbb5b0902e629575dfcc7a Mon Sep 17 00:00:00 2001 From: Satish Duggana Date: Tue, 29 Nov 2016 17:39:44 +0530 Subject: [PATCH] STORM-2224 Exposed a method to override in computing the field from given tuple in FieldSelector --- .../cassandra/query/selector/FieldSelector.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/external/storm-cassandra/src/main/java/org/apache/storm/cassandra/query/selector/FieldSelector.java b/external/storm-cassandra/src/main/java/org/apache/storm/cassandra/query/selector/FieldSelector.java index 835a3e8c219..3349bc34fc1 100644 --- a/external/storm-cassandra/src/main/java/org/apache/storm/cassandra/query/selector/FieldSelector.java +++ b/external/storm-cassandra/src/main/java/org/apache/storm/cassandra/query/selector/FieldSelector.java @@ -26,10 +26,8 @@ public class FieldSelector implements Serializable { + protected final String field; private String as; - - private String field; - private boolean isNow; /** @@ -41,7 +39,15 @@ public FieldSelector(String field) { } public Column select(ITuple t) { - return new Column<>(as != null ? as : field, isNow ? UUIDs.timeBased() : t.getValueByField(field)); + return new Column<>(as != null ? as : field, isNow ? UUIDs.timeBased() : getFieldValue(t)); + } + + /** + * @param tuple + * @return Compute the value of this field from given {@code tuple}. + */ + protected Object getFieldValue(ITuple tuple) { + return tuple.getValueByField(field); } /**