You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2014/06/25 19:50:00 UTC

[1/2] generated code for updated TaskDetails model and Orchestrator service

Repository: airavata
Updated Branches:
  refs/heads/master c6d78a45b -> b9c9d2456


http://git-wip-us.apache.org/repos/asf/airavata/blob/b9c9d245/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java
----------------------------------------------------------------------
diff --git a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java
index 1421cad..bbdd53b 100644
--- a/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java
+++ b/modules/orchestrator/airavata-orchestrator-service/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java
@@ -72,6 +72,19 @@ import org.slf4j.LoggerFactory;
     public boolean launchExperiment(String experimentId) throws org.apache.thrift.TException;
 
     /**
+     *  * In order to run single applications users should create an associating
+     *  * WorkflowNodeDetails and a TaskDetails for it and hand it over for execution
+     *  *
+     *  * @param taskId
+     *  * @return sucess/failure
+     *  *
+     * *
+     * 
+     * @param taskId
+     */
+    public boolean launchTask(String taskId) throws org.apache.thrift.TException;
+
+    /**
      *  *
      *  * Validate funcations which can verify if the experiment is ready to be launced.
      *  *
@@ -105,6 +118,8 @@ import org.slf4j.LoggerFactory;
 
     public void launchExperiment(String experimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void launchTask(String taskId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void validateExperiment(String experimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void terminateExperiment(String experimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -176,6 +191,29 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "launchExperiment failed: unknown result");
     }
 
+    public boolean launchTask(String taskId) throws org.apache.thrift.TException
+    {
+      send_launchTask(taskId);
+      return recv_launchTask();
+    }
+
+    public void send_launchTask(String taskId) throws org.apache.thrift.TException
+    {
+      launchTask_args args = new launchTask_args();
+      args.setTaskId(taskId);
+      sendBase("launchTask", args);
+    }
+
+    public boolean recv_launchTask() throws org.apache.thrift.TException
+    {
+      launchTask_result result = new launchTask_result();
+      receiveBase(result, "launchTask");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "launchTask failed: unknown result");
+    }
+
     public boolean validateExperiment(String experimentId) throws org.apache.airavata.model.error.LaunchValidationException, org.apache.thrift.TException
     {
       send_validateExperiment(experimentId);
@@ -304,6 +342,38 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public void launchTask(String taskId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      launchTask_call method_call = new launchTask_call(taskId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class launchTask_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String taskId;
+      public launchTask_call(String taskId, 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.taskId = taskId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("launchTask", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        launchTask_args args = new launchTask_args();
+        args.setTaskId(taskId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean 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_launchTask();
+      }
+    }
+
     public void validateExperiment(String experimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       validateExperiment_call method_call = new validateExperiment_call(experimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -383,6 +453,7 @@ import org.slf4j.LoggerFactory;
     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("getOrchestratorCPIVersion", new getOrchestratorCPIVersion());
       processMap.put("launchExperiment", new launchExperiment());
+      processMap.put("launchTask", new launchTask());
       processMap.put("validateExperiment", new validateExperiment());
       processMap.put("terminateExperiment", new terminateExperiment());
       return processMap;
@@ -429,6 +500,27 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public static class launchTask<I extends Iface> extends org.apache.thrift.ProcessFunction<I, launchTask_args> {
+      public launchTask() {
+        super("launchTask");
+      }
+
+      public launchTask_args getEmptyArgsInstance() {
+        return new launchTask_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public launchTask_result getResult(I iface, launchTask_args args) throws org.apache.thrift.TException {
+        launchTask_result result = new launchTask_result();
+        result.success = iface.launchTask(args.taskId);
+        result.setSuccessIsSet(true);
+        return result;
+      }
+    }
+
     public static class validateExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, validateExperiment_args> {
       public validateExperiment() {
         super("validateExperiment");
@@ -490,6 +582,7 @@ import org.slf4j.LoggerFactory;
     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("getOrchestratorCPIVersion", new getOrchestratorCPIVersion());
       processMap.put("launchExperiment", new launchExperiment());
+      processMap.put("launchTask", new launchTask());
       processMap.put("validateExperiment", new validateExperiment());
       processMap.put("terminateExperiment", new terminateExperiment());
       return processMap;
@@ -598,6 +691,58 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public static class launchTask<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, launchTask_args, Boolean> {
+      public launchTask() {
+        super("launchTask");
+      }
+
+      public launchTask_args getEmptyArgsInstance() {
+        return new launchTask_args();
+      }
+
+      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Boolean>() { 
+          public void onComplete(Boolean o) {
+            launchTask_result result = new launchTask_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            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;
+            launchTask_result result = new launchTask_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, launchTask_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+        iface.launchTask(args.taskId,resultHandler);
+      }
+    }
+
     public static class validateExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, validateExperiment_args, Boolean> {
       public validateExperiment() {
         super("validateExperiment");
@@ -2011,6 +2156,707 @@ import org.slf4j.LoggerFactory;
 
   }
 
+  public static class launchTask_args implements org.apache.thrift.TBase<launchTask_args, launchTask_args._Fields>, java.io.Serializable, Cloneable, Comparable<launchTask_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchTask_args");
+
+    private static final org.apache.thrift.protocol.TField TASK_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("taskId", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new launchTask_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new launchTask_argsTupleSchemeFactory());
+    }
+
+    public String taskId; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      TASK_ID((short)1, "taskId");
+
+      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: // TASK_ID
+            return TASK_ID;
+          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.TASK_ID, new org.apache.thrift.meta_data.FieldMetaData("taskId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(launchTask_args.class, metaDataMap);
+    }
+
+    public launchTask_args() {
+    }
+
+    public launchTask_args(
+      String taskId)
+    {
+      this();
+      this.taskId = taskId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public launchTask_args(launchTask_args other) {
+      if (other.isSetTaskId()) {
+        this.taskId = other.taskId;
+      }
+    }
+
+    public launchTask_args deepCopy() {
+      return new launchTask_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.taskId = null;
+    }
+
+    public String getTaskId() {
+      return this.taskId;
+    }
+
+    public launchTask_args setTaskId(String taskId) {
+      this.taskId = taskId;
+      return this;
+    }
+
+    public void unsetTaskId() {
+      this.taskId = null;
+    }
+
+    /** Returns true if field taskId is set (has been assigned a value) and false otherwise */
+    public boolean isSetTaskId() {
+      return this.taskId != null;
+    }
+
+    public void setTaskIdIsSet(boolean value) {
+      if (!value) {
+        this.taskId = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case TASK_ID:
+        if (value == null) {
+          unsetTaskId();
+        } else {
+          setTaskId((String)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case TASK_ID:
+        return getTaskId();
+
+      }
+      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 TASK_ID:
+        return isSetTaskId();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof launchTask_args)
+        return this.equals((launchTask_args)that);
+      return false;
+    }
+
+    public boolean equals(launchTask_args that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_taskId = true && this.isSetTaskId();
+      boolean that_present_taskId = true && that.isSetTaskId();
+      if (this_present_taskId || that_present_taskId) {
+        if (!(this_present_taskId && that_present_taskId))
+          return false;
+        if (!this.taskId.equals(that.taskId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      return 0;
+    }
+
+    @Override
+    public int compareTo(launchTask_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetTaskId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.taskId, other.taskId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("launchTask_args(");
+      boolean first = true;
+
+      sb.append("taskId:");
+      if (this.taskId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.taskId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (taskId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'taskId' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        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 launchTask_argsStandardSchemeFactory implements SchemeFactory {
+      public launchTask_argsStandardScheme getScheme() {
+        return new launchTask_argsStandardScheme();
+      }
+    }
+
+    private static class launchTask_argsStandardScheme extends StandardScheme<launchTask_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, launchTask_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: // TASK_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.taskId = iprot.readString();
+                struct.setTaskIdIsSet(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();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, launchTask_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.taskId != null) {
+          oprot.writeFieldBegin(TASK_ID_FIELD_DESC);
+          oprot.writeString(struct.taskId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class launchTask_argsTupleSchemeFactory implements SchemeFactory {
+      public launchTask_argsTupleScheme getScheme() {
+        return new launchTask_argsTupleScheme();
+      }
+    }
+
+    private static class launchTask_argsTupleScheme extends TupleScheme<launchTask_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, launchTask_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        oprot.writeString(struct.taskId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, launchTask_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        struct.taskId = iprot.readString();
+        struct.setTaskIdIsSet(true);
+      }
+    }
+
+  }
+
+  public static class launchTask_result implements org.apache.thrift.TBase<launchTask_result, launchTask_result._Fields>, java.io.Serializable, Cloneable, Comparable<launchTask_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchTask_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new launchTask_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new launchTask_resultTupleSchemeFactory());
+    }
+
+    public boolean success; // required
+
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      SUCCESS((short)0, "success");
+
+      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;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(launchTask_result.class, metaDataMap);
+    }
+
+    public launchTask_result() {
+    }
+
+    public launchTask_result(
+      boolean success)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public launchTask_result(launchTask_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+    }
+
+    public launchTask_result deepCopy() {
+      return new launchTask_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public launchTask_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((Boolean)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return Boolean.valueOf(isSuccess());
+
+      }
+      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 isSetSuccess();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof launchTask_result)
+        return this.equals((launchTask_result)that);
+      return false;
+    }
+
+    public boolean equals(launchTask_result that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      return 0;
+    }
+
+    @Override
+    public int compareTo(launchTask_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSuccess()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      }
+
+    @Override
+    public String toString() {
+      StringBuilder sb = new StringBuilder("launchTask_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class launchTask_resultStandardSchemeFactory implements SchemeFactory {
+      public launchTask_resultStandardScheme getScheme() {
+        return new launchTask_resultStandardScheme();
+      }
+    }
+
+    private static class launchTask_resultStandardScheme extends StandardScheme<launchTask_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, launchTask_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.BOOL) {
+                struct.success = iprot.readBool();
+                struct.setSuccessIsSet(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();
+
+        // check for required fields of primitive type, which can't be checked in the validate method
+        struct.validate();
+      }
+
+      public void write(org.apache.thrift.protocol.TProtocol oprot, launchTask_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeBool(struct.success);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class launchTask_resultTupleSchemeFactory implements SchemeFactory {
+      public launchTask_resultTupleScheme getScheme() {
+        return new launchTask_resultTupleScheme();
+      }
+    }
+
+    private static class launchTask_resultTupleScheme extends TupleScheme<launchTask_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, launchTask_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, launchTask_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.success = iprot.readBool();
+          struct.setSuccessIsSet(true);
+        }
+      }
+    }
+
+  }
+
   public static class validateExperiment_args implements org.apache.thrift.TBase<validateExperiment_args, validateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<validateExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateExperiment_args");
 


[2/2] git commit: generated code for updated TaskDetails model and Orchestrator service

Posted by sa...@apache.org.
generated code for updated TaskDetails model and Orchestrator service


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b9c9d245
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b9c9d245
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b9c9d245

Branch: refs/heads/master
Commit: b9c9d2456c1dd9f5a1e53c9057c6bd7d1dc48774
Parents: c6d78a4
Author: samindaw <sa...@gmail.com>
Authored: Wed Jun 25 10:49:44 2014 -0700
Committer: samindaw <sa...@gmail.com>
Committed: Wed Jun 25 10:49:44 2014 -0700

----------------------------------------------------------------------
 .../resources/lib/experimentModel_types.cpp     |  74 +-
 .../main/resources/lib/experimentModel_types.h  |  40 +-
 .../Model/Workspace/Experiment/Types.php        |  90 +-
 .../model/workspace/experiment/TaskDetails.java | 314 +++++--
 airavata-api/generate-thrift-files.sh           |   2 +-
 .../orchestrator/cpi/OrchestratorService.java   | 846 +++++++++++++++++++
 6 files changed, 1252 insertions(+), 114 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/b9c9d245/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp
index 0180c5e..f39b314 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp
@@ -1905,8 +1905,8 @@ void swap(DataTransferDetails &a, DataTransferDetails &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* TaskDetails::ascii_fingerprint = "5C32F41DCA106A1E9170C3F02C8F0431";
-const uint8_t TaskDetails::binary_fingerprint[16] = {0x5C,0x32,0xF4,0x1D,0xCA,0x10,0x6A,0x1E,0x91,0x70,0xC3,0xF0,0x2C,0x8F,0x04,0x31};
+const char* TaskDetails::ascii_fingerprint = "B61C8F58DF00FE6B55A62F6A457038DD";
+const uint8_t TaskDetails::binary_fingerprint[16] = {0xB6,0x1C,0x8F,0x58,0xDF,0x00,0xFE,0x6B,0x55,0xA6,0x2F,0x6A,0x45,0x70,0x38,0xDD};
 
 uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -1962,6 +1962,22 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
         }
         break;
       case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->hostDescriptorId);
