You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by kn...@apache.org on 2015/02/17 18:11:13 UTC

[04/18] storm git commit: Upgrade to thrift-0.9.2

http://git-wip-us.apache.org/repos/asf/storm/blob/ef51dbee/storm-core/src/jvm/backtype/storm/generated/SpoutStats.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/backtype/storm/generated/SpoutStats.java b/storm-core/src/jvm/backtype/storm/generated/SpoutStats.java
index 284f827..e03cfdc 100644
--- a/storm-core/src/jvm/backtype/storm/generated/SpoutStats.java
+++ b/storm-core/src/jvm/backtype/storm/generated/SpoutStats.java
@@ -16,13 +16,24 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.7.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
  */
 package backtype.storm.generated;
 
-import org.apache.commons.lang.builder.HashCodeBuilder;
+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;
@@ -35,16 +46,25 @@ 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;
 
-public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStats._Fields>, java.io.Serializable, Cloneable {
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-2-2")
+public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStats._Fields>, java.io.Serializable, Cloneable, Comparable<SpoutStats> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SpoutStats");
 
   private static final org.apache.thrift.protocol.TField ACKED_FIELD_DESC = new org.apache.thrift.protocol.TField("acked", org.apache.thrift.protocol.TType.MAP, (short)1);
   private static final org.apache.thrift.protocol.TField FAILED_FIELD_DESC = new org.apache.thrift.protocol.TField("failed", org.apache.thrift.protocol.TType.MAP, (short)2);
   private static final org.apache.thrift.protocol.TField COMPLETE_MS_AVG_FIELD_DESC = new org.apache.thrift.protocol.TField("complete_ms_avg", org.apache.thrift.protocol.TType.MAP, (short)3);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new SpoutStatsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new SpoutStatsTupleSchemeFactory());
+  }
+
   private Map<String,Map<String,Long>> acked; // required
   private Map<String,Map<String,Long>> failed; // required
   private Map<String,Map<String,Double>> complete_ms_avg; // required
@@ -114,7 +134,6 @@ public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStat
   }
 
   // isset id assignments
