You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2017/04/06 17:33:26 UTC

[37/52] [partial] storm git commit: STORM-2441 Break down 'storm-core' to extract client (worker) artifacts

http://git-wip-us.apache.org/repos/asf/storm/blob/4de339a8/storm-client/src/jvm/org/apache/storm/generated/Assignment.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/Assignment.java b/storm-client/src/jvm/org/apache/storm/generated/Assignment.java
new file mode 100644
index 0000000..4c973d5
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/Assignment.java
@@ -0,0 +1,1159 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.storm.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
+public class Assignment implements org.apache.thrift.TBase<Assignment, Assignment._Fields>, java.io.Serializable, Cloneable, Comparable<Assignment> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Assignment");
+
+  private static final org.apache.thrift.protocol.TField MASTER_CODE_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("master_code_dir", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField NODE_HOST_FIELD_DESC = new org.apache.thrift.protocol.TField("node_host", org.apache.thrift.protocol.TType.MAP, (short)2);
+  private static final org.apache.thrift.protocol.TField EXECUTOR_NODE_PORT_FIELD_DESC = new org.apache.thrift.protocol.TField("executor_node_port", org.apache.thrift.protocol.TType.MAP, (short)3);
+  private static final org.apache.thrift.protocol.TField EXECUTOR_START_TIME_SECS_FIELD_DESC = new org.apache.thrift.protocol.TField("executor_start_time_secs", org.apache.thrift.protocol.TType.MAP, (short)4);
+  private static final org.apache.thrift.protocol.TField WORKER_RESOURCES_FIELD_DESC = new org.apache.thrift.protocol.TField("worker_resources", org.apache.thrift.protocol.TType.MAP, (short)5);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new AssignmentStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new AssignmentTupleSchemeFactory());
+  }
+
+  private String master_code_dir; // required
+  private Map<String,String> node_host; // optional
+  private Map<List<Long>,NodeInfo> executor_node_port; // optional
+  private Map<List<Long>,Long> executor_start_time_secs; // optional
+  private Map<NodeInfo,WorkerResources> worker_resources; // optional
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    MASTER_CODE_DIR((short)1, "master_code_dir"),
+    NODE_HOST((short)2, "node_host"),
+    EXECUTOR_NODE_PORT((short)3, "executor_node_port"),
+    EXECUTOR_START_TIME_SECS((short)4, "executor_start_time_secs"),
+    WORKER_RESOURCES((short)5, "worker_resources");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // MASTER_CODE_DIR
+          return MASTER_CODE_DIR;
+        case 2: // NODE_HOST
+          return NODE_HOST;
+        case 3: // EXECUTOR_NODE_PORT
+          return EXECUTOR_NODE_PORT;
+        case 4: // EXECUTOR_START_TIME_SECS
+          return EXECUTOR_START_TIME_SECS;
+        case 5: // WORKER_RESOURCES
+          return WORKER_RESOURCES;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final _Fields optionals[] = {_Fields.NODE_HOST,_Fields.EXECUTOR_NODE_PORT,_Fields.EXECUTOR_START_TIME_SECS,_Fields.WORKER_RESOURCES};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.MASTER_CODE_DIR, new org.apache.thrift.meta_data.FieldMetaData("master_code_dir", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.NODE_HOST, new org.apache.thrift.meta_data.FieldMetaData("node_host", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    tmpMap.put(_Fields.EXECUTOR_NODE_PORT, new org.apache.thrift.meta_data.FieldMetaData("executor_node_port", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)), 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NodeInfo.class))));
+    tmpMap.put(_Fields.EXECUTOR_START_TIME_SECS, new org.apache.thrift.meta_data.FieldMetaData("executor_start_time_secs", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+                new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)), 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
+    tmpMap.put(_Fields.WORKER_RESOURCES, new org.apache.thrift.meta_data.FieldMetaData("worker_resources", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, NodeInfo.class), 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, WorkerResources.class))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Assignment.class, metaDataMap);
+  }
+
+  public Assignment() {
+    this.node_host = new HashMap<String,String>();
+
+    this.executor_node_port = new HashMap<List<Long>,NodeInfo>();
+
+    this.executor_start_time_secs = new HashMap<List<Long>,Long>();
+
+    this.worker_resources = new HashMap<NodeInfo,WorkerResources>();
+
+  }
+
+  public Assignment(
+    String master_code_dir)
+  {
+    this();
+    this.master_code_dir = master_code_dir;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public Assignment(Assignment other) {
+    if (other.is_set_master_code_dir()) {
+      this.master_code_dir = other.master_code_dir;
+    }
+    if (other.is_set_node_host()) {
+      Map<String,String> __this__node_host = new HashMap<String,String>(other.node_host);
+      this.node_host = __this__node_host;
+    }
+    if (other.is_set_executor_node_port()) {
+      Map<List<Long>,NodeInfo> __this__executor_node_port = new HashMap<List<Long>,NodeInfo>(other.executor_node_port.size());
+      for (Map.Entry<List<Long>, NodeInfo> other_element : other.executor_node_port.entrySet()) {
+
+        List<Long> other_element_key = other_element.getKey();
+        NodeInfo other_element_value = other_element.getValue();
+
+        List<Long> __this__executor_node_port_copy_key = new ArrayList<Long>(other_element_key);
+
+        NodeInfo __this__executor_node_port_copy_value = new NodeInfo(other_element_value);
+
+        __this__executor_node_port.put(__this__executor_node_port_copy_key, __this__executor_node_port_copy_value);
+      }
+      this.executor_node_port = __this__executor_node_port;
+    }
+    if (other.is_set_executor_start_time_secs()) {
+      Map<List<Long>,Long> __this__executor_start_time_secs = new HashMap<List<Long>,Long>(other.executor_start_time_secs.size());
+      for (Map.Entry<List<Long>, Long> other_element : other.executor_start_time_secs.entrySet()) {
+
+        List<Long> other_element_key = other_element.getKey();
+        Long other_element_value = other_element.getValue();
+
+        List<Long> __this__executor_start_time_secs_copy_key = new ArrayList<Long>(other_element_key);
+
+        Long __this__executor_start_time_secs_copy_value = other_element_value;
+
+        __this__executor_start_time_secs.put(__this__executor_start_time_secs_copy_key, __this__executor_start_time_secs_copy_value);
+      }
+      this.executor_start_time_secs = __this__executor_start_time_secs;
+    }
+    if (other.is_set_worker_resources()) {
+      Map<NodeInfo,WorkerResources> __this__worker_resources = new HashMap<NodeInfo,WorkerResources>(other.worker_resources.size());
+      for (Map.Entry<NodeInfo, WorkerResources> other_element : other.worker_resources.entrySet()) {
+
+        NodeInfo other_element_key = other_element.getKey();
+        WorkerResources other_element_value = other_element.getValue();
+
+        NodeInfo __this__worker_resources_copy_key = new NodeInfo(other_element_key);
+
+        WorkerResources __this__worker_resources_copy_value = new WorkerResources(other_element_value);
+
+        __this__worker_resources.put(__this__worker_resources_copy_key, __this__worker_resources_copy_value);
+      }
+      this.worker_resources = __this__worker_resources;
+    }
+  }
+
+  public Assignment deepCopy() {
+    return new Assignment(this);
+  }
+
+  @Override
+  public void clear() {
+    this.master_code_dir = null;
+    this.node_host = new HashMap<String,String>();
+
+    this.executor_node_port = new HashMap<List<Long>,NodeInfo>();
+
+    this.executor_start_time_secs = new HashMap<List<Long>,Long>();
+
+    this.worker_resources = new HashMap<NodeInfo,WorkerResources>();
+
+  }
+
+  public String get_master_code_dir() {
+    return this.master_code_dir;
+  }
+
+  public void set_master_code_dir(String master_code_dir) {
+    this.master_code_dir = master_code_dir;
+  }
+
+  public void unset_master_code_dir() {
+    this.master_code_dir = null;
+  }
+
+  /** Returns true if field master_code_dir is set (has been assigned a value) and false otherwise */
+  public boolean is_set_master_code_dir() {
+    return this.master_code_dir != null;
+  }
+
+  public void set_master_code_dir_isSet(boolean value) {
+    if (!value) {
+      this.master_code_dir = null;
+    }
+  }
+
+  public int get_node_host_size() {
+    return (this.node_host == null) ? 0 : this.node_host.size();
+  }
+
+  public void put_to_node_host(String key, String val) {
+    if (this.node_host == null) {
+      this.node_host = new HashMap<String,String>();
+    }
+    this.node_host.put(key, val);
+  }
+
+  public Map<String,String> get_node_host() {
+    return this.node_host;
+  }
+
+  public void set_node_host(Map<String,String> node_host) {
+    this.node_host = node_host;
+  }
+
+  public void unset_node_host() {
+    this.node_host = null;
+  }
+
+  /** Returns true if field node_host is set (has been assigned a value) and false otherwise */
+  public boolean is_set_node_host() {
+    return this.node_host != null;
+  }
+
+  public void set_node_host_isSet(boolean value) {
+    if (!value) {
+      this.node_host = null;
+    }
+  }
+
+  public int get_executor_node_port_size() {
+    return (this.executor_node_port == null) ? 0 : this.executor_node_port.size();
+  }
+
+  public void put_to_executor_node_port(List<Long> key, NodeInfo val) {
+    if (this.executor_node_port == null) {
+      this.executor_node_port = new HashMap<List<Long>,NodeInfo>();
+    }
+    this.executor_node_port.put(key, val);
+  }
+
+  public Map<List<Long>,NodeInfo> get_executor_node_port() {
+    return this.executor_node_port;
+  }
+
+  public void set_executor_node_port(Map<List<Long>,NodeInfo> executor_node_port) {
+    this.executor_node_port = executor_node_port;
+  }
+
+  public void unset_executor_node_port() {
+    this.executor_node_port = null;
+  }
+
+  /** Returns true if field executor_node_port is set (has been assigned a value) and false otherwise */
+  public boolean is_set_executor_node_port() {
+    return this.executor_node_port != null;
+  }
+
+  public void set_executor_node_port_isSet(boolean value) {
+    if (!value) {
+      this.executor_node_port = null;
+    }
+  }
+
+  public int get_executor_start_time_secs_size() {
+    return (this.executor_start_time_secs == null) ? 0 : this.executor_start_time_secs.size();
+  }
+
+  public void put_to_executor_start_time_secs(List<Long> key, long val) {
+    if (this.executor_start_time_secs == null) {
+      this.executor_start_time_secs = new HashMap<List<Long>,Long>();
+    }
+    this.executor_start_time_secs.put(key, val);
+  }
+
+  public Map<List<Long>,Long> get_executor_start_time_secs() {
+    return this.executor_start_time_secs;
+  }
+
+  public void set_executor_start_time_secs(Map<List<Long>,Long> executor_start_time_secs) {
+    this.executor_start_time_secs = executor_start_time_secs;
+  }
+
+  public void unset_executor_start_time_secs() {
+    this.executor_start_time_secs = null;
+  }
+
+  /** Returns true if field executor_start_time_secs is set (has been assigned a value) and false otherwise */
+  public boolean is_set_executor_start_time_secs() {
+    return this.executor_start_time_secs != null;
+  }
+
+  public void set_executor_start_time_secs_isSet(boolean value) {
+    if (!value) {
+      this.executor_start_time_secs = null;
+    }
+  }
+
+  public int get_worker_resources_size() {
+    return (this.worker_resources == null) ? 0 : this.worker_resources.size();
+  }
+
+  public void put_to_worker_resources(NodeInfo key, WorkerResources val) {
+    if (this.worker_resources == null) {
+      this.worker_resources = new HashMap<NodeInfo,WorkerResources>();
+    }
+    this.worker_resources.put(key, val);
+  }
+
+  public Map<NodeInfo,WorkerResources> get_worker_resources() {
+    return this.worker_resources;
+  }
+
+  public void set_worker_resources(Map<NodeInfo,WorkerResources> worker_resources) {
+    this.worker_resources = worker_resources;
+  }
+
+  public void unset_worker_resources() {
+    this.worker_resources = null;
+  }
+
+  /** Returns true if field worker_resources is set (has been assigned a value) and false otherwise */
+  public boolean is_set_worker_resources() {
+    return this.worker_resources != null;
+  }
+
+  public void set_worker_resources_isSet(boolean value) {
+    if (!value) {
+      this.worker_resources = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case MASTER_CODE_DIR:
+      if (value == null) {
+        unset_master_code_dir();
+      } else {
+        set_master_code_dir((String)value);
+      }
+      break;
+
+    case NODE_HOST:
+      if (value == null) {
+        unset_node_host();
+      } else {
+        set_node_host((Map<String,String>)value);
+      }
+      break;
+
+    case EXECUTOR_NODE_PORT:
+      if (value == null) {
+        unset_executor_node_port();
+      } else {
+        set_executor_node_port((Map<List<Long>,NodeInfo>)value);
+      }
+      break;
+
+    case EXECUTOR_START_TIME_SECS:
+      if (value == null) {
+        unset_executor_start_time_secs();
+      } else {
+        set_executor_start_time_secs((Map<List<Long>,Long>)value);
+      }
+      break;
+
+    case WORKER_RESOURCES:
+      if (value == null) {
+        unset_worker_resources();
+      } else {
+        set_worker_resources((Map<NodeInfo,WorkerResources>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case MASTER_CODE_DIR:
+      return get_master_code_dir();
+
+    case NODE_HOST:
+      return get_node_host();
+
+    case EXECUTOR_NODE_PORT:
+      return get_executor_node_port();
+
+    case EXECUTOR_START_TIME_SECS:
+      return get_executor_start_time_secs();
+
+    case WORKER_RESOURCES:
+      return get_worker_resources();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case MASTER_CODE_DIR:
+      return is_set_master_code_dir();
+    case NODE_HOST:
+      return is_set_node_host();
+    case EXECUTOR_NODE_PORT:
+      return is_set_executor_node_port();
+    case EXECUTOR_START_TIME_SECS:
+      return is_set_executor_start_time_secs();
+    case WORKER_RESOURCES:
+      return is_set_worker_resources();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof Assignment)
+      return this.equals((Assignment)that);
+    return false;
+  }
+
+  public boolean equals(Assignment that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_master_code_dir = true && this.is_set_master_code_dir();
+    boolean that_present_master_code_dir = true && that.is_set_master_code_dir();
+    if (this_present_master_code_dir || that_present_master_code_dir) {
+      if (!(this_present_master_code_dir && that_present_master_code_dir))
+        return false;
+      if (!this.master_code_dir.equals(that.master_code_dir))
+        return false;
+    }
+
+    boolean this_present_node_host = true && this.is_set_node_host();
+    boolean that_present_node_host = true && that.is_set_node_host();
+    if (this_present_node_host || that_present_node_host) {
+      if (!(this_present_node_host && that_present_node_host))
+        return false;
+      if (!this.node_host.equals(that.node_host))
+        return false;
+    }
+
+    boolean this_present_executor_node_port = true && this.is_set_executor_node_port();
+    boolean that_present_executor_node_port = true && that.is_set_executor_node_port();
+    if (this_present_executor_node_port || that_present_executor_node_port) {
+      if (!(this_present_executor_node_port && that_present_executor_node_port))
+        return false;
+      if (!this.executor_node_port.equals(that.executor_node_port))
+        return false;
+    }
+
+    boolean this_present_executor_start_time_secs = true && this.is_set_executor_start_time_secs();
+    boolean that_present_executor_start_time_secs = true && that.is_set_executor_start_time_secs();
+    if (this_present_executor_start_time_secs || that_present_executor_start_time_secs) {
+      if (!(this_present_executor_start_time_secs && that_present_executor_start_time_secs))
+        return false;
+      if (!this.executor_start_time_secs.equals(that.executor_start_time_secs))
+        return false;
+    }
+
+    boolean this_present_worker_resources = true && this.is_set_worker_resources();
+    boolean that_present_worker_resources = true && that.is_set_worker_resources();
+    if (this_present_worker_resources || that_present_worker_resources) {
+      if (!(this_present_worker_resources && that_present_worker_resources))
+        return false;
+      if (!this.worker_resources.equals(that.worker_resources))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_master_code_dir = true && (is_set_master_code_dir());
+    list.add(present_master_code_dir);
+    if (present_master_code_dir)
+      list.add(master_code_dir);
+
+    boolean present_node_host = true && (is_set_node_host());
+    list.add(present_node_host);
+    if (present_node_host)
+      list.add(node_host);
+
+    boolean present_executor_node_port = true && (is_set_executor_node_port());
+    list.add(present_executor_node_port);
+    if (present_executor_node_port)
+      list.add(executor_node_port);
+
+    boolean present_executor_start_time_secs = true && (is_set_executor_start_time_secs());
+    list.add(present_executor_start_time_secs);
+    if (present_executor_start_time_secs)
+      list.add(executor_start_time_secs);
+
+    boolean present_worker_resources = true && (is_set_worker_resources());
+    list.add(present_worker_resources);
+    if (present_worker_resources)
+      list.add(worker_resources);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(Assignment other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_master_code_dir()).compareTo(other.is_set_master_code_dir());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_master_code_dir()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.master_code_dir, other.master_code_dir);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_node_host()).compareTo(other.is_set_node_host());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_node_host()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.node_host, other.node_host);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_executor_node_port()).compareTo(other.is_set_executor_node_port());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_executor_node_port()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executor_node_port, other.executor_node_port);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_executor_start_time_secs()).compareTo(other.is_set_executor_start_time_secs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_executor_start_time_secs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executor_start_time_secs, other.executor_start_time_secs);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_worker_resources()).compareTo(other.is_set_worker_resources());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_worker_resources()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.worker_resources, other.worker_resources);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("Assignment(");
+    boolean first = true;
+
+    sb.append("master_code_dir:");
+    if (this.master_code_dir == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.master_code_dir);
+    }
+    first = false;
+    if (is_set_node_host()) {
+      if (!first) sb.append(", ");
+      sb.append("node_host:");
+      if (this.node_host == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.node_host);
+      }
+      first = false;
+    }
+    if (is_set_executor_node_port()) {
+      if (!first) sb.append(", ");
+      sb.append("executor_node_port:");
+      if (this.executor_node_port == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.executor_node_port);
+      }
+      first = false;
+    }
+    if (is_set_executor_start_time_secs()) {
+      if (!first) sb.append(", ");
+      sb.append("executor_start_time_secs:");
+      if (this.executor_start_time_secs == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.executor_start_time_secs);
+      }
+      first = false;
+    }
+    if (is_set_worker_resources()) {
+      if (!first) sb.append(", ");
+      sb.append("worker_resources:");
+      if (this.worker_resources == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.worker_resources);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!is_set_master_code_dir()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'master_code_dir' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class AssignmentStandardSchemeFactory implements SchemeFactory {
+    public AssignmentStandardScheme getScheme() {
+      return new AssignmentStandardScheme();
+    }
+  }
+
+  private static class AssignmentStandardScheme extends StandardScheme<Assignment> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, Assignment struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // MASTER_CODE_DIR
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.master_code_dir = iprot.readString();
+              struct.set_master_code_dir_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // NODE_HOST
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map618 = iprot.readMapBegin();
+                struct.node_host = new HashMap<String,String>(2*_map618.size);
+                String _key619;
+                String _val620;
+                for (int _i621 = 0; _i621 < _map618.size; ++_i621)
+                {
+                  _key619 = iprot.readString();
+                  _val620 = iprot.readString();
+                  struct.node_host.put(_key619, _val620);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_node_host_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // EXECUTOR_NODE_PORT
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map622 = iprot.readMapBegin();
+                struct.executor_node_port = new HashMap<List<Long>,NodeInfo>(2*_map622.size);
+                List<Long> _key623;
+                NodeInfo _val624;
+                for (int _i625 = 0; _i625 < _map622.size; ++_i625)
+                {
+                  {
+                    org.apache.thrift.protocol.TList _list626 = iprot.readListBegin();
+                    _key623 = new ArrayList<Long>(_list626.size);
+                    long _elem627;
+                    for (int _i628 = 0; _i628 < _list626.size; ++_i628)
+                    {
+                      _elem627 = iprot.readI64();
+                      _key623.add(_elem627);
+                    }
+                    iprot.readListEnd();
+                  }
+                  _val624 = new NodeInfo();
+                  _val624.read(iprot);
+                  struct.executor_node_port.put(_key623, _val624);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_executor_node_port_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // EXECUTOR_START_TIME_SECS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map629 = iprot.readMapBegin();
+                struct.executor_start_time_secs = new HashMap<List<Long>,Long>(2*_map629.size);
+                List<Long> _key630;
+                long _val631;
+                for (int _i632 = 0; _i632 < _map629.size; ++_i632)
+                {
+                  {
+                    org.apache.thrift.protocol.TList _list633 = iprot.readListBegin();
+                    _key630 = new ArrayList<Long>(_list633.size);
+                    long _elem634;
+                    for (int _i635 = 0; _i635 < _list633.size; ++_i635)
+                    {
+                      _elem634 = iprot.readI64();
+                      _key630.add(_elem634);
+                    }
+                    iprot.readListEnd();
+                  }
+                  _val631 = iprot.readI64();
+                  struct.executor_start_time_secs.put(_key630, _val631);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_executor_start_time_secs_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // WORKER_RESOURCES
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map636 = iprot.readMapBegin();
+                struct.worker_resources = new HashMap<NodeInfo,WorkerResources>(2*_map636.size);
+                NodeInfo _key637;
+                WorkerResources _val638;
+                for (int _i639 = 0; _i639 < _map636.size; ++_i639)
+                {
+                  _key637 = new NodeInfo();
+                  _key637.read(iprot);
+                  _val638 = new WorkerResources();
+                  _val638.read(iprot);
+                  struct.worker_resources.put(_key637, _val638);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_worker_resources_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, Assignment struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.master_code_dir != null) {
+        oprot.writeFieldBegin(MASTER_CODE_DIR_FIELD_DESC);
+        oprot.writeString(struct.master_code_dir);
+        oprot.writeFieldEnd();
+      }
+      if (struct.node_host != null) {
+        if (struct.is_set_node_host()) {
+          oprot.writeFieldBegin(NODE_HOST_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.node_host.size()));
+            for (Map.Entry<String, String> _iter640 : struct.node_host.entrySet())
+            {
+              oprot.writeString(_iter640.getKey());
+              oprot.writeString(_iter640.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.executor_node_port != null) {
+        if (struct.is_set_executor_node_port()) {
+          oprot.writeFieldBegin(EXECUTOR_NODE_PORT_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.LIST, org.apache.thrift.protocol.TType.STRUCT, struct.executor_node_port.size()));
+            for (Map.Entry<List<Long>, NodeInfo> _iter641 : struct.executor_node_port.entrySet())
+            {
+              {
+                oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, _iter641.getKey().size()));
+                for (long _iter642 : _iter641.getKey())
+                {
+                  oprot.writeI64(_iter642);
+                }
+                oprot.writeListEnd();
+              }
+              _iter641.getValue().write(oprot);
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.executor_start_time_secs != null) {
+        if (struct.is_set_executor_start_time_secs()) {
+          oprot.writeFieldBegin(EXECUTOR_START_TIME_SECS_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.LIST, org.apache.thrift.protocol.TType.I64, struct.executor_start_time_secs.size()));
+            for (Map.Entry<List<Long>, Long> _iter643 : struct.executor_start_time_secs.entrySet())
+            {
+              {
+                oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, _iter643.getKey().size()));
+                for (long _iter644 : _iter643.getKey())
+                {
+                  oprot.writeI64(_iter644);
+                }
+                oprot.writeListEnd();
+              }
+              oprot.writeI64(_iter643.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.worker_resources != null) {
+        if (struct.is_set_worker_resources()) {
+          oprot.writeFieldBegin(WORKER_RESOURCES_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.STRUCT, struct.worker_resources.size()));
+            for (Map.Entry<NodeInfo, WorkerResources> _iter645 : struct.worker_resources.entrySet())
+            {
+              _iter645.getKey().write(oprot);
+              _iter645.getValue().write(oprot);
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class AssignmentTupleSchemeFactory implements SchemeFactory {
+    public AssignmentTupleScheme getScheme() {
+      return new AssignmentTupleScheme();
+    }
+  }
+
+  private static class AssignmentTupleScheme extends TupleScheme<Assignment> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, Assignment struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.master_code_dir);
+      BitSet optionals = new BitSet();
+      if (struct.is_set_node_host()) {
+        optionals.set(0);
+      }
+      if (struct.is_set_executor_node_port()) {
+        optionals.set(1);
+      }
+      if (struct.is_set_executor_start_time_secs()) {
+        optionals.set(2);
+      }
+      if (struct.is_set_worker_resources()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
+      if (struct.is_set_node_host()) {
+        {
+          oprot.writeI32(struct.node_host.size());
+          for (Map.Entry<String, String> _iter646 : struct.node_host.entrySet())
+          {
+            oprot.writeString(_iter646.getKey());
+            oprot.writeString(_iter646.getValue());
+          }
+        }
+      }
+      if (struct.is_set_executor_node_port()) {
+        {
+          oprot.writeI32(struct.executor_node_port.size());
+          for (Map.Entry<List<Long>, NodeInfo> _iter647 : struct.executor_node_port.entrySet())
+          {
+            {
+              oprot.writeI32(_iter647.getKey().size());
+              for (long _iter648 : _iter647.getKey())
+              {
+                oprot.writeI64(_iter648);
+              }
+            }
+            _iter647.getValue().write(oprot);
+          }
+        }
+      }
+      if (struct.is_set_executor_start_time_secs()) {
+        {
+          oprot.writeI32(struct.executor_start_time_secs.size());
+          for (Map.Entry<List<Long>, Long> _iter649 : struct.executor_start_time_secs.entrySet())
+          {
+            {
+              oprot.writeI32(_iter649.getKey().size());
+              for (long _iter650 : _iter649.getKey())
+              {
+                oprot.writeI64(_iter650);
+              }
+            }
+            oprot.writeI64(_iter649.getValue());
+          }
+        }
+      }
+      if (struct.is_set_worker_resources()) {
+        {
+          oprot.writeI32(struct.worker_resources.size());
+          for (Map.Entry<NodeInfo, WorkerResources> _iter651 : struct.worker_resources.entrySet())
+          {
+            _iter651.getKey().write(oprot);
+            _iter651.getValue().write(oprot);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, Assignment struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.master_code_dir = iprot.readString();
+      struct.set_master_code_dir_isSet(true);
+      BitSet incoming = iprot.readBitSet(4);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TMap _map652 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.node_host = new HashMap<String,String>(2*_map652.size);
+          String _key653;
+          String _val654;
+          for (int _i655 = 0; _i655 < _map652.size; ++_i655)
+          {
+            _key653 = iprot.readString();
+            _val654 = iprot.readString();
+            struct.node_host.put(_key653, _val654);
+          }
+        }
+        struct.set_node_host_isSet(true);
+      }
+      if (incoming.get(1)) {
+        {
+          org.apache.thrift.protocol.TMap _map656 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.LIST, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.executor_node_port = new HashMap<List<Long>,NodeInfo>(2*_map656.size);
+          List<Long> _key657;
+          NodeInfo _val658;
+          for (int _i659 = 0; _i659 < _map656.size; ++_i659)
+          {
+            {
+              org.apache.thrift.protocol.TList _list660 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+              _key657 = new ArrayList<Long>(_list660.size);
+              long _elem661;
+              for (int _i662 = 0; _i662 < _list660.size; ++_i662)
+              {
+                _elem661 = iprot.readI64();
+                _key657.add(_elem661);
+              }
+            }
+            _val658 = new NodeInfo();
+            _val658.read(iprot);
+            struct.executor_node_port.put(_key657, _val658);
+          }
+        }
+        struct.set_executor_node_port_isSet(true);
+      }
+      if (incoming.get(2)) {
+        {
+          org.apache.thrift.protocol.TMap _map663 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.LIST, org.apache.thrift.protocol.TType.I64, iprot.readI32());
+          struct.executor_start_time_secs = new HashMap<List<Long>,Long>(2*_map663.size);
+          List<Long> _key664;
+          long _val665;
+          for (int _i666 = 0; _i666 < _map663.size; ++_i666)
+          {
+            {
+              org.apache.thrift.protocol.TList _list667 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+              _key664 = new ArrayList<Long>(_list667.size);
+              long _elem668;
+              for (int _i669 = 0; _i669 < _list667.size; ++_i669)
+              {
+                _elem668 = iprot.readI64();
+                _key664.add(_elem668);
+              }
+            }
+            _val665 = iprot.readI64();
+            struct.executor_start_time_secs.put(_key664, _val665);
+          }
+        }
+        struct.set_executor_start_time_secs_isSet(true);
+      }
+      if (incoming.get(3)) {
+        {
+          org.apache.thrift.protocol.TMap _map670 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.worker_resources = new HashMap<NodeInfo,WorkerResources>(2*_map670.size);
+          NodeInfo _key671;
+          WorkerResources _val672;
+          for (int _i673 = 0; _i673 < _map670.size; ++_i673)
+          {
+            _key671 = new NodeInfo();
+            _key671.read(iprot);
+            _val672 = new WorkerResources();
+            _val672.read(iprot);
+            struct.worker_resources.put(_key671, _val672);
+          }
+        }
+        struct.set_worker_resources_isSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/storm/blob/4de339a8/storm-client/src/jvm/org/apache/storm/generated/AuthorizationException.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/AuthorizationException.java b/storm-client/src/jvm/org/apache/storm/generated/AuthorizationException.java
new file mode 100644
index 0000000..7358535
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/AuthorizationException.java
@@ -0,0 +1,406 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.storm.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
+public class AuthorizationException extends TException implements org.apache.thrift.TBase<AuthorizationException, AuthorizationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthorizationException> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthorizationException");
+
+  private static final org.apache.thrift.protocol.TField MSG_FIELD_DESC = new org.apache.thrift.protocol.TField("msg", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new AuthorizationExceptionStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new AuthorizationExceptionTupleSchemeFactory());
+  }
+
+  private String msg; // required
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    MSG((short)1, "msg");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // MSG
+          return MSG;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.MSG, new org.apache.thrift.meta_data.FieldMetaData("msg", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(AuthorizationException.class, metaDataMap);
+  }
+
+  public AuthorizationException() {
+  }
+
+  public AuthorizationException(
+    String msg)
+  {
+    this();
+    this.msg = msg;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public AuthorizationException(AuthorizationException other) {
+    if (other.is_set_msg()) {
+      this.msg = other.msg;
+    }
+  }
+
+  public AuthorizationException deepCopy() {
+    return new AuthorizationException(this);
+  }
+
+  @Override
+  public void clear() {
+    this.msg = null;
+  }
+
+  public String get_msg() {
+    return this.msg;
+  }
+
+  public void set_msg(String msg) {
+    this.msg = msg;
+  }
+
+  public void unset_msg() {
+    this.msg = null;
+  }
+
+  /** Returns true if field msg is set (has been assigned a value) and false otherwise */
+  public boolean is_set_msg() {
+    return this.msg != null;
+  }
+
+  public void set_msg_isSet(boolean value) {
+    if (!value) {
+      this.msg = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case MSG:
+      if (value == null) {
+        unset_msg();
+      } else {
+        set_msg((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case MSG:
+      return get_msg();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case MSG:
+      return is_set_msg();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof AuthorizationException)
+      return this.equals((AuthorizationException)that);
+    return false;
+  }
+
+  public boolean equals(AuthorizationException that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_msg = true && this.is_set_msg();
+    boolean that_present_msg = true && that.is_set_msg();
+    if (this_present_msg || that_present_msg) {
+      if (!(this_present_msg && that_present_msg))
+        return false;
+      if (!this.msg.equals(that.msg))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_msg = true && (is_set_msg());
+    list.add(present_msg);
+    if (present_msg)
+      list.add(msg);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(AuthorizationException other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_msg()).compareTo(other.is_set_msg());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_msg()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.msg, other.msg);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("AuthorizationException(");
+    boolean first = true;
+
+    sb.append("msg:");
+    if (this.msg == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.msg);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!is_set_msg()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'msg' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class AuthorizationExceptionStandardSchemeFactory implements SchemeFactory {
+    public AuthorizationExceptionStandardScheme getScheme() {
+      return new AuthorizationExceptionStandardScheme();
+    }
+  }
+
+  private static class AuthorizationExceptionStandardScheme extends StandardScheme<AuthorizationException> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, AuthorizationException struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // MSG
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.msg = iprot.readString();
+              struct.set_msg_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, AuthorizationException struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.msg != null) {
+        oprot.writeFieldBegin(MSG_FIELD_DESC);
+        oprot.writeString(struct.msg);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class AuthorizationExceptionTupleSchemeFactory implements SchemeFactory {
+    public AuthorizationExceptionTupleScheme getScheme() {
+      return new AuthorizationExceptionTupleScheme();
+    }
+  }
+
+  private static class AuthorizationExceptionTupleScheme extends TupleScheme<AuthorizationException> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, AuthorizationException struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.msg);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, AuthorizationException struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.msg = iprot.readString();
+      struct.set_msg_isSet(true);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/storm/blob/4de339a8/storm-client/src/jvm/org/apache/storm/generated/BeginDownloadResult.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/BeginDownloadResult.java b/storm-client/src/jvm/org/apache/storm/generated/BeginDownloadResult.java
new file mode 100644
index 0000000..925f00b
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/BeginDownloadResult.java
@@ -0,0 +1,608 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.storm.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
+public class BeginDownloadResult implements org.apache.thrift.TBase<BeginDownloadResult, BeginDownloadResult._Fields>, java.io.Serializable, Cloneable, Comparable<BeginDownloadResult> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BeginDownloadResult");
+
+  private static final org.apache.thrift.protocol.TField VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("version", org.apache.thrift.protocol.TType.I64, (short)1);
+  private static final org.apache.thrift.protocol.TField SESSION_FIELD_DESC = new org.apache.thrift.protocol.TField("session", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField DATA_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("data_size", org.apache.thrift.protocol.TType.I64, (short)3);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new BeginDownloadResultStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new BeginDownloadResultTupleSchemeFactory());
+  }
+
+  private long version; // required
+  private String session; // required
+  private long data_size; // optional
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    VERSION((short)1, "version"),
+    SESSION((short)2, "session"),
+    DATA_SIZE((short)3, "data_size");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // VERSION
+          return VERSION;
+        case 2: // SESSION
+          return SESSION;
+        case 3: // DATA_SIZE
+          return DATA_SIZE;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __VERSION_ISSET_ID = 0;
+  private static final int __DATA_SIZE_ISSET_ID = 1;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.DATA_SIZE};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.VERSION, new org.apache.thrift.meta_data.FieldMetaData("version", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    tmpMap.put(_Fields.SESSION, new org.apache.thrift.meta_data.FieldMetaData("session", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DATA_SIZE, new org.apache.thrift.meta_data.FieldMetaData("data_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(BeginDownloadResult.class, metaDataMap);
+  }
+
+  public BeginDownloadResult() {
+  }
+
+  public BeginDownloadResult(
+    long version,
+    String session)
+  {
+    this();
+    this.version = version;
+    set_version_isSet(true);
+    this.session = session;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public BeginDownloadResult(BeginDownloadResult other) {
+    __isset_bitfield = other.__isset_bitfield;
+    this.version = other.version;
+    if (other.is_set_session()) {
+      this.session = other.session;
+    }
+    this.data_size = other.data_size;
+  }
+
+  public BeginDownloadResult deepCopy() {
+    return new BeginDownloadResult(this);
+  }
+
+  @Override
+  public void clear() {
+    set_version_isSet(false);
+    this.version = 0;
+    this.session = null;
+    set_data_size_isSet(false);
+    this.data_size = 0;
+  }
+
+  public long get_version() {
+    return this.version;
+  }
+
+  public void set_version(long version) {
+    this.version = version;
+    set_version_isSet(true);
+  }
+
+  public void unset_version() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __VERSION_ISSET_ID);
+  }
+
+  /** Returns true if field version is set (has been assigned a value) and false otherwise */
+  public boolean is_set_version() {
+    return EncodingUtils.testBit(__isset_bitfield, __VERSION_ISSET_ID);
+  }
+
+  public void set_version_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __VERSION_ISSET_ID, value);
+  }
+
+  public String get_session() {
+    return this.session;
+  }
+
+  public void set_session(String session) {
+    this.session = session;
+  }
+
+  public void unset_session() {
+    this.session = null;
+  }
+
+  /** Returns true if field session is set (has been assigned a value) and false otherwise */
+  public boolean is_set_session() {
+    return this.session != null;
+  }
+
+  public void set_session_isSet(boolean value) {
+    if (!value) {
+      this.session = null;
+    }
+  }
+
+  public long get_data_size() {
+    return this.data_size;
+  }
+
+  public void set_data_size(long data_size) {
+    this.data_size = data_size;
+    set_data_size_isSet(true);
+  }
+
+  public void unset_data_size() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DATA_SIZE_ISSET_ID);
+  }
+
+  /** Returns true if field data_size is set (has been assigned a value) and false otherwise */
+  public boolean is_set_data_size() {
+    return EncodingUtils.testBit(__isset_bitfield, __DATA_SIZE_ISSET_ID);
+  }
+
+  public void set_data_size_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DATA_SIZE_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case VERSION:
+      if (value == null) {
+        unset_version();
+      } else {
+        set_version((Long)value);
+      }
+      break;
+
+    case SESSION:
+      if (value == null) {
+        unset_session();
+      } else {
+        set_session((String)value);
+      }
+      break;
+
+    case DATA_SIZE:
+      if (value == null) {
+        unset_data_size();
+      } else {
+        set_data_size((Long)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case VERSION:
+      return get_version();
+
+    case SESSION:
+      return get_session();
+
+    case DATA_SIZE:
+      return get_data_size();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case VERSION:
+      return is_set_version();
+    case SESSION:
+      return is_set_session();
+    case DATA_SIZE:
+      return is_set_data_size();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof BeginDownloadResult)
+      return this.equals((BeginDownloadResult)that);
+    return false;
+  }
+
+  public boolean equals(BeginDownloadResult that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_version = true;
+    boolean that_present_version = true;
+    if (this_present_version || that_present_version) {
+      if (!(this_present_version && that_present_version))
+        return false;
+      if (this.version != that.version)
+        return false;
+    }
+
+    boolean this_present_session = true && this.is_set_session();
+    boolean that_present_session = true && that.is_set_session();
+    if (this_present_session || that_present_session) {
+      if (!(this_present_session && that_present_session))
+        return false;
+      if (!this.session.equals(that.session))
+        return false;
+    }
+
+    boolean this_present_data_size = true && this.is_set_data_size();
+    boolean that_present_data_size = true && that.is_set_data_size();
+    if (this_present_data_size || that_present_data_size) {
+      if (!(this_present_data_size && that_present_data_size))
+        return false;
+      if (this.data_size != that.data_size)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_version = true;
+    list.add(present_version);
+    if (present_version)
+      list.add(version);
+
+    boolean present_session = true && (is_set_session());
+    list.add(present_session);
+    if (present_session)
+      list.add(session);
+
+    boolean present_data_size = true && (is_set_data_size());
+    list.add(present_data_size);
+    if (present_data_size)
+      list.add(data_size);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(BeginDownloadResult other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_version()).compareTo(other.is_set_version());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_version()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.version, other.version);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_session()).compareTo(other.is_set_session());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_session()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.session, other.session);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_data_size()).compareTo(other.is_set_data_size());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_data_size()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.data_size, other.data_size);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("BeginDownloadResult(");
+    boolean first = true;
+
+    sb.append("version:");
+    sb.append(this.version);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("session:");
+    if (this.session == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.session);
+    }
+    first = false;
+    if (is_set_data_size()) {
+      if (!first) sb.append(", ");
+      sb.append("data_size:");
+      sb.append(this.data_size);
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!is_set_version()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'version' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_session()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'session' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class BeginDownloadResultStandardSchemeFactory implements SchemeFactory {
+    public BeginDownloadResultStandardScheme getScheme() {
+      return new BeginDownloadResultStandardScheme();
+    }
+  }
+
+  private static class BeginDownloadResultStandardScheme extends StandardScheme<BeginDownloadResult> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, BeginDownloadResult struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // VERSION
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.version = iprot.readI64();
+              struct.set_version_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // SESSION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.session = iprot.readString();
+              struct.set_session_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // DATA_SIZE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.data_size = iprot.readI64();
+              struct.set_data_size_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, BeginDownloadResult struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldBegin(VERSION_FIELD_DESC);
+      oprot.writeI64(struct.version);
+      oprot.writeFieldEnd();
+      if (struct.session != null) {
+        oprot.writeFieldBegin(SESSION_FIELD_DESC);
+        oprot.writeString(struct.session);
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_data_size()) {
+        oprot.writeFieldBegin(DATA_SIZE_FIELD_DESC);
+        oprot.writeI64(struct.data_size);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class BeginDownloadResultTupleSchemeFactory implements SchemeFactory {
+    public BeginDownloadResultTupleScheme getScheme() {
+      return new BeginDownloadResultTupleScheme();
+    }
+  }
+
+  private static class BeginDownloadResultTupleScheme extends TupleScheme<BeginDownloadResult> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, BeginDownloadResult struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeI64(struct.version);
+      oprot.writeString(struct.session);
+      BitSet optionals = new BitSet();
+      if (struct.is_set_data_size()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.is_set_data_size()) {
+        oprot.writeI64(struct.data_size);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, BeginDownloadResult struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.version = iprot.readI64();
+      struct.set_version_isSet(true);
+      struct.session = iprot.readString();
+      struct.set_session_isSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.data_size = iprot.readI64();
+        struct.set_data_size_isSet(true);
+      }
+    }
+  }
+
+}
+