Repository: incubator-reef
Updated Branches:
  refs/heads/master bfe115307 -> 7d7321496


[REEF-509]  Remove Java ExecutorServiceConstructor from EvaluatorConfiguration 
for .Net Evaluator

Currently the Evaluator configuration contains
ExecutorServiceConstructor which is not used in .Net evaluator and .Net
Tang will be not able to understand this class. This PR created separate
code path for EvaluatorConfiguration in java based on the Evaluator
Process.

JIRA:
  [REEF-509](https://issues.apache.org/jira/browse/REEF-509)

Pull Request:
  This closes #315


Project: http://git-wip-us.apache.org/repos/asf/incubator-reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-reef/commit/7d732149
Tree: http://git-wip-us.apache.org/repos/asf/incubator-reef/tree/7d732149
Diff: http://git-wip-us.apache.org/repos/asf/incubator-reef/diff/7d732149

Branch: refs/heads/master
Commit: 7d7321496e3d9126981ce64381e7131375f5be02
Parents: bfe1153
Author: Julia Wang <[email protected]>
Authored: Fri Jul 24 17:05:19 2015 -0700
Committer: Markus Weimer <[email protected]>
Committed: Sun Jul 26 18:51:59 2015 -0700

----------------------------------------------------------------------
 .../evaluator/AllocatedEvaluatorImpl.java       |  9 ++++++++-
 .../evaluator/EvaluatorConfiguration.java       | 20 +++++++++++++++++---
 2 files changed, 25 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/7d732149/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/AllocatedEvaluatorImpl.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/AllocatedEvaluatorImpl.java
 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/AllocatedEvaluatorImpl.java
index d700bbc..5dc0502 100644
--- 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/AllocatedEvaluatorImpl.java
+++ 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/driver/evaluator/AllocatedEvaluatorImpl.java
@@ -27,6 +27,7 @@ import org.apache.reef.driver.evaluator.EvaluatorDescriptor;
 import org.apache.reef.driver.evaluator.EvaluatorType;
 import org.apache.reef.driver.evaluator.EvaluatorProcess;
 import org.apache.reef.driver.evaluator.JVMProcessFactory;
+import org.apache.reef.driver.evaluator.CLRProcess;
 import org.apache.reef.runtime.common.driver.api.ResourceLaunchEventImpl;
 import org.apache.reef.runtime.common.evaluator.EvaluatorConfiguration;
 import org.apache.reef.tang.Configuration;
@@ -194,7 +195,13 @@ final class AllocatedEvaluatorImpl implements 
AllocatedEvaluator {
                                                    final 
Optional<Configuration> taskConfiguration) {
 
     final String contextConfigurationString = 
this.configurationSerializer.toString(contextConfiguration);
-    ConfigurationModule evaluatorConfigurationModule = 
EvaluatorConfiguration.CONF
+    final ConfigurationModule evaluatorConfigModule;
+    if (this.evaluatorManager.getEvaluatorDescriptor().getProcess() instanceof 
CLRProcess) {
+      evaluatorConfigModule = EvaluatorConfiguration.CONFCLR;
+    } else {
+      evaluatorConfigModule = EvaluatorConfiguration.CONF;
+    }
+    ConfigurationModule evaluatorConfigurationModule = evaluatorConfigModule
         .set(EvaluatorConfiguration.APPLICATION_IDENTIFIER, this.jobIdentifier)
         .set(EvaluatorConfiguration.DRIVER_REMOTE_IDENTIFIER, this.remoteID)
         .set(EvaluatorConfiguration.EVALUATOR_IDENTIFIER, this.getId())

http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/7d732149/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/EvaluatorConfiguration.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/EvaluatorConfiguration.java
 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/EvaluatorConfiguration.java
index 6e48a6a..0b625e6 100644
--- 
a/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/EvaluatorConfiguration.java
+++ 
b/lang/java/reef-common/src/main/java/org/apache/reef/runtime/common/evaluator/EvaluatorConfiguration.java
@@ -43,10 +43,13 @@ public final class EvaluatorConfiguration extends 
ConfigurationModuleBuilder {
   public static final OptionalParameter<String> TASK_CONFIGURATION = new 
OptionalParameter<>();
   public static final OptionalParameter<Integer> HEARTBEAT_PERIOD = new 
OptionalParameter<>();
   public static final OptionalParameter<String> APPLICATION_IDENTIFIER = new 
OptionalParameter<>();
-  public static final ConfigurationModule CONF = new EvaluatorConfiguration()
+
+  /**
+   * The EvaluatorConfigModuleBuilder which contains bindings shared for all 
kinds of Evaluators.
+   */
+  private static final ConfigurationModuleBuilder EvaluatorConfigModuleBuilder 
= new EvaluatorConfiguration()
       .bindSetEntry(Clock.RuntimeStartHandler.class, 
EvaluatorRuntime.RuntimeStartHandler.class)
       .bindSetEntry(Clock.RuntimeStopHandler.class, 
EvaluatorRuntime.RuntimeStopHandler.class)
-      .bindConstructor(ExecutorService.class, ExecutorServiceConstructor.class)
       .bindNamedParameter(DriverRemoteIdentifier.class, 
DRIVER_REMOTE_IDENTIFIER)
       .bindNamedParameter(ErrorHandlerRID.class, DRIVER_REMOTE_IDENTIFIER)
       .bindNamedParameter(EvaluatorIdentifier.class, EVALUATOR_IDENTIFIER)
@@ -55,7 +58,18 @@ public final class EvaluatorConfiguration extends 
ConfigurationModuleBuilder {
       .bindNamedParameter(InitialTaskConfiguration.class, TASK_CONFIGURATION)
       .bindNamedParameter(RootServiceConfiguration.class, 
ROOT_SERVICE_CONFIGURATION)
       .bindNamedParameter(ApplicationIdentifier.class, APPLICATION_IDENTIFIER)
-      .bindNamedParameter(LaunchID.class, APPLICATION_IDENTIFIER)
+      .bindNamedParameter(LaunchID.class, APPLICATION_IDENTIFIER);
+
+  /**
+   * This is ConfigurationModule for CLR Evaluator.
+   */
+  public static final ConfigurationModule CONFCLR = 
EvaluatorConfigModuleBuilder.build();
+
+  /**
+   * This is ConfigurationModule for Java Evaluator.
+   */
+  public static final ConfigurationModule CONF = EvaluatorConfigModuleBuilder
+      .bindConstructor(ExecutorService.class, ExecutorServiceConstructor.class)
       .build();
 
   private static final class ExecutorServiceConstructor implements 
ExternalConstructor<ExecutorService> {

Reply via email to