[NO ISSUE] Refactoring for extension

Change-Id: I49e4754b1c329c78b85925ca8af6837512cb15e8
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/9445
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Michael Blow <mblow@apache.org>
diff --git a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/evaluators/EvaluatorContext.java b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/evaluators/EvaluatorContext.java
index 8d31f6b..901e788 100644
--- a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/evaluators/EvaluatorContext.java
+++ b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/evaluators/EvaluatorContext.java
@@ -46,6 +46,12 @@
         this.warningCollector = Objects.requireNonNull(warningCollector);
     }
 
+    public EvaluatorContext(IHyracksTaskContext taskContext, IWarningCollector warningCollector) {
+        this.taskContext = Objects.requireNonNull(taskContext);
+        this.serviceContext = Objects.requireNonNull(taskContext.getJobletContext().getServiceContext());
+        this.warningCollector = Objects.requireNonNull(warningCollector);
+    }
+
     @Override
     public IServiceContext getServiceContext() {
         return serviceContext;
diff --git a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/StreamSelectRuntimeFactory.java b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/StreamSelectRuntimeFactory.java
index acdc449..5cfebc0 100644
--- a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/StreamSelectRuntimeFactory.java
+++ b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/StreamSelectRuntimeFactory.java
@@ -34,6 +34,7 @@
 import org.apache.hyracks.api.dataflow.value.IMissingWriter;
 import org.apache.hyracks.api.dataflow.value.IMissingWriterFactory;
 import org.apache.hyracks.api.exceptions.HyracksDataException;
+import org.apache.hyracks.api.exceptions.IWarningCollector;
 import org.apache.hyracks.data.std.api.IPointable;
 import org.apache.hyracks.data.std.primitive.VoidPointable;
 import org.apache.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
@@ -110,7 +111,7 @@
         protected ArrayTupleBuilder missingTupleBuilder;
 
         public StreamSelectRuntime(IHyracksTaskContext ctx, IBinaryBooleanInspector bbi) {
-            this.ctx = new EvaluatorContext(ctx);
+            this.ctx = new EvaluatorContext(ctx, initWarningCollector(ctx));
             this.bbi = bbi;
         }
 
@@ -165,6 +166,10 @@
                 }
             }
         }
+
+        protected IWarningCollector initWarningCollector(IHyracksTaskContext ctx) {
+            return ctx.getWarningCollector();
+        }
     }
 
 }