-
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -159,7 +178,7 @@ public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStat
    */
   public SpoutStats(SpoutStats other) {
     if (other.is_set_acked()) {
-      Map<String,Map<String,Long>> __this__acked = new HashMap<String,Map<String,Long>>();
+      Map<String,Map<String,Long>> __this__acked = new HashMap<String,Map<String,Long>>(other.acked.size());
       for (Map.Entry<String, Map<String,Long>> other_element : other.acked.entrySet()) {
 
         String other_element_key = other_element.getKey();
@@ -167,25 +186,14 @@ public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStat
 
         String __this__acked_copy_key = other_element_key;
 
-        Map<String,Long> __this__acked_copy_value = new HashMap<String,Long>();
-        for (Map.Entry<String, Long> other_element_value_element : other_element_value.entrySet()) {
-
-          String other_element_value_element_key = other_element_value_element.getKey();
-          Long other_element_value_element_value = other_element_value_element.getValue();
-
-          String __this__acked_copy_value_copy_key = other_element_value_element_key;
-
-          Long __this__acked_copy_value_copy_value = other_element_value_element_value;
-
-          __this__acked_copy_value.put(__this__acked_copy_value_copy_key, __this__acked_copy_value_copy_value);
-        }
+        Map<String,Long> __this__acked_copy_value = new HashMap<String,Long>(other_element_value);
 
         __this__acked.put(__this__acked_copy_key, __this__acked_copy_value);
       }
       this.acked = __this__acked;
     }
     if (other.is_set_failed()) {
-      Map<String,Map<String,Long>> __this__failed = new HashMap<String,Map<String,Long>>();
+      Map<String,Map<String,Long>> __this__failed = new HashMap<String,Map<String,Long>>(other.failed.size());
       for (Map.Entry<String, Map<String,Long>> other_element : other.failed.entrySet()) {
 
         String other_element_key = other_element.getKey();
@@ -193,25 +201,14 @@ public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStat
 
         String __this__failed_copy_key = other_element_key;
 
-        Map<String,Long> __this__failed_copy_value = new HashMap<String,Long>();
-        for (Map.Entry<String, Long> other_element_value_element : other_element_value.entrySet()) {
-
-          String other_element_value_element_key = other_element_value_element.getKey();
-          Long other_element_value_element_value = other_element_value_element.getValue();
-
-          String __this__failed_copy_value_copy_key = other_element_value_element_key;
-
-          Long __this__failed_copy_value_copy_value = other_element_value_element_value;
-
-          __this__failed_copy_value.put(__this__failed_copy_value_copy_key, __this__failed_copy_value_copy_value);
-        }
+        Map<String,Long> __this__failed_copy_value = new HashMap<String,Long>(other_element_value);
 
         __this__failed.put(__this__failed_copy_key, __this__failed_copy_value);
       }
       this.failed = __this__failed;
     }
     if (other.is_set_complete_ms_avg()) {
-      Map<String,Map<String,Double>> __this__complete_ms_avg = new HashMap<String,Map<String,Double>>();
+      Map<String,Map<String,Double>> __this__complete_ms_avg = new HashMap<String,Map<String,Double>>(other.complete_ms_avg.size());
       for (Map.Entry<String, Map<String,Double>> other_element : other.complete_ms_avg.entrySet()) {
 
         String other_element_key = other_element.getKey();
@@ -219,18 +216,7 @@ public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStat
 
         String __this__complete_ms_avg_copy_key = other_element_key;
 
-        Map<String,Double> __this__complete_ms_avg_copy_value = new HashMap<String,Double>();
-        for (Map.Entry<String, Double> other_element_value_element : other_element_value.entrySet()) {
-
-          String other_element_value_element_key = other_element_value_element.getKey();
-          Double other_element_value_element_value = other_element_value_element.getValue();
-
-          String __this__complete_ms_avg_copy_value_copy_key = other_element_value_element_key;
-
-          Double __this__complete_ms_avg_copy_value_copy_value = other_element_value_element_value;
-
-          __this__complete_ms_avg_copy_value.put(__this__complete_ms_avg_copy_value_copy_key, __this__complete_ms_avg_copy_value_copy_value);
-        }
+        Map<String,Double> __this__complete_ms_avg_copy_value = new HashMap<String,Double>(other_element_value);
 
         __this__complete_ms_avg.put(__this__complete_ms_avg_copy_key, __this__complete_ms_avg_copy_value);
       }
@@ -457,60 +443,60 @@ public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStat
 
   @Override
   public int hashCode() {
-    HashCodeBuilder builder = new HashCodeBuilder();
+    List<Object> list = new ArrayList<Object>();
 
     boolean present_acked = true && (is_set_acked());
-    builder.append(present_acked);
+    list.add(present_acked);
     if (present_acked)
-      builder.append(acked);
+      list.add(acked);
 
     boolean present_failed = true && (is_set_failed());
-    builder.append(present_failed);
+    list.add(present_failed);
     if (present_failed)
-      builder.append(failed);
+      list.add(failed);
 
     boolean present_complete_ms_avg = true && (is_set_complete_ms_avg());
-    builder.append(present_complete_ms_avg);
+    list.add(present_complete_ms_avg);
     if (present_complete_ms_avg)
-      builder.append(complete_ms_avg);
+      list.add(complete_ms_avg);
 
-    return builder.toHashCode();
+    return list.hashCode();
   }
 
+  @Override
   public int compareTo(SpoutStats other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    SpoutStats typedOther = (SpoutStats)other;
 
-    lastComparison = Boolean.valueOf(is_set_acked()).compareTo(typedOther.is_set_acked());
+    lastComparison = Boolean.valueOf(is_set_acked()).compareTo(other.is_set_acked());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_acked()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.acked, typedOther.acked);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.acked, other.acked);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_failed()).compareTo(typedOther.is_set_failed());
+    lastComparison = Boolean.valueOf(is_set_failed()).compareTo(other.is_set_failed());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_failed()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.failed, typedOther.failed);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.failed, other.failed);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_complete_ms_avg()).compareTo(typedOther.is_set_complete_ms_avg());
+    lastComparison = Boolean.valueOf(is_set_complete_ms_avg()).compareTo(other.is_set_complete_ms_avg());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_complete_ms_avg()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.complete_ms_avg, typedOther.complete_ms_avg);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.complete_ms_avg, other.complete_ms_avg);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -523,186 +509,11 @@ public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStat
   }
 
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    org.apache.thrift.protocol.TField field;
-    iprot.readStructBegin();
-    while (true)
-    {
-      field = iprot.readFieldBegin();
-      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
-        break;
-      }
-      switch (field.id) {
-        case 1: // ACKED
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map95 = iprot.readMapBegin();
-              this.acked = new HashMap<String,Map<String,Long>>(2*_map95.size);
-              for (int _i96 = 0; _i96 < _map95.size; ++_i96)
-              {
-                String _key97; // required
-                Map<String,Long> _val98; // required
-                _key97 = iprot.readString();
-                {
-                  org.apache.thrift.protocol.TMap _map99 = iprot.readMapBegin();
-                  _val98 = new HashMap<String,Long>(2*_map99.size);
-                  for (int _i100 = 0; _i100 < _map99.size; ++_i100)
-                  {
-                    String _key101; // required
-                    long _val102; // required
-                    _key101 = iprot.readString();
-                    _val102 = iprot.readI64();
-                    _val98.put(_key101, _val102);
-                  }
-                  iprot.readMapEnd();
-                }
-                this.acked.put(_key97, _val98);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // FAILED
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map103 = iprot.readMapBegin();
-              this.failed = new HashMap<String,Map<String,Long>>(2*_map103.size);
-              for (int _i104 = 0; _i104 < _map103.size; ++_i104)
-              {
-                String _key105; // required
-                Map<String,Long> _val106; // required
-                _key105 = iprot.readString();
-                {
-                  org.apache.thrift.protocol.TMap _map107 = iprot.readMapBegin();
-                  _val106 = new HashMap<String,Long>(2*_map107.size);
-                  for (int _i108 = 0; _i108 < _map107.size; ++_i108)
-                  {
-                    String _key109; // required
-                    long _val110; // required
-                    _key109 = iprot.readString();
-                    _val110 = iprot.readI64();
-                    _val106.put(_key109, _val110);
-                  }
-                  iprot.readMapEnd();
-                }
-                this.failed.put(_key105, _val106);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // COMPLETE_MS_AVG
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map111 = iprot.readMapBegin();
-              this.complete_ms_avg = new HashMap<String,Map<String,Double>>(2*_map111.size);
-              for (int _i112 = 0; _i112 < _map111.size; ++_i112)
-              {
-                String _key113; // required
-                Map<String,Double> _val114; // required
-                _key113 = iprot.readString();
-                {
-                  org.apache.thrift.protocol.TMap _map115 = iprot.readMapBegin();
-                  _val114 = new HashMap<String,Double>(2*_map115.size);
-                  for (int _i116 = 0; _i116 < _map115.size; ++_i116)
-                  {
-                    String _key117; // required
-                    double _val118; // required
-                    _key117 = iprot.readString();
-                    _val118 = iprot.readDouble();
-                    _val114.put(_key117, _val118);
-                  }
-                  iprot.readMapEnd();
-                }
-                this.complete_ms_avg.put(_key113, _val114);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        default:
-          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-      }
-      iprot.readFieldEnd();
-    }
-    iprot.readStructEnd();
-    validate();
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    validate();
-
-    oprot.writeStructBegin(STRUCT_DESC);
-    if (this.acked != null) {
-      oprot.writeFieldBegin(ACKED_FIELD_DESC);
-      {
-        oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, this.acked.size()));
-        for (Map.Entry<String, Map<String,Long>> _iter119 : this.acked.entrySet())
-        {
-          oprot.writeString(_iter119.getKey());
-          {
-            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, _iter119.getValue().size()));
-            for (Map.Entry<String, Long> _iter120 : _iter119.getValue().entrySet())
-            {
-              oprot.writeString(_iter120.getKey());
-              oprot.writeI64(_iter120.getValue());
-            }
-            oprot.writeMapEnd();
-          }
-        }
-        oprot.writeMapEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    if (this.failed != null) {
-      oprot.writeFieldBegin(FAILED_FIELD_DESC);
-      {
-        oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, this.failed.size()));
-        for (Map.Entry<String, Map<String,Long>> _iter121 : this.failed.entrySet())
-        {
-          oprot.writeString(_iter121.getKey());
-          {
-            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, _iter121.getValue().size()));
-            for (Map.Entry<String, Long> _iter122 : _iter121.getValue().entrySet())
-            {
-              oprot.writeString(_iter122.getKey());
-              oprot.writeI64(_iter122.getValue());
-            }
-            oprot.writeMapEnd();
-          }
-        }
-        oprot.writeMapEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    if (this.complete_ms_avg != null) {
-      oprot.writeFieldBegin(COMPLETE_MS_AVG_FIELD_DESC);
-      {
-        oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, this.complete_ms_avg.size()));
-        for (Map.Entry<String, Map<String,Double>> _iter123 : this.complete_ms_avg.entrySet())
-        {
-          oprot.writeString(_iter123.getKey());
-          {
-            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, _iter123.getValue().size()));
-            for (Map.Entry<String, Double> _iter124 : _iter123.getValue().entrySet())
-            {
-              oprot.writeString(_iter124.getKey());
-              oprot.writeDouble(_iter124.getValue());
-            }
-            oprot.writeMapEnd();
-          }
-        }
-        oprot.writeMapEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -751,6 +562,7 @@ public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStat
       throw new org.apache.thrift.protocol.TProtocolException("Required field 'complete_ms_avg' is unset! Struct:" + toString());
     }
 
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -769,5 +581,337 @@ public class SpoutStats implements org.apache.thrift.TBase<SpoutStats, SpoutStat
     }
   }
 
