You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by zj...@apache.org on 2018/06/15 01:10:01 UTC

[06/13] zeppelin git commit: ZEPPELIN-2035. BI directional RPC framework between ZeppelinServer and InterpreterProcess on top of thrift

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7af86168/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
----------------------------------------------------------------------
diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
new file mode 100644
index 0000000..c0c4dae
--- /dev/null
+++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/thrift/RemoteInterpreterEventService.java
@@ -0,0 +1,13261 @@
+/**
+ * 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.2)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.zeppelin.interpreter.thrift;
+
+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.2)", date = "2018-5-29")
+public class RemoteInterpreterEventService {
+
+  public interface Iface {
+
+    public void registerInterpreterProcess(RegisterInfo registerInfo) throws org.apache.thrift.TException;
+
+    public void appendOutput(OutputAppendEvent event) throws org.apache.thrift.TException;
+
+    public void updateOutput(OutputUpdateEvent event) throws org.apache.thrift.TException;
+
+    public void updateAllOutput(OutputUpdateAllEvent event) throws org.apache.thrift.TException;
+
+    public void appendAppOutput(AppOutputAppendEvent event) throws org.apache.thrift.TException;
+
+    public void updateAppOutput(AppOutputUpdateEvent event) throws org.apache.thrift.TException;
+
+    public void updateAppStatus(AppStatusUpdateEvent event) throws org.apache.thrift.TException;
+
+    public void runParagraphs(RunParagraphsEvent event) throws org.apache.thrift.TException;
+
+    public void addAngularObject(String intpGroupId, String json) throws org.apache.thrift.TException;
+
+    public void updateAngularObject(String intpGroupId, String json) throws org.apache.thrift.TException;
+
+    public void removeAngularObject(String intpGroupId, String noteId, String paragraphId, String name) throws org.apache.thrift.TException;
+
+    public void sendMetaInfo(String intpGroupId, String json) throws org.apache.thrift.TException;
+
+    public void sendParagraphInfo(String intpGroupId, String json) throws org.apache.thrift.TException;
+
+    public List<String> getAllResources(String intpGroupId) throws org.apache.thrift.TException;
+
+    public ByteBuffer getResource(String resourceIdJson) throws org.apache.thrift.TException;
+
+    public ByteBuffer invokeMethod(String intpGroupId, String invokeMethodJson) throws org.apache.thrift.TException;
+
+  }
+
+  public interface AsyncIface {
+
+    public void registerInterpreterProcess(RegisterInfo registerInfo, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void appendOutput(OutputAppendEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void updateOutput(OutputUpdateEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void updateAllOutput(OutputUpdateAllEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void appendAppOutput(AppOutputAppendEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void updateAppOutput(AppOutputUpdateEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void updateAppStatus(AppStatusUpdateEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void runParagraphs(RunParagraphsEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void addAngularObject(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void updateAngularObject(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void removeAngularObject(String intpGroupId, String noteId, String paragraphId, String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void sendMetaInfo(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void sendParagraphInfo(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getAllResources(String intpGroupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getResource(String resourceIdJson, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void invokeMethod(String intpGroupId, String invokeMethodJson, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+  }
+
+  public static class Client extends org.apache.thrift.TServiceClient implements Iface {
+    public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
+      public Factory() {}
+      public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
+        return new Client(prot);
+      }
+      public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
+        return new Client(iprot, oprot);
+      }
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol prot)
+    {
+      super(prot, prot);
+    }
+
+    public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
+      super(iprot, oprot);
+    }
+
+    public void registerInterpreterProcess(RegisterInfo registerInfo) throws org.apache.thrift.TException
+    {
+      send_registerInterpreterProcess(registerInfo);
+      recv_registerInterpreterProcess();
+    }
+
+    public void send_registerInterpreterProcess(RegisterInfo registerInfo) throws org.apache.thrift.TException
+    {
+      registerInterpreterProcess_args args = new registerInterpreterProcess_args();
+      args.setRegisterInfo(registerInfo);
+      sendBase("registerInterpreterProcess", args);
+    }
+
+    public void recv_registerInterpreterProcess() throws org.apache.thrift.TException
+    {
+      registerInterpreterProcess_result result = new registerInterpreterProcess_result();
+      receiveBase(result, "registerInterpreterProcess");
+      return;
+    }
+
+    public void appendOutput(OutputAppendEvent event) throws org.apache.thrift.TException
+    {
+      send_appendOutput(event);
+      recv_appendOutput();
+    }
+
+    public void send_appendOutput(OutputAppendEvent event) throws org.apache.thrift.TException
+    {
+      appendOutput_args args = new appendOutput_args();
+      args.setEvent(event);
+      sendBase("appendOutput", args);
+    }
+
+    public void recv_appendOutput() throws org.apache.thrift.TException
+    {
+      appendOutput_result result = new appendOutput_result();
+      receiveBase(result, "appendOutput");
+      return;
+    }
+
+    public void updateOutput(OutputUpdateEvent event) throws org.apache.thrift.TException
+    {
+      send_updateOutput(event);
+      recv_updateOutput();
+    }
+
+    public void send_updateOutput(OutputUpdateEvent event) throws org.apache.thrift.TException
+    {
+      updateOutput_args args = new updateOutput_args();
+      args.setEvent(event);
+      sendBase("updateOutput", args);
+    }
+
+    public void recv_updateOutput() throws org.apache.thrift.TException
+    {
+      updateOutput_result result = new updateOutput_result();
+      receiveBase(result, "updateOutput");
+      return;
+    }
+
+    public void updateAllOutput(OutputUpdateAllEvent event) throws org.apache.thrift.TException
+    {
+      send_updateAllOutput(event);
+      recv_updateAllOutput();
+    }
+
+    public void send_updateAllOutput(OutputUpdateAllEvent event) throws org.apache.thrift.TException
+    {
+      updateAllOutput_args args = new updateAllOutput_args();
+      args.setEvent(event);
+      sendBase("updateAllOutput", args);
+    }
+
+    public void recv_updateAllOutput() throws org.apache.thrift.TException
+    {
+      updateAllOutput_result result = new updateAllOutput_result();
+      receiveBase(result, "updateAllOutput");
+      return;
+    }
+
+    public void appendAppOutput(AppOutputAppendEvent event) throws org.apache.thrift.TException
+    {
+      send_appendAppOutput(event);
+      recv_appendAppOutput();
+    }
+
+    public void send_appendAppOutput(AppOutputAppendEvent event) throws org.apache.thrift.TException
+    {
+      appendAppOutput_args args = new appendAppOutput_args();
+      args.setEvent(event);
+      sendBase("appendAppOutput", args);
+    }
+
+    public void recv_appendAppOutput() throws org.apache.thrift.TException
+    {
+      appendAppOutput_result result = new appendAppOutput_result();
+      receiveBase(result, "appendAppOutput");
+      return;
+    }
+
+    public void updateAppOutput(AppOutputUpdateEvent event) throws org.apache.thrift.TException
+    {
+      send_updateAppOutput(event);
+      recv_updateAppOutput();
+    }
+
+    public void send_updateAppOutput(AppOutputUpdateEvent event) throws org.apache.thrift.TException
+    {
+      updateAppOutput_args args = new updateAppOutput_args();
+      args.setEvent(event);
+      sendBase("updateAppOutput", args);
+    }
+
+    public void recv_updateAppOutput() throws org.apache.thrift.TException
+    {
+      updateAppOutput_result result = new updateAppOutput_result();
+      receiveBase(result, "updateAppOutput");
+      return;
+    }
+
+    public void updateAppStatus(AppStatusUpdateEvent event) throws org.apache.thrift.TException
+    {
+      send_updateAppStatus(event);
+      recv_updateAppStatus();
+    }
+
+    public void send_updateAppStatus(AppStatusUpdateEvent event) throws org.apache.thrift.TException
+    {
+      updateAppStatus_args args = new updateAppStatus_args();
+      args.setEvent(event);
+      sendBase("updateAppStatus", args);
+    }
+
+    public void recv_updateAppStatus() throws org.apache.thrift.TException
+    {
+      updateAppStatus_result result = new updateAppStatus_result();
+      receiveBase(result, "updateAppStatus");
+      return;
+    }
+
+    public void runParagraphs(RunParagraphsEvent event) throws org.apache.thrift.TException
+    {
+      send_runParagraphs(event);
+      recv_runParagraphs();
+    }
+
+    public void send_runParagraphs(RunParagraphsEvent event) throws org.apache.thrift.TException
+    {
+      runParagraphs_args args = new runParagraphs_args();
+      args.setEvent(event);
+      sendBase("runParagraphs", args);
+    }
+
+    public void recv_runParagraphs() throws org.apache.thrift.TException
+    {
+      runParagraphs_result result = new runParagraphs_result();
+      receiveBase(result, "runParagraphs");
+      return;
+    }
+
+    public void addAngularObject(String intpGroupId, String json) throws org.apache.thrift.TException
+    {
+      send_addAngularObject(intpGroupId, json);
+      recv_addAngularObject();
+    }
+
+    public void send_addAngularObject(String intpGroupId, String json) throws org.apache.thrift.TException
+    {
+      addAngularObject_args args = new addAngularObject_args();
+      args.setIntpGroupId(intpGroupId);
+      args.setJson(json);
+      sendBase("addAngularObject", args);
+    }
+
+    public void recv_addAngularObject() throws org.apache.thrift.TException
+    {
+      addAngularObject_result result = new addAngularObject_result();
+      receiveBase(result, "addAngularObject");
+      return;
+    }
+
+    public void updateAngularObject(String intpGroupId, String json) throws org.apache.thrift.TException
+    {
+      send_updateAngularObject(intpGroupId, json);
+      recv_updateAngularObject();
+    }
+
+    public void send_updateAngularObject(String intpGroupId, String json) throws org.apache.thrift.TException
+    {
+      updateAngularObject_args args = new updateAngularObject_args();
+      args.setIntpGroupId(intpGroupId);
+      args.setJson(json);
+      sendBase("updateAngularObject", args);
+    }
+
+    public void recv_updateAngularObject() throws org.apache.thrift.TException
+    {
+      updateAngularObject_result result = new updateAngularObject_result();
+      receiveBase(result, "updateAngularObject");
+      return;
+    }
+
+    public void removeAngularObject(String intpGroupId, String noteId, String paragraphId, String name) throws org.apache.thrift.TException
+    {
+      send_removeAngularObject(intpGroupId, noteId, paragraphId, name);
+      recv_removeAngularObject();
+    }
+
+    public void send_removeAngularObject(String intpGroupId, String noteId, String paragraphId, String name) throws org.apache.thrift.TException
+    {
+      removeAngularObject_args args = new removeAngularObject_args();
+      args.setIntpGroupId(intpGroupId);
+      args.setNoteId(noteId);
+      args.setParagraphId(paragraphId);
+      args.setName(name);
+      sendBase("removeAngularObject", args);
+    }
+
+    public void recv_removeAngularObject() throws org.apache.thrift.TException
+    {
+      removeAngularObject_result result = new removeAngularObject_result();
+      receiveBase(result, "removeAngularObject");
+      return;
+    }
+
+    public void sendMetaInfo(String intpGroupId, String json) throws org.apache.thrift.TException
+    {
+      send_sendMetaInfo(intpGroupId, json);
+      recv_sendMetaInfo();
+    }
+
+    public void send_sendMetaInfo(String intpGroupId, String json) throws org.apache.thrift.TException
+    {
+      sendMetaInfo_args args = new sendMetaInfo_args();
+      args.setIntpGroupId(intpGroupId);
+      args.setJson(json);
+      sendBase("sendMetaInfo", args);
+    }
+
+    public void recv_sendMetaInfo() throws org.apache.thrift.TException
+    {
+      sendMetaInfo_result result = new sendMetaInfo_result();
+      receiveBase(result, "sendMetaInfo");
+      return;
+    }
+
+    public void sendParagraphInfo(String intpGroupId, String json) throws org.apache.thrift.TException
+    {
+      send_sendParagraphInfo(intpGroupId, json);
+      recv_sendParagraphInfo();
+    }
+
+    public void send_sendParagraphInfo(String intpGroupId, String json) throws org.apache.thrift.TException
+    {
+      sendParagraphInfo_args args = new sendParagraphInfo_args();
+      args.setIntpGroupId(intpGroupId);
+      args.setJson(json);
+      sendBase("sendParagraphInfo", args);
+    }
+
+    public void recv_sendParagraphInfo() throws org.apache.thrift.TException
+    {
+      sendParagraphInfo_result result = new sendParagraphInfo_result();
+      receiveBase(result, "sendParagraphInfo");
+      return;
+    }
+
+    public List<String> getAllResources(String intpGroupId) throws org.apache.thrift.TException
+    {
+      send_getAllResources(intpGroupId);
+      return recv_getAllResources();
+    }
+
+    public void send_getAllResources(String intpGroupId) throws org.apache.thrift.TException
+    {
+      getAllResources_args args = new getAllResources_args();
+      args.setIntpGroupId(intpGroupId);
+      sendBase("getAllResources", args);
+    }
+
+    public List<String> recv_getAllResources() throws org.apache.thrift.TException
+    {
+      getAllResources_result result = new getAllResources_result();
+      receiveBase(result, "getAllResources");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllResources failed: unknown result");
+    }
+
+    public ByteBuffer getResource(String resourceIdJson) throws org.apache.thrift.TException
+    {
+      send_getResource(resourceIdJson);
+      return recv_getResource();
+    }
+
+    public void send_getResource(String resourceIdJson) throws org.apache.thrift.TException
+    {
+      getResource_args args = new getResource_args();
+      args.setResourceIdJson(resourceIdJson);
+      sendBase("getResource", args);
+    }
+
+    public ByteBuffer recv_getResource() throws org.apache.thrift.TException
+    {
+      getResource_result result = new getResource_result();
+      receiveBase(result, "getResource");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getResource failed: unknown result");
+    }
+
+    public ByteBuffer invokeMethod(String intpGroupId, String invokeMethodJson) throws org.apache.thrift.TException
+    {
+      send_invokeMethod(intpGroupId, invokeMethodJson);
+      return recv_invokeMethod();
+    }
+
+    public void send_invokeMethod(String intpGroupId, String invokeMethodJson) throws org.apache.thrift.TException
+    {
+      invokeMethod_args args = new invokeMethod_args();
+      args.setIntpGroupId(intpGroupId);
+      args.setInvokeMethodJson(invokeMethodJson);
+      sendBase("invokeMethod", args);
+    }
+
+    public ByteBuffer recv_invokeMethod() throws org.apache.thrift.TException
+    {
+      invokeMethod_result result = new invokeMethod_result();
+      receiveBase(result, "invokeMethod");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "invokeMethod failed: unknown result");
+    }
+
+  }
+  public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
+    public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
+      private org.apache.thrift.async.TAsyncClientManager clientManager;
+      private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
+      public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
+        this.clientManager = clientManager;
+        this.protocolFactory = protocolFactory;
+      }
+      public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
+        return new AsyncClient(protocolFactory, clientManager, transport);
+      }
+    }
+
+    public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
+      super(protocolFactory, clientManager, transport);
+    }
+
+    public void registerInterpreterProcess(RegisterInfo registerInfo, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      registerInterpreterProcess_call method_call = new registerInterpreterProcess_call(registerInfo, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class registerInterpreterProcess_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private RegisterInfo registerInfo;
+      public registerInterpreterProcess_call(RegisterInfo registerInfo, 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.registerInfo = registerInfo;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerInterpreterProcess", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        registerInterpreterProcess_args args = new registerInterpreterProcess_args();
+        args.setRegisterInfo(registerInfo);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_registerInterpreterProcess();
+      }
+    }
+
+    public void appendOutput(OutputAppendEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      appendOutput_call method_call = new appendOutput_call(event, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class appendOutput_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private OutputAppendEvent event;
+      public appendOutput_call(OutputAppendEvent event, 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.event = event;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("appendOutput", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        appendOutput_args args = new appendOutput_args();
+        args.setEvent(event);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_appendOutput();
+      }
+    }
+
+    public void updateOutput(OutputUpdateEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateOutput_call method_call = new updateOutput_call(event, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateOutput_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private OutputUpdateEvent event;
+      public updateOutput_call(OutputUpdateEvent event, 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.event = event;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateOutput", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateOutput_args args = new updateOutput_args();
+        args.setEvent(event);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_updateOutput();
+      }
+    }
+
+    public void updateAllOutput(OutputUpdateAllEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateAllOutput_call method_call = new updateAllOutput_call(event, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateAllOutput_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private OutputUpdateAllEvent event;
+      public updateAllOutput_call(OutputUpdateAllEvent event, 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.event = event;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAllOutput", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateAllOutput_args args = new updateAllOutput_args();
+        args.setEvent(event);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_updateAllOutput();
+      }
+    }
+
+    public void appendAppOutput(AppOutputAppendEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      appendAppOutput_call method_call = new appendAppOutput_call(event, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class appendAppOutput_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private AppOutputAppendEvent event;
+      public appendAppOutput_call(AppOutputAppendEvent event, 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.event = event;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("appendAppOutput", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        appendAppOutput_args args = new appendAppOutput_args();
+        args.setEvent(event);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_appendAppOutput();
+      }
+    }
+
+    public void updateAppOutput(AppOutputUpdateEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateAppOutput_call method_call = new updateAppOutput_call(event, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateAppOutput_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private AppOutputUpdateEvent event;
+      public updateAppOutput_call(AppOutputUpdateEvent event, 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.event = event;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAppOutput", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateAppOutput_args args = new updateAppOutput_args();
+        args.setEvent(event);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_updateAppOutput();
+      }
+    }
+
+    public void updateAppStatus(AppStatusUpdateEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateAppStatus_call method_call = new updateAppStatus_call(event, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateAppStatus_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private AppStatusUpdateEvent event;
+      public updateAppStatus_call(AppStatusUpdateEvent event, 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.event = event;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAppStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateAppStatus_args args = new updateAppStatus_args();
+        args.setEvent(event);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_updateAppStatus();
+      }
+    }
+
+    public void runParagraphs(RunParagraphsEvent event, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      runParagraphs_call method_call = new runParagraphs_call(event, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class runParagraphs_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private RunParagraphsEvent event;
+      public runParagraphs_call(RunParagraphsEvent event, 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.event = event;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("runParagraphs", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        runParagraphs_args args = new runParagraphs_args();
+        args.setEvent(event);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_runParagraphs();
+      }
+    }
+
+    public void addAngularObject(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      addAngularObject_call method_call = new addAngularObject_call(intpGroupId, json, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class addAngularObject_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String intpGroupId;
+      private String json;
+      public addAngularObject_call(String intpGroupId, String json, 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.intpGroupId = intpGroupId;
+        this.json = json;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addAngularObject", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addAngularObject_args args = new addAngularObject_args();
+        args.setIntpGroupId(intpGroupId);
+        args.setJson(json);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_addAngularObject();
+      }
+    }
+
+    public void updateAngularObject(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      updateAngularObject_call method_call = new updateAngularObject_call(intpGroupId, json, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class updateAngularObject_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String intpGroupId;
+      private String json;
+      public updateAngularObject_call(String intpGroupId, String json, 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.intpGroupId = intpGroupId;
+        this.json = json;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateAngularObject", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        updateAngularObject_args args = new updateAngularObject_args();
+        args.setIntpGroupId(intpGroupId);
+        args.setJson(json);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_updateAngularObject();
+      }
+    }
+
+    public void removeAngularObject(String intpGroupId, String noteId, String paragraphId, String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      removeAngularObject_call method_call = new removeAngularObject_call(intpGroupId, noteId, paragraphId, name, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class removeAngularObject_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String intpGroupId;
+      private String noteId;
+      private String paragraphId;
+      private String name;
+      public removeAngularObject_call(String intpGroupId, String noteId, String paragraphId, String name, 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.intpGroupId = intpGroupId;
+        this.noteId = noteId;
+        this.paragraphId = paragraphId;
+        this.name = name;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeAngularObject", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        removeAngularObject_args args = new removeAngularObject_args();
+        args.setIntpGroupId(intpGroupId);
+        args.setNoteId(noteId);
+        args.setParagraphId(paragraphId);
+        args.setName(name);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_removeAngularObject();
+      }
+    }
+
+    public void sendMetaInfo(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      sendMetaInfo_call method_call = new sendMetaInfo_call(intpGroupId, json, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class sendMetaInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String intpGroupId;
+      private String json;
+      public sendMetaInfo_call(String intpGroupId, String json, 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.intpGroupId = intpGroupId;
+        this.json = json;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("sendMetaInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        sendMetaInfo_args args = new sendMetaInfo_args();
+        args.setIntpGroupId(intpGroupId);
+        args.setJson(json);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_sendMetaInfo();
+      }
+    }
+
+    public void sendParagraphInfo(String intpGroupId, String json, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      sendParagraphInfo_call method_call = new sendParagraphInfo_call(intpGroupId, json, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class sendParagraphInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String intpGroupId;
+      private String json;
+      public sendParagraphInfo_call(String intpGroupId, String json, 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.intpGroupId = intpGroupId;
+        this.json = json;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("sendParagraphInfo", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        sendParagraphInfo_args args = new sendParagraphInfo_args();
+        args.setIntpGroupId(intpGroupId);
+        args.setJson(json);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws 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);
+        (new Client(prot)).recv_sendParagraphInfo();
+      }
+    }
+
+    public void getAllResources(String intpGroupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getAllResources_call method_call = new getAllResources_call(intpGroupId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getAllResources_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String intpGroupId;
+      public getAllResources_call(String intpGroupId, 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.intpGroupId = intpGroupId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllResources", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getAllResources_args args = new getAllResources_args();
+        args.setIntpGroupId(intpGroupId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public List<String> getResult() throws 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_getAllResources();
+      }
+    }
+
+    public void getResource(String resourceIdJson, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getResource_call method_call = new getResource_call(resourceIdJson, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getResource_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String resourceIdJson;
+      public getResource_call(String resourceIdJson, 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.resourceIdJson = resourceIdJson;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getResource_args args = new getResource_args();
+        args.setResourceIdJson(resourceIdJson);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public ByteBuffer getResult() throws 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_getResource();
+      }
+    }
+
+    public void invokeMethod(String intpGroupId, String invokeMethodJson, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      invokeMethod_call method_call = new invokeMethod_call(intpGroupId, invokeMethodJson, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class invokeMethod_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String intpGroupId;
+      private String invokeMethodJson;
+      public invokeMethod_call(String intpGroupId, String invokeMethodJson, 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.intpGroupId = intpGroupId;
+        this.invokeMethodJson = invokeMethodJson;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("invokeMethod", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        invokeMethod_args args = new invokeMethod_args();
+        args.setIntpGroupId(intpGroupId);
+        args.setInvokeMethodJson(invokeMethodJson);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public ByteBuffer getResult() throws 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_invokeMethod();
+      }
+    }
+
+  }
+
+  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
+    public Processor(I iface) {
+      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+    }
+
+    protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      super(iface, getProcessMap(processMap));
+    }
+
+    private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+      processMap.put("registerInterpreterProcess", new registerInterpreterProcess());
+      processMap.put("appendOutput", new appendOutput());
+      processMap.put("updateOutput", new updateOutput());
+      processMap.put("updateAllOutput", new updateAllOutput());
+      processMap.put("appendAppOutput", new appendAppOutput());
+      processMap.put("updateAppOutput", new updateAppOutput());
+      processMap.put("updateAppStatus", new updateAppStatus());
+      processMap.put("runParagraphs", new runParagraphs());
+      processMap.put("addAngularObject", new addAngularObject());
+      processMap.put("updateAngularObject", new updateAngularObject());
+      processMap.put("removeAngularObject", new removeAngularObject());
+      processMap.put("sendMetaInfo", new sendMetaInfo());
+      processMap.put("sendParagraphInfo", new sendParagraphInfo());
+      processMap.put("getAllResources", new getAllResources());
+      processMap.put("getResource", new getResource());
+      processMap.put("invokeMethod", new invokeMethod());
+      return processMap;
+    }
+
+    public static class registerInterpreterProcess<I extends Iface> extends org.apache.thrift.ProcessFunction<I, registerInterpreterProcess_args> {
+      public registerInterpreterProcess() {
+        super("registerInterpreterProcess");
+      }
+
+      public registerInterpreterProcess_args getEmptyArgsInstance() {
+        return new registerInterpreterProcess_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public registerInterpreterProcess_result getResult(I iface, registerInterpreterProcess_args args) throws org.apache.thrift.TException {
+        registerInterpreterProcess_result result = new registerInterpreterProcess_result();
+        iface.registerInterpreterProcess(args.registerInfo);
+        return result;
+      }
+    }
+
+    public static class appendOutput<I extends Iface> extends org.apache.thrift.ProcessFunction<I, appendOutput_args> {
+      public appendOutput() {
+        super("appendOutput");
+      }
+
+      public appendOutput_args getEmptyArgsInstance() {
+        return new appendOutput_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public appendOutput_result getResult(I iface, appendOutput_args args) throws org.apache.thrift.TException {
+        appendOutput_result result = new appendOutput_result();
+        iface.appendOutput(args.event);
+        return result;
+      }
+    }
+
+    public static class updateOutput<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateOutput_args> {
+      public updateOutput() {
+        super("updateOutput");
+      }
+
+      public updateOutput_args getEmptyArgsInstance() {
+        return new updateOutput_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public updateOutput_result getResult(I iface, updateOutput_args args) throws org.apache.thrift.TException {
+        updateOutput_result result = new updateOutput_result();
+        iface.updateOutput(args.event);
+        return result;
+      }
+    }
+
+    public static class updateAllOutput<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAllOutput_args> {
+      public updateAllOutput() {
+        super("updateAllOutput");
+      }
+
+      public updateAllOutput_args getEmptyArgsInstance() {
+        return new updateAllOutput_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public updateAllOutput_result getResult(I iface, updateAllOutput_args args) throws org.apache.thrift.TException {
+        updateAllOutput_result result = new updateAllOutput_result();
+        iface.updateAllOutput(args.event);
+        return result;
+      }
+    }
+
+    public static class appendAppOutput<I extends Iface> extends org.apache.thrift.ProcessFunction<I, appendAppOutput_args> {
+      public appendAppOutput() {
+        super("appendAppOutput");
+      }
+
+      public appendAppOutput_args getEmptyArgsInstance() {
+        return new appendAppOutput_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public appendAppOutput_result getResult(I iface, appendAppOutput_args args) throws org.apache.thrift.TException {
+        appendAppOutput_result result = new appendAppOutput_result();
+        iface.appendAppOutput(args.event);
+        return result;
+      }
+    }
+
+    public static class updateAppOutput<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAppOutput_args> {
+      public updateAppOutput() {
+        super("updateAppOutput");
+      }
+
+      public updateAppOutput_args getEmptyArgsInstance() {
+        return new updateAppOutput_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public updateAppOutput_result getResult(I iface, updateAppOutput_args args) throws org.apache.thrift.TException {
+        updateAppOutput_result result = new updateAppOutput_result();
+        iface.updateAppOutput(args.event);
+        return result;
+      }
+    }
+
+    public static class updateAppStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAppStatus_args> {
+      public updateAppStatus() {
+        super("updateAppStatus");
+      }
+
+      public updateAppStatus_args getEmptyArgsInstance() {
+        return new updateAppStatus_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public updateAppStatus_result getResult(I iface, updateAppStatus_args args) throws org.apache.thrift.TException {
+        updateAppStatus_result result = new updateAppStatus_result();
+        iface.updateAppStatus(args.event);
+        return result;
+      }
+    }
+
+    public static class runParagraphs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, runParagraphs_args> {
+      public runParagraphs() {
+        super("runParagraphs");
+      }
+
+      public runParagraphs_args getEmptyArgsInstance() {
+        return new runParagraphs_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public runParagraphs_result getResult(I iface, runParagraphs_args args) throws org.apache.thrift.TException {
+        runParagraphs_result result = new runParagraphs_result();
+        iface.runParagraphs(args.event);
+        return result;
+      }
+    }
+
+    public static class addAngularObject<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addAngularObject_args> {
+      public addAngularObject() {
+        super("addAngularObject");
+      }
+
+      public addAngularObject_args getEmptyArgsInstance() {
+        return new addAngularObject_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public addAngularObject_result getResult(I iface, addAngularObject_args args) throws org.apache.thrift.TException {
+        addAngularObject_result result = new addAngularObject_result();
+        iface.addAngularObject(args.intpGroupId, args.json);
+        return result;
+      }
+    }
+
+    public static class updateAngularObject<I extends Iface> extends org.apache.thrift.ProcessFunction<I, updateAngularObject_args> {
+      public updateAngularObject() {
+        super("updateAngularObject");
+      }
+
+      public updateAngularObject_args getEmptyArgsInstance() {
+        return new updateAngularObject_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public updateAngularObject_result getResult(I iface, updateAngularObject_args args) throws org.apache.thrift.TException {
+        updateAngularObject_result result = new updateAngularObject_result();
+        iface.updateAngularObject(args.intpGroupId, args.json);
+        return result;
+      }
+    }
+
+    public static class removeAngularObject<I extends Iface> extends org.apache.thrift.ProcessFunction<I, removeAngularObject_args> {
+      public removeAngularObject() {
+        super("removeAngularObject");
+      }
+
+      public removeAngularObject_args getEmptyArgsInstance() {
+        return new removeAngularObject_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public removeAngularObject_result getResult(I iface, removeAngularObject_args args) throws org.apache.thrift.TException {
+        removeAngularObject_result result = new removeAngularObject_result();
+        iface.removeAngularObject(args.intpGroupId, args.noteId, args.paragraphId, args.name);
+        return result;
+      }
+    }
+
+    public static class sendMetaInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, sendMetaInfo_args> {
+      public sendMetaInfo() {
+        super("sendMetaInfo");
+      }
+
+      public sendMetaInfo_args getEmptyArgsInstance() {
+        return new sendMetaInfo_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public sendMetaInfo_result getResult(I iface, sendMetaInfo_args args) throws org.apache.thrift.TException {
+        sendMetaInfo_result result = new sendMetaInfo_result();
+        iface.sendMetaInfo(args.intpGroupId, args.json);
+        return result;
+      }
+    }
+
+    public static class sendParagraphInfo<I extends Iface> extends org.apache.thrift.ProcessFunction<I, sendParagraphInfo_args> {
+      public sendParagraphInfo() {
+        super("sendParagraphInfo");
+      }
+
+      public sendParagraphInfo_args getEmptyArgsInstance() {
+        return new sendParagraphInfo_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public sendParagraphInfo_result getResult(I iface, sendParagraphInfo_args args) throws org.apache.thrift.TException {
+        sendParagraphInfo_result result = new sendParagraphInfo_result();
+        iface.sendParagraphInfo(args.intpGroupId, args.json);
+        return result;
+      }
+    }
+
+    public static class getAllResources<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllResources_args> {
+      public getAllResources() {
+        super("getAllResources");
+      }
+
+      public getAllResources_args getEmptyArgsInstance() {
+        return new getAllResources_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getAllResources_result getResult(I iface, getAllResources_args args) throws org.apache.thrift.TException {
+        getAllResources_result result = new getAllResources_result();
+        result.success = iface.getAllResources(args.intpGroupId);
+        return result;
+      }
+    }
+
+    public static class getResource<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getResource_args> {
+      public getResource() {
+        super("getResource");
+      }
+
+      public getResource_args getEmptyArgsInstance() {
+        return new getResource_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getResource_result getResult(I iface, getResource_args args) throws org.apache.thrift.TException {
+        getResource_result result = new getResource_result();
+        result.success = iface.getResource(args.resourceIdJson);
+        return result;
+      }
+    }
+
+    public static class invokeMethod<I extends Iface> extends org.apache.thrift.ProcessFunction<I, invokeMethod_args> {
+      public invokeMethod() {
+        super("invokeMethod");
+      }
+
+      public invokeMethod_args getEmptyArgsInstance() {
+        return new invokeMethod_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public invokeMethod_result getResult(I iface, invokeMethod_args args) throws org.apache.thrift.TException {
+        invokeMethod_result result = new invokeMethod_result();
+        result.success = iface.invokeMethod(args.intpGroupId, args.invokeMethodJson);
+        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("registerInterpreterProcess", new registerInterpreterProcess());
+      processMap.put("appendOutput", new appendOutput());
+      processMap.put("updateOutput", new updateOutput());
+      processMap.put("updateAllOutput", new updateAllOutput());
+      processMap.put("appendAppOutput", new appendAppOutput());
+      processMap.put("updateAppOutput", new updateAppOutput());
+      processMap.put("updateAppStatus", new updateAppStatus());
+      processMap.put("runParagraphs", new runParagraphs());
+      processMap.put("addAngularObject", new addAngularObject());
+      processMap.put("updateAngularObject", new updateAngularObject());
+      processMap.put("removeAngularObject", new removeAngularObject());
+      processMap.put("sendMetaInfo", new sendMetaInfo());
+      processMap.put("sendParagraphInfo", new sendParagraphInfo());
+      processMap.put("getAllResources", new getAllResources());
+      processMap.put("getResource", new getResource());
+      processMap.put("invokeMethod", new invokeMethod());
+      return processMap;
+    }
+
+    public static class registerInterpreterProcess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerInterpreterProcess_args, Void> {
+      public registerInterpreterProcess() {
+        super("registerInterpreterProcess");
+      }
+
+      public registerInterpreterProcess_args getEmptyArgsInstance() {
+        return new registerInterpreterProcess_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) {
+            registerInterpreterProcess_result result = new registerInterpreterProcess_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;
+            registerInterpreterProcess_result result = new registerInterpreterProcess_result();
+            {
+              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, registerInterpreterProcess_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.registerInterpreterProcess(args.registerInfo,resultHandler);
+      }
+    }
+
+    public static class appendOutput<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, appendOutput_args, Void> {
+      public appendOutput() {
+        super("appendOutput");
+      }
+
+      public appendOutput_args getEmptyArgsInstance() {
+        return new appendOutput_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) {
+            appendOutput_result result = new appendOutput_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;
+            appendOutput_result result = new appendOutput_result();
+            {
+              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, appendOutput_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.appendOutput(args.event,resultHandler);
+      }
+    }
+
+    public static class updateOutput<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateOutput_args, Void> {
+      public updateOutput() {
+        super("updateOutput");
+      }
+
+      public updateOutput_args getEmptyArgsInstance() {
+        return new updateOutput_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) {
+            updateOutput_result result = new updateOutput_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;
+            updateOutput_result result = new updateOutput_result();
+            {
+              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, updateOutput_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateOutput(args.event,resultHandler);
+      }
+    }
+
+    public static class updateAllOutput<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateAllOutput_args, Void> {
+      public updateAllOutput() {
+        super("updateAllOutput");
+      }
+
+      public updateAllOutput_args getEmptyArgsInstance() {
+        return new updateAllOutput_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) {
+            updateAllOutput_result result = new updateAllOutput_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;
+            updateAllOutput_result result = new updateAllOutput_result();
+            {
+              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, updateAllOutput_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateAllOutput(args.event,resultHandler);
+      }
+    }
+
+    public static class appendAppOutput<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, appendAppOutput_args, Void> {
+      public appendAppOutput() {
+        super("appendAppOutput");
+      }
+
+      public appendAppOutput_args getEmptyArgsInstance() {
+        return new appendAppOutput_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) {
+            appendAppOutput_result result = new appendAppOutput_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;
+            appendAppOutput_result result = new appendAppOutput_result();
+            {
+              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, appendAppOutput_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.appendAppOutput(args.event,resultHandler);
+      }
+    }
+
+    public static class updateAppOutput<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateAppOutput_args, Void> {
+      public updateAppOutput() {
+        super("updateAppOutput");
+      }
+
+      public updateAppOutput_args getEmptyArgsInstance() {
+        return new updateAppOutput_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) {
+            updateAppOutput_result result = new updateAppOutput_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;
+            updateAppOutput_result result = new updateAppOutput_result();
+            {
+              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, updateAppOutput_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateAppOutput(args.event,resultHandler);
+      }
+    }
+
+    public static class updateAppStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateAppStatus_args, Void> {
+      public updateAppStatus() {
+        super("updateAppStatus");
+      }
+
+      public updateAppStatus_args getEmptyArgsInstance() {
+        return new updateAppStatus_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) {
+            updateAppStatus_result result = new updateAppStatus_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;
+            updateAppStatus_result result = new updateAppStatus_result();
+            {
+              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, updateAppStatus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.updateAppStatus(args.event,resultHandler);
+      }
+    }
+
+    public static class runParagraphs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, runParagraphs_args, Void> {
+      public runParagraphs() {
+        super("runParagraphs");
+      }
+
+      public runParagraphs_args getEmptyArgsInstance() {
+        return new runParagraphs_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) {
+            runParagraphs_result result = new runParagraphs_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;
+            runParagraphs_result result = new runParagraphs_result();
+            {
+              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, runParagraphs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.runParagraphs(args.event,resultHandler);
+      }
+    }
+
+    public static class addAngularObject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addAngularObject_args, Void> {
+      public addAngularObject() {
+        super("addAngularObject");
+      }
+
+      public addAngularObject_args getEmptyArgsInstance() {
+        return new addAngularObject_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) {
+            addAngularObject_result result = new addAngularObject_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;
+            addAngularObject_result result = new addAngularObject_result();
+            {
+              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, addAngularObject_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.addAngularObject(args.intpGroupId, args.json,resultHandler);
+      }
+    }
+
+    public static class updateAngularObject<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, updateAngularObject_args, Void> {
+      public updateAngularObject() {
+        super("updateAngularObject");
+      }
+
+      public updateAngularObject_args getEmptyArgsInstance() {
+        return new updateAngularObject_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) {
+            updateAngularObject_result result = new updateAngularObject_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;
+            updateAngularObject_result result = new updateAngularObject_result();
+            {
+              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, updateAngularObject_args args, org.apache.thrift.a

<TRUNCATED>