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

[15/18] storm git commit: Merge branch 'master' of github.com:apache/incubator-storm into thrift092

http://git-wip-us.apache.org/repos/asf/storm/blob/a99e1276/storm-core/src/jvm/backtype/storm/generated/Nimbus.java
----------------------------------------------------------------------
diff --cc storm-core/src/jvm/backtype/storm/generated/Nimbus.java
index 49585a6,ef90dbb..048379a
--- a/storm-core/src/jvm/backtype/storm/generated/Nimbus.java
+++ b/storm-core/src/jvm/backtype/storm/generated/Nimbus.java
@@@ -50,8 -38,6 +50,8 @@@ 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.2)", date = "2015-2-2")
++@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-2-6")
  public class Nimbus {
  
    public interface Iface {
@@@ -98,43 -86,45 +100,45 @@@
  
    public interface AsyncIface {
  
 -    public void submitTopology(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.submitTopology_call> resultHandler) throws org.apache.thrift.TException;
 +    public void submitTopology(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void submitTopologyWithOpts(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, SubmitOptions options, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.submitTopologyWithOpts_call> resultHandler) throws org.apache.thrift.TException;
 +    public void submitTopologyWithOpts(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, SubmitOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void killTopology(String name, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.killTopology_call> resultHandler) throws org.apache.thrift.TException;
 +    public void killTopology(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void killTopologyWithOpts(String name, KillOptions options, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.killTopologyWithOpts_call> resultHandler) throws org.apache.thrift.TException;
 +    public void killTopologyWithOpts(String name, KillOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void activate(String name, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.activate_call> resultHandler) throws org.apache.thrift.TException;
 +    public void activate(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void deactivate(String name, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.deactivate_call> resultHandler) throws org.apache.thrift.TException;
 +    public void deactivate(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void rebalance(String name, RebalanceOptions options, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.rebalance_call> resultHandler) throws org.apache.thrift.TException;
 +    public void rebalance(String name, RebalanceOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void uploadNewCredentials(String name, Credentials creds, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.uploadNewCredentials_call> resultHandler) throws org.apache.thrift.TException;
 +    public void uploadNewCredentials(String name, Credentials creds, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void beginFileUpload(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.beginFileUpload_call> resultHandler) throws org.apache.thrift.TException;
 +    public void beginFileUpload(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void uploadChunk(String location, ByteBuffer chunk, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.uploadChunk_call> resultHandler) throws org.apache.thrift.TException;
 +    public void uploadChunk(String location, ByteBuffer chunk, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void finishFileUpload(String location, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.finishFileUpload_call> resultHandler) throws org.apache.thrift.TException;
 +    public void finishFileUpload(String location, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void beginFileDownload(String file, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.beginFileDownload_call> resultHandler) throws org.apache.thrift.TException;
 +    public void beginFileDownload(String file, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void downloadChunk(String id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.downloadChunk_call> resultHandler) throws org.apache.thrift.TException;
 +    public void downloadChunk(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void getNimbusConf(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getNimbusConf_call> resultHandler) throws org.apache.thrift.TException;
 +    public void getNimbusConf(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void getClusterInfo(org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getClusterInfo_call> resultHandler) throws org.apache.thrift.TException;
 +    public void getClusterInfo(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void getTopologyInfo(String id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTopologyInfo_call> resultHandler) throws org.apache.thrift.TException;
 +    public void getTopologyInfo(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void getTopologyInfoWithOpts(String id, GetInfoOptions options, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTopologyInfoWithOpts_call> resultHandler) throws org.apache.thrift.TException;
++    public void getTopologyInfoWithOpts(String id, GetInfoOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+ 
 -    public void getTopologyConf(String id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTopologyConf_call> resultHandler) throws org.apache.thrift.TException;
 +    public void getTopologyConf(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void getTopology(String id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getTopology_call> resultHandler) throws org.apache.thrift.TException;
 +    public void getTopology(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
 -    public void getUserTopology(String id, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.getUserTopology_call> resultHandler) throws org.apache.thrift.TException;
 +    public void getUserTopology(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
  
    }
  
@@@ -1232,7 -1252,42 +1266,42 @@@
        }
      }
  
 -    public void getTopologyInfoWithOpts(String id, GetInfoOptions options, org.apache.thrift.async.AsyncMethodCallback<getTopologyInfoWithOpts_call> resultHandler) throws org.apache.thrift.TException {
++    public void getTopologyInfoWithOpts(String id, GetInfoOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+       checkReady();
+       getTopologyInfoWithOpts_call method_call = new getTopologyInfoWithOpts_call(id, options, resultHandler, this, ___protocolFactory, ___transport);
+       this.___currentMethod = method_call;
+       ___manager.call(method_call);
+     }
+ 
+     public static class getTopologyInfoWithOpts_call extends org.apache.thrift.async.TAsyncMethodCall {
+       private String id;
+       private GetInfoOptions options;
 -      public getTopologyInfoWithOpts_call(String id, GetInfoOptions options, org.apache.thrift.async.AsyncMethodCallback<getTopologyInfoWithOpts_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
++      public getTopologyInfoWithOpts_call(String id, GetInfoOptions options, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+         super(client, protocolFactory, transport, resultHandler, false);
+         this.id = id;
+         this.options = options;
+       }
+ 
+       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTopologyInfoWithOpts", org.apache.thrift.protocol.TMessageType.CALL, 0));
+         getTopologyInfoWithOpts_args args = new getTopologyInfoWithOpts_args();
+         args.set_id(id);
+         args.set_options(options);
+         args.write(prot);
+         prot.writeMessageEnd();
+       }
+ 
+       public TopologyInfo getResult() throws NotAliveException, AuthorizationException, org.apache.thrift.TException {
+         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+           throw new IllegalStateException("Method call not finished!");
+         }
+         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+         return (new Client(prot)).recv_getTopologyInfoWithOpts();
+       }
+     }
+ 
 -    public void getTopologyConf(String id, org.apache.thrift.async.AsyncMethodCallback<getTopologyConf_call> resultHandler) throws org.apache.thrift.TException {
 +    public void getTopologyConf(String id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
        checkReady();
        getTopologyConf_call method_call = new getTopologyConf_call(id, resultHandler, this, ___protocolFactory, ___transport);
        this.___currentMethod = method_call;
@@@ -1579,822 -1603,7 +1649,849 @@@
        }
      }
  
 -    private static class beginFileUpload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, beginFileUpload_args> {
 +    public static class beginFileUpload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, beginFileUpload_args> {
 +      public beginFileUpload() {
 +        super("beginFileUpload");
 +      }
 +
 +      public beginFileUpload_args getEmptyArgsInstance() {
 +        return new beginFileUpload_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public beginFileUpload_result getResult(I iface, beginFileUpload_args args) throws org.apache.thrift.TException {
 +        beginFileUpload_result result = new beginFileUpload_result();
 +        try {
 +          result.success = iface.beginFileUpload();
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
 +    public static class uploadChunk<I extends Iface> extends org.apache.thrift.ProcessFunction<I, uploadChunk_args> {
 +      public uploadChunk() {
 +        super("uploadChunk");
 +      }
 +
 +      public uploadChunk_args getEmptyArgsInstance() {
 +        return new uploadChunk_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public uploadChunk_result getResult(I iface, uploadChunk_args args) throws org.apache.thrift.TException {
 +        uploadChunk_result result = new uploadChunk_result();
 +        try {
 +          iface.uploadChunk(args.location, args.chunk);
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
 +    public static class finishFileUpload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, finishFileUpload_args> {
 +      public finishFileUpload() {
 +        super("finishFileUpload");
 +      }
 +
 +      public finishFileUpload_args getEmptyArgsInstance() {
 +        return new finishFileUpload_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public finishFileUpload_result getResult(I iface, finishFileUpload_args args) throws org.apache.thrift.TException {
 +        finishFileUpload_result result = new finishFileUpload_result();
 +        try {
 +          iface.finishFileUpload(args.location);
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
 +    public static class beginFileDownload<I extends Iface> extends org.apache.thrift.ProcessFunction<I, beginFileDownload_args> {
 +      public beginFileDownload() {
 +        super("beginFileDownload");
 +      }
 +
 +      public beginFileDownload_args getEmptyArgsInstance() {
 +        return new beginFileDownload_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public beginFileDownload_result getResult(I iface, beginFileDownload_args args) throws org.apache.thrift.TException {
 +        beginFileDownload_result result = new beginFileDownload_result();
 +        try {
 +          result.success = iface.beginFileDownload(args.file);
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
 +    public static class downloadChunk<I extends Iface> extends org.apache.thrift.ProcessFunction<I, downloadChunk_args> {
 +      public downloadChunk() {
 +        super("downloadChunk");
 +      }
 +
 +      public downloadChunk_args getEmptyArgsInstance() {
 +        return new downloadChunk_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public downloadChunk_result getResult(I iface, downloadChunk_args args) throws org.apache.thrift.TException {
 +        downloadChunk_result result = new downloadChunk_result();
 +        try {
 +          result.success = iface.downloadChunk(args.id);
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
 +    public static class getNimbusConf<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getNimbusConf_args> {
 +      public getNimbusConf() {
 +        super("getNimbusConf");
 +      }
 +
 +      public getNimbusConf_args getEmptyArgsInstance() {
 +        return new getNimbusConf_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public getNimbusConf_result getResult(I iface, getNimbusConf_args args) throws org.apache.thrift.TException {
 +        getNimbusConf_result result = new getNimbusConf_result();
 +        try {
 +          result.success = iface.getNimbusConf();
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
 +    public static class getClusterInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getClusterInfo_args> {
 +      public getClusterInfo() {
 +        super("getClusterInfo");
 +      }
 +
 +      public getClusterInfo_args getEmptyArgsInstance() {
 +        return new getClusterInfo_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public getClusterInfo_result getResult(I iface, getClusterInfo_args args) throws org.apache.thrift.TException {
 +        getClusterInfo_result result = new getClusterInfo_result();
 +        try {
 +          result.success = iface.getClusterInfo();
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
 +    public static class getTopologyInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyInfo_args> {
 +      public getTopologyInfo() {
 +        super("getTopologyInfo");
 +      }
 +
 +      public getTopologyInfo_args getEmptyArgsInstance() {
 +        return new getTopologyInfo_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public getTopologyInfo_result getResult(I iface, getTopologyInfo_args args) throws org.apache.thrift.TException {
 +        getTopologyInfo_result result = new getTopologyInfo_result();
 +        try {
 +          result.success = iface.getTopologyInfo(args.id);
 +        } catch (NotAliveException e) {
 +          result.e = e;
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
++    public static class getTopologyInfoWithOpts<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyInfoWithOpts_args> {
++      public getTopologyInfoWithOpts() {
++        super("getTopologyInfoWithOpts");
++      }
++
++      public getTopologyInfoWithOpts_args getEmptyArgsInstance() {
++        return new getTopologyInfoWithOpts_args();
++      }
++
++      protected boolean isOneway() {
++        return false;
++      }
++
++      public getTopologyInfoWithOpts_result getResult(I iface, getTopologyInfoWithOpts_args args) throws org.apache.thrift.TException {
++        getTopologyInfoWithOpts_result result = new getTopologyInfoWithOpts_result();
++        try {
++          result.success = iface.getTopologyInfoWithOpts(args.id, args.options);
++        } catch (NotAliveException e) {
++          result.e = e;
++        } catch (AuthorizationException aze) {
++          result.aze = aze;
++        }
++        return result;
++      }
++    }
++
 +    public static class getTopologyConf<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyConf_args> {
 +      public getTopologyConf() {
 +        super("getTopologyConf");
 +      }
 +
 +      public getTopologyConf_args getEmptyArgsInstance() {
 +        return new getTopologyConf_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public getTopologyConf_result getResult(I iface, getTopologyConf_args args) throws org.apache.thrift.TException {
 +        getTopologyConf_result result = new getTopologyConf_result();
 +        try {
 +          result.success = iface.getTopologyConf(args.id);
 +        } catch (NotAliveException e) {
 +          result.e = e;
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
 +    public static class getTopology<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopology_args> {
 +      public getTopology() {
 +        super("getTopology");
 +      }
 +
 +      public getTopology_args getEmptyArgsInstance() {
 +        return new getTopology_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public getTopology_result getResult(I iface, getTopology_args args) throws org.apache.thrift.TException {
 +        getTopology_result result = new getTopology_result();
 +        try {
 +          result.success = iface.getTopology(args.id);
 +        } catch (NotAliveException e) {
 +          result.e = e;
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
 +    public static class getUserTopology<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserTopology_args> {
 +      public getUserTopology() {
 +        super("getUserTopology");
 +      }
 +
 +      public getUserTopology_args getEmptyArgsInstance() {
 +        return new getUserTopology_args();
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public getUserTopology_result getResult(I iface, getUserTopology_args args) throws org.apache.thrift.TException {
 +        getUserTopology_result result = new getUserTopology_result();
 +        try {
 +          result.success = iface.getUserTopology(args.id);
 +        } catch (NotAliveException e) {
 +          result.e = e;
 +        } catch (AuthorizationException aze) {
 +          result.aze = aze;
 +        }
 +        return result;
 +      }
 +    }
 +
 +  }
 +
 +  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
 +    private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName());
 +    public AsyncProcessor(I iface) {
 +      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
 +    }
 +
 +    protected AsyncProcessor(I iface, Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
 +      super(iface, getProcessMap(processMap));
 +    }
 +
 +    private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
 +      processMap.put("submitTopology", new submitTopology());
 +      processMap.put("submitTopologyWithOpts", new submitTopologyWithOpts());
 +      processMap.put("killTopology", new killTopology());
 +      processMap.put("killTopologyWithOpts", new killTopologyWithOpts());
 +      processMap.put("activate", new activate());
 +      processMap.put("deactivate", new deactivate());
 +      processMap.put("rebalance", new rebalance());
 +      processMap.put("uploadNewCredentials", new uploadNewCredentials());
 +      processMap.put("beginFileUpload", new beginFileUpload());
 +      processMap.put("uploadChunk", new uploadChunk());
 +      processMap.put("finishFileUpload", new finishFileUpload());
 +      processMap.put("beginFileDownload", new beginFileDownload());
 +      processMap.put("downloadChunk", new downloadChunk());
 +      processMap.put("getNimbusConf", new getNimbusConf());
 +      processMap.put("getClusterInfo", new getClusterInfo());
 +      processMap.put("getTopologyInfo", new getTopologyInfo());
++      processMap.put("getTopologyInfoWithOpts", new getTopologyInfoWithOpts());
 +      processMap.put("getTopologyConf", new getTopologyConf());
 +      processMap.put("getTopology", new getTopology());
 +      processMap.put("getUserTopology", new getUserTopology());
 +      return processMap;
 +    }
 +
 +    public static class submitTopology<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, submitTopology_args, Void> {
 +      public submitTopology() {
 +        super("submitTopology");
 +      }
 +
 +      public submitTopology_args getEmptyArgsInstance() {
 +        return new submitTopology_args();
 +      }
 +
 +      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
 +        final org.apache.thrift.AsyncProcessFunction fcall = this;
 +        return new AsyncMethodCallback<Void>() { 
 +          public void onComplete(Void o) {
 +            submitTopology_result result = new submitTopology_result();
 +            try {
 +              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 +              return;
 +            } catch (Exception e) {
 +              LOGGER.error("Exception writing to internal frame buffer", e);
 +            }
 +            fb.close();
 +          }
 +          public void onError(Exception e) {
 +            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 +            org.apache.thrift.TBase msg;
 +            submitTopology_result result = new submitTopology_result();
 +            if (e instanceof AlreadyAliveException) {
 +                        result.e = (AlreadyAliveException) e;
 +                        result.set_e_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof InvalidTopologyException) {
 +                        result.ite = (InvalidTopologyException) e;
 +                        result.set_ite_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof AuthorizationException) {
 +                        result.aze = (AuthorizationException) e;
 +                        result.set_aze_isSet(true);
 +                        msg = result;
 +            }
 +             else 
 +            {
 +              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 +              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 +            }
 +            try {
 +              fcall.sendResponse(fb,msg,msgType,seqid);
 +              return;
 +            } catch (Exception ex) {
 +              LOGGER.error("Exception writing to internal frame buffer", ex);
 +            }
 +            fb.close();
 +          }
 +        };
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public void start(I iface, submitTopology_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
 +        iface.submitTopology(args.name, args.uploadedJarLocation, args.jsonConf, args.topology,resultHandler);
 +      }
 +    }
 +
 +    public static class submitTopologyWithOpts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, submitTopologyWithOpts_args, Void> {
 +      public submitTopologyWithOpts() {
 +        super("submitTopologyWithOpts");
 +      }
 +
 +      public submitTopologyWithOpts_args getEmptyArgsInstance() {
 +        return new submitTopologyWithOpts_args();
 +      }
 +
 +      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
 +        final org.apache.thrift.AsyncProcessFunction fcall = this;
 +        return new AsyncMethodCallback<Void>() { 
 +          public void onComplete(Void o) {
 +            submitTopologyWithOpts_result result = new submitTopologyWithOpts_result();
 +            try {
 +              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 +              return;
 +            } catch (Exception e) {
 +              LOGGER.error("Exception writing to internal frame buffer", e);
 +            }
 +            fb.close();
 +          }
 +          public void onError(Exception e) {
 +            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 +            org.apache.thrift.TBase msg;
 +            submitTopologyWithOpts_result result = new submitTopologyWithOpts_result();
 +            if (e instanceof AlreadyAliveException) {
 +                        result.e = (AlreadyAliveException) e;
 +                        result.set_e_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof InvalidTopologyException) {
 +                        result.ite = (InvalidTopologyException) e;
 +                        result.set_ite_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof AuthorizationException) {
 +                        result.aze = (AuthorizationException) e;
 +                        result.set_aze_isSet(true);
 +                        msg = result;
 +            }
 +             else 
 +            {
 +              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 +              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 +            }
 +            try {
 +              fcall.sendResponse(fb,msg,msgType,seqid);
 +              return;
 +            } catch (Exception ex) {
 +              LOGGER.error("Exception writing to internal frame buffer", ex);
 +            }
 +            fb.close();
 +          }
 +        };
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public void start(I iface, submitTopologyWithOpts_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
 +        iface.submitTopologyWithOpts(args.name, args.uploadedJarLocation, args.jsonConf, args.topology, args.options,resultHandler);
 +      }
 +    }
 +
 +    public static class killTopology<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, killTopology_args, Void> {
 +      public killTopology() {
 +        super("killTopology");
 +      }
 +
 +      public killTopology_args getEmptyArgsInstance() {
 +        return new killTopology_args();
 +      }
 +
 +      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
 +        final org.apache.thrift.AsyncProcessFunction fcall = this;
 +        return new AsyncMethodCallback<Void>() { 
 +          public void onComplete(Void o) {
 +            killTopology_result result = new killTopology_result();
 +            try {
 +              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 +              return;
 +            } catch (Exception e) {
 +              LOGGER.error("Exception writing to internal frame buffer", e);
 +            }
 +            fb.close();
 +          }
 +          public void onError(Exception e) {
 +            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 +            org.apache.thrift.TBase msg;
 +            killTopology_result result = new killTopology_result();
 +            if (e instanceof NotAliveException) {
 +                        result.e = (NotAliveException) e;
 +                        result.set_e_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof AuthorizationException) {
 +                        result.aze = (AuthorizationException) e;
 +                        result.set_aze_isSet(true);
 +                        msg = result;
 +            }
 +             else 
 +            {
 +              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 +              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 +            }
 +            try {
 +              fcall.sendResponse(fb,msg,msgType,seqid);
 +              return;
 +            } catch (Exception ex) {
 +              LOGGER.error("Exception writing to internal frame buffer", ex);
 +            }
 +            fb.close();
 +          }
 +        };
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public void start(I iface, killTopology_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
 +        iface.killTopology(args.name,resultHandler);
 +      }
 +    }
 +
 +    public static class killTopologyWithOpts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, killTopologyWithOpts_args, Void> {
 +      public killTopologyWithOpts() {
 +        super("killTopologyWithOpts");
 +      }
 +
 +      public killTopologyWithOpts_args getEmptyArgsInstance() {
 +        return new killTopologyWithOpts_args();
 +      }
 +
 +      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
 +        final org.apache.thrift.AsyncProcessFunction fcall = this;
 +        return new AsyncMethodCallback<Void>() { 
 +          public void onComplete(Void o) {
 +            killTopologyWithOpts_result result = new killTopologyWithOpts_result();
 +            try {
 +              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 +              return;
 +            } catch (Exception e) {
 +              LOGGER.error("Exception writing to internal frame buffer", e);
 +            }
 +            fb.close();
 +          }
 +          public void onError(Exception e) {
 +            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 +            org.apache.thrift.TBase msg;
 +            killTopologyWithOpts_result result = new killTopologyWithOpts_result();
 +            if (e instanceof NotAliveException) {
 +                        result.e = (NotAliveException) e;
 +                        result.set_e_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof AuthorizationException) {
 +                        result.aze = (AuthorizationException) e;
 +                        result.set_aze_isSet(true);
 +                        msg = result;
 +            }
 +             else 
 +            {
 +              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 +              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 +            }
 +            try {
 +              fcall.sendResponse(fb,msg,msgType,seqid);
 +              return;
 +            } catch (Exception ex) {
 +              LOGGER.error("Exception writing to internal frame buffer", ex);
 +            }
 +            fb.close();
 +          }
 +        };
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public void start(I iface, killTopologyWithOpts_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
 +        iface.killTopologyWithOpts(args.name, args.options,resultHandler);
 +      }
 +    }
 +
 +    public static class activate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, activate_args, Void> {
 +      public activate() {
 +        super("activate");
 +      }
 +
 +      public activate_args getEmptyArgsInstance() {
 +        return new activate_args();
 +      }
 +
 +      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
 +        final org.apache.thrift.AsyncProcessFunction fcall = this;
 +        return new AsyncMethodCallback<Void>() { 
 +          public void onComplete(Void o) {
 +            activate_result result = new activate_result();
 +            try {
 +              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 +              return;
 +            } catch (Exception e) {
 +              LOGGER.error("Exception writing to internal frame buffer", e);
 +            }
 +            fb.close();
 +          }
 +          public void onError(Exception e) {
 +            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 +            org.apache.thrift.TBase msg;
 +            activate_result result = new activate_result();
 +            if (e instanceof NotAliveException) {
 +                        result.e = (NotAliveException) e;
 +                        result.set_e_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof AuthorizationException) {
 +                        result.aze = (AuthorizationException) e;
 +                        result.set_aze_isSet(true);
 +                        msg = result;
 +            }
 +             else 
 +            {
 +              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 +              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 +            }
 +            try {
 +              fcall.sendResponse(fb,msg,msgType,seqid);
 +              return;
 +            } catch (Exception ex) {
 +              LOGGER.error("Exception writing to internal frame buffer", ex);
 +            }
 +            fb.close();
 +          }
 +        };
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public void start(I iface, activate_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
 +        iface.activate(args.name,resultHandler);
 +      }
 +    }
 +
 +    public static class deactivate<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deactivate_args, Void> {
 +      public deactivate() {
 +        super("deactivate");
 +      }
 +
 +      public deactivate_args getEmptyArgsInstance() {
 +        return new deactivate_args();
 +      }
 +
 +      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
 +        final org.apache.thrift.AsyncProcessFunction fcall = this;
 +        return new AsyncMethodCallback<Void>() { 
 +          public void onComplete(Void o) {
 +            deactivate_result result = new deactivate_result();
 +            try {
 +              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 +              return;
 +            } catch (Exception e) {
 +              LOGGER.error("Exception writing to internal frame buffer", e);
 +            }
 +            fb.close();
 +          }
 +          public void onError(Exception e) {
 +            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 +            org.apache.thrift.TBase msg;
 +            deactivate_result result = new deactivate_result();
 +            if (e instanceof NotAliveException) {
 +                        result.e = (NotAliveException) e;
 +                        result.set_e_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof AuthorizationException) {
 +                        result.aze = (AuthorizationException) e;
 +                        result.set_aze_isSet(true);
 +                        msg = result;
 +            }
 +             else 
 +            {
 +              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 +              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 +            }
 +            try {
 +              fcall.sendResponse(fb,msg,msgType,seqid);
 +              return;
 +            } catch (Exception ex) {
 +              LOGGER.error("Exception writing to internal frame buffer", ex);
 +            }
 +            fb.close();
 +          }
 +        };
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public void start(I iface, deactivate_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
 +        iface.deactivate(args.name,resultHandler);
 +      }
 +    }
 +
 +    public static class rebalance<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, rebalance_args, Void> {
 +      public rebalance() {
 +        super("rebalance");
 +      }
 +
 +      public rebalance_args getEmptyArgsInstance() {
 +        return new rebalance_args();
 +      }
 +
 +      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
 +        final org.apache.thrift.AsyncProcessFunction fcall = this;
 +        return new AsyncMethodCallback<Void>() { 
 +          public void onComplete(Void o) {
 +            rebalance_result result = new rebalance_result();
 +            try {
 +              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 +              return;
 +            } catch (Exception e) {
 +              LOGGER.error("Exception writing to internal frame buffer", e);
 +            }
 +            fb.close();
 +          }
 +          public void onError(Exception e) {
 +            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 +            org.apache.thrift.TBase msg;
 +            rebalance_result result = new rebalance_result();
 +            if (e instanceof NotAliveException) {
 +                        result.e = (NotAliveException) e;
 +                        result.set_e_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof InvalidTopologyException) {
 +                        result.ite = (InvalidTopologyException) e;
 +                        result.set_ite_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof AuthorizationException) {
 +                        result.aze = (AuthorizationException) e;
 +                        result.set_aze_isSet(true);
 +                        msg = result;
 +            }
 +             else 
 +            {
 +              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 +              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 +            }
 +            try {
 +              fcall.sendResponse(fb,msg,msgType,seqid);
 +              return;
 +            } catch (Exception ex) {
 +              LOGGER.error("Exception writing to internal frame buffer", ex);
 +            }
 +            fb.close();
 +          }
 +        };
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public void start(I iface, rebalance_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
 +        iface.rebalance(args.name, args.options,resultHandler);
 +      }
 +    }
 +
 +    public static class uploadNewCredentials<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, uploadNewCredentials_args, Void> {
 +      public uploadNewCredentials() {
 +        super("uploadNewCredentials");
 +      }
 +
 +      public uploadNewCredentials_args getEmptyArgsInstance() {
 +        return new uploadNewCredentials_args();
 +      }
 +
 +      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
 +        final org.apache.thrift.AsyncProcessFunction fcall = this;
 +        return new AsyncMethodCallback<Void>() { 
 +          public void onComplete(Void o) {
 +            uploadNewCredentials_result result = new uploadNewCredentials_result();
 +            try {
 +              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
 +              return;
 +            } catch (Exception e) {
 +              LOGGER.error("Exception writing to internal frame buffer", e);
 +            }
 +            fb.close();
 +          }
 +          public void onError(Exception e) {
 +            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
 +            org.apache.thrift.TBase msg;
 +            uploadNewCredentials_result result = new uploadNewCredentials_result();
 +            if (e instanceof NotAliveException) {
 +                        result.e = (NotAliveException) e;
 +                        result.set_e_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof InvalidTopologyException) {
 +                        result.ite = (InvalidTopologyException) e;
 +                        result.set_ite_isSet(true);
 +                        msg = result;
 +            }
 +            else             if (e instanceof AuthorizationException) {
 +                        result.aze = (AuthorizationException) e;
 +                        result.set_aze_isSet(true);
 +                        msg = result;
 +            }
 +             else 
 +            {
 +              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
 +              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
 +            }
 +            try {
 +              fcall.sendResponse(fb,msg,msgType,seqid);
 +              return;
 +            } catch (Exception ex) {
 +              LOGGER.error("Exception writing to internal frame buffer", ex);
 +            }
 +            fb.close();
 +          }
 +        };
 +      }
 +
 +      protected boolean isOneway() {
 +        return false;
 +      }
 +
 +      public void start(I iface, uploadNewCredentials_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
 +        iface.uploadNewCredentials(args.name, args.creds,resultHandler);
 +      }
 +    }
 +
 +    public static class beginFileUpload<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, beginFileUpload_args, String> {
        public beginFileUpload() {
          super("beginFileUpload");
        }
@@@ -2853,7 -1765,29 +2950,69 @@@
        }
      }
  
 -    private static class getTopologyInfoWithOpts<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyInfoWithOpts_args> {
++    public static class getTopologyInfoWithOpts<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTopologyInfoWithOpts_args, TopologyInfo> {
+       public getTopologyInfoWithOpts() {
+         super("getTopologyInfoWithOpts");
+       }
+ 
 -      protected getTopologyInfoWithOpts_args getEmptyArgsInstance() {
++      public getTopologyInfoWithOpts_args getEmptyArgsInstance() {
+         return new getTopologyInfoWithOpts_args();
+       }
+ 
 -      protected getTopologyInfoWithOpts_result getResult(I iface, getTopologyInfoWithOpts_args args) throws org.apache.thrift.TException {
 -        getTopologyInfoWithOpts_result result = new getTopologyInfoWithOpts_result();
 -        try {
 -          result.success = iface.getTopologyInfoWithOpts(args.id, args.options);
 -        } catch (NotAliveException e) {
 -          result.e = e;
 -        } catch (AuthorizationException aze) {
 -          result.aze = aze;
 -        }
 -        return result;
++      public AsyncMethodCallback<TopologyInfo> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
++        final org.apache.thrift.AsyncProcessFunction fcall = this;
++        return new AsyncMethodCallback<TopologyInfo>() { 
++          public void onComplete(TopologyInfo o) {
++            getTopologyInfoWithOpts_result result = new getTopologyInfoWithOpts_result();
++            result.success = o;
++            try {
++              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
++              return;
++            } catch (Exception e) {
++              LOGGER.error("Exception writing to internal frame buffer", e);
++            }
++            fb.close();
++          }
++          public void onError(Exception e) {
++            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
++            org.apache.thrift.TBase msg;
++            getTopologyInfoWithOpts_result result = new getTopologyInfoWithOpts_result();
++            if (e instanceof NotAliveException) {
++                        result.e = (NotAliveException) e;
++                        result.set_e_isSet(true);
++                        msg = result;
++            }
++            else             if (e instanceof AuthorizationException) {
++                        result.aze = (AuthorizationException) e;
++                        result.set_aze_isSet(true);
++                        msg = result;
++            }
++             else 
++            {
++              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
++              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
++            }
++            try {
++              fcall.sendResponse(fb,msg,msgType,seqid);
++              return;
++            } catch (Exception ex) {
++              LOGGER.error("Exception writing to internal frame buffer", ex);
++            }
++            fb.close();
++          }
++        };
++      }
++
++      protected boolean isOneway() {
++        return false;
++      }
++
++      public void start(I iface, getTopologyInfoWithOpts_args args, org.apache.thrift.async.AsyncMethodCallback<TopologyInfo> resultHandler) throws TException {
++        iface.getTopologyInfoWithOpts(args.id, args.options,resultHandler);
+       }
+     }
+ 
 -    private static class getTopologyConf<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getTopologyConf_args> {
 +    public static class getTopologyConf<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTopologyConf_args, String> {
        public getTopologyConf() {
          super("getTopologyConf");
        }
@@@ -17261,143 -14000,891 +17420,1185 @@@
        }
      }
  
 +    private static class getTopologyInfo_resultStandardSchemeFactory implements SchemeFactory {
 +      public getTopologyInfo_resultStandardScheme getScheme() {
 +        return new getTopologyInfo_resultStandardScheme();
 +      }
 +    }
 +
 +    private static class getTopologyInfo_resultStandardScheme extends StandardScheme<getTopologyInfo_result> {
 +
 +      public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyInfo_result 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 0: // SUCCESS
 +              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
 +                struct.success = new TopologyInfo();
 +                struct.success.read(iprot);
 +                struct.set_success_isSet(true);
 +              } else { 
 +                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +              }
 +              break;
 +            case 1: // E
 +              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
 +                struct.e = new NotAliveException();
 +                struct.e.read(iprot);
 +                struct.set_e_isSet(true);
 +              } else { 
 +                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +              }
 +              break;
 +            case 2: // AZE
 +              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
 +                struct.aze = new AuthorizationException();
 +                struct.aze.read(iprot);
 +                struct.set_aze_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, getTopologyInfo_result struct) throws org.apache.thrift.TException {
 +        struct.validate();
 +
 +        oprot.writeStructBegin(STRUCT_DESC);
 +        if (struct.success != null) {
 +          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
 +          struct.success.write(oprot);
 +          oprot.writeFieldEnd();
 +        }
 +        if (struct.e != null) {
 +          oprot.writeFieldBegin(E_FIELD_DESC);
 +          struct.e.write(oprot);
 +          oprot.writeFieldEnd();
 +        }
 +        if (struct.aze != null) {
 +          oprot.writeFieldBegin(AZE_FIELD_DESC);
 +          struct.aze.write(oprot);
 +          oprot.writeFieldEnd();
 +        }
 +        oprot.writeFieldStop();
 +        oprot.writeStructEnd();
 +      }
 +
 +    }
 +
 +    private static class getTopologyInfo_resultTupleSchemeFactory implements SchemeFactory {
 +      public getTopologyInfo_resultTupleScheme getScheme() {
 +        return new getTopologyInfo_resultTupleScheme();
 +      }
 +    }
 +
 +    private static class getTopologyInfo_resultTupleScheme extends TupleScheme<getTopologyInfo_result> {
 +
 +      @Override
 +      public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyInfo_result struct) throws org.apache.thrift.TException {
 +        TTupleProtocol oprot = (TTupleProtocol) prot;
 +        BitSet optionals = new BitSet();
 +        if (struct.is_set_success()) {
 +          optionals.set(0);
 +        }
 +        if (struct.is_set_e()) {
 +          optionals.set(1);
 +        }
 +        if (struct.is_set_aze()) {
 +          optionals.set(2);
 +        }
 +        oprot.writeBitSet(optionals, 3);
 +        if (struct.is_set_success()) {
 +          struct.success.write(oprot);
 +        }
 +        if (struct.is_set_e()) {
 +          struct.e.write(oprot);
 +        }
 +        if (struct.is_set_aze()) {
 +          struct.aze.write(oprot);
 +        }
 +      }
 +
 +      @Override
 +      public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyInfo_result struct) throws org.apache.thrift.TException {
++        TTupleProtocol iprot = (TTupleProtocol) prot;
++        BitSet incoming = iprot.readBitSet(3);
++        if (incoming.get(0)) {
++          struct.success = new TopologyInfo();
++          struct.success.read(iprot);
++          struct.set_success_isSet(true);
++        }
++        if (incoming.get(1)) {
++          struct.e = new NotAliveException();
++          struct.e.read(iprot);
++          struct.set_e_isSet(true);
++        }
++        if (incoming.get(2)) {
++          struct.aze = new AuthorizationException();
++          struct.aze.read(iprot);
++          struct.set_aze_isSet(true);
++        }
++      }
++    }
++
+   }
+ 
 -  public static class getTopologyInfoWithOpts_args implements org.apache.thrift.TBase<getTopologyInfoWithOpts_args, getTopologyInfoWithOpts_args._Fields>, java.io.Serializable, Cloneable   {
++  public static class getTopologyInfoWithOpts_args implements org.apache.thrift.TBase<getTopologyInfoWithOpts_args, getTopologyInfoWithOpts_args._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfoWithOpts_args>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyInfoWithOpts_args");
+ 
+     private static final org.apache.thrift.protocol.TField ID_FIELD_DESC = new org.apache.thrift.protocol.TField("id", org.apache.thrift.protocol.TType.STRING, (short)1);
+     private static final org.apache.thrift.protocol.TField OPTIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("options", 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 getTopologyInfoWithOpts_argsStandardSchemeFactory());
++      schemes.put(TupleScheme.class, new getTopologyInfoWithOpts_argsTupleSchemeFactory());
++    }
++
+     private String id; // required
+     private GetInfoOptions options; // required
+ 
+     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+       ID((short)1, "id"),
+       OPTIONS((short)2, "options");
+ 
+       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: // ID
+             return ID;
+           case 2: // OPTIONS
+             return OPTIONS;
+           default:
+             return null;
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, throwing an exception
+        * if it is not found.
+        */
+       public static _Fields findByThriftIdOrThrow(int fieldId) {
+         _Fields fields = findByThriftId(fieldId);
+         if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+         return fields;
+       }
+ 
+       /**
+        * Find the _Fields constant that matches name, or null if its not found.
+        */
+       public static _Fields findByName(String name) {
+         return byName.get(name);
+       }
+ 
+       private final short _thriftId;
+       private final String _fieldName;
+ 
+       _Fields(short thriftId, String fieldName) {
+         _thriftId = thriftId;
+         _fieldName = fieldName;
+       }
+ 
+       public short getThriftFieldId() {
+         return _thriftId;
+       }
+ 
+       public String getFieldName() {
+         return _fieldName;
+       }
+     }
+ 
+     // isset id assignments
 -
+     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.ID, new org.apache.thrift.meta_data.FieldMetaData("id", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+       tmpMap.put(_Fields.OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("options", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, GetInfoOptions.class)));
+       metaDataMap = Collections.unmodifiableMap(tmpMap);
+       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfoWithOpts_args.class, metaDataMap);
+     }
+ 
+     public getTopologyInfoWithOpts_args() {
+     }
+ 
+     public getTopologyInfoWithOpts_args(
+       String id,
+       GetInfoOptions options)
+     {
+       this();
+       this.id = id;
+       this.options = options;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public getTopologyInfoWithOpts_args(getTopologyInfoWithOpts_args other) {
+       if (other.is_set_id()) {
+         this.id = other.id;
+       }
+       if (other.is_set_options()) {
+         this.options = new GetInfoOptions(other.options);
+       }
+     }
+ 
+     public getTopologyInfoWithOpts_args deepCopy() {
+       return new getTopologyInfoWithOpts_args(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.id = null;
+       this.options = null;
+     }
+ 
+     public String get_id() {
+       return this.id;
+     }
+ 
+     public void set_id(String id) {
+       this.id = id;
+     }
+ 
+     public void unset_id() {
+       this.id = null;
+     }
+ 
+     /** Returns true if field id is set (has been assigned a value) and false otherwise */
+     public boolean is_set_id() {
+       return this.id != null;
+     }
+ 
+     public void set_id_isSet(boolean value) {
+       if (!value) {
+         this.id = null;
+       }
+     }
+ 
+     public GetInfoOptions get_options() {
+       return this.options;
+     }
+ 
+     public void set_options(GetInfoOptions options) {
+       this.options = options;
+     }
+ 
+     public void unset_options() {
+       this.options = null;
+     }
+ 
+     /** Returns true if field options is set (has been assigned a value) and false otherwise */
+     public boolean is_set_options() {
+       return this.options != null;
+     }
+ 
+     public void set_options_isSet(boolean value) {
+       if (!value) {
+         this.options = null;
+       }
+     }
+ 
+     public void setFieldValue(_Fields field, Object value) {
+       switch (field) {
+       case ID:
+         if (value == null) {
+           unset_id();
+         } else {
+           set_id((String)value);
+         }
+         break;
+ 
+       case OPTIONS:
+         if (value == null) {
+           unset_options();
+         } else {
+           set_options((GetInfoOptions)value);
+         }
+         break;
+ 
+       }
+     }
+ 
+     public Object getFieldValue(_Fields field) {
+       switch (field) {
+       case ID:
+         return get_id();
+ 
+       case OPTIONS:
+         return get_options();
+ 
+       }
+       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 ID:
+         return is_set_id();
+       case OPTIONS:
+         return is_set_options();
+       }
+       throw new IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof getTopologyInfoWithOpts_args)
+         return this.equals((getTopologyInfoWithOpts_args)that);
+       return false;
+     }
+ 
+     public boolean equals(getTopologyInfoWithOpts_args that) {
+       if (that == null)
+         return false;
+ 
+       boolean this_present_id = true && this.is_set_id();
+       boolean that_present_id = true && that.is_set_id();
+       if (this_present_id || that_present_id) {
+         if (!(this_present_id && that_present_id))
+           return false;
+         if (!this.id.equals(that.id))
+           return false;
+       }
+ 
+       boolean this_present_options = true && this.is_set_options();
+       boolean that_present_options = true && that.is_set_options();
+       if (this_present_options || that_present_options) {
+         if (!(this_present_options && that_present_options))
+           return false;
+         if (!this.options.equals(that.options))
+           return false;
+       }
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
 -      HashCodeBuilder builder = new HashCodeBuilder();
++      List<Object> list = new ArrayList<Object>();
+ 
+       boolean present_id = true && (is_set_id());
 -      builder.append(present_id);
++      list.add(present_id);
+       if (present_id)
 -        builder.append(id);
++        list.add(id);
+ 
+       boolean present_options = true && (is_set_options());
 -      builder.append(present_options);
++      list.add(present_options);
+       if (present_options)
 -        builder.append(options);
++        list.add(options);
+ 
 -      return builder.toHashCode();
++      return list.hashCode();
+     }
+ 
++    @Override
+     public int compareTo(getTopologyInfoWithOpts_args other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
 -      getTopologyInfoWithOpts_args typedOther = (getTopologyInfoWithOpts_args)other;
+ 
 -      lastComparison = Boolean.valueOf(is_set_id()).compareTo(typedOther.is_set_id());
++      lastComparison = Boolean.valueOf(is_set_id()).compareTo(other.is_set_id());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (is_set_id()) {
 -        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, typedOther.id);
++        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.id, other.id);
+         if (lastComparison != 0) {
+           return lastComparison;
+         }
+       }
 -      lastComparison = Boolean.valueOf(is_set_options()).compareTo(typedOther.is_set_options());
++      lastComparison = Boolean.valueOf(is_set_options()).compareTo(other.is_set_options());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (is_set_options()) {
 -        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.options, typedOther.options);
++        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.options, other.options);
+         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 {
 -      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: // ID
 -            if (field.type == org.apache.thrift.protocol.TType.STRING) {
 -              this.id = iprot.readString();
 -            } else { 
 -              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
 -            }
 -            break;
 -          case 2: // OPTIONS
 -            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
 -              this.options = new GetInfoOptions();
 -              this.options.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.id != null) {
 -        oprot.writeFieldBegin(ID_FIELD_DESC);
 -        oprot.writeString(this.id);
 -        oprot.writeFieldEnd();
 -      }
 -      if (this.options != null) {
 -        oprot.writeFieldBegin(OPTIONS_FIELD_DESC);
 -        this.options.write(oprot);
 -        oprot.writeFieldEnd();
 -      }
 -      oprot.writeFieldStop();
 -      oprot.writeStructEnd();
++      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+     }
+ 
+     @Override
+     public String toString() {
+       StringBuilder sb = new StringBuilder("getTopologyInfoWithOpts_args(");
+       boolean first = true;
+ 
+       sb.append("id:");
+       if (this.id == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.id);
+       }
+       first = false;
+       if (!first) sb.append(", ");
+       sb.append("options:");
+       if (this.options == null) {
+         sb.append("null");
+       } else {
+         sb.append(this.options);
+       }
+       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 (options != null) {
++        options.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 getTopologyInfoWithOpts_argsStandardSchemeFactory implements SchemeFactory {
++      public getTopologyInfoWithOpts_argsStandardScheme getScheme() {
++        return new getTopologyInfoWithOpts_argsStandardScheme();
++      }
++    }
++
++    private static class getTopologyInfoWithOpts_argsStandardScheme extends StandardScheme<getTopologyInfoWithOpts_args> {
++
++      public void read(org.apache.thrift.protocol.TProtocol iprot, getTopologyInfoWithOpts_args 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: // ID
++              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
++                struct.id = iprot.readString();
++                struct.set_id_isSet(true);
++              } else { 
++                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
++              }
++              break;
++            case 2: // OPTIONS
++              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
++                struct.options = new GetInfoOptions();
++                struct.options.read(iprot);
++                struct.set_options_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, getTopologyInfoWithOpts_args struct) throws org.apache.thrift.TException {
++        struct.validate();
++
++        oprot.writeStructBegin(STRUCT_DESC);
++        if (struct.id != null) {
++          oprot.writeFieldBegin(ID_FIELD_DESC);
++          oprot.writeString(struct.id);
++          oprot.writeFieldEnd();
++        }
++        if (struct.options != null) {
++          oprot.writeFieldBegin(OPTIONS_FIELD_DESC);
++          struct.options.write(oprot);
++          oprot.writeFieldEnd();
++        }
++        oprot.writeFieldStop();
++        oprot.writeStructEnd();
++      }
++
++    }
++
++    private static class getTopologyInfoWithOpts_argsTupleSchemeFactory implements SchemeFactory {
++      public getTopologyInfoWithOpts_argsTupleScheme getScheme() {
++        return new getTopologyInfoWithOpts_argsTupleScheme();
++      }
++    }
++
++    private static class getTopologyInfoWithOpts_argsTupleScheme extends TupleScheme<getTopologyInfoWithOpts_args> {
++
++      @Override
++      public void write(org.apache.thrift.protocol.TProtocol prot, getTopologyInfoWithOpts_args struct) throws org.apache.thrift.TException {
++        TTupleProtocol oprot = (TTupleProtocol) prot;
++        BitSet optionals = new BitSet();
++        if (struct.is_set_id()) {
++          optionals.set(0);
++        }
++        if (struct.is_set_options()) {
++          optionals.set(1);
++        }
++        oprot.writeBitSet(optionals, 2);
++        if (struct.is_set_id()) {
++          oprot.writeString(struct.id);
++        }
++        if (struct.is_set_options()) {
++          struct.options.write(oprot);
++        }
++      }
++
++      @Override
++      public void read(org.apache.thrift.protocol.TProtocol prot, getTopologyInfoWithOpts_args struct) throws org.apache.thrift.TException {
++        TTupleProtocol iprot = (TTupleProtocol) prot;
++        BitSet incoming = iprot.readBitSet(2);
++        if (incoming.get(0)) {
++          struct.id = iprot.readString();
++          struct.set_id_isSet(true);
++        }
++        if (incoming.get(1)) {
++          struct.options = new GetInfoOptions();
++          struct.options.read(iprot);
++          struct.set_options_isSet(true);
++        }
++      }
++    }
++
+   }
+ 
 -  public static class getTopologyInfoWithOpts_result implements org.apache.thrift.TBase<getTopologyInfoWithOpts_result, getTopologyInfoWithOpts_result._Fields>, java.io.Serializable, Cloneable   {
++  public static class getTopologyInfoWithOpts_result implements org.apache.thrift.TBase<getTopologyInfoWithOpts_result, getTopologyInfoWithOpts_result._Fields>, java.io.Serializable, Cloneable, Comparable<getTopologyInfoWithOpts_result>   {
+     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getTopologyInfoWithOpts_result");
+ 
+     private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
+     private static final org.apache.thrift.protocol.TField E_FIELD_DESC = new org.apache.thrift.protocol.TField("e", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+     private static final org.apache.thrift.protocol.TField AZE_FIELD_DESC = new org.apache.thrift.protocol.TField("aze", 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 getTopologyInfoWithOpts_resultStandardSchemeFactory());
++      schemes.put(TupleScheme.class, new getTopologyInfoWithOpts_resultTupleSchemeFactory());
++    }
++
+     private TopologyInfo success; // required
+     private NotAliveException e; // required
+     private AuthorizationException aze; // required
+ 
+     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+       SUCCESS((short)0, "success"),
+       E((short)1, "e"),
+       AZE((short)2, "aze");
+ 
+       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 0: // SUCCESS
+             return SUCCESS;
+           case 1: // E
+             return E;
+           case 2: // AZE
+             return AZE;
+           default:
+             return null;
+         }
+       }
+ 
+       /**
+        * Find the _Fields constant that matches fieldId, throwing an exception
+        * if it is not found.
+        */
+       public static _Fields findByThriftIdOrThrow(int fieldId) {
+         _Fields fields = findByThriftId(fieldId);
+         if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+         return fields;
+       }
+ 
+       /**
+        * Find the _Fields constant that matches name, or null if its not found.
+        */
+       public static _Fields findByName(String name) {
+         return byName.get(name);
+       }
+ 
+       private final short _thriftId;
+       private final String _fieldName;
+ 
+       _Fields(short thriftId, String fieldName) {
+         _thriftId = thriftId;
+         _fieldName = fieldName;
+       }
+ 
+       public short getThriftFieldId() {
+         return _thriftId;
+       }
+ 
+       public String getFieldName() {
+         return _fieldName;
+       }
+     }
+ 
+     // isset id assignments
 -
+     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+     static {
+       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+       tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TopologyInfo.class)));
+       tmpMap.put(_Fields.E, new org.apache.thrift.meta_data.FieldMetaData("e", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+       tmpMap.put(_Fields.AZE, new org.apache.thrift.meta_data.FieldMetaData("aze", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+       metaDataMap = Collections.unmodifiableMap(tmpMap);
+       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getTopologyInfoWithOpts_result.class, metaDataMap);
+     }
+ 
+     public getTopologyInfoWithOpts_result() {
+     }
+ 
+     public getTopologyInfoWithOpts_result(
+       TopologyInfo success,
+       NotAliveException e,
+       AuthorizationException aze)
+     {
+       this();
+       this.success = success;
+       this.e = e;
+       this.aze = aze;
+     }
+ 
+     /**
+      * Performs a deep copy on <i>other</i>.
+      */
+     public getTopologyInfoWithOpts_result(getTopologyInfoWithOpts_result other) {
+       if (other.is_set_success()) {
+         this.success = new TopologyInfo(other.success);
+       }
+       if (other.is_set_e()) {
+         this.e = new NotAliveException(other.e);
+       }
+       if (other.is_set_aze()) {
+         this.aze = new AuthorizationException(other.aze);
+       }
+     }
+ 
+     public getTopologyInfoWithOpts_result deepCopy() {
+       return new getTopologyInfoWithOpts_result(this);
+     }
+ 
+     @Override
+     public void clear() {
+       this.success = null;
+       this.e = null;
+       this.aze = null;
+     }
+ 
+     public TopologyInfo get_success() {
+       return this.success;
+     }
+ 
+     public void set_success(TopologyInfo success) {
+       this.success = success;
+     }
+ 
+     public void unset_success() {
+       this.success = null;
+     }
+ 
+     /** Returns true if field success is set (has been assigned a value) and false otherwise */
+     public boolean is_set_success() {
+       return this.success != null;
+     }
+ 
+     public void set_success_isSet(boolean value) {
+       if (!value) {
+         this.success = null;
+       }
+     }
+ 
+     public NotAliveException get_e() {
+       return this.e;
+     }
+ 
+     public void set_e(NotAliveException e) {
+       this.e = e;
+     }
+ 
+     public void unset_e() {
+       this.e = null;
+     }
+ 
+     /** Returns true if field e is set (has been assigned a value) and false otherwise */
+     public boolean is_set_e() {
+       return this.e != null;
+     }
+ 
+     public void set_e_isSet(boolean value) {
+       if (!value) {
+         this.e = null;
+       }
+     }
+ 
+     public AuthorizationException get_aze() {
+       return this.aze;
+     }
+ 
+     public void set_aze(AuthorizationException aze) {
+       this.aze = aze;
+     }
+ 
+     public void unset_aze() {
+       this.aze = null;
+     }
+ 
+     /** Returns true if field aze is set (has been assigned a value) and false otherwise */
+     public boolean is_set_aze() {
+       return this.aze != null;
+     }
+ 
+     public void set_aze_isSet(boolean value) {
+       if (!value) {
+         this.aze = null;
+       }
+     }
+ 
+     public void setFieldValue(_Fields field, Object value) {
+       switch (field) {
+       case SUCCESS:
+         if (value == null) {
+           unset_success();
+         } else {
+           set_success((TopologyInfo)value);
+         }
+         break;
+ 
+       case E:
+         if (value == null) {
+           unset_e();
+         } else {
+           set_e((NotAliveException)value);
+         }
+         break;
+ 
+       case AZE:
+         if (value == null) {
+           unset_aze();
+         } else {
+           set_aze((AuthorizationException)value);
+         }
+         break;
+ 
+       }
+     }
+ 
+     public Object getFieldValue(_Fields field) {
+       switch (field) {
+       case SUCCESS:
+         return get_success();
+ 
+       case E:
+         return get_e();
+ 
+       case AZE:
+         return get_aze();
+ 
+       }
+       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 SUCCESS:
+         return is_set_success();
+       case E:
+         return is_set_e();
+       case AZE:
+         return is_set_aze();
+       }
+       throw new IllegalStateException();
+     }
+ 
+     @Override
+     public boolean equals(Object that) {
+       if (that == null)
+         return false;
+       if (that instanceof getTopologyInfoWithOpts_result)
+         return this.equals((getTopologyInfoWithOpts_result)that);
+       return false;
+     }
+ 
+     public boolean equals(getTopologyInfoWithOpts_result that) {
+       if (that == null)
+         return false;
+ 
+       boolean this_present_success = true && this.is_set_success();
+       boolean that_present_success = true && that.is_set_success();
+       if (this_present_success || that_present_success) {
+         if (!(this_present_success && that_present_success))
+           return false;
+         if (!this.success.equals(that.success))
+           return false;
+       }
+ 
+       boolean this_present_e = true && this.is_set_e();
+       boolean that_present_e = true && that.is_set_e();
+       if (this_present_e || that_present_e) {
+         if (!(this_present_e && that_present_e))
+           return false;
+         if (!this.e.equals(that.e))
+           return false;
+       }
+ 
+       boolean this_present_aze = true && this.is_set_aze();
+       boolean that_present_aze = true && that.is_set_aze();
+       if (this_present_aze || that_present_aze) {
+         if (!(this_present_aze && that_present_aze))
+           return false;
+         if (!this.aze.equals(that.aze))
+           return false;
+       }
+ 
+       return true;
+     }
+ 
+     @Override
+     public int hashCode() {
 -      HashCodeBuilder builder = new HashCodeBuilder();
++      List<Object> list = new ArrayList<Object>();
+ 
+       boolean present_success = true && (is_set_success());
 -      builder.append(present_success);
++      list.add(present_success);
+       if (present_success)
 -        builder.append(success);
++        list.add(success);
+ 
+       boolean present_e = true && (is_set_e());
 -      builder.append(present_e);
++      list.add(present_e);
+       if (present_e)
 -        builder.append(e);
++        list.add(e);
+ 
+       boolean present_aze = true && (is_set_aze());
 -      builder.append(present_aze);
++      list.add(present_aze);
+       if (present_aze)
 -        builder.append(aze);
++        list.add(aze);
+ 
 -      return builder.toHashCode();
++      return list.hashCode();
+     }
+ 
++    @Override
+     public int compareTo(getTopologyInfoWithOpts_result other) {
+       if (!getClass().equals(other.getClass())) {
+         return getClass().getName().compareTo(other.getClass().getName());
+       }
+ 
+       int lastComparison = 0;
 -      getTopologyInfoWithOpts_result typedOther = (getTopologyInfoWithOpts_result)other;
+ 
 -      lastComparison = Boolean.valueOf(is_set_success()).compareTo(typedOther.is_set_success());
++      lastComparison = Boolean.valueOf(is_set_success()).compareTo(other.is_set_success());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (is_set_success()) {
 -        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
++        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+         if (lastComparison != 0) {
+           return lastComparison;
+         }
+       }
 -      lastComparison = Boolean.valueOf(is_set_e()).compareTo(typedOther.is_set_e());
++      lastComparison = Boolean.valueOf(is_set_e()).compareTo(other.is_set_e());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (is_set_e()) {
 -        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, typedOther.e);
++        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.e, other.e);
+         if (lastComparison != 0) {
+           return lastComparison;
+         }
+       }
 -      lastComparison = Boolean.valueOf(is_set_aze()).compareTo(typedOther.is_set_aze());
++      lastComparison = Boolean.valueOf(is_set_aze()).compareTo(other.is_set_aze());
+       if (lastComparison != 0) {
+         return lastComparison;
+       }
+       if (is_set_aze()) {
 -        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aze, typedOther.aze);
++        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.aze, other.aze);
+         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 {
 -      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 0: // SUCCESS
 -            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
 -              this.success = new TopologyInfo();
 -              this.success.read(iprot);
 -            } else { 
 -              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
 -            }
 -            break;
 -          case 1: // E
 -            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
 -              this.e = new NotAliveException();
 -              this.e.read(iprot);
 -            } else { 
 -              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
 -            }
 -            break;
 -          case 2: // AZE
 -            if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
 -              this.aze = new AuthorizationException();
 -              this.aze.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 {
 -      oprot.writeStructBegin(STRUCT_DESC);
 -
 -      if (this.is_set_success()) {
 -        oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
 -        this.success.write(oprot);
 -        oprot.writeFieldEnd();
 -      } else if (this.is_set_e()) {
 -        oprot.writeFieldBegin(E_FIELD_DESC);
 -        this.e.write(oprot);
 -        oprot.writeFieldEnd();
 -      } else if (this.is_set_aze()) {
 -        oprot.writeFieldBegin(AZE_FIELD_DESC);
 -        this.aze.write(oprot);
 -        oprot.writeFieldEnd();
++      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+       }
 -      oprot.writeFieldStop();
 -      oprot.writeStructEnd();
 -    }
+ 
+     @Override
+     public String toString() {
+       StringBuilde

<TRUNCATED>