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

[27/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/ExecutorStats.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/ExecutorStats.java b/storm-client/src/jvm/org/apache/storm/generated/ExecutorStats.java
new file mode 100644
index 0000000..bbb8e7a
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/ExecutorStats.java
@@ -0,0 +1,915 @@
+/**
+ * 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 ExecutorStats implements org.apache.thrift.TBase<ExecutorStats, ExecutorStats._Fields>, java.io.Serializable, Cloneable, Comparable<ExecutorStats> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExecutorStats");
+
+  private static final org.apache.thrift.protocol.TField EMITTED_FIELD_DESC = new org.apache.thrift.protocol.TField("emitted", org.apache.thrift.protocol.TType.MAP, (short)1);
+  private static final org.apache.thrift.protocol.TField TRANSFERRED_FIELD_DESC = new org.apache.thrift.protocol.TField("transferred", org.apache.thrift.protocol.TType.MAP, (short)2);
+  private static final org.apache.thrift.protocol.TField SPECIFIC_FIELD_DESC = new org.apache.thrift.protocol.TField("specific", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+  private static final org.apache.thrift.protocol.TField RATE_FIELD_DESC = new org.apache.thrift.protocol.TField("rate", org.apache.thrift.protocol.TType.DOUBLE, (short)4);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ExecutorStatsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ExecutorStatsTupleSchemeFactory());
+  }
+
+  private Map<String,Map<String,Long>> emitted; // required
+  private Map<String,Map<String,Long>> transferred; // required
+  private ExecutorSpecificStats specific; // required
+  private double rate; // 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 {
+    EMITTED((short)1, "emitted"),
+    TRANSFERRED((short)2, "transferred"),
+    SPECIFIC((short)3, "specific"),
+    RATE((short)4, "rate");
+
+    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: // EMITTED
+          return EMITTED;
+        case 2: // TRANSFERRED
+          return TRANSFERRED;
+        case 3: // SPECIFIC
+          return SPECIFIC;
+        case 4: // RATE
+          return RATE;
+        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 __RATE_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.EMITTED, new org.apache.thrift.meta_data.FieldMetaData("emitted", 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.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.I64)))));
+    tmpMap.put(_Fields.TRANSFERRED, new org.apache.thrift.meta_data.FieldMetaData("transferred", 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.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.I64)))));
+    tmpMap.put(_Fields.SPECIFIC, new org.apache.thrift.meta_data.FieldMetaData("specific", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ExecutorSpecificStats.class)));
+    tmpMap.put(_Fields.RATE, new org.apache.thrift.meta_data.FieldMetaData("rate", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExecutorStats.class, metaDataMap);
+  }
+
+  public ExecutorStats() {
+  }
+
+  public ExecutorStats(
+    Map<String,Map<String,Long>> emitted,
+    Map<String,Map<String,Long>> transferred,
+    ExecutorSpecificStats specific,
+    double rate)
+  {
+    this();
+    this.emitted = emitted;
+    this.transferred = transferred;
+    this.specific = specific;
+    this.rate = rate;
+    set_rate_isSet(true);
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ExecutorStats(ExecutorStats other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.is_set_emitted()) {
+      Map<String,Map<String,Long>> __this__emitted = new HashMap<String,Map<String,Long>>(other.emitted.size());
+      for (Map.Entry<String, Map<String,Long>> other_element : other.emitted.entrySet()) {
+
+        String other_element_key = other_element.getKey();
+        Map<String,Long> other_element_value = other_element.getValue();
+
+        String __this__emitted_copy_key = other_element_key;
+
+        Map<String,Long> __this__emitted_copy_value = new HashMap<String,Long>(other_element_value);
+
+        __this__emitted.put(__this__emitted_copy_key, __this__emitted_copy_value);
+      }
+      this.emitted = __this__emitted;
+    }
+    if (other.is_set_transferred()) {
+      Map<String,Map<String,Long>> __this__transferred = new HashMap<String,Map<String,Long>>(other.transferred.size());
+      for (Map.Entry<String, Map<String,Long>> other_element : other.transferred.entrySet()) {
+
+        String other_element_key = other_element.getKey();
+        Map<String,Long> other_element_value = other_element.getValue();
+
+        String __this__transferred_copy_key = other_element_key;
+
+        Map<String,Long> __this__transferred_copy_value = new HashMap<String,Long>(other_element_value);
+
+        __this__transferred.put(__this__transferred_copy_key, __this__transferred_copy_value);
+      }
+      this.transferred = __this__transferred;
+    }
+    if (other.is_set_specific()) {
+      this.specific = new ExecutorSpecificStats(other.specific);
+    }
+    this.rate = other.rate;
+  }
+
+  public ExecutorStats deepCopy() {
+    return new ExecutorStats(this);
+  }
+
+  @Override
+  public void clear() {
+    this.emitted = null;
+    this.transferred = null;
+    this.specific = null;
+    set_rate_isSet(false);
+    this.rate = 0.0;
+  }
+
+  public int get_emitted_size() {
+    return (this.emitted == null) ? 0 : this.emitted.size();
+  }
+
+  public void put_to_emitted(String key, Map<String,Long> val) {
+    if (this.emitted == null) {
+      this.emitted = new HashMap<String,Map<String,Long>>();
+    }
+    this.emitted.put(key, val);
+  }
+
+  public Map<String,Map<String,Long>> get_emitted() {
+    return this.emitted;
+  }
+
+  public void set_emitted(Map<String,Map<String,Long>> emitted) {
+    this.emitted = emitted;
+  }
+
+  public void unset_emitted() {
+    this.emitted = null;
+  }
+
+  /** Returns true if field emitted is set (has been assigned a value) and false otherwise */
+  public boolean is_set_emitted() {
+    return this.emitted != null;
+  }
+
+  public void set_emitted_isSet(boolean value) {
+    if (!value) {
+      this.emitted = null;
+    }
+  }
+
+  public int get_transferred_size() {
+    return (this.transferred == null) ? 0 : this.transferred.size();
+  }
+
+  public void put_to_transferred(String key, Map<String,Long> val) {
+    if (this.transferred == null) {
+      this.transferred = new HashMap<String,Map<String,Long>>();
+    }
+    this.transferred.put(key, val);
+  }
+
+  public Map<String,Map<String,Long>> get_transferred() {
+    return this.transferred;
+  }
+
+  public void set_transferred(Map<String,Map<String,Long>> transferred) {
+    this.transferred = transferred;
+  }
+
+  public void unset_transferred() {
+    this.transferred = null;
+  }
+
+  /** Returns true if field transferred is set (has been assigned a value) and false otherwise */
+  public boolean is_set_transferred() {
+    return this.transferred != null;
+  }
+
+  public void set_transferred_isSet(boolean value) {
+    if (!value) {
+      this.transferred = null;
+    }
+  }
+
+  public ExecutorSpecificStats get_specific() {
+    return this.specific;
+  }
+
+  public void set_specific(ExecutorSpecificStats specific) {
+    this.specific = specific;
+  }
+
+  public void unset_specific() {
+    this.specific = null;
+  }
+
+  /** Returns true if field specific is set (has been assigned a value) and false otherwise */
+  public boolean is_set_specific() {
+    return this.specific != null;
+  }
+
+  public void set_specific_isSet(boolean value) {
+    if (!value) {
+      this.specific = null;
+    }
+  }
+
+  public double get_rate() {
+    return this.rate;
+  }
+
+  public void set_rate(double rate) {
+    this.rate = rate;
+    set_rate_isSet(true);
+  }
+
+  public void unset_rate() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __RATE_ISSET_ID);
+  }
+
+  /** Returns true if field rate is set (has been assigned a value) and false otherwise */
+  public boolean is_set_rate() {
+    return EncodingUtils.testBit(__isset_bitfield, __RATE_ISSET_ID);
+  }
+
+  public void set_rate_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __RATE_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case EMITTED:
+      if (value == null) {
+        unset_emitted();
+      } else {
+        set_emitted((Map<String,Map<String,Long>>)value);
+      }
+      break;
+
+    case TRANSFERRED:
+      if (value == null) {
+        unset_transferred();
+      } else {
+        set_transferred((Map<String,Map<String,Long>>)value);
+      }
+      break;
+
+    case SPECIFIC:
+      if (value == null) {
+        unset_specific();
+      } else {
+        set_specific((ExecutorSpecificStats)value);
+      }
+      break;
+
+    case RATE:
+      if (value == null) {
+        unset_rate();
+      } else {
+        set_rate((Double)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case EMITTED:
+      return get_emitted();
+
+    case TRANSFERRED:
+      return get_transferred();
+
+    case SPECIFIC:
+      return get_specific();
+
+    case RATE:
+      return get_rate();
+
+    }
+    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 EMITTED:
+      return is_set_emitted();
+    case TRANSFERRED:
+      return is_set_transferred();
+    case SPECIFIC:
+      return is_set_specific();
+    case RATE:
+      return is_set_rate();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ExecutorStats)
+      return this.equals((ExecutorStats)that);
+    return false;
+  }
+
+  public boolean equals(ExecutorStats that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_emitted = true && this.is_set_emitted();
+    boolean that_present_emitted = true && that.is_set_emitted();
+    if (this_present_emitted || that_present_emitted) {
+      if (!(this_present_emitted && that_present_emitted))
+        return false;
+      if (!this.emitted.equals(that.emitted))
+        return false;
+    }
+
+    boolean this_present_transferred = true && this.is_set_transferred();
+    boolean that_present_transferred = true && that.is_set_transferred();
+    if (this_present_transferred || that_present_transferred) {
+      if (!(this_present_transferred && that_present_transferred))
+        return false;
+      if (!this.transferred.equals(that.transferred))
+        return false;
+    }
+
+    boolean this_present_specific = true && this.is_set_specific();
+    boolean that_present_specific = true && that.is_set_specific();
+    if (this_present_specific || that_present_specific) {
+      if (!(this_present_specific && that_present_specific))
+        return false;
+      if (!this.specific.equals(that.specific))
+        return false;
+    }
+
+    boolean this_present_rate = true;
+    boolean that_present_rate = true;
+    if (this_present_rate || that_present_rate) {
+      if (!(this_present_rate && that_present_rate))
+        return false;
+      if (this.rate != that.rate)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_emitted = true && (is_set_emitted());
+    list.add(present_emitted);
+    if (present_emitted)
+      list.add(emitted);
+
+    boolean present_transferred = true && (is_set_transferred());
+    list.add(present_transferred);
+    if (present_transferred)
+      list.add(transferred);
+
+    boolean present_specific = true && (is_set_specific());
+    list.add(present_specific);
+    if (present_specific)
+      list.add(specific);
+
+    boolean present_rate = true;
+    list.add(present_rate);
+    if (present_rate)
+      list.add(rate);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(ExecutorStats other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_emitted()).compareTo(other.is_set_emitted());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_emitted()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.emitted, other.emitted);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_transferred()).compareTo(other.is_set_transferred());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_transferred()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transferred, other.transferred);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_specific()).compareTo(other.is_set_specific());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_specific()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.specific, other.specific);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_rate()).compareTo(other.is_set_rate());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_rate()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rate, other.rate);
+      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("ExecutorStats(");
+    boolean first = true;
+
+    sb.append("emitted:");
+    if (this.emitted == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.emitted);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("transferred:");
+    if (this.transferred == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.transferred);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("specific:");
+    if (this.specific == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.specific);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("rate:");
+    sb.append(this.rate);
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!is_set_emitted()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'emitted' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_transferred()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'transferred' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_specific()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'specific' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_rate()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'rate' 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 ExecutorStatsStandardSchemeFactory implements SchemeFactory {
+    public ExecutorStatsStandardScheme getScheme() {
+      return new ExecutorStatsStandardScheme();
+    }
+  }
+
+  private static class ExecutorStatsStandardScheme extends StandardScheme<ExecutorStats> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ExecutorStats 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: // EMITTED
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map292 = iprot.readMapBegin();
+                struct.emitted = new HashMap<String,Map<String,Long>>(2*_map292.size);
+                String _key293;
+                Map<String,Long> _val294;
+                for (int _i295 = 0; _i295 < _map292.size; ++_i295)
+                {
+                  _key293 = iprot.readString();
+                  {
+                    org.apache.thrift.protocol.TMap _map296 = iprot.readMapBegin();
+                    _val294 = new HashMap<String,Long>(2*_map296.size);
+                    String _key297;
+                    long _val298;
+                    for (int _i299 = 0; _i299 < _map296.size; ++_i299)
+                    {
+                      _key297 = iprot.readString();
+                      _val298 = iprot.readI64();
+                      _val294.put(_key297, _val298);
+                    }
+                    iprot.readMapEnd();
+                  }
+                  struct.emitted.put(_key293, _val294);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_emitted_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // TRANSFERRED
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map300 = iprot.readMapBegin();
+                struct.transferred = new HashMap<String,Map<String,Long>>(2*_map300.size);
+                String _key301;
+                Map<String,Long> _val302;
+                for (int _i303 = 0; _i303 < _map300.size; ++_i303)
+                {
+                  _key301 = iprot.readString();
+                  {
+                    org.apache.thrift.protocol.TMap _map304 = iprot.readMapBegin();
+                    _val302 = new HashMap<String,Long>(2*_map304.size);
+                    String _key305;
+                    long _val306;
+                    for (int _i307 = 0; _i307 < _map304.size; ++_i307)
+                    {
+                      _key305 = iprot.readString();
+                      _val306 = iprot.readI64();
+                      _val302.put(_key305, _val306);
+                    }
+                    iprot.readMapEnd();
+                  }
+                  struct.transferred.put(_key301, _val302);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_transferred_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // SPECIFIC
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.specific = new ExecutorSpecificStats();
+              struct.specific.read(iprot);
+              struct.set_specific_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // RATE
+            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+              struct.rate = iprot.readDouble();
+              struct.set_rate_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, ExecutorStats struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.emitted != null) {
+        oprot.writeFieldBegin(EMITTED_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, struct.emitted.size()));
+          for (Map.Entry<String, Map<String,Long>> _iter308 : struct.emitted.entrySet())
+          {
+            oprot.writeString(_iter308.getKey());
+            {
+              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, _iter308.getValue().size()));
+              for (Map.Entry<String, Long> _iter309 : _iter308.getValue().entrySet())
+              {
+                oprot.writeString(_iter309.getKey());
+                oprot.writeI64(_iter309.getValue());
+              }
+              oprot.writeMapEnd();
+            }
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.transferred != null) {
+        oprot.writeFieldBegin(TRANSFERRED_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, struct.transferred.size()));
+          for (Map.Entry<String, Map<String,Long>> _iter310 : struct.transferred.entrySet())
+          {
+            oprot.writeString(_iter310.getKey());
+            {
+              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, _iter310.getValue().size()));
+              for (Map.Entry<String, Long> _iter311 : _iter310.getValue().entrySet())
+              {
+                oprot.writeString(_iter311.getKey());
+                oprot.writeI64(_iter311.getValue());
+              }
+              oprot.writeMapEnd();
+            }
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.specific != null) {
+        oprot.writeFieldBegin(SPECIFIC_FIELD_DESC);
+        struct.specific.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(RATE_FIELD_DESC);
+      oprot.writeDouble(struct.rate);
+      oprot.writeFieldEnd();
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ExecutorStatsTupleSchemeFactory implements SchemeFactory {
+    public ExecutorStatsTupleScheme getScheme() {
+      return new ExecutorStatsTupleScheme();
+    }
+  }
+
+  private static class ExecutorStatsTupleScheme extends TupleScheme<ExecutorStats> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ExecutorStats struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      {
+        oprot.writeI32(struct.emitted.size());
+        for (Map.Entry<String, Map<String,Long>> _iter312 : struct.emitted.entrySet())
+        {
+          oprot.writeString(_iter312.getKey());
+          {
+            oprot.writeI32(_iter312.getValue().size());
+            for (Map.Entry<String, Long> _iter313 : _iter312.getValue().entrySet())
+            {
+              oprot.writeString(_iter313.getKey());
+              oprot.writeI64(_iter313.getValue());
+            }
+          }
+        }
+      }
+      {
+        oprot.writeI32(struct.transferred.size());
+        for (Map.Entry<String, Map<String,Long>> _iter314 : struct.transferred.entrySet())
+        {
+          oprot.writeString(_iter314.getKey());
+          {
+            oprot.writeI32(_iter314.getValue().size());
+            for (Map.Entry<String, Long> _iter315 : _iter314.getValue().entrySet())
+            {
+              oprot.writeString(_iter315.getKey());
+              oprot.writeI64(_iter315.getValue());
+            }
+          }
+        }
+      }
+      struct.specific.write(oprot);
+      oprot.writeDouble(struct.rate);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ExecutorStats struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      {
+        org.apache.thrift.protocol.TMap _map316 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, iprot.readI32());
+        struct.emitted = new HashMap<String,Map<String,Long>>(2*_map316.size);
+        String _key317;
+        Map<String,Long> _val318;
+        for (int _i319 = 0; _i319 < _map316.size; ++_i319)
+        {
+          _key317 = iprot.readString();
+          {
+            org.apache.thrift.protocol.TMap _map320 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, iprot.readI32());
+            _val318 = new HashMap<String,Long>(2*_map320.size);
+            String _key321;
+            long _val322;
+            for (int _i323 = 0; _i323 < _map320.size; ++_i323)
+            {
+              _key321 = iprot.readString();
+              _val322 = iprot.readI64();
+              _val318.put(_key321, _val322);
+            }
+          }
+          struct.emitted.put(_key317, _val318);
+        }
+      }
+      struct.set_emitted_isSet(true);
+      {
+        org.apache.thrift.protocol.TMap _map324 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, iprot.readI32());
+        struct.transferred = new HashMap<String,Map<String,Long>>(2*_map324.size);
+        String _key325;
+        Map<String,Long> _val326;
+        for (int _i327 = 0; _i327 < _map324.size; ++_i327)
+        {
+          _key325 = iprot.readString();
+          {
+            org.apache.thrift.protocol.TMap _map328 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, iprot.readI32());
+            _val326 = new HashMap<String,Long>(2*_map328.size);
+            String _key329;
+            long _val330;
+            for (int _i331 = 0; _i331 < _map328.size; ++_i331)
+            {
+              _key329 = iprot.readString();
+              _val330 = iprot.readI64();
+              _val326.put(_key329, _val330);
+            }
+          }
+          struct.transferred.put(_key325, _val326);
+        }
+      }
+      struct.set_transferred_isSet(true);
+      struct.specific = new ExecutorSpecificStats();
+      struct.specific.read(iprot);
+      struct.set_specific_isSet(true);
+      struct.rate = iprot.readDouble();
+      struct.set_rate_isSet(true);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/storm/blob/4de339a8/storm-client/src/jvm/org/apache/storm/generated/ExecutorSummary.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/ExecutorSummary.java b/storm-client/src/jvm/org/apache/storm/generated/ExecutorSummary.java
new file mode 100644
index 0000000..ef8182e
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/ExecutorSummary.java
@@ -0,0 +1,922 @@
+/**
+ * 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 ExecutorSummary implements org.apache.thrift.TBase<ExecutorSummary, ExecutorSummary._Fields>, java.io.Serializable, Cloneable, Comparable<ExecutorSummary> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExecutorSummary");
+
+  private static final org.apache.thrift.protocol.TField EXECUTOR_INFO_FIELD_DESC = new org.apache.thrift.protocol.TField("executor_info", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+  private static final org.apache.thrift.protocol.TField COMPONENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("component_id", org.apache.thrift.protocol.TType.STRING, (short)2);
+  private static final org.apache.thrift.protocol.TField HOST_FIELD_DESC = new org.apache.thrift.protocol.TField("host", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField PORT_FIELD_DESC = new org.apache.thrift.protocol.TField("port", org.apache.thrift.protocol.TType.I32, (short)4);
+  private static final org.apache.thrift.protocol.TField UPTIME_SECS_FIELD_DESC = new org.apache.thrift.protocol.TField("uptime_secs", org.apache.thrift.protocol.TType.I32, (short)5);
+  private static final org.apache.thrift.protocol.TField STATS_FIELD_DESC = new org.apache.thrift.protocol.TField("stats", org.apache.thrift.protocol.TType.STRUCT, (short)7);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ExecutorSummaryStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ExecutorSummaryTupleSchemeFactory());
+  }
+
+  private ExecutorInfo executor_info; // required
+  private String component_id; // required
+  private String host; // required
+  private int port; // required
+  private int uptime_secs; // required
+  private ExecutorStats stats; // 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 {
+    EXECUTOR_INFO((short)1, "executor_info"),
+    COMPONENT_ID((short)2, "component_id"),
+    HOST((short)3, "host"),
+    PORT((short)4, "port"),
+    UPTIME_SECS((short)5, "uptime_secs"),
+    STATS((short)7, "stats");
+
+    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: // EXECUTOR_INFO
+          return EXECUTOR_INFO;
+        case 2: // COMPONENT_ID
+          return COMPONENT_ID;
+        case 3: // HOST
+          return HOST;
+        case 4: // PORT
+          return PORT;
+        case 5: // UPTIME_SECS
+          return UPTIME_SECS;
+        case 7: // STATS
+          return STATS;
+        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 __PORT_ISSET_ID = 0;
+  private static final int __UPTIME_SECS_ISSET_ID = 1;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.STATS};
+  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.EXECUTOR_INFO, new org.apache.thrift.meta_data.FieldMetaData("executor_info", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ExecutorInfo.class)));
+    tmpMap.put(_Fields.COMPONENT_ID, new org.apache.thrift.meta_data.FieldMetaData("component_id", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.HOST, new org.apache.thrift.meta_data.FieldMetaData("host", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PORT, new org.apache.thrift.meta_data.FieldMetaData("port", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.UPTIME_SECS, new org.apache.thrift.meta_data.FieldMetaData("uptime_secs", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.STATS, new org.apache.thrift.meta_data.FieldMetaData("stats", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ExecutorStats.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ExecutorSummary.class, metaDataMap);
+  }
+
+  public ExecutorSummary() {
+  }
+
+  public ExecutorSummary(
+    ExecutorInfo executor_info,
+    String component_id,
+    String host,
+    int port,
+    int uptime_secs)
+  {
+    this();
+    this.executor_info = executor_info;
+    this.component_id = component_id;
+    this.host = host;
+    this.port = port;
+    set_port_isSet(true);
+    this.uptime_secs = uptime_secs;
+    set_uptime_secs_isSet(true);
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ExecutorSummary(ExecutorSummary other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.is_set_executor_info()) {
+      this.executor_info = new ExecutorInfo(other.executor_info);
+    }
+    if (other.is_set_component_id()) {
+      this.component_id = other.component_id;
+    }
+    if (other.is_set_host()) {
+      this.host = other.host;
+    }
+    this.port = other.port;
+    this.uptime_secs = other.uptime_secs;
+    if (other.is_set_stats()) {
+      this.stats = new ExecutorStats(other.stats);
+    }
+  }
+
+  public ExecutorSummary deepCopy() {
+    return new ExecutorSummary(this);
+  }
+
+  @Override
+  public void clear() {
+    this.executor_info = null;
+    this.component_id = null;
+    this.host = null;
+    set_port_isSet(false);
+    this.port = 0;
+    set_uptime_secs_isSet(false);
+    this.uptime_secs = 0;
+    this.stats = null;
+  }
+
+  public ExecutorInfo get_executor_info() {
+    return this.executor_info;
+  }
+
+  public void set_executor_info(ExecutorInfo executor_info) {
+    this.executor_info = executor_info;
+  }
+
+  public void unset_executor_info() {
+    this.executor_info = null;
+  }
+
+  /** Returns true if field executor_info is set (has been assigned a value) and false otherwise */
+  public boolean is_set_executor_info() {
+    return this.executor_info != null;
+  }
+
+  public void set_executor_info_isSet(boolean value) {
+    if (!value) {
+      this.executor_info = null;
+    }
+  }
+
+  public String get_component_id() {
+    return this.component_id;
+  }
+
+  public void set_component_id(String component_id) {
+    this.component_id = component_id;
+  }
+
+  public void unset_component_id() {
+    this.component_id = null;
+  }
+
+  /** Returns true if field component_id is set (has been assigned a value) and false otherwise */
+  public boolean is_set_component_id() {
+    return this.component_id != null;
+  }
+
+  public void set_component_id_isSet(boolean value) {
+    if (!value) {
+      this.component_id = null;
+    }
+  }
+
+  public String get_host() {
+    return this.host;
+  }
+
+  public void set_host(String host) {
+    this.host = host;
+  }
+
+  public void unset_host() {
+    this.host = null;
+  }
+
+  /** Returns true if field host is set (has been assigned a value) and false otherwise */
+  public boolean is_set_host() {
+    return this.host != null;
+  }
+
+  public void set_host_isSet(boolean value) {
+    if (!value) {
+      this.host = null;
+    }
+  }
+
+  public int get_port() {
+    return this.port;
+  }
+
+  public void set_port(int port) {
+    this.port = port;
+    set_port_isSet(true);
+  }
+
+  public void unset_port() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PORT_ISSET_ID);
+  }
+
+  /** Returns true if field port is set (has been assigned a value) and false otherwise */
+  public boolean is_set_port() {
+    return EncodingUtils.testBit(__isset_bitfield, __PORT_ISSET_ID);
+  }
+
+  public void set_port_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PORT_ISSET_ID, value);
+  }
+
+  public int get_uptime_secs() {
+    return this.uptime_secs;
+  }
+
+  public void set_uptime_secs(int uptime_secs) {
+    this.uptime_secs = uptime_secs;
+    set_uptime_secs_isSet(true);
+  }
+
+  public void unset_uptime_secs() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UPTIME_SECS_ISSET_ID);
+  }
+
+  /** Returns true if field uptime_secs is set (has been assigned a value) and false otherwise */
+  public boolean is_set_uptime_secs() {
+    return EncodingUtils.testBit(__isset_bitfield, __UPTIME_SECS_ISSET_ID);
+  }
+
+  public void set_uptime_secs_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UPTIME_SECS_ISSET_ID, value);
+  }
+
+  public ExecutorStats get_stats() {
+    return this.stats;
+  }
+
+  public void set_stats(ExecutorStats stats) {
+    this.stats = stats;
+  }
+
+  public void unset_stats() {
+    this.stats = null;
+  }
+
+  /** Returns true if field stats is set (has been assigned a value) and false otherwise */
+  public boolean is_set_stats() {
+    return this.stats != null;
+  }
+
+  public void set_stats_isSet(boolean value) {
+    if (!value) {
+      this.stats = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case EXECUTOR_INFO:
+      if (value == null) {
+        unset_executor_info();
+      } else {
+        set_executor_info((ExecutorInfo)value);
+      }
+      break;
+
+    case COMPONENT_ID:
+      if (value == null) {
+        unset_component_id();
+      } else {
+        set_component_id((String)value);
+      }
+      break;
+
+    case HOST:
+      if (value == null) {
+        unset_host();
+      } else {
+        set_host((String)value);
+      }
+      break;
+
+    case PORT:
+      if (value == null) {
+        unset_port();
+      } else {
+        set_port((Integer)value);
+      }
+      break;
+
+    case UPTIME_SECS:
+      if (value == null) {
+        unset_uptime_secs();
+      } else {
+        set_uptime_secs((Integer)value);
+      }
+      break;
+
+    case STATS:
+      if (value == null) {
+        unset_stats();
+      } else {
+        set_stats((ExecutorStats)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case EXECUTOR_INFO:
+      return get_executor_info();
+
+    case COMPONENT_ID:
+      return get_component_id();
+
+    case HOST:
+      return get_host();
+
+    case PORT:
+      return get_port();
+
+    case UPTIME_SECS:
+      return get_uptime_secs();
+
+    case STATS:
+      return get_stats();
+
+    }
+    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 EXECUTOR_INFO:
+      return is_set_executor_info();
+    case COMPONENT_ID:
+      return is_set_component_id();
+    case HOST:
+      return is_set_host();
+    case PORT:
+      return is_set_port();
+    case UPTIME_SECS:
+      return is_set_uptime_secs();
+    case STATS:
+      return is_set_stats();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ExecutorSummary)
+      return this.equals((ExecutorSummary)that);
+    return false;
+  }
+
+  public boolean equals(ExecutorSummary that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_executor_info = true && this.is_set_executor_info();
+    boolean that_present_executor_info = true && that.is_set_executor_info();
+    if (this_present_executor_info || that_present_executor_info) {
+      if (!(this_present_executor_info && that_present_executor_info))
+        return false;
+      if (!this.executor_info.equals(that.executor_info))
+        return false;
+    }
+
+    boolean this_present_component_id = true && this.is_set_component_id();
+    boolean that_present_component_id = true && that.is_set_component_id();
+    if (this_present_component_id || that_present_component_id) {
+      if (!(this_present_component_id && that_present_component_id))
+        return false;
+      if (!this.component_id.equals(that.component_id))
+        return false;
+    }
+
+    boolean this_present_host = true && this.is_set_host();
+    boolean that_present_host = true && that.is_set_host();
+    if (this_present_host || that_present_host) {
+      if (!(this_present_host && that_present_host))
+        return false;
+      if (!this.host.equals(that.host))
+        return false;
+    }
+
+    boolean this_present_port = true;
+    boolean that_present_port = true;
+    if (this_present_port || that_present_port) {
+      if (!(this_present_port && that_present_port))
+        return false;
+      if (this.port != that.port)
+        return false;
+    }
+
+    boolean this_present_uptime_secs = true;
+    boolean that_present_uptime_secs = true;
+    if (this_present_uptime_secs || that_present_uptime_secs) {
+      if (!(this_present_uptime_secs && that_present_uptime_secs))
+        return false;
+      if (this.uptime_secs != that.uptime_secs)
+        return false;
+    }
+
+    boolean this_present_stats = true && this.is_set_stats();
+    boolean that_present_stats = true && that.is_set_stats();
+    if (this_present_stats || that_present_stats) {
+      if (!(this_present_stats && that_present_stats))
+        return false;
+      if (!this.stats.equals(that.stats))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_executor_info = true && (is_set_executor_info());
+    list.add(present_executor_info);
+    if (present_executor_info)
+      list.add(executor_info);
+
+    boolean present_component_id = true && (is_set_component_id());
+    list.add(present_component_id);
+    if (present_component_id)
+      list.add(component_id);
+
+    boolean present_host = true && (is_set_host());
+    list.add(present_host);
+    if (present_host)
+      list.add(host);
+
+    boolean present_port = true;
+    list.add(present_port);
+    if (present_port)
+      list.add(port);
+
+    boolean present_uptime_secs = true;
+    list.add(present_uptime_secs);
+    if (present_uptime_secs)
+      list.add(uptime_secs);
+
+    boolean present_stats = true && (is_set_stats());
+    list.add(present_stats);
+    if (present_stats)
+      list.add(stats);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(ExecutorSummary other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_executor_info()).compareTo(other.is_set_executor_info());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_executor_info()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.executor_info, other.executor_info);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_component_id()).compareTo(other.is_set_component_id());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_component_id()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.component_id, other.component_id);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_host()).compareTo(other.is_set_host());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_host()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.host, other.host);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_port()).compareTo(other.is_set_port());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_port()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.port, other.port);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_uptime_secs()).compareTo(other.is_set_uptime_secs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_uptime_secs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uptime_secs, other.uptime_secs);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_stats()).compareTo(other.is_set_stats());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_stats()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stats, other.stats);
+      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("ExecutorSummary(");
+    boolean first = true;
+
+    sb.append("executor_info:");
+    if (this.executor_info == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.executor_info);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("component_id:");
+    if (this.component_id == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.component_id);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("host:");
+    if (this.host == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.host);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("port:");
+    sb.append(this.port);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("uptime_secs:");
+    sb.append(this.uptime_secs);
+    first = false;
+    if (is_set_stats()) {
+      if (!first) sb.append(", ");
+      sb.append("stats:");
+      if (this.stats == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.stats);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!is_set_executor_info()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'executor_info' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_component_id()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'component_id' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_host()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'host' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_port()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'port' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_uptime_secs()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'uptime_secs' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+    if (executor_info != null) {
+      executor_info.validate();
+    }
+    if (stats != null) {
+      stats.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 {
+      // 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 ExecutorSummaryStandardSchemeFactory implements SchemeFactory {
+    public ExecutorSummaryStandardScheme getScheme() {
+      return new ExecutorSummaryStandardScheme();
+    }
+  }
+
+  private static class ExecutorSummaryStandardScheme extends StandardScheme<ExecutorSummary> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ExecutorSummary 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: // EXECUTOR_INFO
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.executor_info = new ExecutorInfo();
+              struct.executor_info.read(iprot);
+              struct.set_executor_info_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // COMPONENT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.component_id = iprot.readString();
+              struct.set_component_id_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // HOST
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.host = iprot.readString();
+              struct.set_host_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // PORT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.port = iprot.readI32();
+              struct.set_port_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // UPTIME_SECS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.uptime_secs = iprot.readI32();
+              struct.set_uptime_secs_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // STATS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.stats = new ExecutorStats();
+              struct.stats.read(iprot);
+              struct.set_stats_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, ExecutorSummary struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.executor_info != null) {
+        oprot.writeFieldBegin(EXECUTOR_INFO_FIELD_DESC);
+        struct.executor_info.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      if (struct.component_id != null) {
+        oprot.writeFieldBegin(COMPONENT_ID_FIELD_DESC);
+        oprot.writeString(struct.component_id);
+        oprot.writeFieldEnd();
+      }
+      if (struct.host != null) {
+        oprot.writeFieldBegin(HOST_FIELD_DESC);
+        oprot.writeString(struct.host);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(PORT_FIELD_DESC);
+      oprot.writeI32(struct.port);
+      oprot.writeFieldEnd();
+      oprot.writeFieldBegin(UPTIME_SECS_FIELD_DESC);
+      oprot.writeI32(struct.uptime_secs);
+      oprot.writeFieldEnd();
+      if (struct.stats != null) {
+        if (struct.is_set_stats()) {
+          oprot.writeFieldBegin(STATS_FIELD_DESC);
+          struct.stats.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ExecutorSummaryTupleSchemeFactory implements SchemeFactory {
+    public ExecutorSummaryTupleScheme getScheme() {
+      return new ExecutorSummaryTupleScheme();
+    }
+  }
+
+  private static class ExecutorSummaryTupleScheme extends TupleScheme<ExecutorSummary> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ExecutorSummary struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      struct.executor_info.write(oprot);
+      oprot.writeString(struct.component_id);
+      oprot.writeString(struct.host);
+      oprot.writeI32(struct.port);
+      oprot.writeI32(struct.uptime_secs);
+      BitSet optionals = new BitSet();
+      if (struct.is_set_stats()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.is_set_stats()) {
+        struct.stats.write(oprot);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ExecutorSummary struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.executor_info = new ExecutorInfo();
+      struct.executor_info.read(iprot);
+      struct.set_executor_info_isSet(true);
+      struct.component_id = iprot.readString();
+      struct.set_component_id_isSet(true);
+      struct.host = iprot.readString();
+      struct.set_host_isSet(true);
+      struct.port = iprot.readI32();
+      struct.set_port_isSet(true);
+      struct.uptime_secs = iprot.readI32();
+      struct.set_uptime_secs_isSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.stats = new ExecutorStats();
+        struct.stats.read(iprot);
+        struct.set_stats_isSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/storm/blob/4de339a8/storm-client/src/jvm/org/apache/storm/generated/GetInfoOptions.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/GetInfoOptions.java b/storm-client/src/jvm/org/apache/storm/generated/GetInfoOptions.java
new file mode 100644
index 0000000..de91563
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/GetInfoOptions.java
@@ -0,0 +1,422 @@
+/**
+ * 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 GetInfoOptions implements org.apache.thrift.TBase<GetInfoOptions, GetInfoOptions._Fields>, java.io.Serializable, Cloneable, Comparable<GetInfoOptions> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GetInfoOptions");
+
+  private static final org.apache.thrift.protocol.TField NUM_ERR_CHOICE_FIELD_DESC = new org.apache.thrift.protocol.TField("num_err_choice", org.apache.thrift.protocol.TType.I32, (short)1);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new GetInfoOptionsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new GetInfoOptionsTupleSchemeFactory());
+  }
+
+  private NumErrorsChoice num_err_choice; // 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 NumErrorsChoice
+     */
+    NUM_ERR_CHOICE((short)1, "num_err_choice");
+
+    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: // NUM_ERR_CHOICE
+          return NUM_ERR_CHOICE;
+        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.NUM_ERR_CHOICE};
+  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.NUM_ERR_CHOICE, new org.apache.thrift.meta_data.FieldMetaData("num_err_choice", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, NumErrorsChoice.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GetInfoOptions.class, metaDataMap);
+  }
+
+  public GetInfoOptions() {
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public GetInfoOptions(GetInfoOptions other) {
+    if (other.is_set_num_err_choice()) {
+      this.num_err_choice = other.num_err_choice;
+    }
+  }
+
+  public GetInfoOptions deepCopy() {
+    return new GetInfoOptions(this);
+  }
+
+  @Override
+  public void clear() {
+    this.num_err_choice = null;
+  }
+
+  /**
+   * 
+   * @see NumErrorsChoice
+   */
+  public NumErrorsChoice get_num_err_choice() {
+    return this.num_err_choice;
+  }
+
+  /**
+   * 
+   * @see NumErrorsChoice
+   */
+  public void set_num_err_choice(NumErrorsChoice num_err_choice) {
+    this.num_err_choice = num_err_choice;
+  }
+
+  public void unset_num_err_choice() {
+    this.num_err_choice = null;
+  }
+
+  /** Returns true if field num_err_choice is set (has been assigned a value) and false otherwise */
+  public boolean is_set_num_err_choice() {
+    return this.num_err_choice != null;
+  }
+
+  public void set_num_err_choice_isSet(boolean value) {
+    if (!value) {
+      this.num_err_choice = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case NUM_ERR_CHOICE:
+      if (value == null) {
+        unset_num_err_choice();
+      } else {
+        set_num_err_choice((NumErrorsChoice)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case NUM_ERR_CHOICE:
+      return get_num_err_choice();
+
+    }
+    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 NUM_ERR_CHOICE:
+      return is_set_num_err_choice();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof GetInfoOptions)
+      return this.equals((GetInfoOptions)that);
+    return false;
+  }
+
+  public boolean equals(GetInfoOptions that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_num_err_choice = true && this.is_set_num_err_choice();
+    boolean that_present_num_err_choice = true && that.is_set_num_err_choice();
+    if (this_present_num_err_choice || that_present_num_err_choice) {
+      if (!(this_present_num_err_choice && that_present_num_err_choice))
+        return false;
+      if (!this.num_err_choice.equals(that.num_err_choice))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_num_err_choice = true && (is_set_num_err_choice());
+    list.add(present_num_err_choice);
+    if (present_num_err_choice)
+      list.add(num_err_choice.getValue());
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(GetInfoOptions other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_num_err_choice()).compareTo(other.is_set_num_err_choice());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_num_err_choice()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.num_err_choice, other.num_err_choice);
+      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("GetInfoOptions(");
+    boolean first = true;
+
+    if (is_set_num_err_choice()) {
+      sb.append("num_err_choice:");
+      if (this.num_err_choice == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.num_err_choice);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // 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 GetInfoOptionsStandardSchemeFactory implements SchemeFactory {
+    public GetInfoOptionsStandardScheme getScheme() {
+      return new GetInfoOptionsStandardScheme();
+    }
+  }
+
+  private static class GetInfoOptionsStandardScheme extends StandardScheme<GetInfoOptions> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, GetInfoOptions 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: // NUM_ERR_CHOICE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.num_err_choice = org.apache.storm.generated.NumErrorsChoice.findByValue(iprot.readI32());
+              struct.set_num_err_choice_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, GetInfoOptions struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.num_err_choice != null) {
+        if (struct.is_set_num_err_choice()) {
+          oprot.writeFieldBegin(NUM_ERR_CHOICE_FIELD_DESC);
+          oprot.writeI32(struct.num_err_choice.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class GetInfoOptionsTupleSchemeFactory implements SchemeFactory {
+    public GetInfoOptionsTupleScheme getScheme() {
+      return new GetInfoOptionsTupleScheme();
+    }
+  }
+
+  private static class GetInfoOptionsTupleScheme extends TupleScheme<GetInfoOptions> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, GetInfoOptions struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.is_set_num_err_choice()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.is_set_num_err_choice()) {
+        oprot.writeI32(struct.num_err_choice.getValue());
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, GetInfoOptions struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.num_err_choice = org.apache.storm.generated.NumErrorsChoice.findByValue(iprot.readI32());
+        struct.set_num_err_choice_isSet(true);
+      }
+    }
+  }
+
+}
+