You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2014/07/01 05:01:51 UTC
[03/14] moving php command line samples and pointing to airavata sdk
- AIRAVATA-1274
http://git-wip-us.apache.org/repos/asf/airavata/blob/c09963aa/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/ComputeHost/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/ComputeHost/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/ComputeHost/Types.php
new file mode 100644
index 0000000..35e0f2c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/ComputeHost/Types.php
@@ -0,0 +1,1262 @@
+<?php
+namespace Airavata\Model\ComputeHost;
+
+/**
+ * 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 GSISSH = 1;
+ const GRAM = 2;
+ const UNICORE = 3;
+ static public $__names = array(
+ 0 => 'SSH',
+ 1 => 'GSISSH',
+ 2 => 'GRAM',
+ 3 => '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 $dataMovementDataID = "DO_NOT_SET_AT_CLIENTS";
+ public $securityProtocol = null;
+ public $sshPort = 22;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'dataMovementDataID',
+ 'type' => TType::STRING,
+ ),
+ 2 => array(
+ 'var' => 'securityProtocol',
+ 'type' => TType::I32,
+ ),
+ 3 => array(
+ 'var' => 'sshPort',
+ 'type' => TType::I32,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['dataMovementDataID'])) {
+ $this->dataMovementDataID = $vals['dataMovementDataID'];
+ }
+ 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::STRING) {
+ $xfer += $input->readString($this->dataMovementDataID);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->securityProtocol);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::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->dataMovementDataID !== null) {
+ $xfer += $output->writeFieldBegin('dataMovementDataID', TType::STRING, 1);
+ $xfer += $output->writeString($this->dataMovementDataID);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->securityProtocol !== null) {
+ $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+ $xfer += $output->writeI32($this->securityProtocol);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->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 GridFTPDataMovement {
+ static $_TSPEC;
+
+ public $dataMovementDataID = "DO_NOT_SET_AT_CLIENTS";
+ public $securityProtocol = null;
+ public $gridFTPEndPoint = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'dataMovementDataID',
+ 'type' => TType::STRING,
+ ),
+ 2 => array(
+ 'var' => 'securityProtocol',
+ 'type' => TType::I32,
+ ),
+ 3 => array(
+ 'var' => 'gridFTPEndPoint',
+ 'type' => TType::LST,
+ 'etype' => TType::STRING,
+ 'elem' => array(
+ 'type' => TType::STRING,
+ ),
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['dataMovementDataID'])) {
+ $this->dataMovementDataID = $vals['dataMovementDataID'];
+ }
+ if (isset($vals['securityProtocol'])) {
+ $this->securityProtocol = $vals['securityProtocol'];
+ }
+ if (isset($vals['gridFTPEndPoint'])) {
+ $this->gridFTPEndPoint = $vals['gridFTPEndPoint'];
+ }
+ }
+ }
+
+ public function getName() {
+ return 'GridFTPDataMovement';
+ }
+
+ public function read($input)
+ {
+ $xfer = 0;
+ $fname = null;
+ $ftype = 0;
+ $fid = 0;
+ $xfer += $input->readStructBegin($fname);
+ while (true)
+ {
+ $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+ if ($ftype == TType::STOP) {
+ break;
+ }
+ switch ($fid)
+ {
+ case 1:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->dataMovementDataID);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->securityProtocol);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::LST) {
+ $this->gridFTPEndPoint = array();
+ $_size0 = 0;
+ $_etype3 = 0;
+ $xfer += $input->readListBegin($_etype3, $_size0);
+ for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+ {
+ $elem5 = null;
+ $xfer += $input->readString($elem5);
+ $this->gridFTPEndPoint []= $elem5;
+ }
+ $xfer += $input->readListEnd();
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ default:
+ $xfer += $input->skip($ftype);
+ break;
+ }
+ $xfer += $input->readFieldEnd();
+ }
+ $xfer += $input->readStructEnd();
+ return $xfer;
+ }
+
+ public function write($output) {
+ $xfer = 0;
+ $xfer += $output->writeStructBegin('GridFTPDataMovement');
+ if ($this->dataMovementDataID !== null) {
+ $xfer += $output->writeFieldBegin('dataMovementDataID', TType::STRING, 1);
+ $xfer += $output->writeString($this->dataMovementDataID);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->securityProtocol !== null) {
+ $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+ $xfer += $output->writeI32($this->securityProtocol);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->gridFTPEndPoint !== null) {
+ if (!is_array($this->gridFTPEndPoint)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('gridFTPEndPoint', TType::LST, 3);
+ {
+ $output->writeListBegin(TType::STRING, count($this->gridFTPEndPoint));
+ {
+ foreach ($this->gridFTPEndPoint as $iter6)
+ {
+ $xfer += $output->writeString($iter6);
+ }
+ }
+ $output->writeListEnd();
+ }
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class SSHJobSubmission {
+ static $_TSPEC;
+
+ public $jobSubmissionDataID = "DO_NOT_SET_AT_CLIENTS";
+ public $resourceJobManager = null;
+ public $sshPort = 22;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'jobSubmissionDataID',
+ 'type' => TType::STRING,
+ ),
+ 2 => array(
+ 'var' => 'resourceJobManager',
+ 'type' => TType::I32,
+ ),
+ 3 => array(
+ 'var' => 'sshPort',
+ 'type' => TType::I32,
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['jobSubmissionDataID'])) {
+ $this->jobSubmissionDataID = $vals['jobSubmissionDataID'];
+ }
+ 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 1:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->jobSubmissionDataID);
+ } 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::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->jobSubmissionDataID !== null) {
+ $xfer += $output->writeFieldBegin('jobSubmissionDataID', TType::STRING, 1);
+ $xfer += $output->writeString($this->jobSubmissionDataID);
+ $xfer += $output->writeFieldEnd();
+ }
+ 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 $jobSubmissionDataID = "DO_NOT_SET_AT_CLIENTS";
+ public $securityProtocol = null;
+ public $resourceJobManager = null;
+ public $globusGateKeeperEndPoint = null;
+
+ public function __construct($vals=null) {
+ if (!isset(self::$_TSPEC)) {
+ self::$_TSPEC = array(
+ 1 => array(
+ 'var' => 'jobSubmissionDataID',
+ 'type' => TType::STRING,
+ ),
+ 2 => array(
+ 'var' => 'securityProtocol',
+ 'type' => TType::I32,
+ ),
+ 3 => array(
+ 'var' => 'resourceJobManager',
+ 'type' => TType::I32,
+ ),
+ 4 => array(
+ 'var' => 'globusGateKeeperEndPoint',
+ 'type' => TType::LST,
+ 'etype' => TType::STRING,
+ 'elem' => array(
+ 'type' => TType::STRING,
+ ),
+ ),
+ );
+ }
+ if (is_array($vals)) {
+ if (isset($vals['jobSubmissionDataID'])) {
+ $this->jobSubmissionDataID = $vals['jobSubmissionDataID'];
+ }
+ 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::STRING) {
+ $xfer += $input->readString($this->jobSubmissionDataID);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 2:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->securityProtocol);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 3:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->resourceJobManager);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 4:
+ if ($ftype == TType::LST) {
+ $this->globusGateKeeperEndPoint = array();
+ $_size7 = 0;
+ $_etype10 = 0;
+ $xfer += $input->readListBegin($_etype10, $_size7);
+ for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+ {
+ $elem12 = null;
+ $xfer += $input->readString($elem12);
+ $this->globusGateKeeperEndPoint []= $elem12;
+ }
+ $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('GlobusJobSubmission');
+ if ($this->jobSubmissionDataID !== null) {
+ $xfer += $output->writeFieldBegin('jobSubmissionDataID', TType::STRING, 1);
+ $xfer += $output->writeString($this->jobSubmissionDataID);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->securityProtocol !== null) {
+ $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+ $xfer += $output->writeI32($this->securityProtocol);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->resourceJobManager !== null) {
+ $xfer += $output->writeFieldBegin('resourceJobManager', TType::I32, 3);
+ $xfer += $output->writeI32($this->resourceJobManager);
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->globusGateKeeperEndPoint !== null) {
+ if (!is_array($this->globusGateKeeperEndPoint)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('globusGateKeeperEndPoint', TType::LST, 4);
+ {
+ $output->writeListBegin(TType::STRING, count($this->globusGateKeeperEndPoint));
+ {
+ foreach ($this->globusGateKeeperEndPoint as $iter13)
+ {
+ $xfer += $output->writeString($iter13);
+ }
+ }
+ $output->writeListEnd();
+ }
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+class GSISSHJobSubmission {
+ static $_TSPEC;
+
+ public $jobSubmissionDataID = "DO_NOT_SET_AT_CLIENTS";
+ 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(
+ 1 => array(
+ 'var' => 'jobSubmissionDataID',
+ 'type' => TType::STRING,
+ ),
+ 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['jobSubmissionDataID'])) {
+ $this->jobSubmissionDataID = $vals['jobSubmissionDataID'];
+ }
+ 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 1:
+ if ($ftype == TType::STRING) {
+ $xfer += $input->readString($this->jobSubmissionDataID);
+ } 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::I32) {
+ $xfer += $input->readI32($this->sshPort);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 4:
+ if ($ftype == TType::SET) {
+ $this->exports = array();
+ $_size14 = 0;
+ $_etype17 = 0;
+ $xfer += $input->readSetBegin($_etype17, $_size14);
+ for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
+ {
+ $elem19 = null;
+ $xfer += $input->readString($elem19);
+ if (is_scalar($elem19)) {
+ $this->exports[$elem19] = true;
+ } else {
+ $this->exports []= $elem19;
+ }
+ }
+ $xfer += $input->readSetEnd();
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 5:
+ if ($ftype == TType::LST) {
+ $this->preJobCommands = array();
+ $_size20 = 0;
+ $_etype23 = 0;
+ $xfer += $input->readListBegin($_etype23, $_size20);
+ for ($_i24 = 0; $_i24 < $_size20; ++$_i24)
+ {
+ $elem25 = null;
+ $xfer += $input->readString($elem25);
+ $this->preJobCommands []= $elem25;
+ }
+ $xfer += $input->readListEnd();
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 6:
+ if ($ftype == TType::LST) {
+ $this->postJobCommands = array();
+ $_size26 = 0;
+ $_etype29 = 0;
+ $xfer += $input->readListBegin($_etype29, $_size26);
+ for ($_i30 = 0; $_i30 < $_size26; ++$_i30)
+ {
+ $elem31 = null;
+ $xfer += $input->readString($elem31);
+ $this->postJobCommands []= $elem31;
+ }
+ $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->jobSubmissionDataID !== null) {
+ $xfer += $output->writeFieldBegin('jobSubmissionDataID', TType::STRING, 1);
+ $xfer += $output->writeString($this->jobSubmissionDataID);
+ $xfer += $output->writeFieldEnd();
+ }
+ 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 $iter32 => $iter33)
+ {
+ if (is_scalar($iter33)) {
+ $xfer += $output->writeString($iter32);
+ } else {
+ $xfer += $output->writeString($iter33);
+ }
+ }
+ }
+ $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 $iter34)
+ {
+ $xfer += $output->writeString($iter34);
+ }
+ }
+ $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 $iter35)
+ {
+ $xfer += $output->writeString($iter35);
+ }
+ }
+ $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 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 $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,
+ ),
+ 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['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();
+ $_size36 = 0;
+ $_etype39 = 0;
+ $xfer += $input->readSetBegin($_etype39, $_size36);
+ for ($_i40 = 0; $_i40 < $_size36; ++$_i40)
+ {
+ $elem41 = null;
+ $xfer += $input->readString($elem41);
+ if (is_scalar($elem41)) {
+ $this->hostAliases[$elem41] = true;
+ } else {
+ $this->hostAliases []= $elem41;
+ }
+ }
+ $xfer += $input->readSetEnd();
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 5:
+ if ($ftype == TType::SET) {
+ $this->ipAddresses = array();
+ $_size42 = 0;
+ $_etype45 = 0;
+ $xfer += $input->readSetBegin($_etype45, $_size42);
+ for ($_i46 = 0; $_i46 < $_size42; ++$_i46)
+ {
+ $elem47 = null;
+ $xfer += $input->readString($elem47);
+ if (is_scalar($elem47)) {
+ $this->ipAddresses[$elem47] = true;
+ } else {
+ $this->ipAddresses []= $elem47;
+ }
+ }
+ $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 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();
+ $_size48 = 0;
+ $_ktype49 = 0;
+ $_vtype50 = 0;
+ $xfer += $input->readMapBegin($_ktype49, $_vtype50, $_size48);
+ for ($_i52 = 0; $_i52 < $_size48; ++$_i52)
+ {
+ $key53 = '';
+ $val54 = 0;
+ $xfer += $input->readString($key53);
+ $xfer += $input->readI32($val54);
+ $this->jobSubmissionProtocols[$key53] = $val54;
+ }
+ $xfer += $input->readMapEnd();
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
+ case 10:
+ if ($ftype == TType::MAP) {
+ $this->dataMovementProtocols = array();
+ $_size55 = 0;
+ $_ktype56 = 0;
+ $_vtype57 = 0;
+ $xfer += $input->readMapBegin($_ktype56, $_vtype57, $_size55);
+ for ($_i59 = 0; $_i59 < $_size55; ++$_i59)
+ {
+ $key60 = '';
+ $val61 = 0;
+ $xfer += $input->readString($key60);
+ $xfer += $input->readI32($val61);
+ $this->dataMovementProtocols[$key60] = $val61;
+ }
+ $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 $iter62 => $iter63)
+ {
+ if (is_scalar($iter63)) {
+ $xfer += $output->writeString($iter62);
+ } else {
+ $xfer += $output->writeString($iter63);
+ }
+ }
+ }
+ $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 $iter64 => $iter65)
+ {
+ if (is_scalar($iter65)) {
+ $xfer += $output->writeString($iter64);
+ } else {
+ $xfer += $output->writeString($iter65);
+ }
+ }
+ }
+ $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->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 $kiter66 => $viter67)
+ {
+ $xfer += $output->writeString($kiter66);
+ $xfer += $output->writeI32($viter67);
+ }
+ }
+ $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 $kiter68 => $viter69)
+ {
+ $xfer += $output->writeString($kiter68);
+ $xfer += $output->writeI32($viter69);
+ }
+ }
+ $output->writeMapEnd();
+ }
+ $xfer += $output->writeFieldEnd();
+ }
+ $xfer += $output->writeFieldStop();
+ $xfer += $output->writeStructEnd();
+ return $xfer;
+ }
+
+}
+
+$GLOBALS['computeHostModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS";
+
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/c09963aa/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java
new file mode 100644
index 0000000..b5e96b6
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java
@@ -0,0 +1,543 @@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model.workspace.experiment;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings("all") public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
+
+ private static final org.apache.thrift.protocol.TField VALIDATION_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("validationState", org.apache.thrift.protocol.TType.BOOL, (short)1);
+ private static final org.apache.thrift.protocol.TField VALIDATION_RESULT_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("validationResultList", org.apache.thrift.protocol.TType.LIST, (short)2);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new ValidationResultsStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new ValidationResultsTupleSchemeFactory());
+ }
+
+ private boolean validationState; // required
+ private List<ValidatorResult> validationResultList; // required
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ VALIDATION_STATE((short)1, "validationState"),
+ VALIDATION_RESULT_LIST((short)2, "validationResultList");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // VALIDATION_STATE
+ return VALIDATION_STATE;
+ case 2: // VALIDATION_RESULT_LIST
+ return VALIDATION_RESULT_LIST;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final int __VALIDATIONSTATE_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.VALIDATION_STATE, new org.apache.thrift.meta_data.FieldMetaData("validationState", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+ tmpMap.put(_Fields.VALIDATION_RESULT_LIST, new org.apache.thrift.meta_data.FieldMetaData("validationResultList", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
+ new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, ValidatorResult.class))));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ValidationResults.class, metaDataMap);
+ }
+
+ public ValidationResults() {
+ }
+
+ public ValidationResults(
+ boolean validationState,
+ List<ValidatorResult> validationResultList)
+ {
+ this();
+ this.validationState = validationState;
+ setValidationStateIsSet(true);
+ this.validationResultList = validationResultList;
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public ValidationResults(ValidationResults other) {
+ __isset_bitfield = other.__isset_bitfield;
+ this.validationState = other.validationState;
+ if (other.isSetValidationResultList()) {
+ List<ValidatorResult> __this__validationResultList = new ArrayList<ValidatorResult>(other.validationResultList.size());
+ for (ValidatorResult other_element : other.validationResultList) {
+ __this__validationResultList.add(new ValidatorResult(other_element));
+ }
+ this.validationResultList = __this__validationResultList;
+ }
+ }
+
+ public ValidationResults deepCopy() {
+ return new ValidationResults(this);
+ }
+
+ @Override
+ public void clear() {
+ setValidationStateIsSet(false);
+ this.validationState = false;
+ this.validationResultList = null;
+ }
+
+ public boolean isValidationState() {
+ return this.validationState;
+ }
+
+ public void setValidationState(boolean validationState) {
+ this.validationState = validationState;
+ setValidationStateIsSet(true);
+ }
+
+ public void unsetValidationState() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __VALIDATIONSTATE_ISSET_ID);
+ }
+
+ /** Returns true if field validationState is set (has been assigned a value) and false otherwise */
+ public boolean isSetValidationState() {
+ return EncodingUtils.testBit(__isset_bitfield, __VALIDATIONSTATE_ISSET_ID);
+ }
+
+ public void setValidationStateIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __VALIDATIONSTATE_ISSET_ID, value);
+ }
+
+ public int getValidationResultListSize() {
+ return (this.validationResultList == null) ? 0 : this.validationResultList.size();
+ }
+
+ public java.util.Iterator<ValidatorResult> getValidationResultListIterator() {
+ return (this.validationResultList == null) ? null : this.validationResultList.iterator();
+ }
+
+ public void addToValidationResultList(ValidatorResult elem) {
+ if (this.validationResultList == null) {
+ this.validationResultList = new ArrayList<ValidatorResult>();
+ }
+ this.validationResultList.add(elem);
+ }
+
+ public List<ValidatorResult> getValidationResultList() {
+ return this.validationResultList;
+ }
+
+ public void setValidationResultList(List<ValidatorResult> validationResultList) {
+ this.validationResultList = validationResultList;
+ }
+
+ public void unsetValidationResultList() {
+ this.validationResultList = null;
+ }
+
+ /** Returns true if field validationResultList is set (has been assigned a value) and false otherwise */
+ public boolean isSetValidationResultList() {
+ return this.validationResultList != null;
+ }
+
+ public void setValidationResultListIsSet(boolean value) {
+ if (!value) {
+ this.validationResultList = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case VALIDATION_STATE:
+ if (value == null) {
+ unsetValidationState();
+ } else {
+ setValidationState((Boolean)value);
+ }
+ break;
+
+ case VALIDATION_RESULT_LIST:
+ if (value == null) {
+ unsetValidationResultList();
+ } else {
+ setValidationResultList((List<ValidatorResult>)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case VALIDATION_STATE:
+ return Boolean.valueOf(isValidationState());
+
+ case VALIDATION_RESULT_LIST:
+ return getValidationResultList();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case VALIDATION_STATE:
+ return isSetValidationState();
+ case VALIDATION_RESULT_LIST:
+ return isSetValidationResultList();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof ValidationResults)
+ return this.equals((ValidationResults)that);
+ return false;
+ }
+
+ public boolean equals(ValidationResults that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_validationState = true;
+ boolean that_present_validationState = true;
+ if (this_present_validationState || that_present_validationState) {
+ if (!(this_present_validationState && that_present_validationState))
+ return false;
+ if (this.validationState != that.validationState)
+ return false;
+ }
+
+ boolean this_present_validationResultList = true && this.isSetValidationResultList();
+ boolean that_present_validationResultList = true && that.isSetValidationResultList();
+ if (this_present_validationResultList || that_present_validationResultList) {
+ if (!(this_present_validationResultList && that_present_validationResultList))
+ return false;
+ if (!this.validationResultList.equals(that.validationResultList))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return 0;
+ }
+
+ @Override
+ public int compareTo(ValidationResults other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetValidationState()).compareTo(other.isSetValidationState());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetValidationState()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.validationState, other.validationState);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetValidationResultList()).compareTo(other.isSetValidationResultList());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetValidationResultList()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.validationResultList, other.validationResultList);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("ValidationResults(");
+ boolean first = true;
+
+ sb.append("validationState:");
+ sb.append(this.validationState);
+ first = false;
+ if (!first) sb.append(", ");
+ sb.append("validationResultList:");
+ if (this.validationResultList == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.validationResultList);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetValidationState()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'validationState' is unset! Struct:" + toString());
+ }
+
+ if (!isSetValidationResultList()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'validationResultList' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class ValidationResultsStandardSchemeFactory implements SchemeFactory {
+ public ValidationResultsStandardScheme getScheme() {
+ return new ValidationResultsStandardScheme();
+ }
+ }
+
+ private static class ValidationResultsStandardScheme extends StandardScheme<ValidationResults> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, ValidationResults struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // VALIDATION_STATE
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.validationState = iprot.readBool();
+ struct.setValidationStateIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // VALIDATION_RESULT_LIST
+ if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+ {
+ org.apache.thrift.protocol.TList _list88 = iprot.readListBegin();
+ struct.validationResultList = new ArrayList<ValidatorResult>(_list88.size);
+ for (int _i89 = 0; _i89 < _list88.size; ++_i89)
+ {
+ ValidatorResult _elem90;
+ _elem90 = new ValidatorResult();
+ _elem90.read(iprot);
+ struct.validationResultList.add(_elem90);
+ }
+ iprot.readListEnd();
+ }
+ struct.setValidationResultListIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, ValidationResults struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ oprot.writeFieldBegin(VALIDATION_STATE_FIELD_DESC);
+ oprot.writeBool(struct.validationState);
+ oprot.writeFieldEnd();
+ if (struct.validationResultList != null) {
+ oprot.writeFieldBegin(VALIDATION_RESULT_LIST_FIELD_DESC);
+ {
+ oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.validationResultList.size()));
+ for (ValidatorResult _iter91 : struct.validationResultList)
+ {
+ _iter91.write(oprot);
+ }
+ oprot.writeListEnd();
+ }
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class ValidationResultsTupleSchemeFactory implements SchemeFactory {
+ public ValidationResultsTupleScheme getScheme() {
+ return new ValidationResultsTupleScheme();
+ }
+ }
+
+ private static class ValidationResultsTupleScheme extends TupleScheme<ValidationResults> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, ValidationResults struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ oprot.writeBool(struct.validationState);
+ {
+ oprot.writeI32(struct.validationResultList.size());
+ for (ValidatorResult _iter92 : struct.validationResultList)
+ {
+ _iter92.write(oprot);
+ }
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, ValidationResults struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.validationState = iprot.readBool();
+ struct.setValidationStateIsSet(true);
+ {
+ org.apache.thrift.protocol.TList _list93 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+ struct.validationResultList = new ArrayList<ValidatorResult>(_list93.size);
+ for (int _i94 = 0; _i94 < _list93.size; ++_i94)
+ {
+ ValidatorResult _elem95;
+ _elem95 = new ValidatorResult();
+ _elem95.read(iprot);
+ struct.validationResultList.add(_elem95);
+ }
+ }
+ struct.setValidationResultListIsSet(true);
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/c09963aa/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java
new file mode 100644
index 0000000..8736761
--- /dev/null
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java
@@ -0,0 +1,505 @@
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+package org.apache.airavata.model.workspace.experiment;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * This data structure can be used to store the validation results
+ * captured during validation step and during the launchExperiment
+ * operation it can be easilly checked to see the errors occured
+ * during the experiment launch operation
+ *
+ */
+@SuppressWarnings("all") public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
+
+ private static final org.apache.thrift.protocol.TField RESULT_FIELD_DESC = new org.apache.thrift.protocol.TField("result", org.apache.thrift.protocol.TType.BOOL, (short)1);
+ private static final org.apache.thrift.protocol.TField ERROR_DETAILS_FIELD_DESC = new org.apache.thrift.protocol.TField("errorDetails", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+ private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+ static {
+ schemes.put(StandardScheme.class, new ValidatorResultStandardSchemeFactory());
+ schemes.put(TupleScheme.class, new ValidatorResultTupleSchemeFactory());
+ }
+
+ private boolean result; // required
+ private String errorDetails; // optional
+
+ /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+ @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ RESULT((short)1, "result"),
+ ERROR_DETAILS((short)2, "errorDetails");
+
+ private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+ static {
+ for (_Fields field : EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, or null if its not found.
+ */
+ public static _Fields findByThriftId(int fieldId) {
+ switch(fieldId) {
+ case 1: // RESULT
+ return RESULT;
+ case 2: // ERROR_DETAILS
+ return ERROR_DETAILS;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception
+ * if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /**
+ * Find the _Fields constant that matches name, or null if its not found.
+ */
+ public static _Fields findByName(String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final String _fieldName;
+
+ _Fields(short thriftId, String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final int __RESULT_ISSET_ID = 0;
+ private byte __isset_bitfield = 0;
+ private _Fields optionals[] = {_Fields.ERROR_DETAILS};
+ public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+ static {
+ Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+ tmpMap.put(_Fields.RESULT, new org.apache.thrift.meta_data.FieldMetaData("result", org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+ tmpMap.put(_Fields.ERROR_DETAILS, new org.apache.thrift.meta_data.FieldMetaData("errorDetails", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ metaDataMap = Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ValidatorResult.class, metaDataMap);
+ }
+
+ public ValidatorResult() {
+ }
+
+ public ValidatorResult(
+ boolean result)
+ {
+ this();
+ this.result = result;
+ setResultIsSet(true);
+ }
+
+ /**
+ * Performs a deep copy on <i>other</i>.
+ */
+ public ValidatorResult(ValidatorResult other) {
+ __isset_bitfield = other.__isset_bitfield;
+ this.result = other.result;
+ if (other.isSetErrorDetails()) {
+ this.errorDetails = other.errorDetails;
+ }
+ }
+
+ public ValidatorResult deepCopy() {
+ return new ValidatorResult(this);
+ }
+
+ @Override
+ public void clear() {
+ setResultIsSet(false);
+ this.result = false;
+ this.errorDetails = null;
+ }
+
+ public boolean isResult() {
+ return this.result;
+ }
+
+ public void setResult(boolean result) {
+ this.result = result;
+ setResultIsSet(true);
+ }
+
+ public void unsetResult() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __RESULT_ISSET_ID);
+ }
+
+ /** Returns true if field result is set (has been assigned a value) and false otherwise */
+ public boolean isSetResult() {
+ return EncodingUtils.testBit(__isset_bitfield, __RESULT_ISSET_ID);
+ }
+
+ public void setResultIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __RESULT_ISSET_ID, value);
+ }
+
+ public String getErrorDetails() {
+ return this.errorDetails;
+ }
+
+ public void setErrorDetails(String errorDetails) {
+ this.errorDetails = errorDetails;
+ }
+
+ public void unsetErrorDetails() {
+ this.errorDetails = null;
+ }
+
+ /** Returns true if field errorDetails is set (has been assigned a value) and false otherwise */
+ public boolean isSetErrorDetails() {
+ return this.errorDetails != null;
+ }
+
+ public void setErrorDetailsIsSet(boolean value) {
+ if (!value) {
+ this.errorDetails = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, Object value) {
+ switch (field) {
+ case RESULT:
+ if (value == null) {
+ unsetResult();
+ } else {
+ setResult((Boolean)value);
+ }
+ break;
+
+ case ERROR_DETAILS:
+ if (value == null) {
+ unsetErrorDetails();
+ } else {
+ setErrorDetails((String)value);
+ }
+ break;
+
+ }
+ }
+
+ public Object getFieldValue(_Fields field) {
+ switch (field) {
+ case RESULT:
+ return Boolean.valueOf(isResult());
+
+ case ERROR_DETAILS:
+ return getErrorDetails();
+
+ }
+ throw new IllegalStateException();
+ }
+
+ /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new IllegalArgumentException();
+ }
+
+ switch (field) {
+ case RESULT:
+ return isSetResult();
+ case ERROR_DETAILS:
+ return isSetErrorDetails();
+ }
+ throw new IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (that == null)
+ return false;
+ if (that instanceof ValidatorResult)
+ return this.equals((ValidatorResult)that);
+ return false;
+ }
+
+ public boolean equals(ValidatorResult that) {
+ if (that == null)
+ return false;
+
+ boolean this_present_result = true;
+ boolean that_present_result = true;
+ if (this_present_result || that_present_result) {
+ if (!(this_present_result && that_present_result))
+ return false;
+ if (this.result != that.result)
+ return false;
+ }
+
+ boolean this_present_errorDetails = true && this.isSetErrorDetails();
+ boolean that_present_errorDetails = true && that.isSetErrorDetails();
+ if (this_present_errorDetails || that_present_errorDetails) {
+ if (!(this_present_errorDetails && that_present_errorDetails))
+ return false;
+ if (!this.errorDetails.equals(that.errorDetails))
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return 0;
+ }
+
+ @Override
+ public int compareTo(ValidatorResult other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = Boolean.valueOf(isSetResult()).compareTo(other.isSetResult());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetResult()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.result, other.result);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison = Boolean.valueOf(isSetErrorDetails()).compareTo(other.isSetErrorDetails());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetErrorDetails()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorDetails, other.errorDetails);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+ schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+ schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("ValidatorResult(");
+ boolean first = true;
+
+ sb.append("result:");
+ sb.append(this.result);
+ first = false;
+ if (isSetErrorDetails()) {
+ if (!first) sb.append(", ");
+ sb.append("errorDetails:");
+ if (this.errorDetails == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.errorDetails);
+ }
+ first = false;
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetResult()) {
+ throw new org.apache.thrift.protocol.TProtocolException("Required field 'result' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+ try {
+ // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+ __isset_bitfield = 0;
+ read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class ValidatorResultStandardSchemeFactory implements SchemeFactory {
+ public ValidatorResultStandardScheme getScheme() {
+ return new ValidatorResultStandardScheme();
+ }
+ }
+
+ private static class ValidatorResultStandardScheme extends StandardScheme<ValidatorResult> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, ValidatorResult struct) throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true)
+ {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // RESULT
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.result = iprot.readBool();
+ struct.setResultIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // ERROR_DETAILS
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.errorDetails = iprot.readString();
+ struct.setErrorDetailsIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, ValidatorResult struct) throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ oprot.writeFieldBegin(RESULT_FIELD_DESC);
+ oprot.writeBool(struct.result);
+ oprot.writeFieldEnd();
+ if (struct.errorDetails != null) {
+ if (struct.isSetErrorDetails()) {
+ oprot.writeFieldBegin(ERROR_DETAILS_FIELD_DESC);
+ oprot.writeString(struct.errorDetails);
+ oprot.writeFieldEnd();
+ }
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+
+ }
+
+ private static class ValidatorResultTupleSchemeFactory implements SchemeFactory {
+ public ValidatorResultTupleScheme getScheme() {
+ return new ValidatorResultTupleScheme();
+ }
+ }
+
+ private static class ValidatorResultTupleScheme extends TupleScheme<ValidatorResult> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, ValidatorResult struct) throws org.apache.thrift.TException {
+ TTupleProtocol oprot = (TTupleProtocol) prot;
+ oprot.writeBool(struct.result);
+ BitSet optionals = new BitSet();
+ if (struct.isSetErrorDetails()) {
+ optionals.set(0);
+ }
+ oprot.writeBitSet(optionals, 1);
+ if (struct.isSetErrorDetails()) {
+ oprot.writeString(struct.errorDetails);
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, ValidatorResult struct) throws org.apache.thrift.TException {
+ TTupleProtocol iprot = (TTupleProtocol) prot;
+ struct.result = iprot.readBool();
+ struct.setResultIsSet(true);
+ BitSet incoming = iprot.readBitSet(1);
+ if (incoming.get(0)) {
+ struct.errorDetails = iprot.readString();
+ struct.setErrorDetailsIsSet(true);
+ }
+ }
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/c09963aa/airavata-api/generate-thrift-files.sh
----------------------------------------------------------------------
diff --git a/airavata-api/generate-thrift-files.sh b/airavata-api/generate-thrift-files.sh
index ed989c4..c8c1f74 100755
--- a/airavata-api/generate-thrift-files.sh
+++ b/airavata-api/generate-thrift-files.sh
@@ -146,8 +146,6 @@ rm -rf ${JAVA_GEN_DIR}
# The airavataAPI.thrift includes rest of data models.
thrift ${THRIFT_ARGS} --gen java ${THRIFT_IDL_DIR}/airavataAPI.thrift || fail unable to generate java thrift classes on AiravataAPI
-thrift ${THRIFT_ARGS} --gen java ${THRIFT_IDL_DIR}/applicationCatalogAPI.thrift || fail unable to generate java thrift classes on App Catalog API
-
# For the generated java classes add the ASF V2 License header
add_license_header $JAVA_GEN_DIR
http://git-wip-us.apache.org/repos/asf/airavata/blob/c09963aa/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
index 7b2ec60..1bc8c99 100644
--- a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
+++ b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift
@@ -28,7 +28,10 @@ include "airavataErrors.thrift"
include "airavataDataModel.thrift"
include "experimentModel.thrift"
include "workspaceModel.thrift"
-include "applicationCatalogAPI.thrift"
+include "computeHostModel.thrift"
+include "applicationDeploymentModel.thrift"
+include "applicationInterfaceModel.thrift"
+include "gatewayProfileModel.thrift"
namespace java org.apache.airavata.api
namespace php Airavata.API
@@ -513,4 +516,87 @@ service Airavata {
2: airavataErrors.ExperimentNotFoundException enf,
3: airavataErrors.AiravataClientException ace,
4: airavataErrors.AiravataSystemException ase)
-}
+
+/*
+ * API definitions for App Catalog related operations
+ *
+*/
+
+/*
+ * Application Module is a specific computational application. Many applications, particularly scientific applications
+ * are really a suite of applications or encompass an ecosystem. For instance, Amber is referred to dozens of binaries.
+ * WRF is referred for an ecosystem of applications. In this context, we refer to module as a single binary.
+ *
+ * Note: A module has to be defined before a deployment can be registered. .
+ *
+*/
+
+ /**
+ * Register a Application Module.
+ *
+ * @param applicationModule
+ * Application Module Object created from the datamodel.
+ *
+ * @return appModuleId
+ * Returns a server-side generated airavata appModule globally unique identifier.
+ *
+ *
+ */
+ string registerAppicationModule(1: required applicationDeploymentModel.ApplicationModule applicationModule)
+ throws (1: airavataErrors.InvalidRequestException ire,
+ 2: airavataErrors.AiravataClientException ace,
+ 3: airavataErrors.AiravataSystemException ase)
+
+ /**
+ * Fetch a Application Module.
+ *
+ * @param appModuleId
+ * The identifier for the requested application module
+ *
+ * @return applicationModule
+ * Returns a application Module Object.
+ *
+ *
+ */
+ applicationDeploymentModel.ApplicationModule getAppicationModule(1: required string appModuleId)
+ throws (1: airavataErrors.InvalidRequestException ire,
+ 2: airavataErrors.AiravataClientException ace,
+ 3: airavataErrors.AiravataSystemException ase)
+
+ /**
+ * Update a Application Module.
+ *
+ * @param appModuleId
+ * The identifier for the requested application module to be updated.
+ *
+ * @param applicationModule
+ * Application Module Object created from the datamodel.
+ *
+ * @return status
+ * Returns a success/failure of the update.
+ *
+ *
+ */
+ bool updateAppicationModule(1: required string appModuleId,
+ 2: required applicationDeploymentModel.ApplicationModule applicationModule)
+ throws (1: airavataErrors.InvalidRequestException ire,
+ 2: airavataErrors.AiravataClientException ace,
+ 3: airavataErrors.AiravataSystemException ase)
+
+ /**
+ * Delete a Application Module.
+ *
+ * @param appModuleId
+ * The identifier for the requested application module to be deleted.
+ *
+ * @return status
+ * Returns a success/failure of the deletion.
+ *
+ *
+ */
+ bool deleteAppicationModule(1: required string appModuleId)
+ throws (1: airavataErrors.InvalidRequestException ire,
+ 2: airavataErrors.AiravataClientException ace,
+ 3: airavataErrors.AiravataSystemException ase)
+
+}
\ No newline at end of file