Allow notify to replace variables

Project: http://git-wip-us.apache.org/repos/asf/asterixdb-bad/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb-bad/commit/ed5d27cb
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb-bad/tree/ed5d27cb
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb-bad/diff/ed5d27cb

Branch: refs/heads/resultsFinalVersion
Commit: ed5d27cbe9576ede70aa49297951e7a23a09159e
Parents: 0cf5a3e
Author: Steven Glenn Jacobs <sjaco...@ucr.edu>
Authored: Fri Jul 13 14:26:53 2018 -0700
Committer: Steven Glenn Jacobs <sjaco...@ucr.edu>
Committed: Fri Jul 13 14:26:53 2018 -0700

----------------------------------------------------------------------
 .../bad/runtime/NotifyBrokerOperator.java       | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb-bad/blob/ed5d27cb/asterix-bad/src/main/java/org/apache/asterix/bad/runtime/NotifyBrokerOperator.java
----------------------------------------------------------------------
diff --git 
a/asterix-bad/src/main/java/org/apache/asterix/bad/runtime/NotifyBrokerOperator.java
 
b/asterix-bad/src/main/java/org/apache/asterix/bad/runtime/NotifyBrokerOperator.java
index df0f0f4..6dc97a8 100644
--- 
a/asterix-bad/src/main/java/org/apache/asterix/bad/runtime/NotifyBrokerOperator.java
+++ 
b/asterix-bad/src/main/java/org/apache/asterix/bad/runtime/NotifyBrokerOperator.java
@@ -22,6 +22,7 @@ import java.util.Collection;
 
 import org.apache.asterix.om.types.IAType;
 import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
+import org.apache.hyracks.algebricks.common.utils.Pair;
 import org.apache.hyracks.algebricks.core.algebra.base.LogicalVariable;
 import 
org.apache.hyracks.algebricks.core.algebra.operators.logical.AbstractDelegatedLogicalOperator;
 import 
org.apache.hyracks.algebricks.core.algebra.operators.logical.IOperatorDelegate;
@@ -31,9 +32,9 @@ import 
org.apache.hyracks.algebricks.core.algebra.visitors.ILogicalExpressionRef
  * An operator for sending broker notifications
  */
 public class NotifyBrokerOperator extends AbstractDelegatedLogicalOperator {
-    private final LogicalVariable brokerEndpointVar;
-    private final LogicalVariable channelExecutionVar;
-    private final LogicalVariable pushListVar;
+    private LogicalVariable brokerEndpointVar;
+    private LogicalVariable channelExecutionVar;
+    private LogicalVariable pushListVar;
     private final boolean push;
     private final IAType recordType;
 
@@ -96,6 +97,19 @@ public class NotifyBrokerOperator extends 
AbstractDelegatedLogicalOperator {
     }
 
     @Override
+    public void replaceVariables(Pair<LogicalVariable, LogicalVariable> arg) {
+        if (pushListVar.equals(arg.first)) {
+            pushListVar = arg.second;
+        }
+        if (brokerEndpointVar.equals(arg.first)) {
+            brokerEndpointVar = arg.second;
+        }
+        if (channelExecutionVar.equals(arg.first)) {
+            channelExecutionVar = arg.second;
+        }
+    }
+
+    @Override
     public void getProducedVariables(Collection<LogicalVariable> producedVars) 
{
         // none produced
 

Reply via email to