+  private static class SpoutStatsStandardSchemeFactory implements SchemeFactory {
+    public SpoutStatsStandardScheme getScheme() {
+      return new SpoutStatsStandardScheme();
+    }
+  }
+
+  private static class SpoutStatsStandardScheme extends StandardScheme<SpoutStats> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, SpoutStats 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: // ACKED
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map190 = iprot.readMapBegin();
+                struct.acked = new HashMap<String,Map<String,Long>>(2*_map190.size);
+                String _key191;
+                Map<String,Long> _val192;
+                for (int _i193 = 0; _i193 < _map190.size; ++_i193)
+                {
+                  _key191 = iprot.readString();
+                  {
+                    org.apache.thrift.protocol.TMap _map194 = iprot.readMapBegin();
+                    _val192 = new HashMap<String,Long>(2*_map194.size);
+                    String _key195;
+                    long _val196;
+                    for (int _i197 = 0; _i197 < _map194.size; ++_i197)
+                    {
+                      _key195 = iprot.readString();
+                      _val196 = iprot.readI64();
+                      _val192.put(_key195, _val196);
+                    }
+                    iprot.readMapEnd();
+                  }
+                  struct.acked.put(_key191, _val192);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_acked_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // FAILED
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map198 = iprot.readMapBegin();
+                struct.failed = new HashMap<String,Map<String,Long>>(2*_map198.size);
+                String _key199;
+                Map<String,Long> _val200;
+                for (int _i201 = 0; _i201 < _map198.size; ++_i201)
+                {
+                  _key199 = iprot.readString();
+                  {
+                    org.apache.thrift.protocol.TMap _map202 = iprot.readMapBegin();
+                    _val200 = new HashMap<String,Long>(2*_map202.size);
+                    String _key203;
+                    long _val204;
+                    for (int _i205 = 0; _i205 < _map202.size; ++_i205)
+                    {
+                      _key203 = iprot.readString();
+                      _val204 = iprot.readI64();
+                      _val200.put(_key203, _val204);
+                    }
+                    iprot.readMapEnd();
+                  }
+                  struct.failed.put(_key199, _val200);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_failed_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // COMPLETE_MS_AVG
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map206 = iprot.readMapBegin();
+                struct.complete_ms_avg = new HashMap<String,Map<String,Double>>(2*_map206.size);
+                String _key207;
+                Map<String,Double> _val208;
+                for (int _i209 = 0; _i209 < _map206.size; ++_i209)
+                {
+                  _key207 = iprot.readString();
+                  {
+                    org.apache.thrift.protocol.TMap _map210 = iprot.readMapBegin();
+                    _val208 = new HashMap<String,Double>(2*_map210.size);
+                    String _key211;
+                    double _val212;
+                    for (int _i213 = 0; _i213 < _map210.size; ++_i213)
+                    {
+                      _key211 = iprot.readString();
+                      _val212 = iprot.readDouble();
+                      _val208.put(_key211, _val212);
+                    }
+                    iprot.readMapEnd();
+                  }
+                  struct.complete_ms_avg.put(_key207, _val208);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_complete_ms_avg_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, SpoutStats struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.acked != null) {
+        oprot.writeFieldBegin(ACKED_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, struct.acked.size()));
+          for (Map.Entry<String, Map<String,Long>> _iter214 : struct.acked.entrySet())
+          {
+            oprot.writeString(_iter214.getKey());
+            {
+              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, _iter214.getValue().size()));
+              for (Map.Entry<String, Long> _iter215 : _iter214.getValue().entrySet())
+              {
+                oprot.writeString(_iter215.getKey());
+                oprot.writeI64(_iter215.getValue());
+              }
+              oprot.writeMapEnd();
+            }
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.failed != null) {
+        oprot.writeFieldBegin(FAILED_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, struct.failed.size()));
+          for (Map.Entry<String, Map<String,Long>> _iter216 : struct.failed.entrySet())
+          {
+            oprot.writeString(_iter216.getKey());
+            {
+              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, _iter216.getValue().size()));
+              for (Map.Entry<String, Long> _iter217 : _iter216.getValue().entrySet())
+              {
+                oprot.writeString(_iter217.getKey());
+                oprot.writeI64(_iter217.getValue());
+              }
+              oprot.writeMapEnd();
+            }
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.complete_ms_avg != null) {
+        oprot.writeFieldBegin(COMPLETE_MS_AVG_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, struct.complete_ms_avg.size()));
+          for (Map.Entry<String, Map<String,Double>> _iter218 : struct.complete_ms_avg.entrySet())
+          {
+            oprot.writeString(_iter218.getKey());
+            {
+              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, _iter218.getValue().size()));
+              for (Map.Entry<String, Double> _iter219 : _iter218.getValue().entrySet())
+              {
+                oprot.writeString(_iter219.getKey());
+                oprot.writeDouble(_iter219.getValue());
+              }
+              oprot.writeMapEnd();
+            }
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class SpoutStatsTupleSchemeFactory implements SchemeFactory {
+    public SpoutStatsTupleScheme getScheme() {
+      return new SpoutStatsTupleScheme();
+    }
+  }
+
+  private static class SpoutStatsTupleScheme extends TupleScheme<SpoutStats> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, SpoutStats struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      {
+        oprot.writeI32(struct.acked.size());
+        for (Map.Entry<String, Map<String,Long>> _iter220 : struct.acked.entrySet())
+        {
+          oprot.writeString(_iter220.getKey());
+          {
+            oprot.writeI32(_iter220.getValue().size());
+            for (Map.Entry<String, Long> _iter221 : _iter220.getValue().entrySet())
+            {
+              oprot.writeString(_iter221.getKey());
+              oprot.writeI64(_iter221.getValue());
+            }
+          }
+        }
+      }
+      {
+        oprot.writeI32(struct.failed.size());
+        for (Map.Entry<String, Map<String,Long>> _iter222 : struct.failed.entrySet())
+        {
+          oprot.writeString(_iter222.getKey());
+          {
+            oprot.writeI32(_iter222.getValue().size());
+            for (Map.Entry<String, Long> _iter223 : _iter222.getValue().entrySet())
+            {
+              oprot.writeString(_iter223.getKey());
+              oprot.writeI64(_iter223.getValue());
+            }
+          }
+        }
+      }
+      {
+        oprot.writeI32(struct.complete_ms_avg.size());
+        for (Map.Entry<String, Map<String,Double>> _iter224 : struct.complete_ms_avg.entrySet())
+        {
+          oprot.writeString(_iter224.getKey());
+          {
+            oprot.writeI32(_iter224.getValue().size());
+            for (Map.Entry<String, Double> _iter225 : _iter224.getValue().entrySet())
+            {
+              oprot.writeString(_iter225.getKey());
+              oprot.writeDouble(_iter225.getValue());
+            }
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, SpoutStats struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      {
+        org.apache.thrift.protocol.TMap _map226 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, iprot.readI32());
+        struct.acked = new HashMap<String,Map<String,Long>>(2*_map226.size);
+        String _key227;
+        Map<String,Long> _val228;
+        for (int _i229 = 0; _i229 < _map226.size; ++_i229)
+        {
+          _key227 = iprot.readString();
+          {
+            org.apache.thrift.protocol.TMap _map230 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, iprot.readI32());
+            _val228 = new HashMap<String,Long>(2*_map230.size);
+            String _key231;
+            long _val232;
+            for (int _i233 = 0; _i233 < _map230.size; ++_i233)
+            {
+              _key231 = iprot.readString();
+              _val232 = iprot.readI64();
+              _val228.put(_key231, _val232);
+            }
+          }
+          struct.acked.put(_key227, _val228);
+        }
+      }
+      struct.set_acked_isSet(true);
+      {
+        org.apache.thrift.protocol.TMap _map234 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, iprot.readI32());
+        struct.failed = new HashMap<String,Map<String,Long>>(2*_map234.size);
+        String _key235;
+        Map<String,Long> _val236;
+        for (int _i237 = 0; _i237 < _map234.size; ++_i237)
+        {
+          _key235 = iprot.readString();
+          {
+            org.apache.thrift.protocol.TMap _map238 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I64, iprot.readI32());
+            _val236 = new HashMap<String,Long>(2*_map238.size);
+            String _key239;
+            long _val240;
+            for (int _i241 = 0; _i241 < _map238.size; ++_i241)
+            {
+              _key239 = iprot.readString();
+              _val240 = iprot.readI64();
+              _val236.put(_key239, _val240);
+            }
+          }
+          struct.failed.put(_key235, _val236);
+        }
+      }
+      struct.set_failed_isSet(true);
+      {
+        org.apache.thrift.protocol.TMap _map242 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, iprot.readI32());
+        struct.complete_ms_avg = new HashMap<String,Map<String,Double>>(2*_map242.size);
+        String _key243;
+        Map<String,Double> _val244;
+        for (int _i245 = 0; _i245 < _map242.size; ++_i245)
+        {
+          _key243 = iprot.readString();
+          {
+            org.apache.thrift.protocol.TMap _map246 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, iprot.readI32());
+            _val244 = new HashMap<String,Double>(2*_map246.size);
+            String _key247;
+            double _val248;
+            for (int _i249 = 0; _i249 < _map246.size; ++_i249)
+            {
+              _key247 = iprot.readString();
+              _val248 = iprot.readDouble();
+              _val244.put(_key247, _val248);
+            }
+          }
+          struct.complete_ms_avg.put(_key243, _val244);
+        }
+      }
+      struct.set_complete_ms_avg_isSet(true);
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/storm/blob/ef51dbee/storm-core/src/jvm/backtype/storm/generated/StateSpoutSpec.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/backtype/storm/generated/StateSpoutSpec.java b/storm-core/src/jvm/backtype/storm/generated/StateSpoutSpec.java
index d89f0fb..f721a14 100644
--- a/storm-core/src/jvm/backtype/storm/generated/StateSpoutSpec.java
+++ b/storm-core/src/jvm/backtype/storm/generated/StateSpoutSpec.java
@@ -16,13 +16,24 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.7.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
  */
 package backtype.storm.generated;
 
