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/11/17 21:08:38 UTC
[1/2] airavata git commit: adding api changes to get detailed
experiment tree
Repository: airavata
Updated Branches:
refs/heads/develop a6de53904 -> 4f7af6a9a
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
index fd56220..d01c0d0 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
@@ -355,6 +355,10 @@ class ExperimentModel {
* @var \Airavata\Model\Commons\ErrorModel[]
*/
public $errors = null;
+ /**
+ * @var \Airavata\Model\Process\ProcessModel[]
+ */
+ public $processes = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -448,6 +452,15 @@ class ExperimentModel {
'class' => '\Airavata\Model\Commons\ErrorModel',
),
),
+ 18 => array(
+ 'var' => 'processes',
+ 'type' => TType::LST,
+ 'etype' => TType::STRUCT,
+ 'elem' => array(
+ 'type' => TType::STRUCT,
+ 'class' => '\Airavata\Model\Process\ProcessModel',
+ ),
+ ),
);
}
if (is_array($vals)) {
@@ -502,6 +515,9 @@ class ExperimentModel {
if (isset($vals['errors'])) {
$this->errors = $vals['errors'];
}
+ if (isset($vals['processes'])) {
+ $this->processes = $vals['processes'];
+ }
}
}
@@ -688,6 +704,24 @@ class ExperimentModel {
$xfer += $input->skip($ftype);
}
break;
+ case 18:
+ if ($ftype == TType::LST) {
+ $this->processes = array();
+ $_size24 = 0;
+ $_etype27 = 0;
+ $xfer += $input->readListBegin($_etype27, $_size24);
+ for ($_i28 = 0; $_i28 < $_size24; ++$_i28)
+ {
+ $elem29 = null;
+ $elem29 = new \Airavata\Model\Process\ProcessModel();
+ $xfer += $elem29->read($input);
+ $this->processes []= $elem29;
+ }
+ $xfer += $input->readListEnd();
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -764,9 +798,9 @@ class ExperimentModel {
{
$output->writeListBegin(TType::STRING, count($this->emailAddresses));
{
- foreach ($this->emailAddresses as $iter24)
+ foreach ($this->emailAddresses as $iter30)
{
- $xfer += $output->writeString($iter24);
+ $xfer += $output->writeString($iter30);
}
}
$output->writeListEnd();
@@ -789,9 +823,9 @@ class ExperimentModel {
{
$output->writeListBegin(TType::STRUCT, count($this->experimentInputs));
{
- foreach ($this->experimentInputs as $iter25)
+ foreach ($this->experimentInputs as $iter31)
{
- $xfer += $iter25->write($output);
+ $xfer += $iter31->write($output);
}
}
$output->writeListEnd();
@@ -806,9 +840,9 @@ class ExperimentModel {
{
$output->writeListBegin(TType::STRUCT, count($this->experimentOutputs));
{
- foreach ($this->experimentOutputs as $iter26)
+ foreach ($this->experimentOutputs as $iter32)
{
- $xfer += $iter26->write($output);
+ $xfer += $iter32->write($output);
}
}
$output->writeListEnd();
@@ -831,9 +865,26 @@ class ExperimentModel {
{
$output->writeListBegin(TType::STRUCT, count($this->errors));
{
- foreach ($this->errors as $iter27)
+ foreach ($this->errors as $iter33)
+ {
+ $xfer += $iter33->write($output);
+ }
+ }
+ $output->writeListEnd();
+ }
+ $xfer += $output->writeFieldEnd();
+ }
+ if ($this->processes !== null) {
+ if (!is_array($this->processes)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('processes', TType::LST, 18);
+ {
+ $output->writeListBegin(TType::STRUCT, count($this->processes));
+ {
+ foreach ($this->processes as $iter34)
{
- $xfer += $iter27->write($output);
+ $xfer += $iter34->write($output);
}
}
$output->writeListEnd();
@@ -1391,15 +1442,15 @@ class ExperimentStatistics {
case 7:
if ($ftype == TType::LST) {
$this->allExperiments = array();
- $_size28 = 0;
- $_etype31 = 0;
- $xfer += $input->readListBegin($_etype31, $_size28);
- for ($_i32 = 0; $_i32 < $_size28; ++$_i32)
+ $_size35 = 0;
+ $_etype38 = 0;
+ $xfer += $input->readListBegin($_etype38, $_size35);
+ for ($_i39 = 0; $_i39 < $_size35; ++$_i39)
{
- $elem33 = null;
- $elem33 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
- $xfer += $elem33->read($input);
- $this->allExperiments []= $elem33;
+ $elem40 = null;
+ $elem40 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+ $xfer += $elem40->read($input);
+ $this->allExperiments []= $elem40;
}
$xfer += $input->readListEnd();
} else {
@@ -1409,15 +1460,15 @@ class ExperimentStatistics {
case 8:
if ($ftype == TType::LST) {
$this->completedExperiments = array();
- $_size34 = 0;
- $_etype37 = 0;
- $xfer += $input->readListBegin($_etype37, $_size34);
- for ($_i38 = 0; $_i38 < $_size34; ++$_i38)
+ $_size41 = 0;
+ $_etype44 = 0;
+ $xfer += $input->readListBegin($_etype44, $_size41);
+ for ($_i45 = 0; $_i45 < $_size41; ++$_i45)
{
- $elem39 = null;
- $elem39 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
- $xfer += $elem39->read($input);
- $this->completedExperiments []= $elem39;
+ $elem46 = null;
+ $elem46 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+ $xfer += $elem46->read($input);
+ $this->completedExperiments []= $elem46;
}
$xfer += $input->readListEnd();
} else {
@@ -1427,15 +1478,15 @@ class ExperimentStatistics {
case 9:
if ($ftype == TType::LST) {
$this->failedExperiments = array();
- $_size40 = 0;
- $_etype43 = 0;
- $xfer += $input->readListBegin($_etype43, $_size40);
- for ($_i44 = 0; $_i44 < $_size40; ++$_i44)
+ $_size47 = 0;
+ $_etype50 = 0;
+ $xfer += $input->readListBegin($_etype50, $_size47);
+ for ($_i51 = 0; $_i51 < $_size47; ++$_i51)
{
- $elem45 = null;
- $elem45 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
- $xfer += $elem45->read($input);
- $this->failedExperiments []= $elem45;
+ $elem52 = null;
+ $elem52 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+ $xfer += $elem52->read($input);
+ $this->failedExperiments []= $elem52;
}
$xfer += $input->readListEnd();
} else {
@@ -1445,15 +1496,15 @@ class ExperimentStatistics {
case 10:
if ($ftype == TType::LST) {
$this->cancelledExperiments = array();
- $_size46 = 0;
- $_etype49 = 0;
- $xfer += $input->readListBegin($_etype49, $_size46);
- for ($_i50 = 0; $_i50 < $_size46; ++$_i50)
+ $_size53 = 0;
+ $_etype56 = 0;
+ $xfer += $input->readListBegin($_etype56, $_size53);
+ for ($_i57 = 0; $_i57 < $_size53; ++$_i57)
{
- $elem51 = null;
- $elem51 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
- $xfer += $elem51->read($input);
- $this->cancelledExperiments []= $elem51;
+ $elem58 = null;
+ $elem58 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+ $xfer += $elem58->read($input);
+ $this->cancelledExperiments []= $elem58;
}
$xfer += $input->readListEnd();
} else {
@@ -1463,15 +1514,15 @@ class ExperimentStatistics {
case 11:
if ($ftype == TType::LST) {
$this->createdExperiments = array();
- $_size52 = 0;
- $_etype55 = 0;
- $xfer += $input->readListBegin($_etype55, $_size52);
- for ($_i56 = 0; $_i56 < $_size52; ++$_i56)
+ $_size59 = 0;
+ $_etype62 = 0;
+ $xfer += $input->readListBegin($_etype62, $_size59);
+ for ($_i63 = 0; $_i63 < $_size59; ++$_i63)
{
- $elem57 = null;
- $elem57 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
- $xfer += $elem57->read($input);
- $this->createdExperiments []= $elem57;
+ $elem64 = null;
+ $elem64 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+ $xfer += $elem64->read($input);
+ $this->createdExperiments []= $elem64;
}
$xfer += $input->readListEnd();
} else {
@@ -1481,15 +1532,15 @@ class ExperimentStatistics {
case 12:
if ($ftype == TType::LST) {
$this->runningExperiments = array();
- $_size58 = 0;
- $_etype61 = 0;
- $xfer += $input->readListBegin($_etype61, $_size58);
- for ($_i62 = 0; $_i62 < $_size58; ++$_i62)
+ $_size65 = 0;
+ $_etype68 = 0;
+ $xfer += $input->readListBegin($_etype68, $_size65);
+ for ($_i69 = 0; $_i69 < $_size65; ++$_i69)
{
- $elem63 = null;
- $elem63 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
- $xfer += $elem63->read($input);
- $this->runningExperiments []= $elem63;
+ $elem70 = null;
+ $elem70 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+ $xfer += $elem70->read($input);
+ $this->runningExperiments []= $elem70;
}
$xfer += $input->readListEnd();
} else {
@@ -1547,9 +1598,9 @@ class ExperimentStatistics {
{
$output->writeListBegin(TType::STRUCT, count($this->allExperiments));
{
- foreach ($this->allExperiments as $iter64)
+ foreach ($this->allExperiments as $iter71)
{
- $xfer += $iter64->write($output);
+ $xfer += $iter71->write($output);
}
}
$output->writeListEnd();
@@ -1564,9 +1615,9 @@ class ExperimentStatistics {
{
$output->writeListBegin(TType::STRUCT, count($this->completedExperiments));
{
- foreach ($this->completedExperiments as $iter65)
+ foreach ($this->completedExperiments as $iter72)
{
- $xfer += $iter65->write($output);
+ $xfer += $iter72->write($output);
}
}
$output->writeListEnd();
@@ -1581,9 +1632,9 @@ class ExperimentStatistics {
{
$output->writeListBegin(TType::STRUCT, count($this->failedExperiments));
{
- foreach ($this->failedExperiments as $iter66)
+ foreach ($this->failedExperiments as $iter73)
{
- $xfer += $iter66->write($output);
+ $xfer += $iter73->write($output);
}
}
$output->writeListEnd();
@@ -1598,9 +1649,9 @@ class ExperimentStatistics {
{
$output->writeListBegin(TType::STRUCT, count($this->cancelledExperiments));
{
- foreach ($this->cancelledExperiments as $iter67)
+ foreach ($this->cancelledExperiments as $iter74)
{
- $xfer += $iter67->write($output);
+ $xfer += $iter74->write($output);
}
}
$output->writeListEnd();
@@ -1615,9 +1666,9 @@ class ExperimentStatistics {
{
$output->writeListBegin(TType::STRUCT, count($this->createdExperiments));
{
- foreach ($this->createdExperiments as $iter68)
+ foreach ($this->createdExperiments as $iter75)
{
- $xfer += $iter68->write($output);
+ $xfer += $iter75->write($output);
}
}
$output->writeListEnd();
@@ -1632,9 +1683,9 @@ class ExperimentStatistics {
{
$output->writeListBegin(TType::STRUCT, count($this->runningExperiments));
{
- foreach ($this->runningExperiments as $iter69)
+ foreach ($this->runningExperiments as $iter76)
{
- $xfer += $iter69->write($output);
+ $xfer += $iter76->write($output);
}
}
$output->writeListEnd();
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
index df9e68d..deae011 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Task/Types.php
@@ -102,6 +102,10 @@ class TaskModel {
* @var \Airavata\Model\Commons\ErrorModel
*/
public $taskError = null;
+ /**
+ * @var \Airavata\Model\Job\JobModel[]
+ */
+ public $jobs = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -144,6 +148,15 @@ class TaskModel {
'type' => TType::STRUCT,
'class' => '\Airavata\Model\Commons\ErrorModel',
),
+ 10 => array(
+ 'var' => 'jobs',
+ 'type' => TType::LST,
+ 'etype' => TType::STRUCT,
+ 'elem' => array(
+ 'type' => TType::STRUCT,
+ 'class' => '\Airavata\Model\Job\JobModel',
+ ),
+ ),
);
}
if (is_array($vals)) {
@@ -174,6 +187,9 @@ class TaskModel {
if (isset($vals['taskError'])) {
$this->taskError = $vals['taskError'];
}
+ if (isset($vals['jobs'])) {
+ $this->jobs = $vals['jobs'];
+ }
}
}
@@ -261,6 +277,24 @@ class TaskModel {
$xfer += $input->skip($ftype);
}
break;
+ case 10:
+ if ($ftype == TType::LST) {
+ $this->jobs = array();
+ $_size0 = 0;
+ $_etype3 = 0;
+ $xfer += $input->readListBegin($_etype3, $_size0);
+ for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+ {
+ $elem5 = null;
+ $elem5 = new \Airavata\Model\Job\JobModel();
+ $xfer += $elem5->read($input);
+ $this->jobs []= $elem5;
+ }
+ $xfer += $input->readListEnd();
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -325,6 +359,23 @@ class TaskModel {
$xfer += $this->taskError->write($output);
$xfer += $output->writeFieldEnd();
}
+ if ($this->jobs !== null) {
+ if (!is_array($this->jobs)) {
+ throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+ }
+ $xfer += $output->writeFieldBegin('jobs', TType::LST, 10);
+ {
+ $output->writeListBegin(TType::STRUCT, count($this->jobs));
+ {
+ foreach ($this->jobs as $iter6)
+ {
+ $xfer += $iter6->write($output);
+ }
+ }
+ $output->writeListEnd();
+ }
+ $xfer += $output->writeFieldEnd();
+ }
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
index 7330142..96cf8bd 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata-remote
@@ -53,6 +53,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
print(' string createExperiment(AuthzToken authzToken, string gatewayId, ExperimentModel experiment)')
print(' bool deleteExperiment(AuthzToken authzToken, string experimentId)')
print(' ExperimentModel getExperiment(AuthzToken authzToken, string airavataExperimentId)')
+ print(' ExperimentModel getDetailedExperimentTree(AuthzToken authzToken, string airavataExperimentId)')
print(' void updateExperiment(AuthzToken authzToken, string airavataExperimentId, ExperimentModel experiment)')
print(' void updateExperimentConfiguration(AuthzToken authzToken, string airavataExperimentId, UserConfigurationDataModel userConfiguration)')
print(' void updateResourceScheduleing(AuthzToken authzToken, string airavataExperimentId, ComputationalResourceSchedulingModel resourceScheduling)')
@@ -383,6 +384,12 @@ elif cmd == 'getExperiment':
sys.exit(1)
pp.pprint(client.getExperiment(eval(args[0]),args[1],))
+elif cmd == 'getDetailedExperimentTree':
+ if len(args) != 2:
+ print('getDetailedExperimentTree requires 2 args')
+ sys.exit(1)
+ pp.pprint(client.getDetailedExperimentTree(eval(args[0]),args[1],))
+
elif cmd == 'updateExperiment':
if len(args) != 3:
print('updateExperiment requires 3 args')
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
index 779a25a..a447541 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/experiment/ttypes.py
@@ -11,6 +11,7 @@ import apache.airavata.model.application.io.ttypes
import apache.airavata.model.scheduling.ttypes
import apache.airavata.model.commons.ttypes
import apache.airavata.model.status.ttypes
+import apache.airavata.model.process.ttypes
from thrift.transport import TTransport
@@ -252,6 +253,7 @@ class ExperimentModel:
- experimentOutputs
- experimentStatus
- errors
+ - processes
"""
thrift_spec = (
@@ -273,9 +275,10 @@ class ExperimentModel:
(15, TType.LIST, 'experimentOutputs', (TType.STRUCT,(apache.airavata.model.application.io.ttypes.OutputDataObjectType, apache.airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec)), None, ), # 15
(16, TType.STRUCT, 'experimentStatus', (apache.airavata.model.status.ttypes.ExperimentStatus, apache.airavata.model.status.ttypes.ExperimentStatus.thrift_spec), None, ), # 16
(17, TType.LIST, 'errors', (TType.STRUCT,(apache.airavata.model.commons.ttypes.ErrorModel, apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec)), None, ), # 17
+ (18, TType.LIST, 'processes', (TType.STRUCT,(apache.airavata.model.process.ttypes.ProcessModel, apache.airavata.model.process.ttypes.ProcessModel.thrift_spec)), None, ), # 18
)
- def __init__(self, experimentId=thrift_spec[1][4], projectId=None, gatewayId=None, experimentType=thrift_spec[4][4], userName=None, experimentName=None, creationTime=None, description=None, executionId=None, gatewayExecutionId=None, enableEmailNotification=None, emailAddresses=None, userConfigurationData=None, experimentInputs=None, experimentOutputs=None, experimentStatus=None, errors=None,):
+ def __init__(self, experimentId=thrift_spec[1][4], projectId=None, gatewayId=None, experimentType=thrift_spec[4][4], userName=None, experimentName=None, creationTime=None, description=None, executionId=None, gatewayExecutionId=None, enableEmailNotification=None, emailAddresses=None, userConfigurationData=None, experimentInputs=None, experimentOutputs=None, experimentStatus=None, errors=None, processes=None,):
self.experimentId = experimentId
self.projectId = projectId
self.gatewayId = gatewayId
@@ -293,6 +296,7 @@ class ExperimentModel:
self.experimentOutputs = experimentOutputs
self.experimentStatus = experimentStatus
self.errors = errors
+ self.processes = processes
def read(self, iprot):
if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -413,6 +417,17 @@ class ExperimentModel:
iprot.readListEnd()
else:
iprot.skip(ftype)
+ elif fid == 18:
+ if ftype == TType.LIST:
+ self.processes = []
+ (_etype27, _size24) = iprot.readListBegin()
+ for _i28 in xrange(_size24):
+ _elem29 = apache.airavata.model.process.ttypes.ProcessModel()
+ _elem29.read(iprot)
+ self.processes.append(_elem29)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
else:
iprot.skip(ftype)
iprot.readFieldEnd()
@@ -470,8 +485,8 @@ class ExperimentModel:
if self.emailAddresses is not None:
oprot.writeFieldBegin('emailAddresses', TType.LIST, 12)
oprot.writeListBegin(TType.STRING, len(self.emailAddresses))
- for iter24 in self.emailAddresses:
- oprot.writeString(iter24)
+ for iter30 in self.emailAddresses:
+ oprot.writeString(iter30)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.userConfigurationData is not None:
@@ -481,15 +496,15 @@ class ExperimentModel:
if self.experimentInputs is not None:
oprot.writeFieldBegin('experimentInputs', TType.LIST, 14)
oprot.writeListBegin(TType.STRUCT, len(self.experimentInputs))
- for iter25 in self.experimentInputs:
- iter25.write(oprot)
+ for iter31 in self.experimentInputs:
+ iter31.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.experimentOutputs is not None:
oprot.writeFieldBegin('experimentOutputs', TType.LIST, 15)
oprot.writeListBegin(TType.STRUCT, len(self.experimentOutputs))
- for iter26 in self.experimentOutputs:
- iter26.write(oprot)
+ for iter32 in self.experimentOutputs:
+ iter32.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.experimentStatus is not None:
@@ -499,8 +514,15 @@ class ExperimentModel:
if self.errors is not None:
oprot.writeFieldBegin('errors', TType.LIST, 17)
oprot.writeListBegin(TType.STRUCT, len(self.errors))
- for iter27 in self.errors:
- iter27.write(oprot)
+ for iter33 in self.errors:
+ iter33.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
+ if self.processes is not None:
+ oprot.writeFieldBegin('processes', TType.LIST, 18)
+ oprot.writeListBegin(TType.STRUCT, len(self.processes))
+ for iter34 in self.processes:
+ iter34.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
oprot.writeFieldStop()
@@ -541,6 +563,7 @@ class ExperimentModel:
value = (value * 31) ^ hash(self.experimentOutputs)
value = (value * 31) ^ hash(self.experimentStatus)
value = (value * 31) ^ hash(self.errors)
+ value = (value * 31) ^ hash(self.processes)
return value
def __repr__(self):
@@ -849,66 +872,66 @@ class ExperimentStatistics:
elif fid == 7:
if ftype == TType.LIST:
self.allExperiments = []
- (_etype31, _size28) = iprot.readListBegin()
- for _i32 in xrange(_size28):
- _elem33 = ExperimentSummaryModel()
- _elem33.read(iprot)
- self.allExperiments.append(_elem33)
+ (_etype38, _size35) = iprot.readListBegin()
+ for _i39 in xrange(_size35):
+ _elem40 = ExperimentSummaryModel()
+ _elem40.read(iprot)
+ self.allExperiments.append(_elem40)
iprot.readListEnd()
else:
iprot.skip(ftype)
elif fid == 8:
if ftype == TType.LIST:
self.completedExperiments = []
- (_etype37, _size34) = iprot.readListBegin()
- for _i38 in xrange(_size34):
- _elem39 = ExperimentSummaryModel()
- _elem39.read(iprot)
- self.completedExperiments.append(_elem39)
+ (_etype44, _size41) = iprot.readListBegin()
+ for _i45 in xrange(_size41):
+ _elem46 = ExperimentSummaryModel()
+ _elem46.read(iprot)
+ self.completedExperiments.append(_elem46)
iprot.readListEnd()
else:
iprot.skip(ftype)
elif fid == 9:
if ftype == TType.LIST:
self.failedExperiments = []
- (_etype43, _size40) = iprot.readListBegin()
- for _i44 in xrange(_size40):
- _elem45 = ExperimentSummaryModel()
- _elem45.read(iprot)
- self.failedExperiments.append(_elem45)
+ (_etype50, _size47) = iprot.readListBegin()
+ for _i51 in xrange(_size47):
+ _elem52 = ExperimentSummaryModel()
+ _elem52.read(iprot)
+ self.failedExperiments.append(_elem52)
iprot.readListEnd()
else:
iprot.skip(ftype)
elif fid == 10:
if ftype == TType.LIST:
self.cancelledExperiments = []
- (_etype49, _size46) = iprot.readListBegin()
- for _i50 in xrange(_size46):
- _elem51 = ExperimentSummaryModel()
- _elem51.read(iprot)
- self.cancelledExperiments.append(_elem51)
+ (_etype56, _size53) = iprot.readListBegin()
+ for _i57 in xrange(_size53):
+ _elem58 = ExperimentSummaryModel()
+ _elem58.read(iprot)
+ self.cancelledExperiments.append(_elem58)
iprot.readListEnd()
else:
iprot.skip(ftype)
elif fid == 11:
if ftype == TType.LIST:
self.createdExperiments = []
- (_etype55, _size52) = iprot.readListBegin()
- for _i56 in xrange(_size52):
- _elem57 = ExperimentSummaryModel()
- _elem57.read(iprot)
- self.createdExperiments.append(_elem57)
+ (_etype62, _size59) = iprot.readListBegin()
+ for _i63 in xrange(_size59):
+ _elem64 = ExperimentSummaryModel()
+ _elem64.read(iprot)
+ self.createdExperiments.append(_elem64)
iprot.readListEnd()
else:
iprot.skip(ftype)
elif fid == 12:
if ftype == TType.LIST:
self.runningExperiments = []
- (_etype61, _size58) = iprot.readListBegin()
- for _i62 in xrange(_size58):
- _elem63 = ExperimentSummaryModel()
- _elem63.read(iprot)
- self.runningExperiments.append(_elem63)
+ (_etype68, _size65) = iprot.readListBegin()
+ for _i69 in xrange(_size65):
+ _elem70 = ExperimentSummaryModel()
+ _elem70.read(iprot)
+ self.runningExperiments.append(_elem70)
iprot.readListEnd()
else:
iprot.skip(ftype)
@@ -949,43 +972,43 @@ class ExperimentStatistics:
if self.allExperiments is not None:
oprot.writeFieldBegin('allExperiments', TType.LIST, 7)
oprot.writeListBegin(TType.STRUCT, len(self.allExperiments))
- for iter64 in self.allExperiments:
- iter64.write(oprot)
+ for iter71 in self.allExperiments:
+ iter71.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.completedExperiments is not None:
oprot.writeFieldBegin('completedExperiments', TType.LIST, 8)
oprot.writeListBegin(TType.STRUCT, len(self.completedExperiments))
- for iter65 in self.completedExperiments:
- iter65.write(oprot)
+ for iter72 in self.completedExperiments:
+ iter72.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.failedExperiments is not None:
oprot.writeFieldBegin('failedExperiments', TType.LIST, 9)
oprot.writeListBegin(TType.STRUCT, len(self.failedExperiments))
- for iter66 in self.failedExperiments:
- iter66.write(oprot)
+ for iter73 in self.failedExperiments:
+ iter73.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.cancelledExperiments is not None:
oprot.writeFieldBegin('cancelledExperiments', TType.LIST, 10)
oprot.writeListBegin(TType.STRUCT, len(self.cancelledExperiments))
- for iter67 in self.cancelledExperiments:
- iter67.write(oprot)
+ for iter74 in self.cancelledExperiments:
+ iter74.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.createdExperiments is not None:
oprot.writeFieldBegin('createdExperiments', TType.LIST, 11)
oprot.writeListBegin(TType.STRUCT, len(self.createdExperiments))
- for iter68 in self.createdExperiments:
- iter68.write(oprot)
+ for iter75 in self.createdExperiments:
+ iter75.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
if self.runningExperiments is not None:
oprot.writeFieldBegin('runningExperiments', TType.LIST, 12)
oprot.writeListBegin(TType.STRUCT, len(self.runningExperiments))
- for iter69 in self.runningExperiments:
- iter69.write(oprot)
+ for iter76 in self.runningExperiments:
+ iter76.write(oprot)
oprot.writeListEnd()
oprot.writeFieldEnd()
oprot.writeFieldStop()
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
index 3582bf2..e6dcb62 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/task/ttypes.py
@@ -11,6 +11,7 @@ import apache.airavata.model.commons.ttypes
import apache.airavata.model.status.ttypes
import apache.airavata.model.appcatalog.computeresource.ttypes
import apache.airavata.model.application.io.ttypes
+import apache.airavata.model.job.ttypes
from thrift.transport import TTransport
@@ -93,6 +94,7 @@ class TaskModel:
- taskDetail
- subTaskModel
- taskError
+ - jobs
"""
thrift_spec = (
@@ -106,9 +108,10 @@ class TaskModel:
(7, TType.STRING, 'taskDetail', None, None, ), # 7
(8, TType.STRING, 'subTaskModel', None, None, ), # 8
(9, TType.STRUCT, 'taskError', (apache.airavata.model.commons.ttypes.ErrorModel, apache.airavata.model.commons.ttypes.ErrorModel.thrift_spec), None, ), # 9
+ (10, TType.LIST, 'jobs', (TType.STRUCT,(apache.airavata.model.job.ttypes.JobModel, apache.airavata.model.job.ttypes.JobModel.thrift_spec)), None, ), # 10
)
- def __init__(self, taskId=thrift_spec[1][4], taskType=None, parentProcessId=None, creationTime=None, lastUpdateTime=None, taskStatus=None, taskDetail=None, subTaskModel=None, taskError=None,):
+ def __init__(self, taskId=thrift_spec[1][4], taskType=None, parentProcessId=None, creationTime=None, lastUpdateTime=None, taskStatus=None, taskDetail=None, subTaskModel=None, taskError=None, jobs=None,):
self.taskId = taskId
self.taskType = taskType
self.parentProcessId = parentProcessId
@@ -118,6 +121,7 @@ class TaskModel:
self.taskDetail = taskDetail
self.subTaskModel = subTaskModel
self.taskError = taskError
+ self.jobs = jobs
def read(self, iprot):
if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -175,6 +179,17 @@ class TaskModel:
self.taskError.read(iprot)
else:
iprot.skip(ftype)
+ elif fid == 10:
+ if ftype == TType.LIST:
+ self.jobs = []
+ (_etype3, _size0) = iprot.readListBegin()
+ for _i4 in xrange(_size0):
+ _elem5 = apache.airavata.model.job.ttypes.JobModel()
+ _elem5.read(iprot)
+ self.jobs.append(_elem5)
+ iprot.readListEnd()
+ else:
+ iprot.skip(ftype)
else:
iprot.skip(ftype)
iprot.readFieldEnd()
@@ -221,6 +236,13 @@ class TaskModel:
oprot.writeFieldBegin('taskError', TType.STRUCT, 9)
self.taskError.write(oprot)
oprot.writeFieldEnd()
+ if self.jobs is not None:
+ oprot.writeFieldBegin('jobs', TType.LIST, 10)
+ oprot.writeListBegin(TType.STRUCT, len(self.jobs))
+ for iter6 in self.jobs:
+ iter6.write(oprot)
+ oprot.writeListEnd()
+ oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -251,6 +273,7 @@ class TaskModel:
value = (value * 31) ^ hash(self.taskDetail)
value = (value * 31) ^ hash(self.subTaskModel)
value = (value * 31) ^ hash(self.taskError)
+ value = (value * 31) ^ hash(self.jobs)
return value
def __repr__(self):
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/thrift-interface-descriptions/airavata-api/airavata_api.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-api/airavata_api.thrift b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
index 82830e2..7bce41a 100644
--- a/thrift-interface-descriptions/airavata-api/airavata_api.thrift
+++ b/thrift-interface-descriptions/airavata-api/airavata_api.thrift
@@ -606,6 +606,50 @@ service Airavata {
4: airavata_errors.AiravataSystemException ase,
5: airavata_errors.AuthorizationException ae)
+
+ /**
+ * Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
+ * tasks -> jobs information.
+ *
+ * @param airavataExperimentId
+ * The identifier for the requested experiment. This is returned during the create experiment step.
+ *
+ * @return experimentMetada
+ * This method will return the previously stored experiment metadata.
+ *
+ * @throws org.apache.airavata.model.error.InvalidRequestException
+ * For any incorrect forming of the request itself.
+ *
+ * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+ * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+ *
+ * @throws org.apache.airavata.model.error.AiravataClientException
+ * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+ *
+ * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+ * step, then Airavata Registry will not have a provenance area setup. The client has to follow
+ * gateway registration steps and retry this request.
+ *
+ * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+ * For now this is a place holder.
+ *
+ * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+ * is implemented, the authorization will be more substantial.
+ *
+ * @throws org.apache.airavata.model.error.AiravataSystemException
+ * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+ * rather an Airavata Administrator will be notified to take corrective action.
+ *
+ */
+ experiment_model.ExperimentModel getDetailedExperimentTree(1: required security_model.AuthzToken authzToken,
+ 2: required string airavataExperimentId)
+ throws (1: airavata_errors.InvalidRequestException ire,
+ 2: airavata_errors.ExperimentNotFoundException enf,
+ 3: airavata_errors.AiravataClientException ace,
+ 4: airavata_errors.AiravataSystemException ase,
+ 5: airavata_errors.AuthorizationException ae)
+
+
/**
* Configure a previously created experiment with required inputs, scheduling and other quality of service
* parameters. This method only updates the experiment object within the registry. The experiment has to be launched
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/thrift-interface-descriptions/airavata-api/experiment_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-api/experiment_model.thrift b/thrift-interface-descriptions/airavata-api/experiment_model.thrift
index eeb9b86..fa15459 100644
--- a/thrift-interface-descriptions/airavata-api/experiment_model.thrift
+++ b/thrift-interface-descriptions/airavata-api/experiment_model.thrift
@@ -22,6 +22,7 @@
include "scheduling_model.thrift"
include "airavata_commons.thrift"
include "status_models.thrift"
+ include "process_model.thrift"
namespace java org.apache.airavata.model.experiment
namespace php Airavata.Model.Experiment
@@ -91,7 +92,8 @@ struct ExperimentModel {
14: optional list<application_io_models.InputDataObjectType> experimentInputs,
15: optional list<application_io_models.OutputDataObjectType> experimentOutputs,
16: optional status_models.ExperimentStatus experimentStatus,
- 17: optional list<airavata_commons.ErrorModel> errors
+ 17: optional list<airavata_commons.ErrorModel> errors,
+ 18: optional list<process_model.ProcessModel> processes
}
struct ExperimentSummaryModel {
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/thrift-interface-descriptions/airavata-api/task_model.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/airavata-api/task_model.thrift b/thrift-interface-descriptions/airavata-api/task_model.thrift
index 798c51d..4dd1d84 100644
--- a/thrift-interface-descriptions/airavata-api/task_model.thrift
+++ b/thrift-interface-descriptions/airavata-api/task_model.thrift
@@ -22,6 +22,7 @@ include "airavata_commons.thrift"
include "status_models.thrift"
include "compute_resource_model.thrift"
include "application_io_models.thrift"
+include "job_model.thrift"
namespace java org.apache.airavata.model.task
namespace php Airavata.Model.Task
@@ -59,7 +60,8 @@ struct TaskModel {
6: required status_models.TaskStatus taskStatus,
7: optional string taskDetail,
8: optional binary subTaskModel,
- 9: optional airavata_commons.ErrorModel taskError
+ 9: optional airavata_commons.ErrorModel taskError,
+ 10: optional list<job_model.JobModel> jobs
}
/**
[2/2] airavata git commit: adding api changes to get detailed
experiment tree
Posted by sc...@apache.org.
adding api changes to get detailed experiment tree
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4f7af6a9
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4f7af6a9
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4f7af6a9
Branch: refs/heads/develop
Commit: 4f7af6a9a93774626fbf9b3b8d003022cadbf766
Parents: a6de539
Author: scnakandala <su...@gmail.com>
Authored: Mon Nov 16 11:36:46 2015 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Tue Nov 17 15:08:22 2015 -0500
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 68 +++-
.../src/main/resources/lib/airavata/Airavata.h | 257 ++++++++++++-
.../lib/airavata/Airavata_server.skeleton.cpp | 42 ++
.../lib/airavata/experiment_model_types.cpp | 380 ++++++++++---------
.../lib/airavata/experiment_model_types.h | 15 +-
.../lib/airavata/process_model_types.cpp | 4 +-
.../lib/airavata/process_model_types.h | 4 +-
.../resources/lib/airavata/task_model_types.cpp | 204 ++++++----
.../resources/lib/airavata/task_model_types.h | 15 +-
.../lib/Airavata/Model/Experiment/Types.php | 187 +++++----
.../resources/lib/Airavata/Model/Task/Types.php | 51 +++
.../lib/apache/airavata/api/Airavata-remote | 7 +
.../apache/airavata/model/experiment/ttypes.py | 125 +++---
.../lib/apache/airavata/model/task/ttypes.py | 25 +-
.../airavata-api/airavata_api.thrift | 44 +++
.../airavata-api/experiment_model.thrift | 4 +-
.../airavata-api/task_model.thrift | 4 +-
17 files changed, 1030 insertions(+), 406 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index e1f53bf..ab0e146 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -75,10 +75,7 @@ import org.apache.thrift.TException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
public class AiravataServerHandler implements Airavata.Iface {
private static final Logger logger = LoggerFactory.getLogger(AiravataServerHandler.class);
@@ -1256,6 +1253,69 @@ public class AiravataServerHandler implements Airavata.Iface {
return getExperimentInternal(airavataExperimentId);
}
+ /**
+ * Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
+ * tasks -> jobs information.
+ *
+ * @param airavataExperimentId The identifier for the requested experiment. This is returned during the create experiment step.
+ * @return experimentMetada
+ * This method will return the previously stored experiment metadata.
+ * @throws org.apache.airavata.model.error.InvalidRequestException For any incorrect forming of the request itself.
+ * @throws org.apache.airavata.model.error.ExperimentNotFoundException If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+ * @throws org.apache.airavata.model.error.AiravataClientException The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+ * <p/>
+ * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+ * step, then Airavata Registry will not have a provenance area setup. The client has to follow
+ * gateway registration steps and retry this request.
+ * <p/>
+ * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+ * For now this is a place holder.
+ * <p/>
+ * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+ * is implemented, the authorization will be more substantial.
+ * @throws org.apache.airavata.model.error.AiravataSystemException This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+ * rather an Airavata Administrator will be notified to take corrective action.
+ */
+ @Override
+ @SecurityCheck
+ public ExperimentModel getDetailedExperimentTree(AuthzToken authzToken, String airavataExperimentId) throws InvalidRequestException,
+ ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
+ try {
+ ExperimentModel experimentModel = getExperimentInternal(airavataExperimentId);
+ experimentCatalog = RegistryFactory.getDefaultExpCatalog();
+ List<Object> processObjects = experimentCatalog.get(ExperimentCatalogModelType.PROCESS,
+ Constants.FieldConstants.ExperimentConstants.EXPERIMENT_ID, experimentModel.getExperimentId());
+ List<ProcessModel> processList = new ArrayList<>();
+ if(processObjects != null){
+ processObjects.stream().forEach(p -> {
+ //Process already has the task object
+ ((ProcessModel)p).getTasks().stream().forEach(t->{
+ try {
+ List<Object> jobObjects = experimentCatalog.get(ExperimentCatalogModelType.JOB,
+ Constants.FieldConstants.JobConstants.TASK_ID, ((TaskModel)t).getTaskId());
+ List<JobModel> jobList = new ArrayList<JobModel>();
+ if(jobObjects != null){
+ jobObjects.stream().forEach(j -> jobList.add((JobModel)j));
+ t.setJobs(jobList);
+ }
+ } catch (RegistryException e) {
+ logger.error(e.getMessage(), e);
+ }
+ });
+ processList.add((ProcessModel)p);
+ });
+ experimentModel.setProcesses(processList);
+ }
+ return experimentModel;
+ } catch (Exception e) {
+ logger.error("Error while retrieving the experiment", e);
+ AiravataSystemException exception = new AiravataSystemException();
+ exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+ exception.setMessage("Error while retrieving the experiment. More info : " + e.getMessage());
+ throw exception;
+ }
+ }
+
/*This private method wraps the logic of getExperiment method as this method is called internally in the API.*/
private ExperimentModel getExperimentInternal(String airavataExperimentId) throws InvalidRequestException,
ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 67e48ae..4b7cd57 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -474,6 +474,45 @@ class AiravataIf {
virtual void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
/**
+ * Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
+ * tasks -> jobs information.
+ *
+ * @param airavataExperimentId
+ * The identifier for the requested experiment. This is returned during the create experiment step.
+ *
+ * @return experimentMetada
+ * This method will return the previously stored experiment metadata.
+ *
+ * @throws org.apache.airavata.model.error.InvalidRequestException
+ * For any incorrect forming of the request itself.
+ *
+ * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+ * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+ *
+ * @throws org.apache.airavata.model.error.AiravataClientException
+ * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+ *
+ * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+ * step, then Airavata Registry will not have a provenance area setup. The client has to follow
+ * gateway registration steps and retry this request.
+ *
+ * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+ * For now this is a place holder.
+ *
+ * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+ * is implemented, the authorization will be more substantial.
+ *
+ * @throws org.apache.airavata.model.error.AiravataSystemException
+ * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+ * rather an Airavata Administrator will be notified to take corrective action.
+ *
+ *
+ * @param authzToken
+ * @param airavataExperimentId
+ */
+ virtual void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
+
+ /**
* Configure a previously created experiment with required inputs, scheduling and other quality of service
* parameters. This method only updates the experiment object within the registry. The experiment has to be launched
* to make it actionable by the server.
@@ -1917,6 +1956,9 @@ class AiravataNull : virtual public AiravataIf {
void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& /* _return */, const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
return;
}
+ void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& /* _return */, const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
+ return;
+ }
void updateExperiment(const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */, const ::apache::airavata::model::experiment::ExperimentModel& /* experiment */) {
return;
}
@@ -6222,8 +6264,8 @@ typedef struct _Airavata_getExperimentsInProject_result__isset {
class Airavata_getExperimentsInProject_result {
public:
- static const char* ascii_fingerprint; // = "4A43F862B4395ECBB8FAF5A2B8AD5719";
- static const uint8_t binary_fingerprint[16]; // = {0x4A,0x43,0xF8,0x62,0xB4,0x39,0x5E,0xCB,0xB8,0xFA,0xF5,0xA2,0xB8,0xAD,0x57,0x19};
+ static const char* ascii_fingerprint; // = "B8784F6CD390EB041E2F35FF8F2F5DF8";
+ static const uint8_t binary_fingerprint[16]; // = {0xB8,0x78,0x4F,0x6C,0xD3,0x90,0xEB,0x04,0x1E,0x2F,0x35,0xFF,0x8F,0x2F,0x5D,0xF8};
Airavata_getExperimentsInProject_result(const Airavata_getExperimentsInProject_result&);
Airavata_getExperimentsInProject_result& operator=(const Airavata_getExperimentsInProject_result&);
@@ -6293,8 +6335,8 @@ typedef struct _Airavata_getExperimentsInProject_presult__isset {
class Airavata_getExperimentsInProject_presult {
public:
- static const char* ascii_fingerprint; // = "4A43F862B4395ECBB8FAF5A2B8AD5719";
- static const uint8_t binary_fingerprint[16]; // = {0x4A,0x43,0xF8,0x62,0xB4,0x39,0x5E,0xCB,0xB8,0xFA,0xF5,0xA2,0xB8,0xAD,0x57,0x19};
+ static const char* ascii_fingerprint; // = "B8784F6CD390EB041E2F35FF8F2F5DF8";
+ static const uint8_t binary_fingerprint[16]; // = {0xB8,0x78,0x4F,0x6C,0xD3,0x90,0xEB,0x04,0x1E,0x2F,0x35,0xFF,0x8F,0x2F,0x5D,0xF8};
virtual ~Airavata_getExperimentsInProject_presult() throw();
@@ -6399,8 +6441,8 @@ typedef struct _Airavata_getUserExperiments_result__isset {
class Airavata_getUserExperiments_result {
public:
- static const char* ascii_fingerprint; // = "564D61ED145B7790C97978C1EC67EB22";
- static const uint8_t binary_fingerprint[16]; // = {0x56,0x4D,0x61,0xED,0x14,0x5B,0x77,0x90,0xC9,0x79,0x78,0xC1,0xEC,0x67,0xEB,0x22};
+ static const char* ascii_fingerprint; // = "84E19C1C4E5B827947AAA2E898184043";
+ static const uint8_t binary_fingerprint[16]; // = {0x84,0xE1,0x9C,0x1C,0x4E,0x5B,0x82,0x79,0x47,0xAA,0xA2,0xE8,0x98,0x18,0x40,0x43};
Airavata_getUserExperiments_result(const Airavata_getUserExperiments_result&);
Airavata_getUserExperiments_result& operator=(const Airavata_getUserExperiments_result&);
@@ -6464,8 +6506,8 @@ typedef struct _Airavata_getUserExperiments_presult__isset {
class Airavata_getUserExperiments_presult {
public:
- static const char* ascii_fingerprint; // = "564D61ED145B7790C97978C1EC67EB22";
- static const uint8_t binary_fingerprint[16]; // = {0x56,0x4D,0x61,0xED,0x14,0x5B,0x77,0x90,0xC9,0x79,0x78,0xC1,0xEC,0x67,0xEB,0x22};
+ static const char* ascii_fingerprint; // = "84E19C1C4E5B827947AAA2E898184043";
+ static const uint8_t binary_fingerprint[16]; // = {0x84,0xE1,0x9C,0x1C,0x4E,0x5B,0x82,0x79,0x47,0xAA,0xA2,0xE8,0x98,0x18,0x40,0x43};
virtual ~Airavata_getUserExperiments_presult() throw();
@@ -6486,8 +6528,8 @@ class Airavata_getUserExperiments_presult {
class Airavata_createExperiment_args {
public:
- static const char* ascii_fingerprint; // = "9A4BE74079A0E2FB7F9DE44451A9128E";
- static const uint8_t binary_fingerprint[16]; // = {0x9A,0x4B,0xE7,0x40,0x79,0xA0,0xE2,0xFB,0x7F,0x9D,0xE4,0x44,0x51,0xA9,0x12,0x8E};
+ static const char* ascii_fingerprint; // = "AF8D8506603C5450CFF6943D2A1CC541";
+ static const uint8_t binary_fingerprint[16]; // = {0xAF,0x8D,0x85,0x06,0x60,0x3C,0x54,0x50,0xCF,0xF6,0x94,0x3D,0x2A,0x1C,0xC5,0x41};
Airavata_createExperiment_args(const Airavata_createExperiment_args&);
Airavata_createExperiment_args& operator=(const Airavata_createExperiment_args&);
@@ -6531,8 +6573,8 @@ class Airavata_createExperiment_args {
class Airavata_createExperiment_pargs {
public:
- static const char* ascii_fingerprint; // = "9A4BE74079A0E2FB7F9DE44451A9128E";
- static const uint8_t binary_fingerprint[16]; // = {0x9A,0x4B,0xE7,0x40,0x79,0xA0,0xE2,0xFB,0x7F,0x9D,0xE4,0x44,0x51,0xA9,0x12,0x8E};
+ static const char* ascii_fingerprint; // = "AF8D8506603C5450CFF6943D2A1CC541";
+ static const uint8_t binary_fingerprint[16]; // = {0xAF,0x8D,0x85,0x06,0x60,0x3C,0x54,0x50,0xCF,0xF6,0x94,0x3D,0x2A,0x1C,0xC5,0x41};
virtual ~Airavata_createExperiment_pargs() throw();
@@ -6862,8 +6904,8 @@ typedef struct _Airavata_getExperiment_result__isset {
class Airavata_getExperiment_result {
public:
- static const char* ascii_fingerprint; // = "0AC3160B80BF5C1F1AA64595E360CB5D";
- static const uint8_t binary_fingerprint[16]; // = {0x0A,0xC3,0x16,0x0B,0x80,0xBF,0x5C,0x1F,0x1A,0xA6,0x45,0x95,0xE3,0x60,0xCB,0x5D};
+ static const char* ascii_fingerprint; // = "97507E675D509FA1DF7A743F62A5860C";
+ static const uint8_t binary_fingerprint[16]; // = {0x97,0x50,0x7E,0x67,0x5D,0x50,0x9F,0xA1,0xDF,0x7A,0x74,0x3F,0x62,0xA5,0x86,0x0C};
Airavata_getExperiment_result(const Airavata_getExperiment_result&);
Airavata_getExperiment_result& operator=(const Airavata_getExperiment_result&);
@@ -6933,8 +6975,8 @@ typedef struct _Airavata_getExperiment_presult__isset {
class Airavata_getExperiment_presult {
public:
- static const char* ascii_fingerprint; // = "0AC3160B80BF5C1F1AA64595E360CB5D";
- static const uint8_t binary_fingerprint[16]; // = {0x0A,0xC3,0x16,0x0B,0x80,0xBF,0x5C,0x1F,0x1A,0xA6,0x45,0x95,0xE3,0x60,0xCB,0x5D};
+ static const char* ascii_fingerprint; // = "97507E675D509FA1DF7A743F62A5860C";
+ static const uint8_t binary_fingerprint[16]; // = {0x97,0x50,0x7E,0x67,0x5D,0x50,0x9F,0xA1,0xDF,0x7A,0x74,0x3F,0x62,0xA5,0x86,0x0C};
virtual ~Airavata_getExperiment_presult() throw();
@@ -6953,11 +6995,171 @@ class Airavata_getExperiment_presult {
};
+class Airavata_getDetailedExperimentTree_args {
+ public:
+
+ static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+ static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
+
+ Airavata_getDetailedExperimentTree_args(const Airavata_getDetailedExperimentTree_args&);
+ Airavata_getDetailedExperimentTree_args& operator=(const Airavata_getDetailedExperimentTree_args&);
+ Airavata_getDetailedExperimentTree_args() : airavataExperimentId() {
+ }
+
+ virtual ~Airavata_getDetailedExperimentTree_args() throw();
+ ::apache::airavata::model::security::AuthzToken authzToken;
+ std::string airavataExperimentId;
+
+ void __set_authzToken(const ::apache::airavata::model::security::AuthzToken& val);
+
+ void __set_airavataExperimentId(const std::string& val);
+
+ bool operator == (const Airavata_getDetailedExperimentTree_args & rhs) const
+ {
+ if (!(authzToken == rhs.authzToken))
+ return false;
+ if (!(airavataExperimentId == rhs.airavataExperimentId))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getDetailedExperimentTree_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getDetailedExperimentTree_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+ friend std::ostream& operator<<(std::ostream& out, const Airavata_getDetailedExperimentTree_args& obj);
+};
+
+
+class Airavata_getDetailedExperimentTree_pargs {
+ public:
+
+ static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF";
+ static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF};
+
+
+ virtual ~Airavata_getDetailedExperimentTree_pargs() throw();
+ const ::apache::airavata::model::security::AuthzToken* authzToken;
+ const std::string* airavataExperimentId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+ friend std::ostream& operator<<(std::ostream& out, const Airavata_getDetailedExperimentTree_pargs& obj);
+};
+
+typedef struct _Airavata_getDetailedExperimentTree_result__isset {
+ _Airavata_getDetailedExperimentTree_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false), ae(false) {}
+ bool success :1;
+ bool ire :1;
+ bool enf :1;
+ bool ace :1;
+ bool ase :1;
+ bool ae :1;
+} _Airavata_getDetailedExperimentTree_result__isset;
+
+class Airavata_getDetailedExperimentTree_result {
+ public:
+
+ static const char* ascii_fingerprint; // = "97507E675D509FA1DF7A743F62A5860C";
+ static const uint8_t binary_fingerprint[16]; // = {0x97,0x50,0x7E,0x67,0x5D,0x50,0x9F,0xA1,0xDF,0x7A,0x74,0x3F,0x62,0xA5,0x86,0x0C};
+
+ Airavata_getDetailedExperimentTree_result(const Airavata_getDetailedExperimentTree_result&);
+ Airavata_getDetailedExperimentTree_result& operator=(const Airavata_getDetailedExperimentTree_result&);
+ Airavata_getDetailedExperimentTree_result() {
+ }
+
+ virtual ~Airavata_getDetailedExperimentTree_result() throw();
+ ::apache::airavata::model::experiment::ExperimentModel success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::ExperimentNotFoundException enf;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+ ::apache::airavata::api::error::AuthorizationException ae;
+
+ _Airavata_getDetailedExperimentTree_result__isset __isset;
+
+ void __set_success(const ::apache::airavata::model::experiment::ExperimentModel& val);
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val);
+
+ void __set_enf(const ::apache::airavata::api::error::ExperimentNotFoundException& val);
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val);
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val);
+
+ void __set_ae(const ::apache::airavata::api::error::AuthorizationException& val);
+
+ bool operator == (const Airavata_getDetailedExperimentTree_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(enf == rhs.enf))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ if (!(ae == rhs.ae))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getDetailedExperimentTree_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getDetailedExperimentTree_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+ friend std::ostream& operator<<(std::ostream& out, const Airavata_getDetailedExperimentTree_result& obj);
+};
+
+typedef struct _Airavata_getDetailedExperimentTree_presult__isset {
+ _Airavata_getDetailedExperimentTree_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false), ae(false) {}
+ bool success :1;
+ bool ire :1;
+ bool enf :1;
+ bool ace :1;
+ bool ase :1;
+ bool ae :1;
+} _Airavata_getDetailedExperimentTree_presult__isset;
+
+class Airavata_getDetailedExperimentTree_presult {
+ public:
+
+ static const char* ascii_fingerprint; // = "97507E675D509FA1DF7A743F62A5860C";
+ static const uint8_t binary_fingerprint[16]; // = {0x97,0x50,0x7E,0x67,0x5D,0x50,0x9F,0xA1,0xDF,0x7A,0x74,0x3F,0x62,0xA5,0x86,0x0C};
+
+
+ virtual ~Airavata_getDetailedExperimentTree_presult() throw();
+ ::apache::airavata::model::experiment::ExperimentModel* success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::ExperimentNotFoundException enf;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+ ::apache::airavata::api::error::AuthorizationException ae;
+
+ _Airavata_getDetailedExperimentTree_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+ friend std::ostream& operator<<(std::ostream& out, const Airavata_getDetailedExperimentTree_presult& obj);
+};
+
+
class Airavata_updateExperiment_args {
public:
- static const char* ascii_fingerprint; // = "9A4BE74079A0E2FB7F9DE44451A9128E";
- static const uint8_t binary_fingerprint[16]; // = {0x9A,0x4B,0xE7,0x40,0x79,0xA0,0xE2,0xFB,0x7F,0x9D,0xE4,0x44,0x51,0xA9,0x12,0x8E};
+ static const char* ascii_fingerprint; // = "AF8D8506603C5450CFF6943D2A1CC541";
+ static const uint8_t binary_fingerprint[16]; // = {0xAF,0x8D,0x85,0x06,0x60,0x3C,0x54,0x50,0xCF,0xF6,0x94,0x3D,0x2A,0x1C,0xC5,0x41};
Airavata_updateExperiment_args(const Airavata_updateExperiment_args&);
Airavata_updateExperiment_args& operator=(const Airavata_updateExperiment_args&);
@@ -7001,8 +7203,8 @@ class Airavata_updateExperiment_args {
class Airavata_updateExperiment_pargs {
public:
- static const char* ascii_fingerprint; // = "9A4BE74079A0E2FB7F9DE44451A9128E";
- static const uint8_t binary_fingerprint[16]; // = {0x9A,0x4B,0xE7,0x40,0x79,0xA0,0xE2,0xFB,0x7F,0x9D,0xE4,0x44,0x51,0xA9,0x12,0x8E};
+ static const char* ascii_fingerprint; // = "AF8D8506603C5450CFF6943D2A1CC541";
+ static const uint8_t binary_fingerprint[16]; // = {0xAF,0x8D,0x85,0x06,0x60,0x3C,0x54,0x50,0xCF,0xF6,0x94,0x3D,0x2A,0x1C,0xC5,0x41};
virtual ~Airavata_updateExperiment_pargs() throw();
@@ -22602,6 +22804,9 @@ class AiravataClient : virtual public AiravataIf {
void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
void send_getExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
void recv_getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return);
+ void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
+ void send_getDetailedExperimentTree(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
+ void recv_getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return);
void updateExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const ::apache::airavata::model::experiment::ExperimentModel& experiment);
void send_updateExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const ::apache::airavata::model::experiment::ExperimentModel& experiment);
void recv_updateExperiment();
@@ -22946,6 +23151,7 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
void process_createExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
void process_deleteExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
void process_getExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+ void process_getDetailedExperimentTree(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
void process_updateExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
void process_updateExperimentConfiguration(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
void process_updateResourceScheduleing(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
@@ -23078,6 +23284,7 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor {
processMap_["createExperiment"] = &AiravataProcessor::process_createExperiment;
processMap_["deleteExperiment"] = &AiravataProcessor::process_deleteExperiment;
processMap_["getExperiment"] = &AiravataProcessor::process_getExperiment;
+ processMap_["getDetailedExperimentTree"] = &AiravataProcessor::process_getDetailedExperimentTree;
processMap_["updateExperiment"] = &AiravataProcessor::process_updateExperiment;
processMap_["updateExperimentConfiguration"] = &AiravataProcessor::process_updateExperimentConfiguration;
processMap_["updateResourceScheduleing"] = &AiravataProcessor::process_updateResourceScheduleing;
@@ -23490,6 +23697,16 @@ class AiravataMultiface : virtual public AiravataIf {
return;
}
+ void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) {
+ size_t sz = ifaces_.size();
+ size_t i = 0;
+ for (; i < (sz - 1); ++i) {
+ ifaces_[i]->getDetailedExperimentTree(_return, authzToken, airavataExperimentId);
+ }
+ ifaces_[i]->getDetailedExperimentTree(_return, authzToken, airavataExperimentId);
+ return;
+ }
+
void updateExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const ::apache::airavata::model::experiment::ExperimentModel& experiment) {
size_t sz = ifaces_.size();
size_t i = 0;
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index 87dc8c2..fdc4f8c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -576,6 +576,48 @@ class AiravataHandler : virtual public AiravataIf {
}
/**
+ * Fetch the completed nested tree structue of previously created experiment metadata which includes processes ->
+ * tasks -> jobs information.
+ *
+ * @param airavataExperimentId
+ * The identifier for the requested experiment. This is returned during the create experiment step.
+ *
+ * @return experimentMetada
+ * This method will return the previously stored experiment metadata.
+ *
+ * @throws org.apache.airavata.model.error.InvalidRequestException
+ * For any incorrect forming of the request itself.
+ *
+ * @throws org.apache.airavata.model.error.ExperimentNotFoundException
+ * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown.
+ *
+ * @throws org.apache.airavata.model.error.AiravataClientException
+ * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve:
+ *
+ * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative
+ * step, then Airavata Registry will not have a provenance area setup. The client has to follow
+ * gateway registration steps and retry this request.
+ *
+ * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined.
+ * For now this is a place holder.
+ *
+ * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake
+ * is implemented, the authorization will be more substantial.
+ *
+ * @throws org.apache.airavata.model.error.AiravataSystemException
+ * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client
+ * rather an Airavata Administrator will be notified to take corrective action.
+ *
+ *
+ * @param authzToken
+ * @param airavataExperimentId
+ */
+ void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) {
+ // Your implementation goes here
+ printf("getDetailedExperimentTree\n");
+ }
+
+ /**
* Configure a previously created experiment with required inputs, scheduling and other quality of service
* parameters. This method only updates the experiment object within the registry. The experiment has to be launched
* to make it actionable by the server.
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
index d4e5ad2..cdbf72b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
@@ -370,8 +370,13 @@ void ExperimentModel::__set_errors(const std::vector< ::apache::airavata::model:
__isset.errors = true;
}
-const char* ExperimentModel::ascii_fingerprint = "5B49E16C9D5CBD0AE0EC026061048743";
-const uint8_t ExperimentModel::binary_fingerprint[16] = {0x5B,0x49,0xE1,0x6C,0x9D,0x5C,0xBD,0x0A,0xE0,0xEC,0x02,0x60,0x61,0x04,0x87,0x43};
+void ExperimentModel::__set_processes(const std::vector< ::apache::airavata::model::process::ProcessModel> & val) {
+ this->processes = val;
+__isset.processes = true;
+}
+
+const char* ExperimentModel::ascii_fingerprint = "4DF530DE68212F7F779CF0EF35D9EDC3";
+const uint8_t ExperimentModel::binary_fingerprint[16] = {0x4D,0xF5,0x30,0xDE,0x68,0x21,0x2F,0x7F,0x77,0x9C,0xF0,0xEF,0x35,0xD9,0xED,0xC3};
uint32_t ExperimentModel::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -585,6 +590,26 @@ uint32_t ExperimentModel::read(::apache::thrift::protocol::TProtocol* iprot) {
xfer += iprot->skip(ftype);
}
break;
+ case 18:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->processes.clear();
+ uint32_t _size23;
+ ::apache::thrift::protocol::TType _etype26;
+ xfer += iprot->readListBegin(_etype26, _size23);
+ this->processes.resize(_size23);
+ uint32_t _i27;
+ for (_i27 = 0; _i27 < _size23; ++_i27)
+ {
+ xfer += this->processes[_i27].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.processes = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
default:
xfer += iprot->skip(ftype);
break;
@@ -667,10 +692,10 @@ uint32_t ExperimentModel::write(::apache::thrift::protocol::TProtocol* oprot) co
xfer += oprot->writeFieldBegin("emailAddresses", ::apache::thrift::protocol::T_LIST, 12);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->emailAddresses.size()));
- std::vector<std::string> ::const_iterator _iter23;
- for (_iter23 = this->emailAddresses.begin(); _iter23 != this->emailAddresses.end(); ++_iter23)
+ std::vector<std::string> ::const_iterator _iter28;
+ for (_iter28 = this->emailAddresses.begin(); _iter28 != this->emailAddresses.end(); ++_iter28)
{
- xfer += oprot->writeString((*_iter23));
+ xfer += oprot->writeString((*_iter28));
}
xfer += oprot->writeListEnd();
}
@@ -685,10 +710,10 @@ uint32_t ExperimentModel::write(::apache::thrift::protocol::TProtocol* oprot) co
xfer += oprot->writeFieldBegin("experimentInputs", ::apache::thrift::protocol::T_LIST, 14);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentInputs.size()));
- std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter24;
- for (_iter24 = this->experimentInputs.begin(); _iter24 != this->experimentInputs.end(); ++_iter24)
+ std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter29;
+ for (_iter29 = this->experimentInputs.begin(); _iter29 != this->experimentInputs.end(); ++_iter29)
{
- xfer += (*_iter24).write(oprot);
+ xfer += (*_iter29).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -698,10 +723,10 @@ uint32_t ExperimentModel::write(::apache::thrift::protocol::TProtocol* oprot) co
xfer += oprot->writeFieldBegin("experimentOutputs", ::apache::thrift::protocol::T_LIST, 15);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentOutputs.size()));
- std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter25;
- for (_iter25 = this->experimentOutputs.begin(); _iter25 != this->experimentOutputs.end(); ++_iter25)
+ std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter30;
+ for (_iter30 = this->experimentOutputs.begin(); _iter30 != this->experimentOutputs.end(); ++_iter30)
{
- xfer += (*_iter25).write(oprot);
+ xfer += (*_iter30).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -716,10 +741,23 @@ uint32_t ExperimentModel::write(::apache::thrift::protocol::TProtocol* oprot) co
xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 17);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
- std::vector< ::apache::airavata::model::commons::ErrorModel> ::const_iterator _iter26;
- for (_iter26 = this->errors.begin(); _iter26 != this->errors.end(); ++_iter26)
+ std::vector< ::apache::airavata::model::commons::ErrorModel> ::const_iterator _iter31;
+ for (_iter31 = this->errors.begin(); _iter31 != this->errors.end(); ++_iter31)
+ {
+ xfer += (*_iter31).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.processes) {
+ xfer += oprot->writeFieldBegin("processes", ::apache::thrift::protocol::T_LIST, 18);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->processes.size()));
+ std::vector< ::apache::airavata::model::process::ProcessModel> ::const_iterator _iter32;
+ for (_iter32 = this->processes.begin(); _iter32 != this->processes.end(); ++_iter32)
{
- xfer += (*_iter26).write(oprot);
+ xfer += (*_iter32).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -750,48 +788,51 @@ void swap(ExperimentModel &a, ExperimentModel &b) {
swap(a.experimentOutputs, b.experimentOutputs);
swap(a.experimentStatus, b.experimentStatus);
swap(a.errors, b.errors);
+ swap(a.processes, b.processes);
swap(a.__isset, b.__isset);
}
-ExperimentModel::ExperimentModel(const ExperimentModel& other27) {
- experimentId = other27.experimentId;
- projectId = other27.projectId;
- gatewayId = other27.gatewayId;
- experimentType = other27.experimentType;
- userName = other27.userName;
- experimentName = other27.experimentName;
- creationTime = other27.creationTime;
- description = other27.description;
- executionId = other27.executionId;
- gatewayExecutionId = other27.gatewayExecutionId;
- enableEmailNotification = other27.enableEmailNotification;
- emailAddresses = other27.emailAddresses;
- userConfigurationData = other27.userConfigurationData;
- experimentInputs = other27.experimentInputs;
- experimentOutputs = other27.experimentOutputs;
- experimentStatus = other27.experimentStatus;
- errors = other27.errors;
- __isset = other27.__isset;
-}
-ExperimentModel& ExperimentModel::operator=(const ExperimentModel& other28) {
- experimentId = other28.experimentId;
- projectId = other28.projectId;
- gatewayId = other28.gatewayId;
- experimentType = other28.experimentType;
- userName = other28.userName;
- experimentName = other28.experimentName;
- creationTime = other28.creationTime;
- description = other28.description;
- executionId = other28.executionId;
- gatewayExecutionId = other28.gatewayExecutionId;
- enableEmailNotification = other28.enableEmailNotification;
- emailAddresses = other28.emailAddresses;
- userConfigurationData = other28.userConfigurationData;
- experimentInputs = other28.experimentInputs;
- experimentOutputs = other28.experimentOutputs;
- experimentStatus = other28.experimentStatus;
- errors = other28.errors;
- __isset = other28.__isset;
+ExperimentModel::ExperimentModel(const ExperimentModel& other33) {
+ experimentId = other33.experimentId;
+ projectId = other33.projectId;
+ gatewayId = other33.gatewayId;
+ experimentType = other33.experimentType;
+ userName = other33.userName;
+ experimentName = other33.experimentName;
+ creationTime = other33.creationTime;
+ description = other33.description;
+ executionId = other33.executionId;
+ gatewayExecutionId = other33.gatewayExecutionId;
+ enableEmailNotification = other33.enableEmailNotification;
+ emailAddresses = other33.emailAddresses;
+ userConfigurationData = other33.userConfigurationData;
+ experimentInputs = other33.experimentInputs;
+ experimentOutputs = other33.experimentOutputs;
+ experimentStatus = other33.experimentStatus;
+ errors = other33.errors;
+ processes = other33.processes;
+ __isset = other33.__isset;
+}
+ExperimentModel& ExperimentModel::operator=(const ExperimentModel& other34) {
+ experimentId = other34.experimentId;
+ projectId = other34.projectId;
+ gatewayId = other34.gatewayId;
+ experimentType = other34.experimentType;
+ userName = other34.userName;
+ experimentName = other34.experimentName;
+ creationTime = other34.creationTime;
+ description = other34.description;
+ executionId = other34.executionId;
+ gatewayExecutionId = other34.gatewayExecutionId;
+ enableEmailNotification = other34.enableEmailNotification;
+ emailAddresses = other34.emailAddresses;
+ userConfigurationData = other34.userConfigurationData;
+ experimentInputs = other34.experimentInputs;
+ experimentOutputs = other34.experimentOutputs;
+ experimentStatus = other34.experimentStatus;
+ errors = other34.errors;
+ processes = other34.processes;
+ __isset = other34.__isset;
return *this;
}
std::ostream& operator<<(std::ostream& out, const ExperimentModel& obj) {
@@ -814,6 +855,7 @@ std::ostream& operator<<(std::ostream& out, const ExperimentModel& obj) {
out << ", " << "experimentOutputs="; (obj.__isset.experimentOutputs ? (out << to_string(obj.experimentOutputs)) : (out << "<null>"));
out << ", " << "experimentStatus="; (obj.__isset.experimentStatus ? (out << to_string(obj.experimentStatus)) : (out << "<null>"));
out << ", " << "errors="; (obj.__isset.errors ? (out << to_string(obj.errors)) : (out << "<null>"));
+ out << ", " << "processes="; (obj.__isset.processes ? (out << to_string(obj.processes)) : (out << "<null>"));
out << ")";
return out;
}
@@ -1088,33 +1130,33 @@ void swap(ExperimentSummaryModel &a, ExperimentSummaryModel &b) {
swap(a.__isset, b.__isset);
}
-ExperimentSummaryModel::ExperimentSummaryModel(const ExperimentSummaryModel& other29) {
- experimentId = other29.experimentId;
- projectId = other29.projectId;
- gatewayId = other29.gatewayId;
- creationTime = other29.creationTime;
- userName = other29.userName;
- name = other29.name;
- description = other29.description;
- executionId = other29.executionId;
- resourceHostId = other29.resourceHostId;
- experimentStatus = other29.experimentStatus;
- statusUpdateTime = other29.statusUpdateTime;
- __isset = other29.__isset;
-}
-ExperimentSummaryModel& ExperimentSummaryModel::operator=(const ExperimentSummaryModel& other30) {
- experimentId = other30.experimentId;
- projectId = other30.projectId;
- gatewayId = other30.gatewayId;
- creationTime = other30.creationTime;
- userName = other30.userName;
- name = other30.name;
- description = other30.description;
- executionId = other30.executionId;
- resourceHostId = other30.resourceHostId;
- experimentStatus = other30.experimentStatus;
- statusUpdateTime = other30.statusUpdateTime;
- __isset = other30.__isset;
+ExperimentSummaryModel::ExperimentSummaryModel(const ExperimentSummaryModel& other35) {
+ experimentId = other35.experimentId;
+ projectId = other35.projectId;
+ gatewayId = other35.gatewayId;
+ creationTime = other35.creationTime;
+ userName = other35.userName;
+ name = other35.name;
+ description = other35.description;
+ executionId = other35.executionId;
+ resourceHostId = other35.resourceHostId;
+ experimentStatus = other35.experimentStatus;
+ statusUpdateTime = other35.statusUpdateTime;
+ __isset = other35.__isset;
+}
+ExperimentSummaryModel& ExperimentSummaryModel::operator=(const ExperimentSummaryModel& other36) {
+ experimentId = other36.experimentId;
+ projectId = other36.projectId;
+ gatewayId = other36.gatewayId;
+ creationTime = other36.creationTime;
+ userName = other36.userName;
+ name = other36.name;
+ description = other36.description;
+ executionId = other36.executionId;
+ resourceHostId = other36.resourceHostId;
+ experimentStatus = other36.experimentStatus;
+ statusUpdateTime = other36.statusUpdateTime;
+ __isset = other36.__isset;
return *this;
}
std::ostream& operator<<(std::ostream& out, const ExperimentSummaryModel& obj) {
@@ -1275,14 +1317,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->allExperiments.clear();
- uint32_t _size31;
- ::apache::thrift::protocol::TType _etype34;
- xfer += iprot->readListBegin(_etype34, _size31);
- this->allExperiments.resize(_size31);
- uint32_t _i35;
- for (_i35 = 0; _i35 < _size31; ++_i35)
+ uint32_t _size37;
+ ::apache::thrift::protocol::TType _etype40;
+ xfer += iprot->readListBegin(_etype40, _size37);
+ this->allExperiments.resize(_size37);
+ uint32_t _i41;
+ for (_i41 = 0; _i41 < _size37; ++_i41)
{
- xfer += this->allExperiments[_i35].read(iprot);
+ xfer += this->allExperiments[_i41].read(iprot);
}
xfer += iprot->readListEnd();
}
@@ -1295,14 +1337,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->completedExperiments.clear();
- uint32_t _size36;
- ::apache::thrift::protocol::TType _etype39;
- xfer += iprot->readListBegin(_etype39, _size36);
- this->completedExperiments.resize(_size36);
- uint32_t _i40;
- for (_i40 = 0; _i40 < _size36; ++_i40)
+ uint32_t _size42;
+ ::apache::thrift::protocol::TType _etype45;
+ xfer += iprot->readListBegin(_etype45, _size42);
+ this->completedExperiments.resize(_size42);
+ uint32_t _i46;
+ for (_i46 = 0; _i46 < _size42; ++_i46)
{
- xfer += this->completedExperiments[_i40].read(iprot);
+ xfer += this->completedExperiments[_i46].read(iprot);
}
xfer += iprot->readListEnd();
}
@@ -1315,14 +1357,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->failedExperiments.clear();
- uint32_t _size41;
- ::apache::thrift::protocol::TType _etype44;
- xfer += iprot->readListBegin(_etype44, _size41);
- this->failedExperiments.resize(_size41);
- uint32_t _i45;
- for (_i45 = 0; _i45 < _size41; ++_i45)
+ uint32_t _size47;
+ ::apache::thrift::protocol::TType _etype50;
+ xfer += iprot->readListBegin(_etype50, _size47);
+ this->failedExperiments.resize(_size47);
+ uint32_t _i51;
+ for (_i51 = 0; _i51 < _size47; ++_i51)
{
- xfer += this->failedExperiments[_i45].read(iprot);
+ xfer += this->failedExperiments[_i51].read(iprot);
}
xfer += iprot->readListEnd();
}
@@ -1335,14 +1377,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->cancelledExperiments.clear();
- uint32_t _size46;
- ::apache::thrift::protocol::TType _etype49;
- xfer += iprot->readListBegin(_etype49, _size46);
- this->cancelledExperiments.resize(_size46);
- uint32_t _i50;
- for (_i50 = 0; _i50 < _size46; ++_i50)
+ uint32_t _size52;
+ ::apache::thrift::protocol::TType _etype55;
+ xfer += iprot->readListBegin(_etype55, _size52);
+ this->cancelledExperiments.resize(_size52);
+ uint32_t _i56;
+ for (_i56 = 0; _i56 < _size52; ++_i56)
{
- xfer += this->cancelledExperiments[_i50].read(iprot);
+ xfer += this->cancelledExperiments[_i56].read(iprot);
}
xfer += iprot->readListEnd();
}
@@ -1355,14 +1397,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->createdExperiments.clear();
- uint32_t _size51;
- ::apache::thrift::protocol::TType _etype54;
- xfer += iprot->readListBegin(_etype54, _size51);
- this->createdExperiments.resize(_size51);
- uint32_t _i55;
- for (_i55 = 0; _i55 < _size51; ++_i55)
+ uint32_t _size57;
+ ::apache::thrift::protocol::TType _etype60;
+ xfer += iprot->readListBegin(_etype60, _size57);
+ this->createdExperiments.resize(_size57);
+ uint32_t _i61;
+ for (_i61 = 0; _i61 < _size57; ++_i61)
{
- xfer += this->createdExperiments[_i55].read(iprot);
+ xfer += this->createdExperiments[_i61].read(iprot);
}
xfer += iprot->readListEnd();
}
@@ -1375,14 +1417,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot
if (ftype == ::apache::thrift::protocol::T_LIST) {
{
this->runningExperiments.clear();
- uint32_t _size56;
- ::apache::thrift::protocol::TType _etype59;
- xfer += iprot->readListBegin(_etype59, _size56);
- this->runningExperiments.resize(_size56);
- uint32_t _i60;
- for (_i60 = 0; _i60 < _size56; ++_i60)
+ uint32_t _size62;
+ ::apache::thrift::protocol::TType _etype65;
+ xfer += iprot->readListBegin(_etype65, _size62);
+ this->runningExperiments.resize(_size62);
+ uint32_t _i66;
+ for (_i66 = 0; _i66 < _size62; ++_i66)
{
- xfer += this->runningExperiments[_i60].read(iprot);
+ xfer += this->runningExperiments[_i66].read(iprot);
}
xfer += iprot->readListEnd();
}
@@ -1448,10 +1490,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro
xfer += oprot->writeFieldBegin("allExperiments", ::apache::thrift::protocol::T_LIST, 7);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->allExperiments.size()));
- std::vector<ExperimentSummaryModel> ::const_iterator _iter61;
- for (_iter61 = this->allExperiments.begin(); _iter61 != this->allExperiments.end(); ++_iter61)
+ std::vector<ExperimentSummaryModel> ::const_iterator _iter67;
+ for (_iter67 = this->allExperiments.begin(); _iter67 != this->allExperiments.end(); ++_iter67)
{
- xfer += (*_iter61).write(oprot);
+ xfer += (*_iter67).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -1461,10 +1503,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro
xfer += oprot->writeFieldBegin("completedExperiments", ::apache::thrift::protocol::T_LIST, 8);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->completedExperiments.size()));
- std::vector<ExperimentSummaryModel> ::const_iterator _iter62;
- for (_iter62 = this->completedExperiments.begin(); _iter62 != this->completedExperiments.end(); ++_iter62)
+ std::vector<ExperimentSummaryModel> ::const_iterator _iter68;
+ for (_iter68 = this->completedExperiments.begin(); _iter68 != this->completedExperiments.end(); ++_iter68)
{
- xfer += (*_iter62).write(oprot);
+ xfer += (*_iter68).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -1474,10 +1516,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro
xfer += oprot->writeFieldBegin("failedExperiments", ::apache::thrift::protocol::T_LIST, 9);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->failedExperiments.size()));
- std::vector<ExperimentSummaryModel> ::const_iterator _iter63;
- for (_iter63 = this->failedExperiments.begin(); _iter63 != this->failedExperiments.end(); ++_iter63)
+ std::vector<ExperimentSummaryModel> ::const_iterator _iter69;
+ for (_iter69 = this->failedExperiments.begin(); _iter69 != this->failedExperiments.end(); ++_iter69)
{
- xfer += (*_iter63).write(oprot);
+ xfer += (*_iter69).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -1487,10 +1529,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro
xfer += oprot->writeFieldBegin("cancelledExperiments", ::apache::thrift::protocol::T_LIST, 10);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->cancelledExperiments.size()));
- std::vector<ExperimentSummaryModel> ::const_iterator _iter64;
- for (_iter64 = this->cancelledExperiments.begin(); _iter64 != this->cancelledExperiments.end(); ++_iter64)
+ std::vector<ExperimentSummaryModel> ::const_iterator _iter70;
+ for (_iter70 = this->cancelledExperiments.begin(); _iter70 != this->cancelledExperiments.end(); ++_iter70)
{
- xfer += (*_iter64).write(oprot);
+ xfer += (*_iter70).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -1500,10 +1542,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro
xfer += oprot->writeFieldBegin("createdExperiments", ::apache::thrift::protocol::T_LIST, 11);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->createdExperiments.size()));
- std::vector<ExperimentSummaryModel> ::const_iterator _iter65;
- for (_iter65 = this->createdExperiments.begin(); _iter65 != this->createdExperiments.end(); ++_iter65)
+ std::vector<ExperimentSummaryModel> ::const_iterator _iter71;
+ for (_iter71 = this->createdExperiments.begin(); _iter71 != this->createdExperiments.end(); ++_iter71)
{
- xfer += (*_iter65).write(oprot);
+ xfer += (*_iter71).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -1513,10 +1555,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro
xfer += oprot->writeFieldBegin("runningExperiments", ::apache::thrift::protocol::T_LIST, 12);
{
xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->runningExperiments.size()));
- std::vector<ExperimentSummaryModel> ::const_iterator _iter66;
- for (_iter66 = this->runningExperiments.begin(); _iter66 != this->runningExperiments.end(); ++_iter66)
+ std::vector<ExperimentSummaryModel> ::const_iterator _iter72;
+ for (_iter72 = this->runningExperiments.begin(); _iter72 != this->runningExperiments.end(); ++_iter72)
{
- xfer += (*_iter66).write(oprot);
+ xfer += (*_iter72).write(oprot);
}
xfer += oprot->writeListEnd();
}
@@ -1545,35 +1587,35 @@ void swap(ExperimentStatistics &a, ExperimentStatistics &b) {
swap(a.__isset, b.__isset);
}
-ExperimentStatistics::ExperimentStatistics(const ExperimentStatistics& other67) {
- allExperimentCount = other67.allExperimentCount;
- completedExperimentCount = other67.completedExperimentCount;
- cancelledExperimentCount = other67.cancelledExperimentCount;
- failedExperimentCount = other67.failedExperimentCount;
- createdExperimentCount = other67.createdExperimentCount;
- runningExperimentCount = other67.runningExperimentCount;
- allExperiments = other67.allExperiments;
- completedExperiments = other67.completedExperiments;
- failedExperiments = other67.failedExperiments;
- cancelledExperiments = other67.cancelledExperiments;
- createdExperiments = other67.createdExperiments;
- runningExperiments = other67.runningExperiments;
- __isset = other67.__isset;
-}
-ExperimentStatistics& ExperimentStatistics::operator=(const ExperimentStatistics& other68) {
- allExperimentCount = other68.allExperimentCount;
- completedExperimentCount = other68.completedExperimentCount;
- cancelledExperimentCount = other68.cancelledExperimentCount;
- failedExperimentCount = other68.failedExperimentCount;
- createdExperimentCount = other68.createdExperimentCount;
- runningExperimentCount = other68.runningExperimentCount;
- allExperiments = other68.allExperiments;
- completedExperiments = other68.completedExperiments;
- failedExperiments = other68.failedExperiments;
- cancelledExperiments = other68.cancelledExperiments;
- createdExperiments = other68.createdExperiments;
- runningExperiments = other68.runningExperiments;
- __isset = other68.__isset;
+ExperimentStatistics::ExperimentStatistics(const ExperimentStatistics& other73) {
+ allExperimentCount = other73.allExperimentCount;
+ completedExperimentCount = other73.completedExperimentCount;
+ cancelledExperimentCount = other73.cancelledExperimentCount;
+ failedExperimentCount = other73.failedExperimentCount;
+ createdExperimentCount = other73.createdExperimentCount;
+ runningExperimentCount = other73.runningExperimentCount;
+ allExperiments = other73.allExperiments;
+ completedExperiments = other73.completedExperiments;
+ failedExperiments = other73.failedExperiments;
+ cancelledExperiments = other73.cancelledExperiments;
+ createdExperiments = other73.createdExperiments;
+ runningExperiments = other73.runningExperiments;
+ __isset = other73.__isset;
+}
+ExperimentStatistics& ExperimentStatistics::operator=(const ExperimentStatistics& other74) {
+ allExperimentCount = other74.allExperimentCount;
+ completedExperimentCount = other74.completedExperimentCount;
+ cancelledExperimentCount = other74.cancelledExperimentCount;
+ failedExperimentCount = other74.failedExperimentCount;
+ createdExperimentCount = other74.createdExperimentCount;
+ runningExperimentCount = other74.runningExperimentCount;
+ allExperiments = other74.allExperiments;
+ completedExperiments = other74.completedExperiments;
+ failedExperiments = other74.failedExperiments;
+ cancelledExperiments = other74.cancelledExperiments;
+ createdExperiments = other74.createdExperiments;
+ runningExperiments = other74.runningExperiments;
+ __isset = other74.__isset;
return *this;
}
std::ostream& operator<<(std::ostream& out, const ExperimentStatistics& obj) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
index 13ec7a6..c9f71a2 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
@@ -36,6 +36,7 @@
#include "scheduling_model_types.h"
#include "airavata_commons_types.h"
#include "status_models_types.h"
+#include "process_model_types.h"
namespace apache { namespace airavata { namespace model { namespace experiment {
@@ -159,7 +160,7 @@ class UserConfigurationDataModel {
void swap(UserConfigurationDataModel &a, UserConfigurationDataModel &b);
typedef struct _ExperimentModel__isset {
- _ExperimentModel__isset() : creationTime(false), description(false), executionId(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false), userConfigurationData(false), experimentInputs(false), experimentOutputs(false), experimentStatus(false), errors(false) {}
+ _ExperimentModel__isset() : creationTime(false), description(false), executionId(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false), userConfigurationData(false), experimentInputs(false), experimentOutputs(false), experimentStatus(false), errors(false), processes(false) {}
bool creationTime :1;
bool description :1;
bool executionId :1;
@@ -171,13 +172,14 @@ typedef struct _ExperimentModel__isset {
bool experimentOutputs :1;
bool experimentStatus :1;
bool errors :1;
+ bool processes :1;
} _ExperimentModel__isset;
class ExperimentModel {
public:
- static const char* ascii_fingerprint; // = "5B49E16C9D5CBD0AE0EC026061048743";
- static const uint8_t binary_fingerprint[16]; // = {0x5B,0x49,0xE1,0x6C,0x9D,0x5C,0xBD,0x0A,0xE0,0xEC,0x02,0x60,0x61,0x04,0x87,0x43};
+ static const char* ascii_fingerprint; // = "4DF530DE68212F7F779CF0EF35D9EDC3";
+ static const uint8_t binary_fingerprint[16]; // = {0x4D,0xF5,0x30,0xDE,0x68,0x21,0x2F,0x7F,0x77,0x9C,0xF0,0xEF,0x35,0xD9,0xED,0xC3};
ExperimentModel(const ExperimentModel&);
ExperimentModel& operator=(const ExperimentModel&);
@@ -204,6 +206,7 @@ class ExperimentModel {
std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> experimentOutputs;
::apache::airavata::model::status::ExperimentStatus experimentStatus;
std::vector< ::apache::airavata::model::commons::ErrorModel> errors;
+ std::vector< ::apache::airavata::model::process::ProcessModel> processes;
_ExperimentModel__isset __isset;
@@ -241,6 +244,8 @@ class ExperimentModel {
void __set_errors(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val);
+ void __set_processes(const std::vector< ::apache::airavata::model::process::ProcessModel> & val);
+
bool operator == (const ExperimentModel & rhs) const
{
if (!(experimentId == rhs.experimentId))
@@ -299,6 +304,10 @@ class ExperimentModel {
return false;
else if (__isset.errors && !(errors == rhs.errors))
return false;
+ if (__isset.processes != rhs.__isset.processes)
+ return false;
+ else if (__isset.processes && !(processes == rhs.processes))
+ return false;
return true;
}
bool operator != (const ExperimentModel &rhs) const {
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
index 1bb4dba..12a5cc9 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp
@@ -123,8 +123,8 @@ void ProcessModel::__set_emailAddresses(const std::vector<std::string> & val) {
__isset.emailAddresses = true;
}
-const char* ProcessModel::ascii_fingerprint = "39636B349F7E4431980EEC63BDFCEB41";
-const uint8_t ProcessModel::binary_fingerprint[16] = {0x39,0x63,0x6B,0x34,0x9F,0x7E,0x44,0x31,0x98,0x0E,0xEC,0x63,0xBD,0xFC,0xEB,0x41};
+const char* ProcessModel::ascii_fingerprint = "DD9F28E8C54528EC5BBC117D76D7BC84";
+const uint8_t ProcessModel::binary_fingerprint[16] = {0xDD,0x9F,0x28,0xE8,0xC5,0x45,0x28,0xEC,0x5B,0xBC,0x11,0x7D,0x76,0xD7,0xBC,0x84};
uint32_t ProcessModel::read(::apache::thrift::protocol::TProtocol* iprot) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
index 0d56652..8234941 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h
@@ -66,8 +66,8 @@ typedef struct _ProcessModel__isset {
class ProcessModel {
public:
- static const char* ascii_fingerprint; // = "39636B349F7E4431980EEC63BDFCEB41";
- static const uint8_t binary_fingerprint[16]; // = {0x39,0x63,0x6B,0x34,0x9F,0x7E,0x44,0x31,0x98,0x0E,0xEC,0x63,0xBD,0xFC,0xEB,0x41};
+ static const char* ascii_fingerprint; // = "DD9F28E8C54528EC5BBC117D76D7BC84";
+ static const uint8_t binary_fingerprint[16]; // = {0xDD,0x9F,0x28,0xE8,0xC5,0x45,0x28,0xEC,0x5B,0xBC,0x11,0x7D,0x76,0xD7,0xBC,0x84};
ProcessModel(const ProcessModel&);
ProcessModel& operator=(const ProcessModel&);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
index 95cd95c..c99a9e0 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp
@@ -102,8 +102,13 @@ void TaskModel::__set_taskError(const ::apache::airavata::model::commons::Error
__isset.taskError = true;
}
-const char* TaskModel::ascii_fingerprint = "CE3A1BEFC350140F2B4D2EF1424A7C4F";
-const uint8_t TaskModel::binary_fingerprint[16] = {0xCE,0x3A,0x1B,0xEF,0xC3,0x50,0x14,0x0F,0x2B,0x4D,0x2E,0xF1,0x42,0x4A,0x7C,0x4F};
+void TaskModel::__set_jobs(const std::vector< ::apache::airavata::model::job::JobModel> & val) {
+ this->jobs = val;
+__isset.jobs = true;
+}
+
+const char* TaskModel::ascii_fingerprint = "BA52131C9C867CBF7281F29EDD7DDB6F";
+const uint8_t TaskModel::binary_fingerprint[16] = {0xBA,0x52,0x13,0x1C,0x9C,0x86,0x7C,0xBF,0x72,0x81,0xF2,0x9E,0xDD,0x7D,0xDB,0x6F};
uint32_t TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -205,6 +210,26 @@ uint32_t TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
xfer += iprot->skip(ftype);
}
break;
+ case 10:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->jobs.clear();
+ uint32_t _size1;
+ ::apache::thrift::protocol::TType _etype4;
+ xfer += iprot->readListBegin(_etype4, _size1);
+ this->jobs.resize(_size1);
+ uint32_t _i5;
+ for (_i5 = 0; _i5 < _size1; ++_i5)
+ {
+ xfer += this->jobs[_i5].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.jobs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
default:
xfer += iprot->skip(ftype);
break;
@@ -273,6 +298,19 @@ uint32_t TaskModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
xfer += this->taskError.write(oprot);
xfer += oprot->writeFieldEnd();
}
+ if (this->__isset.jobs) {
+ xfer += oprot->writeFieldBegin("jobs", ::apache::thrift::protocol::T_LIST, 10);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobs.size()));
+ std::vector< ::apache::airavata::model::job::JobModel> ::const_iterator _iter6;
+ for (_iter6 = this->jobs.begin(); _iter6 != this->jobs.end(); ++_iter6)
+ {
+ xfer += (*_iter6).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
oprot->decrementRecursionDepth();
@@ -290,32 +328,35 @@ void swap(TaskModel &a, TaskModel &b) {
swap(a.taskDetail, b.taskDetail);
swap(a.subTaskModel, b.subTaskModel);
swap(a.taskError, b.taskError);
+ swap(a.jobs, b.jobs);
swap(a.__isset, b.__isset);
}
-TaskModel::TaskModel(const TaskModel& other1) {
- taskId = other1.taskId;
- taskType = other1.taskType;
- parentProcessId = other1.parentProcessId;
- creationTime = other1.creationTime;
- lastUpdateTime = other1.lastUpdateTime;
- taskStatus = other1.taskStatus;
- taskDetail = other1.taskDetail;
- subTaskModel = other1.subTaskModel;
- taskError = other1.taskError;
- __isset = other1.__isset;
-}
-TaskModel& TaskModel::operator=(const TaskModel& other2) {
- taskId = other2.taskId;
- taskType = other2.taskType;
- parentProcessId = other2.parentProcessId;
- creationTime = other2.creationTime;
- lastUpdateTime = other2.lastUpdateTime;
- taskStatus = other2.taskStatus;
- taskDetail = other2.taskDetail;
- subTaskModel = other2.subTaskModel;
- taskError = other2.taskError;
- __isset = other2.__isset;
+TaskModel::TaskModel(const TaskModel& other7) {
+ taskId = other7.taskId;
+ taskType = other7.taskType;
+ parentProcessId = other7.parentProcessId;
+ creationTime = other7.creationTime;
+ lastUpdateTime = other7.lastUpdateTime;
+ taskStatus = other7.taskStatus;
+ taskDetail = other7.taskDetail;
+ subTaskModel = other7.subTaskModel;
+ taskError = other7.taskError;
+ jobs = other7.jobs;
+ __isset = other7.__isset;
+}
+TaskModel& TaskModel::operator=(const TaskModel& other8) {
+ taskId = other8.taskId;
+ taskType = other8.taskType;
+ parentProcessId = other8.parentProcessId;
+ creationTime = other8.creationTime;
+ lastUpdateTime = other8.lastUpdateTime;
+ taskStatus = other8.taskStatus;
+ taskDetail = other8.taskDetail;
+ subTaskModel = other8.subTaskModel;
+ taskError = other8.taskError;
+ jobs = other8.jobs;
+ __isset = other8.__isset;
return *this;
}
std::ostream& operator<<(std::ostream& out, const TaskModel& obj) {
@@ -330,6 +371,7 @@ std::ostream& operator<<(std::ostream& out, const TaskModel& obj) {
out << ", " << "taskDetail="; (obj.__isset.taskDetail ? (out << to_string(obj.taskDetail)) : (out << "<null>"));
out << ", " << "subTaskModel="; (obj.__isset.subTaskModel ? (out << to_string(obj.subTaskModel)) : (out << "<null>"));
out << ", " << "taskError="; (obj.__isset.taskError ? (out << to_string(obj.taskError)) : (out << "<null>"));
+ out << ", " << "jobs="; (obj.__isset.jobs ? (out << to_string(obj.jobs)) : (out << "<null>"));
out << ")";
return out;
}
@@ -420,9 +462,9 @@ uint32_t DataStagingTaskModel::read(::apache::thrift::protocol::TProtocol* iprot
break;
case 3:
if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast3;
- xfer += iprot->readI32(ecast3);
- this->type = (DataStageType::type)ecast3;
+ int32_t ecast9;
+ xfer += iprot->readI32(ecast9);
+ this->type = (DataStageType::type)ecast9;
isset_type = true;
} else {
xfer += iprot->skip(ftype);
@@ -547,27 +589,27 @@ void swap(DataStagingTaskModel &a, DataStagingTaskModel &b) {
swap(a.__isset, b.__isset);
}
-DataStagingTaskModel::DataStagingTaskModel(const DataStagingTaskModel& other4) {
- source = other4.source;
- destination = other4.destination;
- type = other4.type;
- transferStartTime = other4.transferStartTime;
- transferEndTime = other4.transferEndTime;
- transferRate = other4.transferRate;
- processInput = other4.processInput;
- processOutput = other4.processOutput;
- __isset = other4.__isset;
-}
-DataStagingTaskModel& DataStagingTaskModel::operator=(const DataStagingTaskModel& other5) {
- source = other5.source;
- destination = other5.destination;
- type = other5.type;
- transferStartTime = other5.transferStartTime;
- transferEndTime = other5.transferEndTime;
- transferRate = other5.transferRate;
- processInput = other5.processInput;
- processOutput = other5.processOutput;
- __isset = other5.__isset;
+DataStagingTaskModel::DataStagingTaskModel(const DataStagingTaskModel& other10) {
+ source = other10.source;
+ destination = other10.destination;
+ type = other10.type;
+ transferStartTime = other10.transferStartTime;
+ transferEndTime = other10.transferEndTime;
+ transferRate = other10.transferRate;
+ processInput = other10.processInput;
+ processOutput = other10.processOutput;
+ __isset = other10.__isset;
+}
+DataStagingTaskModel& DataStagingTaskModel::operator=(const DataStagingTaskModel& other11) {
+ source = other11.source;
+ destination = other11.destination;
+ type = other11.type;
+ transferStartTime = other11.transferStartTime;
+ transferEndTime = other11.transferEndTime;
+ transferRate = other11.transferRate;
+ processInput = other11.processInput;
+ processOutput = other11.processOutput;
+ __isset = other11.__isset;
return *this;
}
std::ostream& operator<<(std::ostream& out, const DataStagingTaskModel& obj) {
@@ -633,9 +675,9 @@ uint32_t EnvironmentSetupTaskModel::read(::apache::thrift::protocol::TProtocol*
break;
case 2:
if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast6;
- xfer += iprot->readI32(ecast6);
- this->protocol = ( ::apache::airavata::model::appcatalog::computeresource::SecurityProtocol::type)ecast6;
+ int32_t ecast12;
+ xfer += iprot->readI32(ecast12);
+ this->protocol = ( ::apache::airavata::model::appcatalog::computeresource::SecurityProtocol::type)ecast12;
isset_protocol = true;
} else {
xfer += iprot->skip(ftype);
@@ -682,13 +724,13 @@ void swap(EnvironmentSetupTaskModel &a, EnvironmentSetupTaskModel &b) {
swap(a.protocol, b.protocol);
}
-EnvironmentSetupTaskModel::EnvironmentSetupTaskModel(const EnvironmentSetupTaskModel& other7) {
- location = other7.location;
- protocol = other7.protocol;
+EnvironmentSetupTaskModel::EnvironmentSetupTaskModel(const EnvironmentSetupTaskModel& other13) {
+ location = other13.location;
+ protocol = other13.protocol;
}
-EnvironmentSetupTaskModel& EnvironmentSetupTaskModel::operator=(const EnvironmentSetupTaskModel& other8) {
- location = other8.location;
- protocol = other8.protocol;
+EnvironmentSetupTaskModel& EnvironmentSetupTaskModel::operator=(const EnvironmentSetupTaskModel& other14) {
+ location = other14.location;
+ protocol = other14.protocol;
return *this;
}
std::ostream& operator<<(std::ostream& out, const EnvironmentSetupTaskModel& obj) {
@@ -745,9 +787,9 @@ uint32_t JobSubmissionTaskModel::read(::apache::thrift::protocol::TProtocol* ipr
{
case 1:
if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast9;
- xfer += iprot->readI32(ecast9);
- this->jobSubmissionProtocol = ( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)ecast9;
+ int32_t ecast15;
+ xfer += iprot->readI32(ecast15);
+ this->jobSubmissionProtocol = ( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)ecast15;
isset_jobSubmissionProtocol = true;
} else {
xfer += iprot->skip(ftype);
@@ -755,9 +797,9 @@ uint32_t JobSubmissionTaskModel::read(::apache::thrift::protocol::TProtocol* ipr
break;
case 2:
if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast10;
- xfer += iprot->readI32(ecast10);
- this->monitorMode = ( ::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast10;
+ int32_t ecast16;
+ xfer += iprot->readI32(ecast16);
+ this->monitorMode = ( ::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast16;
isset_monitorMode = true;
} else {
xfer += iprot->skip(ftype);
@@ -819,17 +861,17 @@ void swap(JobSubmissionTaskModel &a, JobSubmissionTaskModel &b) {
swap(a.__isset, b.__isset);
}
-JobSubmissionTaskModel::JobSubmissionTaskModel(const JobSubmissionTaskModel& other11) {
- jobSubmissionProtocol = other11.jobSubmissionProtocol;
- monitorMode = other11.monitorMode;
- wallTime = other11.wallTime;
- __isset = other11.__isset;
+JobSubmissionTaskModel::JobSubmissionTaskModel(const JobSubmissionTaskModel& other17) {
+ jobSubmissionProtocol = other17.jobSubmissionProtocol;
+ monitorMode = other17.monitorMode;
+ wallTime = other17.wallTime;
+ __isset = other17.__isset;
}
-JobSubmissionTaskModel& JobSubmissionTaskModel::operator=(const JobSubmissionTaskModel& other12) {
- jobSubmissionProtocol = other12.jobSubmissionProtocol;
- monitorMode = other12.monitorMode;
- wallTime = other12.wallTime;
- __isset = other12.__isset;
+JobSubmissionTaskModel& JobSubmissionTaskModel::operator=(const JobSubmissionTaskModel& other18) {
+ jobSubmissionProtocol = other18.jobSubmissionProtocol;
+ monitorMode = other18.monitorMode;
+ wallTime = other18.wallTime;
+ __isset = other18.__isset;
return *this;
}
std::ostream& operator<<(std::ostream& out, const JobSubmissionTaskModel& obj) {
@@ -877,9 +919,9 @@ uint32_t MonitorTaskModel::read(::apache::thrift::protocol::TProtocol* iprot) {
{
case 1:
if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast13;
- xfer += iprot->readI32(ecast13);
- this->monitorMode = ( ::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast13;
+ int32_t ecast19;
+ xfer += iprot->readI32(ecast19);
+ this->monitorMode = ( ::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast19;
isset_monitorMode = true;
} else {
xfer += iprot->skip(ftype);
@@ -919,11 +961,11 @@ void swap(MonitorTaskModel &a, MonitorTaskModel &b) {
swap(a.monitorMode, b.monitorMode);
}
-MonitorTaskModel::MonitorTaskModel(const MonitorTaskModel& other14) {
- monitorMode = other14.monitorMode;
+MonitorTaskModel::MonitorTaskModel(const MonitorTaskModel& other20) {
+ monitorMode = other20.monitorMode;
}
-MonitorTaskModel& MonitorTaskModel::operator=(const MonitorTaskModel& other15) {
- monitorMode = other15.monitorMode;
+MonitorTaskModel& MonitorTaskModel::operator=(const MonitorTaskModel& other21) {
+ monitorMode = other21.monitorMode;
return *this;
}
std::ostream& operator<<(std::ostream& out, const MonitorTaskModel& obj) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
index 7be9392..80a501f 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h
@@ -36,6 +36,7 @@
#include "status_models_types.h"
#include "compute_resource_model_types.h"
#include "application_io_models_types.h"
+#include "job_model_types.h"
namespace apache { namespace airavata { namespace model { namespace task {
@@ -73,17 +74,18 @@ class JobSubmissionTaskModel;
class MonitorTaskModel;
typedef struct _TaskModel__isset {
- _TaskModel__isset() : taskDetail(false), subTaskModel(false), taskError(false) {}
+ _TaskModel__isset() : taskDetail(false), subTaskModel(false), taskError(false), jobs(false) {}
bool taskDetail :1;
bool subTaskModel :1;
bool taskError :1;
+ bool jobs :1;
} _TaskModel__isset;
class TaskModel {
public:
- static const char* ascii_fingerprint; // = "CE3A1BEFC350140F2B4D2EF1424A7C4F";
- static const uint8_t binary_fingerprint[16]; // = {0xCE,0x3A,0x1B,0xEF,0xC3,0x50,0x14,0x0F,0x2B,0x4D,0x2E,0xF1,0x42,0x4A,0x7C,0x4F};
+ static const char* ascii_fingerprint; // = "BA52131C9C867CBF7281F29EDD7DDB6F";
+ static const uint8_t binary_fingerprint[16]; // = {0xBA,0x52,0x13,0x1C,0x9C,0x86,0x7C,0xBF,0x72,0x81,0xF2,0x9E,0xDD,0x7D,0xDB,0x6F};
TaskModel(const TaskModel&);
TaskModel& operator=(const TaskModel&);
@@ -100,6 +102,7 @@ class TaskModel {
std::string taskDetail;
std::string subTaskModel;
::apache::airavata::model::commons::ErrorModel taskError;
+ std::vector< ::apache::airavata::model::job::JobModel> jobs;
_TaskModel__isset __isset;
@@ -121,6 +124,8 @@ class TaskModel {
void __set_taskError(const ::apache::airavata::model::commons::ErrorModel& val);
+ void __set_jobs(const std::vector< ::apache::airavata::model::job::JobModel> & val);
+
bool operator == (const TaskModel & rhs) const
{
if (!(taskId == rhs.taskId))
@@ -147,6 +152,10 @@ class TaskModel {
return false;
else if (__isset.taskError && !(taskError == rhs.taskError))
return false;
+ if (__isset.jobs != rhs.__isset.jobs)
+ return false;
+ else if (__isset.jobs && !(jobs == rhs.jobs))
+ return false;
return true;
}
bool operator != (const TaskModel &rhs) const {