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