-import org.apache.commons.lang.builder.HashCodeBuilder;
+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;
@@ -35,15 +46,24 @@ 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;
 
-public class StateSpoutSpec implements org.apache.thrift.TBase<StateSpoutSpec, StateSpoutSpec._Fields>, java.io.Serializable, Cloneable {
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-2-2")
+public class StateSpoutSpec implements org.apache.thrift.TBase<StateSpoutSpec, StateSpoutSpec._Fields>, java.io.Serializable, Cloneable, Comparable<StateSpoutSpec> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StateSpoutSpec");
 
   private static final org.apache.thrift.protocol.TField STATE_SPOUT_OBJECT_FIELD_DESC = new org.apache.thrift.protocol.TField("state_spout_object", org.apache.thrift.protocol.TType.STRUCT, (short)1);
   private static final org.apache.thrift.protocol.TField COMMON_FIELD_DESC = new org.apache.thrift.protocol.TField("common", 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 StateSpoutSpecStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new StateSpoutSpecTupleSchemeFactory());
+  }
+
   private ComponentObject state_spout_object; // required
   private ComponentCommon common; // required
 
@@ -109,7 +129,6 @@ public class StateSpoutSpec implements org.apache.thrift.TBase<StateSpoutSpec, S
   }
 
   // isset id assignments