+          this->__isset.hostDescriptorId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->applicationDescriptorId);
+          this->__isset.applicationDescriptorId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->applicationInputs.clear();
@@ -1981,7 +1997,7 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 6:
+      case 8:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->applicationOutputs.clear();
@@ -2001,7 +2017,7 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 7:
+      case 9:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->taskScheduling.read(iprot);
           this->__isset.taskScheduling = true;
@@ -2009,7 +2025,7 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 8:
+      case 10:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->advancedInputDataHandling.read(iprot);
           this->__isset.advancedInputDataHandling = true;
@@ -2017,7 +2033,7 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 9:
+      case 11:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->advancedOutputDataHandling.read(iprot);
           this->__isset.advancedOutputDataHandling = true;
@@ -2025,7 +2041,7 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 10:
+      case 12:
         if (ftype == ::apache::thrift::protocol::T_STRUCT) {
           xfer += this->taskStatus.read(iprot);
           this->__isset.taskStatus = true;
@@ -2033,7 +2049,7 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 11:
+      case 13:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->jobDetailsList.clear();
@@ -2053,7 +2069,7 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 12:
+      case 14:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->dataTransferDetailsList.clear();
@@ -2073,7 +2089,7 @@ uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 13:
+      case 15:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->errors.clear();
@@ -2130,8 +2146,18 @@ uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeString(this->applicationVersion);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.hostDescriptorId) {
+    xfer += oprot->writeFieldBegin("hostDescriptorId", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->hostDescriptorId);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.applicationDescriptorId) {
+    xfer += oprot->writeFieldBegin("applicationDescriptorId", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->applicationDescriptorId);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.applicationInputs) {
-    xfer += oprot->writeFieldBegin("applicationInputs", ::apache::thrift::protocol::T_LIST, 5);
+    xfer += oprot->writeFieldBegin("applicationInputs", ::apache::thrift::protocol::T_LIST, 7);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationInputs.size()));
       std::vector<DataObjectType> ::const_iterator _iter46;
@@ -2144,7 +2170,7 @@ uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.applicationOutputs) {
-    xfer += oprot->writeFieldBegin("applicationOutputs", ::apache::thrift::protocol::T_LIST, 6);
+    xfer += oprot->writeFieldBegin("applicationOutputs", ::apache::thrift::protocol::T_LIST, 8);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationOutputs.size()));
       std::vector<DataObjectType> ::const_iterator _iter47;
