You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by bi...@apache.org on 2014/06/16 20:48:11 UTC

[1/3] SLIDER-135 moved protobuf generation to an optional maven profile

Repository: incubator-slider
Updated Branches:
  refs/heads/develop dd1e18bf2 -> 4fe442d54


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4fe442d5/slider-core/src/main/java/org/apache/slider/api/proto/SliderClusterAPI.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/api/proto/SliderClusterAPI.java b/slider-core/src/main/java/org/apache/slider/api/proto/SliderClusterAPI.java
new file mode 100644
index 0000000..c00f99d
--- /dev/null
+++ b/slider-core/src/main/java/org/apache/slider/api/proto/SliderClusterAPI.java
@@ -0,0 +1,1043 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: SliderClusterProtocol.proto
+
+package org.apache.slider.api.proto;
+
+public final class SliderClusterAPI {
+  private SliderClusterAPI() {}
+  public static void registerAllExtensions(
+      com.google.protobuf.ExtensionRegistry registry) {
+  }
+  /**
+   * Protobuf service {@code org.apache.slider.api.SliderClusterProtocolPB}
+   *
+   * <pre>
+   **
+   * Protocol used from between Slider Client and AM
+   * </pre>
+   */
+  public static abstract class SliderClusterProtocolPB
+      implements com.google.protobuf.Service {
+    protected SliderClusterProtocolPB() {}
+
+    public interface Interface {
+      /**
+       * <code>rpc stopCluster(.org.apache.slider.api.StopClusterRequestProto) returns (.org.apache.slider.api.StopClusterResponseProto);</code>
+       */
+      public abstract void stopCluster(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.StopClusterRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.StopClusterResponseProto> done);
+
+      /**
+       * <code>rpc flexCluster(.org.apache.slider.api.FlexClusterRequestProto) returns (.org.apache.slider.api.FlexClusterResponseProto);</code>
+       *
+       * <pre>
+       **
+       * Flex the cluster. 
+       * </pre>
+       */
+      public abstract void flexCluster(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.FlexClusterRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.FlexClusterResponseProto> done);
+
+      /**
+       * <code>rpc getJSONClusterStatus(.org.apache.slider.api.GetJSONClusterStatusRequestProto) returns (.org.apache.slider.api.GetJSONClusterStatusResponseProto);</code>
+       *
+       * <pre>
+       **
+       * Get the current cluster status
+       * </pre>
+       */
+      public abstract void getJSONClusterStatus(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetJSONClusterStatusRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto> done);
+
+      /**
+       * <code>rpc getInstanceDefinition(.org.apache.slider.api.GetInstanceDefinitionRequestProto) returns (.org.apache.slider.api.GetInstanceDefinitionResponseProto);</code>
+       *
+       * <pre>
+       **
+       * Get the instance definition
+       * </pre>
+       */
+      public abstract void getInstanceDefinition(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetInstanceDefinitionRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto> done);
+
+      /**
+       * <code>rpc listNodeUUIDsByRole(.org.apache.slider.api.ListNodeUUIDsByRoleRequestProto) returns (.org.apache.slider.api.ListNodeUUIDsByRoleResponseProto);</code>
+       *
+       * <pre>
+       **
+       * List all running nodes in a role
+       * </pre>
+       */
+      public abstract void listNodeUUIDsByRole(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto> done);
+
+      /**
+       * <code>rpc getNode(.org.apache.slider.api.GetNodeRequestProto) returns (.org.apache.slider.api.GetNodeResponseProto);</code>
+       *
+       * <pre>
+       **
+       * Get the details on a node
+       * </pre>
+       */
+      public abstract void getNode(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetNodeRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetNodeResponseProto> done);
+
+      /**
+       * <code>rpc getClusterNodes(.org.apache.slider.api.GetClusterNodesRequestProto) returns (.org.apache.slider.api.GetClusterNodesResponseProto);</code>
+       *
+       * <pre>
+       **
+       * Get the 
+       * details on a list of nodes.
+       * Unknown nodes are not returned
+       * &lt;i&gt;Important: the order of the results are undefined&lt;/i&gt;
+       * </pre>
+       */
+      public abstract void getClusterNodes(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetClusterNodesRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto> done);
+
+      /**
+       * <code>rpc echo(.org.apache.slider.api.EchoRequestProto) returns (.org.apache.slider.api.EchoResponseProto);</code>
+       *
+       * <pre>
+       **
+       * echo some text
+       * </pre>
+       */
+      public abstract void echo(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.EchoRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.EchoResponseProto> done);
+
+      /**
+       * <code>rpc killContainer(.org.apache.slider.api.KillContainerRequestProto) returns (.org.apache.slider.api.KillContainerResponseProto);</code>
+       *
+       * <pre>
+       **
+       * kill a container
+       * </pre>
+       */
+      public abstract void killContainer(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.KillContainerRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.KillContainerResponseProto> done);
+
+      /**
+       * <code>rpc amSuicide(.org.apache.slider.api.AMSuicideRequestProto) returns (.org.apache.slider.api.AMSuicideResponseProto);</code>
+       *
+       * <pre>
+       **
+       * kill the AM
+       * </pre>
+       */
+      public abstract void amSuicide(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.AMSuicideRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.AMSuicideResponseProto> done);
+
+    }
+
+    public static com.google.protobuf.Service newReflectiveService(
+        final Interface impl) {
+      return new SliderClusterProtocolPB() {
+        @java.lang.Override
+        public  void stopCluster(
+            com.google.protobuf.RpcController controller,
+            org.apache.slider.api.proto.Messages.StopClusterRequestProto request,
+            com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.StopClusterResponseProto> done) {
+          impl.stopCluster(controller, request, done);
+        }
+
+        @java.lang.Override
+        public  void flexCluster(
+            com.google.protobuf.RpcController controller,
+            org.apache.slider.api.proto.Messages.FlexClusterRequestProto request,
+            com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.FlexClusterResponseProto> done) {
+          impl.flexCluster(controller, request, done);
+        }
+
+        @java.lang.Override
+        public  void getJSONClusterStatus(
+            com.google.protobuf.RpcController controller,
+            org.apache.slider.api.proto.Messages.GetJSONClusterStatusRequestProto request,
+            com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto> done) {
+          impl.getJSONClusterStatus(controller, request, done);
+        }
+
+        @java.lang.Override
+        public  void getInstanceDefinition(
+            com.google.protobuf.RpcController controller,
+            org.apache.slider.api.proto.Messages.GetInstanceDefinitionRequestProto request,
+            com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto> done) {
+          impl.getInstanceDefinition(controller, request, done);
+        }
+
+        @java.lang.Override
+        public  void listNodeUUIDsByRole(
+            com.google.protobuf.RpcController controller,
+            org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleRequestProto request,
+            com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto> done) {
+          impl.listNodeUUIDsByRole(controller, request, done);
+        }
+
+        @java.lang.Override
+        public  void getNode(
+            com.google.protobuf.RpcController controller,
+            org.apache.slider.api.proto.Messages.GetNodeRequestProto request,
+            com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetNodeResponseProto> done) {
+          impl.getNode(controller, request, done);
+        }
+
+        @java.lang.Override
+        public  void getClusterNodes(
+            com.google.protobuf.RpcController controller,
+            org.apache.slider.api.proto.Messages.GetClusterNodesRequestProto request,
+            com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto> done) {
+          impl.getClusterNodes(controller, request, done);
+        }
+
+        @java.lang.Override
+        public  void echo(
+            com.google.protobuf.RpcController controller,
+            org.apache.slider.api.proto.Messages.EchoRequestProto request,
+            com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.EchoResponseProto> done) {
+          impl.echo(controller, request, done);
+        }
+
+        @java.lang.Override
+        public  void killContainer(
+            com.google.protobuf.RpcController controller,
+            org.apache.slider.api.proto.Messages.KillContainerRequestProto request,
+            com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.KillContainerResponseProto> done) {
+          impl.killContainer(controller, request, done);
+        }
+
+        @java.lang.Override
+        public  void amSuicide(
+            com.google.protobuf.RpcController controller,
+            org.apache.slider.api.proto.Messages.AMSuicideRequestProto request,
+            com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.AMSuicideResponseProto> done) {
+          impl.amSuicide(controller, request, done);
+        }
+
+      };
+    }
+
+    public static com.google.protobuf.BlockingService
+        newReflectiveBlockingService(final BlockingInterface impl) {
+      return new com.google.protobuf.BlockingService() {
+        public final com.google.protobuf.Descriptors.ServiceDescriptor
+            getDescriptorForType() {
+          return getDescriptor();
+        }
+
+        public final com.google.protobuf.Message callBlockingMethod(
+            com.google.protobuf.Descriptors.MethodDescriptor method,
+            com.google.protobuf.RpcController controller,
+            com.google.protobuf.Message request)
+            throws com.google.protobuf.ServiceException {
+          if (method.getService() != getDescriptor()) {
+            throw new java.lang.IllegalArgumentException(
+              "Service.callBlockingMethod() given method descriptor for " +
+              "wrong service type.");
+          }
+          switch(method.getIndex()) {
+            case 0:
+              return impl.stopCluster(controller, (org.apache.slider.api.proto.Messages.StopClusterRequestProto)request);
+            case 1:
+              return impl.flexCluster(controller, (org.apache.slider.api.proto.Messages.FlexClusterRequestProto)request);
+            case 2:
+              return impl.getJSONClusterStatus(controller, (org.apache.slider.api.proto.Messages.GetJSONClusterStatusRequestProto)request);
+            case 3:
+              return impl.getInstanceDefinition(controller, (org.apache.slider.api.proto.Messages.GetInstanceDefinitionRequestProto)request);
+            case 4:
+              return impl.listNodeUUIDsByRole(controller, (org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleRequestProto)request);
+            case 5:
+              return impl.getNode(controller, (org.apache.slider.api.proto.Messages.GetNodeRequestProto)request);
+            case 6:
+              return impl.getClusterNodes(controller, (org.apache.slider.api.proto.Messages.GetClusterNodesRequestProto)request);
+            case 7:
+              return impl.echo(controller, (org.apache.slider.api.proto.Messages.EchoRequestProto)request);
+            case 8:
+              return impl.killContainer(controller, (org.apache.slider.api.proto.Messages.KillContainerRequestProto)request);
+            case 9:
+              return impl.amSuicide(controller, (org.apache.slider.api.proto.Messages.AMSuicideRequestProto)request);
+            default:
+              throw new java.lang.AssertionError("Can't get here.");
+          }
+        }
+
+        public final com.google.protobuf.Message
+            getRequestPrototype(
+            com.google.protobuf.Descriptors.MethodDescriptor method) {
+          if (method.getService() != getDescriptor()) {
+            throw new java.lang.IllegalArgumentException(
+              "Service.getRequestPrototype() given method " +
+              "descriptor for wrong service type.");
+          }
+          switch(method.getIndex()) {
+            case 0:
+              return org.apache.slider.api.proto.Messages.StopClusterRequestProto.getDefaultInstance();
+            case 1:
+              return org.apache.slider.api.proto.Messages.FlexClusterRequestProto.getDefaultInstance();
+            case 2:
+              return org.apache.slider.api.proto.Messages.GetJSONClusterStatusRequestProto.getDefaultInstance();
+            case 3:
+              return org.apache.slider.api.proto.Messages.GetInstanceDefinitionRequestProto.getDefaultInstance();
+            case 4:
+              return org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleRequestProto.getDefaultInstance();
+            case 5:
+              return org.apache.slider.api.proto.Messages.GetNodeRequestProto.getDefaultInstance();
+            case 6:
+              return org.apache.slider.api.proto.Messages.GetClusterNodesRequestProto.getDefaultInstance();
+            case 7:
+              return org.apache.slider.api.proto.Messages.EchoRequestProto.getDefaultInstance();
+            case 8:
+              return org.apache.slider.api.proto.Messages.KillContainerRequestProto.getDefaultInstance();
+            case 9:
+              return org.apache.slider.api.proto.Messages.AMSuicideRequestProto.getDefaultInstance();
+            default:
+              throw new java.lang.AssertionError("Can't get here.");
+          }
+        }
+
+        public final com.google.protobuf.Message
+            getResponsePrototype(
+            com.google.protobuf.Descriptors.MethodDescriptor method) {
+          if (method.getService() != getDescriptor()) {
+            throw new java.lang.IllegalArgumentException(
+              "Service.getResponsePrototype() given method " +
+              "descriptor for wrong service type.");
+          }
+          switch(method.getIndex()) {
+            case 0:
+              return org.apache.slider.api.proto.Messages.StopClusterResponseProto.getDefaultInstance();
+            case 1:
+              return org.apache.slider.api.proto.Messages.FlexClusterResponseProto.getDefaultInstance();
+            case 2:
+              return org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto.getDefaultInstance();
+            case 3:
+              return org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto.getDefaultInstance();
+            case 4:
+              return org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto.getDefaultInstance();
+            case 5:
+              return org.apache.slider.api.proto.Messages.GetNodeResponseProto.getDefaultInstance();
+            case 6:
+              return org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto.getDefaultInstance();
+            case 7:
+              return org.apache.slider.api.proto.Messages.EchoResponseProto.getDefaultInstance();
+            case 8:
+              return org.apache.slider.api.proto.Messages.KillContainerResponseProto.getDefaultInstance();
+            case 9:
+              return org.apache.slider.api.proto.Messages.AMSuicideResponseProto.getDefaultInstance();
+            default:
+              throw new java.lang.AssertionError("Can't get here.");
+          }
+        }
+
+      };
+    }
+
+    /**
+     * <code>rpc stopCluster(.org.apache.slider.api.StopClusterRequestProto) returns (.org.apache.slider.api.StopClusterResponseProto);</code>
+     */
+    public abstract void stopCluster(
+        com.google.protobuf.RpcController controller,
+        org.apache.slider.api.proto.Messages.StopClusterRequestProto request,
+        com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.StopClusterResponseProto> done);
+
+    /**
+     * <code>rpc flexCluster(.org.apache.slider.api.FlexClusterRequestProto) returns (.org.apache.slider.api.FlexClusterResponseProto);</code>
+     *
+     * <pre>
+     **
+     * Flex the cluster. 
+     * </pre>
+     */
+    public abstract void flexCluster(
+        com.google.protobuf.RpcController controller,
+        org.apache.slider.api.proto.Messages.FlexClusterRequestProto request,
+        com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.FlexClusterResponseProto> done);
+
+    /**
+     * <code>rpc getJSONClusterStatus(.org.apache.slider.api.GetJSONClusterStatusRequestProto) returns (.org.apache.slider.api.GetJSONClusterStatusResponseProto);</code>
+     *
+     * <pre>
+     **
+     * Get the current cluster status
+     * </pre>
+     */
+    public abstract void getJSONClusterStatus(
+        com.google.protobuf.RpcController controller,
+        org.apache.slider.api.proto.Messages.GetJSONClusterStatusRequestProto request,
+        com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto> done);
+
+    /**
+     * <code>rpc getInstanceDefinition(.org.apache.slider.api.GetInstanceDefinitionRequestProto) returns (.org.apache.slider.api.GetInstanceDefinitionResponseProto);</code>
+     *
+     * <pre>
+     **
+     * Get the instance definition
+     * </pre>
+     */
+    public abstract void getInstanceDefinition(
+        com.google.protobuf.RpcController controller,
+        org.apache.slider.api.proto.Messages.GetInstanceDefinitionRequestProto request,
+        com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto> done);
+
+    /**
+     * <code>rpc listNodeUUIDsByRole(.org.apache.slider.api.ListNodeUUIDsByRoleRequestProto) returns (.org.apache.slider.api.ListNodeUUIDsByRoleResponseProto);</code>
+     *
+     * <pre>
+     **
+     * List all running nodes in a role
+     * </pre>
+     */
+    public abstract void listNodeUUIDsByRole(
+        com.google.protobuf.RpcController controller,
+        org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleRequestProto request,
+        com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto> done);
+
+    /**
+     * <code>rpc getNode(.org.apache.slider.api.GetNodeRequestProto) returns (.org.apache.slider.api.GetNodeResponseProto);</code>
+     *
+     * <pre>
+     **
+     * Get the details on a node
+     * </pre>
+     */
+    public abstract void getNode(
+        com.google.protobuf.RpcController controller,
+        org.apache.slider.api.proto.Messages.GetNodeRequestProto request,
+        com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetNodeResponseProto> done);
+
+    /**
+     * <code>rpc getClusterNodes(.org.apache.slider.api.GetClusterNodesRequestProto) returns (.org.apache.slider.api.GetClusterNodesResponseProto);</code>
+     *
+     * <pre>
+     **
+     * Get the 
+     * details on a list of nodes.
+     * Unknown nodes are not returned
+     * &lt;i&gt;Important: the order of the results are undefined&lt;/i&gt;
+     * </pre>
+     */
+    public abstract void getClusterNodes(
+        com.google.protobuf.RpcController controller,
+        org.apache.slider.api.proto.Messages.GetClusterNodesRequestProto request,
+        com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto> done);
+
+    /**
+     * <code>rpc echo(.org.apache.slider.api.EchoRequestProto) returns (.org.apache.slider.api.EchoResponseProto);</code>
+     *
+     * <pre>
+     **
+     * echo some text
+     * </pre>
+     */
+    public abstract void echo(
+        com.google.protobuf.RpcController controller,
+        org.apache.slider.api.proto.Messages.EchoRequestProto request,
+        com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.EchoResponseProto> done);
+
+    /**
+     * <code>rpc killContainer(.org.apache.slider.api.KillContainerRequestProto) returns (.org.apache.slider.api.KillContainerResponseProto);</code>
+     *
+     * <pre>
+     **
+     * kill a container
+     * </pre>
+     */
+    public abstract void killContainer(
+        com.google.protobuf.RpcController controller,
+        org.apache.slider.api.proto.Messages.KillContainerRequestProto request,
+        com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.KillContainerResponseProto> done);
+
+    /**
+     * <code>rpc amSuicide(.org.apache.slider.api.AMSuicideRequestProto) returns (.org.apache.slider.api.AMSuicideResponseProto);</code>
+     *
+     * <pre>
+     **
+     * kill the AM
+     * </pre>
+     */
+    public abstract void amSuicide(
+        com.google.protobuf.RpcController controller,
+        org.apache.slider.api.proto.Messages.AMSuicideRequestProto request,
+        com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.AMSuicideResponseProto> done);
+
+    public static final
+        com.google.protobuf.Descriptors.ServiceDescriptor
+        getDescriptor() {
+      return org.apache.slider.api.proto.SliderClusterAPI.getDescriptor().getServices().get(0);
+    }
+    public final com.google.protobuf.Descriptors.ServiceDescriptor
+        getDescriptorForType() {
+      return getDescriptor();
+    }
+
+    public final void callMethod(
+        com.google.protobuf.Descriptors.MethodDescriptor method,
+        com.google.protobuf.RpcController controller,
+        com.google.protobuf.Message request,
+        com.google.protobuf.RpcCallback<
+          com.google.protobuf.Message> done) {
+      if (method.getService() != getDescriptor()) {
+        throw new java.lang.IllegalArgumentException(
+          "Service.callMethod() given method descriptor for wrong " +
+          "service type.");
+      }
+      switch(method.getIndex()) {
+        case 0:
+          this.stopCluster(controller, (org.apache.slider.api.proto.Messages.StopClusterRequestProto)request,
+            com.google.protobuf.RpcUtil.<org.apache.slider.api.proto.Messages.StopClusterResponseProto>specializeCallback(
+              done));
+          return;
+        case 1:
+          this.flexCluster(controller, (org.apache.slider.api.proto.Messages.FlexClusterRequestProto)request,
+            com.google.protobuf.RpcUtil.<org.apache.slider.api.proto.Messages.FlexClusterResponseProto>specializeCallback(
+              done));
+          return;
+        case 2:
+          this.getJSONClusterStatus(controller, (org.apache.slider.api.proto.Messages.GetJSONClusterStatusRequestProto)request,
+            com.google.protobuf.RpcUtil.<org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto>specializeCallback(
+              done));
+          return;
+        case 3:
+          this.getInstanceDefinition(controller, (org.apache.slider.api.proto.Messages.GetInstanceDefinitionRequestProto)request,
+            com.google.protobuf.RpcUtil.<org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto>specializeCallback(
+              done));
+          return;
+        case 4:
+          this.listNodeUUIDsByRole(controller, (org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleRequestProto)request,
+            com.google.protobuf.RpcUtil.<org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto>specializeCallback(
+              done));
+          return;
+        case 5:
+          this.getNode(controller, (org.apache.slider.api.proto.Messages.GetNodeRequestProto)request,
+            com.google.protobuf.RpcUtil.<org.apache.slider.api.proto.Messages.GetNodeResponseProto>specializeCallback(
+              done));
+          return;
+        case 6:
+          this.getClusterNodes(controller, (org.apache.slider.api.proto.Messages.GetClusterNodesRequestProto)request,
+            com.google.protobuf.RpcUtil.<org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto>specializeCallback(
+              done));
+          return;
+        case 7:
+          this.echo(controller, (org.apache.slider.api.proto.Messages.EchoRequestProto)request,
+            com.google.protobuf.RpcUtil.<org.apache.slider.api.proto.Messages.EchoResponseProto>specializeCallback(
+              done));
+          return;
+        case 8:
+          this.killContainer(controller, (org.apache.slider.api.proto.Messages.KillContainerRequestProto)request,
+            com.google.protobuf.RpcUtil.<org.apache.slider.api.proto.Messages.KillContainerResponseProto>specializeCallback(
+              done));
+          return;
+        case 9:
+          this.amSuicide(controller, (org.apache.slider.api.proto.Messages.AMSuicideRequestProto)request,
+            com.google.protobuf.RpcUtil.<org.apache.slider.api.proto.Messages.AMSuicideResponseProto>specializeCallback(
+              done));
+          return;
+        default:
+          throw new java.lang.AssertionError("Can't get here.");
+      }
+    }
+
+    public final com.google.protobuf.Message
+        getRequestPrototype(
+        com.google.protobuf.Descriptors.MethodDescriptor method) {
+      if (method.getService() != getDescriptor()) {
+        throw new java.lang.IllegalArgumentException(
+          "Service.getRequestPrototype() given method " +
+          "descriptor for wrong service type.");
+      }
+      switch(method.getIndex()) {
+        case 0:
+          return org.apache.slider.api.proto.Messages.StopClusterRequestProto.getDefaultInstance();
+        case 1:
+          return org.apache.slider.api.proto.Messages.FlexClusterRequestProto.getDefaultInstance();
+        case 2:
+          return org.apache.slider.api.proto.Messages.GetJSONClusterStatusRequestProto.getDefaultInstance();
+        case 3:
+          return org.apache.slider.api.proto.Messages.GetInstanceDefinitionRequestProto.getDefaultInstance();
+        case 4:
+          return org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleRequestProto.getDefaultInstance();
+        case 5:
+          return org.apache.slider.api.proto.Messages.GetNodeRequestProto.getDefaultInstance();
+        case 6:
+          return org.apache.slider.api.proto.Messages.GetClusterNodesRequestProto.getDefaultInstance();
+        case 7:
+          return org.apache.slider.api.proto.Messages.EchoRequestProto.getDefaultInstance();
+        case 8:
+          return org.apache.slider.api.proto.Messages.KillContainerRequestProto.getDefaultInstance();
+        case 9:
+          return org.apache.slider.api.proto.Messages.AMSuicideRequestProto.getDefaultInstance();
+        default:
+          throw new java.lang.AssertionError("Can't get here.");
+      }
+    }
+
+    public final com.google.protobuf.Message
+        getResponsePrototype(
+        com.google.protobuf.Descriptors.MethodDescriptor method) {
+      if (method.getService() != getDescriptor()) {
+        throw new java.lang.IllegalArgumentException(
+          "Service.getResponsePrototype() given method " +
+          "descriptor for wrong service type.");
+      }
+      switch(method.getIndex()) {
+        case 0:
+          return org.apache.slider.api.proto.Messages.StopClusterResponseProto.getDefaultInstance();
+        case 1:
+          return org.apache.slider.api.proto.Messages.FlexClusterResponseProto.getDefaultInstance();
+        case 2:
+          return org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto.getDefaultInstance();
+        case 3:
+          return org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto.getDefaultInstance();
+        case 4:
+          return org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto.getDefaultInstance();
+        case 5:
+          return org.apache.slider.api.proto.Messages.GetNodeResponseProto.getDefaultInstance();
+        case 6:
+          return org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto.getDefaultInstance();
+        case 7:
+          return org.apache.slider.api.proto.Messages.EchoResponseProto.getDefaultInstance();
+        case 8:
+          return org.apache.slider.api.proto.Messages.KillContainerResponseProto.getDefaultInstance();
+        case 9:
+          return org.apache.slider.api.proto.Messages.AMSuicideResponseProto.getDefaultInstance();
+        default:
+          throw new java.lang.AssertionError("Can't get here.");
+      }
+    }
+
+    public static Stub newStub(
+        com.google.protobuf.RpcChannel channel) {
+      return new Stub(channel);
+    }
+
+    public static final class Stub extends org.apache.slider.api.proto.SliderClusterAPI.SliderClusterProtocolPB implements Interface {
+      private Stub(com.google.protobuf.RpcChannel channel) {
+        this.channel = channel;
+      }
+
+      private final com.google.protobuf.RpcChannel channel;
+
+      public com.google.protobuf.RpcChannel getChannel() {
+        return channel;
+      }
+
+      public  void stopCluster(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.StopClusterRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.StopClusterResponseProto> done) {
+        channel.callMethod(
+          getDescriptor().getMethods().get(0),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.StopClusterResponseProto.getDefaultInstance(),
+          com.google.protobuf.RpcUtil.generalizeCallback(
+            done,
+            org.apache.slider.api.proto.Messages.StopClusterResponseProto.class,
+            org.apache.slider.api.proto.Messages.StopClusterResponseProto.getDefaultInstance()));
+      }
+
+      public  void flexCluster(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.FlexClusterRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.FlexClusterResponseProto> done) {
+        channel.callMethod(
+          getDescriptor().getMethods().get(1),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.FlexClusterResponseProto.getDefaultInstance(),
+          com.google.protobuf.RpcUtil.generalizeCallback(
+            done,
+            org.apache.slider.api.proto.Messages.FlexClusterResponseProto.class,
+            org.apache.slider.api.proto.Messages.FlexClusterResponseProto.getDefaultInstance()));
+      }
+
+      public  void getJSONClusterStatus(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetJSONClusterStatusRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto> done) {
+        channel.callMethod(
+          getDescriptor().getMethods().get(2),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto.getDefaultInstance(),
+          com.google.protobuf.RpcUtil.generalizeCallback(
+            done,
+            org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto.class,
+            org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto.getDefaultInstance()));
+      }
+
+      public  void getInstanceDefinition(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetInstanceDefinitionRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto> done) {
+        channel.callMethod(
+          getDescriptor().getMethods().get(3),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto.getDefaultInstance(),
+          com.google.protobuf.RpcUtil.generalizeCallback(
+            done,
+            org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto.class,
+            org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto.getDefaultInstance()));
+      }
+
+      public  void listNodeUUIDsByRole(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto> done) {
+        channel.callMethod(
+          getDescriptor().getMethods().get(4),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto.getDefaultInstance(),
+          com.google.protobuf.RpcUtil.generalizeCallback(
+            done,
+            org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto.class,
+            org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto.getDefaultInstance()));
+      }
+
+      public  void getNode(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetNodeRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetNodeResponseProto> done) {
+        channel.callMethod(
+          getDescriptor().getMethods().get(5),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.GetNodeResponseProto.getDefaultInstance(),
+          com.google.protobuf.RpcUtil.generalizeCallback(
+            done,
+            org.apache.slider.api.proto.Messages.GetNodeResponseProto.class,
+            org.apache.slider.api.proto.Messages.GetNodeResponseProto.getDefaultInstance()));
+      }
+
+      public  void getClusterNodes(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetClusterNodesRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto> done) {
+        channel.callMethod(
+          getDescriptor().getMethods().get(6),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto.getDefaultInstance(),
+          com.google.protobuf.RpcUtil.generalizeCallback(
+            done,
+            org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto.class,
+            org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto.getDefaultInstance()));
+      }
+
+      public  void echo(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.EchoRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.EchoResponseProto> done) {
+        channel.callMethod(
+          getDescriptor().getMethods().get(7),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.EchoResponseProto.getDefaultInstance(),
+          com.google.protobuf.RpcUtil.generalizeCallback(
+            done,
+            org.apache.slider.api.proto.Messages.EchoResponseProto.class,
+            org.apache.slider.api.proto.Messages.EchoResponseProto.getDefaultInstance()));
+      }
+
+      public  void killContainer(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.KillContainerRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.KillContainerResponseProto> done) {
+        channel.callMethod(
+          getDescriptor().getMethods().get(8),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.KillContainerResponseProto.getDefaultInstance(),
+          com.google.protobuf.RpcUtil.generalizeCallback(
+            done,
+            org.apache.slider.api.proto.Messages.KillContainerResponseProto.class,
+            org.apache.slider.api.proto.Messages.KillContainerResponseProto.getDefaultInstance()));
+      }
+
+      public  void amSuicide(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.AMSuicideRequestProto request,
+          com.google.protobuf.RpcCallback<org.apache.slider.api.proto.Messages.AMSuicideResponseProto> done) {
+        channel.callMethod(
+          getDescriptor().getMethods().get(9),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.AMSuicideResponseProto.getDefaultInstance(),
+          com.google.protobuf.RpcUtil.generalizeCallback(
+            done,
+            org.apache.slider.api.proto.Messages.AMSuicideResponseProto.class,
+            org.apache.slider.api.proto.Messages.AMSuicideResponseProto.getDefaultInstance()));
+      }
+    }
+
+    public static BlockingInterface newBlockingStub(
+        com.google.protobuf.BlockingRpcChannel channel) {
+      return new BlockingStub(channel);
+    }
+
+    public interface BlockingInterface {
+      public org.apache.slider.api.proto.Messages.StopClusterResponseProto stopCluster(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.StopClusterRequestProto request)
+          throws com.google.protobuf.ServiceException;
+
+      public org.apache.slider.api.proto.Messages.FlexClusterResponseProto flexCluster(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.FlexClusterRequestProto request)
+          throws com.google.protobuf.ServiceException;
+
+      public org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto getJSONClusterStatus(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetJSONClusterStatusRequestProto request)
+          throws com.google.protobuf.ServiceException;
+
+      public org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto getInstanceDefinition(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetInstanceDefinitionRequestProto request)
+          throws com.google.protobuf.ServiceException;
+
+      public org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto listNodeUUIDsByRole(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleRequestProto request)
+          throws com.google.protobuf.ServiceException;
+
+      public org.apache.slider.api.proto.Messages.GetNodeResponseProto getNode(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetNodeRequestProto request)
+          throws com.google.protobuf.ServiceException;
+
+      public org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto getClusterNodes(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetClusterNodesRequestProto request)
+          throws com.google.protobuf.ServiceException;
+
+      public org.apache.slider.api.proto.Messages.EchoResponseProto echo(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.EchoRequestProto request)
+          throws com.google.protobuf.ServiceException;
+
+      public org.apache.slider.api.proto.Messages.KillContainerResponseProto killContainer(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.KillContainerRequestProto request)
+          throws com.google.protobuf.ServiceException;
+
+      public org.apache.slider.api.proto.Messages.AMSuicideResponseProto amSuicide(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.AMSuicideRequestProto request)
+          throws com.google.protobuf.ServiceException;
+    }
+
+    private static final class BlockingStub implements BlockingInterface {
+      private BlockingStub(com.google.protobuf.BlockingRpcChannel channel) {
+        this.channel = channel;
+      }
+
+      private final com.google.protobuf.BlockingRpcChannel channel;
+
+      public org.apache.slider.api.proto.Messages.StopClusterResponseProto stopCluster(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.StopClusterRequestProto request)
+          throws com.google.protobuf.ServiceException {
+        return (org.apache.slider.api.proto.Messages.StopClusterResponseProto) channel.callBlockingMethod(
+          getDescriptor().getMethods().get(0),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.StopClusterResponseProto.getDefaultInstance());
+      }
+
+
+      public org.apache.slider.api.proto.Messages.FlexClusterResponseProto flexCluster(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.FlexClusterRequestProto request)
+          throws com.google.protobuf.ServiceException {
+        return (org.apache.slider.api.proto.Messages.FlexClusterResponseProto) channel.callBlockingMethod(
+          getDescriptor().getMethods().get(1),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.FlexClusterResponseProto.getDefaultInstance());
+      }
+
+
+      public org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto getJSONClusterStatus(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetJSONClusterStatusRequestProto request)
+          throws com.google.protobuf.ServiceException {
+        return (org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto) channel.callBlockingMethod(
+          getDescriptor().getMethods().get(2),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.GetJSONClusterStatusResponseProto.getDefaultInstance());
+      }
+
+
+      public org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto getInstanceDefinition(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetInstanceDefinitionRequestProto request)
+          throws com.google.protobuf.ServiceException {
+        return (org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto) channel.callBlockingMethod(
+          getDescriptor().getMethods().get(3),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.GetInstanceDefinitionResponseProto.getDefaultInstance());
+      }
+
+
+      public org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto listNodeUUIDsByRole(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleRequestProto request)
+          throws com.google.protobuf.ServiceException {
+        return (org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto) channel.callBlockingMethod(
+          getDescriptor().getMethods().get(4),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.ListNodeUUIDsByRoleResponseProto.getDefaultInstance());
+      }
+
+
+      public org.apache.slider.api.proto.Messages.GetNodeResponseProto getNode(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetNodeRequestProto request)
+          throws com.google.protobuf.ServiceException {
+        return (org.apache.slider.api.proto.Messages.GetNodeResponseProto) channel.callBlockingMethod(
+          getDescriptor().getMethods().get(5),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.GetNodeResponseProto.getDefaultInstance());
+      }
+
+
+      public org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto getClusterNodes(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.GetClusterNodesRequestProto request)
+          throws com.google.protobuf.ServiceException {
+        return (org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto) channel.callBlockingMethod(
+          getDescriptor().getMethods().get(6),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.GetClusterNodesResponseProto.getDefaultInstance());
+      }
+
+
+      public org.apache.slider.api.proto.Messages.EchoResponseProto echo(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.EchoRequestProto request)
+          throws com.google.protobuf.ServiceException {
+        return (org.apache.slider.api.proto.Messages.EchoResponseProto) channel.callBlockingMethod(
+          getDescriptor().getMethods().get(7),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.EchoResponseProto.getDefaultInstance());
+      }
+
+
+      public org.apache.slider.api.proto.Messages.KillContainerResponseProto killContainer(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.KillContainerRequestProto request)
+          throws com.google.protobuf.ServiceException {
+        return (org.apache.slider.api.proto.Messages.KillContainerResponseProto) channel.callBlockingMethod(
+          getDescriptor().getMethods().get(8),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.KillContainerResponseProto.getDefaultInstance());
+      }
+
+
+      public org.apache.slider.api.proto.Messages.AMSuicideResponseProto amSuicide(
+          com.google.protobuf.RpcController controller,
+          org.apache.slider.api.proto.Messages.AMSuicideRequestProto request)
+          throws com.google.protobuf.ServiceException {
+        return (org.apache.slider.api.proto.Messages.AMSuicideResponseProto) channel.callBlockingMethod(
+          getDescriptor().getMethods().get(9),
+          controller,
+          request,
+          org.apache.slider.api.proto.Messages.AMSuicideResponseProto.getDefaultInstance());
+      }
+
+    }
+
+    // @@protoc_insertion_point(class_scope:org.apache.slider.api.SliderClusterProtocolPB)
+  }
+
+
+  public static com.google.protobuf.Descriptors.FileDescriptor
+      getDescriptor() {
+    return descriptor;
+  }
+  private static com.google.protobuf.Descriptors.FileDescriptor
+      descriptor;
+  static {
+    java.lang.String[] descriptorData = {
+      "\n\033SliderClusterProtocol.proto\022\025org.apach" +
+      "e.slider.api\032\033SliderClusterMessages.prot" +
+      "o2\270\t\n\027SliderClusterProtocolPB\022n\n\013stopClu" +
+      "ster\022..org.apache.slider.api.StopCluster" +
+      "RequestProto\032/.org.apache.slider.api.Sto" +
+      "pClusterResponseProto\022n\n\013flexCluster\022..o" +
+      "rg.apache.slider.api.FlexClusterRequestP" +
+      "roto\032/.org.apache.slider.api.FlexCluster" +
+      "ResponseProto\022\211\001\n\024getJSONClusterStatus\0227" +
+      ".org.apache.slider.api.GetJSONClusterSta",
+      "tusRequestProto\0328.org.apache.slider.api." +
+      "GetJSONClusterStatusResponseProto\022\214\001\n\025ge" +
+      "tInstanceDefinition\0228.org.apache.slider." +
+      "api.GetInstanceDefinitionRequestProto\0329." +
+      "org.apache.slider.api.GetInstanceDefinit" +
+      "ionResponseProto\022\206\001\n\023listNodeUUIDsByRole" +
+      "\0226.org.apache.slider.api.ListNodeUUIDsBy" +
+      "RoleRequestProto\0327.org.apache.slider.api" +
+      ".ListNodeUUIDsByRoleResponseProto\022b\n\007get" +
+      "Node\022*.org.apache.slider.api.GetNodeRequ",
+      "estProto\032+.org.apache.slider.api.GetNode" +
+      "ResponseProto\022z\n\017getClusterNodes\0222.org.a" +
+      "pache.slider.api.GetClusterNodesRequestP" +
+      "roto\0323.org.apache.slider.api.GetClusterN" +
+      "odesResponseProto\022Y\n\004echo\022\'.org.apache.s" +
+      "lider.api.EchoRequestProto\032(.org.apache." +
+      "slider.api.EchoResponseProto\022t\n\rkillCont" +
+      "ainer\0220.org.apache.slider.api.KillContai" +
+      "nerRequestProto\0321.org.apache.slider.api." +
+      "KillContainerResponseProto\022h\n\tamSuicide\022",
+      ",.org.apache.slider.api.AMSuicideRequest" +
+      "Proto\032-.org.apache.slider.api.AMSuicideR" +
+      "esponseProtoB5\n\033org.apache.slider.api.pr" +
+      "otoB\020SliderClusterAPI\210\001\001\240\001\001"
+    };
+    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
+        public com.google.protobuf.ExtensionRegistry assignDescriptors(
+            com.google.protobuf.Descriptors.FileDescriptor root) {
+          descriptor = root;
+          return null;
+        }
+      };
+    com.google.protobuf.Descriptors.FileDescriptor
+      .internalBuildGeneratedFileFrom(descriptorData,
+        new com.google.protobuf.Descriptors.FileDescriptor[] {
+          org.apache.slider.api.proto.Messages.getDescriptor(),
+        }, assigner);
+  }
+
+  // @@protoc_insertion_point(outer_class_scope)
+}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4fe442d5/slider-core/src/main/proto/SliderClusterMessages.proto
----------------------------------------------------------------------
diff --git a/slider-core/src/main/proto/SliderClusterMessages.proto b/slider-core/src/main/proto/SliderClusterMessages.proto
index 00da2b8..6b30846 100644
--- a/slider-core/src/main/proto/SliderClusterMessages.proto
+++ b/slider-core/src/main/proto/SliderClusterMessages.proto
@@ -20,6 +20,10 @@
  * These .proto interfaces are private and stable.
  * Please see http://wiki.apache.org/hadoop/Compatibility
  * for what changes are allowed for a *stable* .proto interface.