-
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -285,45 +304,45 @@ public class StateSpoutSpec implements org.apache.thrift.TBase<StateSpoutSpec, S
 
   @Override
   public int hashCode() {
-    HashCodeBuilder builder = new HashCodeBuilder();
+    List<Object> list = new ArrayList<Object>();
 
     boolean present_state_spout_object = true && (is_set_state_spout_object());
-    builder.append(present_state_spout_object);
+    list.add(present_state_spout_object);
     if (present_state_spout_object)
-      builder.append(state_spout_object);
+      list.add(state_spout_object);
 
     boolean present_common = true && (is_set_common());
-    builder.append(present_common);
+    list.add(present_common);
     if (present_common)
-      builder.append(common);
+      list.add(common);
 
-    return builder.toHashCode();
+    return list.hashCode();
   }
 
+  @Override
   public int compareTo(StateSpoutSpec other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    StateSpoutSpec typedOther = (StateSpoutSpec)other;
 
-    lastComparison = Boolean.valueOf(is_set_state_spout_object()).compareTo(typedOther.is_set_state_spout_object());
+    lastComparison = Boolean.valueOf(is_set_state_spout_object()).compareTo(other.is_set_state_spout_object());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_state_spout_object()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state_spout_object, typedOther.state_spout_object);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state_spout_object, other.state_spout_object);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_common()).compareTo(typedOther.is_set_common());
+    lastComparison = Boolean.valueOf(is_set_common()).compareTo(other.is_set_common());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_common()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.common, typedOther.common);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.common, other.common);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -336,56 +355,11 @@ public class StateSpoutSpec implements org.apache.thrift.TBase<StateSpoutSpec, S
   }
 
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    org.apache.thrift.protocol.TField field;
-    iprot.readStructBegin();
-    while (true)
-    {
-      field = iprot.readFieldBegin();
-      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
-        break;
-      }
-      switch (field.id) {
-        case 1: // STATE_SPOUT_OBJECT
-          if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
-            this.state_spout_object = new ComponentObject();
-            this.state_spout_object.read(iprot);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // COMMON
-          if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
-            this.common = new ComponentCommon();
-            this.common.read(iprot);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        default:
-          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-      }
-      iprot.readFieldEnd();
-    }
-    iprot.readStructEnd();
-    validate();
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    validate();
-
-    oprot.writeStructBegin(STRUCT_DESC);
-    if (this.state_spout_object != null) {
-      oprot.writeFieldBegin(STATE_SPOUT_OBJECT_FIELD_DESC);
-      this.state_spout_object.write(oprot);
-      oprot.writeFieldEnd();
-    }
-    if (this.common != null) {
-      oprot.writeFieldBegin(COMMON_FIELD_DESC);
-      this.common.write(oprot);
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -422,6 +396,10 @@ public class StateSpoutSpec implements org.apache.thrift.TBase<StateSpoutSpec, S
       throw new org.apache.thrift.protocol.TProtocolException("Required field 'common' is unset! Struct:" + toString());
     }
 
