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

[33/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/ComponentAggregateStats.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/ComponentAggregateStats.java b/storm-client/src/jvm/org/apache/storm/generated/ComponentAggregateStats.java
new file mode 100644
index 0000000..2c68331
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/ComponentAggregateStats.java
@@ -0,0 +1,752 @@
+/**
+ * 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 ComponentAggregateStats implements org.apache.thrift.TBase<ComponentAggregateStats, ComponentAggregateStats._Fields>, java.io.Serializable, Cloneable, Comparable<ComponentAggregateStats> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComponentAggregateStats");
+
+  private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.I32, (short)1);
+  private static final org.apache.thrift.protocol.TField COMMON_STATS_FIELD_DESC = new org.apache.thrift.protocol.TField("common_stats", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+  private static final org.apache.thrift.protocol.TField SPECIFIC_STATS_FIELD_DESC = new org.apache.thrift.protocol.TField("specific_stats", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+  private static final org.apache.thrift.protocol.TField LAST_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("last_error", org.apache.thrift.protocol.TType.STRUCT, (short)4);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ComponentAggregateStatsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ComponentAggregateStatsTupleSchemeFactory());
+  }
+
+  private ComponentType type; // optional
+  private CommonAggregateStats common_stats; // optional
+  private SpecificAggregateStats specific_stats; // optional
+  private ErrorInfo last_error; // 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 ComponentType
+     */
+    TYPE((short)1, "type"),
+    COMMON_STATS((short)2, "common_stats"),
+    SPECIFIC_STATS((short)3, "specific_stats"),
+    LAST_ERROR((short)4, "last_error");
+
+    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: // TYPE
+          return TYPE;
+        case 2: // COMMON_STATS
+          return COMMON_STATS;
+        case 3: // SPECIFIC_STATS
+          return SPECIFIC_STATS;
+        case 4: // LAST_ERROR
+          return LAST_ERROR;
+        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.TYPE,_Fields.COMMON_STATS,_Fields.SPECIFIC_STATS,_Fields.LAST_ERROR};
+  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.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ComponentType.class)));
+    tmpMap.put(_Fields.COMMON_STATS, new org.apache.thrift.meta_data.FieldMetaData("common_stats", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CommonAggregateStats.class)));
+    tmpMap.put(_Fields.SPECIFIC_STATS, new org.apache.thrift.meta_data.FieldMetaData("specific_stats", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SpecificAggregateStats.class)));
+    tmpMap.put(_Fields.LAST_ERROR, new org.apache.thrift.meta_data.FieldMetaData("last_error", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ErrorInfo.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComponentAggregateStats.class, metaDataMap);
+  }
+
+  public ComponentAggregateStats() {
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ComponentAggregateStats(ComponentAggregateStats other) {
+    if (other.is_set_type()) {
+      this.type = other.type;
+    }
+    if (other.is_set_common_stats()) {
+      this.common_stats = new CommonAggregateStats(other.common_stats);
+    }
+    if (other.is_set_specific_stats()) {
+      this.specific_stats = new SpecificAggregateStats(other.specific_stats);
+    }
+    if (other.is_set_last_error()) {
+      this.last_error = new ErrorInfo(other.last_error);
+    }
+  }
+
+  public ComponentAggregateStats deepCopy() {
+    return new ComponentAggregateStats(this);
+  }
+
+  @Override
+  public void clear() {
+    this.type = null;
+    this.common_stats = null;
+    this.specific_stats = null;
+    this.last_error = null;
+  }
+
+  /**
+   * 
+   * @see ComponentType
+   */
+  public ComponentType get_type() {
+    return this.type;
+  }
+
+  /**
+   * 
+   * @see ComponentType
+   */
+  public void set_type(ComponentType type) {
+    this.type = type;
+  }
+
+  public void unset_type() {
+    this.type = null;
+  }
+
+  /** Returns true if field type is set (has been assigned a value) and false otherwise */
+  public boolean is_set_type() {
+    return this.type != null;
+  }
+
+  public void set_type_isSet(boolean value) {
+    if (!value) {
+      this.type = null;
+    }
+  }
+
+  public CommonAggregateStats get_common_stats() {
+    return this.common_stats;
+  }
+
+  public void set_common_stats(CommonAggregateStats common_stats) {
+    this.common_stats = common_stats;
+  }
+
+  public void unset_common_stats() {
+    this.common_stats = null;
+  }
+
+  /** Returns true if field common_stats is set (has been assigned a value) and false otherwise */
+  public boolean is_set_common_stats() {
+    return this.common_stats != null;
+  }
+
+  public void set_common_stats_isSet(boolean value) {
+    if (!value) {
+      this.common_stats = null;
+    }
+  }
+
+  public SpecificAggregateStats get_specific_stats() {
+    return this.specific_stats;
+  }
+
+  public void set_specific_stats(SpecificAggregateStats specific_stats) {
+    this.specific_stats = specific_stats;
+  }
+
+  public void unset_specific_stats() {
+    this.specific_stats = null;
+  }
+
+  /** Returns true if field specific_stats is set (has been assigned a value) and false otherwise */
+  public boolean is_set_specific_stats() {
+    return this.specific_stats != null;
+  }
+
+  public void set_specific_stats_isSet(boolean value) {
+    if (!value) {
+      this.specific_stats = null;
+    }
+  }
+
+  public ErrorInfo get_last_error() {
+    return this.last_error;
+  }
+
+  public void set_last_error(ErrorInfo last_error) {
+    this.last_error = last_error;
+  }
+
+  public void unset_last_error() {
+    this.last_error = null;
+  }
+
+  /** Returns true if field last_error is set (has been assigned a value) and false otherwise */
+  public boolean is_set_last_error() {
+    return this.last_error != null;
+  }
+
+  public void set_last_error_isSet(boolean value) {
+    if (!value) {
+      this.last_error = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case TYPE:
+      if (value == null) {
+        unset_type();
+      } else {
+        set_type((ComponentType)value);
+      }
+      break;
+
+    case COMMON_STATS:
+      if (value == null) {
+        unset_common_stats();
+      } else {
+        set_common_stats((CommonAggregateStats)value);
+      }
+      break;
+
+    case SPECIFIC_STATS:
+      if (value == null) {
+        unset_specific_stats();
+      } else {
+        set_specific_stats((SpecificAggregateStats)value);
+      }
+      break;
+
+    case LAST_ERROR:
+      if (value == null) {
+        unset_last_error();
+      } else {
+        set_last_error((ErrorInfo)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case TYPE:
+      return get_type();
+
+    case COMMON_STATS:
+      return get_common_stats();
+
+    case SPECIFIC_STATS:
+      return get_specific_stats();
+
+    case LAST_ERROR:
+      return get_last_error();
+
+    }
+    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 TYPE:
+      return is_set_type();
+    case COMMON_STATS:
+      return is_set_common_stats();
+    case SPECIFIC_STATS:
+      return is_set_specific_stats();
+    case LAST_ERROR:
+      return is_set_last_error();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ComponentAggregateStats)
+      return this.equals((ComponentAggregateStats)that);
+    return false;
+  }
+
+  public boolean equals(ComponentAggregateStats that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_type = true && this.is_set_type();
+    boolean that_present_type = true && that.is_set_type();
+    if (this_present_type || that_present_type) {
+      if (!(this_present_type && that_present_type))
+        return false;
+      if (!this.type.equals(that.type))
+        return false;
+    }
+
+    boolean this_present_common_stats = true && this.is_set_common_stats();
+    boolean that_present_common_stats = true && that.is_set_common_stats();
+    if (this_present_common_stats || that_present_common_stats) {
+      if (!(this_present_common_stats && that_present_common_stats))
+        return false;
+      if (!this.common_stats.equals(that.common_stats))
+        return false;
+    }
+
+    boolean this_present_specific_stats = true && this.is_set_specific_stats();
+    boolean that_present_specific_stats = true && that.is_set_specific_stats();
+    if (this_present_specific_stats || that_present_specific_stats) {
+      if (!(this_present_specific_stats && that_present_specific_stats))
+        return false;
+      if (!this.specific_stats.equals(that.specific_stats))
+        return false;
+    }
+
+    boolean this_present_last_error = true && this.is_set_last_error();
+    boolean that_present_last_error = true && that.is_set_last_error();
+    if (this_present_last_error || that_present_last_error) {
+      if (!(this_present_last_error && that_present_last_error))
+        return false;
+      if (!this.last_error.equals(that.last_error))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_type = true && (is_set_type());
+    list.add(present_type);
+    if (present_type)
+      list.add(type.getValue());
+
+    boolean present_common_stats = true && (is_set_common_stats());
+    list.add(present_common_stats);
+    if (present_common_stats)
+      list.add(common_stats);
+
+    boolean present_specific_stats = true && (is_set_specific_stats());
+    list.add(present_specific_stats);
+    if (present_specific_stats)
+      list.add(specific_stats);
+
+    boolean present_last_error = true && (is_set_last_error());
+    list.add(present_last_error);
+    if (present_last_error)
+      list.add(last_error);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(ComponentAggregateStats other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_type()).compareTo(other.is_set_type());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_type()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, other.type);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_common_stats()).compareTo(other.is_set_common_stats());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_common_stats()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.common_stats, other.common_stats);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_specific_stats()).compareTo(other.is_set_specific_stats());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_specific_stats()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.specific_stats, other.specific_stats);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_last_error()).compareTo(other.is_set_last_error());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_last_error()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.last_error, other.last_error);
+      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("ComponentAggregateStats(");
+    boolean first = true;
+
+    if (is_set_type()) {
+      sb.append("type:");
+      if (this.type == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.type);
+      }
+      first = false;
+    }
+    if (is_set_common_stats()) {
+      if (!first) sb.append(", ");
+      sb.append("common_stats:");
+      if (this.common_stats == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.common_stats);
+      }
+      first = false;
+    }
+    if (is_set_specific_stats()) {
+      if (!first) sb.append(", ");
+      sb.append("specific_stats:");
+      if (this.specific_stats == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.specific_stats);
+      }
+      first = false;
+    }
+    if (is_set_last_error()) {
+      if (!first) sb.append(", ");
+      sb.append("last_error:");
+      if (this.last_error == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.last_error);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+    if (common_stats != null) {
+      common_stats.validate();
+    }
+    if (last_error != null) {
+      last_error.validate();
+    }
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class ComponentAggregateStatsStandardSchemeFactory implements SchemeFactory {
+    public ComponentAggregateStatsStandardScheme getScheme() {
+      return new ComponentAggregateStatsStandardScheme();
+    }
+  }
+
+  private static class ComponentAggregateStatsStandardScheme extends StandardScheme<ComponentAggregateStats> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ComponentAggregateStats 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: // TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.type = org.apache.storm.generated.ComponentType.findByValue(iprot.readI32());
+              struct.set_type_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // COMMON_STATS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.common_stats = new CommonAggregateStats();
+              struct.common_stats.read(iprot);
+              struct.set_common_stats_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // SPECIFIC_STATS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.specific_stats = new SpecificAggregateStats();
+              struct.specific_stats.read(iprot);
+              struct.set_specific_stats_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // LAST_ERROR
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.last_error = new ErrorInfo();
+              struct.last_error.read(iprot);
+              struct.set_last_error_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, ComponentAggregateStats struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.type != null) {
+        if (struct.is_set_type()) {
+          oprot.writeFieldBegin(TYPE_FIELD_DESC);
+          oprot.writeI32(struct.type.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.common_stats != null) {
+        if (struct.is_set_common_stats()) {
+          oprot.writeFieldBegin(COMMON_STATS_FIELD_DESC);
+          struct.common_stats.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.specific_stats != null) {
+        if (struct.is_set_specific_stats()) {
+          oprot.writeFieldBegin(SPECIFIC_STATS_FIELD_DESC);
+          struct.specific_stats.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.last_error != null) {
+        if (struct.is_set_last_error()) {
+          oprot.writeFieldBegin(LAST_ERROR_FIELD_DESC);
+          struct.last_error.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ComponentAggregateStatsTupleSchemeFactory implements SchemeFactory {
+    public ComponentAggregateStatsTupleScheme getScheme() {
+      return new ComponentAggregateStatsTupleScheme();
+    }
+  }
+
+  private static class ComponentAggregateStatsTupleScheme extends TupleScheme<ComponentAggregateStats> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ComponentAggregateStats struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.is_set_type()) {
+        optionals.set(0);
+      }
+      if (struct.is_set_common_stats()) {
+        optionals.set(1);
+      }
+      if (struct.is_set_specific_stats()) {
+        optionals.set(2);
+      }
+      if (struct.is_set_last_error()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
+      if (struct.is_set_type()) {
+        oprot.writeI32(struct.type.getValue());
+      }
+      if (struct.is_set_common_stats()) {
+        struct.common_stats.write(oprot);
+      }
+      if (struct.is_set_specific_stats()) {
+        struct.specific_stats.write(oprot);
+      }
+      if (struct.is_set_last_error()) {
+        struct.last_error.write(oprot);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ComponentAggregateStats struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(4);
+      if (incoming.get(0)) {
+        struct.type = org.apache.storm.generated.ComponentType.findByValue(iprot.readI32());
+        struct.set_type_isSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.common_stats = new CommonAggregateStats();
+        struct.common_stats.read(iprot);
+        struct.set_common_stats_isSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.specific_stats = new SpecificAggregateStats();
+        struct.specific_stats.read(iprot);
+        struct.set_specific_stats_isSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.last_error = new ErrorInfo();
+        struct.last_error.read(iprot);
+        struct.set_last_error_isSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/storm/blob/4de339a8/storm-client/src/jvm/org/apache/storm/generated/ComponentCommon.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/ComponentCommon.java b/storm-client/src/jvm/org/apache/storm/generated/ComponentCommon.java
new file mode 100644
index 0000000..420ad60
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/ComponentCommon.java
@@ -0,0 +1,852 @@
+/**
+ * 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 ComponentCommon implements org.apache.thrift.TBase<ComponentCommon, ComponentCommon._Fields>, java.io.Serializable, Cloneable, Comparable<ComponentCommon> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComponentCommon");
+
+  private static final org.apache.thrift.protocol.TField INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("inputs", org.apache.thrift.protocol.TType.MAP, (short)1);
+  private static final org.apache.thrift.protocol.TField STREAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("streams", org.apache.thrift.protocol.TType.MAP, (short)2);
+  private static final org.apache.thrift.protocol.TField PARALLELISM_HINT_FIELD_DESC = new org.apache.thrift.protocol.TField("parallelism_hint", org.apache.thrift.protocol.TType.I32, (short)3);
+  private static final org.apache.thrift.protocol.TField JSON_CONF_FIELD_DESC = new org.apache.thrift.protocol.TField("json_conf", org.apache.thrift.protocol.TType.STRING, (short)4);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ComponentCommonStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ComponentCommonTupleSchemeFactory());
+  }
+
+  private Map<GlobalStreamId,Grouping> inputs; // required
+  private Map<String,StreamInfo> streams; // required
+  private int parallelism_hint; // optional
+  private String json_conf; // 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 {
+    INPUTS((short)1, "inputs"),
+    STREAMS((short)2, "streams"),
+    PARALLELISM_HINT((short)3, "parallelism_hint"),
+    JSON_CONF((short)4, "json_conf");
+
+    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: // INPUTS
+          return INPUTS;
+        case 2: // STREAMS
+          return STREAMS;
+        case 3: // PARALLELISM_HINT
+          return PARALLELISM_HINT;
+        case 4: // JSON_CONF
+          return JSON_CONF;
+        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 __PARALLELISM_HINT_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.PARALLELISM_HINT,_Fields.JSON_CONF};
+  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.INPUTS, new org.apache.thrift.meta_data.FieldMetaData("inputs", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, GlobalStreamId.class), 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Grouping.class))));
+    tmpMap.put(_Fields.STREAMS, new org.apache.thrift.meta_data.FieldMetaData("streams", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, StreamInfo.class))));
+    tmpMap.put(_Fields.PARALLELISM_HINT, new org.apache.thrift.meta_data.FieldMetaData("parallelism_hint", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.JSON_CONF, new org.apache.thrift.meta_data.FieldMetaData("json_conf", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComponentCommon.class, metaDataMap);
+  }
+
+  public ComponentCommon() {
+  }
+
+  public ComponentCommon(
+    Map<GlobalStreamId,Grouping> inputs,
+    Map<String,StreamInfo> streams)
+  {
+    this();
+    this.inputs = inputs;
+    this.streams = streams;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ComponentCommon(ComponentCommon other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.is_set_inputs()) {
+      Map<GlobalStreamId,Grouping> __this__inputs = new HashMap<GlobalStreamId,Grouping>(other.inputs.size());
+      for (Map.Entry<GlobalStreamId, Grouping> other_element : other.inputs.entrySet()) {
+
+        GlobalStreamId other_element_key = other_element.getKey();
+        Grouping other_element_value = other_element.getValue();
+
+        GlobalStreamId __this__inputs_copy_key = new GlobalStreamId(other_element_key);
+
+        Grouping __this__inputs_copy_value = new Grouping(other_element_value);
+
+        __this__inputs.put(__this__inputs_copy_key, __this__inputs_copy_value);
+      }
+      this.inputs = __this__inputs;
+    }
+    if (other.is_set_streams()) {
+      Map<String,StreamInfo> __this__streams = new HashMap<String,StreamInfo>(other.streams.size());
+      for (Map.Entry<String, StreamInfo> other_element : other.streams.entrySet()) {
+
+        String other_element_key = other_element.getKey();
+        StreamInfo other_element_value = other_element.getValue();
+
+        String __this__streams_copy_key = other_element_key;
+
+        StreamInfo __this__streams_copy_value = new StreamInfo(other_element_value);
+
+        __this__streams.put(__this__streams_copy_key, __this__streams_copy_value);
+      }
+      this.streams = __this__streams;
+    }
+    this.parallelism_hint = other.parallelism_hint;
+    if (other.is_set_json_conf()) {
+      this.json_conf = other.json_conf;
+    }
+  }
+
+  public ComponentCommon deepCopy() {
+    return new ComponentCommon(this);
+  }
+
+  @Override
+  public void clear() {
+    this.inputs = null;
+    this.streams = null;
+    set_parallelism_hint_isSet(false);
+    this.parallelism_hint = 0;
+    this.json_conf = null;
+  }
+
+  public int get_inputs_size() {
+    return (this.inputs == null) ? 0 : this.inputs.size();
+  }
+
+  public void put_to_inputs(GlobalStreamId key, Grouping val) {
+    if (this.inputs == null) {
+      this.inputs = new HashMap<GlobalStreamId,Grouping>();
+    }
+    this.inputs.put(key, val);
+  }
+
+  public Map<GlobalStreamId,Grouping> get_inputs() {
+    return this.inputs;
+  }
+
+  public void set_inputs(Map<GlobalStreamId,Grouping> inputs) {
+    this.inputs = inputs;
+  }
+
+  public void unset_inputs() {
+    this.inputs = null;
+  }
+
+  /** Returns true if field inputs is set (has been assigned a value) and false otherwise */
+  public boolean is_set_inputs() {
+    return this.inputs != null;
+  }
+
+  public void set_inputs_isSet(boolean value) {
+    if (!value) {
+      this.inputs = null;
+    }
+  }
+
+  public int get_streams_size() {
+    return (this.streams == null) ? 0 : this.streams.size();
+  }
+
+  public void put_to_streams(String key, StreamInfo val) {
+    if (this.streams == null) {
+      this.streams = new HashMap<String,StreamInfo>();
+    }
+    this.streams.put(key, val);
+  }
+
+  public Map<String,StreamInfo> get_streams() {
+    return this.streams;
+  }
+
+  public void set_streams(Map<String,StreamInfo> streams) {
+    this.streams = streams;
+  }
+
+  public void unset_streams() {
+    this.streams = null;
+  }
+
+  /** Returns true if field streams is set (has been assigned a value) and false otherwise */
+  public boolean is_set_streams() {
+    return this.streams != null;
+  }
+
+  public void set_streams_isSet(boolean value) {
+    if (!value) {
+      this.streams = null;
+    }
+  }
+
+  public int get_parallelism_hint() {
+    return this.parallelism_hint;
+  }
+
+  public void set_parallelism_hint(int parallelism_hint) {
+    this.parallelism_hint = parallelism_hint;
+    set_parallelism_hint_isSet(true);
+  }
+
+  public void unset_parallelism_hint() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PARALLELISM_HINT_ISSET_ID);
+  }
+
+  /** Returns true if field parallelism_hint is set (has been assigned a value) and false otherwise */
+  public boolean is_set_parallelism_hint() {
+    return EncodingUtils.testBit(__isset_bitfield, __PARALLELISM_HINT_ISSET_ID);
+  }
+
+  public void set_parallelism_hint_isSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PARALLELISM_HINT_ISSET_ID, value);
+  }
+
+  public String get_json_conf() {
+    return this.json_conf;
+  }
+
+  public void set_json_conf(String json_conf) {
+    this.json_conf = json_conf;
+  }
+
+  public void unset_json_conf() {
+    this.json_conf = null;
+  }
+
+  /** Returns true if field json_conf is set (has been assigned a value) and false otherwise */
+  public boolean is_set_json_conf() {
+    return this.json_conf != null;
+  }
+
+  public void set_json_conf_isSet(boolean value) {
+    if (!value) {
+      this.json_conf = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case INPUTS:
+      if (value == null) {
+        unset_inputs();
+      } else {
+        set_inputs((Map<GlobalStreamId,Grouping>)value);
+      }
+      break;
+
+    case STREAMS:
+      if (value == null) {
+        unset_streams();
+      } else {
+        set_streams((Map<String,StreamInfo>)value);
+      }
+      break;
+
+    case PARALLELISM_HINT:
+      if (value == null) {
+        unset_parallelism_hint();
+      } else {
+        set_parallelism_hint((Integer)value);
+      }
+      break;
+
+    case JSON_CONF:
+      if (value == null) {
+        unset_json_conf();
+      } else {
+        set_json_conf((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case INPUTS:
+      return get_inputs();
+
+    case STREAMS:
+      return get_streams();
+
+    case PARALLELISM_HINT:
+      return get_parallelism_hint();
+
+    case JSON_CONF:
+      return get_json_conf();
+
+    }
+    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 INPUTS:
+      return is_set_inputs();
+    case STREAMS:
+      return is_set_streams();
+    case PARALLELISM_HINT:
+      return is_set_parallelism_hint();
+    case JSON_CONF:
+      return is_set_json_conf();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ComponentCommon)
+      return this.equals((ComponentCommon)that);
+    return false;
+  }
+
+  public boolean equals(ComponentCommon that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_inputs = true && this.is_set_inputs();
+    boolean that_present_inputs = true && that.is_set_inputs();
+    if (this_present_inputs || that_present_inputs) {
+      if (!(this_present_inputs && that_present_inputs))
+        return false;
+      if (!this.inputs.equals(that.inputs))
+        return false;
+    }
+
+    boolean this_present_streams = true && this.is_set_streams();
+    boolean that_present_streams = true && that.is_set_streams();
+    if (this_present_streams || that_present_streams) {
+      if (!(this_present_streams && that_present_streams))
+        return false;
+      if (!this.streams.equals(that.streams))
+        return false;
+    }
+
+    boolean this_present_parallelism_hint = true && this.is_set_parallelism_hint();
+    boolean that_present_parallelism_hint = true && that.is_set_parallelism_hint();
+    if (this_present_parallelism_hint || that_present_parallelism_hint) {
+      if (!(this_present_parallelism_hint && that_present_parallelism_hint))
+        return false;
+      if (this.parallelism_hint != that.parallelism_hint)
+        return false;
+    }
+
+    boolean this_present_json_conf = true && this.is_set_json_conf();
+    boolean that_present_json_conf = true && that.is_set_json_conf();
+    if (this_present_json_conf || that_present_json_conf) {
+      if (!(this_present_json_conf && that_present_json_conf))
+        return false;
+      if (!this.json_conf.equals(that.json_conf))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_inputs = true && (is_set_inputs());
+    list.add(present_inputs);
+    if (present_inputs)
+      list.add(inputs);
+
+    boolean present_streams = true && (is_set_streams());
+    list.add(present_streams);
+    if (present_streams)
+      list.add(streams);
+
+    boolean present_parallelism_hint = true && (is_set_parallelism_hint());
+    list.add(present_parallelism_hint);
+    if (present_parallelism_hint)
+      list.add(parallelism_hint);
+
+    boolean present_json_conf = true && (is_set_json_conf());
+    list.add(present_json_conf);
+    if (present_json_conf)
+      list.add(json_conf);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(ComponentCommon other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(is_set_inputs()).compareTo(other.is_set_inputs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_inputs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.inputs, other.inputs);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_streams()).compareTo(other.is_set_streams());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_streams()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.streams, other.streams);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_parallelism_hint()).compareTo(other.is_set_parallelism_hint());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_parallelism_hint()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parallelism_hint, other.parallelism_hint);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(is_set_json_conf()).compareTo(other.is_set_json_conf());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (is_set_json_conf()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.json_conf, other.json_conf);
+      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("ComponentCommon(");
+    boolean first = true;
+
+    sb.append("inputs:");
+    if (this.inputs == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.inputs);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("streams:");
+    if (this.streams == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.streams);
+    }
+    first = false;
+    if (is_set_parallelism_hint()) {
+      if (!first) sb.append(", ");
+      sb.append("parallelism_hint:");
+      sb.append(this.parallelism_hint);
+      first = false;
+    }
+    if (is_set_json_conf()) {
+      if (!first) sb.append(", ");
+      sb.append("json_conf:");
+      if (this.json_conf == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.json_conf);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!is_set_inputs()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'inputs' is unset! Struct:" + toString());
+    }
+
+    if (!is_set_streams()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'streams' 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 ComponentCommonStandardSchemeFactory implements SchemeFactory {
+    public ComponentCommonStandardScheme getScheme() {
+      return new ComponentCommonStandardScheme();
+    }
+  }
+
+  private static class ComponentCommonStandardScheme extends StandardScheme<ComponentCommon> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ComponentCommon 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: // INPUTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map24 = iprot.readMapBegin();
+                struct.inputs = new HashMap<GlobalStreamId,Grouping>(2*_map24.size);
+                GlobalStreamId _key25;
+                Grouping _val26;
+                for (int _i27 = 0; _i27 < _map24.size; ++_i27)
+                {
+                  _key25 = new GlobalStreamId();
+                  _key25.read(iprot);
+                  _val26 = new Grouping();
+                  _val26.read(iprot);
+                  struct.inputs.put(_key25, _val26);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_inputs_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // STREAMS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map28 = iprot.readMapBegin();
+                struct.streams = new HashMap<String,StreamInfo>(2*_map28.size);
+                String _key29;
+                StreamInfo _val30;
+                for (int _i31 = 0; _i31 < _map28.size; ++_i31)
+                {
+                  _key29 = iprot.readString();
+                  _val30 = new StreamInfo();
+                  _val30.read(iprot);
+                  struct.streams.put(_key29, _val30);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_streams_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // PARALLELISM_HINT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.parallelism_hint = iprot.readI32();
+              struct.set_parallelism_hint_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // JSON_CONF
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.json_conf = iprot.readString();
+              struct.set_json_conf_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, ComponentCommon struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.inputs != null) {
+        oprot.writeFieldBegin(INPUTS_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.STRUCT, struct.inputs.size()));
+          for (Map.Entry<GlobalStreamId, Grouping> _iter32 : struct.inputs.entrySet())
+          {
+            _iter32.getKey().write(oprot);
+            _iter32.getValue().write(oprot);
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.streams != null) {
+        oprot.writeFieldBegin(STREAMS_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.streams.size()));
+          for (Map.Entry<String, StreamInfo> _iter33 : struct.streams.entrySet())
+          {
+            oprot.writeString(_iter33.getKey());
+            _iter33.getValue().write(oprot);
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      if (struct.is_set_parallelism_hint()) {
+        oprot.writeFieldBegin(PARALLELISM_HINT_FIELD_DESC);
+        oprot.writeI32(struct.parallelism_hint);
+        oprot.writeFieldEnd();
+      }
+      if (struct.json_conf != null) {
+        if (struct.is_set_json_conf()) {
+          oprot.writeFieldBegin(JSON_CONF_FIELD_DESC);
+          oprot.writeString(struct.json_conf);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ComponentCommonTupleSchemeFactory implements SchemeFactory {
+    public ComponentCommonTupleScheme getScheme() {
+      return new ComponentCommonTupleScheme();
+    }
+  }
+
+  private static class ComponentCommonTupleScheme extends TupleScheme<ComponentCommon> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ComponentCommon struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      {
+        oprot.writeI32(struct.inputs.size());
+        for (Map.Entry<GlobalStreamId, Grouping> _iter34 : struct.inputs.entrySet())
+        {
+          _iter34.getKey().write(oprot);
+          _iter34.getValue().write(oprot);
+        }
+      }
+      {
+        oprot.writeI32(struct.streams.size());
+        for (Map.Entry<String, StreamInfo> _iter35 : struct.streams.entrySet())
+        {
+          oprot.writeString(_iter35.getKey());
+          _iter35.getValue().write(oprot);
+        }
+      }
+      BitSet optionals = new BitSet();
+      if (struct.is_set_parallelism_hint()) {
+        optionals.set(0);
+      }
+      if (struct.is_set_json_conf()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
+      if (struct.is_set_parallelism_hint()) {
+        oprot.writeI32(struct.parallelism_hint);
+      }
+      if (struct.is_set_json_conf()) {
+        oprot.writeString(struct.json_conf);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ComponentCommon struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      {
+        org.apache.thrift.protocol.TMap _map36 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRUCT, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.inputs = new HashMap<GlobalStreamId,Grouping>(2*_map36.size);
+        GlobalStreamId _key37;
+        Grouping _val38;
+        for (int _i39 = 0; _i39 < _map36.size; ++_i39)
+        {
+          _key37 = new GlobalStreamId();
+          _key37.read(iprot);
+          _val38 = new Grouping();
+          _val38.read(iprot);
+          struct.inputs.put(_key37, _val38);
+        }
+      }
+      struct.set_inputs_isSet(true);
+      {
+        org.apache.thrift.protocol.TMap _map40 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.streams = new HashMap<String,StreamInfo>(2*_map40.size);
+        String _key41;
+        StreamInfo _val42;
+        for (int _i43 = 0; _i43 < _map40.size; ++_i43)
+        {
+          _key41 = iprot.readString();
+          _val42 = new StreamInfo();
+          _val42.read(iprot);
+          struct.streams.put(_key41, _val42);
+        }
+      }
+      struct.set_streams_isSet(true);
+      BitSet incoming = iprot.readBitSet(2);
+      if (incoming.get(0)) {
+        struct.parallelism_hint = iprot.readI32();
+        struct.set_parallelism_hint_isSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.json_conf = iprot.readString();
+        struct.set_json_conf_isSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/storm/blob/4de339a8/storm-client/src/jvm/org/apache/storm/generated/ComponentObject.java
----------------------------------------------------------------------
diff --git a/storm-client/src/jvm/org/apache/storm/generated/ComponentObject.java b/storm-client/src/jvm/org/apache/storm/generated/ComponentObject.java
new file mode 100644
index 0000000..94560a0
--- /dev/null
+++ b/storm-client/src/jvm/org/apache/storm/generated/ComponentObject.java
@@ -0,0 +1,462 @@
+/**
+ * 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"})
+public class ComponentObject extends org.apache.thrift.TUnion<ComponentObject, ComponentObject._Fields> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComponentObject");
+  private static final org.apache.thrift.protocol.TField SERIALIZED_JAVA_FIELD_DESC = new org.apache.thrift.protocol.TField("serialized_java", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField SHELL_FIELD_DESC = new org.apache.thrift.protocol.TField("shell", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+  private static final org.apache.thrift.protocol.TField JAVA_OBJECT_FIELD_DESC = new org.apache.thrift.protocol.TField("java_object", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    SERIALIZED_JAVA((short)1, "serialized_java"),
+    SHELL((short)2, "shell"),
+    JAVA_OBJECT((short)3, "java_object");
+
+    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: // SERIALIZED_JAVA
+          return SERIALIZED_JAVA;
+        case 2: // SHELL
+          return SHELL;
+        case 3: // JAVA_OBJECT
+          return JAVA_OBJECT;
+        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;
+    }
+  }
+
+  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.SERIALIZED_JAVA, new org.apache.thrift.meta_data.FieldMetaData("serialized_java", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , true)));
+    tmpMap.put(_Fields.SHELL, new org.apache.thrift.meta_data.FieldMetaData("shell", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ShellComponent.class)));
+    tmpMap.put(_Fields.JAVA_OBJECT, new org.apache.thrift.meta_data.FieldMetaData("java_object", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, JavaObject.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComponentObject.class, metaDataMap);
+  }
+
+  public ComponentObject() {
+    super();
+  }
+
+  public ComponentObject(_Fields setField, Object value) {
+    super(setField, value);
+  }
+
+  public ComponentObject(ComponentObject other) {
+    super(other);
+  }
+  public ComponentObject deepCopy() {
+    return new ComponentObject(this);
+  }
+
+  public static ComponentObject serialized_java(ByteBuffer value) {
+    ComponentObject x = new ComponentObject();
+    x.set_serialized_java(value);
+    return x;
+  }
+
+  public static ComponentObject serialized_java(byte[] value) {
+    ComponentObject x = new ComponentObject();
+    x.set_serialized_java(ByteBuffer.wrap(Arrays.copyOf(value, value.length)));
+    return x;
+  }
+
+  public static ComponentObject shell(ShellComponent value) {
+    ComponentObject x = new ComponentObject();
+    x.set_shell(value);
+    return x;
+  }
+
+  public static ComponentObject java_object(JavaObject value) {
+    ComponentObject x = new ComponentObject();
+    x.set_java_object(value);
+    return x;
+  }
+
+
+  @Override
+  protected void checkType(_Fields setField, Object value) throws ClassCastException {
+    switch (setField) {
+      case SERIALIZED_JAVA:
+        if (value instanceof ByteBuffer) {
+          break;
+        }
+        throw new ClassCastException("Was expecting value of type ByteBuffer for field 'serialized_java', but got " + value.getClass().getSimpleName());
+      case SHELL:
+        if (value instanceof ShellComponent) {
+          break;
+        }
+        throw new ClassCastException("Was expecting value of type ShellComponent for field 'shell', but got " + value.getClass().getSimpleName());
+      case JAVA_OBJECT:
+        if (value instanceof JavaObject) {
+          break;
+        }
+        throw new ClassCastException("Was expecting value of type JavaObject for field 'java_object', but got " + value.getClass().getSimpleName());
+      default:
+        throw new IllegalArgumentException("Unknown field id " + setField);
+    }
+  }
+
+  @Override
+  protected Object standardSchemeReadValue(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TField field) throws org.apache.thrift.TException {
+    _Fields setField = _Fields.findByThriftId(field.id);
+    if (setField != null) {
+      switch (setField) {
+        case SERIALIZED_JAVA:
+          if (field.type == SERIALIZED_JAVA_FIELD_DESC.type) {
+            ByteBuffer serialized_java;
+            serialized_java = iprot.readBinary();
+            return serialized_java;
+          } else {
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+            return null;
+          }
+        case SHELL:
+          if (field.type == SHELL_FIELD_DESC.type) {
+            ShellComponent shell;
+            shell = new ShellComponent();
+            shell.read(iprot);
+            return shell;
+          } else {
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+            return null;
+          }
+        case JAVA_OBJECT:
+          if (field.type == JAVA_OBJECT_FIELD_DESC.type) {
+            JavaObject java_object;
+            java_object = new JavaObject();
+            java_object.read(iprot);
+            return java_object;
+          } else {
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+            return null;
+          }
+        default:
+          throw new IllegalStateException("setField wasn't null, but didn't match any of the case statements!");
+      }
+    } else {
+      org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
+      return null;
+    }
+  }
+
+  @Override
+  protected void standardSchemeWriteValue(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    switch (setField_) {
+      case SERIALIZED_JAVA:
+        ByteBuffer serialized_java = (ByteBuffer)value_;
+        oprot.writeBinary(serialized_java);
+        return;
+      case SHELL:
+        ShellComponent shell = (ShellComponent)value_;
+        shell.write(oprot);
+        return;
+      case JAVA_OBJECT:
+        JavaObject java_object = (JavaObject)value_;
+        java_object.write(oprot);
+        return;
+      default:
+        throw new IllegalStateException("Cannot write union with unknown field " + setField_);
+    }
+  }
+
+  @Override
+  protected Object tupleSchemeReadValue(org.apache.thrift.protocol.TProtocol iprot, short fieldID) throws org.apache.thrift.TException {
+    _Fields setField = _Fields.findByThriftId(fieldID);
+    if (setField != null) {
+      switch (setField) {
+        case SERIALIZED_JAVA:
+          ByteBuffer serialized_java;
+          serialized_java = iprot.readBinary();
+          return serialized_java;
+        case SHELL:
+          ShellComponent shell;
+          shell = new ShellComponent();
+          shell.read(iprot);
+          return shell;
+        case JAVA_OBJECT:
+          JavaObject java_object;
+          java_object = new JavaObject();
+          java_object.read(iprot);
+          return java_object;
+        default:
+          throw new IllegalStateException("setField wasn't null, but didn't match any of the case statements!");
+      }
+    } else {
+      throw new TProtocolException("Couldn't find a field with field id " + fieldID);
+    }
+  }
+
+  @Override
+  protected void tupleSchemeWriteValue(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    switch (setField_) {
+      case SERIALIZED_JAVA:
+        ByteBuffer serialized_java = (ByteBuffer)value_;
+        oprot.writeBinary(serialized_java);
+        return;
+      case SHELL:
+        ShellComponent shell = (ShellComponent)value_;
+        shell.write(oprot);
+        return;
+      case JAVA_OBJECT:
+        JavaObject java_object = (JavaObject)value_;
+        java_object.write(oprot);
+        return;
+      default:
+        throw new IllegalStateException("Cannot write union with unknown field " + setField_);
+    }
+  }
+
+  @Override
+  protected org.apache.thrift.protocol.TField getFieldDesc(_Fields setField) {
+    switch (setField) {
+      case SERIALIZED_JAVA:
+        return SERIALIZED_JAVA_FIELD_DESC;
+      case SHELL:
+        return SHELL_FIELD_DESC;
+      case JAVA_OBJECT:
+        return JAVA_OBJECT_FIELD_DESC;
+      default:
+        throw new IllegalArgumentException("Unknown field id " + setField);
+    }
+  }
+
+  @Override
+  protected org.apache.thrift.protocol.TStruct getStructDesc() {
+    return STRUCT_DESC;
+  }
+
+  @Override
+  protected _Fields enumForId(short id) {
+    return _Fields.findByThriftIdOrThrow(id);
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+
+  public byte[] get_serialized_java() {
+    set_serialized_java(org.apache.thrift.TBaseHelper.rightSize(buffer_for_serialized_java()));
+    ByteBuffer b = buffer_for_serialized_java();
+    return b == null ? null : b.array();
+  }
+
+  public ByteBuffer buffer_for_serialized_java() {
+    if (getSetField() == _Fields.SERIALIZED_JAVA) {
+      return org.apache.thrift.TBaseHelper.copyBinary((ByteBuffer)getFieldValue());
+    } else {
+      throw new RuntimeException("Cannot get field 'serialized_java' because union is currently set to " + getFieldDesc(getSetField()).name);
+    }
+  }
+
+  public void set_serialized_java(byte[] value) {
+    set_serialized_java(ByteBuffer.wrap(Arrays.copyOf(value, value.length)));
+  }
+
+  public void set_serialized_java(ByteBuffer value) {
+    if (value == null) throw new NullPointerException();
+    setField_ = _Fields.SERIALIZED_JAVA;
+    value_ = value;
+  }
+
+  public ShellComponent get_shell() {
+    if (getSetField() == _Fields.SHELL) {
+      return (ShellComponent)getFieldValue();
+    } else {
+      throw new RuntimeException("Cannot get field 'shell' because union is currently set to " + getFieldDesc(getSetField()).name);
+    }
+  }
+
+  public void set_shell(ShellComponent value) {
+    if (value == null) throw new NullPointerException();
+    setField_ = _Fields.SHELL;
+    value_ = value;
+  }
+
+  public JavaObject get_java_object() {
+    if (getSetField() == _Fields.JAVA_OBJECT) {
+      return (JavaObject)getFieldValue();
+    } else {
+      throw new RuntimeException("Cannot get field 'java_object' because union is currently set to " + getFieldDesc(getSetField()).name);
+    }
+  }
+
+  public void set_java_object(JavaObject value) {
+    if (value == null) throw new NullPointerException();
+    setField_ = _Fields.JAVA_OBJECT;
+    value_ = value;
+  }
+
+  public boolean is_set_serialized_java() {
+    return setField_ == _Fields.SERIALIZED_JAVA;
+  }
+
+
+  public boolean is_set_shell() {
+    return setField_ == _Fields.SHELL;
+  }
+
+
+  public boolean is_set_java_object() {
+    return setField_ == _Fields.JAVA_OBJECT;
+  }
+
+
+  public boolean equals(Object other) {
+    if (other instanceof ComponentObject) {
+      return equals((ComponentObject)other);
+    } else {
+      return false;
+    }
+  }
+
+  public boolean equals(ComponentObject other) {
+    return other != null && getSetField() == other.getSetField() && getFieldValue().equals(other.getFieldValue());
+  }
+
+  @Override
+  public int compareTo(ComponentObject other) {
+    int lastComparison = org.apache.thrift.TBaseHelper.compareTo(getSetField(), other.getSetField());
+    if (lastComparison == 0) {
+      return org.apache.thrift.TBaseHelper.compareTo(getFieldValue(), other.getFieldValue());
+    }
+    return lastComparison;
+  }
+
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+    list.add(this.getClass().getName());
+    org.apache.thrift.TFieldIdEnum setField = getSetField();
+    if (setField != null) {
+      list.add(setField.getThriftFieldId());
+      Object value = getFieldValue();
+      if (value instanceof org.apache.thrift.TEnum) {
+        list.add(((org.apache.thrift.TEnum)getFieldValue()).getValue());
+      } else {
+        list.add(value);
+      }
+    }
+    return list.hashCode();
+  }
+  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);
+    }
+  }
+
+
+}