+ *
+ * The generated java files are checked in to the Slider code base, so
+ * if this file is changed, the java must be generated again with
+ * mvn clean package -Pcompile-protobuf -DskipTests
  */
 
 // This file contains protocol buffers that are used throughout HDFS -- i.e.

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4fe442d5/slider-core/src/main/proto/SliderClusterProtocol.proto
----------------------------------------------------------------------
diff --git a/slider-core/src/main/proto/SliderClusterProtocol.proto b/slider-core/src/main/proto/SliderClusterProtocol.proto
index a2a1001..2f5289d 100644
--- a/slider-core/src/main/proto/SliderClusterProtocol.proto
+++ b/slider-core/src/main/proto/SliderClusterProtocol.proto
@@ -20,6 +20,10 @@
  * These .proto interfaces are private and stable.
  * Please see http://wiki.apache.org/hadoop/Compatibility
  * for what changes are allowed for a *stable* .proto interface.
+ *
+ * The generated java files are checked in to the Slider code base, so
+ * if this file is changed, the java must be generated again with
+ * mvn clean package -Pcompile-protobuf -DskipTests
  */
 
 // This file contains protocol buffers that are used throughout HDFS -- i.e.


[2/3] SLIDER-135 moved protobuf generation to an optional maven profile

Posted by bi...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4fe442d5/slider-core/src/main/java/org/apache/slider/api/proto/Messages.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/api/proto/Messages.java b/slider-core/src/main/java/org/apache/slider/api/proto/Messages.java
new file mode 100644
index 0000000..250e5ff
--- /dev/null
+++ b/slider-core/src/main/java/org/apache/slider/api/proto/Messages.java
@@ -0,0 +1,13186 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: SliderClusterMessages.proto
+
+package org.apache.slider.api.proto;
+
+public final class Messages {
+  private Messages() {}
+  public static void registerAllExtensions(
+      com.google.protobuf.ExtensionRegistry registry) {
+  }
+  public interface RoleInstanceStateOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // required string name = 1;
+    /**
+     * <code>required string name = 1;</code>
+     */
+    boolean hasName();
+    /**
+     * <code>required string name = 1;</code>
+     */
+    java.lang.String getName();
+    /**
+     * <code>required string name = 1;</code>
+     */
+    com.google.protobuf.ByteString
+        getNameBytes();
+
+    // optional string role = 2;
+    /**
+     * <code>optional string role = 2;</code>
+     */
+    boolean hasRole();
+    /**
+     * <code>optional string role = 2;</code>
+     */
+    java.lang.String getRole();
+    /**
+     * <code>optional string role = 2;</code>
+     */
+    com.google.protobuf.ByteString
+        getRoleBytes();
+
+    // required uint32 state = 4;
+    /**
+     * <code>required uint32 state = 4;</code>
+     */
+    boolean hasState();
+    /**
+     * <code>required uint32 state = 4;</code>
+     */
+    int getState();
+
+    // required uint32 exitCode = 5;
+    /**
+     * <code>required uint32 exitCode = 5;</code>
+     */
+    boolean hasExitCode();
+    /**
+     * <code>required uint32 exitCode = 5;</code>
+     */
+    int getExitCode();
+
+    // optional string command = 6;
+    /**
+     * <code>optional string command = 6;</code>
+     */
+    boolean hasCommand();
+    /**
+     * <code>optional string command = 6;</code>
+     */
+    java.lang.String getCommand();
+    /**
+     * <code>optional string command = 6;</code>
+     */
+    com.google.protobuf.ByteString
+        getCommandBytes();
+
+    // optional string diagnostics = 7;
+    /**
+     * <code>optional string diagnostics = 7;</code>
+     */
+    boolean hasDiagnostics();
+    /**
+     * <code>optional string diagnostics = 7;</code>
+     */
+    java.lang.String getDiagnostics();
+    /**
+     * <code>optional string diagnostics = 7;</code>
+     */
+    com.google.protobuf.ByteString
+        getDiagnosticsBytes();
+
+    // repeated string output = 8;
+    /**
+     * <code>repeated string output = 8;</code>
+     */
+    java.util.List<java.lang.String>
+    getOutputList();
+    /**
+     * <code>repeated string output = 8;</code>
+     */
+    int getOutputCount();
+    /**
+     * <code>repeated string output = 8;</code>
+     */
+    java.lang.String getOutput(int index);
+    /**
+     * <code>repeated string output = 8;</code>
+     */
+    com.google.protobuf.ByteString
+        getOutputBytes(int index);
+
+    // repeated string environment = 9;
+    /**
+     * <code>repeated string environment = 9;</code>
+     */
+    java.util.List<java.lang.String>
+    getEnvironmentList();
+    /**
+     * <code>repeated string environment = 9;</code>
+     */
+    int getEnvironmentCount();
+    /**
+     * <code>repeated string environment = 9;</code>
+     */
+    java.lang.String getEnvironment(int index);
+    /**
+     * <code>repeated string environment = 9;</code>
+     */
+    com.google.protobuf.ByteString
+        getEnvironmentBytes(int index);
+
+    // required uint32 roleId = 10;
+    /**
+     * <code>required uint32 roleId = 10;</code>
+     */
+    boolean hasRoleId();
+    /**
+     * <code>required uint32 roleId = 10;</code>
+     */
+    int getRoleId();
+
+    // required bool released = 11;
+    /**
+     * <code>required bool released = 11;</code>
+     */
+    boolean hasReleased();
+    /**
+     * <code>required bool released = 11;</code>
+     */
+    boolean getReleased();
+
+    // required int64 createTime = 12;
+    /**
+     * <code>required int64 createTime = 12;</code>
+     */
+    boolean hasCreateTime();
+    /**
+     * <code>required int64 createTime = 12;</code>
+     */
+    long getCreateTime();
+
+    // required int64 startTime = 13;
+    /**
+     * <code>required int64 startTime = 13;</code>
+     */
+    boolean hasStartTime();
+    /**
+     * <code>required int64 startTime = 13;</code>
+     */
+    long getStartTime();
+
+    // required string host = 14;
+    /**
+     * <code>required string host = 14;</code>
+     */
+    boolean hasHost();
+    /**
+     * <code>required string host = 14;</code>
+     */
+    java.lang.String getHost();
+    /**
+     * <code>required string host = 14;</code>
+     */
+    com.google.protobuf.ByteString
+        getHostBytes();
+
+    // required string hostURL = 15;
+    /**
+     * <code>required string hostURL = 15;</code>
+     */
+    boolean hasHostURL();
+    /**
+     * <code>required string hostURL = 15;</code>
+     */
+    java.lang.String getHostURL();
+    /**
+     * <code>required string hostURL = 15;</code>
+     */
+    com.google.protobuf.ByteString
+        getHostURLBytes();
+  }
+  /**
+   * Protobuf type {@code org.apache.slider.api.RoleInstanceState}
+   */
+  public static final class RoleInstanceState extends
+      com.google.protobuf.GeneratedMessage
+      implements RoleInstanceStateOrBuilder {
+    // Use RoleInstanceState.newBuilder() to construct.
+    private RoleInstanceState(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private RoleInstanceState(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final RoleInstanceState defaultInstance;
+    public static RoleInstanceState getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public RoleInstanceState getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private RoleInstanceState(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      initFields();
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+            case 10: {
+              bitField0_ |= 0x00000001;
+              name_ = input.readBytes();
+              break;
+            }
+            case 18: {
+              bitField0_ |= 0x00000002;
+              role_ = input.readBytes();
+              break;
+            }
+            case 32: {
+              bitField0_ |= 0x00000004;
+              state_ = input.readUInt32();
+              break;
+            }
+            case 40: {
+              bitField0_ |= 0x00000008;
+              exitCode_ = input.readUInt32();
+              break;
+            }
+            case 50: {
+              bitField0_ |= 0x00000010;
+              command_ = input.readBytes();
+              break;
+            }
+            case 58: {
+              bitField0_ |= 0x00000020;
+              diagnostics_ = input.readBytes();
+              break;
+            }
+            case 66: {
+              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+                output_ = new com.google.protobuf.LazyStringArrayList();
+                mutable_bitField0_ |= 0x00000040;
+              }
+              output_.add(input.readBytes());
+              break;
+            }
+            case 74: {
+              if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
+                environment_ = new com.google.protobuf.LazyStringArrayList();
+                mutable_bitField0_ |= 0x00000080;
+              }
+              environment_.add(input.readBytes());
+              break;
+            }
+            case 80: {
+              bitField0_ |= 0x00000040;
+              roleId_ = input.readUInt32();
+              break;
+            }
+            case 88: {
+              bitField0_ |= 0x00000080;
+              released_ = input.readBool();
+              break;
+            }
+            case 96: {
+              bitField0_ |= 0x00000100;
+              createTime_ = input.readInt64();
+              break;
+            }
+            case 104: {
+              bitField0_ |= 0x00000200;
+              startTime_ = input.readInt64();
+              break;
+            }
+            case 114: {
+              bitField0_ |= 0x00000400;
+              host_ = input.readBytes();
+              break;
+            }
+            case 122: {
+              bitField0_ |= 0x00000800;
+              hostURL_ = input.readBytes();
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e.getMessage()).setUnfinishedMessage(this);
+      } finally {
+        if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+          output_ = new com.google.protobuf.UnmodifiableLazyStringList(output_);
+        }
+        if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
+          environment_ = new com.google.protobuf.UnmodifiableLazyStringList(environment_);
+        }
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return org.apache.slider.api.proto.Messages.internal_static_org_apache_slider_api_RoleInstanceState_descriptor;
+    }
+
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return org.apache.slider.api.proto.Messages.internal_static_org_apache_slider_api_RoleInstanceState_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              org.apache.slider.api.proto.Messages.RoleInstanceState.class, org.apache.slider.api.proto.Messages.RoleInstanceState.Builder.class);
+    }
+
+    public static com.google.protobuf.Parser<RoleInstanceState> PARSER =
+        new com.google.protobuf.AbstractParser<RoleInstanceState>() {
+      public RoleInstanceState parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new RoleInstanceState(input, extensionRegistry);
+      }
+    };
+
+    @java.lang.Override
+    public com.google.protobuf.Parser<RoleInstanceState> getParserForType() {
+      return PARSER;
+    }
+
+    private int bitField0_;
+    // required string name = 1;
+    public static final int NAME_FIELD_NUMBER = 1;
+    private java.lang.Object name_;
+    /**
+     * <code>required string name = 1;</code>
+     */
+    public boolean hasName() {
+      return ((bitField0_ & 0x00000001) == 0x00000001);
+    }
+    /**
+     * <code>required string name = 1;</code>
+     */
+    public java.lang.String getName() {
+      java.lang.Object ref = name_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        if (bs.isValidUtf8()) {
+          name_ = s;
+        }
+        return s;
+      }
+    }
+    /**
+     * <code>required string name = 1;</code>
+     */
+    public com.google.protobuf.ByteString
+        getNameBytes() {
+      java.lang.Object ref = name_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        name_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+
+    // optional string role = 2;
+    public static final int ROLE_FIELD_NUMBER = 2;
+    private java.lang.Object role_;
+    /**
+     * <code>optional string role = 2;</code>
+     */
+    public boolean hasRole() {
+      return ((bitField0_ & 0x00000002) == 0x00000002);
+    }
+    /**
+     * <code>optional string role = 2;</code>
+     */
+    public java.lang.String getRole() {
+      java.lang.Object ref = role_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        if (bs.isValidUtf8()) {
+          role_ = s;
+        }
+        return s;
+      }
+    }
+    /**
+     * <code>optional string role = 2;</code>
+     */
+    public com.google.protobuf.ByteString
+        getRoleBytes() {
+      java.lang.Object ref = role_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        role_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+
+    // required uint32 state = 4;
+    public static final int STATE_FIELD_NUMBER = 4;
+    private int state_;
+    /**
+     * <code>required uint32 state = 4;</code>
+     */
+    public boolean hasState() {
+      return ((bitField0_ & 0x00000004) == 0x00000004);
+    }
+    /**
+     * <code>required uint32 state = 4;</code>
+     */
+    public int getState() {
+      return state_;
+    }
+
+    // required uint32 exitCode = 5;
+    public static final int EXITCODE_FIELD_NUMBER = 5;
+    private int exitCode_;
+    /**
+     * <code>required uint32 exitCode = 5;</code>
+     */
+    public boolean hasExitCode() {
+      return ((bitField0_ & 0x00000008) == 0x00000008);
+    }
+    /**
+     * <code>required uint32 exitCode = 5;</code>
+     */
+    public int getExitCode() {
+      return exitCode_;
+    }
+
+    // optional string command = 6;
+    public static final int COMMAND_FIELD_NUMBER = 6;
+    private java.lang.Object command_;
+    /**
+     * <code>optional string command = 6;</code>
+     */
+    public boolean hasCommand() {
+      return ((bitField0_ & 0x00000010) == 0x00000010);
+    }
+    /**
+     * <code>optional string command = 6;</code>
+     */
+    public java.lang.String getCommand() {
+      java.lang.Object ref = command_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        if (bs.isValidUtf8()) {
+          command_ = s;
+        }
+        return s;
+      }
+    }
+    /**
+     * <code>optional string command = 6;</code>
+     */
+    public com.google.protobuf.ByteString
+        getCommandBytes() {
+      java.lang.Object ref = command_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        command_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+
+    // optional string diagnostics = 7;
+    public static final int DIAGNOSTICS_FIELD_NUMBER = 7;
+    private java.lang.Object diagnostics_;
+    /**
+     * <code>optional string diagnostics = 7;</code>
+     */
+    public boolean hasDiagnostics() {
+      return ((bitField0_ & 0x00000020) == 0x00000020);
+    }
+    /**
+     * <code>optional string diagnostics = 7;</code>
+     */
+    public java.lang.String getDiagnostics() {
+      java.lang.Object ref = diagnostics_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        if (bs.isValidUtf8()) {
+          diagnostics_ = s;
+        }
+        return s;
+      }
+    }
+    /**
+     * <code>optional string diagnostics = 7;</code>
+     */
+    public com.google.protobuf.ByteString
+        getDiagnosticsBytes() {
+      java.lang.Object ref = diagnostics_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        diagnostics_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+
+    // repeated string output = 8;
+    public static final int OUTPUT_FIELD_NUMBER = 8;
+    private com.google.protobuf.LazyStringList output_;
+    /**
+     * <code>repeated string output = 8;</code>
+     */
+    public java.util.List<java.lang.String>
+        getOutputList() {
+      return output_;
+    }
+    /**
+     * <code>repeated string output = 8;</code>
+     */
+    public int getOutputCount() {
+      return output_.size();
+    }
+    /**
+     * <code>repeated string output = 8;</code>
+     */
+    public java.lang.String getOutput(int index) {
+      return output_.get(index);
+    }
+    /**
+     * <code>repeated string output = 8;</code>
+     */
+    public com.google.protobuf.ByteString
+        getOutputBytes(int index) {
+      return output_.getByteString(index);
+    }
+
+    // repeated string environment = 9;
+    public static final int ENVIRONMENT_FIELD_NUMBER = 9;
+    private com.google.protobuf.LazyStringList environment_;
+    /**
+     * <code>repeated string environment = 9;</code>
+     */
+    public java.util.List<java.lang.String>
+        getEnvironmentList() {
+      return environment_;
+    }
+    /**
+     * <code>repeated string environment = 9;</code>
+     */
+    public int getEnvironmentCount() {
+      return environment_.size();
+    }
+    /**
+     * <code>repeated string environment = 9;</code>
+     */
+    public java.lang.String getEnvironment(int index) {
+      return environment_.get(index);
+    }
+    /**
+     * <code>repeated string environment = 9;</code>
+     */
+    public com.google.protobuf.ByteString
+        getEnvironmentBytes(int index) {
+      return environment_.getByteString(index);
+    }
+
+    // required uint32 roleId = 10;
+    public static final int ROLEID_FIELD_NUMBER = 10;
+    private int roleId_;
+    /**
+     * <code>required uint32 roleId = 10;</code>
+     */
+    public boolean hasRoleId() {
+      return ((bitField0_ & 0x00000040) == 0x00000040);
+    }
+    /**
+     * <code>required uint32 roleId = 10;</code>
+     */
+    public int getRoleId() {
+      return roleId_;
+    }
+
+    // required bool released = 11;
+    public static final int RELEASED_FIELD_NUMBER = 11;
+    private boolean released_;
+    /**
+     * <code>required bool released = 11;</code>
+     */
+    public boolean hasReleased() {
+      return ((bitField0_ & 0x00000080) == 0x00000080);
+    }
+    /**
+     * <code>required bool released = 11;</code>
+     */
+    public boolean getReleased() {
+      return released_;
+    }
+
+    // required int64 createTime = 12;
+    public static final int CREATETIME_FIELD_NUMBER = 12;
+    private long createTime_;
+    /**
+     * <code>required int64 createTime = 12;</code>
+     */
+    public boolean hasCreateTime() {
+      return ((bitField0_ & 0x00000100) == 0x00000100);
+    }
+    /**
+     * <code>required int64 createTime = 12;</code>
+     */
+    public long getCreateTime() {
+      return createTime_;
+    }
+
+    // required int64 startTime = 13;
+    public static final int STARTTIME_FIELD_NUMBER = 13;
+    private long startTime_;
+    /**
+     * <code>required int64 startTime = 13;</code>
+     */
+    public boolean hasStartTime() {
+      return ((bitField0_ & 0x00000200) == 0x00000200);
+    }
+    /**
+     * <code>required int64 startTime = 13;</code>
+     */
+    public long getStartTime() {
+      return startTime_;
+    }
+
+    // required string host = 14;
+    public static final int HOST_FIELD_NUMBER = 14;
+    private java.lang.Object host_;
+    /**
+     * <code>required string host = 14;</code>
+     */
+    public boolean hasHost() {
+      return ((bitField0_ & 0x00000400) == 0x00000400);
+    }
+    /**
+     * <code>required string host = 14;</code>
+     */
+    public java.lang.String getHost() {
+      java.lang.Object ref = host_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        if (bs.isValidUtf8()) {
+          host_ = s;
+        }
+        return s;
+      }
+    }
+    /**
+     * <code>required string host = 14;</code>
+     */
+    public com.google.protobuf.ByteString
+        getHostBytes() {
+      java.lang.Object ref = host_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        host_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+
+    // required string hostURL = 15;
+    public static final int HOSTURL_FIELD_NUMBER = 15;
+    private java.lang.Object hostURL_;
+    /**
+     * <code>required string hostURL = 15;</code>
+     */
+    public boolean hasHostURL() {
+      return ((bitField0_ & 0x00000800) == 0x00000800);
+    }
+    /**
+     * <code>required string hostURL = 15;</code>
+     */
+    public java.lang.String getHostURL() {
+      java.lang.Object ref = hostURL_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        if (bs.isValidUtf8()) {
+          hostURL_ = s;
+        }
+        return s;
+      }
+    }
+    /**
+     * <code>required string hostURL = 15;</code>
+     */
+    public com.google.protobuf.ByteString
+        getHostURLBytes() {
+      java.lang.Object ref = hostURL_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        hostURL_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+
+    private void initFields() {
+      name_ = "";
+      role_ = "";
+      state_ = 0;
+      exitCode_ = 0;
+      command_ = "";
+      diagnostics_ = "";
+      output_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+      environment_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+      roleId_ = 0;
+      released_ = false;
+      createTime_ = 0L;
+      startTime_ = 0L;
+      host_ = "";
+      hostURL_ = "";
+    }
+    private byte memoizedIsInitialized = -1;
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized != -1) return isInitialized == 1;
+
+      if (!hasName()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasState()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasExitCode()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasRoleId()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasReleased()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasCreateTime()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasStartTime()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasHost()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      if (!hasHostURL()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      getSerializedSize();
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        output.writeBytes(1, getNameBytes());
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        output.writeBytes(2, getRoleBytes());
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        output.writeUInt32(4, state_);
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        output.writeUInt32(5, exitCode_);
+      }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        output.writeBytes(6, getCommandBytes());
+      }
+      if (((bitField0_ & 0x00000020) == 0x00000020)) {
+        output.writeBytes(7, getDiagnosticsBytes());
+      }
+      for (int i = 0; i < output_.size(); i++) {
+        output.writeBytes(8, output_.getByteString(i));
+      }
+      for (int i = 0; i < environment_.size(); i++) {
+        output.writeBytes(9, environment_.getByteString(i));
+      }
+      if (((bitField0_ & 0x00000040) == 0x00000040)) {
+        output.writeUInt32(10, roleId_);
+      }
+      if (((bitField0_ & 0x00000080) == 0x00000080)) {
+        output.writeBool(11, released_);
+      }
+      if (((bitField0_ & 0x00000100) == 0x00000100)) {
+        output.writeInt64(12, createTime_);
+      }
+      if (((bitField0_ & 0x00000200) == 0x00000200)) {
+        output.writeInt64(13, startTime_);
+      }
+      if (((bitField0_ & 0x00000400) == 0x00000400)) {
+        output.writeBytes(14, getHostBytes());
+      }
+      if (((bitField0_ & 0x00000800) == 0x00000800)) {
+        output.writeBytes(15, getHostURLBytes());
+      }
+      getUnknownFields().writeTo(output);
+    }
+
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(1, getNameBytes());
+      }
+      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(2, getRoleBytes());
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeUInt32Size(4, state_);
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeUInt32Size(5, exitCode_);
+      }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(6, getCommandBytes());
+      }
+      if (((bitField0_ & 0x00000020) == 0x00000020)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(7, getDiagnosticsBytes());
+      }
+      {
+        int dataSize = 0;
+        for (int i = 0; i < output_.size(); i++) {
+          dataSize += com.google.protobuf.CodedOutputStream
+            .computeBytesSizeNoTag(output_.getByteString(i));
+        }
+        size += dataSize;
+        size += 1 * getOutputList().size();
+      }
+      {
+        int dataSize = 0;
+        for (int i = 0; i < environment_.size(); i++) {
+          dataSize += com.google.protobuf.CodedOutputStream
+            .computeBytesSizeNoTag(environment_.getByteString(i));
+        }
+        size += dataSize;
+        size += 1 * getEnvironmentList().size();
+      }
+      if (((bitField0_ & 0x00000040) == 0x00000040)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeUInt32Size(10, roleId_);
+      }
+      if (((bitField0_ & 0x00000080) == 0x00000080)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBoolSize(11, released_);
+      }
+      if (((bitField0_ & 0x00000100) == 0x00000100)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt64Size(12, createTime_);
+      }
+      if (((bitField0_ & 0x00000200) == 0x00000200)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeInt64Size(13, startTime_);
+      }
+      if (((bitField0_ & 0x00000400) == 0x00000400)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(14, getHostBytes());
+      }
+      if (((bitField0_ & 0x00000800) == 0x00000800)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(15, getHostURLBytes());
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+
+    private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    protected java.lang.Object writeReplace()
+        throws java.io.ObjectStreamException {
+      return super.writeReplace();
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.slider.api.proto.Messages.RoleInstanceState)) {
+        return super.equals(obj);
+      }
+      org.apache.slider.api.proto.Messages.RoleInstanceState other = (org.apache.slider.api.proto.Messages.RoleInstanceState) obj;
+
+      boolean result = true;
+      result = result && (hasName() == other.hasName());
+      if (hasName()) {
+        result = result && getName()
+            .equals(other.getName());
+      }
+      result = result && (hasRole() == other.hasRole());
+      if (hasRole()) {
+        result = result && getRole()
+            .equals(other.getRole());
+      }
+      result = result && (hasState() == other.hasState());
+      if (hasState()) {
+        result = result && (getState()
+            == other.getState());
+      }
+      result = result && (hasExitCode() == other.hasExitCode());
+      if (hasExitCode()) {
+        result = result && (getExitCode()
+            == other.getExitCode());
+      }
+      result = result && (hasCommand() == other.hasCommand());
+      if (hasCommand()) {
+        result = result && getCommand()
+            .equals(other.getCommand());
+      }
+      result = result && (hasDiagnostics() == other.hasDiagnostics());
+      if (hasDiagnostics()) {
+        result = result && getDiagnostics()
+            .equals(other.getDiagnostics());
+      }
+      result = result && getOutputList()
+          .equals(other.getOutputList());
+      result = result && getEnvironmentList()
+          .equals(other.getEnvironmentList());
+      result = result && (hasRoleId() == other.hasRoleId());
+      if (hasRoleId()) {
+        result = result && (getRoleId()
+            == other.getRoleId());
+      }
+      result = result && (hasReleased() == other.hasReleased());
+      if (hasReleased()) {
+        result = result && (getReleased()
+            == other.getReleased());
+      }
+      result = result && (hasCreateTime() == other.hasCreateTime());
+      if (hasCreateTime()) {
+        result = result && (getCreateTime()
+            == other.getCreateTime());
+      }
+      result = result && (hasStartTime() == other.hasStartTime());
+      if (hasStartTime()) {
+        result = result && (getStartTime()
+            == other.getStartTime());
+      }
+      result = result && (hasHost() == other.hasHost());
+      if (hasHost()) {
+        result = result && getHost()
+            .equals(other.getHost());
+      }
+      result = result && (hasHostURL() == other.hasHostURL());
+      if (hasHostURL()) {
+        result = result && getHostURL()
+            .equals(other.getHostURL());
+      }
+      result = result &&
+          getUnknownFields().equals(other.getUnknownFields());
+      return result;
+    }
+
+    private int memoizedHashCode = 0;
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      if (hasName()) {
+        hash = (37 * hash) + NAME_FIELD_NUMBER;
+        hash = (53 * hash) + getName().hashCode();
+      }
+      if (hasRole()) {
+        hash = (37 * hash) + ROLE_FIELD_NUMBER;
+        hash = (53 * hash) + getRole().hashCode();
+      }
+      if (hasState()) {
+        hash = (37 * hash) + STATE_FIELD_NUMBER;
+        hash = (53 * hash) + getState();
+      }
+      if (hasExitCode()) {
+        hash = (37 * hash) + EXITCODE_FIELD_NUMBER;
+        hash = (53 * hash) + getExitCode();
+      }
+      if (hasCommand()) {
+        hash = (37 * hash) + COMMAND_FIELD_NUMBER;
+        hash = (53 * hash) + getCommand().hashCode();
+      }
+      if (hasDiagnostics()) {
+        hash = (37 * hash) + DIAGNOSTICS_FIELD_NUMBER;
+        hash = (53 * hash) + getDiagnostics().hashCode();
+      }
+      if (getOutputCount() > 0) {
+        hash = (37 * hash) + OUTPUT_FIELD_NUMBER;
+        hash = (53 * hash) + getOutputList().hashCode();
+      }
+      if (getEnvironmentCount() > 0) {
+        hash = (37 * hash) + ENVIRONMENT_FIELD_NUMBER;
+        hash = (53 * hash) + getEnvironmentList().hashCode();
+      }
+      if (hasRoleId()) {
+        hash = (37 * hash) + ROLEID_FIELD_NUMBER;
+        hash = (53 * hash) + getRoleId();
+      }
+      if (hasReleased()) {
+        hash = (37 * hash) + RELEASED_FIELD_NUMBER;
+        hash = (53 * hash) + hashBoolean(getReleased());
+      }
+      if (hasCreateTime()) {
+        hash = (37 * hash) + CREATETIME_FIELD_NUMBER;
+        hash = (53 * hash) + hashLong(getCreateTime());
+      }
+      if (hasStartTime()) {
+        hash = (37 * hash) + STARTTIME_FIELD_NUMBER;
+        hash = (53 * hash) + hashLong(getStartTime());
+      }
+      if (hasHost()) {
+        hash = (37 * hash) + HOST_FIELD_NUMBER;
+        hash = (53 * hash) + getHost().hashCode();
+      }
+      if (hasHostURL()) {
+        hash = (37 * hash) + HOSTURL_FIELD_NUMBER;
+        hash = (53 * hash) + getHostURL().hashCode();
+      }
+      hash = (29 * hash) + getUnknownFields().hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static org.apache.slider.api.proto.Messages.RoleInstanceState parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.slider.api.proto.Messages.RoleInstanceState parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.slider.api.proto.Messages.RoleInstanceState parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.slider.api.proto.Messages.RoleInstanceState parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.slider.api.proto.Messages.RoleInstanceState parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.slider.api.proto.Messages.RoleInstanceState parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+    public static org.apache.slider.api.proto.Messages.RoleInstanceState parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input);
+    }
+    public static org.apache.slider.api.proto.Messages.RoleInstanceState parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+    }
+    public static org.apache.slider.api.proto.Messages.RoleInstanceState parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.slider.api.proto.Messages.RoleInstanceState parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+
+    public static Builder newBuilder() { return Builder.create(); }
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder(org.apache.slider.api.proto.Messages.RoleInstanceState prototype) {
+      return newBuilder().mergeFrom(prototype);
+    }
+    public Builder toBuilder() { return newBuilder(this); }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code org.apache.slider.api.RoleInstanceState}
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.apache.slider.api.proto.Messages.RoleInstanceStateOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return org.apache.slider.api.proto.Messages.internal_static_org_apache_slider_api_RoleInstanceState_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return org.apache.slider.api.proto.Messages.internal_static_org_apache_slider_api_RoleInstanceState_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.slider.api.proto.Messages.RoleInstanceState.class, org.apache.slider.api.proto.Messages.RoleInstanceState.Builder.class);
+      }
+
+      // Construct using org.apache.slider.api.proto.Messages.RoleInstanceState.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        }
+      }
+      private static Builder create() {
+        return new Builder();
+      }
+
+      public Builder clear() {
+        super.clear();
+        name_ = "";
+        bitField0_ = (bitField0_ & ~0x00000001);
+        role_ = "";
+        bitField0_ = (bitField0_ & ~0x00000002);
+        state_ = 0;
+        bitField0_ = (bitField0_ & ~0x00000004);
+        exitCode_ = 0;
+        bitField0_ = (bitField0_ & ~0x00000008);
+        command_ = "";
+        bitField0_ = (bitField0_ & ~0x00000010);
+        diagnostics_ = "";
+        bitField0_ = (bitField0_ & ~0x00000020);
+        output_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000040);
+        environment_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000080);
+        roleId_ = 0;
+        bitField0_ = (bitField0_ & ~0x00000100);
+        released_ = false;
+        bitField0_ = (bitField0_ & ~0x00000200);
+        createTime_ = 0L;
+        bitField0_ = (bitField0_ & ~0x00000400);
+        startTime_ = 0L;
+        bitField0_ = (bitField0_ & ~0x00000800);
+        host_ = "";
+        bitField0_ = (bitField0_ & ~0x00001000);
+        hostURL_ = "";
+        bitField0_ = (bitField0_ & ~0x00002000);
+        return this;
+      }
+
+      public Builder clone() {
+        return create().mergeFrom(buildPartial());
+      }
+
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return org.apache.slider.api.proto.Messages.internal_static_org_apache_slider_api_RoleInstanceState_descriptor;
+      }
+
+      public org.apache.slider.api.proto.Messages.RoleInstanceState getDefaultInstanceForType() {
+        return org.apache.slider.api.proto.Messages.RoleInstanceState.getDefaultInstance();
+      }
+
+      public org.apache.slider.api.proto.Messages.RoleInstanceState build() {
+        org.apache.slider.api.proto.Messages.RoleInstanceState result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      public org.apache.slider.api.proto.Messages.RoleInstanceState buildPartial() {
+        org.apache.slider.api.proto.Messages.RoleInstanceState result = new org.apache.slider.api.proto.Messages.RoleInstanceState(this);
+        int from_bitField0_ = bitField0_;
+        int to_bitField0_ = 0;
+        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+          to_bitField0_ |= 0x00000001;
+        }
+        result.name_ = name_;
+        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+          to_bitField0_ |= 0x00000002;
+        }
+        result.role_ = role_;
+        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+          to_bitField0_ |= 0x00000004;
+        }
+        result.state_ = state_;
+        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+          to_bitField0_ |= 0x00000008;
+        }
+        result.exitCode_ = exitCode_;
+        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+          to_bitField0_ |= 0x00000010;
+        }
+        result.command_ = command_;
+        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
+          to_bitField0_ |= 0x00000020;
+        }
+        result.diagnostics_ = diagnostics_;
+        if (((bitField0_ & 0x00000040) == 0x00000040)) {
+          output_ = new com.google.protobuf.UnmodifiableLazyStringList(
+              output_);
+          bitField0_ = (bitField0_ & ~0x00000040);
+        }
+        result.output_ = output_;
+        if (((bitField0_ & 0x00000080) == 0x00000080)) {
+          environment_ = new com.google.protobuf.UnmodifiableLazyStringList(
+              environment_);
+          bitField0_ = (bitField0_ & ~0x00000080);
+        }
+        result.environment_ = environment_;
+        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
+          to_bitField0_ |= 0x00000040;
+        }
+        result.roleId_ = roleId_;
+        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
+          to_bitField0_ |= 0x00000080;
+        }
+        result.released_ = released_;
+        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
+          to_bitField0_ |= 0x00000100;
+        }
+        result.createTime_ = createTime_;
+        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
+          to_bitField0_ |= 0x00000200;
+        }
+        result.startTime_ = startTime_;
+        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
+          to_bitField0_ |= 0x00000400;
+        }
+        result.host_ = host_;
+        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
+          to_bitField0_ |= 0x00000800;
+        }
+        result.hostURL_ = hostURL_;
+        result.bitField0_ = to_bitField0_;
+        onBuilt();
+        return result;
+      }
+
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof org.apache.slider.api.proto.Messages.RoleInstanceState) {
+          return mergeFrom((org.apache.slider.api.proto.Messages.RoleInstanceState)other);
+        } else {
+          super.mergeFrom(other);
+          return this;
+        }
+      }
+
+      public Builder mergeFrom(org.apache.slider.api.proto.Messages.RoleInstanceState other) {
+        if (other == org.apache.slider.api.proto.Messages.RoleInstanceState.getDefaultInstance()) return this;
+        if (other.hasName()) {
+          bitField0_ |= 0x00000001;
+          name_ = other.name_;
+          onChanged();
+        }
+        if (other.hasRole()) {
+          bitField0_ |= 0x00000002;
+          role_ = other.role_;
+          onChanged();
+        }
+        if (other.hasState()) {
+          setState(other.getState());
+        }
+        if (other.hasExitCode()) {
+          setExitCode(other.getExitCode());
+        }
+        if (other.hasCommand()) {
+          bitField0_ |= 0x00000010;
+          command_ = other.command_;
+          onChanged();
+        }
+        if (other.hasDiagnostics()) {
+          bitField0_ |= 0x00000020;
+          diagnostics_ = other.diagnostics_;
+          onChanged();
+        }
+        if (!other.output_.isEmpty()) {
+          if (output_.isEmpty()) {
+            output_ = other.output_;
+            bitField0_ = (bitField0_ & ~0x00000040);
+          } else {
+            ensureOutputIsMutable();
+            output_.addAll(other.output_);
+          }
+          onChanged();
+        }
+        if (!other.environment_.isEmpty()) {
+          if (environment_.isEmpty()) {
+            environment_ = other.environment_;
+            bitField0_ = (bitField0_ & ~0x00000080);
+          } else {
+            ensureEnvironmentIsMutable();
+            environment_.addAll(other.environment_);
+          }
+          onChanged();
+        }
+        if (other.hasRoleId()) {
+          setRoleId(other.getRoleId());
+        }
+        if (other.hasReleased()) {
+          setReleased(other.getReleased());
+        }
+        if (other.hasCreateTime()) {
+          setCreateTime(other.getCreateTime());
+        }
+        if (other.hasStartTime()) {
+          setStartTime(other.getStartTime());
+        }
+        if (other.hasHost()) {
+          bitField0_ |= 0x00001000;
+          host_ = other.host_;
+          onChanged();
+        }
+        if (other.hasHostURL()) {
+          bitField0_ |= 0x00002000;
+          hostURL_ = other.hostURL_;
+          onChanged();
+        }
+        this.mergeUnknownFields(other.getUnknownFields());
+        return this;
+      }
+
+      public final boolean isInitialized() {
+        if (!hasName()) {
+          
+          return false;
+        }
+        if (!hasState()) {
+          
+          return false;
+        }
+        if (!hasExitCode()) {
+          
+          return false;
+        }
+        if (!hasRoleId()) {
+          
+          return false;
+        }
+        if (!hasReleased()) {
+          
+          return false;
+        }
+        if (!hasCreateTime()) {
+          
+          return false;
+        }
+        if (!hasStartTime()) {
+          
+          return false;
+        }
+        if (!hasHost()) {
+          
+          return false;
+        }
+        if (!hasHostURL()) {
+          
+          return false;
+        }
+        return true;
+      }
+
+      public Builder mergeFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws java.io.IOException {
+        org.apache.slider.api.proto.Messages.RoleInstanceState parsedMessage = null;
+        try {
+          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+          parsedMessage = (org.apache.slider.api.proto.Messages.RoleInstanceState) e.getUnfinishedMessage();
+          throw e;
+        } finally {
+          if (parsedMessage != null) {
+            mergeFrom(parsedMessage);
+          }
+        }
+        return this;
+      }
+      private int bitField0_;
+
+      // required string name = 1;
+      private java.lang.Object name_ = "";
+      /**
+       * <code>required string name = 1;</code>
+       */
+      public boolean hasName() {
+        return ((bitField0_ & 0x00000001) == 0x00000001);
+      }
+      /**
+       * <code>required string name = 1;</code>
+       */
+      public java.lang.String getName() {
+        java.lang.Object ref = name_;
+        if (!(ref instanceof java.lang.String)) {
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          name_ = s;
+          return s;
+        } else {
+          return (java.lang.String) ref;
+        }
+      }
+      /**
+       * <code>required string name = 1;</code>
+       */
+      public com.google.protobuf.ByteString
+          getNameBytes() {
+        java.lang.Object ref = name_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          name_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+      /**
+       * <code>required string name = 1;</code>
+       */
+      public Builder setName(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000001;
+        name_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required string name = 1;</code>
+       */
+      public Builder clearName() {
+        bitField0_ = (bitField0_ & ~0x00000001);
+        name_ = getDefaultInstance().getName();
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required string name = 1;</code>
+       */
+      public Builder setNameBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000001;
+        name_ = value;
+        onChanged();
+        return this;
+      }
+
+      // optional string role = 2;
+      private java.lang.Object role_ = "";
+      /**
+       * <code>optional string role = 2;</code>
+       */
+      public boolean hasRole() {
+        return ((bitField0_ & 0x00000002) == 0x00000002);
+      }
+      /**
+       * <code>optional string role = 2;</code>
+       */
+      public java.lang.String getRole() {
+        java.lang.Object ref = role_;
+        if (!(ref instanceof java.lang.String)) {
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          role_ = s;
+          return s;
+        } else {
+          return (java.lang.String) ref;
+        }
+      }
+      /**
+       * <code>optional string role = 2;</code>
+       */
+      public com.google.protobuf.ByteString
+          getRoleBytes() {
+        java.lang.Object ref = role_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          role_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+      /**
+       * <code>optional string role = 2;</code>
+       */
+      public Builder setRole(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000002;
+        role_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional string role = 2;</code>
+       */
+      public Builder clearRole() {
+        bitField0_ = (bitField0_ & ~0x00000002);
+        role_ = getDefaultInstance().getRole();
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional string role = 2;</code>
+       */
+      public Builder setRoleBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000002;
+        role_ = value;
+        onChanged();
+        return this;
+      }
+
+      // required uint32 state = 4;
+      private int state_ ;
+      /**
+       * <code>required uint32 state = 4;</code>
+       */
+      public boolean hasState() {
+        return ((bitField0_ & 0x00000004) == 0x00000004);
+      }
+      /**
+       * <code>required uint32 state = 4;</code>
+       */
+      public int getState() {
+        return state_;
+      }
+      /**
+       * <code>required uint32 state = 4;</code>
+       */
+      public Builder setState(int value) {
+        bitField0_ |= 0x00000004;
+        state_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required uint32 state = 4;</code>
+       */
+      public Builder clearState() {
+        bitField0_ = (bitField0_ & ~0x00000004);
+        state_ = 0;
+        onChanged();
+        return this;
+      }
+
+      // required uint32 exitCode = 5;
+      private int exitCode_ ;
+      /**
+       * <code>required uint32 exitCode = 5;</code>
+       */
+      public boolean hasExitCode() {
+        return ((bitField0_ & 0x00000008) == 0x00000008);
+      }
+      /**
+       * <code>required uint32 exitCode = 5;</code>
+       */
+      public int getExitCode() {
+        return exitCode_;
+      }
+      /**
+       * <code>required uint32 exitCode = 5;</code>
+       */
+      public Builder setExitCode(int value) {
+        bitField0_ |= 0x00000008;
+        exitCode_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required uint32 exitCode = 5;</code>
+       */
+      public Builder clearExitCode() {
+        bitField0_ = (bitField0_ & ~0x00000008);
+        exitCode_ = 0;
+        onChanged();
+        return this;
+      }
+
+      // optional string command = 6;
+      private java.lang.Object command_ = "";
+      /**
+       * <code>optional string command = 6;</code>
+       */
+      public boolean hasCommand() {
+        return ((bitField0_ & 0x00000010) == 0x00000010);
+      }
+      /**
+       * <code>optional string command = 6;</code>
+       */
+      public java.lang.String getCommand() {
+        java.lang.Object ref = command_;
+        if (!(ref instanceof java.lang.String)) {
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          command_ = s;
+          return s;
+        } else {
+          return (java.lang.String) ref;
+        }
+      }
+      /**
+       * <code>optional string command = 6;</code>
+       */
+      public com.google.protobuf.ByteString
+          getCommandBytes() {
+        java.lang.Object ref = command_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          command_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+      /**
+       * <code>optional string command = 6;</code>
+       */
+      public Builder setCommand(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000010;
+        command_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional string command = 6;</code>
+       */
+      public Builder clearCommand() {
+        bitField0_ = (bitField0_ & ~0x00000010);
+        command_ = getDefaultInstance().getCommand();
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional string command = 6;</code>
+       */
+      public Builder setCommandBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000010;
+        command_ = value;
+        onChanged();
+        return this;
+      }
+
+      // optional string diagnostics = 7;
+      private java.lang.Object diagnostics_ = "";
+      /**
+       * <code>optional string diagnostics = 7;</code>
+       */
+      public boolean hasDiagnostics() {
+        return ((bitField0_ & 0x00000020) == 0x00000020);
+      }
+      /**
+       * <code>optional string diagnostics = 7;</code>
+       */
+      public java.lang.String getDiagnostics() {
+        java.lang.Object ref = diagnostics_;
+        if (!(ref instanceof java.lang.String)) {
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          diagnostics_ = s;
+          return s;
+        } else {
+          return (java.lang.String) ref;
+        }
+      }
+      /**
+       * <code>optional string diagnostics = 7;</code>
+       */
+      public com.google.protobuf.ByteString
+          getDiagnosticsBytes() {
+        java.lang.Object ref = diagnostics_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          diagnostics_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+      /**
+       * <code>optional string diagnostics = 7;</code>
+       */
+      public Builder setDiagnostics(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000020;
+        diagnostics_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional string diagnostics = 7;</code>
+       */
+      public Builder clearDiagnostics() {
+        bitField0_ = (bitField0_ & ~0x00000020);
+        diagnostics_ = getDefaultInstance().getDiagnostics();
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional string diagnostics = 7;</code>
+       */
+      public Builder setDiagnosticsBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00000020;
+        diagnostics_ = value;
+        onChanged();
+        return this;
+      }
+
+      // repeated string output = 8;
+      private com.google.protobuf.LazyStringList output_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+      private void ensureOutputIsMutable() {
+        if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+          output_ = new com.google.protobuf.LazyStringArrayList(output_);
+          bitField0_ |= 0x00000040;
+         }
+      }
+      /**
+       * <code>repeated string output = 8;</code>
+       */
+      public java.util.List<java.lang.String>
+          getOutputList() {
+        return java.util.Collections.unmodifiableList(output_);
+      }
+      /**
+       * <code>repeated string output = 8;</code>
+       */
+      public int getOutputCount() {
+        return output_.size();
+      }
+      /**
+       * <code>repeated string output = 8;</code>
+       */
+      public java.lang.String getOutput(int index) {
+        return output_.get(index);
+      }
+      /**
+       * <code>repeated string output = 8;</code>
+       */
+      public com.google.protobuf.ByteString
+          getOutputBytes(int index) {
+        return output_.getByteString(index);
+      }
+      /**
+       * <code>repeated string output = 8;</code>
+       */
+      public Builder setOutput(
+          int index, java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  ensureOutputIsMutable();
+        output_.set(index, value);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated string output = 8;</code>
+       */
+      public Builder addOutput(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  ensureOutputIsMutable();
+        output_.add(value);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated string output = 8;</code>
+       */
+      public Builder addAllOutput(
+          java.lang.Iterable<java.lang.String> values) {
+        ensureOutputIsMutable();
+        super.addAll(values, output_);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated string output = 8;</code>
+       */
+      public Builder clearOutput() {
+        output_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000040);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated string output = 8;</code>
+       */
+      public Builder addOutputBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  ensureOutputIsMutable();
+        output_.add(value);
+        onChanged();
+        return this;
+      }
+
+      // repeated string environment = 9;
+      private com.google.protobuf.LazyStringList environment_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+      private void ensureEnvironmentIsMutable() {
+        if (!((bitField0_ & 0x00000080) == 0x00000080)) {
+          environment_ = new com.google.protobuf.LazyStringArrayList(environment_);
+          bitField0_ |= 0x00000080;
+         }
+      }
+      /**
+       * <code>repeated string environment = 9;</code>
+       */
+      public java.util.List<java.lang.String>
+          getEnvironmentList() {
+        return java.util.Collections.unmodifiableList(environment_);
+      }
+      /**
+       * <code>repeated string environment = 9;</code>
+       */
+      public int getEnvironmentCount() {
+        return environment_.size();
+      }
+      /**
+       * <code>repeated string environment = 9;</code>
+       */
+      public java.lang.String getEnvironment(int index) {
+        return environment_.get(index);
+      }
+      /**
+       * <code>repeated string environment = 9;</code>
+       */
+      public com.google.protobuf.ByteString
+          getEnvironmentBytes(int index) {
+        return environment_.getByteString(index);
+      }
+      /**
+       * <code>repeated string environment = 9;</code>
+       */
+      public Builder setEnvironment(
+          int index, java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  ensureEnvironmentIsMutable();
+        environment_.set(index, value);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated string environment = 9;</code>
+       */
+      public Builder addEnvironment(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  ensureEnvironmentIsMutable();
+        environment_.add(value);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated string environment = 9;</code>
+       */
+      public Builder addAllEnvironment(
+          java.lang.Iterable<java.lang.String> values) {
+        ensureEnvironmentIsMutable();
+        super.addAll(values, environment_);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated string environment = 9;</code>
+       */
+      public Builder clearEnvironment() {
+        environment_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000080);
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>repeated string environment = 9;</code>
+       */
+      public Builder addEnvironmentBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  ensureEnvironmentIsMutable();
+        environment_.add(value);
+        onChanged();
+        return this;
+      }
+
+      // required uint32 roleId = 10;
+      private int roleId_ ;
+      /**
+       * <code>required uint32 roleId = 10;</code>
+       */
+      public boolean hasRoleId() {
+        return ((bitField0_ & 0x00000100) == 0x00000100);
+      }
+      /**
+       * <code>required uint32 roleId = 10;</code>
+       */
+      public int getRoleId() {
+        return roleId_;
+      }
+      /**
+       * <code>required uint32 roleId = 10;</code>
+       */
+      public Builder setRoleId(int value) {
+        bitField0_ |= 0x00000100;
+        roleId_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required uint32 roleId = 10;</code>
+       */
+      public Builder clearRoleId() {
+        bitField0_ = (bitField0_ & ~0x00000100);
+        roleId_ = 0;
+        onChanged();
+        return this;
+      }
+
+      // required bool released = 11;
+      private boolean released_ ;
+      /**
+       * <code>required bool released = 11;</code>
+       */
+      public boolean hasReleased() {
+        return ((bitField0_ & 0x00000200) == 0x00000200);
+      }
+      /**
+       * <code>required bool released = 11;</code>
+       */
+      public boolean getReleased() {
+        return released_;
+      }
+      /**
+       * <code>required bool released = 11;</code>
+       */
+      public Builder setReleased(boolean value) {
+        bitField0_ |= 0x00000200;
+        released_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required bool released = 11;</code>
+       */
+      public Builder clearReleased() {
+        bitField0_ = (bitField0_ & ~0x00000200);
+        released_ = false;
+        onChanged();
+        return this;
+      }
+
+      // required int64 createTime = 12;
+      private long createTime_ ;
+      /**
+       * <code>required int64 createTime = 12;</code>
+       */
+      public boolean hasCreateTime() {
+        return ((bitField0_ & 0x00000400) == 0x00000400);
+      }
+      /**
+       * <code>required int64 createTime = 12;</code>
+       */
+      public long getCreateTime() {
+        return createTime_;
+      }
+      /**
+       * <code>required int64 createTime = 12;</code>
+       */
+      public Builder setCreateTime(long value) {
+        bitField0_ |= 0x00000400;
+        createTime_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required int64 createTime = 12;</code>
+       */
+      public Builder clearCreateTime() {
+        bitField0_ = (bitField0_ & ~0x00000400);
+        createTime_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // required int64 startTime = 13;
+      private long startTime_ ;
+      /**
+       * <code>required int64 startTime = 13;</code>
+       */
+      public boolean hasStartTime() {
+        return ((bitField0_ & 0x00000800) == 0x00000800);
+      }
+      /**
+       * <code>required int64 startTime = 13;</code>
+       */
+      public long getStartTime() {
+        return startTime_;
+      }
+      /**
+       * <code>required int64 startTime = 13;</code>
+       */
+      public Builder setStartTime(long value) {
+        bitField0_ |= 0x00000800;
+        startTime_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required int64 startTime = 13;</code>
+       */
+      public Builder clearStartTime() {
+        bitField0_ = (bitField0_ & ~0x00000800);
+        startTime_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // required string host = 14;
+      private java.lang.Object host_ = "";
+      /**
+       * <code>required string host = 14;</code>
+       */
+      public boolean hasHost() {
+        return ((bitField0_ & 0x00001000) == 0x00001000);
+      }
+      /**
+       * <code>required string host = 14;</code>
+       */
+      public java.lang.String getHost() {
+        java.lang.Object ref = host_;
+        if (!(ref instanceof java.lang.String)) {
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          host_ = s;
+          return s;
+        } else {
+          return (java.lang.String) ref;
+        }
+      }
+      /**
+       * <code>required string host = 14;</code>
+       */
+      public com.google.protobuf.ByteString
+          getHostBytes() {
+        java.lang.Object ref = host_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          host_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+      /**
+       * <code>required string host = 14;</code>
+       */
+      public Builder setHost(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00001000;
+        host_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required string host = 14;</code>
+       */
+      public Builder clearHost() {
+        bitField0_ = (bitField0_ & ~0x00001000);
+        host_ = getDefaultInstance().getHost();
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required string host = 14;</code>
+       */
+      public Builder setHostBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00001000;
+        host_ = value;
+        onChanged();
+        return this;
+      }
+
+      // required string hostURL = 15;
+      private java.lang.Object hostURL_ = "";
+      /**
+       * <code>required string hostURL = 15;</code>
+       */
+      public boolean hasHostURL() {
+        return ((bitField0_ & 0x00002000) == 0x00002000);
+      }
+      /**
+       * <code>required string hostURL = 15;</code>
+       */
+      public java.lang.String getHostURL() {
+        java.lang.Object ref = hostURL_;
+        if (!(ref instanceof java.lang.String)) {
+          java.lang.String s = ((com.google.protobuf.ByteString) ref)
+              .toStringUtf8();
+          hostURL_ = s;
+          return s;
+        } else {
+          return (java.lang.String) ref;
+        }
+      }
+      /**
+       * <code>required string hostURL = 15;</code>
+       */
+      public com.google.protobuf.ByteString
+          getHostURLBytes() {
+        java.lang.Object ref = hostURL_;
+        if (ref instanceof String) {
+          com.google.protobuf.ByteString b = 
+              com.google.protobuf.ByteString.copyFromUtf8(
+                  (java.lang.String) ref);
+          hostURL_ = b;
+          return b;
+        } else {
+          return (com.google.protobuf.ByteString) ref;
+        }
+      }
+      /**
+       * <code>required string hostURL = 15;</code>
+       */
+      public Builder setHostURL(
+          java.lang.String value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00002000;
+        hostURL_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required string hostURL = 15;</code>
+       */
+      public Builder clearHostURL() {
+        bitField0_ = (bitField0_ & ~0x00002000);
+        hostURL_ = getDefaultInstance().getHostURL();
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required string hostURL = 15;</code>
+       */
+      public Builder setHostURLBytes(
+          com.google.protobuf.ByteString value) {
+        if (value == null) {
+    throw new NullPointerException();
+  }
+  bitField0_ |= 0x00002000;
+        hostURL_ = value;
+        onChanged();
+        return this;
+      }
+
+      // @@protoc_insertion_point(builder_scope:org.apache.slider.api.RoleInstanceState)
+    }
+
+    static {
+      defaultInstance = new RoleInstanceState(true);
+      defaultInstance.initFields();
+    }
+
+    // @@protoc_insertion_point(class_scope:org.apache.slider.api.RoleInstanceState)
+  }
+
+  public interface StopClusterRequestProtoOrBuilder
+      extends com.google.protobuf.MessageOrBuilder {
+
+    // required string message = 1;
+    /**
+     * <code>required string message = 1;</code>
+     *
+     * <pre>
+     **
+     *message to include
+     * </pre>
+     */
+    boolean hasMessage();
+    /**
+     * <code>required string message = 1;</code>
+     *
+     * <pre>
+     **
+     *message to include
+     * </pre>
+     */
+    java.lang.String getMessage();
+    /**
+     * <code>required string message = 1;</code>
+     *
+     * <pre>
+     **
+     *message to include
+     * </pre>
+     */
+    com.google.protobuf.ByteString
+        getMessageBytes();
+  }
+  /**
+   * Protobuf type {@code org.apache.slider.api.StopClusterRequestProto}
+   *
+   * <pre>
+   **
+   * stop the cluster
+   * </pre>
+   */
+  public static final class StopClusterRequestProto extends
+      com.google.protobuf.GeneratedMessage
+      implements StopClusterRequestProtoOrBuilder {
+    // Use StopClusterRequestProto.newBuilder() to construct.
+    private StopClusterRequestProto(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+      super(builder);
+      this.unknownFields = builder.getUnknownFields();
+    }
+    private StopClusterRequestProto(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
+
+    private static final StopClusterRequestProto defaultInstance;
+    public static StopClusterRequestProto getDefaultInstance() {
+      return defaultInstance;
+    }
+
+    public StopClusterRequestProto getDefaultInstanceForType() {
+      return defaultInstance;
+    }
+
+    private final com.google.protobuf.UnknownFieldSet unknownFields;
+    @java.lang.Override
+    public final com.google.protobuf.UnknownFieldSet
+        getUnknownFields() {
+      return this.unknownFields;
+    }
+    private StopClusterRequestProto(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      initFields();
+      int mutable_bitField0_ = 0;
+      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+          com.google.protobuf.UnknownFieldSet.newBuilder();
+      try {
+        boolean done = false;
+        while (!done) {
+          int tag = input.readTag();
+          switch (tag) {
+            case 0:
+              done = true;
+              break;
+            default: {
+              if (!parseUnknownField(input, unknownFields,
+                                     extensionRegistry, tag)) {
+                done = true;
+              }
+              break;
+            }
+            case 10: {
+              bitField0_ |= 0x00000001;
+              message_ = input.readBytes();
+              break;
+            }
+          }
+        }
+      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+        throw e.setUnfinishedMessage(this);
+      } catch (java.io.IOException e) {
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e.getMessage()).setUnfinishedMessage(this);
+      } finally {
+        this.unknownFields = unknownFields.build();
+        makeExtensionsImmutable();
+      }
+    }
+    public static final com.google.protobuf.Descriptors.Descriptor
+        getDescriptor() {
+      return org.apache.slider.api.proto.Messages.internal_static_org_apache_slider_api_StopClusterRequestProto_descriptor;
+    }
+
+    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+        internalGetFieldAccessorTable() {
+      return org.apache.slider.api.proto.Messages.internal_static_org_apache_slider_api_StopClusterRequestProto_fieldAccessorTable
+          .ensureFieldAccessorsInitialized(
+              org.apache.slider.api.proto.Messages.StopClusterRequestProto.class, org.apache.slider.api.proto.Messages.StopClusterRequestProto.Builder.class);
+    }
+
+    public static com.google.protobuf.Parser<StopClusterRequestProto> PARSER =
+        new com.google.protobuf.AbstractParser<StopClusterRequestProto>() {
+      public StopClusterRequestProto parsePartialFrom(
+          com.google.protobuf.CodedInputStream input,
+          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+          throws com.google.protobuf.InvalidProtocolBufferException {
+        return new StopClusterRequestProto(input, extensionRegistry);
+      }
+    };
+
+    @java.lang.Override
+    public com.google.protobuf.Parser<StopClusterRequestProto> getParserForType() {
+      return PARSER;
+    }
+
+    private int bitField0_;
+    // required string message = 1;
+    public static final int MESSAGE_FIELD_NUMBER = 1;
+    private java.lang.Object message_;
+    /**
+     * <code>required string message = 1;</code>
+     *
+     * <pre>
+     **
+     *message to include
+     * </pre>
+     */
+    public boolean hasMessage() {
+      return ((bitField0_ & 0x00000001) == 0x00000001);
+    }
+    /**
+     * <code>required string message = 1;</code>
+     *
+     * <pre>
+     **
+     *message to include
+     * </pre>
+     */
+    public java.lang.String getMessage() {
+      java.lang.Object ref = message_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
+      } else {
+        com.google.protobuf.ByteString bs = 
+            (com.google.protobuf.ByteString) ref;
+        java.lang.String s = bs.toStringUtf8();
+        if (bs.isValidUtf8()) {
+          message_ = s;
+        }
+        return s;
+      }
+    }
+    /**
+     * <code>required string message = 1;</code>
+     *
+     * <pre>
+     **
+     *message to include
+     * </pre>
+     */
+    public com.google.protobuf.ByteString
+        getMessageBytes() {
+      java.lang.Object ref = message_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b = 
+            com.google.protobuf.ByteString.copyFromUtf8(
+                (java.lang.String) ref);
+        message_ = b;
+        return b;
+      } else {
+        return (com.google.protobuf.ByteString) ref;
+      }
+    }
+
+    private void initFields() {
+      message_ = "";
+    }
+    private byte memoizedIsInitialized = -1;
+    public final boolean isInitialized() {
+      byte isInitialized = memoizedIsInitialized;
+      if (isInitialized != -1) return isInitialized == 1;
+
+      if (!hasMessage()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
+      memoizedIsInitialized = 1;
+      return true;
+    }
+
+    public void writeTo(com.google.protobuf.CodedOutputStream output)
+                        throws java.io.IOException {
+      getSerializedSize();
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        output.writeBytes(1, getMessageBytes());
+      }
+      getUnknownFields().writeTo(output);
+    }
+
+    private int memoizedSerializedSize = -1;
+    public int getSerializedSize() {
+      int size = memoizedSerializedSize;
+      if (size != -1) return size;
+
+      size = 0;
+      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(1, getMessageBytes());
+      }
+      size += getUnknownFields().getSerializedSize();
+      memoizedSerializedSize = size;
+      return size;
+    }
+
+    private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    protected java.lang.Object writeReplace()
+        throws java.io.ObjectStreamException {
+      return super.writeReplace();
+    }
+
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.slider.api.proto.Messages.StopClusterRequestProto)) {
+        return super.equals(obj);
+      }
+      org.apache.slider.api.proto.Messages.StopClusterRequestProto other = (org.apache.slider.api.proto.Messages.StopClusterRequestProto) obj;
+
+      boolean result = true;
+      result = result && (hasMessage() == other.hasMessage());
+      if (hasMessage()) {
+        result = result && getMessage()
+            .equals(other.getMessage());
+      }
+      result = result &&
+          getUnknownFields().equals(other.getUnknownFields());
+      return result;
+    }
+
+    private int memoizedHashCode = 0;
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      if (hasMessage()) {
+        hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
+        hash = (53 * hash) + getMessage().hashCode();
+      }
+      hash = (29 * hash) + getUnknownFields().hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
+    public static org.apache.slider.api.proto.Messages.StopClusterRequestProto parseFrom(
+        com.google.protobuf.ByteString data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.slider.api.proto.Messages.StopClusterRequestProto parseFrom(
+        com.google.protobuf.ByteString data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.slider.api.proto.Messages.StopClusterRequestProto parseFrom(byte[] data)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data);
+    }
+    public static org.apache.slider.api.proto.Messages.StopClusterRequestProto parseFrom(
+        byte[] data,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
+      return PARSER.parseFrom(data, extensionRegistry);
+    }
+    public static org.apache.slider.api.proto.Messages.StopClusterRequestProto parseFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.slider.api.proto.Messages.StopClusterRequestProto parseFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+    public static org.apache.slider.api.proto.Messages.StopClusterRequestProto parseDelimitedFrom(java.io.InputStream input)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input);
+    }
+    public static org.apache.slider.api.proto.Messages.StopClusterRequestProto parseDelimitedFrom(
+        java.io.InputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+    }
+    public static org.apache.slider.api.proto.Messages.StopClusterRequestProto parseFrom(
+        com.google.protobuf.CodedInputStream input)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input);
+    }
+    public static org.apache.slider.api.proto.Messages.StopClusterRequestProto parseFrom(
+        com.google.protobuf.CodedInputStream input,
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws java.io.IOException {
+      return PARSER.parseFrom(input, extensionRegistry);
+    }
+
+    public static Builder newBuilder() { return Builder.create(); }
+    public Builder newBuilderForType() { return newBuilder(); }
+    public static Builder newBuilder(org.apache.slider.api.proto.Messages.StopClusterRequestProto prototype) {
+      return newBuilder().mergeFrom(prototype);
+    }
+    public Builder toBuilder() { return newBuilder(this); }
+
+    @java.lang.Override
+    protected Builder newBuilderForType(
+        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+      Builder builder = new Builder(parent);
+      return builder;
+    }
+    /**
+     * Protobuf type {@code org.apache.slider.api.StopClusterRequestProto}
+     *
+     * <pre>
+     **
+     * stop the cluster
+     * </pre>
+     */
+    public static final class Builder extends
+        com.google.protobuf.GeneratedMessage.Builder<Builder>
+       implements org.apache.slider.api.proto.Messages.StopClusterRequestProtoOrBuilder {
+      public static final com.google.protobuf.Descriptors.Descriptor
+          getDescriptor() {
+        return org.apache.slider.api.proto.Messages.internal_static_org_apache_slider_api_StopClusterRequestProto_descriptor;
+      }
+
+      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+          internalGetFieldAccessorTable() {
+        return org.apache.slider.api.proto.Messages.internal_static_org_apache_slider_api_StopClusterRequestProto_fieldAccessorTable
+            .ensureFieldAccessorsInitialized(
+                org.apache.slider.api.proto.Messages.StopClusterRequestProto.class, org.apache.slider.api.proto.Messages.StopClusterRequestProto.Builder.class);
+      }
+
+      // Construct using org.apache.slider.api.proto.Messages.StopClusterRequestProto.newBuilder()
+      private Builder() {
+        maybeForceBuilderInitialization();
+      }
+
+      private Builder(
+          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        super(parent);
+        maybeForceBuilderInitialization();
+      }
+      private void maybeForceBuilderInitialization() {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        }
+      }
+      private static Builder create() {
+        return new Builder();
+      }
+
+      public Builder clear() {
+        super.clear();
+        message_ = "";
+        bitField0_ = (bitField0_ & ~0x00000001);
+        return this;
+      }
+
+      public Builder clone() {
+        return create().mergeFrom(buildPartial());
+      }
+
+      public com.google.protobuf.Descriptors.Descriptor
+          getDescriptorForType() {
+        return org.apache.slider.api.proto.Messages.internal_static_org_apache_slider_api_StopClusterRequestProto_descriptor;
+      }
+
+      public org.apache.slider.api.proto.Messages.StopClusterRequestProto getDefaultInstanceForType() {
+        return org.apache.slider.api.proto.Messages.StopClusterRequestProto.getDefaultInstance();
+      }
+
+      public org.apache.slider.api.proto.Messages.StopClusterRequestProto build() {
+        org.apache.slider.api.proto.Messages.StopClusterRequestProto result = buildPartial();
+        if (!result.isInitialized()) {
+          throw newUninitializedMessageException(result);
+        }
+        return result;
+      }
+
+      public org.apache.slider.api.proto.Messages.StopClusterRequestProto buildPartial() {
+        org.apache.slider.api.proto.Messages.StopClusterRequestProto result = new org.apache.slider.api.proto.Messages.StopClusterRequestProto(this);
+        int from_bitField0_ = bitField0_;
+        int to_bitField0_ = 0;
+        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+          to_bitField0_ |= 0x00000001;
+        }
+        result.message_ = message_;
+        result.bitField0_ = to_bitField0_;
+        onBuilt();
+        return result;
+      }
+
+      public Builder mergeFrom(com.google.protobuf.Message other) {
+        if (other instanceof org.apache.slider.api.proto.Messages.StopClusterRequestProto) {
+          return mergeFrom((org.apache.slider.api.proto.Message

<TRUNCATED>

[3/3] git commit: SLIDER-135 moved protobuf generation to an optional maven profile

Posted by bi...@apache.org.
SLIDER-135 moved protobuf generation to an optional maven profile


Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/4fe442d5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/4fe442d5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/4fe442d5

Branch: refs/heads/develop
Commit: 4fe442d540d922ade158947e93b21d2b85d00789
Parents: dd1e18b
Author: Billie Rinaldi <bi...@gmail.com>
Authored: Mon Jun 16 11:47:49 2014 -0700
Committer: Billie Rinaldi <bi...@gmail.com>
Committed: Mon Jun 16 11:47:49 2014 -0700

----------------------------------------------------------------------
 slider-core/pom.xml                             |   111 +-
 .../org/apache/slider/api/proto/Messages.java   | 13186 +++++++++++++++++
 .../slider/api/proto/SliderClusterAPI.java      |  1043 ++
 .../src/main/proto/SliderClusterMessages.proto  |     4 +
 .../src/main/proto/SliderClusterProtocol.proto  |     4 +
 5 files changed, 14277 insertions(+), 71 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/4fe442d5/slider-core/pom.xml
----------------------------------------------------------------------
diff --git a/slider-core/pom.xml b/slider-core/pom.xml
index 9ab95e8..ca09541 100644
--- a/slider-core/pom.xml
+++ b/slider-core/pom.xml
@@ -158,77 +158,6 @@
       </plugin>
 
       <plugin>
-        <groupId>org.apache.hadoop</groupId>
-        <artifactId>hadoop-maven-plugins</artifactId>
-        <version>${hadoop.version}</version>
-
-        <executions>
-          <execution>
-            <id>version-info</id>
-            <phase>generate-resources</phase>
-            <goals>
-              <goal>version-info</goal>
-            </goals>
-            <configuration>
-              <source>
-                <directory>${basedir}/src/main</directory>
-                <includes>
-                  <include>java/**/*.java</include>
-                  <include>proto/**/*.proto</include>
-                </includes>
-              </source>
-            </configuration>
-          </execution>
-          <execution>
-            <id>compile-protoc</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>protoc</goal>
-            </goals>
-            <configuration>
-              <protocVersion>${protobuf.version}</protocVersion>
-              <protocCommand>protoc</protocCommand>
-              <imports>
-                <param>${basedir}/src/main/proto</param>
-              </imports>
-              <source>
-                <directory>${basedir}/src/main/proto</directory>
-                <includes>
-                  <include>SliderClusterMessages.proto</include>
-                  <include>SliderClusterProtocol.proto</include>
-                </includes>
-              </source>
-              <output>${project.build.directory}/generated-sources/java</output>
-            </configuration>
-          </execution>
-          <!--
-                    <execution>
-                      <id>compile-test-protoc</id>
-                      <phase>generate-test-sources</phase>
-                      <goals>
-                        <goal>protoc</goal>
-                      </goals>
-                      <configuration>
-                        <protocVersion>${protobuf.version}</protocVersion>
-                        <protocCommand>${protoc.path}</protocCommand>
-                        <imports>
-                          <param>${basedir}/src/test/proto</param>
-                        </imports>
-                        <source>
-                          <directory>${basedir}/src/test/proto</directory>
-                          <includes>
-                            <include>test.proto</include>
-                            <include>test_rpc_service.proto</include>
-                          </includes>
-                        </source>
-                        <output>${project.build.directory}/generated-test-sources/java
-                        </output>
-                      </configuration>
-                    </execution>
-          -->
-        </executions>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-site-plugin</artifactId>
         <version>${maven-site-plugin.version}</version>
@@ -296,6 +225,9 @@
             <exclude>src/main/resources/webapps/static/jquery/themes-1.9.1/base/jquery-ui.css</exclude>
             <!-- jQuery jsTree (MIT license) -->
             <exclude>src/main/resources/webapps/static/jt/jquery.jstree.js</exclude>
+            <!-- protobuf generated classes -->
+            <exclude>src/main/java/org/apache/slider/api/proto/Messages.java</exclude>
+            <exclude>src/main/java/org/apache/slider/api/proto/SliderClusterAPI.java</exclude>
           </excludes>
         </configuration>
       </plugin>
@@ -580,6 +512,43 @@
 
   <profiles>
 
+    <profile>
+      <id>compile-protobuf</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.hadoop</groupId>
+            <artifactId>hadoop-maven-plugins</artifactId>
+            <version>${hadoop.version}</version>
+
+            <executions>
+              <execution>
+                <id>compile-protoc</id>
+                <phase>generate-sources</phase>
+                <goals>
+                  <goal>protoc</goal>
+                </goals>
+                <configuration>
+                  <protocVersion>${protobuf.version}</protocVersion>
+                  <protocCommand>protoc</protocCommand>
+                  <imports>
+                    <param>${basedir}/src/main/proto</param>
+                  </imports>
+                  <source>
+                    <directory>${basedir}/src/main/proto</directory>
+                    <includes>
+                      <include>SliderClusterMessages.proto</include>
+                      <include>SliderClusterProtocol.proto</include>
+                    </includes>
+                  </source>
+                  <output>${basedir}/src/main/java</output>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
 
     <!--
     a test run, currently hard-coded for stevel's secure