+    // check for sub-struct validity
+    if (common != null) {
+      common.validate();
+    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -440,5 +418,97 @@ public class StateSpoutSpec implements org.apache.thrift.TBase<StateSpoutSpec, S
     }
   }
 
+  private static class StateSpoutSpecStandardSchemeFactory implements SchemeFactory {
+    public StateSpoutSpecStandardScheme getScheme() {
+      return new StateSpoutSpecStandardScheme();
+    }
+  }
+
+  private static class StateSpoutSpecStandardScheme extends StandardScheme<StateSpoutSpec> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, StateSpoutSpec 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: // STATE_SPOUT_OBJECT
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.state_spout_object = new ComponentObject();
+              struct.state_spout_object.read(iprot);
+              struct.set_state_spout_object_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // COMMON
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.common = new ComponentCommon();
+              struct.common.read(iprot);
+              struct.set_common_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, StateSpoutSpec struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.state_spout_object != null) {
+        oprot.writeFieldBegin(STATE_SPOUT_OBJECT_FIELD_DESC);
+        struct.state_spout_object.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      if (struct.common != null) {
+        oprot.writeFieldBegin(COMMON_FIELD_DESC);
+        struct.common.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class StateSpoutSpecTupleSchemeFactory implements SchemeFactory {
+    public StateSpoutSpecTupleScheme getScheme() {
+      return new StateSpoutSpecTupleScheme();
+    }
+  }
+
+  private static class StateSpoutSpecTupleScheme extends TupleScheme<StateSpoutSpec> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, StateSpoutSpec struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      struct.state_spout_object.write(oprot);
+      struct.common.write(oprot);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, StateSpoutSpec struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.state_spout_object = new ComponentObject();
+      struct.state_spout_object.read(iprot);
+      struct.set_state_spout_object_isSet(true);
+      struct.common = new ComponentCommon();
+      struct.common.read(iprot);
+      struct.set_common_isSet(true);
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/storm/blob/ef51dbee/storm-core/src/jvm/backtype/storm/generated/StormTopology.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/backtype/storm/generated/StormTopology.java b/storm-core/src/jvm/backtype/storm/generated/StormTopology.java
index 1ec2b99..6da8287 100644
--- a/storm-core/src/jvm/backtype/storm/generated/StormTopology.java
+++ b/storm-core/src/jvm/backtype/storm/generated/StormTopology.java
@@ -16,13 +16,24 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.7.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
  */
 package backtype.storm.generated;
 
-import org.apache.commons.lang.builder.HashCodeBuilder;
+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;
@@ -35,16 +46,25 @@ 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;
 
-public class StormTopology implements org.apache.thrift.TBase<StormTopology, StormTopology._Fields>, java.io.Serializable, Cloneable {
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-2-2")
+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 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
@@ -114,7 +134,6 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
   }
 
   // isset id assignments
-
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -153,7 +172,7 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
    */
   public StormTopology(StormTopology other) {
     if (other.is_set_spouts()) {
-      Map<String,SpoutSpec> __this__spouts = new HashMap<String,SpoutSpec>();
+      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();
@@ -168,7 +187,7 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
       this.spouts = __this__spouts;
     }
     if (other.is_set_bolts()) {
-      Map<String,Bolt> __this__bolts = new HashMap<String,Bolt>();
+      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();
@@ -183,7 +202,7 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
       this.bolts = __this__bolts;
     }
     if (other.is_set_state_spouts()) {
-      Map<String,StateSpoutSpec> __this__state_spouts = new HashMap<String,StateSpoutSpec>();
+      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();
@@ -418,60 +437,60 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
 
   @Override
   public int hashCode() {
-    HashCodeBuilder builder = new HashCodeBuilder();
+    List<Object> list = new ArrayList<Object>();
 
     boolean present_spouts = true && (is_set_spouts());
-    builder.append(present_spouts);
+    list.add(present_spouts);
     if (present_spouts)
-      builder.append(spouts);
+      list.add(spouts);
 
     boolean present_bolts = true && (is_set_bolts());
-    builder.append(present_bolts);
+    list.add(present_bolts);
     if (present_bolts)
-      builder.append(bolts);
+      list.add(bolts);
 
     boolean present_state_spouts = true && (is_set_state_spouts());
-    builder.append(present_state_spouts);
+    list.add(present_state_spouts);
     if (present_state_spouts)
-      builder.append(state_spouts);
+      list.add(state_spouts);
 
-    return builder.toHashCode();
+    return list.hashCode();
   }
 
+  @Override
   public int compareTo(StormTopology other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    StormTopology typedOther = (StormTopology)other;
 
-    lastComparison = Boolean.valueOf(is_set_spouts()).compareTo(typedOther.is_set_spouts());
+    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, typedOther.spouts);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.spouts, other.spouts);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_bolts()).compareTo(typedOther.is_set_bolts());
+    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, typedOther.bolts);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.bolts, other.bolts);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_state_spouts()).compareTo(typedOther.is_set_state_spouts());
+    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, typedOther.state_spouts);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state_spouts, other.state_spouts);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -484,129 +503,11 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
   }
 
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    org.apache.thrift.protocol.TField field;
-    iprot.readStructBegin();
-    while (true)
-    {
-      field = iprot.readFieldBegin();
-      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
-        break;
-      }
-      switch (field.id) {
-        case 1: // SPOUTS
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map22 = iprot.readMapBegin();
-              this.spouts = new HashMap<String,SpoutSpec>(2*_map22.size);
-              for (int _i23 = 0; _i23 < _map22.size; ++_i23)
-              {
-                String _key24; // required
-                SpoutSpec _val25; // required
-                _key24 = iprot.readString();
-                _val25 = new SpoutSpec();
-                _val25.read(iprot);
-                this.spouts.put(_key24, _val25);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // BOLTS
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map26 = iprot.readMapBegin();
-              this.bolts = new HashMap<String,Bolt>(2*_map26.size);
-              for (int _i27 = 0; _i27 < _map26.size; ++_i27)
-              {
-                String _key28; // required
-                Bolt _val29; // required
-                _key28 = iprot.readString();
-                _val29 = new Bolt();
-                _val29.read(iprot);
-                this.bolts.put(_key28, _val29);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // STATE_SPOUTS
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map30 = iprot.readMapBegin();
-              this.state_spouts = new HashMap<String,StateSpoutSpec>(2*_map30.size);
-              for (int _i31 = 0; _i31 < _map30.size; ++_i31)
-              {
-                String _key32; // required
-                StateSpoutSpec _val33; // required
-                _key32 = iprot.readString();
-                _val33 = new StateSpoutSpec();
-                _val33.read(iprot);
-                this.state_spouts.put(_key32, _val33);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        default:
-          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-      }
-      iprot.readFieldEnd();
-    }
-    iprot.readStructEnd();
-    validate();
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    validate();
-
-    oprot.writeStructBegin(STRUCT_DESC);
-    if (this.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, this.spouts.size()));
-        for (Map.Entry<String, SpoutSpec> _iter34 : this.spouts.entrySet())
-        {
-          oprot.writeString(_iter34.getKey());
-          _iter34.getValue().write(oprot);
-        }
-        oprot.writeMapEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    if (this.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, this.bolts.size()));
-        for (Map.Entry<String, Bolt> _iter35 : this.bolts.entrySet())
-        {
-          oprot.writeString(_iter35.getKey());
-          _iter35.getValue().write(oprot);
-        }
-        oprot.writeMapEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    if (this.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, this.state_spouts.size()));
-        for (Map.Entry<String, StateSpoutSpec> _iter36 : this.state_spouts.entrySet())
-        {
-          oprot.writeString(_iter36.getKey());
-          _iter36.getValue().write(oprot);
-        }
-        oprot.writeMapEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -655,6 +556,7 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
       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 {
@@ -673,5 +575,229 @@ public class StormTopology implements org.apache.thrift.TBase<StormTopology, Sto
     }
   }
 
