You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2015/07/20 20:57:33 UTC

[4/7] airavata-php-gateway git commit: Sync new php client model classes and changed ExperiementUtilities.php according to that

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e97273be/app/libraries/Airavata/Model/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/Model/Experiment/Types.php b/app/libraries/Airavata/Model/Experiment/Types.php
new file mode 100644
index 0000000..8ab0259
--- /dev/null
+++ b/app/libraries/Airavata/Model/Experiment/Types.php
@@ -0,0 +1,1478 @@
+<?php
+namespace Airavata\Model\Experiment;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * 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 ExperimentType {
+  const SINGLE_APPLICATION = 0;
+  const WORKFLOW = 1;
+  static public $__names = array(
+    0 => 'SINGLE_APPLICATION',
+    1 => 'WORKFLOW',
+  );
+}
+
+final class ExperimentSearchFields {
+  const EXPERIMENT_NAME = 0;
+  const EXPERIMENT_DESC = 1;
+  const APPLICATION_ID = 2;
+  const FROM_DATE = 3;
+  const TO_DATE = 4;
+  const STATUS = 5;
+  static public $__names = array(
+    0 => 'EXPERIMENT_NAME',
+    1 => 'EXPERIMENT_DESC',
+    2 => 'APPLICATION_ID',
+    3 => 'FROM_DATE',
+    4 => 'TO_DATE',
+    5 => 'STATUS',
+  );
+}
+
+/**
+ * A structure holding the experiment configuration.
+ * 
+ * 
+ */
+class UserConfigurationDataModel {
+  static $_TSPEC;
+
+  /**
+   * @var bool
+   */
+  public $airavataAutoSchedule = false;
+  /**
+   * @var bool
+   */
+  public $overrideManualScheduledParams = false;
+  /**
+   * @var bool
+   */
+  public $shareExperimentPublicly = false;
+  /**
+   * @var \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel
+   */
+  public $computationalResourceScheduling = null;
+  /**
+   * @var bool
+   */
+  public $throttleResources = false;
+  /**
+   * @var string
+   */
+  public $userDN = null;
+  /**
+   * @var bool
+   */
+  public $generateCert = false;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'airavataAutoSchedule',
+          'type' => TType::BOOL,
+          ),
+        2 => array(
+          'var' => 'overrideManualScheduledParams',
+          'type' => TType::BOOL,
+          ),
+        3 => array(
+          'var' => 'shareExperimentPublicly',
+          'type' => TType::BOOL,
+          ),
+        4 => array(
+          'var' => 'computationalResourceScheduling',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Scheduling\ComputationalResourceSchedulingModel',
+          ),
+        5 => array(
+          'var' => 'throttleResources',
+          'type' => TType::BOOL,
+          ),
+        6 => array(
+          'var' => 'userDN',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'generateCert',
+          'type' => TType::BOOL,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['airavataAutoSchedule'])) {
+        $this->airavataAutoSchedule = $vals['airavataAutoSchedule'];
+      }
+      if (isset($vals['overrideManualScheduledParams'])) {
+        $this->overrideManualScheduledParams = $vals['overrideManualScheduledParams'];
+      }
+      if (isset($vals['shareExperimentPublicly'])) {
+        $this->shareExperimentPublicly = $vals['shareExperimentPublicly'];
+      }
+      if (isset($vals['computationalResourceScheduling'])) {
+        $this->computationalResourceScheduling = $vals['computationalResourceScheduling'];
+      }
+      if (isset($vals['throttleResources'])) {
+        $this->throttleResources = $vals['throttleResources'];
+      }
+      if (isset($vals['userDN'])) {
+        $this->userDN = $vals['userDN'];
+      }
+      if (isset($vals['generateCert'])) {
+        $this->generateCert = $vals['generateCert'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'UserConfigurationDataModel';
+  }
+
+  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->airavataAutoSchedule);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->overrideManualScheduledParams);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->shareExperimentPublicly);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->computationalResourceScheduling = new \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel();
+            $xfer += $this->computationalResourceScheduling->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->throttleResources);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userDN);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->generateCert);
+          } 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('UserConfigurationDataModel');
+    if ($this->airavataAutoSchedule !== null) {
+      $xfer += $output->writeFieldBegin('airavataAutoSchedule', TType::BOOL, 1);
+      $xfer += $output->writeBool($this->airavataAutoSchedule);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->overrideManualScheduledParams !== null) {
+      $xfer += $output->writeFieldBegin('overrideManualScheduledParams', TType::BOOL, 2);
+      $xfer += $output->writeBool($this->overrideManualScheduledParams);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->shareExperimentPublicly !== null) {
+      $xfer += $output->writeFieldBegin('shareExperimentPublicly', TType::BOOL, 3);
+      $xfer += $output->writeBool($this->shareExperimentPublicly);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->computationalResourceScheduling !== null) {
+      if (!is_object($this->computationalResourceScheduling)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('computationalResourceScheduling', TType::STRUCT, 4);
+      $xfer += $this->computationalResourceScheduling->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->throttleResources !== null) {
+      $xfer += $output->writeFieldBegin('throttleResources', TType::BOOL, 5);
+      $xfer += $output->writeBool($this->throttleResources);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userDN !== null) {
+      $xfer += $output->writeFieldBegin('userDN', TType::STRING, 6);
+      $xfer += $output->writeString($this->userDN);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->generateCert !== null) {
+      $xfer += $output->writeFieldBegin('generateCert', TType::BOOL, 7);
+      $xfer += $output->writeBool($this->generateCert);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+/**
+ * A structure holding the experiment metadata and its child models.
+ * 
+ * userName:
+ *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
+ *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
+ *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
+ *     Airavata, an authorization exception is thrown.
+ * 
+ * experimentName:
+ *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
+ *      by the generated experiment id.
+ * 
+ * experimentDescription:
+ *    The verbose description of the experiment. This is an optional parameter.
+ */
+class ExperimentModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $experimentId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
+  public $projectId = null;
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
+  /**
+   * @var int
+   */
+  public $experimentType =   0;
+  /**
+   * @var string
+   */
+  public $userName = null;
+  /**
+   * @var string
+   */
+  public $experimentName = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var string
+   */
+  public $description = null;
+  /**
+   * @var string
+   */
+  public $executionId = null;
+  /**
+   * @var string
+   */
+  public $gatewayExecutionId = null;
+  /**
+   * @var bool
+   */
+  public $enableEmailNotification = null;
+  /**
+   * @var string[]
+   */
+  public $emailAddresses = null;
+  /**
+   * @var \Airavata\Model\Experiment\UserConfigurationDataModel
+   */
+  public $userConfigurationData = null;
+  /**
+   * @var \Airavata\Model\Application\Io\InputDataObjectType[]
+   */
+  public $experimentInputs = null;
+  /**
+   * @var \Airavata\Model\Application\Io\OutputDataObjectType[]
+   */
+  public $experimentOutputs = null;
+  /**
+   * @var \Airavata\Model\Status\ExperimentStatus
+   */
+  public $experimentStatus = null;
+  /**
+   * @var \Airavata\Model\Commons\ErrorModel[]
+   */
+  public $errors = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'experimentId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'projectId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'experimentType',
+          'type' => TType::I32,
+          ),
+        5 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'experimentName',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        8 => array(
+          'var' => 'description',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'executionId',
+          'type' => TType::STRING,
+          ),
+        10 => array(
+          'var' => 'gatewayExecutionId',
+          'type' => TType::STRING,
+          ),
+        11 => array(
+          'var' => 'enableEmailNotification',
+          'type' => TType::BOOL,
+          ),
+        12 => array(
+          'var' => 'emailAddresses',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        13 => array(
+          'var' => 'userConfigurationData',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Experiment\UserConfigurationDataModel',
+          ),
+        14 => array(
+          'var' => 'experimentInputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Application\Io\InputDataObjectType',
+            ),
+          ),
+        15 => array(
+          'var' => 'experimentOutputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Application\Io\OutputDataObjectType',
+            ),
+          ),
+        16 => array(
+          'var' => 'experimentStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Status\ExperimentStatus',
+          ),
+        17 => array(
+          'var' => 'errors',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Commons\ErrorModel',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['experimentId'])) {
+        $this->experimentId = $vals['experimentId'];
+      }
+      if (isset($vals['projectId'])) {
+        $this->projectId = $vals['projectId'];
+      }
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['experimentType'])) {
+        $this->experimentType = $vals['experimentType'];
+      }
+      if (isset($vals['userName'])) {
+        $this->userName = $vals['userName'];
+      }
+      if (isset($vals['experimentName'])) {
+        $this->experimentName = $vals['experimentName'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['description'])) {
+        $this->description = $vals['description'];
+      }
+      if (isset($vals['executionId'])) {
+        $this->executionId = $vals['executionId'];
+      }
+      if (isset($vals['gatewayExecutionId'])) {
+        $this->gatewayExecutionId = $vals['gatewayExecutionId'];
+      }
+      if (isset($vals['enableEmailNotification'])) {
+        $this->enableEmailNotification = $vals['enableEmailNotification'];
+      }
+      if (isset($vals['emailAddresses'])) {
+        $this->emailAddresses = $vals['emailAddresses'];
+      }
+      if (isset($vals['userConfigurationData'])) {
+        $this->userConfigurationData = $vals['userConfigurationData'];
+      }
+      if (isset($vals['experimentInputs'])) {
+        $this->experimentInputs = $vals['experimentInputs'];
+      }
+      if (isset($vals['experimentOutputs'])) {
+        $this->experimentOutputs = $vals['experimentOutputs'];
+      }
+      if (isset($vals['experimentStatus'])) {
+        $this->experimentStatus = $vals['experimentStatus'];
+      }
+      if (isset($vals['errors'])) {
+        $this->errors = $vals['errors'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ExperimentModel';
+  }
+
+  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->experimentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->projectId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->experimentType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->description);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->executionId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayExecutionId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->enableEmailNotification);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::LST) {
+            $this->emailAddresses = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->emailAddresses []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
+          if ($ftype == TType::STRUCT) {
+            $this->userConfigurationData = new \Airavata\Model\Experiment\UserConfigurationDataModel();
+            $xfer += $this->userConfigurationData->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 14:
+          if ($ftype == TType::LST) {
+            $this->experimentInputs = array();
+            $_size6 = 0;
+            $_etype9 = 0;
+            $xfer += $input->readListBegin($_etype9, $_size6);
+            for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
+            {
+              $elem11 = null;
+              $elem11 = new \Airavata\Model\Application\Io\InputDataObjectType();
+              $xfer += $elem11->read($input);
+              $this->experimentInputs []= $elem11;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 15:
+          if ($ftype == TType::LST) {
+            $this->experimentOutputs = array();
+            $_size12 = 0;
+            $_etype15 = 0;
+            $xfer += $input->readListBegin($_etype15, $_size12);
+            for ($_i16 = 0; $_i16 < $_size12; ++$_i16)
+            {
+              $elem17 = null;
+              $elem17 = new \Airavata\Model\Application\Io\OutputDataObjectType();
+              $xfer += $elem17->read($input);
+              $this->experimentOutputs []= $elem17;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 16:
+          if ($ftype == TType::STRUCT) {
+            $this->experimentStatus = new \Airavata\Model\Status\ExperimentStatus();
+            $xfer += $this->experimentStatus->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 17:
+          if ($ftype == TType::LST) {
+            $this->errors = array();
+            $_size18 = 0;
+            $_etype21 = 0;
+            $xfer += $input->readListBegin($_etype21, $_size18);
+            for ($_i22 = 0; $_i22 < $_size18; ++$_i22)
+            {
+              $elem23 = null;
+              $elem23 = new \Airavata\Model\Commons\ErrorModel();
+              $xfer += $elem23->read($input);
+              $this->errors []= $elem23;
+            }
+            $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('ExperimentModel');
+    if ($this->experimentId !== null) {
+      $xfer += $output->writeFieldBegin('experimentId', TType::STRING, 1);
+      $xfer += $output->writeString($this->experimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->projectId !== null) {
+      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
+      $xfer += $output->writeString($this->projectId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 3);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentType !== null) {
+      $xfer += $output->writeFieldBegin('experimentType', TType::I32, 4);
+      $xfer += $output->writeI32($this->experimentType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userName !== null) {
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 5);
+      $xfer += $output->writeString($this->userName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentName !== null) {
+      $xfer += $output->writeFieldBegin('experimentName', TType::STRING, 6);
+      $xfer += $output->writeString($this->experimentName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 7);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->description !== null) {
+      $xfer += $output->writeFieldBegin('description', TType::STRING, 8);
+      $xfer += $output->writeString($this->description);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->executionId !== null) {
+      $xfer += $output->writeFieldBegin('executionId', TType::STRING, 9);
+      $xfer += $output->writeString($this->executionId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayExecutionId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayExecutionId', TType::STRING, 10);
+      $xfer += $output->writeString($this->gatewayExecutionId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->enableEmailNotification !== null) {
+      $xfer += $output->writeFieldBegin('enableEmailNotification', TType::BOOL, 11);
+      $xfer += $output->writeBool($this->enableEmailNotification);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->emailAddresses !== null) {
+      if (!is_array($this->emailAddresses)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('emailAddresses', TType::LST, 12);
+      {
+        $output->writeListBegin(TType::STRING, count($this->emailAddresses));
+        {
+          foreach ($this->emailAddresses as $iter24)
+          {
+            $xfer += $output->writeString($iter24);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userConfigurationData !== null) {
+      if (!is_object($this->userConfigurationData)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('userConfigurationData', TType::STRUCT, 13);
+      $xfer += $this->userConfigurationData->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentInputs !== null) {
+      if (!is_array($this->experimentInputs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('experimentInputs', TType::LST, 14);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->experimentInputs));
+        {
+          foreach ($this->experimentInputs as $iter25)
+          {
+            $xfer += $iter25->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentOutputs !== null) {
+      if (!is_array($this->experimentOutputs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('experimentOutputs', TType::LST, 15);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->experimentOutputs));
+        {
+          foreach ($this->experimentOutputs as $iter26)
+          {
+            $xfer += $iter26->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentStatus !== null) {
+      if (!is_object($this->experimentStatus)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('experimentStatus', TType::STRUCT, 16);
+      $xfer += $this->experimentStatus->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->errors !== null) {
+      if (!is_array($this->errors)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('errors', TType::LST, 17);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->errors));
+        {
+          foreach ($this->errors as $iter27)
+          {
+            $xfer += $iter27->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ExperimentSummaryModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $experimentId = null;
+  /**
+   * @var string
+   */
+  public $projectId = null;
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var string
+   */
+  public $userName = null;
+  /**
+   * @var string
+   */
+  public $name = null;
+  /**
+   * @var string
+   */
+  public $description = null;
+  /**
+   * @var string
+   */
+  public $executionId = null;
+  /**
+   * @var string
+   */
+  public $experimentStatus = null;
+  /**
+   * @var int
+   */
+  public $statusUpdateTime = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'experimentId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'projectId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        5 => array(
+          'var' => 'userName',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'name',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'description',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'executionId',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'experimentStatus',
+          'type' => TType::STRING,
+          ),
+        10 => array(
+          'var' => 'statusUpdateTime',
+          'type' => TType::I64,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['experimentId'])) {
+        $this->experimentId = $vals['experimentId'];
+      }
+      if (isset($vals['projectId'])) {
+        $this->projectId = $vals['projectId'];
+      }
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['userName'])) {
+        $this->userName = $vals['userName'];
+      }
+      if (isset($vals['name'])) {
+        $this->name = $vals['name'];
+      }
+      if (isset($vals['description'])) {
+        $this->description = $vals['description'];
+      }
+      if (isset($vals['executionId'])) {
+        $this->executionId = $vals['executionId'];
+      }
+      if (isset($vals['experimentStatus'])) {
+        $this->experimentStatus = $vals['experimentStatus'];
+      }
+      if (isset($vals['statusUpdateTime'])) {
+        $this->statusUpdateTime = $vals['statusUpdateTime'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ExperimentSummaryModel';
+  }
+
+  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->experimentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->projectId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->userName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->name);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->description);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->executionId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentStatus);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->statusUpdateTime);
+          } 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('ExperimentSummaryModel');
+    if ($this->experimentId !== null) {
+      $xfer += $output->writeFieldBegin('experimentId', TType::STRING, 1);
+      $xfer += $output->writeString($this->experimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->projectId !== null) {
+      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
+      $xfer += $output->writeString($this->projectId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 3);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 4);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->userName !== null) {
+      $xfer += $output->writeFieldBegin('userName', TType::STRING, 5);
+      $xfer += $output->writeString($this->userName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->name !== null) {
+      $xfer += $output->writeFieldBegin('name', TType::STRING, 6);
+      $xfer += $output->writeString($this->name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->description !== null) {
+      $xfer += $output->writeFieldBegin('description', TType::STRING, 7);
+      $xfer += $output->writeString($this->description);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->executionId !== null) {
+      $xfer += $output->writeFieldBegin('executionId', TType::STRING, 8);
+      $xfer += $output->writeString($this->executionId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentStatus !== null) {
+      $xfer += $output->writeFieldBegin('experimentStatus', TType::STRING, 9);
+      $xfer += $output->writeString($this->experimentStatus);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->statusUpdateTime !== null) {
+      $xfer += $output->writeFieldBegin('statusUpdateTime', TType::I64, 10);
+      $xfer += $output->writeI64($this->statusUpdateTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ExperimentStatistics {
+  static $_TSPEC;
+
+  /**
+   * @var int
+   */
+  public $allExperimentCount = null;
+  /**
+   * @var int
+   */
+  public $completedExperimentCount = null;
+  /**
+   * @var int
+   */
+  public $cancelledExperimentCount = null;
+  /**
+   * @var int
+   */
+  public $failedExperimentCount = null;
+  /**
+   * @var \Airavata\Model\Experiment\ExperimentSummaryModel[]
+   */
+  public $allExperiments = null;
+  /**
+   * @var \Airavata\Model\Experiment\ExperimentSummaryModel[]
+   */
+  public $completedExperiments = null;
+  /**
+   * @var \Airavata\Model\Experiment\ExperimentSummaryModel[]
+   */
+  public $failedExperiments = null;
+  /**
+   * @var \Airavata\Model\Experiment\ExperimentSummaryModel[]
+   */
+  public $cancelledExperiments = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'allExperimentCount',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'completedExperimentCount',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'cancelledExperimentCount',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'failedExperimentCount',
+          'type' => TType::I32,
+          ),
+        5 => array(
+          'var' => 'allExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Experiment\ExperimentSummaryModel',
+            ),
+          ),
+        6 => array(
+          'var' => 'completedExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Experiment\ExperimentSummaryModel',
+            ),
+          ),
+        7 => array(
+          'var' => 'failedExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Experiment\ExperimentSummaryModel',
+            ),
+          ),
+        8 => array(
+          'var' => 'cancelledExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Experiment\ExperimentSummaryModel',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['allExperimentCount'])) {
+        $this->allExperimentCount = $vals['allExperimentCount'];
+      }
+      if (isset($vals['completedExperimentCount'])) {
+        $this->completedExperimentCount = $vals['completedExperimentCount'];
+      }
+      if (isset($vals['cancelledExperimentCount'])) {
+        $this->cancelledExperimentCount = $vals['cancelledExperimentCount'];
+      }
+      if (isset($vals['failedExperimentCount'])) {
+        $this->failedExperimentCount = $vals['failedExperimentCount'];
+      }
+      if (isset($vals['allExperiments'])) {
+        $this->allExperiments = $vals['allExperiments'];
+      }
+      if (isset($vals['completedExperiments'])) {
+        $this->completedExperiments = $vals['completedExperiments'];
+      }
+      if (isset($vals['failedExperiments'])) {
+        $this->failedExperiments = $vals['failedExperiments'];
+      }
+      if (isset($vals['cancelledExperiments'])) {
+        $this->cancelledExperiments = $vals['cancelledExperiments'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ExperimentStatistics';
+  }
+
+  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->allExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->completedExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->cancelledExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->failedExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::LST) {
+            $this->allExperiments = array();
+            $_size28 = 0;
+            $_etype31 = 0;
+            $xfer += $input->readListBegin($_etype31, $_size28);
+            for ($_i32 = 0; $_i32 < $_size28; ++$_i32)
+            {
+              $elem33 = null;
+              $elem33 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem33->read($input);
+              $this->allExperiments []= $elem33;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::LST) {
+            $this->completedExperiments = array();
+            $_size34 = 0;
+            $_etype37 = 0;
+            $xfer += $input->readListBegin($_etype37, $_size34);
+            for ($_i38 = 0; $_i38 < $_size34; ++$_i38)
+            {
+              $elem39 = null;
+              $elem39 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem39->read($input);
+              $this->completedExperiments []= $elem39;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::LST) {
+            $this->failedExperiments = array();
+            $_size40 = 0;
+            $_etype43 = 0;
+            $xfer += $input->readListBegin($_etype43, $_size40);
+            for ($_i44 = 0; $_i44 < $_size40; ++$_i44)
+            {
+              $elem45 = null;
+              $elem45 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem45->read($input);
+              $this->failedExperiments []= $elem45;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::LST) {
+            $this->cancelledExperiments = array();
+            $_size46 = 0;
+            $_etype49 = 0;
+            $xfer += $input->readListBegin($_etype49, $_size46);
+            for ($_i50 = 0; $_i50 < $_size46; ++$_i50)
+            {
+              $elem51 = null;
+              $elem51 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem51->read($input);
+              $this->cancelledExperiments []= $elem51;
+            }
+            $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('ExperimentStatistics');
+    if ($this->allExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('allExperimentCount', TType::I32, 1);
+      $xfer += $output->writeI32($this->allExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->completedExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('completedExperimentCount', TType::I32, 2);
+      $xfer += $output->writeI32($this->completedExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->cancelledExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('cancelledExperimentCount', TType::I32, 3);
+      $xfer += $output->writeI32($this->cancelledExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->failedExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('failedExperimentCount', TType::I32, 4);
+      $xfer += $output->writeI32($this->failedExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->allExperiments !== null) {
+      if (!is_array($this->allExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('allExperiments', TType::LST, 5);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->allExperiments));
+        {
+          foreach ($this->allExperiments as $iter52)
+          {
+            $xfer += $iter52->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->completedExperiments !== null) {
+      if (!is_array($this->completedExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('completedExperiments', TType::LST, 6);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->completedExperiments));
+        {
+          foreach ($this->completedExperiments as $iter53)
+          {
+            $xfer += $iter53->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->failedExperiments !== null) {
+      if (!is_array($this->failedExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('failedExperiments', TType::LST, 7);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->failedExperiments));
+        {
+          foreach ($this->failedExperiments as $iter54)
+          {
+            $xfer += $iter54->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->cancelledExperiments !== null) {
+      if (!is_array($this->cancelledExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('cancelledExperiments', TType::LST, 8);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->cancelledExperiments));
+        {
+          foreach ($this->cancelledExperiments as $iter55)
+          {
+            $xfer += $iter55->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e97273be/app/libraries/Airavata/Model/Messaging/Event/Types.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/Model/Messaging/Event/Types.php b/app/libraries/Airavata/Model/Messaging/Event/Types.php
index d90c6f8..c6dce6c 100644
--- a/app/libraries/Airavata/Model/Messaging/Event/Types.php
+++ b/app/libraries/Airavata/Model/Messaging/Event/Types.php
@@ -1760,12 +1760,4 @@ class Message {
 
 }
 
-final class Constant extends \Thrift\Type\TConstant {
-  static protected $DEFAULT_ID;
-
-  static protected function init_DEFAULT_ID() {
-    return "DO_NOT_SET_AT_CLIENTS";
-  }
-}
-
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e97273be/app/libraries/Airavata/Model/Process/Types.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/Model/Process/Types.php b/app/libraries/Airavata/Model/Process/Types.php
new file mode 100644
index 0000000..2fd241f
--- /dev/null
+++ b/app/libraries/Airavata/Model/Process/Types.php
@@ -0,0 +1,620 @@
+<?php
+namespace Airavata\Model\Process;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * 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;
+
+
+/**
+ * ProcessModel: A structure holding the process details. The infromation is derived based on user provided
+ *          configuration data or system inferred information from scheduling and QoS parameters.
+ * 
+ * processDetail:
+ *   A friendly description of the process, usally used to communicate information to users.
+ * 
+ * 
+ */
+class ProcessModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $processId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
+  public $experimentId = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var int
+   */
+  public $lastUpdateTime = null;
+  /**
+   * @var \Airavata\Model\Status\ProcessStatus
+   */
+  public $processStatus = null;
+  /**
+   * @var string
+   */
+  public $processDetail = null;
+  /**
+   * @var string
+   */
+  public $applicationInterfaceId = null;
+  /**
+   * @var string
+   */
+  public $applicationDeploymentId = null;
+  /**
+   * @var string
+   */
+  public $computeResourceId = null;
+  /**
+   * @var \Airavata\Model\Application\Io\InputDataObjectType[]
+   */
+  public $processInputs = null;
+  /**
+   * @var \Airavata\Model\Application\Io\OutputDataObjectType[]
+   */
+  public $processOutputs = null;
+  /**
+   * @var \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel
+   */
+  public $resourceSchedule = null;
+  /**
+   * @var \Airavata\Model\Task\TaskModel[]
+   */
+  public $tasks = null;
+  /**
+   * @var string
+   */
+  public $taskDag = null;
+  /**
+   * @var \Airavata\Model\Commons\ErrorModel
+   */
+  public $processError = null;
+  /**
+   * @var string
+   */
+  public $gatewayExecutionId = null;
+  /**
+   * @var bool
+   */
+  public $enableEmailNotification = null;
+  /**
+   * @var string[]
+   */
+  public $emailAddresses = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'processId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'experimentId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        4 => array(
+          'var' => 'lastUpdateTime',
+          'type' => TType::I64,
+          ),
+        5 => array(
+          'var' => 'processStatus',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Status\ProcessStatus',
+          ),
+        6 => array(
+          'var' => 'processDetail',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'applicationInterfaceId',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'applicationDeploymentId',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'computeResourceId',
+          'type' => TType::STRING,
+          ),
+        10 => array(
+          'var' => 'processInputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Application\Io\InputDataObjectType',
+            ),
+          ),
+        11 => array(
+          'var' => 'processOutputs',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Application\Io\OutputDataObjectType',
+            ),
+          ),
+        12 => array(
+          'var' => 'resourceSchedule',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Scheduling\ComputationalResourceSchedulingModel',
+          ),
+        13 => array(
+          'var' => 'tasks',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Task\TaskModel',
+            ),
+          ),
+        14 => array(
+          'var' => 'taskDag',
+          'type' => TType::STRING,
+          ),
+        15 => array(
+          'var' => 'processError',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Commons\ErrorModel',
+          ),
+        16 => array(
+          'var' => 'gatewayExecutionId',
+          'type' => TType::STRING,
+          ),
+        17 => array(
+          'var' => 'enableEmailNotification',
+          'type' => TType::BOOL,
+          ),
+        18 => array(
+          'var' => 'emailAddresses',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['processId'])) {
+        $this->processId = $vals['processId'];
+      }
+      if (isset($vals['experimentId'])) {
+        $this->experimentId = $vals['experimentId'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['lastUpdateTime'])) {
+        $this->lastUpdateTime = $vals['lastUpdateTime'];
+      }
+      if (isset($vals['processStatus'])) {
+        $this->processStatus = $vals['processStatus'];
+      }
+      if (isset($vals['processDetail'])) {
+        $this->processDetail = $vals['processDetail'];
+      }
+      if (isset($vals['applicationInterfaceId'])) {
+        $this->applicationInterfaceId = $vals['applicationInterfaceId'];
+      }
+      if (isset($vals['applicationDeploymentId'])) {
+        $this->applicationDeploymentId = $vals['applicationDeploymentId'];
+      }
+      if (isset($vals['computeResourceId'])) {
+        $this->computeResourceId = $vals['computeResourceId'];
+      }
+      if (isset($vals['processInputs'])) {
+        $this->processInputs = $vals['processInputs'];
+      }
+      if (isset($vals['processOutputs'])) {
+        $this->processOutputs = $vals['processOutputs'];
+      }
+      if (isset($vals['resourceSchedule'])) {
+        $this->resourceSchedule = $vals['resourceSchedule'];
+      }
+      if (isset($vals['tasks'])) {
+        $this->tasks = $vals['tasks'];
+      }
+      if (isset($vals['taskDag'])) {
+        $this->taskDag = $vals['taskDag'];
+      }
+      if (isset($vals['processError'])) {
+        $this->processError = $vals['processError'];
+      }
+      if (isset($vals['gatewayExecutionId'])) {
+        $this->gatewayExecutionId = $vals['gatewayExecutionId'];
+      }
+      if (isset($vals['enableEmailNotification'])) {
+        $this->enableEmailNotification = $vals['enableEmailNotification'];
+      }
+      if (isset($vals['emailAddresses'])) {
+        $this->emailAddresses = $vals['emailAddresses'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ProcessModel';
+  }
+
+  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->processId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastUpdateTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRUCT) {
+            $this->processStatus = new \Airavata\Model\Status\ProcessStatus();
+            $xfer += $this->processStatus->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->processDetail);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->applicationDeploymentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->computeResourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::LST) {
+            $this->processInputs = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $elem5 = new \Airavata\Model\Application\Io\InputDataObjectType();
+              $xfer += $elem5->read($input);
+              $this->processInputs []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::LST) {
+            $this->processOutputs = array();
+            $_size6 = 0;
+            $_etype9 = 0;
+            $xfer += $input->readListBegin($_etype9, $_size6);
+            for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
+            {
+              $elem11 = null;
+              $elem11 = new \Airavata\Model\Application\Io\OutputDataObjectType();
+              $xfer += $elem11->read($input);
+              $this->processOutputs []= $elem11;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::STRUCT) {
+            $this->resourceSchedule = new \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel();
+            $xfer += $this->resourceSchedule->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
+          if ($ftype == TType::LST) {
+            $this->tasks = array();
+            $_size12 = 0;
+            $_etype15 = 0;
+            $xfer += $input->readListBegin($_etype15, $_size12);
+            for ($_i16 = 0; $_i16 < $_size12; ++$_i16)
+            {
+              $elem17 = null;
+              $elem17 = new \Airavata\Model\Task\TaskModel();
+              $xfer += $elem17->read($input);
+              $this->tasks []= $elem17;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 14:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->taskDag);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 15:
+          if ($ftype == TType::STRUCT) {
+            $this->processError = new \Airavata\Model\Commons\ErrorModel();
+            $xfer += $this->processError->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 16:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayExecutionId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 17:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->enableEmailNotification);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 18:
+          if ($ftype == TType::LST) {
+            $this->emailAddresses = array();
+            $_size18 = 0;
+            $_etype21 = 0;
+            $xfer += $input->readListBegin($_etype21, $_size18);
+            for ($_i22 = 0; $_i22 < $_size18; ++$_i22)
+            {
+              $elem23 = null;
+              $xfer += $input->readString($elem23);
+              $this->emailAddresses []= $elem23;
+            }
+            $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('ProcessModel');
+    if ($this->processId !== null) {
+      $xfer += $output->writeFieldBegin('processId', TType::STRING, 1);
+      $xfer += $output->writeString($this->processId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->experimentId !== null) {
+      $xfer += $output->writeFieldBegin('experimentId', TType::STRING, 2);
+      $xfer += $output->writeString($this->experimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 3);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->lastUpdateTime !== null) {
+      $xfer += $output->writeFieldBegin('lastUpdateTime', TType::I64, 4);
+      $xfer += $output->writeI64($this->lastUpdateTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->processStatus !== null) {
+      if (!is_object($this->processStatus)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('processStatus', TType::STRUCT, 5);
+      $xfer += $this->processStatus->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->processDetail !== null) {
+      $xfer += $output->writeFieldBegin('processDetail', TType::STRING, 6);
+      $xfer += $output->writeString($this->processDetail);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('applicationInterfaceId', TType::STRING, 7);
+      $xfer += $output->writeString($this->applicationInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->applicationDeploymentId !== null) {
+      $xfer += $output->writeFieldBegin('applicationDeploymentId', TType::STRING, 8);
+      $xfer += $output->writeString($this->applicationDeploymentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->computeResourceId !== null) {
+      $xfer += $output->writeFieldBegin('computeResourceId', TType::STRING, 9);
+      $xfer += $output->writeString($this->computeResourceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->processInputs !== null) {
+      if (!is_array($this->processInputs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('processInputs', TType::LST, 10);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->processInputs));
+        {
+          foreach ($this->processInputs as $iter24)
+          {
+            $xfer += $iter24->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->processOutputs !== null) {
+      if (!is_array($this->processOutputs)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('processOutputs', TType::LST, 11);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->processOutputs));
+        {
+          foreach ($this->processOutputs as $iter25)
+          {
+            $xfer += $iter25->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->resourceSchedule !== null) {
+      if (!is_object($this->resourceSchedule)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('resourceSchedule', TType::STRUCT, 12);
+      $xfer += $this->resourceSchedule->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->tasks !== null) {
+      if (!is_array($this->tasks)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('tasks', TType::LST, 13);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->tasks));
+        {
+          foreach ($this->tasks as $iter26)
+          {
+            $xfer += $iter26->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->taskDag !== null) {
+      $xfer += $output->writeFieldBegin('taskDag', TType::STRING, 14);
+      $xfer += $output->writeString($this->taskDag);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->processError !== null) {
+      if (!is_object($this->processError)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('processError', TType::STRUCT, 15);
+      $xfer += $this->processError->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayExecutionId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayExecutionId', TType::STRING, 16);
+      $xfer += $output->writeString($this->gatewayExecutionId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->enableEmailNotification !== null) {
+      $xfer += $output->writeFieldBegin('enableEmailNotification', TType::BOOL, 17);
+      $xfer += $output->writeBool($this->enableEmailNotification);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->emailAddresses !== null) {
+      if (!is_array($this->emailAddresses)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('emailAddresses', TType::LST, 18);
+      {
+        $output->writeListBegin(TType::STRING, count($this->emailAddresses));
+        {
+          foreach ($this->emailAddresses as $iter27)
+          {
+            $xfer += $output->writeString($iter27);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/e97273be/app/libraries/Airavata/Model/Scheduling/Types.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/Model/Scheduling/Types.php b/app/libraries/Airavata/Model/Scheduling/Types.php
new file mode 100644
index 0000000..ffda7fa
--- /dev/null
+++ b/app/libraries/Airavata/Model/Scheduling/Types.php
@@ -0,0 +1,261 @@
+<?php
+namespace Airavata\Model\Scheduling;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.2)
+ *
+ * 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;
+
+
+/**
+ * ComputationalResourceSchedulingModel:
+ * 
+ * 
+ */
+class ComputationalResourceSchedulingModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $resourceHostId = null;
+  /**
+   * @var int
+   */
+  public $totalCPUCount = null;
+  /**
+   * @var int
+   */
+  public $nodeCount = null;
+  /**
+   * @var int
+   */
+  public $numberOfThreads = null;
+  /**
+   * @var string
+   */
+  public $queueName = null;
+  /**
+   * @var int
+   */
+  public $wallTimeLimit = null;
+  /**
+   * @var int
+   */
+  public $totalPhysicalMemory = null;
+  /**
+   * @var string
+   */
+  public $chessisNumber = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'resourceHostId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'totalCPUCount',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'nodeCount',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'numberOfThreads',
+          'type' => TType::I32,
+          ),
+        5 => array(
+          'var' => 'queueName',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'wallTimeLimit',
+          'type' => TType::I32,
+          ),
+        7 => array(
+          'var' => 'totalPhysicalMemory',
+          'type' => TType::I32,
+          ),
+        8 => array(
+          'var' => 'chessisNumber',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['resourceHostId'])) {
+        $this->resourceHostId = $vals['resourceHostId'];
+      }
+      if (isset($vals['totalCPUCount'])) {
+        $this->totalCPUCount = $vals['totalCPUCount'];
+      }
+      if (isset($vals['nodeCount'])) {
+        $this->nodeCount = $vals['nodeCount'];
+      }
+      if (isset($vals['numberOfThreads'])) {
+        $this->numberOfThreads = $vals['numberOfThreads'];
+      }
+      if (isset($vals['queueName'])) {
+        $this->queueName = $vals['queueName'];
+      }
+      if (isset($vals['wallTimeLimit'])) {
+        $this->wallTimeLimit = $vals['wallTimeLimit'];
+      }
+      if (isset($vals['totalPhysicalMemory'])) {
+        $this->totalPhysicalMemory = $vals['totalPhysicalMemory'];
+      }
+      if (isset($vals['chessisNumber'])) {
+        $this->chessisNumber = $vals['chessisNumber'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ComputationalResourceSchedulingModel';
+  }
+
+  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->resourceHostId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->totalCPUCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->nodeCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->numberOfThreads);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->queueName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->wallTimeLimit);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->totalPhysicalMemory);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->chessisNumber);
+          } 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('ComputationalResourceSchedulingModel');
+    if ($this->resourceHostId !== null) {
+      $xfer += $output->writeFieldBegin('resourceHostId', TType::STRING, 1);
+      $xfer += $output->writeString($this->resourceHostId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->totalCPUCount !== null) {
+      $xfer += $output->writeFieldBegin('totalCPUCount', TType::I32, 2);
+      $xfer += $output->writeI32($this->totalCPUCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->nodeCount !== null) {
+      $xfer += $output->writeFieldBegin('nodeCount', TType::I32, 3);
+      $xfer += $output->writeI32($this->nodeCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->numberOfThreads !== null) {
+      $xfer += $output->writeFieldBegin('numberOfThreads', TType::I32, 4);
+      $xfer += $output->writeI32($this->numberOfThreads);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->queueName !== null) {
+      $xfer += $output->writeFieldBegin('queueName', TType::STRING, 5);
+      $xfer += $output->writeString($this->queueName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->wallTimeLimit !== null) {
+      $xfer += $output->writeFieldBegin('wallTimeLimit', TType::I32, 6);
+      $xfer += $output->writeI32($this->wallTimeLimit);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->totalPhysicalMemory !== null) {
+      $xfer += $output->writeFieldBegin('totalPhysicalMemory', TType::I32, 7);
+      $xfer += $output->writeI32($this->totalPhysicalMemory);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->chessisNumber !== null) {
+      $xfer += $output->writeFieldBegin('chessisNumber', TType::STRING, 8);
+      $xfer += $output->writeString($this->chessisNumber);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+