Repository: reef
Updated Branches:
  refs/heads/master a59070fa0 -> e6ba12a08


[REEF-1529] Fixing reef-webserver for multi runtime

This addressed the issue by
  * Making the http-server available to the actual rutnimes hosted by the 
RuntimesHost
  * Fixing style issues and logging exception

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

Pull Request:
  Closes #1100


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

Branch: refs/heads/master
Commit: e6ba12a08e18dc7fa9027f51bdd40e3bab4d63ed
Parents: a59070f
Author: Boris Shulman <[email protected]>
Authored: Thu Aug 18 15:35:34 2016 -0700
Committer: Sergiy Matusevych <[email protected]>
Committed: Thu Aug 18 18:17:55 2016 -0700

----------------------------------------------------------------------
 .../reef/runtime/multi/driver/RuntimesHost.java    | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/reef/blob/e6ba12a0/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/RuntimesHost.java
----------------------------------------------------------------------
diff --git 
a/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/RuntimesHost.java
 
b/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/RuntimesHost.java
index bfbc037..62646d2 100644
--- 
a/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/RuntimesHost.java
+++ 
b/lang/java/reef-runtime-multi/src/main/java/org/apache/reef/runtime/multi/driver/RuntimesHost.java
@@ -40,16 +40,20 @@ import 
org.apache.reef.tang.formats.AvroConfigurationSerializer;
 import org.apache.reef.wake.EventHandler;
 import org.apache.reef.wake.time.runtime.event.RuntimeStart;
 import org.apache.reef.wake.time.runtime.event.RuntimeStop;
+import org.apache.reef.webserver.HttpServer;
 
 import javax.inject.Inject;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Hosts the actual runtime implementations and delegates invocations to them.
  */
 final class RuntimesHost {
+  private static final Logger LOG = 
Logger.getLogger(RuntimesHost.class.getName());
   private final AvroMultiRuntimeDefinition runtimeDefinition;
   private final Injector originalInjector;
   private final String defaultRuntimeName;
@@ -127,12 +131,23 @@ final class RuntimesHost {
     runtimeInjector.bindVolatileParameter(
             RuntimeParameters.RuntimeStatusHandler.class,
             runtimeStatusEventHandler);
+    HttpServer httpServer = null;
+    try {
+      httpServer = this.originalInjector.getInstance(HttpServer.class);
+    } catch (final InjectionException e) {
+      LOG.log(Level.INFO, "Http Server is not configured for the runtime", e);
+    }
+
+    if (httpServer != null) {
+      runtimeInjector.bindVolatileInstance(HttpServer.class, httpServer);
+      LOG.log(Level.INFO, "Binding http server for the runtime 
implementation");
+    }
   }
 
   /**
    * Retrieves requested runtime, if requested name is empty a default runtime 
will be used.
    * @param requestedRuntimeName the requested runtime name
-   * @return
+   * @return The runtime
    */
   private Runtime getRuntime(final String requestedRuntimeName) {
     String runtimeName = requestedRuntimeName;

Reply via email to