+  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;
+          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> _iter56 : struct.spouts.entrySet())
+          {
+            oprot.writeString(_iter56.getKey());
+            _iter56.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> _iter57 : struct.bolts.entrySet())
+          {
+            oprot.writeString(_iter57.getKey());
+            _iter57.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> _iter58 : struct.state_spouts.entrySet())
+          {
+            oprot.writeString(_iter58.getKey());
+            _iter58.getValue().write(oprot);
+          }
+          oprot.writeMapEnd();
+        }
+        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> _iter59 : struct.spouts.entrySet())
+        {
+          oprot.writeString(_iter59.getKey());
+          _iter59.getValue().write(oprot);
+        }
+      }
+      {
+        oprot.writeI32(struct.bolts.size());
+        for (Map.Entry<String, Bolt> _iter60 : struct.bolts.entrySet())
+        {
+          oprot.writeString(_iter60.getKey());
+          _iter60.getValue().write(oprot);
+        }
+      }
+      {
+        oprot.writeI32(struct.state_spouts.size());
+        for (Map.Entry<String, StateSpoutSpec> _iter61 : struct.state_spouts.entrySet())
+        {
+          oprot.writeString(_iter61.getKey());
+          _iter61.getValue().write(oprot);
+        }
+      }
+    }
+
+    @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 _map62 = 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*_map62.size);
+        String _key63;
+        SpoutSpec _val64;
+        for (int _i65 = 0; _i65 < _map62.size; ++_i65)
+        {
+          _key63 = iprot.readString();
+          _val64 = new SpoutSpec();
+          _val64.read(iprot);
+          struct.spouts.put(_key63, _val64);
+        }
+      }
+      struct.set_spouts_isSet(true);
+      {
+        org.apache.thrift.protocol.TMap _map66 = 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*_map66.size);
+        String _key67;
+        Bolt _val68;
+        for (int _i69 = 0; _i69 < _map66.size; ++_i69)
+        {
+          _key67 = iprot.readString();
+          _val68 = new Bolt();
+          _val68.read(iprot);
+          struct.bolts.put(_key67, _val68);
+        }
+      }
+      struct.set_bolts_isSet(true);
+      {
+        org.apache.thrift.protocol.TMap _map70 = 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*_map70.size);
+        String _key71;
+        StateSpoutSpec _val72;
+        for (int _i73 = 0; _i73 < _map70.size; ++_i73)
+        {
+          _key71 = iprot.readString();
+          _val72 = new StateSpoutSpec();
+          _val72.read(iprot);
+          struct.state_spouts.put(_key71, _val72);
+        }
+      }
+      struct.set_state_spouts_isSet(true);
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/storm/blob/ef51dbee/storm-core/src/jvm/backtype/storm/generated/StreamInfo.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/backtype/storm/generated/StreamInfo.java b/storm-core/src/jvm/backtype/storm/generated/StreamInfo.java
index 7cd9bb8..18339c0 100644
--- a/storm-core/src/jvm/backtype/storm/generated/StreamInfo.java
+++ b/storm-core/src/jvm/backtype/storm/generated/StreamInfo.java
@@ -16,13 +16,24 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.7.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
  */
 package backtype.storm.generated;
 