@@ -2157,27 +2183,27 @@ uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.taskScheduling) {
-    xfer += oprot->writeFieldBegin("taskScheduling", ::apache::thrift::protocol::T_STRUCT, 7);
+    xfer += oprot->writeFieldBegin("taskScheduling", ::apache::thrift::protocol::T_STRUCT, 9);
     xfer += this->taskScheduling.write(oprot);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.advancedInputDataHandling) {
-    xfer += oprot->writeFieldBegin("advancedInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 8);
+    xfer += oprot->writeFieldBegin("advancedInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 10);
     xfer += this->advancedInputDataHandling.write(oprot);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.advancedOutputDataHandling) {
-    xfer += oprot->writeFieldBegin("advancedOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 9);
+    xfer += oprot->writeFieldBegin("advancedOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 11);
     xfer += this->advancedOutputDataHandling.write(oprot);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.taskStatus) {
-    xfer += oprot->writeFieldBegin("taskStatus", ::apache::thrift::protocol::T_STRUCT, 10);
+    xfer += oprot->writeFieldBegin("taskStatus", ::apache::thrift::protocol::T_STRUCT, 12);
     xfer += this->taskStatus.write(oprot);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.jobDetailsList) {
-    xfer += oprot->writeFieldBegin("jobDetailsList", ::apache::thrift::protocol::T_LIST, 11);
+    xfer += oprot->writeFieldBegin("jobDetailsList", ::apache::thrift::protocol::T_LIST, 13);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobDetailsList.size()));
       std::vector<JobDetails> ::const_iterator _iter48;
@@ -2190,7 +2216,7 @@ uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.dataTransferDetailsList) {
-    xfer += oprot->writeFieldBegin("dataTransferDetailsList", ::apache::thrift::protocol::T_LIST, 12);
+    xfer += oprot->writeFieldBegin("dataTransferDetailsList", ::apache::thrift::protocol::T_LIST, 14);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataTransferDetailsList.size()));
       std::vector<DataTransferDetails> ::const_iterator _iter49;
@@ -2203,7 +2229,7 @@ uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.errors) {
-    xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 13);
+    xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 15);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
       std::vector<ErrorDetails> ::const_iterator _iter50;
@@ -2226,6 +2252,8 @@ void swap(TaskDetails &a, TaskDetails &b) {
   swap(a.creationTime, b.creationTime);
   swap(a.applicationId, b.applicationId);
   swap(a.applicationVersion, b.applicationVersion);
+  swap(a.hostDescriptorId, b.hostDescriptorId);
+  swap(a.applicationDescriptorId, b.applicationDescriptorId);
   swap(a.applicationInputs, b.applicationInputs);
   swap(a.applicationOutputs, b.applicationOutputs);
   swap(a.taskScheduling, b.taskScheduling);
@@ -2238,8 +2266,8 @@ void swap(TaskDetails &a, TaskDetails &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* WorkflowNodeDetails::ascii_fingerprint = "5CF3D3D65F04E5D784A8123C81AAD941";
-const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0x5C,0xF3,0xD3,0xD6,0x5F,0x04,0xE5,0xD7,0x84,0xA8,0x12,0x3C,0x81,0xAA,0xD9,0x41};
+const char* WorkflowNodeDetails::ascii_fingerprint = "6E949ACD99A7BCD6F92F530611379555";
+const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0x6E,0x94,0x9A,0xCD,0x99,0xA7,0xBC,0xD6,0xF9,0x2F,0x53,0x06,0x11,0x37,0x95,0x55};
 
 uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -2662,8 +2690,8 @@ void swap(ValidationResults &a, ValidationResults &b) {
   swap(a.validationResultList, b.validationResultList);
 }
 
