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/05/21 07:46:57 UTC

[1/5] generated code for gridftp model

Repository: airavata
Updated Branches:
  refs/heads/master 029cfac40 -> fef7c4ac0


http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GridFTPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GridFTPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GridFTPDataMovement.java
new file mode 100644
index 0000000..2807322
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GridFTPDataMovement.java
@@ -0,0 +1,651 @@
+    /*
+     * Licensed to the Apache Software Foundation (ASF) under one or more
+     * contributor license agreements.  See the NOTICE file distributed with
+     * this work for additional information regarding copyright ownership.
+     * The ASF licenses this file to You under the Apache License, Version 2.0
+     * (the "License"); you may not use this file except in compliance with
+     * the License.  You may obtain a copy of the License at
+     *
+     *     http://www.apache.org/licenses/LICENSE-2.0
+     *
+     * Unless required by applicable law or agreed to in writing, software
+     * distributed under the License is distributed on an "AS IS" BASIS,
+     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     * See the License for the specific language governing permissions and
+     * limitations under the License.
+     */
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.model.appcatalog;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings("all") public class GridFTPDataMovement implements org.apache.thrift.TBase<GridFTPDataMovement, GridFTPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<GridFTPDataMovement> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GridFTPDataMovement");
+
+  private static final org.apache.thrift.protocol.TField DATA_MOVEMENT_DATA_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovementDataID", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField SECURITY_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("securityProtocol", org.apache.thrift.protocol.TType.I32, (short)2);
+  private static final org.apache.thrift.protocol.TField GRID_FTPEND_POINT_FIELD_DESC = new org.apache.thrift.protocol.TField("gridFTPEndPoint", org.apache.thrift.protocol.TType.LIST, (short)3);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new GridFTPDataMovementStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new GridFTPDataMovementTupleSchemeFactory());
+  }
+
+  private String dataMovementDataID; // required
+  private SecurityProtocol securityProtocol; // required
+  private List<String> gridFTPEndPoint; // 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 {
+    DATA_MOVEMENT_DATA_ID((short)1, "dataMovementDataID"),
+    /**
+     * 
+     * @see SecurityProtocol
+     */
+    SECURITY_PROTOCOL((short)2, "securityProtocol"),
+    GRID_FTPEND_POINT((short)3, "gridFTPEndPoint");
+
+    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: // DATA_MOVEMENT_DATA_ID
+          return DATA_MOVEMENT_DATA_ID;
+        case 2: // SECURITY_PROTOCOL
+          return SECURITY_PROTOCOL;
+        case 3: // GRID_FTPEND_POINT
+          return GRID_FTPEND_POINT;
+        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.DATA_MOVEMENT_DATA_ID, new org.apache.thrift.meta_data.FieldMetaData("dataMovementDataID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.SECURITY_PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("securityProtocol", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, SecurityProtocol.class)));
+    tmpMap.put(_Fields.GRID_FTPEND_POINT, new org.apache.thrift.meta_data.FieldMetaData("gridFTPEndPoint", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(GridFTPDataMovement.class, metaDataMap);
+  }
+
+  public GridFTPDataMovement() {
+    this.dataMovementDataID = "DO_NOT_SET_AT_CLIENTS";
+
+  }
+
+  public GridFTPDataMovement(
+    String dataMovementDataID,
+    SecurityProtocol securityProtocol,
+    List<String> gridFTPEndPoint)
+  {
+    this();
+    this.dataMovementDataID = dataMovementDataID;
+    this.securityProtocol = securityProtocol;
+    this.gridFTPEndPoint = gridFTPEndPoint;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public GridFTPDataMovement(GridFTPDataMovement other) {
+    if (other.isSetDataMovementDataID()) {
+      this.dataMovementDataID = other.dataMovementDataID;
+    }
+    if (other.isSetSecurityProtocol()) {
+      this.securityProtocol = other.securityProtocol;
+    }
+    if (other.isSetGridFTPEndPoint()) {
+      List<String> __this__gridFTPEndPoint = new ArrayList<String>(other.gridFTPEndPoint);
+      this.gridFTPEndPoint = __this__gridFTPEndPoint;
+    }
+  }
+
+  public GridFTPDataMovement deepCopy() {
+    return new GridFTPDataMovement(this);
+  }
+
+  @Override
+  public void clear() {
+    this.dataMovementDataID = "DO_NOT_SET_AT_CLIENTS";
+
+    this.securityProtocol = null;
+    this.gridFTPEndPoint = null;
+  }
+
+  public String getDataMovementDataID() {
+    return this.dataMovementDataID;
+  }
+
+  public void setDataMovementDataID(String dataMovementDataID) {
+    this.dataMovementDataID = dataMovementDataID;
+  }
+
+  public void unsetDataMovementDataID() {
+    this.dataMovementDataID = null;
+  }
+
+  /** Returns true if field dataMovementDataID is set (has been assigned a value) and false otherwise */
+  public boolean isSetDataMovementDataID() {
+    return this.dataMovementDataID != null;
+  }
+
+  public void setDataMovementDataIDIsSet(boolean value) {
+    if (!value) {
+      this.dataMovementDataID = null;
+    }
+  }
+
+  /**
+   * 
+   * @see SecurityProtocol
+   */
+  public SecurityProtocol getSecurityProtocol() {
+    return this.securityProtocol;
+  }
+
+  /**
+   * 
+   * @see SecurityProtocol
+   */
+  public void setSecurityProtocol(SecurityProtocol securityProtocol) {
+    this.securityProtocol = securityProtocol;
+  }
+
+  public void unsetSecurityProtocol() {
+    this.securityProtocol = null;
+  }
+
+  /** Returns true if field securityProtocol is set (has been assigned a value) and false otherwise */
+  public boolean isSetSecurityProtocol() {
+    return this.securityProtocol != null;
+  }
+
+  public void setSecurityProtocolIsSet(boolean value) {
+    if (!value) {
+      this.securityProtocol = null;
+    }
+  }
+
+  public int getGridFTPEndPointSize() {
+    return (this.gridFTPEndPoint == null) ? 0 : this.gridFTPEndPoint.size();
+  }
+
+  public java.util.Iterator<String> getGridFTPEndPointIterator() {
+    return (this.gridFTPEndPoint == null) ? null : this.gridFTPEndPoint.iterator();
+  }
+
+  public void addToGridFTPEndPoint(String elem) {
+    if (this.gridFTPEndPoint == null) {
+      this.gridFTPEndPoint = new ArrayList<String>();
+    }
+    this.gridFTPEndPoint.add(elem);
+  }
+
+  public List<String> getGridFTPEndPoint() {
+    return this.gridFTPEndPoint;
+  }
+
+  public void setGridFTPEndPoint(List<String> gridFTPEndPoint) {
+    this.gridFTPEndPoint = gridFTPEndPoint;
+  }
+
+  public void unsetGridFTPEndPoint() {
+    this.gridFTPEndPoint = null;
+  }
+
+  /** Returns true if field gridFTPEndPoint is set (has been assigned a value) and false otherwise */
+  public boolean isSetGridFTPEndPoint() {
+    return this.gridFTPEndPoint != null;
+  }
+
+  public void setGridFTPEndPointIsSet(boolean value) {
+    if (!value) {
+      this.gridFTPEndPoint = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case DATA_MOVEMENT_DATA_ID:
+      if (value == null) {
+        unsetDataMovementDataID();
+      } else {
+        setDataMovementDataID((String)value);
+      }
+      break;
+
+    case SECURITY_PROTOCOL:
+      if (value == null) {
+        unsetSecurityProtocol();
+      } else {
+        setSecurityProtocol((SecurityProtocol)value);
+      }
+      break;
+
+    case GRID_FTPEND_POINT:
+      if (value == null) {
+        unsetGridFTPEndPoint();
+      } else {
+        setGridFTPEndPoint((List<String>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case DATA_MOVEMENT_DATA_ID:
+      return getDataMovementDataID();
+
+    case SECURITY_PROTOCOL:
+      return getSecurityProtocol();
+
+    case GRID_FTPEND_POINT:
+      return getGridFTPEndPoint();
+
+    }
+    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 DATA_MOVEMENT_DATA_ID:
+      return isSetDataMovementDataID();
+    case SECURITY_PROTOCOL:
+      return isSetSecurityProtocol();
+    case GRID_FTPEND_POINT:
+      return isSetGridFTPEndPoint();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof GridFTPDataMovement)
+      return this.equals((GridFTPDataMovement)that);
+    return false;
+  }
+
+  public boolean equals(GridFTPDataMovement that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_dataMovementDataID = true && this.isSetDataMovementDataID();
+    boolean that_present_dataMovementDataID = true && that.isSetDataMovementDataID();
+    if (this_present_dataMovementDataID || that_present_dataMovementDataID) {
+      if (!(this_present_dataMovementDataID && that_present_dataMovementDataID))
+        return false;
+      if (!this.dataMovementDataID.equals(that.dataMovementDataID))
+        return false;
+    }
+
+    boolean this_present_securityProtocol = true && this.isSetSecurityProtocol();
+    boolean that_present_securityProtocol = true && that.isSetSecurityProtocol();
+    if (this_present_securityProtocol || that_present_securityProtocol) {
+      if (!(this_present_securityProtocol && that_present_securityProtocol))
+        return false;
+      if (!this.securityProtocol.equals(that.securityProtocol))
+        return false;
+    }
+
+    boolean this_present_gridFTPEndPoint = true && this.isSetGridFTPEndPoint();
+    boolean that_present_gridFTPEndPoint = true && that.isSetGridFTPEndPoint();
+    if (this_present_gridFTPEndPoint || that_present_gridFTPEndPoint) {
+      if (!(this_present_gridFTPEndPoint && that_present_gridFTPEndPoint))
+        return false;
+      if (!this.gridFTPEndPoint.equals(that.gridFTPEndPoint))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(GridFTPDataMovement other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetDataMovementDataID()).compareTo(other.isSetDataMovementDataID());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDataMovementDataID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataMovementDataID, other.dataMovementDataID);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSecurityProtocol()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.securityProtocol, other.securityProtocol);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetGridFTPEndPoint()).compareTo(other.isSetGridFTPEndPoint());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetGridFTPEndPoint()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gridFTPEndPoint, other.gridFTPEndPoint);
+      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("GridFTPDataMovement(");
+    boolean first = true;
+
+    sb.append("dataMovementDataID:");
+    if (this.dataMovementDataID == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.dataMovementDataID);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("securityProtocol:");
+    if (this.securityProtocol == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.securityProtocol);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("gridFTPEndPoint:");
+    if (this.gridFTPEndPoint == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.gridFTPEndPoint);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetDataMovementDataID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataMovementDataID' is unset! Struct:" + toString());
+    }
+
+    if (!isSetSecurityProtocol()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'securityProtocol' is unset! Struct:" + toString());
+    }
+
+    if (!isSetGridFTPEndPoint()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'gridFTPEndPoint' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      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 GridFTPDataMovementStandardSchemeFactory implements SchemeFactory {
+    public GridFTPDataMovementStandardScheme getScheme() {
+      return new GridFTPDataMovementStandardScheme();
+    }
+  }
+
+  private static class GridFTPDataMovementStandardScheme extends StandardScheme<GridFTPDataMovement> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, GridFTPDataMovement 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: // DATA_MOVEMENT_DATA_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.dataMovementDataID = iprot.readString();
+              struct.setDataMovementDataIDIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // SECURITY_PROTOCOL
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.securityProtocol = SecurityProtocol.findByValue(iprot.readI32());
+              struct.setSecurityProtocolIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // GRID_FTPEND_POINT
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
+                struct.gridFTPEndPoint = new ArrayList<String>(_list0.size);
+                for (int _i1 = 0; _i1 < _list0.size; ++_i1)
+                {
+                  String _elem2;
+                  _elem2 = iprot.readString();
+                  struct.gridFTPEndPoint.add(_elem2);
+                }
+                iprot.readListEnd();
+              }
+              struct.setGridFTPEndPointIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, GridFTPDataMovement struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.dataMovementDataID != null) {
+        oprot.writeFieldBegin(DATA_MOVEMENT_DATA_ID_FIELD_DESC);
+        oprot.writeString(struct.dataMovementDataID);
+        oprot.writeFieldEnd();
+      }
+      if (struct.securityProtocol != null) {
+        oprot.writeFieldBegin(SECURITY_PROTOCOL_FIELD_DESC);
+        oprot.writeI32(struct.securityProtocol.getValue());
+        oprot.writeFieldEnd();
+      }
+      if (struct.gridFTPEndPoint != null) {
+        oprot.writeFieldBegin(GRID_FTPEND_POINT_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.gridFTPEndPoint.size()));
+          for (String _iter3 : struct.gridFTPEndPoint)
+          {
+            oprot.writeString(_iter3);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class GridFTPDataMovementTupleSchemeFactory implements SchemeFactory {
+    public GridFTPDataMovementTupleScheme getScheme() {
+      return new GridFTPDataMovementTupleScheme();
+    }
+  }
+
+  private static class GridFTPDataMovementTupleScheme extends TupleScheme<GridFTPDataMovement> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, GridFTPDataMovement struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.dataMovementDataID);
+      oprot.writeI32(struct.securityProtocol.getValue());
+      {
+        oprot.writeI32(struct.gridFTPEndPoint.size());
+        for (String _iter4 : struct.gridFTPEndPoint)
+        {
+          oprot.writeString(_iter4);
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, GridFTPDataMovement struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.dataMovementDataID = iprot.readString();
+      struct.setDataMovementDataIDIsSet(true);
+      struct.securityProtocol = SecurityProtocol.findByValue(iprot.readI32());
+      struct.setSecurityProtocolIsSet(true);
+      {
+        org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        struct.gridFTPEndPoint = new ArrayList<String>(_list5.size);
+        for (int _i6 = 0; _i6 < _list5.size; ++_i6)
+        {
+          String _elem7;
+          _elem7 = iprot.readString();
+          struct.gridFTPEndPoint.add(_elem7);
+        }
+      }
+      struct.setGridFTPEndPointIsSet(true);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/SCPDataMovement.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/SCPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/SCPDataMovement.java
index 90aa4e2..a843319 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/SCPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/SCPDataMovement.java
@@ -51,7 +51,7 @@ import org.slf4j.LoggerFactory;
 @SuppressWarnings("all") public class SCPDataMovement implements org.apache.thrift.TBase<SCPDataMovement, SCPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<SCPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SCPDataMovement");
 
-  private static final org.apache.thrift.protocol.TField DATA_SUBMISSION_DATA_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("dataSubmissionDataID", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField DATA_MOVEMENT_DATA_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovementDataID", org.apache.thrift.protocol.TType.STRING, (short)1);
   private static final org.apache.thrift.protocol.TField SECURITY_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("securityProtocol", org.apache.thrift.protocol.TType.I32, (short)2);
   private static final org.apache.thrift.protocol.TField SSH_PORT_FIELD_DESC = new org.apache.thrift.protocol.TField("sshPort", org.apache.thrift.protocol.TType.I32, (short)3);
 
@@ -61,13 +61,13 @@ import org.slf4j.LoggerFactory;
     schemes.put(TupleScheme.class, new SCPDataMovementTupleSchemeFactory());
   }
 
-  private String dataSubmissionDataID; // required
+  private String dataMovementDataID; // required
   private SecurityProtocol securityProtocol; // required
   private int sshPort; // optional
 
   /** 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 {
-    DATA_SUBMISSION_DATA_ID((short)1, "dataSubmissionDataID"),
+    DATA_MOVEMENT_DATA_ID((short)1, "dataMovementDataID"),
     /**
      * 
      * @see SecurityProtocol
@@ -88,8 +88,8 @@ import org.slf4j.LoggerFactory;
      */
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
-        case 1: // DATA_SUBMISSION_DATA_ID
-          return DATA_SUBMISSION_DATA_ID;
+        case 1: // DATA_MOVEMENT_DATA_ID
+          return DATA_MOVEMENT_DATA_ID;
         case 2: // SECURITY_PROTOCOL
           return SECURITY_PROTOCOL;
         case 3: // SSH_PORT
@@ -140,7 +140,7 @@ import org.slf4j.LoggerFactory;
   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.DATA_SUBMISSION_DATA_ID, new org.apache.thrift.meta_data.FieldMetaData("dataSubmissionDataID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+    tmpMap.put(_Fields.DATA_MOVEMENT_DATA_ID, new org.apache.thrift.meta_data.FieldMetaData("dataMovementDataID", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.SECURITY_PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("securityProtocol", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, SecurityProtocol.class)));
@@ -151,18 +151,18 @@ import org.slf4j.LoggerFactory;
   }
 
   public SCPDataMovement() {
-    this.dataSubmissionDataID = "DO_NOT_SET_AT_CLIENTS";
+    this.dataMovementDataID = "DO_NOT_SET_AT_CLIENTS";
 
     this.sshPort = 22;
 
   }
 
   public SCPDataMovement(
-    String dataSubmissionDataID,
+    String dataMovementDataID,
     SecurityProtocol securityProtocol)
   {
     this();
-    this.dataSubmissionDataID = dataSubmissionDataID;
+    this.dataMovementDataID = dataMovementDataID;
     this.securityProtocol = securityProtocol;
   }
 
@@ -171,8 +171,8 @@ import org.slf4j.LoggerFactory;
    */
   public SCPDataMovement(SCPDataMovement other) {
     __isset_bitfield = other.__isset_bitfield;
-    if (other.isSetDataSubmissionDataID()) {
-      this.dataSubmissionDataID = other.dataSubmissionDataID;
+    if (other.isSetDataMovementDataID()) {
+      this.dataMovementDataID = other.dataMovementDataID;
     }
     if (other.isSetSecurityProtocol()) {
       this.securityProtocol = other.securityProtocol;
@@ -186,33 +186,33 @@ import org.slf4j.LoggerFactory;
 
   @Override
   public void clear() {
-    this.dataSubmissionDataID = "DO_NOT_SET_AT_CLIENTS";
+    this.dataMovementDataID = "DO_NOT_SET_AT_CLIENTS";
 
     this.securityProtocol = null;
     this.sshPort = 22;
 
   }
 
-  public String getDataSubmissionDataID() {
-    return this.dataSubmissionDataID;
+  public String getDataMovementDataID() {
+    return this.dataMovementDataID;
   }
 
-  public void setDataSubmissionDataID(String dataSubmissionDataID) {
-    this.dataSubmissionDataID = dataSubmissionDataID;
+  public void setDataMovementDataID(String dataMovementDataID) {
+    this.dataMovementDataID = dataMovementDataID;
   }
 
-  public void unsetDataSubmissionDataID() {
-    this.dataSubmissionDataID = null;
+  public void unsetDataMovementDataID() {
+    this.dataMovementDataID = null;
   }
 
-  /** Returns true if field dataSubmissionDataID is set (has been assigned a value) and false otherwise */
-  public boolean isSetDataSubmissionDataID() {
-    return this.dataSubmissionDataID != null;
+  /** Returns true if field dataMovementDataID is set (has been assigned a value) and false otherwise */
+  public boolean isSetDataMovementDataID() {
+    return this.dataMovementDataID != null;
   }
 
-  public void setDataSubmissionDataIDIsSet(boolean value) {
+  public void setDataMovementDataIDIsSet(boolean value) {
     if (!value) {
-      this.dataSubmissionDataID = null;
+      this.dataMovementDataID = null;
     }
   }
 
@@ -271,11 +271,11 @@ import org.slf4j.LoggerFactory;
 
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
-    case DATA_SUBMISSION_DATA_ID:
+    case DATA_MOVEMENT_DATA_ID:
       if (value == null) {
-        unsetDataSubmissionDataID();
+        unsetDataMovementDataID();
       } else {
-        setDataSubmissionDataID((String)value);
+        setDataMovementDataID((String)value);
       }
       break;
 
@@ -300,8 +300,8 @@ import org.slf4j.LoggerFactory;
 
   public Object getFieldValue(_Fields field) {
     switch (field) {
-    case DATA_SUBMISSION_DATA_ID:
-      return getDataSubmissionDataID();
+    case DATA_MOVEMENT_DATA_ID:
+      return getDataMovementDataID();
 
     case SECURITY_PROTOCOL:
       return getSecurityProtocol();
@@ -320,8 +320,8 @@ import org.slf4j.LoggerFactory;
     }
 
     switch (field) {
-    case DATA_SUBMISSION_DATA_ID:
-      return isSetDataSubmissionDataID();
+    case DATA_MOVEMENT_DATA_ID:
+      return isSetDataMovementDataID();
     case SECURITY_PROTOCOL:
       return isSetSecurityProtocol();
     case SSH_PORT:
@@ -343,12 +343,12 @@ import org.slf4j.LoggerFactory;
     if (that == null)
       return false;
 
-    boolean this_present_dataSubmissionDataID = true && this.isSetDataSubmissionDataID();
-    boolean that_present_dataSubmissionDataID = true && that.isSetDataSubmissionDataID();
-    if (this_present_dataSubmissionDataID || that_present_dataSubmissionDataID) {
-      if (!(this_present_dataSubmissionDataID && that_present_dataSubmissionDataID))
+    boolean this_present_dataMovementDataID = true && this.isSetDataMovementDataID();
+    boolean that_present_dataMovementDataID = true && that.isSetDataMovementDataID();
+    if (this_present_dataMovementDataID || that_present_dataMovementDataID) {
+      if (!(this_present_dataMovementDataID && that_present_dataMovementDataID))
         return false;
-      if (!this.dataSubmissionDataID.equals(that.dataSubmissionDataID))
+      if (!this.dataMovementDataID.equals(that.dataMovementDataID))
         return false;
     }
 
@@ -386,12 +386,12 @@ import org.slf4j.LoggerFactory;
 
     int lastComparison = 0;
 
-    lastComparison = Boolean.valueOf(isSetDataSubmissionDataID()).compareTo(other.isSetDataSubmissionDataID());
+    lastComparison = Boolean.valueOf(isSetDataMovementDataID()).compareTo(other.isSetDataMovementDataID());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetDataSubmissionDataID()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataSubmissionDataID, other.dataSubmissionDataID);
+    if (isSetDataMovementDataID()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataMovementDataID, other.dataMovementDataID);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -436,11 +436,11 @@ import org.slf4j.LoggerFactory;
     StringBuilder sb = new StringBuilder("SCPDataMovement(");
     boolean first = true;
 
-    sb.append("dataSubmissionDataID:");
-    if (this.dataSubmissionDataID == null) {
+    sb.append("dataMovementDataID:");
+    if (this.dataMovementDataID == null) {
       sb.append("null");
     } else {
-      sb.append(this.dataSubmissionDataID);
+      sb.append(this.dataMovementDataID);
     }
     first = false;
     if (!first) sb.append(", ");
@@ -463,8 +463,8 @@ import org.slf4j.LoggerFactory;
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
-    if (!isSetDataSubmissionDataID()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataSubmissionDataID' is unset! Struct:" + toString());
+    if (!isSetDataMovementDataID()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataMovementDataID' is unset! Struct:" + toString());
     }
 
     if (!isSetSecurityProtocol()) {
@@ -510,10 +510,10 @@ import org.slf4j.LoggerFactory;
           break;
         }
         switch (schemeField.id) {
-          case 1: // DATA_SUBMISSION_DATA_ID
+          case 1: // DATA_MOVEMENT_DATA_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.dataSubmissionDataID = iprot.readString();
-              struct.setDataSubmissionDataIDIsSet(true);
+              struct.dataMovementDataID = iprot.readString();
+              struct.setDataMovementDataIDIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -547,9 +547,9 @@ import org.slf4j.LoggerFactory;
       struct.validate();
 
       oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.dataSubmissionDataID != null) {
-        oprot.writeFieldBegin(DATA_SUBMISSION_DATA_ID_FIELD_DESC);
-        oprot.writeString(struct.dataSubmissionDataID);
+      if (struct.dataMovementDataID != null) {
+        oprot.writeFieldBegin(DATA_MOVEMENT_DATA_ID_FIELD_DESC);
+        oprot.writeString(struct.dataMovementDataID);
         oprot.writeFieldEnd();
       }
       if (struct.securityProtocol != null) {
@@ -579,7 +579,7 @@ import org.slf4j.LoggerFactory;
     @Override
     public void write(org.apache.thrift.protocol.TProtocol prot, SCPDataMovement struct) throws org.apache.thrift.TException {
       TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeString(struct.dataSubmissionDataID);
+      oprot.writeString(struct.dataMovementDataID);
       oprot.writeI32(struct.securityProtocol.getValue());
       BitSet optionals = new BitSet();
       if (struct.isSetSshPort()) {
@@ -594,8 +594,8 @@ import org.slf4j.LoggerFactory;
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, SCPDataMovement struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.dataSubmissionDataID = iprot.readString();
-      struct.setDataSubmissionDataIDIsSet(true);
+      struct.dataMovementDataID = iprot.readString();
+      struct.setDataMovementDataIDIsSet(true);
       struct.securityProtocol = SecurityProtocol.findByValue(iprot.readI32());
       struct.setSecurityProtocolIsSet(true);
       BitSet incoming = iprot.readBitSet(1);

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java
new file mode 100644
index 0000000..b5e96b6
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java
@@ -0,0 +1,543 @@
+    /*
+     * Licensed to the Apache Software Foundation (ASF) under one or more
+     * contributor license agreements.  See the NOTICE file distributed with
+     * this work for additional information regarding copyright ownership.
+     * The ASF licenses this file to You under the Apache License, Version 2.0
+     * (the "License"); you may not use this file except in compliance with
+     * the License.  You may obtain a copy of the License at
+     *
+     *     http://www.apache.org/licenses/LICENSE-2.0
+     *
+     * Unless required by applicable law or agreed to in writing, software
+     * distributed under the License is distributed on an "AS IS" BASIS,
+     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     * See the License for the specific language governing permissions and
+     * limitations under the License.
+     */
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.model.workspace.experiment;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings("all") public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
+
+  private static final org.apache.thrift.protocol.TField VALIDATION_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("validationState", org.apache.thrift.protocol.TType.BOOL, (short)1);
+  private static final org.apache.thrift.protocol.TField VALIDATION_RESULT_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("validationResultList", org.apache.thrift.protocol.TType.LIST, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ValidationResultsStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ValidationResultsTupleSchemeFactory());
+  }
+
+  private boolean validationState; // required
+  private List<ValidatorResult> validationResultList; // 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 {
+    VALIDATION_STATE((short)1, "validationState"),
+    VALIDATION_RESULT_LIST((short)2, "validationResultList");
+
+    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: // VALIDATION_STATE
+          return VALIDATION_STATE;
+        case 2: // VALIDATION_RESULT_LIST
+          return VALIDATION_RESULT_LIST;
+        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 __VALIDATIONSTATE_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.VALIDATION_STATE, new org.apache.thrift.meta_data.FieldMetaData("validationState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.VALIDATION_RESULT_LIST, new org.apache.thrift.meta_data.FieldMetaData("validationResultList", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        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, ValidatorResult.class))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ValidationResults.class, metaDataMap);
+  }
+
+  public ValidationResults() {
+  }
+
+  public ValidationResults(
+    boolean validationState,
+    List<ValidatorResult> validationResultList)
+  {
+    this();
+    this.validationState = validationState;
+    setValidationStateIsSet(true);
+    this.validationResultList = validationResultList;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ValidationResults(ValidationResults other) {
+    __isset_bitfield = other.__isset_bitfield;
+    this.validationState = other.validationState;
+    if (other.isSetValidationResultList()) {
+      List<ValidatorResult> __this__validationResultList = new ArrayList<ValidatorResult>(other.validationResultList.size());
+      for (ValidatorResult other_element : other.validationResultList) {
+        __this__validationResultList.add(new ValidatorResult(other_element));
+      }
+      this.validationResultList = __this__validationResultList;
+    }
+  }
+
+  public ValidationResults deepCopy() {
+    return new ValidationResults(this);
+  }
+
+  @Override
+  public void clear() {
+    setValidationStateIsSet(false);
+    this.validationState = false;
+    this.validationResultList = null;
+  }
+
+  public boolean isValidationState() {
+    return this.validationState;
+  }
+
+  public void setValidationState(boolean validationState) {
+    this.validationState = validationState;
+    setValidationStateIsSet(true);
+  }
+
+  public void unsetValidationState() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __VALIDATIONSTATE_ISSET_ID);
+  }
+
+  /** Returns true if field validationState is set (has been assigned a value) and false otherwise */
+  public boolean isSetValidationState() {
+    return EncodingUtils.testBit(__isset_bitfield, __VALIDATIONSTATE_ISSET_ID);
+  }
+
+  public void setValidationStateIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __VALIDATIONSTATE_ISSET_ID, value);
+  }
+
+  public int getValidationResultListSize() {
+    return (this.validationResultList == null) ? 0 : this.validationResultList.size();
+  }
+
+  public java.util.Iterator<ValidatorResult> getValidationResultListIterator() {
+    return (this.validationResultList == null) ? null : this.validationResultList.iterator();
+  }
+
+  public void addToValidationResultList(ValidatorResult elem) {
+    if (this.validationResultList == null) {
+      this.validationResultList = new ArrayList<ValidatorResult>();
+    }
+    this.validationResultList.add(elem);
+  }
+
+  public List<ValidatorResult> getValidationResultList() {
+    return this.validationResultList;
+  }
+
+  public void setValidationResultList(List<ValidatorResult> validationResultList) {
+    this.validationResultList = validationResultList;
+  }
+
+  public void unsetValidationResultList() {
+    this.validationResultList = null;
+  }
+
+  /** Returns true if field validationResultList is set (has been assigned a value) and false otherwise */
+  public boolean isSetValidationResultList() {
+    return this.validationResultList != null;
+  }
+
+  public void setValidationResultListIsSet(boolean value) {
+    if (!value) {
+      this.validationResultList = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case VALIDATION_STATE:
+      if (value == null) {
+        unsetValidationState();
+      } else {
+        setValidationState((Boolean)value);
+      }
+      break;
+
+    case VALIDATION_RESULT_LIST:
+      if (value == null) {
+        unsetValidationResultList();
+      } else {
+        setValidationResultList((List<ValidatorResult>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case VALIDATION_STATE:
+      return Boolean.valueOf(isValidationState());
+
+    case VALIDATION_RESULT_LIST:
+      return getValidationResultList();
+
+    }
+    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 VALIDATION_STATE:
+      return isSetValidationState();
+    case VALIDATION_RESULT_LIST:
+      return isSetValidationResultList();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ValidationResults)
+      return this.equals((ValidationResults)that);
+    return false;
+  }
+
+  public boolean equals(ValidationResults that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_validationState = true;
+    boolean that_present_validationState = true;
+    if (this_present_validationState || that_present_validationState) {
+      if (!(this_present_validationState && that_present_validationState))
+        return false;
+      if (this.validationState != that.validationState)
+        return false;
+    }
+
+    boolean this_present_validationResultList = true && this.isSetValidationResultList();
+    boolean that_present_validationResultList = true && that.isSetValidationResultList();
+    if (this_present_validationResultList || that_present_validationResultList) {
+      if (!(this_present_validationResultList && that_present_validationResultList))
+        return false;
+      if (!this.validationResultList.equals(that.validationResultList))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(ValidationResults other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetValidationState()).compareTo(other.isSetValidationState());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetValidationState()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.validationState, other.validationState);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetValidationResultList()).compareTo(other.isSetValidationResultList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetValidationResultList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.validationResultList, other.validationResultList);
+      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("ValidationResults(");
+    boolean first = true;
+
+    sb.append("validationState:");
+    sb.append(this.validationState);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("validationResultList:");
+    if (this.validationResultList == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.validationResultList);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetValidationState()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'validationState' is unset! Struct:" + toString());
+    }
+
+    if (!isSetValidationResultList()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'validationResultList' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class ValidationResultsStandardSchemeFactory implements SchemeFactory {
+    public ValidationResultsStandardScheme getScheme() {
+      return new ValidationResultsStandardScheme();
+    }
+  }
+
+  private static class ValidationResultsStandardScheme extends StandardScheme<ValidationResults> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ValidationResults 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: // VALIDATION_STATE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.validationState = iprot.readBool();
+              struct.setValidationStateIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // VALIDATION_RESULT_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list88 = iprot.readListBegin();
+                struct.validationResultList = new ArrayList<ValidatorResult>(_list88.size);
+                for (int _i89 = 0; _i89 < _list88.size; ++_i89)
+                {
+                  ValidatorResult _elem90;
+                  _elem90 = new ValidatorResult();
+                  _elem90.read(iprot);
+                  struct.validationResultList.add(_elem90);
+                }
+                iprot.readListEnd();
+              }
+              struct.setValidationResultListIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, ValidationResults struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldBegin(VALIDATION_STATE_FIELD_DESC);
+      oprot.writeBool(struct.validationState);
+      oprot.writeFieldEnd();
+      if (struct.validationResultList != null) {
+        oprot.writeFieldBegin(VALIDATION_RESULT_LIST_FIELD_DESC);
+        {
+          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.validationResultList.size()));
+          for (ValidatorResult _iter91 : struct.validationResultList)
+          {
+            _iter91.write(oprot);
+          }
+          oprot.writeListEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ValidationResultsTupleSchemeFactory implements SchemeFactory {
+    public ValidationResultsTupleScheme getScheme() {
+      return new ValidationResultsTupleScheme();
+    }
+  }
+
+  private static class ValidationResultsTupleScheme extends TupleScheme<ValidationResults> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ValidationResults struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeBool(struct.validationState);
+      {
+        oprot.writeI32(struct.validationResultList.size());
+        for (ValidatorResult _iter92 : struct.validationResultList)
+        {
+          _iter92.write(oprot);
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ValidationResults struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.validationState = iprot.readBool();
+      struct.setValidationStateIsSet(true);
+      {
+        org.apache.thrift.protocol.TList _list93 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.validationResultList = new ArrayList<ValidatorResult>(_list93.size);
+        for (int _i94 = 0; _i94 < _list93.size; ++_i94)
+        {
+          ValidatorResult _elem95;
+          _elem95 = new ValidatorResult();
+          _elem95.read(iprot);
+          struct.validationResultList.add(_elem95);
+        }
+      }
+      struct.setValidationResultListIsSet(true);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java
new file mode 100644
index 0000000..8736761
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java
@@ -0,0 +1,505 @@
+    /*
+     * Licensed to the Apache Software Foundation (ASF) under one or more
+     * contributor license agreements.  See the NOTICE file distributed with
+     * this work for additional information regarding copyright ownership.
+     * The ASF licenses this file to You under the Apache License, Version 2.0
+     * (the "License"); you may not use this file except in compliance with
+     * the License.  You may obtain a copy of the License at
+     *
+     *     http://www.apache.org/licenses/LICENSE-2.0
+     *
+     * Unless required by applicable law or agreed to in writing, software
+     * distributed under the License is distributed on an "AS IS" BASIS,
+     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     * See the License for the specific language governing permissions and
+     * limitations under the License.
+     */
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.model.workspace.experiment;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * This data structure can be used to store the validation results
+ * captured during validation step and during the launchExperiment
+ * operation it can be easilly checked to see the errors occured
+ * during the experiment launch operation
+ * 
+ */
+@SuppressWarnings("all") public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
+
+  private static final org.apache.thrift.protocol.TField RESULT_FIELD_DESC = new org.apache.thrift.protocol.TField("result", org.apache.thrift.protocol.TType.BOOL, (short)1);
+  private static final org.apache.thrift.protocol.TField ERROR_DETAILS_FIELD_DESC = new org.apache.thrift.protocol.TField("errorDetails", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ValidatorResultStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ValidatorResultTupleSchemeFactory());
+  }
+
+  private boolean result; // required
+  private String errorDetails; // optional
+
+  /** 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 {
+    RESULT((short)1, "result"),
+    ERROR_DETAILS((short)2, "errorDetails");
+
+    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: // RESULT
+          return RESULT;
+        case 2: // ERROR_DETAILS
+          return ERROR_DETAILS;
+        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 __RESULT_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private _Fields optionals[] = {_Fields.ERROR_DETAILS};
+  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.RESULT, new org.apache.thrift.meta_data.FieldMetaData("result", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.ERROR_DETAILS, new org.apache.thrift.meta_data.FieldMetaData("errorDetails", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ValidatorResult.class, metaDataMap);
+  }
+
+  public ValidatorResult() {
+  }
+
+  public ValidatorResult(
+    boolean result)
+  {
+    this();
+    this.result = result;
+    setResultIsSet(true);
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ValidatorResult(ValidatorResult other) {
+    __isset_bitfield = other.__isset_bitfield;
+    this.result = other.result;
+    if (other.isSetErrorDetails()) {
+      this.errorDetails = other.errorDetails;
+    }
+  }
+
+  public ValidatorResult deepCopy() {
+    return new ValidatorResult(this);
+  }
+
+  @Override
+  public void clear() {
+    setResultIsSet(false);
+    this.result = false;
+    this.errorDetails = null;
+  }
+
+  public boolean isResult() {
+    return this.result;
+  }
+
+  public void setResult(boolean result) {
+    this.result = result;
+    setResultIsSet(true);
+  }
+
+  public void unsetResult() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __RESULT_ISSET_ID);
+  }
+
+  /** Returns true if field result is set (has been assigned a value) and false otherwise */
+  public boolean isSetResult() {
+    return EncodingUtils.testBit(__isset_bitfield, __RESULT_ISSET_ID);
+  }
+
+  public void setResultIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __RESULT_ISSET_ID, value);
+  }
+
+  public String getErrorDetails() {
+    return this.errorDetails;
+  }
+
+  public void setErrorDetails(String errorDetails) {
+    this.errorDetails = errorDetails;
+  }
+
+  public void unsetErrorDetails() {
+    this.errorDetails = null;
+  }
+
+  /** Returns true if field errorDetails is set (has been assigned a value) and false otherwise */
+  public boolean isSetErrorDetails() {
+    return this.errorDetails != null;
+  }
+
+  public void setErrorDetailsIsSet(boolean value) {
+    if (!value) {
+      this.errorDetails = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case RESULT:
+      if (value == null) {
+        unsetResult();
+      } else {
+        setResult((Boolean)value);
+      }
+      break;
+
+    case ERROR_DETAILS:
+      if (value == null) {
+        unsetErrorDetails();
+      } else {
+        setErrorDetails((String)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case RESULT:
+      return Boolean.valueOf(isResult());
+
+    case ERROR_DETAILS:
+      return getErrorDetails();
+
+    }
+    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 RESULT:
+      return isSetResult();
+    case ERROR_DETAILS:
+      return isSetErrorDetails();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ValidatorResult)
+      return this.equals((ValidatorResult)that);
+    return false;
+  }
+
+  public boolean equals(ValidatorResult that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_result = true;
+    boolean that_present_result = true;
+    if (this_present_result || that_present_result) {
+      if (!(this_present_result && that_present_result))
+        return false;
+      if (this.result != that.result)
+        return false;
+    }
+
+    boolean this_present_errorDetails = true && this.isSetErrorDetails();
+    boolean that_present_errorDetails = true && that.isSetErrorDetails();
+    if (this_present_errorDetails || that_present_errorDetails) {
+      if (!(this_present_errorDetails && that_present_errorDetails))
+        return false;
+      if (!this.errorDetails.equals(that.errorDetails))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(ValidatorResult other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetResult()).compareTo(other.isSetResult());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetResult()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.result, other.result);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetErrorDetails()).compareTo(other.isSetErrorDetails());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetErrorDetails()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorDetails, other.errorDetails);
+      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("ValidatorResult(");
+    boolean first = true;
+
+    sb.append("result:");
+    sb.append(this.result);
+    first = false;
+    if (isSetErrorDetails()) {
+      if (!first) sb.append(", ");
+      sb.append("errorDetails:");
+      if (this.errorDetails == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.errorDetails);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetResult()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'result' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class ValidatorResultStandardSchemeFactory implements SchemeFactory {
+    public ValidatorResultStandardScheme getScheme() {
+      return new ValidatorResultStandardScheme();
+    }
+  }
+
+  private static class ValidatorResultStandardScheme extends StandardScheme<ValidatorResult> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ValidatorResult 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: // RESULT
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.result = iprot.readBool();
+              struct.setResultIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // ERROR_DETAILS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.errorDetails = iprot.readString();
+              struct.setErrorDetailsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, ValidatorResult struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldBegin(RESULT_FIELD_DESC);
+      oprot.writeBool(struct.result);
+      oprot.writeFieldEnd();
+      if (struct.errorDetails != null) {
+        if (struct.isSetErrorDetails()) {
+          oprot.writeFieldBegin(ERROR_DETAILS_FIELD_DESC);
+          oprot.writeString(struct.errorDetails);
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ValidatorResultTupleSchemeFactory implements SchemeFactory {
+    public ValidatorResultTupleScheme getScheme() {
+      return new ValidatorResultTupleScheme();
+    }
+  }
+
+  private static class ValidatorResultTupleScheme extends TupleScheme<ValidatorResult> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ValidatorResult struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeBool(struct.result);
+      BitSet optionals = new BitSet();
+      if (struct.isSetErrorDetails()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetErrorDetails()) {
+        oprot.writeString(struct.errorDetails);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ValidatorResult struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.result = iprot.readBool();
+      struct.setResultIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        struct.errorDetails = iprot.readString();
+        struct.setErrorDetailsIsSet(true);
+      }
+    }
+  }
+
+}
+


[2/5] generated code for gridftp model

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/AppCatalog/ApplicationCatalogAPI.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/AppCatalog/ApplicationCatalogAPI.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/AppCatalog/ApplicationCatalogAPI.php
index b7f2194..6f5a3a9 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/AppCatalog/ApplicationCatalogAPI.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/AppCatalog/ApplicationCatalogAPI.php
@@ -23,12 +23,14 @@ interface ApplicationCatalogAPIIf {
   public function addGSISSHJobSubmissionProtocol($computeResourceId, \GSISSHJobSubmission $jobSubmission);
   public function addGlobusJobSubmissionProtocol($computeResourceId, \GlobusJobSubmission $jobSubmission);
   public function addSCPDataMovementProtocol($computeResourceId, \SCPDataMovement $dataMovement);
+  public function addGridFTPDataMovementProtocol($computeResourceId, \GridFTPDataMovement $dataMovement);
   public function listComputeResourceDescriptions();
   public function getComputeResourceDescription($computeResourceId);
   public function getSSHJobSubmissionProtocol($sshJobSubmissionProtocolResourceId);
   public function getGSISSHJobSubmissionProtocol($gsisshJobSubmissionProtocolResourceId);
   public function getGlobusJobSubmissionProtocol($globusJobSubmissionProtocolResourceId);
   public function getSCPDataMovementProtocol($scpDataMovementResourceId);
+  public function getGridFTPDataMovementProtocol($gridFTPDataMovementResourceId);
   public function isComputeResourceDescriptionRegistered($hostName);
   public function getComputeResourceDescriptionFromHostName($hostName);
   public function addApplicationInterface(\ApplicationInterface $applicationInterface);
@@ -389,6 +391,64 @@ class ApplicationCatalogAPIClient implements \Airavata\API\AppCatalog\Applicatio
     return;
   }
 
+  public function addGridFTPDataMovementProtocol($computeResourceId, \GridFTPDataMovement $dataMovement)
+  {
+    $this->send_addGridFTPDataMovementProtocol($computeResourceId, $dataMovement);
+    $this->recv_addGridFTPDataMovementProtocol();
+  }
+
+  public function send_addGridFTPDataMovementProtocol($computeResourceId, \GridFTPDataMovement $dataMovement)
+  {
+    $args = new \Airavata\API\AppCatalog\ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args();
+    $args->computeResourceId = $computeResourceId;
+    $args->dataMovement = $dataMovement;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'addGridFTPDataMovementProtocol', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('addGridFTPDataMovementProtocol', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_addGridFTPDataMovementProtocol()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\AppCatalog\ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\AppCatalog\ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    return;
+  }
+
   public function listComputeResourceDescriptions()
   {
     $this->send_listComputeResourceDescriptions();
@@ -748,6 +808,66 @@ class ApplicationCatalogAPIClient implements \Airavata\API\AppCatalog\Applicatio
     throw new \Exception("getSCPDataMovementProtocol failed: unknown result");
   }
 
+  public function getGridFTPDataMovementProtocol($gridFTPDataMovementResourceId)
+  {
+    $this->send_getGridFTPDataMovementProtocol($gridFTPDataMovementResourceId);
+    return $this->recv_getGridFTPDataMovementProtocol();
+  }
+
+  public function send_getGridFTPDataMovementProtocol($gridFTPDataMovementResourceId)
+  {
+    $args = new \Airavata\API\AppCatalog\ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args();
+    $args->gridFTPDataMovementResourceId = $gridFTPDataMovementResourceId;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getGridFTPDataMovementProtocol', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getGridFTPDataMovementProtocol', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getGridFTPDataMovementProtocol()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\AppCatalog\ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\AppCatalog\ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    throw new \Exception("getGridFTPDataMovementProtocol failed: unknown result");
+  }
+
   public function isComputeResourceDescriptionRegistered($hostName)
   {
     $this->send_isComputeResourceDescriptionRegistered($hostName);
@@ -2404,6 +2524,221 @@ class ApplicationCatalogAPI_addSCPDataMovementProtocol_result {
 
 }
 
+class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args {
+  static $_TSPEC;
+
+  public $computeResourceId = null;
+  public $dataMovement = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'computeResourceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'dataMovement',
+          'type' => TType::STRUCT,
+          'class' => '\GridFTPDataMovement',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['computeResourceId'])) {
+        $this->computeResourceId = $vals['computeResourceId'];
+      }
+      if (isset($vals['dataMovement'])) {
+        $this->dataMovement = $vals['dataMovement'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->computeResourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->dataMovement = new \GridFTPDataMovement();
+            $xfer += $this->dataMovement->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args');
+    if ($this->computeResourceId !== null) {
+      $xfer += $output->writeFieldBegin('computeResourceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->computeResourceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataMovement !== null) {
+      if (!is_object($this->dataMovement)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('dataMovement', TType::STRUCT, 2);
+      $xfer += $this->dataMovement->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result {
+  static $_TSPEC;
+
+  public $ire = null;
+  public $ace = null;
+  public $ase = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        3 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result');
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
 class ApplicationCatalogAPI_listComputeResourceDescriptions_args {
   static $_TSPEC;
 
@@ -3693,6 +4028,221 @@ class ApplicationCatalogAPI_getSCPDataMovementProtocol_result {
 
 }
 
+class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args {
+  static $_TSPEC;
+
+  public $gridFTPDataMovementResourceId = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'gridFTPDataMovementResourceId',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['gridFTPDataMovementResourceId'])) {
+        $this->gridFTPDataMovementResourceId = $vals['gridFTPDataMovementResourceId'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gridFTPDataMovementResourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args');
+    if ($this->gridFTPDataMovementResourceId !== null) {
+      $xfer += $output->writeFieldBegin('gridFTPDataMovementResourceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gridFTPDataMovementResourceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result {
+  static $_TSPEC;
+
+  public $success = null;
+  public $ire = null;
+  public $ace = null;
+  public $ase = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::STRUCT,
+          'class' => '\GridFTPDataMovement',
+          ),
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        3 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 0:
+          if ($ftype == TType::STRUCT) {
+            $this->success = new \GridFTPDataMovement();
+            $xfer += $this->success->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result');
+    if ($this->success !== null) {
+      if (!is_object($this->success)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+      $xfer += $this->success->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
 class ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args {
   static $_TSPEC;
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php
index 495f1b0..f4a3589 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php
@@ -74,7 +74,7 @@ final class SecurityProtocol {
 class SCPDataMovement {
   static $_TSPEC;
 
-  public $dataSubmissionDataID = "DO_NOT_SET_AT_CLIENTS";
+  public $dataMovementDataID = "DO_NOT_SET_AT_CLIENTS";
   public $securityProtocol = null;
   public $sshPort = 22;
 
@@ -82,7 +82,7 @@ class SCPDataMovement {
     if (!isset(self::$_TSPEC)) {
       self::$_TSPEC = array(
         1 => array(
-          'var' => 'dataSubmissionDataID',
+          'var' => 'dataMovementDataID',
           'type' => TType::STRING,
           ),
         2 => array(
@@ -96,8 +96,8 @@ class SCPDataMovement {
         );
     }
     if (is_array($vals)) {
-      if (isset($vals['dataSubmissionDataID'])) {
-        $this->dataSubmissionDataID = $vals['dataSubmissionDataID'];
+      if (isset($vals['dataMovementDataID'])) {
+        $this->dataMovementDataID = $vals['dataMovementDataID'];
       }
       if (isset($vals['securityProtocol'])) {
         $this->securityProtocol = $vals['securityProtocol'];
@@ -129,7 +129,7 @@ class SCPDataMovement {
       {
         case 1:
           if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->dataSubmissionDataID);
+            $xfer += $input->readString($this->dataMovementDataID);
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -161,9 +161,9 @@ class SCPDataMovement {
   public function write($output) {
     $xfer = 0;
     $xfer += $output->writeStructBegin('SCPDataMovement');
-    if ($this->dataSubmissionDataID !== null) {
-      $xfer += $output->writeFieldBegin('dataSubmissionDataID', TType::STRING, 1);
-      $xfer += $output->writeString($this->dataSubmissionDataID);
+    if ($this->dataMovementDataID !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementDataID', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementDataID);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->securityProtocol !== null) {
@@ -183,6 +183,144 @@ class SCPDataMovement {
 
 }
 
+class GridFTPDataMovement {
+  static $_TSPEC;
+
+  public $dataMovementDataID = "DO_NOT_SET_AT_CLIENTS";
+  public $securityProtocol = null;
+  public $gridFTPEndPoint = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dataMovementDataID',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'securityProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'gridFTPEndPoint',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dataMovementDataID'])) {
+        $this->dataMovementDataID = $vals['dataMovementDataID'];
+      }
+      if (isset($vals['securityProtocol'])) {
+        $this->securityProtocol = $vals['securityProtocol'];
+      }
+      if (isset($vals['gridFTPEndPoint'])) {
+        $this->gridFTPEndPoint = $vals['gridFTPEndPoint'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'GridFTPDataMovement';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->dataMovementDataID);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->securityProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::LST) {
+            $this->gridFTPEndPoint = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->gridFTPEndPoint []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('GridFTPDataMovement');
+    if ($this->dataMovementDataID !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementDataID', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementDataID);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->securityProtocol !== null) {
+      $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->securityProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gridFTPEndPoint !== null) {
+      if (!is_array($this->gridFTPEndPoint)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('gridFTPEndPoint', TType::LST, 3);
+      {
+        $output->writeListBegin(TType::STRING, count($this->gridFTPEndPoint));
+        {
+          foreach ($this->gridFTPEndPoint as $iter6)
+          {
+            $xfer += $output->writeString($iter6);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
 class SSHJobSubmission {
   static $_TSPEC;
 
@@ -387,14 +525,14 @@ class GlobusJobSubmission {
         case 4:
           if ($ftype == TType::LST) {
             $this->globusGateKeeperEndPoint = array();
-            $_size0 = 0;
-            $_etype3 = 0;
-            $xfer += $input->readListBegin($_etype3, $_size0);
-            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
             {
-              $elem5 = null;
-              $xfer += $input->readString($elem5);
-              $this->globusGateKeeperEndPoint []= $elem5;
+              $elem12 = null;
+              $xfer += $input->readString($elem12);
+              $this->globusGateKeeperEndPoint []= $elem12;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -437,9 +575,9 @@ class GlobusJobSubmission {
       {
         $output->writeListBegin(TType::STRING, count($this->globusGateKeeperEndPoint));
         {
-          foreach ($this->globusGateKeeperEndPoint as $iter6)
+          foreach ($this->globusGateKeeperEndPoint as $iter13)
           {
-            $xfer += $output->writeString($iter6);
+            $xfer += $output->writeString($iter13);
           }
         }
         $output->writeListEnd();
@@ -585,17 +723,17 @@ class GSISSHJobSubmission {
         case 4:
           if ($ftype == TType::SET) {
             $this->exports = array();
-            $_size7 = 0;
-            $_etype10 = 0;
-            $xfer += $input->readSetBegin($_etype10, $_size7);
-            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+            $_size14 = 0;
+            $_etype17 = 0;
+            $xfer += $input->readSetBegin($_etype17, $_size14);
+            for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
             {
-              $elem12 = null;
-              $xfer += $input->readString($elem12);
-              if (is_scalar($elem12)) {
-                $this->exports[$elem12] = true;
+              $elem19 = null;
+              $xfer += $input->readString($elem19);
+              if (is_scalar($elem19)) {
+                $this->exports[$elem19] = true;
               } else {
-                $this->exports []= $elem12;
+                $this->exports []= $elem19;
               }
             }
             $xfer += $input->readSetEnd();
@@ -606,14 +744,14 @@ class GSISSHJobSubmission {
         case 5:
           if ($ftype == TType::LST) {
             $this->preJobCommands = array();
-            $_size13 = 0;
-            $_etype16 = 0;
-            $xfer += $input->readListBegin($_etype16, $_size13);
-            for ($_i17 = 0; $_i17 < $_size13; ++$_i17)
+            $_size20 = 0;
+            $_etype23 = 0;
+            $xfer += $input->readListBegin($_etype23, $_size20);
+            for ($_i24 = 0; $_i24 < $_size20; ++$_i24)
             {
-              $elem18 = null;
-              $xfer += $input->readString($elem18);
-              $this->preJobCommands []= $elem18;
+              $elem25 = null;
+              $xfer += $input->readString($elem25);
+              $this->preJobCommands []= $elem25;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -623,14 +761,14 @@ class GSISSHJobSubmission {
         case 6:
           if ($ftype == TType::LST) {
             $this->postJobCommands = array();
-            $_size19 = 0;
-            $_etype22 = 0;
-            $xfer += $input->readListBegin($_etype22, $_size19);
-            for ($_i23 = 0; $_i23 < $_size19; ++$_i23)
+            $_size26 = 0;
+            $_etype29 = 0;
+            $xfer += $input->readListBegin($_etype29, $_size26);
+            for ($_i30 = 0; $_i30 < $_size26; ++$_i30)
             {
-              $elem24 = null;
-              $xfer += $input->readString($elem24);
-              $this->postJobCommands []= $elem24;
+              $elem31 = null;
+              $xfer += $input->readString($elem31);
+              $this->postJobCommands []= $elem31;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -687,12 +825,12 @@ class GSISSHJobSubmission {
       {
         $output->writeSetBegin(TType::STRING, count($this->exports));
         {
-          foreach ($this->exports as $iter25 => $iter26)
+          foreach ($this->exports as $iter32 => $iter33)
           {
-            if (is_scalar($iter26)) {
-            $xfer += $output->writeString($iter25);
+            if (is_scalar($iter33)) {
+            $xfer += $output->writeString($iter32);
             } else {
-            $xfer += $output->writeString($iter26);
+            $xfer += $output->writeString($iter33);
             }
           }
         }
@@ -708,9 +846,9 @@ class GSISSHJobSubmission {
       {
         $output->writeListBegin(TType::STRING, count($this->preJobCommands));
         {
-          foreach ($this->preJobCommands as $iter27)
+          foreach ($this->preJobCommands as $iter34)
           {
-            $xfer += $output->writeString($iter27);
+            $xfer += $output->writeString($iter34);
           }
         }
         $output->writeListEnd();
@@ -725,9 +863,9 @@ class GSISSHJobSubmission {
       {
         $output->writeListBegin(TType::STRING, count($this->postJobCommands));
         {
-          foreach ($this->postJobCommands as $iter28)
+          foreach ($this->postJobCommands as $iter35)
           {
-            $xfer += $output->writeString($iter28);
+            $xfer += $output->writeString($iter35);
           }
         }
         $output->writeListEnd();
@@ -911,17 +1049,17 @@ class ComputeResourceDescription {
         case 4:
           if ($ftype == TType::SET) {
             $this->hostAliases = array();
-            $_size29 = 0;
-            $_etype32 = 0;
-            $xfer += $input->readSetBegin($_etype32, $_size29);
-            for ($_i33 = 0; $_i33 < $_size29; ++$_i33)
+            $_size36 = 0;
+            $_etype39 = 0;
+            $xfer += $input->readSetBegin($_etype39, $_size36);
+            for ($_i40 = 0; $_i40 < $_size36; ++$_i40)
             {
-              $elem34 = null;
-              $xfer += $input->readString($elem34);
-              if (is_scalar($elem34)) {
-                $this->hostAliases[$elem34] = true;
+              $elem41 = null;
+              $xfer += $input->readString($elem41);
+              if (is_scalar($elem41)) {
+                $this->hostAliases[$elem41] = true;
               } else {
-                $this->hostAliases []= $elem34;
+                $this->hostAliases []= $elem41;
               }
             }
             $xfer += $input->readSetEnd();
@@ -932,17 +1070,17 @@ class ComputeResourceDescription {
         case 5:
           if ($ftype == TType::SET) {
             $this->ipAddresses = array();
-            $_size35 = 0;
-            $_etype38 = 0;
-            $xfer += $input->readSetBegin($_etype38, $_size35);
-            for ($_i39 = 0; $_i39 < $_size35; ++$_i39)
+            $_size42 = 0;
+            $_etype45 = 0;
+            $xfer += $input->readSetBegin($_etype45, $_size42);
+            for ($_i46 = 0; $_i46 < $_size42; ++$_i46)
             {
-              $elem40 = null;
-              $xfer += $input->readString($elem40);
-              if (is_scalar($elem40)) {
-                $this->ipAddresses[$elem40] = true;
+              $elem47 = null;
+              $xfer += $input->readString($elem47);
+              if (is_scalar($elem47)) {
+                $this->ipAddresses[$elem47] = true;
               } else {
-                $this->ipAddresses []= $elem40;
+                $this->ipAddresses []= $elem47;
               }
             }
             $xfer += $input->readSetEnd();
@@ -974,17 +1112,17 @@ class ComputeResourceDescription {
         case 9:
           if ($ftype == TType::MAP) {
             $this->jobSubmissionProtocols = array();
-            $_size41 = 0;
-            $_ktype42 = 0;
-            $_vtype43 = 0;
-            $xfer += $input->readMapBegin($_ktype42, $_vtype43, $_size41);
-            for ($_i45 = 0; $_i45 < $_size41; ++$_i45)
+            $_size48 = 0;
+            $_ktype49 = 0;
+            $_vtype50 = 0;
+            $xfer += $input->readMapBegin($_ktype49, $_vtype50, $_size48);
+            for ($_i52 = 0; $_i52 < $_size48; ++$_i52)
             {
-              $key46 = '';
-              $val47 = 0;
-              $xfer += $input->readString($key46);
-              $xfer += $input->readI32($val47);
-              $this->jobSubmissionProtocols[$key46] = $val47;
+              $key53 = '';
+              $val54 = 0;
+              $xfer += $input->readString($key53);
+              $xfer += $input->readI32($val54);
+              $this->jobSubmissionProtocols[$key53] = $val54;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -994,17 +1132,17 @@ class ComputeResourceDescription {
         case 10:
           if ($ftype == TType::MAP) {
             $this->dataMovementProtocols = array();
-            $_size48 = 0;
-            $_ktype49 = 0;
-            $_vtype50 = 0;
-            $xfer += $input->readMapBegin($_ktype49, $_vtype50, $_size48);
-            for ($_i52 = 0; $_i52 < $_size48; ++$_i52)
+            $_size55 = 0;
+            $_ktype56 = 0;
+            $_vtype57 = 0;
+            $xfer += $input->readMapBegin($_ktype56, $_vtype57, $_size55);
+            for ($_i59 = 0; $_i59 < $_size55; ++$_i59)
             {
-              $key53 = '';
-              $val54 = 0;
-              $xfer += $input->readString($key53);
-              $xfer += $input->readI32($val54);
-              $this->dataMovementProtocols[$key53] = $val54;
+              $key60 = '';
+              $val61 = 0;
+              $xfer += $input->readString($key60);
+              $xfer += $input->readI32($val61);
+              $this->dataMovementProtocols[$key60] = $val61;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -1047,12 +1185,12 @@ class ComputeResourceDescription {
       {
         $output->writeSetBegin(TType::STRING, count($this->hostAliases));
         {
-          foreach ($this->hostAliases as $iter55 => $iter56)
+          foreach ($this->hostAliases as $iter62 => $iter63)
           {
-            if (is_scalar($iter56)) {
-            $xfer += $output->writeString($iter55);
+            if (is_scalar($iter63)) {
+            $xfer += $output->writeString($iter62);
             } else {
-            $xfer += $output->writeString($iter56);
+            $xfer += $output->writeString($iter63);
             }
           }
         }
@@ -1068,12 +1206,12 @@ class ComputeResourceDescription {
       {
         $output->writeSetBegin(TType::STRING, count($this->ipAddresses));
         {
-          foreach ($this->ipAddresses as $iter57 => $iter58)
+          foreach ($this->ipAddresses as $iter64 => $iter65)
           {
-            if (is_scalar($iter58)) {
-            $xfer += $output->writeString($iter57);
+            if (is_scalar($iter65)) {
+            $xfer += $output->writeString($iter64);
             } else {
-            $xfer += $output->writeString($iter58);
+            $xfer += $output->writeString($iter65);
             }
           }
         }
@@ -1104,10 +1242,10 @@ class ComputeResourceDescription {
       {
         $output->writeMapBegin(TType::STRING, TType::I32, count($this->jobSubmissionProtocols));
         {
-          foreach ($this->jobSubmissionProtocols as $kiter59 => $viter60)
+          foreach ($this->jobSubmissionProtocols as $kiter66 => $viter67)
           {
-            $xfer += $output->writeString($kiter59);
-            $xfer += $output->writeI32($viter60);
+            $xfer += $output->writeString($kiter66);
+            $xfer += $output->writeI32($viter67);
           }
         }
         $output->writeMapEnd();
@@ -1122,10 +1260,10 @@ class ComputeResourceDescription {
       {
         $output->writeMapBegin(TType::STRING, TType::I32, count($this->dataMovementProtocols));
         {
-          foreach ($this->dataMovementProtocols as $kiter61 => $viter62)
+          foreach ($this->dataMovementProtocols as $kiter68 => $viter69)
           {
-            $xfer += $output->writeString($kiter61);
-            $xfer += $output->writeI32($viter62);
+            $xfer += $output->writeString($kiter68);
+            $xfer += $output->writeI32($viter69);
           }
         }
         $output->writeMapEnd();
@@ -1431,15 +1569,15 @@ class ApplicationInterface {
         case 3:
           if ($ftype == TType::LST) {
             $this->applicationDeployments = array();
-            $_size63 = 0;
-            $_etype66 = 0;
-            $xfer += $input->readListBegin($_etype66, $_size63);
-            for ($_i67 = 0; $_i67 < $_size63; ++$_i67)
+            $_size70 = 0;
+            $_etype73 = 0;
+            $xfer += $input->readListBegin($_etype73, $_size70);
+            for ($_i74 = 0; $_i74 < $_size70; ++$_i74)
             {
-              $elem68 = null;
-              $elem68 = new \ApplicationDeployment();
-              $xfer += $elem68->read($input);
-              $this->applicationDeployments []= $elem68;
+              $elem75 = null;
+              $elem75 = new \ApplicationDeployment();
+              $xfer += $elem75->read($input);
+              $this->applicationDeployments []= $elem75;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1477,9 +1615,9 @@ class ApplicationInterface {
       {
         $output->writeListBegin(TType::STRUCT, count($this->applicationDeployments));
         {
-          foreach ($this->applicationDeployments as $iter69)
+          foreach ($this->applicationDeployments as $iter76)
           {
-            $xfer += $iter69->write($output);
+            $xfer += $iter76->write($output);
           }
         }
         $output->writeListEnd();

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ApplicationInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ApplicationInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ApplicationInterface.java
index 77db61a..f66753b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ApplicationInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ApplicationInterface.java
@@ -532,14 +532,14 @@ import org.slf4j.LoggerFactory;
           case 3: // APPLICATION_DEPLOYMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list68 = iprot.readListBegin();
-                struct.applicationDeployments = new ArrayList<ApplicationDeployment>(_list68.size);
-                for (int _i69 = 0; _i69 < _list68.size; ++_i69)
+                org.apache.thrift.protocol.TList _list76 = iprot.readListBegin();
+                struct.applicationDeployments = new ArrayList<ApplicationDeployment>(_list76.size);
+                for (int _i77 = 0; _i77 < _list76.size; ++_i77)
                 {
-                  ApplicationDeployment _elem70;
-                  _elem70 = new ApplicationDeployment();
-                  _elem70.read(iprot);
-                  struct.applicationDeployments.add(_elem70);
+                  ApplicationDeployment _elem78;
+                  _elem78 = new ApplicationDeployment();
+                  _elem78.read(iprot);
+                  struct.applicationDeployments.add(_elem78);
                 }
                 iprot.readListEnd();
               }
@@ -578,9 +578,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(APPLICATION_DEPLOYMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.applicationDeployments.size()));
-            for (ApplicationDeployment _iter71 : struct.applicationDeployments)
+            for (ApplicationDeployment _iter79 : struct.applicationDeployments)
             {
-              _iter71.write(oprot);
+              _iter79.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -619,9 +619,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetApplicationDeployments()) {
         {
           oprot.writeI32(struct.applicationDeployments.size());
-          for (ApplicationDeployment _iter72 : struct.applicationDeployments)
+          for (ApplicationDeployment _iter80 : struct.applicationDeployments)
           {
-            _iter72.write(oprot);
+            _iter80.write(oprot);
           }
         }
       }
@@ -639,14 +639,14 @@ import org.slf4j.LoggerFactory;
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list73 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.applicationDeployments = new ArrayList<ApplicationDeployment>(_list73.size);
-          for (int _i74 = 0; _i74 < _list73.size; ++_i74)
+          org.apache.thrift.protocol.TList _list81 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.applicationDeployments = new ArrayList<ApplicationDeployment>(_list81.size);
+          for (int _i82 = 0; _i82 < _list81.size; ++_i82)
           {
-            ApplicationDeployment _elem75;
-            _elem75 = new ApplicationDeployment();
-            _elem75.read(iprot);
-            struct.applicationDeployments.add(_elem75);
+            ApplicationDeployment _elem83;
+            _elem83 = new ApplicationDeployment();
+            _elem83.read(iprot);
+            struct.applicationDeployments.add(_elem83);
           }
         }
         struct.setApplicationDeploymentsIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ComputeResourceDescription.java
index c08fc85..03e6c1f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ComputeResourceDescription.java
@@ -1176,13 +1176,13 @@ import org.slf4j.LoggerFactory;
           case 4: // HOST_ALIASES
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set32 = iprot.readSetBegin();
-                struct.hostAliases = new HashSet<String>(2*_set32.size);
-                for (int _i33 = 0; _i33 < _set32.size; ++_i33)
+                org.apache.thrift.protocol.TSet _set40 = iprot.readSetBegin();
+                struct.hostAliases = new HashSet<String>(2*_set40.size);
+                for (int _i41 = 0; _i41 < _set40.size; ++_i41)
                 {
-                  String _elem34;
-                  _elem34 = iprot.readString();
-                  struct.hostAliases.add(_elem34);
+                  String _elem42;
+                  _elem42 = iprot.readString();
+                  struct.hostAliases.add(_elem42);
                 }
                 iprot.readSetEnd();
               }
@@ -1194,13 +1194,13 @@ import org.slf4j.LoggerFactory;
           case 5: // IP_ADDRESSES
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set35 = iprot.readSetBegin();
-                struct.ipAddresses = new HashSet<String>(2*_set35.size);
-                for (int _i36 = 0; _i36 < _set35.size; ++_i36)
+                org.apache.thrift.protocol.TSet _set43 = iprot.readSetBegin();
+                struct.ipAddresses = new HashSet<String>(2*_set43.size);
+                for (int _i44 = 0; _i44 < _set43.size; ++_i44)
                 {
-                  String _elem37;
-                  _elem37 = iprot.readString();
-                  struct.ipAddresses.add(_elem37);
+                  String _elem45;
+                  _elem45 = iprot.readString();
+                  struct.ipAddresses.add(_elem45);
                 }
                 iprot.readSetEnd();
               }
@@ -1236,15 +1236,15 @@ import org.slf4j.LoggerFactory;
           case 9: // JOB_SUBMISSION_PROTOCOLS
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map38 = iprot.readMapBegin();
-                struct.jobSubmissionProtocols = new HashMap<String,JobSubmissionProtocol>(2*_map38.size);
-                for (int _i39 = 0; _i39 < _map38.size; ++_i39)
+                org.apache.thrift.protocol.TMap _map46 = iprot.readMapBegin();
+                struct.jobSubmissionProtocols = new HashMap<String,JobSubmissionProtocol>(2*_map46.size);
+                for (int _i47 = 0; _i47 < _map46.size; ++_i47)
                 {
-                  String _key40;
-                  JobSubmissionProtocol _val41;
-                  _key40 = iprot.readString();
-                  _val41 = JobSubmissionProtocol.findByValue(iprot.readI32());
-                  struct.jobSubmissionProtocols.put(_key40, _val41);
+                  String _key48;
+                  JobSubmissionProtocol _val49;
+                  _key48 = iprot.readString();
+                  _val49 = JobSubmissionProtocol.findByValue(iprot.readI32());
+                  struct.jobSubmissionProtocols.put(_key48, _val49);
                 }
                 iprot.readMapEnd();
               }
@@ -1256,15 +1256,15 @@ import org.slf4j.LoggerFactory;
           case 10: // DATA_MOVEMENT_PROTOCOLS
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
-                org.apache.thrift.protocol.TMap _map42 = iprot.readMapBegin();
-                struct.dataMovementProtocols = new HashMap<String,DataMovementProtocol>(2*_map42.size);
-                for (int _i43 = 0; _i43 < _map42.size; ++_i43)
+                org.apache.thrift.protocol.TMap _map50 = iprot.readMapBegin();
+                struct.dataMovementProtocols = new HashMap<String,DataMovementProtocol>(2*_map50.size);
+                for (int _i51 = 0; _i51 < _map50.size; ++_i51)
                 {
-                  String _key44;
-                  DataMovementProtocol _val45;
-                  _key44 = iprot.readString();
-                  _val45 = DataMovementProtocol.findByValue(iprot.readI32());
-                  struct.dataMovementProtocols.put(_key44, _val45);
+                  String _key52;
+                  DataMovementProtocol _val53;
+                  _key52 = iprot.readString();
+                  _val53 = DataMovementProtocol.findByValue(iprot.readI32());
+                  struct.dataMovementProtocols.put(_key52, _val53);
                 }
                 iprot.readMapEnd();
               }
@@ -1304,9 +1304,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(HOST_ALIASES_FIELD_DESC);
           {
             oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.hostAliases.size()));
-            for (String _iter46 : struct.hostAliases)
+            for (String _iter54 : struct.hostAliases)
             {
-              oprot.writeString(_iter46);
+              oprot.writeString(_iter54);
             }
             oprot.writeSetEnd();
           }
@@ -1318,9 +1318,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(IP_ADDRESSES_FIELD_DESC);
           {
             oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.ipAddresses.size()));
-            for (String _iter47 : struct.ipAddresses)
+            for (String _iter55 : struct.ipAddresses)
             {
-              oprot.writeString(_iter47);
+              oprot.writeString(_iter55);
             }
             oprot.writeSetEnd();
           }
@@ -1352,10 +1352,10 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(JOB_SUBMISSION_PROTOCOLS_FIELD_DESC);
         {
           oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, struct.jobSubmissionProtocols.size()));
-          for (Map.Entry<String, JobSubmissionProtocol> _iter48 : struct.jobSubmissionProtocols.entrySet())
+          for (Map.Entry<String, JobSubmissionProtocol> _iter56 : struct.jobSubmissionProtocols.entrySet())
           {
-            oprot.writeString(_iter48.getKey());
-            oprot.writeI32(_iter48.getValue().getValue());
+            oprot.writeString(_iter56.getKey());
+            oprot.writeI32(_iter56.getValue().getValue());
           }
           oprot.writeMapEnd();
         }
@@ -1365,10 +1365,10 @@ import org.slf4j.LoggerFactory;
         oprot.writeFieldBegin(DATA_MOVEMENT_PROTOCOLS_FIELD_DESC);
         {
           oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, struct.dataMovementProtocols.size()));
-          for (Map.Entry<String, DataMovementProtocol> _iter49 : struct.dataMovementProtocols.entrySet())
+          for (Map.Entry<String, DataMovementProtocol> _iter57 : struct.dataMovementProtocols.entrySet())
           {
-            oprot.writeString(_iter49.getKey());
-            oprot.writeI32(_iter49.getValue().getValue());
+            oprot.writeString(_iter57.getKey());
+            oprot.writeI32(_iter57.getValue().getValue());
           }
           oprot.writeMapEnd();
         }
@@ -1396,18 +1396,18 @@ import org.slf4j.LoggerFactory;
       oprot.writeString(struct.hostName);
       {
         oprot.writeI32(struct.jobSubmissionProtocols.size());
-        for (Map.Entry<String, JobSubmissionProtocol> _iter50 : struct.jobSubmissionProtocols.entrySet())
+        for (Map.Entry<String, JobSubmissionProtocol> _iter58 : struct.jobSubmissionProtocols.entrySet())
         {
-          oprot.writeString(_iter50.getKey());
-          oprot.writeI32(_iter50.getValue().getValue());
+          oprot.writeString(_iter58.getKey());
+          oprot.writeI32(_iter58.getValue().getValue());
         }
       }
       {
         oprot.writeI32(struct.dataMovementProtocols.size());
-        for (Map.Entry<String, DataMovementProtocol> _iter51 : struct.dataMovementProtocols.entrySet())
+        for (Map.Entry<String, DataMovementProtocol> _iter59 : struct.dataMovementProtocols.entrySet())
         {
-          oprot.writeString(_iter51.getKey());
-          oprot.writeI32(_iter51.getValue().getValue());
+          oprot.writeString(_iter59.getKey());
+          oprot.writeI32(_iter59.getValue().getValue());
         }
       }
       BitSet optionals = new BitSet();
@@ -1430,18 +1430,18 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetHostAliases()) {
         {
           oprot.writeI32(struct.hostAliases.size());
-          for (String _iter52 : struct.hostAliases)
+          for (String _iter60 : struct.hostAliases)
           {
-            oprot.writeString(_iter52);
+            oprot.writeString(_iter60);
           }
         }
       }
       if (struct.isSetIpAddresses()) {
         {
           oprot.writeI32(struct.ipAddresses.size());
-          for (String _iter53 : struct.ipAddresses)
+          for (String _iter61 : struct.ipAddresses)
           {
-            oprot.writeString(_iter53);
+            oprot.writeString(_iter61);
           }
         }
       }
@@ -1466,54 +1466,54 @@ import org.slf4j.LoggerFactory;
       struct.hostName = iprot.readString();
       struct.setHostNameIsSet(true);
       {
-        org.apache.thrift.protocol.TMap _map54 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
-        struct.jobSubmissionProtocols = new HashMap<String,JobSubmissionProtocol>(2*_map54.size);
-        for (int _i55 = 0; _i55 < _map54.size; ++_i55)
+        org.apache.thrift.protocol.TMap _map62 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+        struct.jobSubmissionProtocols = new HashMap<String,JobSubmissionProtocol>(2*_map62.size);
+        for (int _i63 = 0; _i63 < _map62.size; ++_i63)
         {
-          String _key56;
-          JobSubmissionProtocol _val57;
-          _key56 = iprot.readString();
-          _val57 = JobSubmissionProtocol.findByValue(iprot.readI32());
-          struct.jobSubmissionProtocols.put(_key56, _val57);
+          String _key64;
+          JobSubmissionProtocol _val65;
+          _key64 = iprot.readString();
+          _val65 = JobSubmissionProtocol.findByValue(iprot.readI32());
+          struct.jobSubmissionProtocols.put(_key64, _val65);
         }
       }
       struct.setJobSubmissionProtocolsIsSet(true);
       {
-        org.apache.thrift.protocol.TMap _map58 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
-        struct.dataMovementProtocols = new HashMap<String,DataMovementProtocol>(2*_map58.size);
-        for (int _i59 = 0; _i59 < _map58.size; ++_i59)
+        org.apache.thrift.protocol.TMap _map66 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+        struct.dataMovementProtocols = new HashMap<String,DataMovementProtocol>(2*_map66.size);
+        for (int _i67 = 0; _i67 < _map66.size; ++_i67)
         {
-          String _key60;
-          DataMovementProtocol _val61;
-          _key60 = iprot.readString();
-          _val61 = DataMovementProtocol.findByValue(iprot.readI32());
-          struct.dataMovementProtocols.put(_key60, _val61);
+          String _key68;
+          DataMovementProtocol _val69;
+          _key68 = iprot.readString();
+          _val69 = DataMovementProtocol.findByValue(iprot.readI32());
+          struct.dataMovementProtocols.put(_key68, _val69);
         }
       }
       struct.setDataMovementProtocolsIsSet(true);
       BitSet incoming = iprot.readBitSet(5);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TSet _set62 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.hostAliases = new HashSet<String>(2*_set62.size);
-          for (int _i63 = 0; _i63 < _set62.size; ++_i63)
+          org.apache.thrift.protocol.TSet _set70 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.hostAliases = new HashSet<String>(2*_set70.size);
+          for (int _i71 = 0; _i71 < _set70.size; ++_i71)
           {
-            String _elem64;
-            _elem64 = iprot.readString();
-            struct.hostAliases.add(_elem64);
+            String _elem72;
+            _elem72 = iprot.readString();
+            struct.hostAliases.add(_elem72);
           }
         }
         struct.setHostAliasesIsSet(true);
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TSet _set65 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.ipAddresses = new HashSet<String>(2*_set65.size);
-          for (int _i66 = 0; _i66 < _set65.size; ++_i66)
+          org.apache.thrift.protocol.TSet _set73 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.ipAddresses = new HashSet<String>(2*_set73.size);
+          for (int _i74 = 0; _i74 < _set73.size; ++_i74)
           {
-            String _elem67;
-            _elem67 = iprot.readString();
-            struct.ipAddresses.add(_elem67);
+            String _elem75;
+            _elem75 = iprot.readString();
+            struct.ipAddresses.add(_elem75);
           }
         }
         struct.setIpAddressesIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GSISSHJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GSISSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GSISSHJobSubmission.java
index f634f70..8f29702 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GSISSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GSISSHJobSubmission.java
@@ -968,13 +968,13 @@ import org.slf4j.LoggerFactory;
           case 4: // EXPORTS
             if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
               {
-                org.apache.thrift.protocol.TSet _set8 = iprot.readSetBegin();
-                struct.exports = new HashSet<String>(2*_set8.size);
-                for (int _i9 = 0; _i9 < _set8.size; ++_i9)
+                org.apache.thrift.protocol.TSet _set16 = iprot.readSetBegin();
+                struct.exports = new HashSet<String>(2*_set16.size);
+                for (int _i17 = 0; _i17 < _set16.size; ++_i17)
                 {
-                  String _elem10;
-                  _elem10 = iprot.readString();
-                  struct.exports.add(_elem10);
+                  String _elem18;
+                  _elem18 = iprot.readString();
+                  struct.exports.add(_elem18);
                 }
                 iprot.readSetEnd();
               }
@@ -986,13 +986,13 @@ import org.slf4j.LoggerFactory;
           case 5: // PRE_JOB_COMMANDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list11 = iprot.readListBegin();
-                struct.preJobCommands = new ArrayList<String>(_list11.size);
-                for (int _i12 = 0; _i12 < _list11.size; ++_i12)
+                org.apache.thrift.protocol.TList _list19 = iprot.readListBegin();
+                struct.preJobCommands = new ArrayList<String>(_list19.size);
+                for (int _i20 = 0; _i20 < _list19.size; ++_i20)
                 {
-                  String _elem13;
-                  _elem13 = iprot.readString();
-                  struct.preJobCommands.add(_elem13);
+                  String _elem21;
+                  _elem21 = iprot.readString();
+                  struct.preJobCommands.add(_elem21);
                 }
                 iprot.readListEnd();
               }
@@ -1004,13 +1004,13 @@ import org.slf4j.LoggerFactory;
           case 6: // POST_JOB_COMMANDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list14 = iprot.readListBegin();
-                struct.postJobCommands = new ArrayList<String>(_list14.size);
-                for (int _i15 = 0; _i15 < _list14.size; ++_i15)
+                org.apache.thrift.protocol.TList _list22 = iprot.readListBegin();
+                struct.postJobCommands = new ArrayList<String>(_list22.size);
+                for (int _i23 = 0; _i23 < _list22.size; ++_i23)
                 {
-                  String _elem16;
-                  _elem16 = iprot.readString();
-                  struct.postJobCommands.add(_elem16);
+                  String _elem24;
+                  _elem24 = iprot.readString();
+                  struct.postJobCommands.add(_elem24);
                 }
                 iprot.readListEnd();
               }
@@ -1068,9 +1068,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(EXPORTS_FIELD_DESC);
           {
             oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, struct.exports.size()));
-            for (String _iter17 : struct.exports)
+            for (String _iter25 : struct.exports)
             {
-              oprot.writeString(_iter17);
+              oprot.writeString(_iter25);
             }
             oprot.writeSetEnd();
           }
@@ -1082,9 +1082,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(PRE_JOB_COMMANDS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.preJobCommands.size()));
-            for (String _iter18 : struct.preJobCommands)
+            for (String _iter26 : struct.preJobCommands)
             {
-              oprot.writeString(_iter18);
+              oprot.writeString(_iter26);
             }
             oprot.writeListEnd();
           }
@@ -1096,9 +1096,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(POST_JOB_COMMANDS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.postJobCommands.size()));
-            for (String _iter19 : struct.postJobCommands)
+            for (String _iter27 : struct.postJobCommands)
             {
-              oprot.writeString(_iter19);
+              oprot.writeString(_iter27);
             }
             oprot.writeListEnd();
           }
@@ -1164,27 +1164,27 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetExports()) {
         {
           oprot.writeI32(struct.exports.size());
-          for (String _iter20 : struct.exports)
+          for (String _iter28 : struct.exports)
           {
-            oprot.writeString(_iter20);
+            oprot.writeString(_iter28);
           }
         }
       }
       if (struct.isSetPreJobCommands()) {
         {
           oprot.writeI32(struct.preJobCommands.size());
-          for (String _iter21 : struct.preJobCommands)
+          for (String _iter29 : struct.preJobCommands)
           {
-            oprot.writeString(_iter21);
+            oprot.writeString(_iter29);
           }
         }
       }
       if (struct.isSetPostJobCommands()) {
         {
           oprot.writeI32(struct.postJobCommands.size());
-          for (String _iter22 : struct.postJobCommands)
+          for (String _iter30 : struct.postJobCommands)
           {
-            oprot.writeString(_iter22);
+            oprot.writeString(_iter30);
           }
         }
       }
@@ -1210,39 +1210,39 @@ import org.slf4j.LoggerFactory;
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TSet _set23 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.exports = new HashSet<String>(2*_set23.size);
-          for (int _i24 = 0; _i24 < _set23.size; ++_i24)
+          org.apache.thrift.protocol.TSet _set31 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.exports = new HashSet<String>(2*_set31.size);
+          for (int _i32 = 0; _i32 < _set31.size; ++_i32)
           {
-            String _elem25;
-            _elem25 = iprot.readString();
-            struct.exports.add(_elem25);
+            String _elem33;
+            _elem33 = iprot.readString();
+            struct.exports.add(_elem33);
           }
         }
         struct.setExportsIsSet(true);
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list26 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.preJobCommands = new ArrayList<String>(_list26.size);
-          for (int _i27 = 0; _i27 < _list26.size; ++_i27)
+          org.apache.thrift.protocol.TList _list34 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.preJobCommands = new ArrayList<String>(_list34.size);
+          for (int _i35 = 0; _i35 < _list34.size; ++_i35)
           {
-            String _elem28;
-            _elem28 = iprot.readString();
-            struct.preJobCommands.add(_elem28);
+            String _elem36;
+            _elem36 = iprot.readString();
+            struct.preJobCommands.add(_elem36);
           }
         }
         struct.setPreJobCommandsIsSet(true);
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.postJobCommands = new ArrayList<String>(_list29.size);
-          for (int _i30 = 0; _i30 < _list29.size; ++_i30)
+          org.apache.thrift.protocol.TList _list37 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.postJobCommands = new ArrayList<String>(_list37.size);
+          for (int _i38 = 0; _i38 < _list37.size; ++_i38)
           {
-            String _elem31;
-            _elem31 = iprot.readString();
-            struct.postJobCommands.add(_elem31);
+            String _elem39;
+            _elem39 = iprot.readString();
+            struct.postJobCommands.add(_elem39);
           }
         }
         struct.setPostJobCommandsIsSet(true);

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GlobusJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GlobusJobSubmission.java
index db7485c..e895d01 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GlobusJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/GlobusJobSubmission.java
@@ -645,13 +645,13 @@ import org.slf4j.LoggerFactory;
           case 4: // GLOBUS_GATE_KEEPER_END_POINT
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
-                struct.globusGateKeeperEndPoint = new ArrayList<String>(_list0.size);
-                for (int _i1 = 0; _i1 < _list0.size; ++_i1)
+                org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
+                struct.globusGateKeeperEndPoint = new ArrayList<String>(_list8.size);
+                for (int _i9 = 0; _i9 < _list8.size; ++_i9)
                 {
-                  String _elem2;
-                  _elem2 = iprot.readString();
-                  struct.globusGateKeeperEndPoint.add(_elem2);
+                  String _elem10;
+                  _elem10 = iprot.readString();
+                  struct.globusGateKeeperEndPoint.add(_elem10);
                 }
                 iprot.readListEnd();
               }
@@ -693,9 +693,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(GLOBUS_GATE_KEEPER_END_POINT_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.globusGateKeeperEndPoint.size()));
-            for (String _iter3 : struct.globusGateKeeperEndPoint)
+            for (String _iter11 : struct.globusGateKeeperEndPoint)
             {
-              oprot.writeString(_iter3);
+              oprot.writeString(_iter11);
             }
             oprot.writeListEnd();
           }
@@ -730,9 +730,9 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetGlobusGateKeeperEndPoint()) {
         {
           oprot.writeI32(struct.globusGateKeeperEndPoint.size());
-          for (String _iter4 : struct.globusGateKeeperEndPoint)
+          for (String _iter12 : struct.globusGateKeeperEndPoint)
           {
-            oprot.writeString(_iter4);
+            oprot.writeString(_iter12);
           }
         }
       }
@@ -750,13 +750,13 @@ import org.slf4j.LoggerFactory;
       BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.globusGateKeeperEndPoint = new ArrayList<String>(_list5.size);
-          for (int _i6 = 0; _i6 < _list5.size; ++_i6)
+          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.globusGateKeeperEndPoint = new ArrayList<String>(_list13.size);
+          for (int _i14 = 0; _i14 < _list13.size; ++_i14)
           {
-            String _elem7;
-            _elem7 = iprot.readString();
-            struct.globusGateKeeperEndPoint.add(_elem7);
+            String _elem15;
+            _elem15 = iprot.readString();
+            struct.globusGateKeeperEndPoint.add(_elem15);
           }
         }
         struct.setGlobusGateKeeperEndPointIsSet(true);


[4/5] generated code for gridftp model

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/appcatalog/ApplicationCatalogAPI.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/appcatalog/ApplicationCatalogAPI.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/appcatalog/ApplicationCatalogAPI.java
index 385897d..b1a968d 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/appcatalog/ApplicationCatalogAPI.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/appcatalog/ApplicationCatalogAPI.java
@@ -72,6 +72,8 @@ import org.slf4j.LoggerFactory;
 
     public void addSCPDataMovementProtocol(String computeResourceId, org.apache.airavata.model.appcatalog.SCPDataMovement dataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
+    public void addGridFTPDataMovementProtocol(String computeResourceId, org.apache.airavata.model.appcatalog.GridFTPDataMovement dataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+
     public List<String> listComputeResourceDescriptions() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     public org.apache.airavata.model.appcatalog.ComputeResourceDescription getComputeResourceDescription(String computeResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
@@ -84,6 +86,8 @@ import org.slf4j.LoggerFactory;
 
     public org.apache.airavata.model.appcatalog.SCPDataMovement getSCPDataMovementProtocol(String scpDataMovementResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
+    public org.apache.airavata.model.appcatalog.GridFTPDataMovement getGridFTPDataMovementProtocol(String gridFTPDataMovementResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+
     public boolean isComputeResourceDescriptionRegistered(String hostName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     public org.apache.airavata.model.appcatalog.ComputeResourceDescription getComputeResourceDescriptionFromHostName(String hostName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
@@ -127,6 +131,8 @@ import org.slf4j.LoggerFactory;
 
     public void addSCPDataMovementProtocol(String computeResourceId, org.apache.airavata.model.appcatalog.SCPDataMovement dataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void addGridFTPDataMovementProtocol(String computeResourceId, org.apache.airavata.model.appcatalog.GridFTPDataMovement dataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void listComputeResourceDescriptions(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getComputeResourceDescription(String computeResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -139,6 +145,8 @@ import org.slf4j.LoggerFactory;
 
     public void getSCPDataMovementProtocol(String scpDataMovementResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void getGridFTPDataMovementProtocol(String gridFTPDataMovementResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
     public void isComputeResourceDescriptionRegistered(String hostName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getComputeResourceDescriptionFromHostName(String hostName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -348,6 +356,36 @@ import org.slf4j.LoggerFactory;
       return;
     }
 
+    public void addGridFTPDataMovementProtocol(String computeResourceId, org.apache.airavata.model.appcatalog.GridFTPDataMovement dataMovement) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    {
+      send_addGridFTPDataMovementProtocol(computeResourceId, dataMovement);
+      recv_addGridFTPDataMovementProtocol();
+    }
+
+    public void send_addGridFTPDataMovementProtocol(String computeResourceId, org.apache.airavata.model.appcatalog.GridFTPDataMovement dataMovement) throws org.apache.thrift.TException
+    {
+      addGridFTPDataMovementProtocol_args args = new addGridFTPDataMovementProtocol_args();
+      args.setComputeResourceId(computeResourceId);
+      args.setDataMovement(dataMovement);
+      sendBase("addGridFTPDataMovementProtocol", args);
+    }
+
+    public void recv_addGridFTPDataMovementProtocol() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    {
+      addGridFTPDataMovementProtocol_result result = new addGridFTPDataMovementProtocol_result();
+      receiveBase(result, "addGridFTPDataMovementProtocol");
+      if (result.ire != null) {
+        throw result.ire;
+      }
+      if (result.ace != null) {
+        throw result.ace;
+      }
+      if (result.ase != null) {
+        throw result.ase;
+      }
+      return;
+    }
+
     public List<String> listComputeResourceDescriptions() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_listComputeResourceDescriptions();
@@ -539,6 +577,38 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSCPDataMovementProtocol failed: unknown result");
     }
 
+    public org.apache.airavata.model.appcatalog.GridFTPDataMovement getGridFTPDataMovementProtocol(String gridFTPDataMovementResourceId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    {
+      send_getGridFTPDataMovementProtocol(gridFTPDataMovementResourceId);
+      return recv_getGridFTPDataMovementProtocol();
+    }
+
+    public void send_getGridFTPDataMovementProtocol(String gridFTPDataMovementResourceId) throws org.apache.thrift.TException
+    {
+      getGridFTPDataMovementProtocol_args args = new getGridFTPDataMovementProtocol_args();
+      args.setGridFTPDataMovementResourceId(gridFTPDataMovementResourceId);
+      sendBase("getGridFTPDataMovementProtocol", args);
+    }
+
+    public org.apache.airavata.model.appcatalog.GridFTPDataMovement recv_getGridFTPDataMovementProtocol() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    {
+      getGridFTPDataMovementProtocol_result result = new getGridFTPDataMovementProtocol_result();
+      receiveBase(result, "getGridFTPDataMovementProtocol");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.ire != null) {
+        throw result.ire;
+      }
+      if (result.ace != null) {
+        throw result.ace;
+      }
+      if (result.ase != null) {
+        throw result.ase;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGridFTPDataMovementProtocol failed: unknown result");
+    }
+
     public boolean isComputeResourceDescriptionRegistered(String hostName) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_isComputeResourceDescriptionRegistered(hostName);
@@ -1009,6 +1079,41 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public void addGridFTPDataMovementProtocol(String computeResourceId, org.apache.airavata.model.appcatalog.GridFTPDataMovement dataMovement, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      addGridFTPDataMovementProtocol_call method_call = new addGridFTPDataMovementProtocol_call(computeResourceId, dataMovement, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class addGridFTPDataMovementProtocol_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String computeResourceId;
+      private org.apache.airavata.model.appcatalog.GridFTPDataMovement dataMovement;
+      public addGridFTPDataMovementProtocol_call(String computeResourceId, org.apache.airavata.model.appcatalog.GridFTPDataMovement dataMovement, 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.computeResourceId = computeResourceId;
+        this.dataMovement = dataMovement;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGridFTPDataMovementProtocol", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addGridFTPDataMovementProtocol_args args = new addGridFTPDataMovementProtocol_args();
+        args.setComputeResourceId(computeResourceId);
+        args.setDataMovement(dataMovement);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_addGridFTPDataMovementProtocol();
+      }
+    }
+
     public void listComputeResourceDescriptions(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       listComputeResourceDescriptions_call method_call = new listComputeResourceDescriptions_call(resultHandler, this, ___protocolFactory, ___transport);
@@ -1198,6 +1303,38 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public void getGridFTPDataMovementProtocol(String gridFTPDataMovementResourceId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getGridFTPDataMovementProtocol_call method_call = new getGridFTPDataMovementProtocol_call(gridFTPDataMovementResourceId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getGridFTPDataMovementProtocol_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String gridFTPDataMovementResourceId;
+      public getGridFTPDataMovementProtocol_call(String gridFTPDataMovementResourceId, 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.gridFTPDataMovementResourceId = gridFTPDataMovementResourceId;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGridFTPDataMovementProtocol", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getGridFTPDataMovementProtocol_args args = new getGridFTPDataMovementProtocol_args();
+        args.setGridFTPDataMovementResourceId(gridFTPDataMovementResourceId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public org.apache.airavata.model.appcatalog.GridFTPDataMovement getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, 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_getGridFTPDataMovementProtocol();
+      }
+    }
+
     public void isComputeResourceDescriptionRegistered(String hostName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isComputeResourceDescriptionRegistered_call method_call = new isComputeResourceDescriptionRegistered_call(hostName, resultHandler, this, ___protocolFactory, ___transport);
@@ -1476,12 +1613,14 @@ import org.slf4j.LoggerFactory;
       processMap.put("addGSISSHJobSubmissionProtocol", new addGSISSHJobSubmissionProtocol());
       processMap.put("addGlobusJobSubmissionProtocol", new addGlobusJobSubmissionProtocol());
       processMap.put("addSCPDataMovementProtocol", new addSCPDataMovementProtocol());
+      processMap.put("addGridFTPDataMovementProtocol", new addGridFTPDataMovementProtocol());
       processMap.put("listComputeResourceDescriptions", new listComputeResourceDescriptions());
       processMap.put("getComputeResourceDescription", new getComputeResourceDescription());
       processMap.put("getSSHJobSubmissionProtocol", new getSSHJobSubmissionProtocol());
       processMap.put("getGSISSHJobSubmissionProtocol", new getGSISSHJobSubmissionProtocol());
       processMap.put("getGlobusJobSubmissionProtocol", new getGlobusJobSubmissionProtocol());
       processMap.put("getSCPDataMovementProtocol", new getSCPDataMovementProtocol());
+      processMap.put("getGridFTPDataMovementProtocol", new getGridFTPDataMovementProtocol());
       processMap.put("isComputeResourceDescriptionRegistered", new isComputeResourceDescriptionRegistered());
       processMap.put("getComputeResourceDescriptionFromHostName", new getComputeResourceDescriptionFromHostName());
       processMap.put("addApplicationInterface", new addApplicationInterface());
@@ -1653,6 +1792,34 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public static class addGridFTPDataMovementProtocol<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addGridFTPDataMovementProtocol_args> {
+      public addGridFTPDataMovementProtocol() {
+        super("addGridFTPDataMovementProtocol");
+      }
+
+      public addGridFTPDataMovementProtocol_args getEmptyArgsInstance() {
+        return new addGridFTPDataMovementProtocol_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public addGridFTPDataMovementProtocol_result getResult(I iface, addGridFTPDataMovementProtocol_args args) throws org.apache.thrift.TException {
+        addGridFTPDataMovementProtocol_result result = new addGridFTPDataMovementProtocol_result();
+        try {
+          iface.addGridFTPDataMovementProtocol(args.computeResourceId, args.dataMovement);
+        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
+          result.ire = ire;
+        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
+          result.ace = ace;
+        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
+          result.ase = ase;
+        }
+        return result;
+      }
+    }
+
     public static class listComputeResourceDescriptions<I extends Iface> extends org.apache.thrift.ProcessFunction<I, listComputeResourceDescriptions_args> {
       public listComputeResourceDescriptions() {
         super("listComputeResourceDescriptions");
@@ -1821,6 +1988,34 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public static class getGridFTPDataMovementProtocol<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getGridFTPDataMovementProtocol_args> {
+      public getGridFTPDataMovementProtocol() {
+        super("getGridFTPDataMovementProtocol");
+      }
+
+      public getGridFTPDataMovementProtocol_args getEmptyArgsInstance() {
+        return new getGridFTPDataMovementProtocol_args();
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public getGridFTPDataMovementProtocol_result getResult(I iface, getGridFTPDataMovementProtocol_args args) throws org.apache.thrift.TException {
+        getGridFTPDataMovementProtocol_result result = new getGridFTPDataMovementProtocol_result();
+        try {
+          result.success = iface.getGridFTPDataMovementProtocol(args.gridFTPDataMovementResourceId);
+        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
+          result.ire = ire;
+        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
+          result.ace = ace;
+        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
+          result.ase = ase;
+        }
+        return result;
+      }
+    }
+
     public static class isComputeResourceDescriptionRegistered<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isComputeResourceDescriptionRegistered_args> {
       public isComputeResourceDescriptionRegistered() {
         super("isComputeResourceDescriptionRegistered");
@@ -2065,12 +2260,14 @@ import org.slf4j.LoggerFactory;
       processMap.put("addGSISSHJobSubmissionProtocol", new addGSISSHJobSubmissionProtocol());
       processMap.put("addGlobusJobSubmissionProtocol", new addGlobusJobSubmissionProtocol());
       processMap.put("addSCPDataMovementProtocol", new addSCPDataMovementProtocol());
+      processMap.put("addGridFTPDataMovementProtocol", new addGridFTPDataMovementProtocol());
       processMap.put("listComputeResourceDescriptions", new listComputeResourceDescriptions());
       processMap.put("getComputeResourceDescription", new getComputeResourceDescription());
       processMap.put("getSSHJobSubmissionProtocol", new getSSHJobSubmissionProtocol());
       processMap.put("getGSISSHJobSubmissionProtocol", new getGSISSHJobSubmissionProtocol());
       processMap.put("getGlobusJobSubmissionProtocol", new getGlobusJobSubmissionProtocol());
       processMap.put("getSCPDataMovementProtocol", new getSCPDataMovementProtocol());
+      processMap.put("getGridFTPDataMovementProtocol", new getGridFTPDataMovementProtocol());
       processMap.put("isComputeResourceDescriptionRegistered", new isComputeResourceDescriptionRegistered());
       processMap.put("getComputeResourceDescriptionFromHostName", new getComputeResourceDescriptionFromHostName());
       processMap.put("addApplicationInterface", new addApplicationInterface());
@@ -2463,6 +2660,72 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public static class addGridFTPDataMovementProtocol<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addGridFTPDataMovementProtocol_args, Void> {
+      public addGridFTPDataMovementProtocol() {
+        super("addGridFTPDataMovementProtocol");
+      }
+
+      public addGridFTPDataMovementProtocol_args getEmptyArgsInstance() {
+        return new addGridFTPDataMovementProtocol_args();
+      }
+
+      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<Void>() { 
+          public void onComplete(Void o) {
+            addGridFTPDataMovementProtocol_result result = new addGridFTPDataMovementProtocol_result();
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            addGridFTPDataMovementProtocol_result result = new addGridFTPDataMovementProtocol_result();
+            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
+                        result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
+                        result.setIreIsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
+                        result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
+                        result.setAceIsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
+                        result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
+                        result.setAseIsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, addGridFTPDataMovementProtocol_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+        iface.addGridFTPDataMovementProtocol(args.computeResourceId, args.dataMovement,resultHandler);
+      }
+    }
+
     public static class listComputeResourceDescriptions<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, listComputeResourceDescriptions_args, List<String>> {
       public listComputeResourceDescriptions() {
         super("listComputeResourceDescriptions");
@@ -2865,6 +3128,73 @@ import org.slf4j.LoggerFactory;
       }
     }
 
+    public static class getGridFTPDataMovementProtocol<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getGridFTPDataMovementProtocol_args, org.apache.airavata.model.appcatalog.GridFTPDataMovement> {
+      public getGridFTPDataMovementProtocol() {
+        super("getGridFTPDataMovementProtocol");
+      }
+
+      public getGridFTPDataMovementProtocol_args getEmptyArgsInstance() {
+        return new getGridFTPDataMovementProtocol_args();
+      }
+
+      public AsyncMethodCallback<org.apache.airavata.model.appcatalog.GridFTPDataMovement> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<org.apache.airavata.model.appcatalog.GridFTPDataMovement>() { 
+          public void onComplete(org.apache.airavata.model.appcatalog.GridFTPDataMovement o) {
+            getGridFTPDataMovementProtocol_result result = new getGridFTPDataMovementProtocol_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            getGridFTPDataMovementProtocol_result result = new getGridFTPDataMovementProtocol_result();
+            if (e instanceof org.apache.airavata.model.error.InvalidRequestException) {
+                        result.ire = (org.apache.airavata.model.error.InvalidRequestException) e;
+                        result.setIreIsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof org.apache.airavata.model.error.AiravataClientException) {
+                        result.ace = (org.apache.airavata.model.error.AiravataClientException) e;
+                        result.setAceIsSet(true);
+                        msg = result;
+            }
+            else             if (e instanceof org.apache.airavata.model.error.AiravataSystemException) {
+                        result.ase = (org.apache.airavata.model.error.AiravataSystemException) e;
+                        result.setAseIsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, getGridFTPDataMovementProtocol_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.GridFTPDataMovement> resultHandler) throws TException {
+        iface.getGridFTPDataMovementProtocol(args.gridFTPDataMovementResourceId,resultHandler);
+      }
+    }
+
     public static class isComputeResourceDescriptionRegistered<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isComputeResourceDescriptionRegistered_args, Boolean> {
       public isComputeResourceDescriptionRegistered() {
         super("isComputeResourceDescriptionRegistered");
@@ -8946,20 +9276,25 @@ import org.slf4j.LoggerFactory;
 
   }
 
-  public static class listComputeResourceDescriptions_args implements org.apache.thrift.TBase<listComputeResourceDescriptions_args, listComputeResourceDescriptions_args._Fields>, java.io.Serializable, Cloneable, Comparable<listComputeResourceDescriptions_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listComputeResourceDescriptions_args");
+  public static class addGridFTPDataMovementProtocol_args implements org.apache.thrift.TBase<addGridFTPDataMovementProtocol_args, addGridFTPDataMovementProtocol_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGridFTPDataMovementProtocol_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGridFTPDataMovementProtocol_args");
 
+    private static final org.apache.thrift.protocol.TField COMPUTE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("computeResourceId", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField DATA_MOVEMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("dataMovement", org.apache.thrift.protocol.TType.STRUCT, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
-      schemes.put(StandardScheme.class, new listComputeResourceDescriptions_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new listComputeResourceDescriptions_argsTupleSchemeFactory());
+      schemes.put(StandardScheme.class, new addGridFTPDataMovementProtocol_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new addGridFTPDataMovementProtocol_argsTupleSchemeFactory());
     }
 
+    public String computeResourceId; // required
+    public org.apache.airavata.model.appcatalog.GridFTPDataMovement dataMovement; // 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 {
-;
+      COMPUTE_RESOURCE_ID((short)1, "computeResourceId"),
+      DATA_MOVEMENT((short)2, "dataMovement");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -8974,6 +9309,1968 @@ import org.slf4j.LoggerFactory;
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
+          case 1: // COMPUTE_RESOURCE_ID
+            return COMPUTE_RESOURCE_ID;
+          case 2: // DATA_MOVEMENT
+            return DATA_MOVEMENT;
+          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.COMPUTE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("computeResourceId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.DATA_MOVEMENT, new org.apache.thrift.meta_data.FieldMetaData("dataMovement", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.GridFTPDataMovement.class)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addGridFTPDataMovementProtocol_args.class, metaDataMap);
+    }
+
+    public addGridFTPDataMovementProtocol_args() {
+    }
+
+    public addGridFTPDataMovementProtocol_args(
+      String computeResourceId,
+      org.apache.airavata.model.appcatalog.GridFTPDataMovement dataMovement)
+    {
+      this();
+      this.computeResourceId = computeResourceId;
+      this.dataMovement = dataMovement;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public addGridFTPDataMovementProtocol_args(addGridFTPDataMovementProtocol_args other) {
+      if (other.isSetComputeResourceId()) {
+        this.computeResourceId = other.computeResourceId;
+      }
+      if (other.isSetDataMovement()) {
+        this.dataMovement = new org.apache.airavata.model.appcatalog.GridFTPDataMovement(other.dataMovement);
+      }
+    }
+
+    public addGridFTPDataMovementProtocol_args deepCopy() {
+      return new addGridFTPDataMovementProtocol_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.computeResourceId = null;
+      this.dataMovement = null;
+    }
+
+    public String getComputeResourceId() {
+      return this.computeResourceId;
+    }
+
+    public addGridFTPDataMovementProtocol_args setComputeResourceId(String computeResourceId) {
+      this.computeResourceId = computeResourceId;
+      return this;
+    }
+
+    public void unsetComputeResourceId() {
+      this.computeResourceId = null;
+    }
+
+    /** Returns true if field computeResourceId is set (has been assigned a value) and false otherwise */
+    public boolean isSetComputeResourceId() {
+      return this.computeResourceId != null;
+    }
+
+    public void setComputeResourceIdIsSet(boolean value) {
+      if (!value) {
+        this.computeResourceId = null;
+      }
+    }
+
+    public org.apache.airavata.model.appcatalog.GridFTPDataMovement getDataMovement() {
+      return this.dataMovement;
+    }
+
+    public addGridFTPDataMovementProtocol_args setDataMovement(org.apache.airavata.model.appcatalog.GridFTPDataMovement dataMovement) {
+      this.dataMovement = dataMovement;
+      return this;
+    }
+
+    public void unsetDataMovement() {
+      this.dataMovement = null;
+    }
+
+    /** Returns true if field dataMovement is set (has been assigned a value) and false otherwise */
+    public boolean isSetDataMovement() {
+      return this.dataMovement != null;
+    }
+
+    public void setDataMovementIsSet(boolean value) {
+      if (!value) {
+        this.dataMovement = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case COMPUTE_RESOURCE_ID:
+        if (value == null) {
+          unsetComputeResourceId();
+        } else {
+          setComputeResourceId((String)value);
+        }
+        break;
+
+      case DATA_MOVEMENT:
+        if (value == null) {
+          unsetDataMovement();
+        } else {
+          setDataMovement((org.apache.airavata.model.appcatalog.GridFTPDataMovement)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case COMPUTE_RESOURCE_ID:
+        return getComputeResourceId();
+
+      case DATA_MOVEMENT:
+        return getDataMovement();
+
+      }
+      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 COMPUTE_RESOURCE_ID:
+        return isSetComputeResourceId();
+      case DATA_MOVEMENT:
+        return isSetDataMovement();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof addGridFTPDataMovementProtocol_args)
+        return this.equals((addGridFTPDataMovementProtocol_args)that);
+      return false;
+    }
+
+    public boolean equals(addGridFTPDataMovementProtocol_args that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_computeResourceId = true && this.isSetComputeResourceId();
+      boolean that_present_computeResourceId = true && that.isSetComputeResourceId();
+      if (this_present_computeResourceId || that_present_computeResourceId) {
+        if (!(this_present_computeResourceId && that_present_computeResourceId))
+          return false;
+        if (!this.computeResourceId.equals(that.computeResourceId))
+          return false;
+      }
+
+      boolean this_present_dataMovement = true && this.isSetDataMovement();
+      boolean that_present_dataMovement = true && that.isSetDataMovement();
+      if (this_present_dataMovement || that_present_dataMovement) {
+        if (!(this_present_dataMovement && that_present_dataMovement))
+          return false;
+        if (!this.dataMovement.equals(that.dataMovement))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      return 0;
+    }
+
+    @Override
+    public int compareTo(addGridFTPDataMovementProtocol_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetComputeResourceId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.computeResourceId, other.computeResourceId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetDataMovement()).compareTo(other.isSetDataMovement());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetDataMovement()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataMovement, other.dataMovement);
+        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("addGridFTPDataMovementProtocol_args(");
+      boolean first = true;
+
+      sb.append("computeResourceId:");
+      if (this.computeResourceId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.computeResourceId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("dataMovement:");
+      if (this.dataMovement == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dataMovement);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (computeResourceId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'computeResourceId' was not present! Struct: " + toString());
+      }
+      if (dataMovement == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'dataMovement' was not present! Struct: " + toString());
+      }
+      // check for sub-struct validity
+      if (dataMovement != null) {
+        dataMovement.validate();
+      }
+    }
+
+    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+      try {
+        write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+      try {
+        read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+      } catch (org.apache.thrift.TException te) {
+        throw new java.io.IOException(te);
+      }
+    }
+
+    private static class addGridFTPDataMovementProtocol_argsStandardSchemeFactory implements SchemeFactory {
+      public addGridFTPDataMovementProtocol_argsStandardScheme getScheme() {
+        return new addGridFTPDataMovementProtocol_argsStandardScheme();
+      }
+    }
+
+    private static class addGridFTPDataMovementProtocol_argsStandardScheme extends StandardScheme<addGridFTPDataMovementProtocol_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addGridFTPDataMovementProtocol_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: // COMPUTE_RESOURCE_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.computeResourceId = iprot.readString();
+                struct.setComputeResourceIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // DATA_MOVEMENT
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.dataMovement = new org.apache.airavata.model.appcatalog.GridFTPDataMovement();
+                struct.dataMovement.read(iprot);
+                struct.setDataMovementIsSet(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, addGridFTPDataMovementProtocol_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.computeResourceId != null) {
+          oprot.writeFieldBegin(COMPUTE_RESOURCE_ID_FIELD_DESC);
+          oprot.writeString(struct.computeResourceId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.dataMovement != null) {
+          oprot.writeFieldBegin(DATA_MOVEMENT_FIELD_DESC);
+          struct.dataMovement.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class addGridFTPDataMovementProtocol_argsTupleSchemeFactory implements SchemeFactory {
+      public addGridFTPDataMovementProtocol_argsTupleScheme getScheme() {
+        return new addGridFTPDataMovementProtocol_argsTupleScheme();
+      }
+    }
+
+    private static class addGridFTPDataMovementProtocol_argsTupleScheme extends TupleScheme<addGridFTPDataMovementProtocol_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, addGridFTPDataMovementProtocol_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        oprot.writeString(struct.computeResourceId);
+        struct.dataMovement.write(oprot);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, addGridFTPDataMovementProtocol_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        struct.computeResourceId = iprot.readString();
+        struct.setComputeResourceIdIsSet(true);
+        struct.dataMovement = new org.apache.airavata.model.appcatalog.GridFTPDataMovement();
+        struct.dataMovement.read(iprot);
+        struct.setDataMovementIsSet(true);
+      }
+    }
+
+  }
+
+  public static class addGridFTPDataMovementProtocol_result implements org.apache.thrift.TBase<addGridFTPDataMovementProtocol_result, addGridFTPDataMovementProtocol_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGridFTPDataMovementProtocol_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGridFTPDataMovementProtocol_result");
+
+    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new addGridFTPDataMovementProtocol_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new addGridFTPDataMovementProtocol_resultTupleSchemeFactory());
+    }
+
+    public org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public org.apache.airavata.model.error.AiravataClientException ace; // required
+    public org.apache.airavata.model.error.AiravataSystemException ase; // 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 {
+      IRE((short)1, "ire"),
+      ACE((short)2, "ace"),
+      ASE((short)3, "ase");
+
+      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: // IRE
+            return IRE;
+          case 2: // ACE
+            return ACE;
+          case 3: // ASE
+            return ASE;
+          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.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addGridFTPDataMovementProtocol_result.class, metaDataMap);
+    }
+
+    public addGridFTPDataMovementProtocol_result() {
+    }
+
+    public addGridFTPDataMovementProtocol_result(
+      org.apache.airavata.model.error.InvalidRequestException ire,
+      org.apache.airavata.model.error.AiravataClientException ace,
+      org.apache.airavata.model.error.AiravataSystemException ase)
+    {
+      this();
+      this.ire = ire;
+      this.ace = ace;
+      this.ase = ase;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public addGridFTPDataMovementProtocol_result(addGridFTPDataMovementProtocol_result other) {
+      if (other.isSetIre()) {
+        this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
+      }
+      if (other.isSetAce()) {
+        this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
+      }
+      if (other.isSetAse()) {
+        this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
+      }
+    }
+
+    public addGridFTPDataMovementProtocol_result deepCopy() {
+      return new addGridFTPDataMovementProtocol_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.ire = null;
+      this.ace = null;
+      this.ase = null;
+    }
+
+    public org.apache.airavata.model.error.InvalidRequestException getIre() {
+      return this.ire;
+    }
+
+    public addGridFTPDataMovementProtocol_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+      this.ire = ire;
+      return this;
+    }
+
+    public void unsetIre() {
+      this.ire = null;
+    }
+
+    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
+    public boolean isSetIre() {
+      return this.ire != null;
+    }
+
+    public void setIreIsSet(boolean value) {
+      if (!value) {
+        this.ire = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AiravataClientException getAce() {
+      return this.ace;
+    }
+
+    public addGridFTPDataMovementProtocol_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+      this.ace = ace;
+      return this;
+    }
+
+    public void unsetAce() {
+      this.ace = null;
+    }
+
+    /** Returns true if field ace is set (has been assigned a value) and false otherwise */
+    public boolean isSetAce() {
+      return this.ace != null;
+    }
+
+    public void setAceIsSet(boolean value) {
+      if (!value) {
+        this.ace = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AiravataSystemException getAse() {
+      return this.ase;
+    }
+
+    public addGridFTPDataMovementProtocol_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+      this.ase = ase;
+      return this;
+    }
+
+    public void unsetAse() {
+      this.ase = null;
+    }
+
+    /** Returns true if field ase is set (has been assigned a value) and false otherwise */
+    public boolean isSetAse() {
+      return this.ase != null;
+    }
+
+    public void setAseIsSet(boolean value) {
+      if (!value) {
+        this.ase = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case IRE:
+        if (value == null) {
+          unsetIre();
+        } else {
+          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
+        }
+        break;
+
+      case ACE:
+        if (value == null) {
+          unsetAce();
+        } else {
+          setAce((org.apache.airavata.model.error.AiravataClientException)value);
+        }
+        break;
+
+      case ASE:
+        if (value == null) {
+          unsetAse();
+        } else {
+          setAse((org.apache.airavata.model.error.AiravataSystemException)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case IRE:
+        return getIre();
+
+      case ACE:
+        return getAce();
+
+      case ASE:
+        return getAse();
+
+      }
+      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 IRE:
+        return isSetIre();
+      case ACE:
+        return isSetAce();
+      case ASE:
+        return isSetAse();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof addGridFTPDataMovementProtocol_result)
+        return this.equals((addGridFTPDataMovementProtocol_result)that);
+      return false;
+    }
+
+    public boolean equals(addGridFTPDataMovementProtocol_result that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_ire = true && this.isSetIre();
+      boolean that_present_ire = true && that.isSetIre();
+      if (this_present_ire || that_present_ire) {
+        if (!(this_present_ire && that_present_ire))
+          return false;
+        if (!this.ire.equals(that.ire))
+          return false;
+      }
+
+      boolean this_present_ace = true && this.isSetAce();
+      boolean that_present_ace = true && that.isSetAce();
+      if (this_present_ace || that_present_ace) {
+        if (!(this_present_ace && that_present_ace))
+          return false;
+        if (!this.ace.equals(that.ace))
+          return false;
+      }
+
+      boolean this_present_ase = true && this.isSetAse();
+      boolean that_present_ase = true && that.isSetAse();
+      if (this_present_ase || that_present_ase) {
+        if (!(this_present_ase && that_present_ase))
+          return false;
+        if (!this.ase.equals(that.ase))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      return 0;
+    }
+
+    @Override
+    public int compareTo(addGridFTPDataMovementProtocol_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetIre()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAce()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ace, other.ace);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ase, other.ase);
+        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("addGridFTPDataMovementProtocol_result(");
+      boolean first = true;
+
+      sb.append("ire:");
+      if (this.ire == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ire);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ace:");
+      if (this.ace == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ace);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("ase:");
+      if (this.ase == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.ase);
+      }
+      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 {
+        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 addGridFTPDataMovementProtocol_resultStandardSchemeFactory implements SchemeFactory {
+      public addGridFTPDataMovementProtocol_resultStandardScheme getScheme() {
+        return new addGridFTPDataMovementProtocol_resultStandardScheme();
+      }
+    }
+
+    private static class addGridFTPDataMovementProtocol_resultStandardScheme extends StandardScheme<addGridFTPDataMovementProtocol_result> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, addGridFTPDataMovementProtocol_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 1: // IRE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
+                struct.ire.read(iprot);
+                struct.setIreIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // ACE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ace = new org.apache.airavata.model.error.AiravataClientException();
+                struct.ace.read(iprot);
+                struct.setAceIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // ASE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
+                struct.ase.read(iprot);
+                struct.setAseIsSet(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, addGridFTPDataMovementProtocol_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.ire != null) {
+          oprot.writeFieldBegin(IRE_FIELD_DESC);
+          struct.ire.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ace != null) {
+          oprot.writeFieldBegin(ACE_FIELD_DESC);
+          struct.ace.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.ase != null) {
+          oprot.writeFieldBegin(ASE_FIELD_DESC);
+          struct.ase.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class addGridFTPDataMovementProtocol_resultTupleSchemeFactory implements SchemeFactory {
+      public addGridFTPDataMovementProtocol_resultTupleScheme getScheme() {
+        return new addGridFTPDataMovementProtocol_resultTupleScheme();
+      }
+    }
+
+    private static class addGridFTPDataMovementProtocol_resultTupleScheme extends TupleScheme<addGridFTPDataMovementProtocol_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, addGridFTPDataMovementProtocol_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+        BitSet optionals = new BitSet();
+        if (struct.isSetIre()) {
+          optionals.set(0);
+        }
+        if (struct.isSetAce()) {
+          optionals.set(1);
+        }
+        if (struct.isSetAse()) {
+          optionals.set(2);
+        }
+        oprot.writeBitSet(optionals, 3);
+        if (struct.isSetIre()) {
+          struct.ire.write(oprot);
+        }
+        if (struct.isSetAce()) {
+          struct.ace.write(oprot);
+        }
+        if (struct.isSetAse()) {
+          struct.ase.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, addGridFTPDataMovementProtocol_result struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+        BitSet incoming = iprot.readBitSet(3);
+        if (incoming.get(0)) {
+          struct.ire = new org.apache.airavata.model.error.InvalidRequestException();
+          struct.ire.read(iprot);
+          struct.setIreIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.ace = new org.apache.airavata.model.error.AiravataClientException();
+          struct.ace.read(iprot);
+          struct.setAceIsSet(true);
+        }
+        if (incoming.get(2)) {
+          struct.ase = new org.apache.airavata.model.error.AiravataSystemException();
+          struct.ase.read(iprot);
+          struct.setAseIsSet(true);
+        }
+      }
+    }
+
+  }
+
+  public static class listComputeResourceDescriptions_args implements org.apache.thrift.TBase<listComputeResourceDescriptions_args, listComputeResourceDescriptions_args._Fields>, java.io.Serializable, Cloneable, Comparable<listComputeResourceDescriptions_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listComputeResourceDescriptions_args");
+
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new listComputeResourceDescriptions_argsStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new listComputeResourceDescriptions_argsTupleSchemeFactory());
+    }
+
+
+    /** 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 {
+;
+
+      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) {
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listComputeResourceDescriptions_args.class, metaDataMap);
+    }
+
+    public listComputeResourceDescriptions_args() {
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public listComputeResourceDescriptions_args(listComputeResourceDescriptions_args other) {
+    }
+
+    public listComputeResourceDescriptions_args deepCopy() {
+      return new listComputeResourceDescriptions_args(this);
+    }
+
+    @Override
+    public void clear() {
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      }
+      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) {
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof listComputeResourceDescriptions_args)
+        return this.equals((listComputeResourceDescriptions_args)that);
+      return false;
+    }
+
+    public boolean equals(listComputeResourceDescriptions_args that) {
+      if (that == null)
+        return false;
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      return 0;
+    }
+
+    @Override
+    public int compareTo(listComputeResourceDescriptions_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      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("listComputeResourceDescriptions_args(");
+      boolean first = true;
+
+      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 {
+        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 listComputeResourceDescriptions_argsStandardSchemeFactory implements SchemeFactory {
+      public listComputeResourceDescriptions_argsStandardScheme getScheme() {
+        return new listComputeResourceDescriptions_argsStandardScheme();
+      }
+    }
+
+    private static class listComputeResourceDescriptions_argsStandardScheme extends StandardScheme<listComputeResourceDescriptions_args> {
+
+      public void read(org.apache.thrift.protocol.TProtocol iprot, listComputeResourceDescriptions_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) {
+            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, listComputeResourceDescriptions_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class listComputeResourceDescriptions_argsTupleSchemeFactory implements SchemeFactory {
+      public listComputeResourceDescriptions_argsTupleScheme getScheme() {
+        return new listComputeResourceDescriptions_argsTupleScheme();
+      }
+    }
+
+    private static class listComputeResourceDescriptions_argsTupleScheme extends TupleScheme<listComputeResourceDescriptions_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, listComputeResourceDescriptions_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol oprot = (TTupleProtocol) prot;
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, listComputeResourceDescriptions_args struct) throws org.apache.thrift.TException {
+        TTupleProtocol iprot = (TTupleProtocol) prot;
+      }
+    }
+
+  }
+
+  public static class listComputeResourceDescriptions_result implements org.apache.thrift.TBase<listComputeResourceDescriptions_result, listComputeResourceDescriptions_result._Fields>, java.io.Serializable, Cloneable, Comparable<listComputeResourceDescriptions_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listComputeResourceDescriptions_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = new org.apache.thrift.protocol.TField("ire", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = new org.apache.thrift.protocol.TField("ace", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = new org.apache.thrift.protocol.TField("ase", org.apache.thrift.protocol.TType.STRUCT, (short)3);
+
+    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+    static {
+      schemes.put(StandardScheme.class, new listComputeResourceDescriptions_resultStandardSchemeFactory());
+      schemes.put(TupleScheme.class, new listComputeResourceDescriptions_resultTupleSchemeFactory());
+    }
+
+    public List<String> success; // required
+    public org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public org.apache.airavata.model.error.AiravataClientException ace; // required
+    public org.apache.airavata.model.error.AiravataSystemException ase; // 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"),
+      IRE((short)1, "ire"),
+      ACE((short)2, "ace"),
+      ASE((short)3, "ase");
+
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // IRE
+            return IRE;
+          case 2: // ACE
+            return ACE;
+          case 3: // ASE
+            return ASE;
+          default:
+            return null;
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+      tmpMap.put(_Fields.IRE, new org.apache.thrift.meta_data.FieldMetaData("ire", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.ACE, new org.apache.thrift.meta_data.FieldMetaData("ace", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.ASE, new org.apache.thrift.meta_data.FieldMetaData("ase", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(listComputeResourceDescriptions_result.class, metaDataMap);
+    }
+
+    public listComputeResourceDescriptions_result() {
+    }
+
+    public listComputeResourceDescriptions_result(
+      List<String> success,
+      org.apache.airavata.model.error.InvalidRequestException ire,
+      org.apache.airavata.model.error.AiravataClientException ace,
+      org.apache.airavata.model.error.AiravataSystemException ase)
+    {
+      this();
+      this.success = success;
+      this.ire = ire;
+      this.ace = ace;
+      this.ase = ase;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public listComputeResourceDescriptions_result(listComputeResourceDescriptions_result other) {
+      if (other.isSetSuccess()) {
+        List<String> __this__success = new ArrayList<String>(other.success);
+        this.success = __this__success;
+      }
+      if (other.isSetIre()) {
+        this.ire = new org.apache.airavata.model.error.InvalidRequestException(other.ire);
+      }
+      if (other.isSetAce()) {
+        this.ace = new org.apache.airavata.model.error.AiravataClientException(other.ace);
+      }
+      if (other.isSetAse()) {
+        this.ase = new org.apache.airavata.model.error.AiravataSystemException(other.ase);
+      }
+    }
+
+    public listComputeResourceDescriptions_result deepCopy() {
+      return new listComputeResourceDescriptions_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.ire = null;
+      this.ace = null;
+      this.ase = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public java.util.Iterator<String> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(String elem) {
+      if (this.success == null) {
+        this.success = new ArrayList<String>();
+      }
+      this.success.add(elem);
+    }
+
+    public List<String> getSuccess() {
+      return this.success;
+    }
+
+    public listComputeResourceDescriptions_result setSuccess(List<String> success) {
+      this.success = success;
+      return this;
+    }
+
+    public void unsetSuccess() {
+      this.success = null;
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return this.success != null;
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      if (!value) {
+        this.success = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.InvalidRequestException getIre() {
+      return this.ire;
+    }
+
+    public listComputeResourceDescriptions_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+      this.ire = ire;
+      return this;
+    }
+
+    public void unsetIre() {
+      this.ire = null;
+    }
+
+    /** Returns true if field ire is set (has been assigned a value) and false otherwise */
+    public boolean isSetIre() {
+      return this.ire != null;
+    }
+
+    public void setIreIsSet(boolean value) {
+      if (!value) {
+        this.ire = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AiravataClientException getAce() {
+      return this.ace;
+    }
+
+    public listComputeResourceDescriptions_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+      this.ace = ace;
+      return this;
+    }
+
+    public void unsetAce() {
+      this.ace = null;
+    }
+
+    /** Returns true if field ace is set (has been assigned a value) and false otherwise */
+    public boolean isSetAce() {
+      return this.ace != null;
+    }
+
+    public void setAceIsSet(boolean value) {
+      if (!value) {
+        this.ace = null;
+      }
+    }
+
+    public org.apache.airavata.model.error.AiravataSystemException getAse() {
+      return this.ase;
+    }
+
+    public listComputeResourceDescriptions_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+      this.ase = ase;
+      return this;
+    }
+
+    public void unsetAse() {
+      this.ase = null;
+    }
+
+    /** Returns true if field ase is set (has been assigned a value) and false otherwise */
+    public boolean isSetAse() {
+      return this.ase != null;
+    }
+
+    public void setAseIsSet(boolean value) {
+      if (!value) {
+        this.ase = null;
+      }
+    }
+
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((List<String>)value);
+        }
+        break;
+
+      case IRE:
+        if (value == null) {
+          unsetIre();
+        } else {
+          setIre((org.apache.airavata.model.error.InvalidRequestException)value);
+        }
+        break;
+
+      case ACE:
+        if (value == null) {
+          unsetAce();
+        } else {
+          setAce((org.apache.airavata.model.error.AiravataClientException)value);
+        }
+        break;
+
+      case ASE:
+        if (value == null) {
+          unsetAse();
+        } else {
+          setAse((org.apache.airavata.model.error.AiravataSystemException)value);
+        }
+        break;
+
+      }
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case IRE:
+        return getIre();
+
+      case ACE:
+        return getAce();
+
+      case ASE:
+        return getAse();
+
+      }
+      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();
+      case IRE:
+        return isSetIre();
+      case ACE:
+        return isSetAce();
+      case ASE:
+        return isSetAse();
+      }
+      throw new IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(Object that) {
+      if (that == null)
+        return false;
+      if (that instanceof listComputeResourceDescriptions_result)
+        return this.equals((listComputeResourceDescriptions_result)that);
+      return false;
+    }
+
+    public boolean equals(listComputeResourceDescriptions_result that) {
+      if (that == null)
+        return false;
+
+      boolean this_present_success = true && this.isSetSuccess();
+      boolean that_present_success = true && that.isSetSuccess();
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (!this.success.equals(that.success))
+          return false;
+      }
+
+      boolean this_present_ire = true && this.isSetIre();
+      boolean that_present_ire = true && that.isSetIre();
+      if (this_present_ire || that_present_ire) {
+        if (!(this_present_ire && that_present_ire))
+          return false;
+        if (!this.ire.equals(that.ire))
+          return false;
+      }
+
+      boolean this_present_ace = true && this.isSetAce();
+      boolean that_present_ace = true && that.isSetAce();
+      if (this_present_ace || that_present_ace) {
+        if (!(this_present_ace && that_present_ace))
+          return false;
+        if (!this.ace.equals(that.ace))
+          return false;
+      }
+
+      boolean this_present_ase = true && this.isSetAse();
+      boolean that_present_ase = true && that.isSetAse();
+      if (this_present_ase || that_present_ase) {
+        if (!(this_present_ase && that_present_ase))
+          return false;
+        if (!this.ase.equals(that.ase))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      return 0;
+    }
+
+    @Override
+    public int compareTo(listComputeResourceDescriptions_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;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetIre()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, other.ire);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetAce()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ace, other.ace);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }


<TRUNCATED>

[3/5] generated code for gridftp model

Posted by sa...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.cpp
index 429b558..032f449 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.cpp
@@ -1250,6 +1250,230 @@ uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_presult::read(::apache
   return xfer;
 }
 
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_computeResourceId = false;
+  bool isset_dataMovement = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->computeResourceId);
+          isset_computeResourceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->dataMovement.read(iprot);
+          isset_dataMovement = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_computeResourceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_dataMovement)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args");
+
+  xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->computeResourceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += this->dataMovement.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs");
+
+  xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->computeResourceId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_STRUCT, 2);
+  xfer += (*(this->dataMovement)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result");
+
+  if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
 uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_args::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   uint32_t xfer = 0;
@@ -2181,8 +2405,233 @@ uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args::read(::apach
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->globusJobSubmissionProtocolResourceId);
-          isset_globusJobSubmissionProtocolResourceId = true;
+          xfer += iprot->readString(this->globusJobSubmissionProtocolResourceId);
+          isset_globusJobSubmissionProtocolResourceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_globusJobSubmissionProtocolResourceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args");
+
+  xfer += oprot->writeFieldBegin("globusJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->globusJobSubmissionProtocolResourceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs");
+
+  xfer += oprot->writeFieldBegin("globusJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->globusJobSubmissionProtocolResourceId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->success.read(iprot);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+    xfer += this->success.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += (*(this->success)).read(iprot);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_scpDataMovementResourceId = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->scpDataMovementResourceId);
+          isset_scpDataMovementResourceId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -2196,17 +2645,17 @@ uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args::read(::apach
 
   xfer += iprot->readStructEnd();
 
-  if (!isset_globusJobSubmissionProtocolResourceId)
+  if (!isset_scpDataMovementResourceId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args");
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_args");
 
-  xfer += oprot->writeFieldBegin("globusJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->globusJobSubmissionProtocolResourceId);
+  xfer += oprot->writeFieldBegin("scpDataMovementResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->scpDataMovementResourceId);
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldStop();
@@ -2214,12 +2663,12 @@ uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args::write(::apac
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs");
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs");
 
-  xfer += oprot->writeFieldBegin("globusJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->globusJobSubmissionProtocolResourceId)));
+  xfer += oprot->writeFieldBegin("scpDataMovementResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->scpDataMovementResourceId)));
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldStop();
@@ -2227,7 +2676,7 @@ uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs::write(::apa
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   uint32_t xfer = 0;
   std::string fname;
@@ -2291,11 +2740,11 @@ uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result::read(::apa
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
 
   uint32_t xfer = 0;
 
-  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result");
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_result");
 
   if (this->__isset.success) {
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
@@ -2319,7 +2768,7 @@ uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result::write(::ap
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   uint32_t xfer = 0;
   std::string fname;
@@ -2383,7 +2832,7 @@ uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult::read(::ap
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+uint32_t ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   uint32_t xfer = 0;
   std::string fname;
@@ -2394,7 +2843,7 @@ uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::read(::apache::t
 
   using ::apache::thrift::protocol::TProtocolException;
 
-  bool isset_scpDataMovementResourceId = false;
+  bool isset_gridFTPDataMovementResourceId = false;
 
   while (true)
   {
@@ -2406,8 +2855,8 @@ uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::read(::apache::t
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->scpDataMovementResourceId);
-          isset_scpDataMovementResourceId = true;
+          xfer += iprot->readString(this->gridFTPDataMovementResourceId);
+          isset_gridFTPDataMovementResourceId = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -2421,17 +2870,17 @@ uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::read(::apache::t
 
   xfer += iprot->readStructEnd();
 
-  if (!isset_scpDataMovementResourceId)
+  if (!isset_gridFTPDataMovementResourceId)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+uint32_t ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_args");
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args");
 
-  xfer += oprot->writeFieldBegin("scpDataMovementResourceId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->scpDataMovementResourceId);
+  xfer += oprot->writeFieldBegin("gridFTPDataMovementResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gridFTPDataMovementResourceId);
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldStop();
@@ -2439,12 +2888,12 @@ uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::write(::apache::
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+uint32_t ApplicationCatalogAPI_getGridFTPDataMovementProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs");
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGridFTPDataMovementProtocol_pargs");
 
-  xfer += oprot->writeFieldBegin("scpDataMovementResourceId", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString((*(this->scpDataMovementResourceId)));
+  xfer += oprot->writeFieldBegin("gridFTPDataMovementResourceId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString((*(this->gridFTPDataMovementResourceId)));
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldStop();
@@ -2452,7 +2901,7 @@ uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs::write(::apache:
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+uint32_t ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   uint32_t xfer = 0;
   std::string fname;
@@ -2516,11 +2965,11 @@ uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_result::read(::apache:
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+uint32_t ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
 
   uint32_t xfer = 0;
 
-  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_result");
+  xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result");
 
   if (this->__isset.success) {
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
@@ -2544,7 +2993,7 @@ uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_result::write(::apache
   return xfer;
 }
 
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+uint32_t ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   uint32_t xfer = 0;
   std::string fname;
@@ -4817,6 +5266,69 @@ void ApplicationCatalogAPIClient::recv_addSCPDataMovementProtocol()
   return;
 }
 
+void ApplicationCatalogAPIClient::addGridFTPDataMovementProtocol(const std::string& computeResourceId, const  ::GridFTPDataMovement& dataMovement)
+{
+  send_addGridFTPDataMovementProtocol(computeResourceId, dataMovement);
+  recv_addGridFTPDataMovementProtocol();
+}
+
+void ApplicationCatalogAPIClient::send_addGridFTPDataMovementProtocol(const std::string& computeResourceId, const  ::GridFTPDataMovement& dataMovement)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("addGridFTPDataMovementProtocol", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs args;
+  args.computeResourceId = &computeResourceId;
+  args.dataMovement = &dataMovement;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+void ApplicationCatalogAPIClient::recv_addGridFTPDataMovementProtocol()
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  iprot_->readMessageBegin(fname, mtype, rseqid);
+  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+    ::apache::thrift::TApplicationException x;
+    x.read(iprot_);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+    throw x;
+  }
+  if (mtype != ::apache::thrift::protocol::T_REPLY) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  if (fname.compare("addGridFTPDataMovementProtocol") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult result;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
+
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  return;
+}
+
 void ApplicationCatalogAPIClient::listComputeResourceDescriptions(std::vector<std::string> & _return)
 {
   send_listComputeResourceDescriptions();
@@ -5218,6 +5730,73 @@ void ApplicationCatalogAPIClient::recv_getSCPDataMovementProtocol( ::SCPDataMove
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getSCPDataMovementProtocol failed: unknown result");
 }
 
+void ApplicationCatalogAPIClient::getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return, const std::string& gridFTPDataMovementResourceId)
+{
+  send_getGridFTPDataMovementProtocol(gridFTPDataMovementResourceId);
+  recv_getGridFTPDataMovementProtocol(_return);
+}
+
+void ApplicationCatalogAPIClient::send_getGridFTPDataMovementProtocol(const std::string& gridFTPDataMovementResourceId)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getGridFTPDataMovementProtocol", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  ApplicationCatalogAPI_getGridFTPDataMovementProtocol_pargs args;
+  args.gridFTPDataMovementResourceId = &gridFTPDataMovementResourceId;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+void ApplicationCatalogAPIClient::recv_getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return)
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  iprot_->readMessageBegin(fname, mtype, rseqid);
+  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+    ::apache::thrift::TApplicationException x;
+    x.read(iprot_);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+    throw x;
+  }
+  if (mtype != ::apache::thrift::protocol::T_REPLY) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  if (fname.compare("getGridFTPDataMovementProtocol") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
+
+  if (result.__isset.success) {
+    // _return pointer has now been filled
+    return;
+  }
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getGridFTPDataMovementProtocol failed: unknown result");
+}
+
 bool ApplicationCatalogAPIClient::isComputeResourceDescriptionRegistered(const std::string& hostName)
 {
   send_isComputeResourceDescriptionRegistered(hostName);
@@ -6128,6 +6707,68 @@ void ApplicationCatalogAPIProcessor::process_addSCPDataMovementProtocol(int32_t
   }
 }
 
+void ApplicationCatalogAPIProcessor::process_addGridFTPDataMovementProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+  void* ctx = NULL;
+  if (this->eventHandler_.get() != NULL) {
+    ctx = this->eventHandler_->getContext("ApplicationCatalogAPI.addGridFTPDataMovementProtocol", callContext);
+  }
+  ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "ApplicationCatalogAPI.addGridFTPDataMovementProtocol");
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->preRead(ctx, "ApplicationCatalogAPI.addGridFTPDataMovementProtocol");
+  }
+
+  ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args args;
+  args.read(iprot);
+  iprot->readMessageEnd();
+  uint32_t bytes = iprot->getTransport()->readEnd();
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->postRead(ctx, "ApplicationCatalogAPI.addGridFTPDataMovementProtocol", bytes);
+  }
+
+  ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result result;
+  try {
+    iface_->addGridFTPDataMovementProtocol(args.computeResourceId, args.dataMovement);
+  } catch ( ::airavata::api::error::InvalidRequestException &ire) {
+    result.ire = ire;
+    result.__isset.ire = true;
+  } catch ( ::airavata::api::error::AiravataClientException &ace) {
+    result.ace = ace;
+    result.__isset.ace = true;
+  } catch ( ::airavata::api::error::AiravataSystemException &ase) {
+    result.ase = ase;
+    result.__isset.ase = true;
+  } catch (const std::exception& e) {
+    if (this->eventHandler_.get() != NULL) {
+      this->eventHandler_->handlerError(ctx, "ApplicationCatalogAPI.addGridFTPDataMovementProtocol");
+    }
+
+    ::apache::thrift::TApplicationException x(e.what());
+    oprot->writeMessageBegin("addGridFTPDataMovementProtocol", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+    x.write(oprot);
+    oprot->writeMessageEnd();
+    oprot->getTransport()->writeEnd();
+    oprot->getTransport()->flush();
+    return;
+  }
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->preWrite(ctx, "ApplicationCatalogAPI.addGridFTPDataMovementProtocol");
+  }
+
+  oprot->writeMessageBegin("addGridFTPDataMovementProtocol", ::apache::thrift::protocol::T_REPLY, seqid);
+  result.write(oprot);
+  oprot->writeMessageEnd();
+  bytes = oprot->getTransport()->writeEnd();
+  oprot->getTransport()->flush();
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->postWrite(ctx, "ApplicationCatalogAPI.addGridFTPDataMovementProtocol", bytes);
+  }
+}
+
 void ApplicationCatalogAPIProcessor::process_listComputeResourceDescriptions(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
 {
   void* ctx = NULL;
@@ -6506,6 +7147,69 @@ void ApplicationCatalogAPIProcessor::process_getSCPDataMovementProtocol(int32_t
   }
 }
 
+void ApplicationCatalogAPIProcessor::process_getGridFTPDataMovementProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+  void* ctx = NULL;
+  if (this->eventHandler_.get() != NULL) {
+    ctx = this->eventHandler_->getContext("ApplicationCatalogAPI.getGridFTPDataMovementProtocol", callContext);
+  }
+  ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "ApplicationCatalogAPI.getGridFTPDataMovementProtocol");
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->preRead(ctx, "ApplicationCatalogAPI.getGridFTPDataMovementProtocol");
+  }
+
+  ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args args;
+  args.read(iprot);
+  iprot->readMessageEnd();
+  uint32_t bytes = iprot->getTransport()->readEnd();
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->postRead(ctx, "ApplicationCatalogAPI.getGridFTPDataMovementProtocol", bytes);
+  }
+
+  ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result result;
+  try {
+    iface_->getGridFTPDataMovementProtocol(result.success, args.gridFTPDataMovementResourceId);
+    result.__isset.success = true;
+  } catch ( ::airavata::api::error::InvalidRequestException &ire) {
+    result.ire = ire;
+    result.__isset.ire = true;
+  } catch ( ::airavata::api::error::AiravataClientException &ace) {
+    result.ace = ace;
+    result.__isset.ace = true;
+  } catch ( ::airavata::api::error::AiravataSystemException &ase) {
+    result.ase = ase;
+    result.__isset.ase = true;
+  } catch (const std::exception& e) {
+    if (this->eventHandler_.get() != NULL) {
+      this->eventHandler_->handlerError(ctx, "ApplicationCatalogAPI.getGridFTPDataMovementProtocol");
+    }
+
+    ::apache::thrift::TApplicationException x(e.what());
+    oprot->writeMessageBegin("getGridFTPDataMovementProtocol", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+    x.write(oprot);
+    oprot->writeMessageEnd();
+    oprot->getTransport()->writeEnd();
+    oprot->getTransport()->flush();
+    return;
+  }
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->preWrite(ctx, "ApplicationCatalogAPI.getGridFTPDataMovementProtocol");
+  }
+
+  oprot->writeMessageBegin("getGridFTPDataMovementProtocol", ::apache::thrift::protocol::T_REPLY, seqid);
+  result.write(oprot);
+  oprot->writeMessageEnd();
+  bytes = oprot->getTransport()->writeEnd();
+  oprot->getTransport()->flush();
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->postWrite(ctx, "ApplicationCatalogAPI.getGridFTPDataMovementProtocol", bytes);
+  }
+}
+
 void ApplicationCatalogAPIProcessor::process_isComputeResourceDescriptionRegistered(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
 {
   void* ctx = NULL;

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.h
index e56ef4a..3d63beb 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.h
@@ -21,12 +21,14 @@ class ApplicationCatalogAPIIf {
   virtual void addGSISSHJobSubmissionProtocol(const std::string& computeResourceId, const  ::GSISSHJobSubmission& jobSubmission) = 0;
   virtual void addGlobusJobSubmissionProtocol(const std::string& computeResourceId, const  ::GlobusJobSubmission& jobSubmission) = 0;
   virtual void addSCPDataMovementProtocol(const std::string& computeResourceId, const  ::SCPDataMovement& dataMovement) = 0;
+  virtual void addGridFTPDataMovementProtocol(const std::string& computeResourceId, const  ::GridFTPDataMovement& dataMovement) = 0;
   virtual void listComputeResourceDescriptions(std::vector<std::string> & _return) = 0;
   virtual void getComputeResourceDescription( ::ComputeResourceDescription& _return, const std::string& computeResourceId) = 0;
   virtual void getSSHJobSubmissionProtocol( ::SSHJobSubmission& _return, const std::string& sshJobSubmissionProtocolResourceId) = 0;
   virtual void getGSISSHJobSubmissionProtocol( ::GSISSHJobSubmission& _return, const std::string& gsisshJobSubmissionProtocolResourceId) = 0;
   virtual void getGlobusJobSubmissionProtocol( ::GlobusJobSubmission& _return, const std::string& globusJobSubmissionProtocolResourceId) = 0;
   virtual void getSCPDataMovementProtocol( ::SCPDataMovement& _return, const std::string& scpDataMovementResourceId) = 0;
+  virtual void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return, const std::string& gridFTPDataMovementResourceId) = 0;
   virtual bool isComputeResourceDescriptionRegistered(const std::string& hostName) = 0;
   virtual void getComputeResourceDescriptionFromHostName( ::ComputeResourceDescription& _return, const std::string& hostName) = 0;
   virtual void addApplicationInterface(const  ::ApplicationInterface& applicationInterface) = 0;
@@ -82,6 +84,9 @@ class ApplicationCatalogAPINull : virtual public ApplicationCatalogAPIIf {
   void addSCPDataMovementProtocol(const std::string& /* computeResourceId */, const  ::SCPDataMovement& /* dataMovement */) {
     return;
   }
+  void addGridFTPDataMovementProtocol(const std::string& /* computeResourceId */, const  ::GridFTPDataMovement& /* dataMovement */) {
+    return;
+  }
   void listComputeResourceDescriptions(std::vector<std::string> & /* _return */) {
     return;
   }
@@ -100,6 +105,9 @@ class ApplicationCatalogAPINull : virtual public ApplicationCatalogAPIIf {
   void getSCPDataMovementProtocol( ::SCPDataMovement& /* _return */, const std::string& /* scpDataMovementResourceId */) {
     return;
   }
+  void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& /* _return */, const std::string& /* gridFTPDataMovementResourceId */) {
+    return;
+  }
   bool isComputeResourceDescriptionRegistered(const std::string& /* hostName */) {
     bool _return = false;
     return _return;
@@ -864,6 +872,136 @@ class ApplicationCatalogAPI_addSCPDataMovementProtocol_presult {
 };
 
 
+class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args {
+ public:
+
+  ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args() : computeResourceId() {
+  }
+
+  virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args() throw() {}
+
+  std::string computeResourceId;
+   ::GridFTPDataMovement dataMovement;
+
+  void __set_computeResourceId(const std::string& val) {
+    computeResourceId = val;
+  }
+
+  void __set_dataMovement(const  ::GridFTPDataMovement& val) {
+    dataMovement = val;
+  }
+
+  bool operator == (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args & rhs) const
+  {
+    if (!(computeResourceId == rhs.computeResourceId))
+      return false;
+    if (!(dataMovement == rhs.dataMovement))
+      return false;
+    return true;
+  }
+  bool operator != (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs {
+ public:
+
+
+  virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs() throw() {}
+
+  const std::string* computeResourceId;
+  const  ::GridFTPDataMovement* dataMovement;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset {
+  _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset() : ire(false), ace(false), ase(false) {}
+  bool ire;
+  bool ace;
+  bool ase;
+} _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset;
+
+class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result {
+ public:
+
+  ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result() {
+  }
+
+  virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result() throw() {}
+
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset __isset;
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result & rhs) const
+  {
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset {
+  _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset() : ire(false), ace(false), ase(false) {}
+  bool ire;
+  bool ace;
+  bool ase;
+} _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset;
+
+class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult {
+ public:
+
+
+  virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult() throw() {}
+
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
 class ApplicationCatalogAPI_listComputeResourceDescriptions_args {
  public:
 
@@ -1648,6 +1786,138 @@ class ApplicationCatalogAPI_getSCPDataMovementProtocol_presult {
 };
 
 
+class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args {
+ public:
+
+  ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args() : gridFTPDataMovementResourceId() {
+  }
+
+  virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args() throw() {}
+
+  std::string gridFTPDataMovementResourceId;
+
+  void __set_gridFTPDataMovementResourceId(const std::string& val) {
+    gridFTPDataMovementResourceId = val;
+  }
+
+  bool operator == (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args & rhs) const
+  {
+    if (!(gridFTPDataMovementResourceId == rhs.gridFTPDataMovementResourceId))
+      return false;
+    return true;
+  }
+  bool operator != (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_pargs {
+ public:
+
+
+  virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_pargs() throw() {}
+
+  const std::string* gridFTPDataMovementResourceId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset {
+  _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset;
+
+class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result {
+ public:
+
+  ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result() {
+  }
+
+  virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result() throw() {}
+
+   ::GridFTPDataMovement success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset __isset;
+
+  void __set_success(const  ::GridFTPDataMovement& val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset {
+  _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset;
+
+class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult {
+ public:
+
+
+  virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult() throw() {}
+
+   ::GridFTPDataMovement* success;
+   ::airavata::api::error::InvalidRequestException ire;
+   ::airavata::api::error::AiravataClientException ace;
+   ::airavata::api::error::AiravataSystemException ase;
+
+  _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
 class ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args {
  public:
 
@@ -2729,6 +2999,9 @@ class ApplicationCatalogAPIClient : virtual public ApplicationCatalogAPIIf {
   void addSCPDataMovementProtocol(const std::string& computeResourceId, const  ::SCPDataMovement& dataMovement);
   void send_addSCPDataMovementProtocol(const std::string& computeResourceId, const  ::SCPDataMovement& dataMovement);
   void recv_addSCPDataMovementProtocol();
+  void addGridFTPDataMovementProtocol(const std::string& computeResourceId, const  ::GridFTPDataMovement& dataMovement);
+  void send_addGridFTPDataMovementProtocol(const std::string& computeResourceId, const  ::GridFTPDataMovement& dataMovement);
+  void recv_addGridFTPDataMovementProtocol();
   void listComputeResourceDescriptions(std::vector<std::string> & _return);
   void send_listComputeResourceDescriptions();
   void recv_listComputeResourceDescriptions(std::vector<std::string> & _return);
@@ -2747,6 +3020,9 @@ class ApplicationCatalogAPIClient : virtual public ApplicationCatalogAPIIf {
   void getSCPDataMovementProtocol( ::SCPDataMovement& _return, const std::string& scpDataMovementResourceId);
   void send_getSCPDataMovementProtocol(const std::string& scpDataMovementResourceId);
   void recv_getSCPDataMovementProtocol( ::SCPDataMovement& _return);
+  void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return, const std::string& gridFTPDataMovementResourceId);
+  void send_getGridFTPDataMovementProtocol(const std::string& gridFTPDataMovementResourceId);
+  void recv_getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return);
   bool isComputeResourceDescriptionRegistered(const std::string& hostName);
   void send_isComputeResourceDescriptionRegistered(const std::string& hostName);
   bool recv_isComputeResourceDescriptionRegistered();
@@ -2792,12 +3068,14 @@ class ApplicationCatalogAPIProcessor : public ::apache::thrift::TDispatchProcess
   void process_addGSISSHJobSubmissionProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_addGlobusJobSubmissionProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_addSCPDataMovementProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_addGridFTPDataMovementProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_listComputeResourceDescriptions(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getComputeResourceDescription(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getSSHJobSubmissionProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getGSISSHJobSubmissionProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getGlobusJobSubmissionProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getSCPDataMovementProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getGridFTPDataMovementProtocol(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_isComputeResourceDescriptionRegistered(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getComputeResourceDescriptionFromHostName(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_addApplicationInterface(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
@@ -2815,12 +3093,14 @@ class ApplicationCatalogAPIProcessor : public ::apache::thrift::TDispatchProcess
     processMap_["addGSISSHJobSubmissionProtocol"] = &ApplicationCatalogAPIProcessor::process_addGSISSHJobSubmissionProtocol;
     processMap_["addGlobusJobSubmissionProtocol"] = &ApplicationCatalogAPIProcessor::process_addGlobusJobSubmissionProtocol;
     processMap_["addSCPDataMovementProtocol"] = &ApplicationCatalogAPIProcessor::process_addSCPDataMovementProtocol;
+    processMap_["addGridFTPDataMovementProtocol"] = &ApplicationCatalogAPIProcessor::process_addGridFTPDataMovementProtocol;
     processMap_["listComputeResourceDescriptions"] = &ApplicationCatalogAPIProcessor::process_listComputeResourceDescriptions;
     processMap_["getComputeResourceDescription"] = &ApplicationCatalogAPIProcessor::process_getComputeResourceDescription;
     processMap_["getSSHJobSubmissionProtocol"] = &ApplicationCatalogAPIProcessor::process_getSSHJobSubmissionProtocol;
     processMap_["getGSISSHJobSubmissionProtocol"] = &ApplicationCatalogAPIProcessor::process_getGSISSHJobSubmissionProtocol;
     processMap_["getGlobusJobSubmissionProtocol"] = &ApplicationCatalogAPIProcessor::process_getGlobusJobSubmissionProtocol;
     processMap_["getSCPDataMovementProtocol"] = &ApplicationCatalogAPIProcessor::process_getSCPDataMovementProtocol;
+    processMap_["getGridFTPDataMovementProtocol"] = &ApplicationCatalogAPIProcessor::process_getGridFTPDataMovementProtocol;
     processMap_["isComputeResourceDescriptionRegistered"] = &ApplicationCatalogAPIProcessor::process_isComputeResourceDescriptionRegistered;
     processMap_["getComputeResourceDescriptionFromHostName"] = &ApplicationCatalogAPIProcessor::process_getComputeResourceDescriptionFromHostName;
     processMap_["addApplicationInterface"] = &ApplicationCatalogAPIProcessor::process_addApplicationInterface;
@@ -2912,6 +3192,15 @@ class ApplicationCatalogAPIMultiface : virtual public ApplicationCatalogAPIIf {
     ifaces_[i]->addSCPDataMovementProtocol(computeResourceId, dataMovement);
   }
 
+  void addGridFTPDataMovementProtocol(const std::string& computeResourceId, const  ::GridFTPDataMovement& dataMovement) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->addGridFTPDataMovementProtocol(computeResourceId, dataMovement);
+    }
+    ifaces_[i]->addGridFTPDataMovementProtocol(computeResourceId, dataMovement);
+  }
+
   void listComputeResourceDescriptions(std::vector<std::string> & _return) {
     size_t sz = ifaces_.size();
     size_t i = 0;
@@ -2972,6 +3261,16 @@ class ApplicationCatalogAPIMultiface : virtual public ApplicationCatalogAPIIf {
     return;
   }
 
+  void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return, const std::string& gridFTPDataMovementResourceId) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getGridFTPDataMovementProtocol(_return, gridFTPDataMovementResourceId);
+    }
+    ifaces_[i]->getGridFTPDataMovementProtocol(_return, gridFTPDataMovementResourceId);
+    return;
+  }
+
   bool isComputeResourceDescriptionRegistered(const std::string& hostName) {
     size_t sz = ifaces_.size();
     size_t i = 0;

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI_server.skeleton.cpp
index 957e511..4a53bfd 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI_server.skeleton.cpp
@@ -52,6 +52,11 @@ class ApplicationCatalogAPIHandler : virtual public ApplicationCatalogAPIIf {
     printf("addSCPDataMovementProtocol\n");
   }
 
+  void addGridFTPDataMovementProtocol(const std::string& computeResourceId, const  ::GridFTPDataMovement& dataMovement) {
+    // Your implementation goes here
+    printf("addGridFTPDataMovementProtocol\n");
+  }
+
   void listComputeResourceDescriptions(std::vector<std::string> & _return) {
     // Your implementation goes here
     printf("listComputeResourceDescriptions\n");
@@ -82,6 +87,11 @@ class ApplicationCatalogAPIHandler : virtual public ApplicationCatalogAPIIf {
     printf("getSCPDataMovementProtocol\n");
   }
 
+  void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return, const std::string& gridFTPDataMovementResourceId) {
+    // Your implementation goes here
+    printf("getGridFTPDataMovementProtocol\n");
+  }
+
   bool isComputeResourceDescriptionRegistered(const std::string& hostName) {
     // Your implementation goes here
     printf("isComputeResourceDescriptionRegistered\n");

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.cpp
index 6fa5f9a..9cdf168 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.cpp
@@ -82,7 +82,7 @@ uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   using ::apache::thrift::protocol::TProtocolException;
 
-  bool isset_dataSubmissionDataID = false;
+  bool isset_dataMovementDataID = false;
   bool isset_securityProtocol = false;
 
   while (true)
@@ -95,8 +95,8 @@ uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->dataSubmissionDataID);
-          isset_dataSubmissionDataID = true;
+          xfer += iprot->readString(this->dataMovementDataID);
+          isset_dataMovementDataID = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -128,7 +128,7 @@ uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   xfer += iprot->readStructEnd();
 
-  if (!isset_dataSubmissionDataID)
+  if (!isset_dataMovementDataID)
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_securityProtocol)
     throw TProtocolException(TProtocolException::INVALID_DATA);
@@ -139,8 +139,8 @@ uint32_t SCPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) co
   uint32_t xfer = 0;
   xfer += oprot->writeStructBegin("SCPDataMovement");
 
-  xfer += oprot->writeFieldBegin("dataSubmissionDataID", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->dataSubmissionDataID);
+  xfer += oprot->writeFieldBegin("dataMovementDataID", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->dataMovementDataID);
   xfer += oprot->writeFieldEnd();
 
   xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
@@ -159,12 +159,130 @@ uint32_t SCPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) co
 
 void swap(SCPDataMovement &a, SCPDataMovement &b) {
   using ::std::swap;
-  swap(a.dataSubmissionDataID, b.dataSubmissionDataID);
+  swap(a.dataMovementDataID, b.dataMovementDataID);
   swap(a.securityProtocol, b.securityProtocol);
   swap(a.sshPort, b.sshPort);
   swap(a.__isset, b.__isset);
 }
 
+const char* GridFTPDataMovement::ascii_fingerprint = "790EE8B1D56A3B9B76C41DD063726E75";
+const uint8_t GridFTPDataMovement::binary_fingerprint[16] = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
+
+uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_dataMovementDataID = false;
+  bool isset_securityProtocol = false;
+  bool isset_gridFTPEndPoint = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->dataMovementDataID);
+          isset_dataMovementDataID = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast1;
+          xfer += iprot->readI32(ecast1);
+          this->securityProtocol = (SecurityProtocol::type)ecast1;
+          isset_securityProtocol = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->gridFTPEndPoint.clear();
+            uint32_t _size2;
+            ::apache::thrift::protocol::TType _etype5;
+            xfer += iprot->readListBegin(_etype5, _size2);
+            this->gridFTPEndPoint.resize(_size2);
+            uint32_t _i6;
+            for (_i6 = 0; _i6 < _size2; ++_i6)
+            {
+              xfer += iprot->readString(this->gridFTPEndPoint[_i6]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_gridFTPEndPoint = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_dataMovementDataID)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_securityProtocol)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gridFTPEndPoint)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t GridFTPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  xfer += oprot->writeStructBegin("GridFTPDataMovement");
+
+  xfer += oprot->writeFieldBegin("dataMovementDataID", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->dataMovementDataID);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+  xfer += oprot->writeI32((int32_t)this->securityProtocol);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gridFTPEndPoint", ::apache::thrift::protocol::T_LIST, 3);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->gridFTPEndPoint.size()));
+    std::vector<std::string> ::const_iterator _iter7;
+    for (_iter7 = this->gridFTPEndPoint.begin(); _iter7 != this->gridFTPEndPoint.end(); ++_iter7)
+    {
+      xfer += oprot->writeString((*_iter7));
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(GridFTPDataMovement &a, GridFTPDataMovement &b) {
+  using ::std::swap;
+  swap(a.dataMovementDataID, b.dataMovementDataID);
+  swap(a.securityProtocol, b.securityProtocol);
+  swap(a.gridFTPEndPoint, b.gridFTPEndPoint);
+}
+
 const char* SSHJobSubmission::ascii_fingerprint = "FEB6B2CD28861B4EED855CACA1FEF2CB";
 const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0xFE,0xB6,0xB2,0xCD,0x28,0x86,0x1B,0x4E,0xED,0x85,0x5C,0xAC,0xA1,0xFE,0xF2,0xCB};
 
@@ -200,9 +318,9 @@ uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast1;
-          xfer += iprot->readI32(ecast1);
-          this->resourceJobManager = (ResourceJobManager::type)ecast1;
+          int32_t ecast8;
+          xfer += iprot->readI32(ecast8);
+          this->resourceJobManager = (ResourceJobManager::type)ecast8;
           isset_resourceJobManager = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -298,9 +416,9 @@ uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast2;
-          xfer += iprot->readI32(ecast2);
-          this->securityProtocol = (SecurityProtocol::type)ecast2;
+          int32_t ecast9;
+          xfer += iprot->readI32(ecast9);
+          this->securityProtocol = (SecurityProtocol::type)ecast9;
           isset_securityProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -308,9 +426,9 @@ uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast3;
-          xfer += iprot->readI32(ecast3);
-          this->resourceJobManager = (ResourceJobManager::type)ecast3;
+          int32_t ecast10;
+          xfer += iprot->readI32(ecast10);
+          this->resourceJobManager = (ResourceJobManager::type)ecast10;
           isset_resourceJobManager = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -320,14 +438,14 @@ uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->globusGateKeeperEndPoint.clear();
-            uint32_t _size4;
-            ::apache::thrift::protocol::TType _etype7;
-            xfer += iprot->readListBegin(_etype7, _size4);
-            this->globusGateKeeperEndPoint.resize(_size4);
-            uint32_t _i8;
-            for (_i8 = 0; _i8 < _size4; ++_i8)
+            uint32_t _size11;
+            ::apache::thrift::protocol::TType _etype14;
+            xfer += iprot->readListBegin(_etype14, _size11);
+            this->globusGateKeeperEndPoint.resize(_size11);
+            uint32_t _i15;
+            for (_i15 = 0; _i15 < _size11; ++_i15)
             {
-              xfer += iprot->readString(this->globusGateKeeperEndPoint[_i8]);
+              xfer += iprot->readString(this->globusGateKeeperEndPoint[_i15]);
             }
             xfer += iprot->readListEnd();
           }
@@ -374,10 +492,10 @@ uint32_t GlobusJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot
     xfer += oprot->writeFieldBegin("globusGateKeeperEndPoint", ::apache::thrift::protocol::T_LIST, 4);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->globusGateKeeperEndPoint.size()));
-      std::vector<std::string> ::const_iterator _iter9;
-      for (_iter9 = this->globusGateKeeperEndPoint.begin(); _iter9 != this->globusGateKeeperEndPoint.end(); ++_iter9)
+      std::vector<std::string> ::const_iterator _iter16;
+      for (_iter16 = this->globusGateKeeperEndPoint.begin(); _iter16 != this->globusGateKeeperEndPoint.end(); ++_iter16)
       {
-        xfer += oprot->writeString((*_iter9));
+        xfer += oprot->writeString((*_iter16));
       }
       xfer += oprot->writeListEnd();
     }
@@ -432,9 +550,9 @@ uint32_t GSISSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast10;
-          xfer += iprot->readI32(ecast10);
-          this->resourceJobManager = (ResourceJobManager::type)ecast10;
+          int32_t ecast17;
+          xfer += iprot->readI32(ecast17);
+          this->resourceJobManager = (ResourceJobManager::type)ecast17;
           isset_resourceJobManager = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -452,15 +570,15 @@ uint32_t GSISSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_SET) {
           {
             this->exports.clear();
-            uint32_t _size11;
-            ::apache::thrift::protocol::TType _etype14;
-            xfer += iprot->readSetBegin(_etype14, _size11);
-            uint32_t _i15;
-            for (_i15 = 0; _i15 < _size11; ++_i15)
+            uint32_t _size18;
+            ::apache::thrift::protocol::TType _etype21;
+            xfer += iprot->readSetBegin(_etype21, _size18);
+            uint32_t _i22;
+            for (_i22 = 0; _i22 < _size18; ++_i22)
             {
-              std::string _elem16;
-              xfer += iprot->readString(_elem16);
-              this->exports.insert(_elem16);
+              std::string _elem23;
+              xfer += iprot->readString(_elem23);
+              this->exports.insert(_elem23);
             }
             xfer += iprot->readSetEnd();
           }
@@ -473,14 +591,14 @@ uint32_t GSISSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->preJobCommands.clear();
-            uint32_t _size17;
-            ::apache::thrift::protocol::TType _etype20;
-            xfer += iprot->readListBegin(_etype20, _size17);
-            this->preJobCommands.resize(_size17);
-            uint32_t _i21;
-            for (_i21 = 0; _i21 < _size17; ++_i21)
+            uint32_t _size24;
+            ::apache::thrift::protocol::TType _etype27;
+            xfer += iprot->readListBegin(_etype27, _size24);
+            this->preJobCommands.resize(_size24);
+            uint32_t _i28;
+            for (_i28 = 0; _i28 < _size24; ++_i28)
             {
-              xfer += iprot->readString(this->preJobCommands[_i21]);
+              xfer += iprot->readString(this->preJobCommands[_i28]);
             }
             xfer += iprot->readListEnd();
           }
@@ -493,14 +611,14 @@ uint32_t GSISSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->postJobCommands.clear();
-            uint32_t _size22;
-            ::apache::thrift::protocol::TType _etype25;
-            xfer += iprot->readListBegin(_etype25, _size22);
-            this->postJobCommands.resize(_size22);
-            uint32_t _i26;
-            for (_i26 = 0; _i26 < _size22; ++_i26)
+            uint32_t _size29;
+            ::apache::thrift::protocol::TType _etype32;
+            xfer += iprot->readListBegin(_etype32, _size29);
+            this->postJobCommands.resize(_size29);
+            uint32_t _i33;
+            for (_i33 = 0; _i33 < _size29; ++_i33)
             {
-              xfer += iprot->readString(this->postJobCommands[_i26]);
+              xfer += iprot->readString(this->postJobCommands[_i33]);
             }
             xfer += iprot->readListEnd();
           }
@@ -562,10 +680,10 @@ uint32_t GSISSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot
     xfer += oprot->writeFieldBegin("exports", ::apache::thrift::protocol::T_SET, 4);
     {
       xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->exports.size()));
-      std::set<std::string> ::const_iterator _iter27;
-      for (_iter27 = this->exports.begin(); _iter27 != this->exports.end(); ++_iter27)
+      std::set<std::string> ::const_iterator _iter34;
+      for (_iter34 = this->exports.begin(); _iter34 != this->exports.end(); ++_iter34)
       {
-        xfer += oprot->writeString((*_iter27));
+        xfer += oprot->writeString((*_iter34));
       }
       xfer += oprot->writeSetEnd();
     }
@@ -575,10 +693,10 @@ uint32_t GSISSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot
     xfer += oprot->writeFieldBegin("preJobCommands", ::apache::thrift::protocol::T_LIST, 5);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->preJobCommands.size()));
-      std::vector<std::string> ::const_iterator _iter28;
-      for (_iter28 = this->preJobCommands.begin(); _iter28 != this->preJobCommands.end(); ++_iter28)
+      std::vector<std::string> ::const_iterator _iter35;
+      for (_iter35 = this->preJobCommands.begin(); _iter35 != this->preJobCommands.end(); ++_iter35)
       {
-        xfer += oprot->writeString((*_iter28));
+        xfer += oprot->writeString((*_iter35));
       }
       xfer += oprot->writeListEnd();
     }
@@ -588,10 +706,10 @@ uint32_t GSISSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot
     xfer += oprot->writeFieldBegin("postJobCommands", ::apache::thrift::protocol::T_LIST, 6);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->postJobCommands.size()));
-      std::vector<std::string> ::const_iterator _iter29;
-      for (_iter29 = this->postJobCommands.begin(); _iter29 != this->postJobCommands.end(); ++_iter29)
+      std::vector<std::string> ::const_iterator _iter36;
+      for (_iter36 = this->postJobCommands.begin(); _iter36 != this->postJobCommands.end(); ++_iter36)
       {
-        xfer += oprot->writeString((*_iter29));
+        xfer += oprot->writeString((*_iter36));
       }
       xfer += oprot->writeListEnd();
     }
@@ -681,15 +799,15 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_SET) {
           {
             this->hostAliases.clear();
-            uint32_t _size30;
-            ::apache::thrift::protocol::TType _etype33;
-            xfer += iprot->readSetBegin(_etype33, _size30);
-            uint32_t _i34;
-            for (_i34 = 0; _i34 < _size30; ++_i34)
+            uint32_t _size37;
+            ::apache::thrift::protocol::TType _etype40;
+            xfer += iprot->readSetBegin(_etype40, _size37);
+            uint32_t _i41;
+            for (_i41 = 0; _i41 < _size37; ++_i41)
             {
-              std::string _elem35;
-              xfer += iprot->readString(_elem35);
-              this->hostAliases.insert(_elem35);
+              std::string _elem42;
+              xfer += iprot->readString(_elem42);
+              this->hostAliases.insert(_elem42);
             }
             xfer += iprot->readSetEnd();
           }
@@ -702,15 +820,15 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_SET) {
           {
             this->ipAddresses.clear();
-            uint32_t _size36;
-            ::apache::thrift::protocol::TType _etype39;
-            xfer += iprot->readSetBegin(_etype39, _size36);
-            uint32_t _i40;
-            for (_i40 = 0; _i40 < _size36; ++_i40)
+            uint32_t _size43;
+            ::apache::thrift::protocol::TType _etype46;
+            xfer += iprot->readSetBegin(_etype46, _size43);
+            uint32_t _i47;
+            for (_i47 = 0; _i47 < _size43; ++_i47)
             {
-              std::string _elem41;
-              xfer += iprot->readString(_elem41);
-              this->ipAddresses.insert(_elem41);
+              std::string _elem48;
+              xfer += iprot->readString(_elem48);
+              this->ipAddresses.insert(_elem48);
             }
             xfer += iprot->readSetEnd();
           }
@@ -747,19 +865,19 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->jobSubmissionProtocols.clear();
-            uint32_t _size42;
-            ::apache::thrift::protocol::TType _ktype43;
-            ::apache::thrift::protocol::TType _vtype44;
-            xfer += iprot->readMapBegin(_ktype43, _vtype44, _size42);
-            uint32_t _i46;
-            for (_i46 = 0; _i46 < _size42; ++_i46)
+            uint32_t _size49;
+            ::apache::thrift::protocol::TType _ktype50;
+            ::apache::thrift::protocol::TType _vtype51;
+            xfer += iprot->readMapBegin(_ktype50, _vtype51, _size49);
+            uint32_t _i53;
+            for (_i53 = 0; _i53 < _size49; ++_i53)
             {
-              std::string _key47;
-              xfer += iprot->readString(_key47);
-              JobSubmissionProtocol::type& _val48 = this->jobSubmissionProtocols[_key47];
-              int32_t ecast49;
-              xfer += iprot->readI32(ecast49);
-              _val48 = (JobSubmissionProtocol::type)ecast49;
+              std::string _key54;
+              xfer += iprot->readString(_key54);
+              JobSubmissionProtocol::type& _val55 = this->jobSubmissionProtocols[_key54];
+              int32_t ecast56;
+              xfer += iprot->readI32(ecast56);
+              _val55 = (JobSubmissionProtocol::type)ecast56;
             }
             xfer += iprot->readMapEnd();
           }
@@ -772,19 +890,19 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->dataMovementProtocols.clear();
-            uint32_t _size50;
-            ::apache::thrift::protocol::TType _ktype51;
-            ::apache::thrift::protocol::TType _vtype52;
-            xfer += iprot->readMapBegin(_ktype51, _vtype52, _size50);
-            uint32_t _i54;
-            for (_i54 = 0; _i54 < _size50; ++_i54)
+            uint32_t _size57;
+            ::apache::thrift::protocol::TType _ktype58;
+            ::apache::thrift::protocol::TType _vtype59;
+            xfer += iprot->readMapBegin(_ktype58, _vtype59, _size57);
+            uint32_t _i61;
+            for (_i61 = 0; _i61 < _size57; ++_i61)
             {
-              std::string _key55;
-              xfer += iprot->readString(_key55);
-              DataMovementProtocol::type& _val56 = this->dataMovementProtocols[_key55];
-              int32_t ecast57;
-              xfer += iprot->readI32(ecast57);
-              _val56 = (DataMovementProtocol::type)ecast57;
+              std::string _key62;
+              xfer += iprot->readString(_key62);
+              DataMovementProtocol::type& _val63 = this->dataMovementProtocols[_key62];
+              int32_t ecast64;
+              xfer += iprot->readI32(ecast64);
+              _val63 = (DataMovementProtocol::type)ecast64;
             }
             xfer += iprot->readMapEnd();
           }
@@ -835,10 +953,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("hostAliases", ::apache::thrift::protocol::T_SET, 4);
     {
       xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->hostAliases.size()));
-      std::set<std::string> ::const_iterator _iter58;
-      for (_iter58 = this->hostAliases.begin(); _iter58 != this->hostAliases.end(); ++_iter58)
+      std::set<std::string> ::const_iterator _iter65;
+      for (_iter65 = this->hostAliases.begin(); _iter65 != this->hostAliases.end(); ++_iter65)
       {
-        xfer += oprot->writeString((*_iter58));
+        xfer += oprot->writeString((*_iter65));
       }
       xfer += oprot->writeSetEnd();
     }
@@ -848,10 +966,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("ipAddresses", ::apache::thrift::protocol::T_SET, 5);
     {
       xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->ipAddresses.size()));
-      std::set<std::string> ::const_iterator _iter59;
-      for (_iter59 = this->ipAddresses.begin(); _iter59 != this->ipAddresses.end(); ++_iter59)
+      std::set<std::string> ::const_iterator _iter66;
+      for (_iter66 = this->ipAddresses.begin(); _iter66 != this->ipAddresses.end(); ++_iter66)
       {
-        xfer += oprot->writeString((*_iter59));
+        xfer += oprot->writeString((*_iter66));
       }
       xfer += oprot->writeSetEnd();
     }
@@ -875,11 +993,11 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
   xfer += oprot->writeFieldBegin("jobSubmissionProtocols", ::apache::thrift::protocol::T_MAP, 9);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->jobSubmissionProtocols.size()));
-    std::map<std::string, JobSubmissionProtocol::type> ::const_iterator _iter60;
-    for (_iter60 = this->jobSubmissionProtocols.begin(); _iter60 != this->jobSubmissionProtocols.end(); ++_iter60)
+    std::map<std::string, JobSubmissionProtocol::type> ::const_iterator _iter67;
+    for (_iter67 = this->jobSubmissionProtocols.begin(); _iter67 != this->jobSubmissionProtocols.end(); ++_iter67)
     {
-      xfer += oprot->writeString(_iter60->first);
-      xfer += oprot->writeI32((int32_t)_iter60->second);
+      xfer += oprot->writeString(_iter67->first);
+      xfer += oprot->writeI32((int32_t)_iter67->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -888,11 +1006,11 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
   xfer += oprot->writeFieldBegin("dataMovementProtocols", ::apache::thrift::protocol::T_MAP, 10);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->dataMovementProtocols.size()));
-    std::map<std::string, DataMovementProtocol::type> ::const_iterator _iter61;
-    for (_iter61 = this->dataMovementProtocols.begin(); _iter61 != this->dataMovementProtocols.end(); ++_iter61)
+    std::map<std::string, DataMovementProtocol::type> ::const_iterator _iter68;
+    for (_iter68 = this->dataMovementProtocols.begin(); _iter68 != this->dataMovementProtocols.end(); ++_iter68)
     {
-      xfer += oprot->writeString(_iter61->first);
-      xfer += oprot->writeI32((int32_t)_iter61->second);
+      xfer += oprot->writeString(_iter68->first);
+      xfer += oprot->writeI32((int32_t)_iter68->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -1137,14 +1255,14 @@ uint32_t ApplicationInterface::read(::apache::thrift::protocol::TProtocol* iprot
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->applicationDeployments.clear();
-            uint32_t _size62;
-            ::apache::thrift::protocol::TType _etype65;
-            xfer += iprot->readListBegin(_etype65, _size62);
-            this->applicationDeployments.resize(_size62);
-            uint32_t _i66;
-            for (_i66 = 0; _i66 < _size62; ++_i66)
+            uint32_t _size69;
+            ::apache::thrift::protocol::TType _etype72;
+            xfer += iprot->readListBegin(_etype72, _size69);
+            this->applicationDeployments.resize(_size69);
+            uint32_t _i73;
+            for (_i73 = 0; _i73 < _size69; ++_i73)
             {
-              xfer += this->applicationDeployments[_i66].read(iprot);
+              xfer += this->applicationDeployments[_i73].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1184,10 +1302,10 @@ uint32_t ApplicationInterface::write(::apache::thrift::protocol::TProtocol* opro
     xfer += oprot->writeFieldBegin("applicationDeployments", ::apache::thrift::protocol::T_LIST, 3);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationDeployments.size()));
-      std::vector<ApplicationDeployment> ::const_iterator _iter67;
-      for (_iter67 = this->applicationDeployments.begin(); _iter67 != this->applicationDeployments.end(); ++_iter67)
+      std::vector<ApplicationDeployment> ::const_iterator _iter74;
+      for (_iter74 = this->applicationDeployments.begin(); _iter74 != this->applicationDeployments.end(); ++_iter74)
       {
-        xfer += (*_iter67).write(oprot);
+        xfer += (*_iter74).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/fef7c4ac/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.h
index 3cd2194..814bcd3 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.h
@@ -73,19 +73,19 @@ class SCPDataMovement {
   static const char* ascii_fingerprint; // = "FEB6B2CD28861B4EED855CACA1FEF2CB";
   static const uint8_t binary_fingerprint[16]; // = {0xFE,0xB6,0xB2,0xCD,0x28,0x86,0x1B,0x4E,0xED,0x85,0x5C,0xAC,0xA1,0xFE,0xF2,0xCB};
 
-  SCPDataMovement() : dataSubmissionDataID("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), sshPort(22) {
+  SCPDataMovement() : dataMovementDataID("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), sshPort(22) {
   }
 
   virtual ~SCPDataMovement() throw() {}
 
-  std::string dataSubmissionDataID;
+  std::string dataMovementDataID;
   SecurityProtocol::type securityProtocol;
   int32_t sshPort;
 
   _SCPDataMovement__isset __isset;
 
-  void __set_dataSubmissionDataID(const std::string& val) {
-    dataSubmissionDataID = val;
+  void __set_dataMovementDataID(const std::string& val) {
+    dataMovementDataID = val;
   }
 
   void __set_securityProtocol(const SecurityProtocol::type val) {
@@ -99,7 +99,7 @@ class SCPDataMovement {
 
   bool operator == (const SCPDataMovement & rhs) const
   {
-    if (!(dataSubmissionDataID == rhs.dataSubmissionDataID))
+    if (!(dataMovementDataID == rhs.dataMovementDataID))
       return false;
     if (!(securityProtocol == rhs.securityProtocol))
       return false;
@@ -122,6 +122,57 @@ class SCPDataMovement {
 
 void swap(SCPDataMovement &a, SCPDataMovement &b);
 
+
+class GridFTPDataMovement {
+ public:
+
+  static const char* ascii_fingerprint; // = "790EE8B1D56A3B9B76C41DD063726E75";
+  static const uint8_t binary_fingerprint[16]; // = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
+
+  GridFTPDataMovement() : dataMovementDataID("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0) {
+  }
+
+  virtual ~GridFTPDataMovement() throw() {}
+
+  std::string dataMovementDataID;
+  SecurityProtocol::type securityProtocol;
+  std::vector<std::string>  gridFTPEndPoint;
+
+  void __set_dataMovementDataID(const std::string& val) {
+    dataMovementDataID = val;
+  }
+
+  void __set_securityProtocol(const SecurityProtocol::type val) {
+    securityProtocol = val;
+  }
+
+  void __set_gridFTPEndPoint(const std::vector<std::string> & val) {
+    gridFTPEndPoint = val;
+  }
+
+  bool operator == (const GridFTPDataMovement & rhs) const
+  {
+    if (!(dataMovementDataID == rhs.dataMovementDataID))
+      return false;
+    if (!(securityProtocol == rhs.securityProtocol))
+      return false;
+    if (!(gridFTPEndPoint == rhs.gridFTPEndPoint))
+      return false;
+    return true;
+  }
+  bool operator != (const GridFTPDataMovement &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const GridFTPDataMovement & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(GridFTPDataMovement &a, GridFTPDataMovement &b);
+
 typedef struct _SSHJobSubmission__isset {
   _SSHJobSubmission__isset() : sshPort(true) {}
   bool sshPort;


[5/5] git commit: generated code for gridftp model

Posted by sa...@apache.org.
generated code for gridftp model


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

Branch: refs/heads/master
Commit: fef7c4ac0e8a13ad715428a9641bed914e552639
Parents: 029cfac
Author: samindaw <sa...@gmail.com>
Authored: Tue May 20 22:46:33 2014 -0700
Committer: samindaw <sa...@gmail.com>
Committed: Tue May 20 22:46:33 2014 -0700

----------------------------------------------------------------------
 .../api/appcatalog/ApplicationCatalogAPI.java   | 3764 ++++++++++++++----
 .../resources/lib/ApplicationCatalogAPI.cpp     |  768 +++-
 .../main/resources/lib/ApplicationCatalogAPI.h  |  299 ++
 .../ApplicationCatalogAPI_server.skeleton.cpp   |   10 +
 .../lib/applicationCatalogDataModel_types.cpp   |  366 +-
 .../lib/applicationCatalogDataModel_types.h     |   61 +-
 .../API/AppCatalog/ApplicationCatalogAPI.php    |  550 +++
 .../src/main/resources/lib/Types.php            |  358 +-
 .../model/appcatalog/ApplicationInterface.java  |   36 +-
 .../appcatalog/ComputeResourceDescription.java  |  152 +-
 .../model/appcatalog/GSISSHJobSubmission.java   |   96 +-
 .../model/appcatalog/GlobusJobSubmission.java   |   32 +-
 .../model/appcatalog/GridFTPDataMovement.java   |  651 +++
 .../model/appcatalog/SCPDataMovement.java       |  104 +-
 .../workspace/experiment/ValidationResults.java |  543 +++
 .../workspace/experiment/ValidatorResult.java   |  505 +++
 16 files changed, 7107 insertions(+), 1188 deletions(-)
----------------------------------------------------------------------