-import org.apache.commons.lang.builder.HashCodeBuilder;
+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;
@@ -35,15 +46,24 @@ 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;
 
-public class StreamInfo implements org.apache.thrift.TBase<StreamInfo, StreamInfo._Fields>, java.io.Serializable, Cloneable {
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-2-2")
+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
 
@@ -110,8 +130,7 @@ public class StreamInfo implements org.apache.thrift.TBase<StreamInfo, StreamInf
 
   // isset id assignments
   private static final int __DIRECT_ISSET_ID = 0;
-  private BitSet __isset_bit_vector = new BitSet(1);
-
+  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);
@@ -141,13 +160,9 @@ public class StreamInfo implements org.apache.thrift.TBase<StreamInfo, StreamInf
    * Performs a deep copy on <i>other</i>.
    */
   public StreamInfo(StreamInfo other) {
-    __isset_bit_vector.clear();
-    __isset_bit_vector.or(other.__isset_bit_vector);
+    __isset_bitfield = other.__isset_bitfield;
     if (other.is_set_output_fields()) {
-      List<String> __this__output_fields = new ArrayList<String>();
-      for (String other_element : other.output_fields) {
-        __this__output_fields.add(other_element);
-      }
+      List<String> __this__output_fields = new ArrayList<String>(other.output_fields);
       this.output_fields = __this__output_fields;
     }
     this.direct = other.direct;
@@ -212,16 +227,16 @@ public class StreamInfo implements org.apache.thrift.TBase<StreamInfo, StreamInf
   }
 
   public void unset_direct() {
-    __isset_bit_vector.clear(__DIRECT_ISSET_ID);
+    __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 __isset_bit_vector.get(__DIRECT_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __DIRECT_ISSET_ID);
   }
 
   public void set_direct_isSet(boolean value) {
-    __isset_bit_vector.set(__DIRECT_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DIRECT_ISSET_ID, value);
   }
 
   public void setFieldValue(_Fields field, Object value) {
@@ -308,45 +323,45 @@ public class StreamInfo implements org.apache.thrift.TBase<StreamInfo, StreamInf
 
   @Override
   public int hashCode() {
-    HashCodeBuilder builder = new HashCodeBuilder();
+    List<Object> list = new ArrayList<Object>();
 
     boolean present_output_fields = true && (is_set_output_fields());
-    builder.append(present_output_fields);
+    list.add(present_output_fields);
     if (present_output_fields)
-      builder.append(output_fields);
+      list.add(output_fields);
 
     boolean present_direct = true;
-    builder.append(present_direct);
+    list.add(present_direct);
     if (present_direct)
-      builder.append(direct);
+      list.add(direct);
 
-    return builder.toHashCode();
+    return list.hashCode();
   }
 
+  @Override
   public int compareTo(StreamInfo other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    StreamInfo typedOther = (StreamInfo)other;
 
-    lastComparison = Boolean.valueOf(is_set_output_fields()).compareTo(typedOther.is_set_output_fields());
+    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, typedOther.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(typedOther.is_set_direct());
+    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, typedOther.direct);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.direct, other.direct);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -359,70 +374,11 @@ public class StreamInfo implements org.apache.thrift.TBase<StreamInfo, StreamInf
   }
 
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    org.apache.thrift.protocol.TField field;
-    iprot.readStructBegin();
-    while (true)
-    {
-      field = iprot.readFieldBegin();
-      if (field.type == org.apache.thrift.protocol.TType.STOP) { 
-        break;
-      }
-      switch (field.id) {
-        case 1: // OUTPUT_FIELDS
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
-              this.output_fields = new ArrayList<String>(_list8.size);
-              for (int _i9 = 0; _i9 < _list8.size; ++_i9)
-              {
-                String _elem10; // required
-                _elem10 = iprot.readString();
-                this.output_fields.add(_elem10);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // DIRECT
-          if (field.type == org.apache.thrift.protocol.TType.BOOL) {
-            this.direct = iprot.readBool();
-            set_direct_isSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        default:
-          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-      }
-      iprot.readFieldEnd();
-    }
-    iprot.readStructEnd();
-    validate();
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    validate();
-
-    oprot.writeStructBegin(STRUCT_DESC);
-    if (this.output_fields != null) {
-      oprot.writeFieldBegin(OUTPUT_FIELDS_FIELD_DESC);
-      {
-        oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, this.output_fields.size()));
-        for (String _iter11 : this.output_fields)
-        {
-          oprot.writeString(_iter11);
-        }
-        oprot.writeListEnd();
-      }
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldBegin(DIRECT_FIELD_DESC);
-    oprot.writeBool(this.direct);
-    oprot.writeFieldEnd();
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -455,6 +411,7 @@ public class StreamInfo implements org.apache.thrift.TBase<StreamInfo, StreamInf
       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 {
@@ -468,12 +425,130 @@ public class StreamInfo implements org.apache.thrift.TBase<StreamInfo, StreamInf
   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_bit_vector = new BitSet(1);
+      __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);
+    }
+  }
+
 }