-const char* Experiment::ascii_fingerprint = "9991CE776AFA4D20B5AA55C2BB0136D4";
-const uint8_t Experiment::binary_fingerprint[16] = {0x99,0x91,0xCE,0x77,0x6A,0xFA,0x4D,0x20,0xB5,0xAA,0x55,0xC2,0xBB,0x01,0x36,0xD4};
+const char* Experiment::ascii_fingerprint = "66FE530838E2F6F20D72C4DB3F430EF8";
+const uint8_t Experiment::binary_fingerprint[16] = {0x66,0xFE,0x53,0x08,0x38,0xE2,0xF6,0xF2,0x0D,0x72,0xC4,0xDB,0x3F,0x43,0x0E,0xF8};
 
 uint32_t Experiment::read(::apache::thrift::protocol::TProtocol* iprot) {
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/b9c9d245/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h
index aeb411d..b10a263 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h
@@ -13,7 +13,7 @@
 #include <thrift/transport/TTransport.h>
 
 #include <thrift/cxxfunctional.h>
-#include "applicationCatalogDataModel_types.h"
+#include "computeHostModel_types.h"
 
 
 
@@ -1309,10 +1309,12 @@ class DataTransferDetails {
 void swap(DataTransferDetails &a, DataTransferDetails &b);
 
 typedef struct _TaskDetails__isset {
-  _TaskDetails__isset() : creationTime(false), applicationId(false), applicationVersion(false), applicationInputs(false), applicationOutputs(false), taskScheduling(false), advancedInputDataHandling(false), advancedOutputDataHandling(false), taskStatus(false), jobDetailsList(false), dataTransferDetailsList(false), errors(false) {}
+  _TaskDetails__isset() : creationTime(false), applicationId(false), applicationVersion(false), hostDescriptorId(false), applicationDescriptorId(false), applicationInputs(false), applicationOutputs(false), taskScheduling(false), advancedInputDataHandling(false), advancedOutputDataHandling(false), taskStatus(false), jobDetailsList(false), dataTransferDetailsList(false), errors(false) {}
   bool creationTime;
   bool applicationId;
   bool applicationVersion;
+  bool hostDescriptorId;
+  bool applicationDescriptorId;
   bool applicationInputs;
   bool applicationOutputs;
   bool taskScheduling;
@@ -1327,10 +1329,10 @@ typedef struct _TaskDetails__isset {
 class TaskDetails {
  public:
 
-  static const char* ascii_fingerprint; // = "5C32F41DCA106A1E9170C3F02C8F0431";
-  static const uint8_t binary_fingerprint[16]; // = {0x5C,0x32,0xF4,0x1D,0xCA,0x10,0x6A,0x1E,0x91,0x70,0xC3,0xF0,0x2C,0x8F,0x04,0x31};
+  static const char* ascii_fingerprint; // = "B61C8F58DF00FE6B55A62F6A457038DD";
+  static const uint8_t binary_fingerprint[16]; // = {0xB6,0x1C,0x8F,0x58,0xDF,0x00,0xFE,0x6B,0x55,0xA6,0x2F,0x6A,0x45,0x70,0x38,0xDD};
 
-  TaskDetails() : taskID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), applicationId(), applicationVersion() {
+  TaskDetails() : taskID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), applicationId(), applicationVersion(), hostDescriptorId(), applicationDescriptorId() {
   }
 
   virtual ~TaskDetails() throw() {}
@@ -1339,6 +1341,8 @@ class TaskDetails {
   int64_t creationTime;
   std::string applicationId;
   std::string applicationVersion;
+  std::string hostDescriptorId;
+  std::string applicationDescriptorId;
   std::vector<DataObjectType>  applicationInputs;
   std::vector<DataObjectType>  applicationOutputs;
   ComputationalResourceScheduling taskScheduling;
@@ -1370,6 +1374,16 @@ class TaskDetails {
     __isset.applicationVersion = true;
   }
 
+  void __set_hostDescriptorId(const std::string& val) {
+    hostDescriptorId = val;
+    __isset.hostDescriptorId = true;
+  }
+
+  void __set_applicationDescriptorId(const std::string& val) {
+    applicationDescriptorId = val;
+    __isset.applicationDescriptorId = true;
+  }
+
   void __set_applicationInputs(const std::vector<DataObjectType> & val) {
     applicationInputs = val;
     __isset.applicationInputs = true;
@@ -1431,6 +1445,14 @@ class TaskDetails {
       return false;
     else if (__isset.applicationVersion && !(applicationVersion == rhs.applicationVersion))
       return false;
+    if (__isset.hostDescriptorId != rhs.__isset.hostDescriptorId)
+      return false;
+    else if (__isset.hostDescriptorId && !(hostDescriptorId == rhs.hostDescriptorId))
+      return false;
+    if (__isset.applicationDescriptorId != rhs.__isset.applicationDescriptorId)
+      return false;
+    else if (__isset.applicationDescriptorId && !(applicationDescriptorId == rhs.applicationDescriptorId))
+      return false;
     if (__isset.applicationInputs != rhs.__isset.applicationInputs)
       return false;
     else if (__isset.applicationInputs && !(applicationInputs == rhs.applicationInputs))
@@ -1495,8 +1517,8 @@ typedef struct _WorkflowNodeDetails__isset {
 class WorkflowNodeDetails {
  public:
 
-  static const char* ascii_fingerprint; // = "5CF3D3D65F04E5D784A8123C81AAD941";
-  static const uint8_t binary_fingerprint[16]; // = {0x5C,0xF3,0xD3,0xD6,0x5F,0x04,0xE5,0xD7,0x84,0xA8,0x12,0x3C,0x81,0xAA,0xD9,0x41};
+  static const char* ascii_fingerprint; // = "6E949ACD99A7BCD6F92F530611379555";
+  static const uint8_t binary_fingerprint[16]; // = {0x6E,0x94,0x9A,0xCD,0x99,0xA7,0xBC,0xD6,0xF9,0x2F,0x53,0x06,0x11,0x37,0x95,0x55};
 
   WorkflowNodeDetails() : nodeInstanceId("DO_NOT_SET_AT_CLIENTS"), creationTime(0), nodeName("SINGLE_APP_NODE") {
   }
@@ -1715,8 +1737,8 @@ typedef struct _Experiment__isset {
 class Experiment {
  public:
 
-  static const char* ascii_fingerprint; // = "9991CE776AFA4D20B5AA55C2BB0136D4";
-  static const uint8_t binary_fingerprint[16]; // = {0x99,0x91,0xCE,0x77,0x6A,0xFA,0x4D,0x20,0xB5,0xAA,0x55,0xC2,0xBB,0x01,0x36,0xD4};
+  static const char* ascii_fingerprint; // = "66FE530838E2F6F20D72C4DB3F430EF8";
+  static const uint8_t binary_fingerprint[16]; // = {0x66,0xFE,0x53,0x08,0x38,0xE2,0xF6,0xF2,0x0D,0x72,0xC4,0xDB,0x3F,0x43,0x0E,0xF8};
 
   Experiment() : experimentID("DO_NOT_SET_AT_CLIENTS"), projectID("DEFAULT"), creationTime(0), userName(), name(), description(), applicationId(), applicationVersion(), workflowTemplateId(), workflowTemplateVersion(), workflowExecutionInstanceId() {
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/b9c9d245/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
index f031ddf..7135938 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
@@ -2330,6 +2330,8 @@ class TaskDetails {
   public $creationTime = null;
   public $applicationId = null;
   public $applicationVersion = null;
+  public $hostDescriptorId = null;
+  public $applicationDescriptorId = null;
   public $applicationInputs = null;
   public $applicationOutputs = null;
   public $taskScheduling = null;
@@ -2360,6 +2362,14 @@ class TaskDetails {
           'type' => TType::STRING,
           ),
         5 => array(
+          'var' => 'hostDescriptorId',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'applicationDescriptorId',
+          'type' => TType::STRING,
+          ),
+        7 => array(
           'var' => 'applicationInputs',
           'type' => TType::LST,
           'etype' => TType::STRUCT,
@@ -2368,7 +2378,7 @@ class TaskDetails {
             'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
             ),
           ),
-        6 => array(
+        8 => array(
           'var' => 'applicationOutputs',
           'type' => TType::LST,
           'etype' => TType::STRUCT,
@@ -2377,27 +2387,27 @@ class TaskDetails {
             'class' => '\Airavata\Model\Workspace\Experiment\DataObjectType',
             ),
           ),
-        7 => array(
+        9 => array(
           'var' => 'taskScheduling',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling',
           ),
-        8 => array(
+        10 => array(
           'var' => 'advancedInputDataHandling',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling',
           ),
-        9 => array(
+        11 => array(
           'var' => 'advancedOutputDataHandling',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling',
           ),
-        10 => array(
+        12 => array(
           'var' => 'taskStatus',
           'type' => TType::STRUCT,
           'class' => '\Airavata\Model\Workspace\Experiment\TaskStatus',
           ),
-        11 => array(
+        13 => array(
           'var' => 'jobDetailsList',
           'type' => TType::LST,
           'etype' => TType::STRUCT,
@@ -2406,7 +2416,7 @@ class TaskDetails {
             'class' => '\Airavata\Model\Workspace\Experiment\JobDetails',
             ),
           ),
-        12 => array(
+        14 => array(
           'var' => 'dataTransferDetailsList',
           'type' => TType::LST,
           'etype' => TType::STRUCT,
@@ -2415,7 +2425,7 @@ class TaskDetails {
             'class' => '\Airavata\Model\Workspace\Experiment\DataTransferDetails',
             ),
           ),
-        13 => array(
+        15 => array(
           'var' => 'errors',
           'type' => TType::LST,
           'etype' => TType::STRUCT,
@@ -2439,6 +2449,12 @@ class TaskDetails {
       if (isset($vals['applicationVersion'])) {
         $this->applicationVersion = $vals['applicationVersion'];
       }
+      if (isset($vals['hostDescriptorId'])) {
+        $this->hostDescriptorId = $vals['hostDescriptorId'];
+      }
+      if (isset($vals['applicationDescriptorId'])) {
+        $this->applicationDescriptorId = $vals['applicationDescriptorId'];
+      }
       if (isset($vals['applicationInputs'])) {
         $this->applicationInputs = $vals['applicationInputs'];
       }
@@ -2517,6 +2533,20 @@ class TaskDetails {
           }
           break;
         case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->hostDescriptorId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationDescriptorId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
           if ($ftype == TType::LST) {
             $this->applicationInputs = array();
             $_size14 = 0;
@@ -2534,7 +2564,7 @@ class TaskDetails {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 6:
+        case 8:
           if ($ftype == TType::LST) {
             $this->applicationOutputs = array();
             $_size20 = 0;
@@ -2552,7 +2582,7 @@ class TaskDetails {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 7:
+        case 9:
           if ($ftype == TType::STRUCT) {
             $this->taskScheduling = new \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling();
             $xfer += $this->taskScheduling->read($input);
@@ -2560,7 +2590,7 @@ class TaskDetails {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 8:
+        case 10:
           if ($ftype == TType::STRUCT) {
             $this->advancedInputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling();
             $xfer += $this->advancedInputDataHandling->read($input);
@@ -2568,7 +2598,7 @@ class TaskDetails {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 9:
+        case 11:
           if ($ftype == TType::STRUCT) {
             $this->advancedOutputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling();
             $xfer += $this->advancedOutputDataHandling->read($input);
@@ -2576,7 +2606,7 @@ class TaskDetails {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 10:
+        case 12:
           if ($ftype == TType::STRUCT) {
             $this->taskStatus = new \Airavata\Model\Workspace\Experiment\TaskStatus();
             $xfer += $this->taskStatus->read($input);
@@ -2584,7 +2614,7 @@ class TaskDetails {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 11:
+        case 13:
           if ($ftype == TType::LST) {
             $this->jobDetailsList = array();
             $_size26 = 0;
@@ -2602,7 +2632,7 @@ class TaskDetails {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 12:
+        case 14:
           if ($ftype == TType::LST) {
             $this->dataTransferDetailsList = array();
             $_size32 = 0;
@@ -2620,7 +2650,7 @@ class TaskDetails {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 13:
+        case 15:
           if ($ftype == TType::LST) {
             $this->errors = array();
             $_size38 = 0;
@@ -2671,11 +2701,21 @@ class TaskDetails {
       $xfer += $output->writeString($this->applicationVersion);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->hostDescriptorId !== null) {
+      $xfer += $output->writeFieldBegin('hostDescriptorId', TType::STRING, 5);
+      $xfer += $output->writeString($this->hostDescriptorId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationDescriptorId !== null) {
+      $xfer += $output->writeFieldBegin('applicationDescriptorId', TType::STRING, 6);
+      $xfer += $output->writeString($this->applicationDescriptorId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->applicationInputs !== null) {
       if (!is_array($this->applicationInputs)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('applicationInputs', TType::LST, 5);
+      $xfer += $output->writeFieldBegin('applicationInputs', TType::LST, 7);
       {
         $output->writeListBegin(TType::STRUCT, count($this->applicationInputs));
         {
@@ -2692,7 +2732,7 @@ class TaskDetails {
       if (!is_array($this->applicationOutputs)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('applicationOutputs', TType::LST, 6);
+      $xfer += $output->writeFieldBegin('applicationOutputs', TType::LST, 8);
       {
         $output->writeListBegin(TType::STRUCT, count($this->applicationOutputs));
         {
@@ -2709,7 +2749,7 @@ class TaskDetails {
       if (!is_object($this->taskScheduling)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('taskScheduling', TType::STRUCT, 7);
+      $xfer += $output->writeFieldBegin('taskScheduling', TType::STRUCT, 9);
       $xfer += $this->taskScheduling->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -2717,7 +2757,7 @@ class TaskDetails {
       if (!is_object($this->advancedInputDataHandling)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('advancedInputDataHandling', TType::STRUCT, 8);
+      $xfer += $output->writeFieldBegin('advancedInputDataHandling', TType::STRUCT, 10);
       $xfer += $this->advancedInputDataHandling->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -2725,7 +2765,7 @@ class TaskDetails {
       if (!is_object($this->advancedOutputDataHandling)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('advancedOutputDataHandling', TType::STRUCT, 9);
+      $xfer += $output->writeFieldBegin('advancedOutputDataHandling', TType::STRUCT, 11);
       $xfer += $this->advancedOutputDataHandling->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -2733,7 +2773,7 @@ class TaskDetails {
       if (!is_object($this->taskStatus)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('taskStatus', TType::STRUCT, 10);
+      $xfer += $output->writeFieldBegin('taskStatus', TType::STRUCT, 12);
       $xfer += $this->taskStatus->write($output);
       $xfer += $output->writeFieldEnd();
     }
@@ -2741,7 +2781,7 @@ class TaskDetails {
       if (!is_array($this->jobDetailsList)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('jobDetailsList', TType::LST, 11);
+      $xfer += $output->writeFieldBegin('jobDetailsList', TType::LST, 13);
       {
         $output->writeListBegin(TType::STRUCT, count($this->jobDetailsList));
         {
@@ -2758,7 +2798,7 @@ class TaskDetails {
       if (!is_array($this->dataTransferDetailsList)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('dataTransferDetailsList', TType::LST, 12);
+      $xfer += $output->writeFieldBegin('dataTransferDetailsList', TType::LST, 14);
       {
         $output->writeListBegin(TType::STRUCT, count($this->dataTransferDetailsList));
         {
@@ -2775,7 +2815,7 @@ class TaskDetails {
       if (!is_array($this->errors)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('errors', TType::LST, 13);
+      $xfer += $output->writeFieldBegin('errors', TType::LST, 15);
       {
         $output->writeListBegin(TType::STRUCT, count($this->errors));
         {

http://git-wip-us.apache.org/repos/asf/airavata/blob/b9c9d245/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskDetails.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskDetails.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskDetails.java
index 21114d0..14fee11 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskDetails.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/TaskDetails.java
@@ -61,15 +61,17 @@ import org.slf4j.LoggerFactory;
   private static final org.apache.thrift.protocol.TField CREATION_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("creationTime", org.apache.thrift.protocol.TType.I64, (short)2);
   private static final org.apache.thrift.protocol.TField APPLICATION_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationId", org.apache.thrift.protocol.TType.STRING, (short)3);
   private static final org.apache.thrift.protocol.TField APPLICATION_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationVersion", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField APPLICATION_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationInputs", org.apache.thrift.protocol.TType.LIST, (short)5);
-  private static final org.apache.thrift.protocol.TField APPLICATION_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationOutputs", org.apache.thrift.protocol.TType.LIST, (short)6);
-  private static final org.apache.thrift.protocol.TField TASK_SCHEDULING_FIELD_DESC = new org.apache.thrift.protocol.TField("taskScheduling", org.apache.thrift.protocol.TType.STRUCT, (short)7);
-  private static final org.apache.thrift.protocol.TField ADVANCED_INPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advancedInputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)8);
-  private static final org.apache.thrift.protocol.TField ADVANCED_OUTPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advancedOutputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)9);
-  private static final org.apache.thrift.protocol.TField TASK_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("taskStatus", org.apache.thrift.protocol.TType.STRUCT, (short)10);
-  private static final org.apache.thrift.protocol.TField JOB_DETAILS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("jobDetailsList", org.apache.thrift.protocol.TType.LIST, (short)11);
-  private static final org.apache.thrift.protocol.TField DATA_TRANSFER_DETAILS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("dataTransferDetailsList", org.apache.thrift.protocol.TType.LIST, (short)12);
-  private static final org.apache.thrift.protocol.TField ERRORS_FIELD_DESC = new org.apache.thrift.protocol.TField("errors", org.apache.thrift.protocol.TType.LIST, (short)13);
+  private static final org.apache.thrift.protocol.TField HOST_DESCRIPTOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("hostDescriptorId", org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField APPLICATION_DESCRIPTOR_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationDescriptorId", org.apache.thrift.protocol.TType.STRING, (short)6);
+  private static final org.apache.thrift.protocol.TField APPLICATION_INPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationInputs", org.apache.thrift.protocol.TType.LIST, (short)7);
+  private static final org.apache.thrift.protocol.TField APPLICATION_OUTPUTS_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationOutputs", org.apache.thrift.protocol.TType.LIST, (short)8);
+  private static final org.apache.thrift.protocol.TField TASK_SCHEDULING_FIELD_DESC = new org.apache.thrift.protocol.TField("taskScheduling", org.apache.thrift.protocol.TType.STRUCT, (short)9);
+  private static final org.apache.thrift.protocol.TField ADVANCED_INPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advancedInputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)10);
+  private static final org.apache.thrift.protocol.TField ADVANCED_OUTPUT_DATA_HANDLING_FIELD_DESC = new org.apache.thrift.protocol.TField("advancedOutputDataHandling", org.apache.thrift.protocol.TType.STRUCT, (short)11);
+  private static final org.apache.thrift.protocol.TField TASK_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("taskStatus", org.apache.thrift.protocol.TType.STRUCT, (short)12);
+  private static final org.apache.thrift.protocol.TField JOB_DETAILS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("jobDetailsList", org.apache.thrift.protocol.TType.LIST, (short)13);
+  private static final org.apache.thrift.protocol.TField DATA_TRANSFER_DETAILS_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("dataTransferDetailsList", org.apache.thrift.protocol.TType.LIST, (short)14);
+  private static final org.apache.thrift.protocol.TField ERRORS_FIELD_DESC = new org.apache.thrift.protocol.TField("errors", org.apache.thrift.protocol.TType.LIST, (short)15);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -81,6 +83,8 @@ import org.slf4j.LoggerFactory;
   private long creationTime; // optional
   private String applicationId; // optional
   private String applicationVersion; // optional
+  private String hostDescriptorId; // optional
+  private String applicationDescriptorId; // optional
   private List<DataObjectType> applicationInputs; // optional
   private List<DataObjectType> applicationOutputs; // optional
   private ComputationalResourceScheduling taskScheduling; // optional
@@ -97,15 +101,17 @@ import org.slf4j.LoggerFactory;
     CREATION_TIME((short)2, "creationTime"),
     APPLICATION_ID((short)3, "applicationId"),
     APPLICATION_VERSION((short)4, "applicationVersion"),
-    APPLICATION_INPUTS((short)5, "applicationInputs"),
-    APPLICATION_OUTPUTS((short)6, "applicationOutputs"),
-    TASK_SCHEDULING((short)7, "taskScheduling"),
-    ADVANCED_INPUT_DATA_HANDLING((short)8, "advancedInputDataHandling"),
-    ADVANCED_OUTPUT_DATA_HANDLING((short)9, "advancedOutputDataHandling"),
-    TASK_STATUS((short)10, "taskStatus"),
-    JOB_DETAILS_LIST((short)11, "jobDetailsList"),
-    DATA_TRANSFER_DETAILS_LIST((short)12, "dataTransferDetailsList"),
-    ERRORS((short)13, "errors");
+    HOST_DESCRIPTOR_ID((short)5, "hostDescriptorId"),
+    APPLICATION_DESCRIPTOR_ID((short)6, "applicationDescriptorId"),
+    APPLICATION_INPUTS((short)7, "applicationInputs"),
+    APPLICATION_OUTPUTS((short)8, "applicationOutputs"),
+    TASK_SCHEDULING((short)9, "taskScheduling"),
+    ADVANCED_INPUT_DATA_HANDLING((short)10, "advancedInputDataHandling"),
+    ADVANCED_OUTPUT_DATA_HANDLING((short)11, "advancedOutputDataHandling"),
+    TASK_STATUS((short)12, "taskStatus"),
+    JOB_DETAILS_LIST((short)13, "jobDetailsList"),
+    DATA_TRANSFER_DETAILS_LIST((short)14, "dataTransferDetailsList"),
+    ERRORS((short)15, "errors");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -128,23 +134,27 @@ import org.slf4j.LoggerFactory;
           return APPLICATION_ID;
         case 4: // APPLICATION_VERSION
           return APPLICATION_VERSION;
-        case 5: // APPLICATION_INPUTS
+        case 5: // HOST_DESCRIPTOR_ID
+          return HOST_DESCRIPTOR_ID;
+        case 6: // APPLICATION_DESCRIPTOR_ID
+          return APPLICATION_DESCRIPTOR_ID;
+        case 7: // APPLICATION_INPUTS
           return APPLICATION_INPUTS;
-        case 6: // APPLICATION_OUTPUTS
+        case 8: // APPLICATION_OUTPUTS
           return APPLICATION_OUTPUTS;
-        case 7: // TASK_SCHEDULING
+        case 9: // TASK_SCHEDULING
           return TASK_SCHEDULING;
-        case 8: // ADVANCED_INPUT_DATA_HANDLING
+        case 10: // ADVANCED_INPUT_DATA_HANDLING
           return ADVANCED_INPUT_DATA_HANDLING;
-        case 9: // ADVANCED_OUTPUT_DATA_HANDLING
+        case 11: // ADVANCED_OUTPUT_DATA_HANDLING
           return ADVANCED_OUTPUT_DATA_HANDLING;
-        case 10: // TASK_STATUS
+        case 12: // TASK_STATUS
           return TASK_STATUS;
-        case 11: // JOB_DETAILS_LIST
+        case 13: // JOB_DETAILS_LIST
           return JOB_DETAILS_LIST;
-        case 12: // DATA_TRANSFER_DETAILS_LIST
+        case 14: // DATA_TRANSFER_DETAILS_LIST
           return DATA_TRANSFER_DETAILS_LIST;
-        case 13: // ERRORS
+        case 15: // ERRORS
           return ERRORS;
         default:
           return null;
@@ -188,7 +198,7 @@ import org.slf4j.LoggerFactory;
   // isset id assignments
   private static final int __CREATIONTIME_ISSET_ID = 0;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.APPLICATION_ID,_Fields.APPLICATION_VERSION,_Fields.APPLICATION_INPUTS,_Fields.APPLICATION_OUTPUTS,_Fields.TASK_SCHEDULING,_Fields.ADVANCED_INPUT_DATA_HANDLING,_Fields.ADVANCED_OUTPUT_DATA_HANDLING,_Fields.TASK_STATUS,_Fields.JOB_DETAILS_LIST,_Fields.DATA_TRANSFER_DETAILS_LIST,_Fields.ERRORS};
+  private _Fields optionals[] = {_Fields.CREATION_TIME,_Fields.APPLICATION_ID,_Fields.APPLICATION_VERSION,_Fields.HOST_DESCRIPTOR_ID,_Fields.APPLICATION_DESCRIPTOR_ID,_Fields.APPLICATION_INPUTS,_Fields.APPLICATION_OUTPUTS,_Fields.TASK_SCHEDULING,_Fields.ADVANCED_INPUT_DATA_HANDLING,_Fields.ADVANCED_OUTPUT_DATA_HANDLING,_Fields.TASK_STATUS,_Fields.JOB_DETAILS_LIST,_Fields.DATA_TRANSFER_DETAILS_LIST,_Fields.ERRORS};
   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);
@@ -200,6 +210,10 @@ import org.slf4j.LoggerFactory;
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.APPLICATION_VERSION, new org.apache.thrift.meta_data.FieldMetaData("applicationVersion", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.HOST_DESCRIPTOR_ID, new org.apache.thrift.meta_data.FieldMetaData("hostDescriptorId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.APPLICATION_DESCRIPTOR_ID, new org.apache.thrift.meta_data.FieldMetaData("applicationDescriptorId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.APPLICATION_INPUTS, new org.apache.thrift.meta_data.FieldMetaData("applicationInputs", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
             new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, DataObjectType.class))));
@@ -254,6 +268,12 @@ import org.slf4j.LoggerFactory;
     if (other.isSetApplicationVersion()) {
       this.applicationVersion = other.applicationVersion;
     }
+    if (other.isSetHostDescriptorId()) {
+      this.hostDescriptorId = other.hostDescriptorId;
+    }
+    if (other.isSetApplicationDescriptorId()) {
+      this.applicationDescriptorId = other.applicationDescriptorId;
+    }
     if (other.isSetApplicationInputs()) {
       List<DataObjectType> __this__applicationInputs = new ArrayList<DataObjectType>(other.applicationInputs.size());
       for (DataObjectType other_element : other.applicationInputs) {
@@ -315,6 +335,8 @@ import org.slf4j.LoggerFactory;
     this.creationTime = 0;
     this.applicationId = null;
     this.applicationVersion = null;
+    this.hostDescriptorId = null;
+    this.applicationDescriptorId = null;
     this.applicationInputs = null;
     this.applicationOutputs = null;
     this.taskScheduling = null;
@@ -417,6 +439,52 @@ import org.slf4j.LoggerFactory;
     }
   }
 
+  public String getHostDescriptorId() {
+    return this.hostDescriptorId;
+  }
+
+  public void setHostDescriptorId(String hostDescriptorId) {
+    this.hostDescriptorId = hostDescriptorId;
+  }
+
+  public void unsetHostDescriptorId() {
+    this.hostDescriptorId = null;
+  }
+
+  /** Returns true if field hostDescriptorId is set (has been assigned a value) and false otherwise */
+  public boolean isSetHostDescriptorId() {
+    return this.hostDescriptorId != null;
+  }
+
+  public void setHostDescriptorIdIsSet(boolean value) {
+    if (!value) {
+      this.hostDescriptorId = null;
+    }
+  }
+
+  public String getApplicationDescriptorId() {
+    return this.applicationDescriptorId;
+  }
+
+  public void setApplicationDescriptorId(String applicationDescriptorId) {
+    this.applicationDescriptorId = applicationDescriptorId;
+  }
+
+  public void unsetApplicationDescriptorId() {
+    this.applicationDescriptorId = null;
+  }
+
+  /** Returns true if field applicationDescriptorId is set (has been assigned a value) and false otherwise */
+  public boolean isSetApplicationDescriptorId() {
+    return this.applicationDescriptorId != null;
+  }
+
+  public void setApplicationDescriptorIdIsSet(boolean value) {
+    if (!value) {
+      this.applicationDescriptorId = null;
+    }
+  }
+
   public int getApplicationInputsSize() {
     return (this.applicationInputs == null) ? 0 : this.applicationInputs.size();
   }
@@ -733,6 +801,22 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
+    case HOST_DESCRIPTOR_ID:
+      if (value == null) {
+        unsetHostDescriptorId();
+      } else {
+        setHostDescriptorId((String)value);
+      }
+      break;
+
+    case APPLICATION_DESCRIPTOR_ID:
+      if (value == null) {
+        unsetApplicationDescriptorId();
+      } else {
+        setApplicationDescriptorId((String)value);
+      }
+      break;
+
     case APPLICATION_INPUTS:
       if (value == null) {
         unsetApplicationInputs();
@@ -822,6 +906,12 @@ import org.slf4j.LoggerFactory;
     case APPLICATION_VERSION:
       return getApplicationVersion();
 
+    case HOST_DESCRIPTOR_ID:
+      return getHostDescriptorId();
+
+    case APPLICATION_DESCRIPTOR_ID:
+      return getApplicationDescriptorId();
+
     case APPLICATION_INPUTS:
       return getApplicationInputs();
 
@@ -868,6 +958,10 @@ import org.slf4j.LoggerFactory;
       return isSetApplicationId();
     case APPLICATION_VERSION:
       return isSetApplicationVersion();
+    case HOST_DESCRIPTOR_ID:
+      return isSetHostDescriptorId();
+    case APPLICATION_DESCRIPTOR_ID:
+      return isSetApplicationDescriptorId();
     case APPLICATION_INPUTS:
       return isSetApplicationInputs();
     case APPLICATION_OUTPUTS:
@@ -939,6 +1033,24 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
+    boolean this_present_hostDescriptorId = true && this.isSetHostDescriptorId();
+    boolean that_present_hostDescriptorId = true && that.isSetHostDescriptorId();
+    if (this_present_hostDescriptorId || that_present_hostDescriptorId) {
+      if (!(this_present_hostDescriptorId && that_present_hostDescriptorId))
+        return false;
+      if (!this.hostDescriptorId.equals(that.hostDescriptorId))
+        return false;
+    }
+
+    boolean this_present_applicationDescriptorId = true && this.isSetApplicationDescriptorId();
+    boolean that_present_applicationDescriptorId = true && that.isSetApplicationDescriptorId();
+    if (this_present_applicationDescriptorId || that_present_applicationDescriptorId) {
+      if (!(this_present_applicationDescriptorId && that_present_applicationDescriptorId))
+        return false;
+      if (!this.applicationDescriptorId.equals(that.applicationDescriptorId))
+        return false;
+    }
+
     boolean this_present_applicationInputs = true && this.isSetApplicationInputs();
     boolean that_present_applicationInputs = true && that.isSetApplicationInputs();
     if (this_present_applicationInputs || that_present_applicationInputs) {
@@ -1076,6 +1188,26 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetHostDescriptorId()).compareTo(other.isSetHostDescriptorId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetHostDescriptorId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hostDescriptorId, other.hostDescriptorId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetApplicationDescriptorId()).compareTo(other.isSetApplicationDescriptorId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetApplicationDescriptorId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationDescriptorId, other.applicationDescriptorId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetApplicationInputs()).compareTo(other.isSetApplicationInputs());
     if (lastComparison != 0) {
       return lastComparison;
@@ -1219,6 +1351,26 @@ import org.slf4j.LoggerFactory;
       }
       first = false;
     }
+    if (isSetHostDescriptorId()) {
+      if (!first) sb.append(", ");
+      sb.append("hostDescriptorId:");
+      if (this.hostDescriptorId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.hostDescriptorId);
+      }
+      first = false;
+    }
+    if (isSetApplicationDescriptorId()) {
+      if (!first) sb.append(", ");
+      sb.append("applicationDescriptorId:");
+      if (this.applicationDescriptorId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.applicationDescriptorId);
+      }
+      first = false;
+    }
     if (isSetApplicationInputs()) {
       if (!first) sb.append(", ");
       sb.append("applicationInputs:");
@@ -1402,7 +1554,23 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // APPLICATION_INPUTS
+          case 5: // HOST_DESCRIPTOR_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.hostDescriptorId = iprot.readString();
+              struct.setHostDescriptorIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // APPLICATION_DESCRIPTOR_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.applicationDescriptorId = iprot.readString();
+              struct.setApplicationDescriptorIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // APPLICATION_INPUTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
@@ -1421,7 +1589,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 6: // APPLICATION_OUTPUTS
+          case 8: // APPLICATION_OUTPUTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list19 = iprot.readListBegin();
@@ -1440,7 +1608,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 7: // TASK_SCHEDULING
+          case 9: // TASK_SCHEDULING
             if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
               struct.taskScheduling = new ComputationalResourceScheduling();
               struct.taskScheduling.read(iprot);
@@ -1449,7 +1617,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 8: // ADVANCED_INPUT_DATA_HANDLING
+          case 10: // ADVANCED_INPUT_DATA_HANDLING
             if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
               struct.advancedInputDataHandling = new AdvancedInputDataHandling();
               struct.advancedInputDataHandling.read(iprot);
@@ -1458,7 +1626,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 9: // ADVANCED_OUTPUT_DATA_HANDLING
+          case 11: // ADVANCED_OUTPUT_DATA_HANDLING
             if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
               struct.advancedOutputDataHandling = new AdvancedOutputDataHandling();
               struct.advancedOutputDataHandling.read(iprot);
@@ -1467,7 +1635,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 10: // TASK_STATUS
+          case 12: // TASK_STATUS
             if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
               struct.taskStatus = new TaskStatus();
               struct.taskStatus.read(iprot);
@@ -1476,7 +1644,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 11: // JOB_DETAILS_LIST
+          case 13: // JOB_DETAILS_LIST
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list22 = iprot.readListBegin();
@@ -1495,7 +1663,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 12: // DATA_TRANSFER_DETAILS_LIST
+          case 14: // DATA_TRANSFER_DETAILS_LIST
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list25 = iprot.readListBegin();
@@ -1514,7 +1682,7 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 13: // ERRORS
+          case 15: // ERRORS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list28 = iprot.readListBegin();
@@ -1570,6 +1738,20 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldEnd();
         }
       }
+      if (struct.hostDescriptorId != null) {
+        if (struct.isSetHostDescriptorId()) {
+          oprot.writeFieldBegin(HOST_DESCRIPTOR_ID_FIELD_DESC);
+          oprot.writeString(struct.hostDescriptorId);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.applicationDescriptorId != null) {
+        if (struct.isSetApplicationDescriptorId()) {
+          oprot.writeFieldBegin(APPLICATION_DESCRIPTOR_ID_FIELD_DESC);
+          oprot.writeString(struct.applicationDescriptorId);
+          oprot.writeFieldEnd();
+        }
+      }
       if (struct.applicationInputs != null) {
         if (struct.isSetApplicationInputs()) {
           oprot.writeFieldBegin(APPLICATION_INPUTS_FIELD_DESC);
@@ -1696,34 +1878,40 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetApplicationVersion()) {
         optionals.set(2);
       }
-      if (struct.isSetApplicationInputs()) {
+      if (struct.isSetHostDescriptorId()) {
         optionals.set(3);
       }
-      if (struct.isSetApplicationOutputs()) {
+      if (struct.isSetApplicationDescriptorId()) {
         optionals.set(4);
       }
-      if (struct.isSetTaskScheduling()) {
+      if (struct.isSetApplicationInputs()) {
         optionals.set(5);
       }
-      if (struct.isSetAdvancedInputDataHandling()) {
+      if (struct.isSetApplicationOutputs()) {
         optionals.set(6);
       }
-      if (struct.isSetAdvancedOutputDataHandling()) {
+      if (struct.isSetTaskScheduling()) {
         optionals.set(7);
       }
-      if (struct.isSetTaskStatus()) {
+      if (struct.isSetAdvancedInputDataHandling()) {
         optionals.set(8);
       }
-      if (struct.isSetJobDetailsList()) {
+      if (struct.isSetAdvancedOutputDataHandling()) {
         optionals.set(9);
       }
-      if (struct.isSetDataTransferDetailsList()) {
+      if (struct.isSetTaskStatus()) {
         optionals.set(10);
       }
-      if (struct.isSetErrors()) {
+      if (struct.isSetJobDetailsList()) {
         optionals.set(11);
       }
-      oprot.writeBitSet(optionals, 12);
+      if (struct.isSetDataTransferDetailsList()) {
+        optionals.set(12);
+      }
+      if (struct.isSetErrors()) {
+        optionals.set(13);
+      }
+      oprot.writeBitSet(optionals, 14);
       if (struct.isSetCreationTime()) {
         oprot.writeI64(struct.creationTime);
       }
@@ -1733,6 +1921,12 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetApplicationVersion()) {
         oprot.writeString(struct.applicationVersion);
       }
+      if (struct.isSetHostDescriptorId()) {
+        oprot.writeString(struct.hostDescriptorId);
+      }
+      if (struct.isSetApplicationDescriptorId()) {
+        oprot.writeString(struct.applicationDescriptorId);
+      }
       if (struct.isSetApplicationInputs()) {
         {
           oprot.writeI32(struct.applicationInputs.size());
@@ -1797,7 +1991,7 @@ import org.slf4j.LoggerFactory;
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.taskID = iprot.readString();
       struct.setTaskIDIsSet(true);
-      BitSet incoming = iprot.readBitSet(12);
+      BitSet incoming = iprot.readBitSet(14);
       if (incoming.get(0)) {
         struct.creationTime = iprot.readI64();
         struct.setCreationTimeIsSet(true);
@@ -1811,6 +2005,14 @@ import org.slf4j.LoggerFactory;
         struct.setApplicationVersionIsSet(true);
       }
       if (incoming.get(3)) {
+        struct.hostDescriptorId = iprot.readString();
+        struct.setHostDescriptorIdIsSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.applicationDescriptorId = iprot.readString();
+        struct.setApplicationDescriptorIdIsSet(true);
+      }
+      if (incoming.get(5)) {
         {
           org.apache.thrift.protocol.TList _list41 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.applicationInputs = new ArrayList<DataObjectType>(_list41.size);
@@ -1824,7 +2026,7 @@ import org.slf4j.LoggerFactory;
         }
         struct.setApplicationInputsIsSet(true);
       }
-      if (incoming.get(4)) {
+      if (incoming.get(6)) {
         {
           org.apache.thrift.protocol.TList _list44 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.applicationOutputs = new ArrayList<DataObjectType>(_list44.size);
@@ -1838,27 +2040,27 @@ import org.slf4j.LoggerFactory;
         }
         struct.setApplicationOutputsIsSet(true);
       }
-      if (incoming.get(5)) {
+      if (incoming.get(7)) {
         struct.taskScheduling = new ComputationalResourceScheduling();
         struct.taskScheduling.read(iprot);
         struct.setTaskSchedulingIsSet(true);
       }
-      if (incoming.get(6)) {
+      if (incoming.get(8)) {
         struct.advancedInputDataHandling = new AdvancedInputDataHandling();
         struct.advancedInputDataHandling.read(iprot);
         struct.setAdvancedInputDataHandlingIsSet(true);
       }
-      if (incoming.get(7)) {
+      if (incoming.get(9)) {
         struct.advancedOutputDataHandling = new AdvancedOutputDataHandling();
         struct.advancedOutputDataHandling.read(iprot);
         struct.setAdvancedOutputDataHandlingIsSet(true);
       }
-      if (incoming.get(8)) {
+      if (incoming.get(10)) {
         struct.taskStatus = new TaskStatus();
         struct.taskStatus.read(iprot);
         struct.setTaskStatusIsSet(true);
       }
-      if (incoming.get(9)) {
+      if (incoming.get(11)) {
         {
           org.apache.thrift.protocol.TList _list47 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.jobDetailsList = new ArrayList<JobDetails>(_list47.size);
@@ -1872,7 +2074,7 @@ import org.slf4j.LoggerFactory;
         }
         struct.setJobDetailsListIsSet(true);
       }
-      if (incoming.get(10)) {
+      if (incoming.get(12)) {
         {
           org.apache.thrift.protocol.TList _list50 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.dataTransferDetailsList = new ArrayList<DataTransferDetails>(_list50.size);
@@ -1886,7 +2088,7 @@ import org.slf4j.LoggerFactory;
         }
         struct.setDataTransferDetailsListIsSet(true);
       }
-      if (incoming.get(11)) {
+      if (incoming.get(13)) {
         {
           org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.errors = new ArrayList<ErrorDetails>(_list53.size);

http://git-wip-us.apache.org/repos/asf/airavata/blob/b9c9d245/airavata-api/generate-thrift-files.sh
----------------------------------------------------------------------
diff --git a/airavata-api/generate-thrift-files.sh b/airavata-api/generate-thrift-files.sh
index bb2aed9..4682e0d 100755
--- a/airavata-api/generate-thrift-files.sh
+++ b/airavata-api/generate-thrift-files.sh
@@ -123,7 +123,7 @@ rm -rf ${JAVA_BEAN_GEN_DIR}
 #   The airavataDataModel.thrift includes rest of data models.
 thrift ${THRIFT_ARGS} --gen java:beans ${THRIFT_IDL_DIR}/airavataDataModel.thrift || fail unable to generate java bean thrift classes on base data model
 
-thrift ${THRIFT_ARGS} --gen java:beans ${THRIFT_IDL_DIR}/applicationCatalogDataModel.thrift || fail unable to generate java bean thrift classes on app catalog data model
+thrift ${THRIFT_ARGS} --gen java:beans ${THRIFT_IDL_DIR}/computeHostModel.thrift || fail unable to generate java bean thrift classes on app catalog data model
 
 # For the generated java beans add the ASF V2 License header
 add_license_header ${JAVA_BEAN_GEN_DIR}