airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From samin...@apache.org
Subject [06/12] https://issues.apache.org/jira/browse/AIRAVATA-1203
Date Thu, 15 May 2014 15:09:21 GMT
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1a1bad5/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/AppCatalog/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/AppCatalog/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/AppCatalog/Types.php
new file mode 100644
index 0000000..06e6b5c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/AppCatalog/Types.php
@@ -0,0 +1,22 @@
+<?php
+namespace Airavata\API\AppCatalog;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+$GLOBALS['applicationCatalogAPI_CONSTANTS']['AIRAVATA_API_VERSION'] = "0.12.0";
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/c1a1bad5/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
new file mode 100644
index 0000000..df5479e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Types.php
@@ -0,0 +1,1567 @@
+<?php
+namespace ;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+final class ResourceJobManager {
+  const FORK = 0;
+  const PBS = 1;
+  const UGE = 2;
+  const SLURM = 3;
+  static public $__names = array(
+    0 => 'FORK',
+    1 => 'PBS',
+    2 => 'UGE',
+    3 => 'SLURM',
+  );
+}
+
+final class JobSubmissionProtocol {
+  const SSH = 0;
+  const GRAM = 1;
+  const UNICORE = 2;
+  static public $__names = array(
+    0 => 'SSH',
+    1 => 'GRAM',
+    2 => 'UNICORE',
+  );
+}
+
+final class DataMovementProtocol {
+  const SCP = 0;
+  const SFTP = 1;
+  const GridFTP = 2;
+  const UNICORE_STORAGE_SERVICE = 3;
+  static public $__names = array(
+    0 => 'SCP',
+    1 => 'SFTP',
+    2 => 'GridFTP',
+    3 => 'UNICORE_STORAGE_SERVICE',
+  );
+}
+
+final class SecurityProtocol {
+  const USERNAME_PASSWORD = 0;
+  const SSH_KEYS = 1;
+  const GSI = 2;
+  const KERBEROS = 3;
+  const OAUTH = 4;
+  static public $__names = array(
+    0 => 'USERNAME_PASSWORD',
+    1 => 'SSH_KEYS',
+    2 => 'GSI',
+    3 => 'KERBEROS',
+    4 => 'OAUTH',
+  );
+}
+
+class SCPDataMovement {
+  static $_TSPEC;
+
+  public $securityProtocol = null;
+  public $sshPort = 22;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'securityProtocol',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'sshPort',
+          'type' => TType::I32,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['securityProtocol'])) {
+        $this->securityProtocol = $vals['securityProtocol'];
+      }
+      if (isset($vals['sshPort'])) {
+        $this->sshPort = $vals['sshPort'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'SCPDataMovement';
+  }
+
+  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::I32) {
+            $xfer += $input->readI32($this->securityProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->sshPort);
+          } 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('SCPDataMovement');
+    if ($this->securityProtocol !== null) {
+      $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 1);
+      $xfer += $output->writeI32($this->securityProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sshPort !== null) {
+      $xfer += $output->writeFieldBegin('sshPort', TType::I32, 2);
+      $xfer += $output->writeI32($this->sshPort);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class SSHJobSubmission {
+  static $_TSPEC;
+
+  public $resourceJobManager = null;
+  public $sshPort = 22;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        2 => array(
+          'var' => 'resourceJobManager',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'sshPort',
+          'type' => TType::I32,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['resourceJobManager'])) {
+        $this->resourceJobManager = $vals['resourceJobManager'];
+      }
+      if (isset($vals['sshPort'])) {
+        $this->sshPort = $vals['sshPort'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'SSHJobSubmission';
+  }
+
+  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 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->resourceJobManager);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->sshPort);
+          } 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('SSHJobSubmission');
+    if ($this->resourceJobManager !== null) {
+      $xfer += $output->writeFieldBegin('resourceJobManager', TType::I32, 2);
+      $xfer += $output->writeI32($this->resourceJobManager);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sshPort !== null) {
+      $xfer += $output->writeFieldBegin('sshPort', TType::I32, 3);
+      $xfer += $output->writeI32($this->sshPort);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class GlobusJobSubmission {
+  static $_TSPEC;
+
+  public $securityProtocol = null;
+  public $resourceJobManager = null;
+  public $globusGateKeeperEndPoint = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'securityProtocol',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'resourceJobManager',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'globusGateKeeperEndPoint',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['securityProtocol'])) {
+        $this->securityProtocol = $vals['securityProtocol'];
+      }
+      if (isset($vals['resourceJobManager'])) {
+        $this->resourceJobManager = $vals['resourceJobManager'];
+      }
+      if (isset($vals['globusGateKeeperEndPoint'])) {
+        $this->globusGateKeeperEndPoint = $vals['globusGateKeeperEndPoint'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'GlobusJobSubmission';
+  }
+
+  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::I32) {
+            $xfer += $input->readI32($this->securityProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->resourceJobManager);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->globusGateKeeperEndPoint);
+          } 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('GlobusJobSubmission');
+    if ($this->securityProtocol !== null) {
+      $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 1);
+      $xfer += $output->writeI32($this->securityProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->resourceJobManager !== null) {
+      $xfer += $output->writeFieldBegin('resourceJobManager', TType::I32, 2);
+      $xfer += $output->writeI32($this->resourceJobManager);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->globusGateKeeperEndPoint !== null) {
+      $xfer += $output->writeFieldBegin('globusGateKeeperEndPoint', TType::STRING, 3);
+      $xfer += $output->writeString($this->globusGateKeeperEndPoint);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class GSISSHJobSubmission {
+  static $_TSPEC;
+
+  public $resourceJobManager = null;
+  public $sshPort = 22;
+  public $exports = null;
+  public $preJobCommands = null;
+  public $postJobCommands = null;
+  public $installedPath = null;
+  public $monitorMode = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        2 => array(
+          'var' => 'resourceJobManager',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'sshPort',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'exports',
+          'type' => TType::SET,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        5 => array(
+          'var' => 'preJobCommands',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        6 => array(
+          'var' => 'postJobCommands',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        7 => array(
+          'var' => 'installedPath',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'monitorMode',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['resourceJobManager'])) {
+        $this->resourceJobManager = $vals['resourceJobManager'];
+      }
+      if (isset($vals['sshPort'])) {
+        $this->sshPort = $vals['sshPort'];
+      }
+      if (isset($vals['exports'])) {
+        $this->exports = $vals['exports'];
+      }
+      if (isset($vals['preJobCommands'])) {
+        $this->preJobCommands = $vals['preJobCommands'];
+      }
+      if (isset($vals['postJobCommands'])) {
+        $this->postJobCommands = $vals['postJobCommands'];
+      }
+      if (isset($vals['installedPath'])) {
+        $this->installedPath = $vals['installedPath'];
+      }
+      if (isset($vals['monitorMode'])) {
+        $this->monitorMode = $vals['monitorMode'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'GSISSHJobSubmission';
+  }
+
+  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 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->resourceJobManager);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->sshPort);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::SET) {
+            $this->exports = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readSetBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              if (is_scalar($elem5)) {
+                $this->exports[$elem5] = true;
+              } else {
+                $this->exports []= $elem5;
+              }
+            }
+            $xfer += $input->readSetEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::LST) {
+            $this->preJobCommands = array();
+            $_size6 = 0;
+            $_etype9 = 0;
+            $xfer += $input->readListBegin($_etype9, $_size6);
+            for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
+            {
+              $elem11 = null;
+              $xfer += $input->readString($elem11);
+              $this->preJobCommands []= $elem11;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::LST) {
+            $this->postJobCommands = array();
+            $_size12 = 0;
+            $_etype15 = 0;
+            $xfer += $input->readListBegin($_etype15, $_size12);
+            for ($_i16 = 0; $_i16 < $_size12; ++$_i16)
+            {
+              $elem17 = null;
+              $xfer += $input->readString($elem17);
+              $this->postJobCommands []= $elem17;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->installedPath);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->monitorMode);
+          } 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('GSISSHJobSubmission');
+    if ($this->resourceJobManager !== null) {
+      $xfer += $output->writeFieldBegin('resourceJobManager', TType::I32, 2);
+      $xfer += $output->writeI32($this->resourceJobManager);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sshPort !== null) {
+      $xfer += $output->writeFieldBegin('sshPort', TType::I32, 3);
+      $xfer += $output->writeI32($this->sshPort);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->exports !== null) {
+      if (!is_array($this->exports)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('exports', TType::SET, 4);
+      {
+        $output->writeSetBegin(TType::STRING, count($this->exports));
+        {
+          foreach ($this->exports as $iter18 => $iter19)
+          {
+            if (is_scalar($iter19)) {
+            $xfer += $output->writeString($iter18);
+            } else {
+            $xfer += $output->writeString($iter19);
+            }
+          }
+        }
+        $output->writeSetEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->preJobCommands !== null) {
+      if (!is_array($this->preJobCommands)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('preJobCommands', TType::LST, 5);
+      {
+        $output->writeListBegin(TType::STRING, count($this->preJobCommands));
+        {
+          foreach ($this->preJobCommands as $iter20)
+          {
+            $xfer += $output->writeString($iter20);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->postJobCommands !== null) {
+      if (!is_array($this->postJobCommands)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('postJobCommands', TType::LST, 6);
+      {
+        $output->writeListBegin(TType::STRING, count($this->postJobCommands));
+        {
+          foreach ($this->postJobCommands as $iter21)
+          {
+            $xfer += $output->writeString($iter21);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->installedPath !== null) {
+      $xfer += $output->writeFieldBegin('installedPath', TType::STRING, 7);
+      $xfer += $output->writeString($this->installedPath);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->monitorMode !== null) {
+      $xfer += $output->writeFieldBegin('monitorMode', TType::STRING, 8);
+      $xfer += $output->writeString($this->monitorMode);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class JobSubmissionProtocols {
+  static $_TSPEC;
+
+  public $isEmpty = false;
+  public $preferedJobSubmissionProtocol = null;
+  public $sshJobSubmissionInfo = null;
+  public $globusGRAMHost = null;
+  public $globusGRAMPort = 2119;
+  public $unicoreBESEndPoint = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'isEmpty',
+          'type' => TType::BOOL,
+          ),
+        2 => array(
+          'var' => 'preferedJobSubmissionProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'sshJobSubmissionInfo',
+          'type' => TType::STRUCT,
+          'class' => '\SSHJobSubmission',
+          ),
+        4 => array(
+          'var' => 'globusGRAMHost',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'globusGRAMPort',
+          'type' => TType::I32,
+          ),
+        6 => array(
+          'var' => 'unicoreBESEndPoint',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['isEmpty'])) {
+        $this->isEmpty = $vals['isEmpty'];
+      }
+      if (isset($vals['preferedJobSubmissionProtocol'])) {
+        $this->preferedJobSubmissionProtocol = $vals['preferedJobSubmissionProtocol'];
+      }
+      if (isset($vals['sshJobSubmissionInfo'])) {
+        $this->sshJobSubmissionInfo = $vals['sshJobSubmissionInfo'];
+      }
+      if (isset($vals['globusGRAMHost'])) {
+        $this->globusGRAMHost = $vals['globusGRAMHost'];
+      }
+      if (isset($vals['globusGRAMPort'])) {
+        $this->globusGRAMPort = $vals['globusGRAMPort'];
+      }
+      if (isset($vals['unicoreBESEndPoint'])) {
+        $this->unicoreBESEndPoint = $vals['unicoreBESEndPoint'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'JobSubmissionProtocols';
+  }
+
+  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::BOOL) {
+            $xfer += $input->readBool($this->isEmpty);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->preferedJobSubmissionProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->sshJobSubmissionInfo = new \SSHJobSubmission();
+            $xfer += $this->sshJobSubmissionInfo->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->globusGRAMHost);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->globusGRAMPort);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->unicoreBESEndPoint);
+          } 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('JobSubmissionProtocols');
+    if ($this->isEmpty !== null) {
+      $xfer += $output->writeFieldBegin('isEmpty', TType::BOOL, 1);
+      $xfer += $output->writeBool($this->isEmpty);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->preferedJobSubmissionProtocol !== null) {
+      $xfer += $output->writeFieldBegin('preferedJobSubmissionProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->preferedJobSubmissionProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sshJobSubmissionInfo !== null) {
+      if (!is_object($this->sshJobSubmissionInfo)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('sshJobSubmissionInfo', TType::STRUCT, 3);
+      $xfer += $this->sshJobSubmissionInfo->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->globusGRAMHost !== null) {
+      $xfer += $output->writeFieldBegin('globusGRAMHost', TType::STRING, 4);
+      $xfer += $output->writeString($this->globusGRAMHost);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->globusGRAMPort !== null) {
+      $xfer += $output->writeFieldBegin('globusGRAMPort', TType::I32, 5);
+      $xfer += $output->writeI32($this->globusGRAMPort);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->unicoreBESEndPoint !== null) {
+      $xfer += $output->writeFieldBegin('unicoreBESEndPoint', TType::STRING, 6);
+      $xfer += $output->writeString($this->unicoreBESEndPoint);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ComputeResourceDescription {
+  static $_TSPEC;
+
+  public $isEmpty = false;
+  public $resourceId = "DO_NOT_SET_AT_CLIENTS";
+  public $hostName = null;
+  public $hostAliases = null;
+  public $ipAddresses = null;
+  public $resourceDescription = null;
+  public $scratchLocation = null;
+  public $preferredJobSubmissionProtocol = null;
+  public $jobSubmissionProtocols = null;
+  public $dataMovementProtocols = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'isEmpty',
+          'type' => TType::BOOL,
+          ),
+        2 => array(
+          'var' => 'resourceId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'hostName',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'hostAliases',
+          'type' => TType::SET,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        5 => array(
+          'var' => 'ipAddresses',
+          'type' => TType::SET,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        6 => array(
+          'var' => 'resourceDescription',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'scratchLocation',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'preferredJobSubmissionProtocol',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'jobSubmissionProtocols',
+          'type' => TType::MAP,
+          'ktype' => TType::STRING,
+          'vtype' => TType::I32,
+          'key' => array(
+            'type' => TType::STRING,
+          ),
+          'val' => array(
+            'type' => TType::I32,
+            ),
+          ),
+        10 => array(
+          'var' => 'dataMovementProtocols',
+          'type' => TType::MAP,
+          'ktype' => TType::STRING,
+          'vtype' => TType::I32,
+          'key' => array(
+            'type' => TType::STRING,
+          ),
+          'val' => array(
+            'type' => TType::I32,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['isEmpty'])) {
+        $this->isEmpty = $vals['isEmpty'];
+      }
+      if (isset($vals['resourceId'])) {
+        $this->resourceId = $vals['resourceId'];
+      }
+      if (isset($vals['hostName'])) {
+        $this->hostName = $vals['hostName'];
+      }
+      if (isset($vals['hostAliases'])) {
+        $this->hostAliases = $vals['hostAliases'];
+      }
+      if (isset($vals['ipAddresses'])) {
+        $this->ipAddresses = $vals['ipAddresses'];
+      }
+      if (isset($vals['resourceDescription'])) {
+        $this->resourceDescription = $vals['resourceDescription'];
+      }
+      if (isset($vals['scratchLocation'])) {
+        $this->scratchLocation = $vals['scratchLocation'];
+      }
+      if (isset($vals['preferredJobSubmissionProtocol'])) {
+        $this->preferredJobSubmissionProtocol = $vals['preferredJobSubmissionProtocol'];
+      }
+      if (isset($vals['jobSubmissionProtocols'])) {
+        $this->jobSubmissionProtocols = $vals['jobSubmissionProtocols'];
+      }
+      if (isset($vals['dataMovementProtocols'])) {
+        $this->dataMovementProtocols = $vals['dataMovementProtocols'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ComputeResourceDescription';
+  }
+
+  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::BOOL) {
+            $xfer += $input->readBool($this->isEmpty);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->resourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->hostName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::SET) {
+            $this->hostAliases = array();
+            $_size22 = 0;
+            $_etype25 = 0;
+            $xfer += $input->readSetBegin($_etype25, $_size22);
+            for ($_i26 = 0; $_i26 < $_size22; ++$_i26)
+            {
+              $elem27 = null;
+              $xfer += $input->readString($elem27);
+              if (is_scalar($elem27)) {
+                $this->hostAliases[$elem27] = true;
+              } else {
+                $this->hostAliases []= $elem27;
+              }
+            }
+            $xfer += $input->readSetEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::SET) {
+            $this->ipAddresses = array();
+            $_size28 = 0;
+            $_etype31 = 0;
+            $xfer += $input->readSetBegin($_etype31, $_size28);
+            for ($_i32 = 0; $_i32 < $_size28; ++$_i32)
+            {
+              $elem33 = null;
+              $xfer += $input->readString($elem33);
+              if (is_scalar($elem33)) {
+                $this->ipAddresses[$elem33] = true;
+              } else {
+                $this->ipAddresses []= $elem33;
+              }
+            }
+            $xfer += $input->readSetEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->resourceDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->scratchLocation);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->preferredJobSubmissionProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::MAP) {
+            $this->jobSubmissionProtocols = array();
+            $_size34 = 0;
+            $_ktype35 = 0;
+            $_vtype36 = 0;
+            $xfer += $input->readMapBegin($_ktype35, $_vtype36, $_size34);
+            for ($_i38 = 0; $_i38 < $_size34; ++$_i38)
+            {
+              $key39 = '';
+              $val40 = 0;
+              $xfer += $input->readString($key39);
+              $xfer += $input->readI32($val40);
+              $this->jobSubmissionProtocols[$key39] = $val40;
+            }
+            $xfer += $input->readMapEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::MAP) {
+            $this->dataMovementProtocols = array();
+            $_size41 = 0;
+            $_ktype42 = 0;
+            $_vtype43 = 0;
+            $xfer += $input->readMapBegin($_ktype42, $_vtype43, $_size41);
+            for ($_i45 = 0; $_i45 < $_size41; ++$_i45)
+            {
+              $key46 = '';
+              $val47 = 0;
+              $xfer += $input->readString($key46);
+              $xfer += $input->readI32($val47);
+              $this->dataMovementProtocols[$key46] = $val47;
+            }
+            $xfer += $input->readMapEnd();
+          } 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('ComputeResourceDescription');
+    if ($this->isEmpty !== null) {
+      $xfer += $output->writeFieldBegin('isEmpty', TType::BOOL, 1);
+      $xfer += $output->writeBool($this->isEmpty);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->resourceId !== null) {
+      $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 2);
+      $xfer += $output->writeString($this->resourceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->hostName !== null) {
+      $xfer += $output->writeFieldBegin('hostName', TType::STRING, 3);
+      $xfer += $output->writeString($this->hostName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->hostAliases !== null) {
+      if (!is_array($this->hostAliases)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('hostAliases', TType::SET, 4);
+      {
+        $output->writeSetBegin(TType::STRING, count($this->hostAliases));
+        {
+          foreach ($this->hostAliases as $iter48 => $iter49)
+          {
+            if (is_scalar($iter49)) {
+            $xfer += $output->writeString($iter48);
+            } else {
+            $xfer += $output->writeString($iter49);
+            }
+          }
+        }
+        $output->writeSetEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ipAddresses !== null) {
+      if (!is_array($this->ipAddresses)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('ipAddresses', TType::SET, 5);
+      {
+        $output->writeSetBegin(TType::STRING, count($this->ipAddresses));
+        {
+          foreach ($this->ipAddresses as $iter50 => $iter51)
+          {
+            if (is_scalar($iter51)) {
+            $xfer += $output->writeString($iter50);
+            } else {
+            $xfer += $output->writeString($iter51);
+            }
+          }
+        }
+        $output->writeSetEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->resourceDescription !== null) {
+      $xfer += $output->writeFieldBegin('resourceDescription', TType::STRING, 6);
+      $xfer += $output->writeString($this->resourceDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->scratchLocation !== null) {
+      $xfer += $output->writeFieldBegin('scratchLocation', TType::STRING, 7);
+      $xfer += $output->writeString($this->scratchLocation);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->preferredJobSubmissionProtocol !== null) {
+      $xfer += $output->writeFieldBegin('preferredJobSubmissionProtocol', TType::STRING, 8);
+      $xfer += $output->writeString($this->preferredJobSubmissionProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->jobSubmissionProtocols !== null) {
+      if (!is_array($this->jobSubmissionProtocols)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('jobSubmissionProtocols', TType::MAP, 9);
+      {
+        $output->writeMapBegin(TType::STRING, TType::I32, count($this->jobSubmissionProtocols));
+        {
+          foreach ($this->jobSubmissionProtocols as $kiter52 => $viter53)
+          {
+            $xfer += $output->writeString($kiter52);
+            $xfer += $output->writeI32($viter53);
+          }
+        }
+        $output->writeMapEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataMovementProtocols !== null) {
+      if (!is_array($this->dataMovementProtocols)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('dataMovementProtocols', TType::MAP, 10);
+      {
+        $output->writeMapBegin(TType::STRING, TType::I32, count($this->dataMovementProtocols));
+        {
+          foreach ($this->dataMovementProtocols as $kiter54 => $viter55)
+          {
+            $xfer += $output->writeString($kiter54);
+            $xfer += $output->writeI32($viter55);
+          }
+        }
+        $output->writeMapEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ApplicationDescriptor {
+  static $_TSPEC;
+
+  public $applicationDescriptorId = "DO_NOT_SET_AT_CLIENTS";
+  public $applicationDescriptorData = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'applicationDescriptorId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'applicationDescriptorData',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['applicationDescriptorId'])) {
+        $this->applicationDescriptorId = $vals['applicationDescriptorId'];
+      }
+      if (isset($vals['applicationDescriptorData'])) {
+        $this->applicationDescriptorData = $vals['applicationDescriptorData'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ApplicationDescriptor';
+  }
+
+  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->applicationDescriptorId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationDescriptorData);
+          } 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('ApplicationDescriptor');
+    if ($this->applicationDescriptorId !== null) {
+      $xfer += $output->writeFieldBegin('applicationDescriptorId', TType::STRING, 1);
+      $xfer += $output->writeString($this->applicationDescriptorId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationDescriptorData !== null) {
+      $xfer += $output->writeFieldBegin('applicationDescriptorData', TType::STRING, 2);
+      $xfer += $output->writeString($this->applicationDescriptorData);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ApplicationDeployment {
+  static $_TSPEC;
+
+  public $deploymentId = "DO_NOT_SET_AT_CLIENTS";
+  public $computeResourceDescription = null;
+  public $applicationDescriptor = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'deploymentId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'computeResourceDescription',
+          'type' => TType::STRUCT,
+          'class' => '\ComputeResourceDescription',
+          ),
+        3 => array(
+          'var' => 'applicationDescriptor',
+          'type' => TType::STRUCT,
+          'class' => '\ApplicationDescriptor',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['deploymentId'])) {
+        $this->deploymentId = $vals['deploymentId'];
+      }
+      if (isset($vals['computeResourceDescription'])) {
+        $this->computeResourceDescription = $vals['computeResourceDescription'];
+      }
+      if (isset($vals['applicationDescriptor'])) {
+        $this->applicationDescriptor = $vals['applicationDescriptor'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ApplicationDeployment';
+  }
+
+  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->deploymentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->computeResourceDescription = new \ComputeResourceDescription();
+            $xfer += $this->computeResourceDescription->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->applicationDescriptor = new \ApplicationDescriptor();
+            $xfer += $this->applicationDescriptor->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('ApplicationDeployment');
+    if ($this->deploymentId !== null) {
+      $xfer += $output->writeFieldBegin('deploymentId', TType::STRING, 1);
+      $xfer += $output->writeString($this->deploymentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->computeResourceDescription !== null) {
+      if (!is_object($this->computeResourceDescription)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('computeResourceDescription', TType::STRUCT, 2);
+      $xfer += $this->computeResourceDescription->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationDescriptor !== null) {
+      if (!is_object($this->applicationDescriptor)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('applicationDescriptor', TType::STRUCT, 3);
+      $xfer += $this->applicationDescriptor->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ApplicationInterface {
+  static $_TSPEC;
+
+  public $applicationInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  public $applicationInterfaceData = null;
+  public $applicationDeployments = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'applicationInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'applicationInterfaceData',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'applicationDeployments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\ApplicationDeployment',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['applicationInterfaceId'])) {
+        $this->applicationInterfaceId = $vals['applicationInterfaceId'];
+      }
+      if (isset($vals['applicationInterfaceData'])) {
+        $this->applicationInterfaceData = $vals['applicationInterfaceData'];
+      }
+      if (isset($vals['applicationDeployments'])) {
+        $this->applicationDeployments = $vals['applicationDeployments'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ApplicationInterface';
+  }
+
+  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->applicationInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationInterfaceData);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::LST) {
+            $this->applicationDeployments = array();
+            $_size56 = 0;
+            $_etype59 = 0;
+            $xfer += $input->readListBegin($_etype59, $_size56);
+            for ($_i60 = 0; $_i60 < $_size56; ++$_i60)
+            {
+              $elem61 = null;
+              $elem61 = new \ApplicationDeployment();
+              $xfer += $elem61->read($input);
+              $this->applicationDeployments []= $elem61;
+            }
+            $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('ApplicationInterface');
+    if ($this->applicationInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('applicationInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->applicationInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationInterfaceData !== null) {
+      $xfer += $output->writeFieldBegin('applicationInterfaceData', TType::STRING, 2);
+      $xfer += $output->writeString($this->applicationInterfaceData);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationDeployments !== null) {
+      if (!is_array($this->applicationDeployments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('applicationDeployments', TType::LST, 3);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->applicationDeployments));
+        {
+          foreach ($this->applicationDeployments as $iter62)
+          {
+            $xfer += $iter62->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+$GLOBALS['applicationCatalogDataModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS";
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/c1a1bad5/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ApplicationDeployment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ApplicationDeployment.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ApplicationDeployment.java
new file mode 100644
index 0000000..0faa7af
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/ApplicationDeployment.java
@@ -0,0 +1,600 @@
+    /*
+     * 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 ApplicationDeployment implements org.apache.thrift.TBase<ApplicationDeployment, ApplicationDeployment._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationDeployment> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationDeployment");
+
+  private static final org.apache.thrift.protocol.TField DEPLOYMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("deploymentId", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField COMPUTE_RESOURCE_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("computeResourceDescription", org.apache.thrift.protocol.TType.STRUCT, (short)2);
+  private static final org.apache.thrift.protocol.TField APPLICATION_DESCRIPTOR_FIELD_DESC = new org.apache.thrift.protocol.TField("applicationDescriptor", 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 ApplicationDeploymentStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ApplicationDeploymentTupleSchemeFactory());
+  }
+
+  private String deploymentId; // required
+  private ComputeResourceDescription computeResourceDescription; // required
+  private ApplicationDescriptor applicationDescriptor; // 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 {
+    DEPLOYMENT_ID((short)1, "deploymentId"),
+    COMPUTE_RESOURCE_DESCRIPTION((short)2, "computeResourceDescription"),
+    APPLICATION_DESCRIPTOR((short)3, "applicationDescriptor");
+
+    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: // DEPLOYMENT_ID
+          return DEPLOYMENT_ID;
+        case 2: // COMPUTE_RESOURCE_DESCRIPTION
+          return COMPUTE_RESOURCE_DESCRIPTION;
+        case 3: // APPLICATION_DESCRIPTOR
+          return APPLICATION_DESCRIPTOR;
+        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.DEPLOYMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("deploymentId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.COMPUTE_RESOURCE_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("computeResourceDescription", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ComputeResourceDescription.class)));
+    tmpMap.put(_Fields.APPLICATION_DESCRIPTOR, new org.apache.thrift.meta_data.FieldMetaData("applicationDescriptor", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ApplicationDescriptor.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ApplicationDeployment.class, metaDataMap);
+  }
+
+  public ApplicationDeployment() {
+    this.deploymentId = "DO_NOT_SET_AT_CLIENTS";
+
+  }
+
+  public ApplicationDeployment(
+    String deploymentId,
+    ComputeResourceDescription computeResourceDescription,
+    ApplicationDescriptor applicationDescriptor)
+  {
+    this();
+    this.deploymentId = deploymentId;
+    this.computeResourceDescription = computeResourceDescription;
+    this.applicationDescriptor = applicationDescriptor;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ApplicationDeployment(ApplicationDeployment other) {
+    if (other.isSetDeploymentId()) {
+      this.deploymentId = other.deploymentId;
+    }
+    if (other.isSetComputeResourceDescription()) {
+      this.computeResourceDescription = new ComputeResourceDescription(other.computeResourceDescription);
+    }
+    if (other.isSetApplicationDescriptor()) {
+      this.applicationDescriptor = new ApplicationDescriptor(other.applicationDescriptor);
+    }
+  }
+
+  public ApplicationDeployment deepCopy() {
+    return new ApplicationDeployment(this);
+  }
+
+  @Override
+  public void clear() {
+    this.deploymentId = "DO_NOT_SET_AT_CLIENTS";
+
+    this.computeResourceDescription = null;
+    this.applicationDescriptor = null;
+  }
+
+  public String getDeploymentId() {
+    return this.deploymentId;
+  }
+
+  public void setDeploymentId(String deploymentId) {
+    this.deploymentId = deploymentId;
+  }
+
+  public void unsetDeploymentId() {
+    this.deploymentId = null;
+  }
+
+  /** Returns true if field deploymentId is set (has been assigned a value) and false otherwise */
+  public boolean isSetDeploymentId() {
+    return this.deploymentId != null;
+  }
+
+  public void setDeploymentIdIsSet(boolean value) {
+    if (!value) {
+      this.deploymentId = null;
+    }
+  }
+
+  public ComputeResourceDescription getComputeResourceDescription() {
+    return this.computeResourceDescription;
+  }
+
+  public void setComputeResourceDescription(ComputeResourceDescription computeResourceDescription) {
+    this.computeResourceDescription = computeResourceDescription;
+  }
+
+  public void unsetComputeResourceDescription() {
+    this.computeResourceDescription = null;
+  }
+
+  /** Returns true if field computeResourceDescription is set (has been assigned a value) and false otherwise */
+  public boolean isSetComputeResourceDescription() {
+    return this.computeResourceDescription != null;
+  }
+
+  public void setComputeResourceDescriptionIsSet(boolean value) {
+    if (!value) {
+      this.computeResourceDescription = null;
+    }
+  }
+
+  public ApplicationDescriptor getApplicationDescriptor() {
+    return this.applicationDescriptor;
+  }
+
+  public void setApplicationDescriptor(ApplicationDescriptor applicationDescriptor) {
+    this.applicationDescriptor = applicationDescriptor;
+  }
+
+  public void unsetApplicationDescriptor() {
+    this.applicationDescriptor = null;
+  }
+
+  /** Returns true if field applicationDescriptor is set (has been assigned a value) and false otherwise */
+  public boolean isSetApplicationDescriptor() {
+    return this.applicationDescriptor != null;
+  }
+
+  public void setApplicationDescriptorIsSet(boolean value) {
+    if (!value) {
+      this.applicationDescriptor = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case DEPLOYMENT_ID:
+      if (value == null) {
+        unsetDeploymentId();
+      } else {
+        setDeploymentId((String)value);
+      }
+      break;
+
+    case COMPUTE_RESOURCE_DESCRIPTION:
+      if (value == null) {
+        unsetComputeResourceDescription();
+      } else {
+        setComputeResourceDescription((ComputeResourceDescription)value);
+      }
+      break;
+
+    case APPLICATION_DESCRIPTOR:
+      if (value == null) {
+        unsetApplicationDescriptor();
+      } else {
+        setApplicationDescriptor((ApplicationDescriptor)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case DEPLOYMENT_ID:
+      return getDeploymentId();
+
+    case COMPUTE_RESOURCE_DESCRIPTION:
+      return getComputeResourceDescription();
+
+    case APPLICATION_DESCRIPTOR:
+      return getApplicationDescriptor();
+
+    }
+    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 DEPLOYMENT_ID:
+      return isSetDeploymentId();
+    case COMPUTE_RESOURCE_DESCRIPTION:
+      return isSetComputeResourceDescription();
+    case APPLICATION_DESCRIPTOR:
+      return isSetApplicationDescriptor();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ApplicationDeployment)
+      return this.equals((ApplicationDeployment)that);
+    return false;
+  }
+
+  public boolean equals(ApplicationDeployment that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_deploymentId = true && this.isSetDeploymentId();
+    boolean that_present_deploymentId = true && that.isSetDeploymentId();
+    if (this_present_deploymentId || that_present_deploymentId) {
+      if (!(this_present_deploymentId && that_present_deploymentId))
+        return false;
+      if (!this.deploymentId.equals(that.deploymentId))
+        return false;
+    }
+
+    boolean this_present_computeResourceDescription = true && this.isSetComputeResourceDescription();
+    boolean that_present_computeResourceDescription = true && that.isSetComputeResourceDescription();
+    if (this_present_computeResourceDescription || that_present_computeResourceDescription) {
+      if (!(this_present_computeResourceDescription && that_present_computeResourceDescription))
+        return false;
+      if (!this.computeResourceDescription.equals(that.computeResourceDescription))
+        return false;
+    }
+
+    boolean this_present_applicationDescriptor = true && this.isSetApplicationDescriptor();
+    boolean that_present_applicationDescriptor = true && that.isSetApplicationDescriptor();
+    if (this_present_applicationDescriptor || that_present_applicationDescriptor) {
+      if (!(this_present_applicationDescriptor && that_present_applicationDescriptor))
+        return false;
+      if (!this.applicationDescriptor.equals(that.applicationDescriptor))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  @Override
+  public int compareTo(ApplicationDeployment other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetDeploymentId()).compareTo(other.isSetDeploymentId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDeploymentId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.deploymentId, other.deploymentId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetComputeResourceDescription()).compareTo(other.isSetComputeResourceDescription());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetComputeResourceDescription()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.computeResourceDescription, other.computeResourceDescription);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetApplicationDescriptor()).compareTo(other.isSetApplicationDescriptor());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetApplicationDescriptor()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.applicationDescriptor, other.applicationDescriptor);
+      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("ApplicationDeployment(");
+    boolean first = true;
+
+    sb.append("deploymentId:");
+    if (this.deploymentId == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.deploymentId);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("computeResourceDescription:");
+    if (this.computeResourceDescription == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.computeResourceDescription);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("applicationDescriptor:");
+    if (this.applicationDescriptor == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.applicationDescriptor);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (!isSetDeploymentId()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'deploymentId' is unset! Struct:" + toString());
+    }
+
+    if (!isSetComputeResourceDescription()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'computeResourceDescription' is unset! Struct:" + toString());
+    }
+
+    if (!isSetApplicationDescriptor()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'applicationDescriptor' is unset! Struct:" + toString());
+    }
+
+    // check for sub-struct validity
+    if (computeResourceDescription != null) {
+      computeResourceDescription.validate();
+    }
+    if (applicationDescriptor != null) {
+      applicationDescriptor.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 ApplicationDeploymentStandardSchemeFactory implements SchemeFactory {
+    public ApplicationDeploymentStandardScheme getScheme() {
+      return new ApplicationDeploymentStandardScheme();
+    }
+  }
+
+  private static class ApplicationDeploymentStandardScheme extends StandardScheme<ApplicationDeployment> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ApplicationDeployment 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: // DEPLOYMENT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.deploymentId = iprot.readString();
+              struct.setDeploymentIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // COMPUTE_RESOURCE_DESCRIPTION
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.computeResourceDescription = new ComputeResourceDescription();
+              struct.computeResourceDescription.read(iprot);
+              struct.setComputeResourceDescriptionIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // APPLICATION_DESCRIPTOR
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.applicationDescriptor = new ApplicationDescriptor();
+              struct.applicationDescriptor.read(iprot);
+              struct.setApplicationDescriptorIsSet(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, ApplicationDeployment struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.deploymentId != null) {
+        oprot.writeFieldBegin(DEPLOYMENT_ID_FIELD_DESC);
+        oprot.writeString(struct.deploymentId);
+        oprot.writeFieldEnd();
+      }
+      if (struct.computeResourceDescription != null) {
+        oprot.writeFieldBegin(COMPUTE_RESOURCE_DESCRIPTION_FIELD_DESC);
+        struct.computeResourceDescription.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      if (struct.applicationDescriptor != null) {
+        oprot.writeFieldBegin(APPLICATION_DESCRIPTOR_FIELD_DESC);
+        struct.applicationDescriptor.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ApplicationDeploymentTupleSchemeFactory implements SchemeFactory {
+    public ApplicationDeploymentTupleScheme getScheme() {
+      return new ApplicationDeploymentTupleScheme();
+    }
+  }
+
+  private static class ApplicationDeploymentTupleScheme extends TupleScheme<ApplicationDeployment> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ApplicationDeployment struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.deploymentId);
+      struct.computeResourceDescription.write(oprot);
+      struct.applicationDescriptor.write(oprot);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ApplicationDeployment struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.deploymentId = iprot.readString();
+      struct.setDeploymentIdIsSet(true);
+      struct.computeResourceDescription = new ComputeResourceDescription();
+      struct.computeResourceDescription.read(iprot);
+      struct.setComputeResourceDescriptionIsSet(true);
+      struct.applicationDescriptor = new ApplicationDescriptor();
+      struct.applicationDescriptor.read(iprot);
+      struct.setApplicationDescriptorIsSet(true);
+    }
+  }
+
+}
+


Mime
View raw message