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:02 UTC

[13/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/StormTopology.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/StormTopology.java b/storm-client/src/jvm/org/apache/storm/generated/StormTopology.java
new file mode 100644
index 0000000..caec6c6
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/StormTopology.java
@@ -0,0 +1,1272 @@
+/**
+ * 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 StormTopology implements org.apache.thrift.TBase<StormTopology, StormTopology._Fields>, java.io.Serializable, Cloneable, Comparable<StormTopology> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StormTopology");
+
+  private static final org.apache.thrift.protocol.TField SPOUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("spouts", org.apache.thrift.protocol.TType.MAP, (short)1);
+  private static final org.apache.thrift.protocol.TField BOLTS_FIELD_DESC = new org.apache.thrift.protocol.TField("bolts", org.apache.thrift.protocol.TType.MAP, (short)2);
+  private static final org.apache.thrift.protocol.TField STATE_SPOUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("state_spouts", org.apache.thrift.protocol.TType.MAP, (short)3);
+  private static final org.apache.thrift.protocol.TField WORKER_HOOKS_FIELD_DESC = new org.apache.thrift.protocol.TField("worker_hooks", org.apache.thrift.protocol.TType.LIST, (short)4);
+  private static final org.apache.thrift.protocol.TField DEPENDENCY_JARS_FIELD_DESC = new org.apache.thrift.protocol.TField("dependency_jars", org.apache.thrift.protocol.TType.LIST, (short)5);
+  private static final org.apache.thrift.protocol.TField DEPENDENCY_ARTIFACTS_FIELD_DESC = new org.apache.thrift.protocol.TField("dependency_artifacts", org.apache.thrift.protocol.TType.LIST, (short)6);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new StormTopologyStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new StormTopologyTupleSchemeFactory());
+  }
+
+  private Map<String,SpoutSpec> spouts; // required
+  private Map<String,Bolt> bolts; // required
+  private Map<String,StateSpoutSpec> state_spouts; // required
+  private List<ByteBuffer> worker_hooks; // optional
+  private List<String> dependency_jars; // optional
+  private List<String> dependency_artifacts; // 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 {
+    SPOUTS((short)1, "spouts"),
+    BOLTS((short)2, "bolts"),
+    STATE_SPOUTS((short)3, "state_spouts"),
+    WORKER_HOOKS((short)4, "worker_hooks"),
+    DEPENDENCY_JARS((short)5, "dependency_jars"),
+    DEPENDENCY_ARTIFACTS((short)6, "dependency_artifacts");
+
+    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: // SPOUTS
+          return SPOUTS;
+        case 2: // BOLTS
+          return BOLTS;
+        case 3: // STATE_SPOUTS
+          return STATE_SPOUTS;
+        case 4: // WORKER_HOOKS
+          return WORKER_HOOKS;
+        case 5: // DEPENDENCY_JARS
+          return DEPENDENCY_JARS;
+        case 6: // DEPENDENCY_ARTIFACTS
+          return DEPENDENCY_ARTIFACTS;
+        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.WORKER_HOOKS,_Fields.DEPENDENCY_JARS,_Fields.DEPENDENCY_ARTIFACTS};
+  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.SPOUTS, new org.apache.thrift.meta_data.FieldMetaData("spouts", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        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.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SpoutSpec.class))));
+    tmpMap.put(_Fields.BOLTS, new org.apache.thrift.meta_data.FieldMetaData("bolts", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        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.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Bolt.class))));
+    tmpMap.put(_Fields.STATE_SPOUTS, new org.apache.thrift.meta_data.FieldMetaData("state_spouts", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        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.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, StateSpoutSpec.class))));
+    tmpMap.put(_Fields.WORKER_HOOKS, new org.apache.thrift.meta_data.FieldMetaData("worker_hooks", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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.STRING            , true))));
+    tmpMap.put(_Fields.DEPENDENCY_JARS, new org.apache.thrift.meta_data.FieldMetaData("dependency_jars", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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.STRING))));
+    tmpMap.put(_Fields.DEPENDENCY_ARTIFACTS, new org.apache.thrift.meta_data.FieldMetaData("dependency_artifacts", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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.STRING))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(StormTopology.class, metaDataMap);
+  }
+
+  public StormTopology() {
+  }
+
+  public StormTopology(
+    Map<String,SpoutSpec> spouts,
+    Map<String,Bolt> bolts,
+    Map<String,StateSpoutSpec> state_spouts)
+  {
+    this();
+    this.spouts = spouts;
+    this.bolts = bolts;
+    this.state_spouts = state_spouts;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public StormTopology(StormTopology other) {
+    if (other.is_set_spouts()) {
+      Map<String,SpoutSpec> __this__spouts = new HashMap<String,SpoutSpec>(other.spouts.size());
+      for (Map.Entry<String, SpoutSpec> other_element : other.spouts.entrySet()) {
+
+        String other_element_key = other_element.getKey();
+        SpoutSpec other_element_value = other_element.getValue();
+
+        String __this__spouts_copy_key = other_element_key;
+
+        SpoutSpec __this__spouts_copy_value = new SpoutSpec(other_element_value);
+
+        __this__spouts.put(__this__spouts_copy_key, __this__spouts_copy_value);
+      }
+      this.spouts = __this__spouts;
+    }
+    if (other.is_set_bolts()) {
+      Map<String,Bolt> __this__bolts = new HashMap<String,Bolt>(other.bolts.size());
+      for (Map.Entry<String, Bolt> other_element : other.bolts.entrySet()) {
+
+        String other_element_key = other_element.getKey();
+        Bolt other_element_value = other_element.getValue();
+
+        String __this__bolts_copy_key = other_element_key;
+
+        Bolt __this__bolts_copy_value = new Bolt(other_element_value);
+
+        __this__bolts.put(__this__bolts_copy_key, __this__bolts_copy_value);
+      }
+      this.bolts = __this__bolts;
+    }
+    if (other.is_set_state_spouts()) {
+      Map<String,StateSpoutSpec> __this__state_spouts = new HashMap<String,StateSpoutSpec>(other.state_spouts.size());
+      for (Map.Entry<String, StateSpoutSpec> other_element : other.state_spouts.entrySet()) {
+
+        String other_element_key = other_element.getKey();
+        StateSpoutSpec other_element_value = other_element.getValue();
+
+        String __this__state_spouts_copy_key = other_element_key;
+
+        StateSpoutSpec __this__state_spouts_copy_value = new StateSpoutSpec(other_element_value);
+
+        __this__state_spouts.put(__this__state_spouts_copy_key, __this__state_spouts_copy_value);
+      }
+      this.state_spouts = __this__state_spouts;
+    }
+    if (other.is_set_worker_hooks()) {
+      List<ByteBuffer> __this__worker_hooks = new ArrayList<ByteBuffer>(other.worker_hooks);
+      this.worker_hooks = __this__worker_hooks;
+    }
+    if (other.is_set_dependency_jars()) {
+      List<String> __this__dependency_jars = new ArrayList<String>(other.dependency_jars);
+      this.dependency_jars = __this__dependency_jars;
+    }
+    if (other.is_set_dependency_artifacts()) {
+      List<String> __this__dependency_artifacts = new ArrayList<String>(other.dependency_artifacts);
+      this.dependency_artifacts = __this__dependency_artifacts;
+    }
+  }
+
+  public StormTopology deepCopy() {
+    return new StormTopology(this);
+  }
+
+  @Override
+  public void clear() {
+    this.spouts = null;
+    this.bolts = null;
+    this.state_spouts = null;
+    this.worker_hooks = null;
+    this.dependency_jars = null;
+    this.dependency_artifacts = null;
+  }
+
+  public int get_spouts_size() {
+    return (this.spouts == null) ? 0 : this.spouts.size();
+  }
+
+  public void put_to_spouts(String key, SpoutSpec val) {
+    if (this.spouts == null) {
+      this.spouts = new HashMap<String,SpoutSpec>();
+    }
+    this.spouts.put(key, val);
+  }
+
+  public Map<String,SpoutSpec> get_spouts() {
+    return this.spouts;
+  }
+
+  public void set_spouts(Map<String,SpoutSpec> spouts) {
+    this.spouts = spouts;
+  }
+
+  public void unset_spouts() {
+    this.spouts = null;
+  }
+
+  /** Returns true if field spouts is set (has been assigned a value) and false otherwise */
+  public boolean is_set_spouts() {
+    return this.spouts != null;
+  }
+
+  public void set_spouts_isSet(boolean value) {
+    if (!value) {
+      this.spouts = null;
+    }
+  }
+
+  public int get_bolts_size() {
+    return (this.bolts == null) ? 0 : this.bolts.size();
+  }
+
+  public void put_to_bolts(String key, Bolt val) {
+    if (this.bolts == null) {
+      this.bolts = new HashMap<String,Bolt>();
+    }
+    this.bolts.put(key, val);
+  }
+
+  public Map<String,Bolt> get_bolts() {
+    return this.bolts;
+  }
+
+  public void set_bolts(Map<String,Bolt> bolts) {
+    this.bolts = bolts;
+  }
+
+  public void unset_bolts() {
+    this.bolts = null;
+  }
+
+  /** Returns true if field bolts is set (has been assigned a value) and false otherwise */
+  public boolean is_set_bolts() {
+    return this.bolts != null;
+  }
+
+  public void set_bolts_isSet(boolean value) {
+    if (!value) {
+      this.bolts = null;
+    }
+  }
+
+  public int get_state_spouts_size() {
+    return (this.state_spouts == null) ? 0 : this.state_spouts.size();
+  }
+
+  public void put_to_state_spouts(String key, StateSpoutSpec val) {
+    if (this.state_spouts == null) {
+      this.state_spouts = new HashMap<String,StateSpoutSpec>();
+    }
+    this.state_spouts.put(key, val);
+  }
+
+  public Map<String,StateSpoutSpec> get_state_spouts() {
+    return this.state_spouts;
+  }
+
+  public void set_state_spouts(Map<String,StateSpoutSpec> state_spouts) {
+    this.state_spouts = state_spouts;
+  }
+
+  public void unset_state_spouts() {
+    this.state_spouts = null;
+  }
+
+  /** Returns true if field state_spouts is set (has been assigned a value) and false otherwise */
+  public boolean is_set_state_spouts() {
+    return this.state_spouts != null;
+  }
+
+  public void set_state_spouts_isSet(boolean value) {
+    if (!value) {
+      this.state_spouts = null;
+    }
+  }
+
+  public int get_worker_hooks_size() {
+    return (this.worker_hooks == null) ? 0 : this.worker_hooks.size();
+  }
+
+  public java.util.Iterator<ByteBuffer> get_worker_hooks_iterator() {
+    return (this.worker_hooks == null) ? null : this.worker_hooks.iterator();
+  }
+
+  public void add_to_worker_hooks(ByteBuffer elem) {
+    if (this.worker_hooks == null) {
+      this.worker_hooks = new ArrayList<ByteBuffer>();
+    }
+    this.worker_hooks.add(elem);
+  }
+
+  public List<ByteBuffer> get_worker_hooks() {
+    return this.worker_hooks;
+  }
+
+  public void set_worker_hooks(List<ByteBuffer> worker_hooks) {
+    this.worker_hooks = worker_hooks;
+  }
+
+  public void unset_worker_hooks() {
+    this.worker_hooks = null;
+  }
+
+  /** Returns true if field worker_hooks is set (has been assigned a value) and false otherwise */
+  public boolean is_set_worker_hooks() {
+    return this.worker_hooks != null;
+  }
+
+  public void set_worker_hooks_isSet(boolean value) {
+    if (!value) {
+      this.worker_hooks = null;
+    }
+  }
+
+  public int get_dependency_jars_size() {
+    return (this.dependency_jars == null) ? 0 : this.dependency_jars.size();
+  }
+
+  public java.util.Iterator<String> get_dependency_jars_iterator() {
+    return (this.dependency_jars == null) ? null : this.dependency_jars.iterator();
+  }
+
+  public void add_to_dependency_jars(String elem) {
+    if (this.dependency_jars == null) {
+      this.dependency_jars = new ArrayList<String>();
+    }
+    this.dependency_jars.add(elem);
+  }
+
+  public List<String> get_dependency_jars() {
+    return this.dependency_jars;
+  }
+
+  public void set_dependency_jars(List<String> dependency_jars) {
+    this.dependency_jars = dependency_jars;
+  }
+
+  public void unset_dependency_jars() {
+    this.dependency_jars = null;
+  }
+
+  /** Returns true if field dependency_jars is set (has been assigned a value) and false otherwise */
+  public boolean is_set_dependency_jars() {
+    return this.dependency_jars != null;
+  }
+
+  public void set_dependency_jars_isSet(boolean value) {
+    if (!value) {
+      this.dependency_jars = null;
+    }
+  }
+
+  public int get_dependency_artifacts_size() {
+    return (this.dependency_artifacts == null) ? 0 : this.dependency_artifacts.size();
+  }
+
+  public java.util.Iterator<String> get_dependency_artifacts_iterator() {
+    return (this.dependency_artifacts == null) ? null : this.dependency_artifacts.iterator();
+  }
+
+  public void add_to_dependency_artifacts(String elem) {
+    if (this.dependency_artifacts == null) {
+      this.dependency_artifacts = new ArrayList<String>();
+    }
+    this.dependency_artifacts.add(elem);
+  }
+
+  public List<String> get_dependency_artifacts() {
+    return this.dependency_artifacts;
+  }
+
+  public void set_dependency_artifacts(List<String> dependency_artifacts) {
+    this.dependency_artifacts = dependency_artifacts;
+  }
+
+  public void unset_dependency_artifacts() {
+    this.dependency_artifacts = null;
+  }
+
+  /** Returns true if field dependency_artifacts is set (has been assigned a value) and false otherwise */
+  public boolean is_set_dependency_artifacts() {
+    return this.dependency_artifacts != null;
+  }
+
+  public void set_dependency_artifacts_isSet(boolean value) {
+    if (!value) {
+      this.dependency_artifacts = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case SPOUTS:
+      if (value == null) {
+        unset_spouts();
+      } else {
+        set_spouts((Map<String,SpoutSpec>)value);
+      }
+      break;
+
+    case BOLTS:
+      if (value == null) {
+        unset_bolts();
+      } else {
+        set_bolts((Map<String,Bolt>)value);
+      }
+      break;
+
+    case STATE_SPOUTS:
+      if (value == null) {
+        unset_state_spouts();
+      } else {
+        set_state_spouts((Map<String,StateSpoutSpec>)value);
+      }
+      break;
+
+    case WORKER_HOOKS:
+      if (value == null) {
+        unset_worker_hooks();
+      } else {
+        set_worker_hooks((List<ByteBuffer>)value);
+      }
+      break;
+
+    case DEPENDENCY_JARS:
+      if (value == null) {
+        unset_dependency_jars();
+      } else {
+        set_dependency_jars((List<String>)value);
+      }
+      break;
+
+    case DEPENDENCY_ARTIFACTS:
+      if (value == null) {
+        unset_dependency_artifacts();
+      } else {
+        set_dependency_artifacts((List<String>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case SPOUTS:
+      return get_spouts();
+
+    case BOLTS:
+      return get_bolts();
+
+    case STATE_SPOUTS:
+      return get_state_spouts();
+
+    case WORKER_HOOKS:
+      return get_worker_hooks();
+
+    case DEPENDENCY_JARS:
+      return get_dependency_jars();
+
+    case DEPENDENCY_ARTIFACTS:
+      return get_dependency_artifacts();
+
+    }
+    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 SPOUTS:
+      return is_set_spouts();
+    case BOLTS:
+      return is_set_bolts();
+    case STATE_SPOUTS:
+      return is_set_state_spouts();
+    case WORKER_HOOKS:
+      return is_set_worker_hooks();
+    case DEPENDENCY_JARS:
+      return is_set_dependency_jars();
+    case DEPENDENCY_ARTIFACTS:
+      return is_set_dependency_artifacts();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof StormTopology)
+      return this.equals((StormTopology)that);
+    return false;
+  }
+
+  public boolean equals(StormTopology that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_spouts = true && this.is_set_spouts();
+    boolean that_present_spouts = true && that.is_set_spouts();
+    if (this_present_spouts || that_present_spouts) {
+      if (!(this_present_spouts && that_present_spouts))
+        return false;
+      if (!this.spouts.equals(that.spouts))
+        return false;
+    }
+
+    boolean this_present_bolts = true && this.is_set_bolts();
+    boolean that_present_bolts = true && that.is_set_bolts();
+    if (this_present_bolts || that_present_bolts) {
+      if (!(this_present_bolts && that_present_bolts))
+        return false;
+      if (!this.bolts.equals(that.bolts))
+        return false;
+    }
+
+    boolean this_present_state_spouts = true && this.is_set_state_spouts();
+    boolean that_present_state_spouts = true && that.is_set_state_spouts();
+    if (this_present_state_spouts || that_present_state_spouts) {
+      if (!(this_present_state_spouts && that_present_state_spouts))
+        return false;
+      if (!this.state_spouts.equals(that.state_spouts))
+        return false;
+    }
+
+    boolean this_present_worker_hooks = true && this.is_set_worker_hooks();
+    boolean that_present_worker_hooks = true && that.is_set_worker_hooks();
+    if (this_present_worker_hooks || that_present_worker_hooks) {
+      if (!(this_present_worker_hooks && that_present_worker_hooks))
+        return false;
+      if (!this.worker_hooks.equals(that.worker_hooks))
+        return false;
+    }
+
+    boolean this_present_dependency_jars = true && this.is_set_dependency_jars();
+    boolean that_present_dependency_jars = true && that.is_set_dependency_jars();
+    if (this_present_dependency_jars || that_present_dependency_jars) {
+      if (!(this_present_dependency_jars && that_present_dependency_jars))
+        return false;
+      if (!this.dependency_jars.equals(that.dependency_jars))
+        return false;
+    }
+
+    boolean this_present_dependency_artifacts = true && this.is_set_dependency_artifacts();
+    boolean that_present_dependency_artifacts = true && that.is_set_dependency_artifacts();
+    if (this_present_dependency_artifacts || that_present_dependency_artifacts) {
+      if (!(this_present_dependency_artifacts && that_present_dependency_artifacts))
+        return false;
+      if (!this.dependency_artifacts.equals(that.dependency_artifacts))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_spouts = true && (is_set_spouts());
+    list.add(present_spouts);
+    if (present_spouts)
+      list.add(spouts);
+
+    boolean present_bolts = true && (is_set_bolts());
+    list.add(present_bolts);
+    if (present_bolts)
+      list.add(bolts);
+
+    boolean present_state_spouts = true && (is_set_state_spouts());
+    list.add(present_state_spouts);
+    if (present_state_spouts)
+      list.add(state_spouts);
+
+    boolean present_worker_hooks = true && (is_set_worker_hooks());
+    list.add(present_worker_hooks);
+    if (present_worker_hooks)
+      list.add(worker_hooks);
+
+    boolean present_dependency_jars = true && (is_set_dependency_jars());
+    list.add(present_dependency_jars);
+    if (present_dependency_jars)
+      list.add(dependency_jars);
+
+    boolean present_dependency_artifacts = true && (is_set_dependency_artifacts());
+    list.add(present_dependency_artifacts);
+    if (present_dependency_artifacts)
+      list.add(dependency_artifacts);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(StormTopology other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_spouts()).compareTo(other.is_set_spouts());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_spouts()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.spouts, other.spouts);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_bolts()).compareTo(other.is_set_bolts());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_bolts()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.bolts, other.bolts);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_state_spouts()).compareTo(other.is_set_state_spouts());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_state_spouts()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state_spouts, other.state_spouts);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_worker_hooks()).compareTo(other.is_set_worker_hooks());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_worker_hooks()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.worker_hooks, other.worker_hooks);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_dependency_jars()).compareTo(other.is_set_dependency_jars());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_dependency_jars()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dependency_jars, other.dependency_jars);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_dependency_artifacts()).compareTo(other.is_set_dependency_artifacts());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_dependency_artifacts()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dependency_artifacts, other.dependency_artifacts);
+      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("StormTopology(");
+    boolean first = true;
+
+    sb.append("spouts:");
+    if (this.spouts == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.spouts);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("bolts:");
+    if (this.bolts == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.bolts);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("state_spouts:");
+    if (this.state_spouts == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.state_spouts);
+    }
+    first = false;
+    if (is_set_worker_hooks()) {
+      if (!first) sb.append(", ");
+      sb.append("worker_hooks:");
+      if (this.worker_hooks == null) {
+        sb.append("null");
+      } else {
+        org.apache.thrift.TBaseHelper.toString(this.worker_hooks, sb);
+      }
+      first = false;
+    }
+    if (is_set_dependency_jars()) {
+      if (!first) sb.append(", ");
+      sb.append("dependency_jars:");
+      if (this.dependency_jars == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dependency_jars);
+      }
+      first = false;
+    }
+    if (is_set_dependency_artifacts()) {
+      if (!first) sb.append(", ");
+      sb.append("dependency_artifacts:");
+      if (this.dependency_artifacts == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dependency_artifacts);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!is_set_spouts()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'spouts' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_bolts()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'bolts' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_state_spouts()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'state_spouts' 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 StormTopologyStandardSchemeFactory implements SchemeFactory {
+    public StormTopologyStandardScheme getScheme() {
+      return new StormTopologyStandardScheme();
+    }
+  }
+
+  private static class StormTopologyStandardScheme extends StandardScheme<StormTopology> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, StormTopology 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: // SPOUTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map44 = iprot.readMapBegin();
+                struct.spouts = new HashMap<String,SpoutSpec>(2*_map44.size);
+                String _key45;
+                SpoutSpec _val46;
+                for (int _i47 = 0; _i47 < _map44.size; ++_i47)
+                {
+                  _key45 = iprot.readString();
+                  _val46 = new SpoutSpec();
+                  _val46.read(iprot);
+                  struct.spouts.put(_key45, _val46);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_spouts_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // BOLTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map48 = iprot.readMapBegin();
+                struct.bolts = new HashMap<String,Bolt>(2*_map48.size);
+                String _key49;
+                Bolt _val50;
+                for (int _i51 = 0; _i51 < _map48.size; ++_i51)
+                {
+                  _key49 = iprot.readString();
+                  _val50 = new Bolt();
+                  _val50.read(iprot);
+                  struct.bolts.put(_key49, _val50);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_bolts_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // STATE_SPOUTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map52 = iprot.readMapBegin();
+                struct.state_spouts = new HashMap<String,StateSpoutSpec>(2*_map52.size);
+                String _key53;
+                StateSpoutSpec _val54;
+                for (int _i55 = 0; _i55 < _map52.size; ++_i55)
+                {
+                  _key53 = iprot.readString();
+                  _val54 = new StateSpoutSpec();
+                  _val54.read(iprot);
+                  struct.state_spouts.put(_key53, _val54);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_state_spouts_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // WORKER_HOOKS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list56 = iprot.readListBegin();
+                struct.worker_hooks = new ArrayList<ByteBuffer>(_list56.size);
+                ByteBuffer _elem57;
+                for (int _i58 = 0; _i58 < _list56.size; ++_i58)
+                {
+                  _elem57 = iprot.readBinary();
+                  struct.worker_hooks.add(_elem57);
+                }
+                iprot.readListEnd();
+              }
+              struct.set_worker_hooks_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // DEPENDENCY_JARS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list59 = iprot.readListBegin();
+                struct.dependency_jars = new ArrayList<String>(_list59.size);
+                String _elem60;
+                for (int _i61 = 0; _i61 < _list59.size; ++_i61)
+                {
+                  _elem60 = iprot.readString();
+                  struct.dependency_jars.add(_elem60);
+                }
+                iprot.readListEnd();
+              }
+              struct.set_dependency_jars_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // DEPENDENCY_ARTIFACTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list62 = iprot.readListBegin();
+                struct.dependency_artifacts = new ArrayList<String>(_list62.size);
+                String _elem63;
+                for (int _i64 = 0; _i64 < _list62.size; ++_i64)
+                {
+                  _elem63 = iprot.readString();
+                  struct.dependency_artifacts.add(_elem63);
+                }
+                iprot.readListEnd();
+              }
+              struct.set_dependency_artifacts_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, StormTopology struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.spouts != null) {
+        oprot.writeFieldBegin(SPOUTS_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.spouts.size()));
+          for (Map.Entry<String, SpoutSpec> _iter65 : struct.spouts.entrySet())
+          {
+            oprot.writeString(_iter65.getKey());
+            _iter65.getValue().write(oprot);
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.bolts != null) {
+        oprot.writeFieldBegin(BOLTS_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.bolts.size()));
+          for (Map.Entry<String, Bolt> _iter66 : struct.bolts.entrySet())
+          {
+            oprot.writeString(_iter66.getKey());
+            _iter66.getValue().write(oprot);
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.state_spouts != null) {
+        oprot.writeFieldBegin(STATE_SPOUTS_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.state_spouts.size()));
+          for (Map.Entry<String, StateSpoutSpec> _iter67 : struct.state_spouts.entrySet())
+          {
+            oprot.writeString(_iter67.getKey());
+            _iter67.getValue().write(oprot);
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.worker_hooks != null) {
+        if (struct.is_set_worker_hooks()) {
+          oprot.writeFieldBegin(WORKER_HOOKS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.worker_hooks.size()));
+            for (ByteBuffer _iter68 : struct.worker_hooks)
+            {
+              oprot.writeBinary(_iter68);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.dependency_jars != null) {
+        if (struct.is_set_dependency_jars()) {
+          oprot.writeFieldBegin(DEPENDENCY_JARS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.dependency_jars.size()));
+            for (String _iter69 : struct.dependency_jars)
+            {
+              oprot.writeString(_iter69);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.dependency_artifacts != null) {
+        if (struct.is_set_dependency_artifacts()) {
+          oprot.writeFieldBegin(DEPENDENCY_ARTIFACTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.dependency_artifacts.size()));
+            for (String _iter70 : struct.dependency_artifacts)
+            {
+              oprot.writeString(_iter70);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class StormTopologyTupleSchemeFactory implements SchemeFactory {
+    public StormTopologyTupleScheme getScheme() {
+      return new StormTopologyTupleScheme();
+    }
+  }
+
+  private static class StormTopologyTupleScheme extends TupleScheme<StormTopology> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, StormTopology struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      {
+        oprot.writeI32(struct.spouts.size());
+        for (Map.Entry<String, SpoutSpec> _iter71 : struct.spouts.entrySet())
+        {
+          oprot.writeString(_iter71.getKey());
+          _iter71.getValue().write(oprot);
+        }
+      }
+      {
+        oprot.writeI32(struct.bolts.size());
+        for (Map.Entry<String, Bolt> _iter72 : struct.bolts.entrySet())
+        {
+          oprot.writeString(_iter72.getKey());
+          _iter72.getValue().write(oprot);
+        }
+      }
+      {
+        oprot.writeI32(struct.state_spouts.size());
+        for (Map.Entry<String, StateSpoutSpec> _iter73 : struct.state_spouts.entrySet())
+        {
+          oprot.writeString(_iter73.getKey());
+          _iter73.getValue().write(oprot);
+        }
+      }
+      BitSet optionals = new BitSet();
+      if (struct.is_set_worker_hooks()) {
+        optionals.set(0);
+      }
+      if (struct.is_set_dependency_jars()) {
+        optionals.set(1);
+      }
+      if (struct.is_set_dependency_artifacts()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.is_set_worker_hooks()) {
+        {
+          oprot.writeI32(struct.worker_hooks.size());
+          for (ByteBuffer _iter74 : struct.worker_hooks)
+          {
+            oprot.writeBinary(_iter74);
+          }
+        }
+      }
+      if (struct.is_set_dependency_jars()) {
+        {
+          oprot.writeI32(struct.dependency_jars.size());
+          for (String _iter75 : struct.dependency_jars)
+          {
+            oprot.writeString(_iter75);
+          }
+        }
+      }
+      if (struct.is_set_dependency_artifacts()) {
+        {
+          oprot.writeI32(struct.dependency_artifacts.size());
+          for (String _iter76 : struct.dependency_artifacts)
+          {
+            oprot.writeString(_iter76);
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, StormTopology struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      {
+        org.apache.thrift.protocol.TMap _map77 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.spouts = new HashMap<String,SpoutSpec>(2*_map77.size);
+        String _key78;
+        SpoutSpec _val79;
+        for (int _i80 = 0; _i80 < _map77.size; ++_i80)
+        {
+          _key78 = iprot.readString();
+          _val79 = new SpoutSpec();
+          _val79.read(iprot);
+          struct.spouts.put(_key78, _val79);
+        }
+      }
+      struct.set_spouts_isSet(true);
+      {
+        org.apache.thrift.protocol.TMap _map81 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.bolts = new HashMap<String,Bolt>(2*_map81.size);
+        String _key82;
+        Bolt _val83;
+        for (int _i84 = 0; _i84 < _map81.size; ++_i84)
+        {
+          _key82 = iprot.readString();
+          _val83 = new Bolt();
+          _val83.read(iprot);
+          struct.bolts.put(_key82, _val83);
+        }
+      }
+      struct.set_bolts_isSet(true);
+      {
+        org.apache.thrift.protocol.TMap _map85 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.state_spouts = new HashMap<String,StateSpoutSpec>(2*_map85.size);
+        String _key86;
+        StateSpoutSpec _val87;
+        for (int _i88 = 0; _i88 < _map85.size; ++_i88)
+        {
+          _key86 = iprot.readString();
+          _val87 = new StateSpoutSpec();
+          _val87.read(iprot);
+          struct.state_spouts.put(_key86, _val87);
+        }
+      }
+      struct.set_state_spouts_isSet(true);
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TList _list89 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.worker_hooks = new ArrayList<ByteBuffer>(_list89.size);
+          ByteBuffer _elem90;
+          for (int _i91 = 0; _i91 < _list89.size; ++_i91)
+          {
+            _elem90 = iprot.readBinary();
+            struct.worker_hooks.add(_elem90);
+          }
+        }
+        struct.set_worker_hooks_isSet(true);
+      }
+      if (incoming.get(1)) {
+        {
+          org.apache.thrift.protocol.TList _list92 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.dependency_jars = new ArrayList<String>(_list92.size);
+          String _elem93;
+          for (int _i94 = 0; _i94 < _list92.size; ++_i94)
+          {
+            _elem93 = iprot.readString();
+            struct.dependency_jars.add(_elem93);
+          }
+        }
+        struct.set_dependency_jars_isSet(true);
+      }
+      if (incoming.get(2)) {
+        {
+          org.apache.thrift.protocol.TList _list95 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.dependency_artifacts = new ArrayList<String>(_list95.size);
+          String _elem96;
+          for (int _i97 = 0; _i97 < _list95.size; ++_i97)
+          {
+            _elem96 = iprot.readString();
+            struct.dependency_artifacts.add(_elem96);
+          }
+        }
+        struct.set_dependency_artifacts_isSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/storm/blob/4de339a8/storm-client/src/jvm/org/apache/storm/generated/StreamInfo.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/StreamInfo.java b/storm-client/src/jvm/org/apache/storm/generated/StreamInfo.java
new file mode 100644
index 0000000..bb78631
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/StreamInfo.java
@@ -0,0 +1,554 @@
+/**
+ * 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 StreamInfo implements org.apache.thrift.TBase<StreamInfo, StreamInfo._Fields>, java.io.Serializable, Cloneable, Comparable<StreamInfo> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StreamInfo");
+
+  private static final org.apache.thrift.protocol.TField OUTPUT_FIELDS_FIELD_DESC = new org.apache.thrift.protocol.TField("output_fields", org.apache.thrift.protocol.TType.LIST, (short)1);
+  private static final org.apache.thrift.protocol.TField DIRECT_FIELD_DESC = new org.apache.thrift.protocol.TField("direct", org.apache.thrift.protocol.TType.BOOL, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new StreamInfoStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new StreamInfoTupleSchemeFactory());
+  }
+
+  private List<String> output_fields; // required
+  private boolean direct; // 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 {
+    OUTPUT_FIELDS((short)1, "output_fields"),
+    DIRECT((short)2, "direct");
+
+    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: // OUTPUT_FIELDS
+          return OUTPUT_FIELDS;
+        case 2: // DIRECT
+          return DIRECT;
+        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 __DIRECT_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  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.OUTPUT_FIELDS, new org.apache.thrift.meta_data.FieldMetaData("output_fields", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        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.STRING))));
+    tmpMap.put(_Fields.DIRECT, new org.apache.thrift.meta_data.FieldMetaData("direct", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(StreamInfo.class, metaDataMap);
+  }
+
+  public StreamInfo() {
+  }
+
+  public StreamInfo(
+    List<String> output_fields,
+    boolean direct)
+  {
+    this();
+    this.output_fields = output_fields;
+    this.direct = direct;
+    set_direct_isSet(true);
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public StreamInfo(StreamInfo other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.is_set_output_fields()) {
+      List<String> __this__output_fields = new ArrayList<String>(other.output_fields);
+      this.output_fields = __this__output_fields;
+    }
+    this.direct = other.direct;
+  }
+
+  public StreamInfo deepCopy() {
+    return new StreamInfo(this);
+  }
+
+  @Override
+  public void clear() {
+    this.output_fields = null;
+    set_direct_isSet(false);
+    this.direct = false;
+  }
+
+  public int get_output_fields_size() {
+    return (this.output_fields == null) ? 0 : this.output_fields.size();
+  }
+
+  public java.util.Iterator<String> get_output_fields_iterator() {
+    return (this.output_fields == null) ? null : this.output_fields.iterator();
+  }
+
+  public void add_to_output_fields(String elem) {
+    if (this.output_fields == null) {
+      this.output_fields = new ArrayList<String>();
+    }
+    this.output_fields.add(elem);
+  }
+
+  public List<String> get_output_fields() {
+    return this.output_fields;
+  }
+
+  public void set_output_fields(List<String> output_fields) {
+    this.output_fields = output_fields;
+  }
+
+  public void unset_output_fields() {
+    this.output_fields = null;
+  }
+
+  /** Returns true if field output_fields is set (has been assigned a value) and false otherwise */
+  public boolean is_set_output_fields() {
+    return this.output_fields != null;
+  }
+
+  public void set_output_fields_isSet(boolean value) {
+    if (!value) {
+      this.output_fields = null;
+    }
+  }
+
+  public boolean is_direct() {
+    return this.direct;
+  }
+
+  public void set_direct(boolean direct) {
+    this.direct = direct;
+    set_direct_isSet(true);
+  }
+
+  public void unset_direct() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DIRECT_ISSET_ID);
+  }
+
+  /** Returns true if field direct is set (has been assigned a value) and false otherwise */
+  public boolean is_set_direct() {
+    return EncodingUtils.testBit(__isset_bitfield, __DIRECT_ISSET_ID);
+  }
+
+  public void set_direct_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DIRECT_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case OUTPUT_FIELDS:
+      if (value == null) {
+        unset_output_fields();
+      } else {
+        set_output_fields((List<String>)value);
+      }
+      break;
+
+    case DIRECT:
+      if (value == null) {
+        unset_direct();
+      } else {
+        set_direct((Boolean)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case OUTPUT_FIELDS:
+      return get_output_fields();
+
+    case DIRECT:
+      return is_direct();
+
+    }
+    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 OUTPUT_FIELDS:
+      return is_set_output_fields();
+    case DIRECT:
+      return is_set_direct();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof StreamInfo)
+      return this.equals((StreamInfo)that);
+    return false;
+  }
+
+  public boolean equals(StreamInfo that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_output_fields = true && this.is_set_output_fields();
+    boolean that_present_output_fields = true && that.is_set_output_fields();
+    if (this_present_output_fields || that_present_output_fields) {
+      if (!(this_present_output_fields && that_present_output_fields))
+        return false;
+      if (!this.output_fields.equals(that.output_fields))
+        return false;
+    }
+
+    boolean this_present_direct = true;
+    boolean that_present_direct = true;
+    if (this_present_direct || that_present_direct) {
+      if (!(this_present_direct && that_present_direct))
+        return false;
+      if (this.direct != that.direct)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_output_fields = true && (is_set_output_fields());
+    list.add(present_output_fields);
+    if (present_output_fields)
+      list.add(output_fields);
+
+    boolean present_direct = true;
+    list.add(present_direct);
+    if (present_direct)
+      list.add(direct);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(StreamInfo other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_output_fields()).compareTo(other.is_set_output_fields());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_output_fields()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.output_fields, other.output_fields);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_direct()).compareTo(other.is_set_direct());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_direct()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.direct, other.direct);
+      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("StreamInfo(");
+    boolean first = true;
+
+    sb.append("output_fields:");
+    if (this.output_fields == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.output_fields);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("direct:");
+    sb.append(this.direct);
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!is_set_output_fields()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'output_fields' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_direct()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'direct' 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 StreamInfoStandardSchemeFactory implements SchemeFactory {
+    public StreamInfoStandardScheme getScheme() {
+      return new StreamInfoStandardScheme();
+    }
+  }
+
+  private static class StreamInfoStandardScheme extends StandardScheme<StreamInfo> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, StreamInfo 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: // OUTPUT_FIELDS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
+                struct.output_fields = new ArrayList<String>(_list16.size);
+                String _elem17;
+                for (int _i18 = 0; _i18 < _list16.size; ++_i18)
+                {
+                  _elem17 = iprot.readString();
+                  struct.output_fields.add(_elem17);
+                }
+                iprot.readListEnd();
+              }
+              struct.set_output_fields_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // DIRECT
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.direct = iprot.readBool();
+              struct.set_direct_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, StreamInfo struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.output_fields != null) {
+        oprot.writeFieldBegin(OUTPUT_FIELDS_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.output_fields.size()));
+          for (String _iter19 : struct.output_fields)
+          {
+            oprot.writeString(_iter19);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(DIRECT_FIELD_DESC);
+      oprot.writeBool(struct.direct);
+      oprot.writeFieldEnd();
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class StreamInfoTupleSchemeFactory implements SchemeFactory {
+    public StreamInfoTupleScheme getScheme() {
+      return new StreamInfoTupleScheme();
+    }
+  }
+
+  private static class StreamInfoTupleScheme extends TupleScheme<StreamInfo> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, StreamInfo struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      {
+        oprot.writeI32(struct.output_fields.size());
+        for (String _iter20 : struct.output_fields)
+        {
+          oprot.writeString(_iter20);
+        }
+      }
+      oprot.writeBool(struct.direct);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, StreamInfo struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      {
+        org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.output_fields = new ArrayList<String>(_list21.size);
+        String _elem22;
+        for (int _i23 = 0; _i23 < _list21.size; ++_i23)
+        {
+          _elem22 = iprot.readString();
+          struct.output_fields.add(_elem22);
+        }
+      }
+      struct.set_output_fields_isSet(true);
+      struct.direct = iprot.readBool();
+      struct.set_direct_isSet(true);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/storm/blob/4de339a8/storm-client/src/jvm/org/apache/storm/generated/SubmitOptions.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/SubmitOptions.java b/storm-client/src/jvm/org/apache/storm/generated/SubmitOptions.java
new file mode 100644
index 0000000..2287244
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/SubmitOptions.java
@@ -0,0 +1,533 @@
+/**
+ * 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 SubmitOptions implements org.apache.thrift.TBase<SubmitOptions, SubmitOptions._Fields>, java.io.Serializable, Cloneable, Comparable<SubmitOptions> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SubmitOptions");
+
+  private static final org.apache.thrift.protocol.TField INITIAL_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("initial_status", org.apache.thrift.protocol.TType.I32, (short)1);
+  private static final org.apache.thrift.protocol.TField CREDS_FIELD_DESC = new org.apache.thrift.protocol.TField("creds", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new SubmitOptionsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new SubmitOptionsTupleSchemeFactory());
+  }
+
+  private TopologyInitialStatus initial_status; // required
+  private Credentials creds; // 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 {
+    /**
+     * 
+     * @see TopologyInitialStatus
+     */
+    INITIAL_STATUS((short)1, "initial_status"),
+    CREDS((short)2, "creds");
+
+    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: // INITIAL_STATUS
+          return INITIAL_STATUS;
+        case 2: // CREDS
+          return CREDS;
+        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.CREDS};
+  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.INITIAL_STATUS, new org.apache.thrift.meta_data.FieldMetaData("initial_status", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TopologyInitialStatus.class)));
+    tmpMap.put(_Fields.CREDS, new org.apache.thrift.meta_data.FieldMetaData("creds", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Credentials.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(SubmitOptions.class, metaDataMap);
+  }
+
+  public SubmitOptions() {
+  }
+
+  public SubmitOptions(
+    TopologyInitialStatus initial_status)
+  {
+    this();
+    this.initial_status = initial_status;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public SubmitOptions(SubmitOptions other) {
+    if (other.is_set_initial_status()) {
+      this.initial_status = other.initial_status;
+    }
+    if (other.is_set_creds()) {
+      this.creds = new Credentials(other.creds);
+    }
+  }
+
+  public SubmitOptions deepCopy() {
+    return new SubmitOptions(this);
+  }
+
+  @Override
+  public void clear() {
+    this.initial_status = null;
+    this.creds = null;
+  }
+
+  /**
+   * 
+   * @see TopologyInitialStatus
+   */
+  public TopologyInitialStatus get_initial_status() {
+    return this.initial_status;
+  }
+
+  /**
+   * 
+   * @see TopologyInitialStatus
+   */
+  public void set_initial_status(TopologyInitialStatus initial_status) {
+    this.initial_status = initial_status;
+  }
+
+  public void unset_initial_status() {
+    this.initial_status = null;
+  }
+
+  /** Returns true if field initial_status is set (has been assigned a value) and false otherwise */
+  public boolean is_set_initial_status() {
+    return this.initial_status != null;
+  }
+
+  public void set_initial_status_isSet(boolean value) {
+    if (!value) {
+      this.initial_status = null;
+    }
+  }
+
+  public Credentials get_creds() {
+    return this.creds;
+  }
+
+  public void set_creds(Credentials creds) {
+    this.creds = creds;
+  }
+
+  public void unset_creds() {
+    this.creds = null;
+  }
+
+  /** Returns true if field creds is set (has been assigned a value) and false otherwise */
+  public boolean is_set_creds() {
+    return this.creds != null;
+  }
+
+  public void set_creds_isSet(boolean value) {
+    if (!value) {
+      this.creds = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case INITIAL_STATUS:
+      if (value == null) {
+        unset_initial_status();
+      } else {
+        set_initial_status((TopologyInitialStatus)value);
+      }
+      break;
+
+    case CREDS:
+      if (value == null) {
+        unset_creds();
+      } else {
+        set_creds((Credentials)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case INITIAL_STATUS:
+      return get_initial_status();
+
+    case CREDS:
+      return get_creds();
+
+    }
+    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 INITIAL_STATUS:
+      return is_set_initial_status();
+    case CREDS:
+      return is_set_creds();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof SubmitOptions)
+      return this.equals((SubmitOptions)that);
+    return false;
+  }
+
+  public boolean equals(SubmitOptions that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_initial_status = true && this.is_set_initial_status();
+    boolean that_present_initial_status = true && that.is_set_initial_status();
+    if (this_present_initial_status || that_present_initial_status) {
+      if (!(this_present_initial_status && that_present_initial_status))
+        return false;
+      if (!this.initial_status.equals(that.initial_status))
+        return false;
+    }
+
+    boolean this_present_creds = true && this.is_set_creds();
+    boolean that_present_creds = true && that.is_set_creds();
+    if (this_present_creds || that_present_creds) {
+      if (!(this_present_creds && that_present_creds))
+        return false;
+      if (!this.creds.equals(that.creds))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_initial_status = true && (is_set_initial_status());
+    list.add(present_initial_status);
+    if (present_initial_status)
+      list.add(initial_status.getValue());
+
+    boolean present_creds = true && (is_set_creds());
+    list.add(present_creds);
+    if (present_creds)
+      list.add(creds);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(SubmitOptions other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_initial_status()).compareTo(other.is_set_initial_status());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_initial_status()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.initial_status, other.initial_status);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_creds()).compareTo(other.is_set_creds());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_creds()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.creds, other.creds);
+      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("SubmitOptions(");
+    boolean first = true;
+
+    sb.append("initial_status:");
+    if (this.initial_status == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.initial_status);
+    }
+    first = false;
+    if (is_set_creds()) {
+      if (!first) sb.append(", ");
+      sb.append("creds:");
+      if (this.creds == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.creds);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!is_set_initial_status()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'initial_status' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+    if (creds != null) {
+      creds.validate();
+    }
+  }
+
+  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 SubmitOptionsStandardSchemeFactory implements SchemeFactory {
+    public SubmitOptionsStandardScheme getScheme() {
+      return new SubmitOptionsStandardScheme();
+    }
+  }
+
+  private static class SubmitOptionsStandardScheme extends StandardScheme<SubmitOptions> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, SubmitOptions 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: // INITIAL_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.initial_status = org.apache.storm.generated.TopologyInitialStatus.findByValue(iprot.readI32());
+              struct.set_initial_status_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // CREDS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.creds = new Credentials();
+              struct.creds.read(iprot);
+              struct.set_creds_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, SubmitOptions struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.initial_status != null) {
+        oprot.writeFieldBegin(INITIAL_STATUS_FIELD_DESC);
+        oprot.writeI32(struct.initial_status.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.creds != null) {
+        if (struct.is_set_creds()) {
+          oprot.writeFieldBegin(CREDS_FIELD_DESC);
+          struct.creds.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class SubmitOptionsTupleSchemeFactory implements SchemeFactory {
+    public SubmitOptionsTupleScheme getScheme() {
+      return new SubmitOptionsTupleScheme();
+    }
+  }
+
+  private static class SubmitOptionsTupleScheme extends TupleScheme<SubmitOptions> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, SubmitOptions struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeI32(struct.initial_status.getValue());
+      BitSet optionals = new BitSet();
+      if (struct.is_set_creds()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.is_set_creds()) {
+        struct.creds.write(oprot);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, SubmitOptions struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.initial_status = org.apache.storm.generated.TopologyInitialStatus.findByValue(iprot.readI32());
+      struct.set_initial_status_isSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.creds = new Credentials();
+        struct.creds.read(iprot);
+        struct.set_creds_isSet(true);
+      }
+    }
+  }
+
+}
+