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/06/11 19:39:51 UTC

[1/9] airavata-php-gateway git commit: fixing merge conflixt

Repository: airavata-php-gateway
Updated Branches:
  refs/heads/master de69764c7 -> b5ca077e1


fixing merge conflixt


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

Branch: refs/heads/master
Commit: aa4d3b4997c9d5a39245c92e8c285eb33088ddc8
Parents: de69764
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 11 22:50:27 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 11 22:50:27 2015 +0530

----------------------------------------------------------------------
 app/config/app.php                           |  1 +
 app/libraries/ExperimentUtilities.php        | 17 ++++---
 app/views/admin/manage-experiments.blade.php | 20 ++------
 app/views/project/summary.blade.php          | 61 ++++++++++++-----------
 composer.json                                |  5 +-
 5 files changed, 52 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/aa4d3b49/app/config/app.php
----------------------------------------------------------------------
diff --git a/app/config/app.php b/app/config/app.php
index efbfed8..973a1ee 100755
--- a/app/config/app.php
+++ b/app/config/app.php
@@ -121,6 +121,7 @@ return array(
         'Illuminate\Validation\ValidationServiceProvider',
         'Illuminate\View\ViewServiceProvider',
         'Illuminate\Workbench\WorkbenchServiceProvider',
+        'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
         'Wsis\WsisServiceProvider',
         'Airavata\AiravataServiceProvider',
     ),

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/aa4d3b49/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index 2561168..bde7bfe 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -665,13 +665,18 @@ class ExperimentUtilities
      * @param $experiment
      * @return null
      */
-    public static function get_job_status($experiment)
+    public static function get_job_status(Experiment $experiment)
     {
-        $jobStatus = Airavata::getJobStatuses($experiment->experimentID);
-
-        if ($jobStatus) {
-            $jobName = array_keys($jobStatus);
-            $jobState = JobState::$__names[$jobStatus[$jobName[0]]->jobState];
+        //$jobStatus = Airavata::getJobStatuses($experiment->experimentID);
+        if(!empty($experiment->workflowNodeDetailsList)){
+            if(!empty($experiment->workflowNodeDetailsList[0]->taskDetailsList)){
+                if(!empty($experiment->workflowNodeDetailsList[0]->taskDetailsList[0]->jobDetailsList)){
+                    $jobStatus = $experiment->workflowNodeDetailsList[0]->taskDetailsList[0]->jobDetailsList[0]->jobStatus;
+                }
+            }
+        }
+        if (isset($jobStatus)) {
+            $jobState = JobState::$__names[$jobStatus->jobState];
         } else {
             $jobState = null;
         }

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/aa4d3b49/app/views/admin/manage-experiments.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/manage-experiments.blade.php b/app/views/admin/manage-experiments.blade.php
index c6aae9b..895bd0d 100644
--- a/app/views/admin/manage-experiments.blade.php
+++ b/app/views/admin/manage-experiments.blade.php
@@ -399,6 +399,10 @@ to be uncommented when actually in use.
 {{ HTML::script('js/flot/jquery.flot.resize.js')}}
 {{ HTML::script('js/flot/jquery.flot.pie.js')}}
 {{ HTML::script('js/flot/flot-data.js')}}
+
+{{ HTML::script('js/moment.js')}}
+{{ HTML::script('js/datetimepicker.js')}}
+
 <script>
 
     //make first tab of accordion open by default.
@@ -440,7 +444,7 @@ to be uncommented when actually in use.
     //Experiment stages are under development.
     $(".tree").parent().addClass("hide");
 
-    /* making datetimepicker work for exp search */
+    /* making datetimepicker work for exp stat search */
 
     $('#datetimepicker9').datetimepicker({
         pick12HourFormat: false
@@ -455,19 +459,5 @@ to be uncommented when actually in use.
         $('#datetimepicker9').data("DateTimePicker").setMaxDate(e.date);
     });
 
-    /* selecting creation time */
-    $("#search-key").on("change", function () {
-        if (this.value == "creation-time") {
-            $(".search-text-block").addClass("hide");
-            $(".select-dates").removeClass("hide");
-            $("#search-value").removeAttr("required");
-
-        }
-        else {
-            $(".search-text-block").removeClass("hide");
-            $(".select-dates").addClass("hide");
-            $("#search-value").attr("required");
-        }
-    });
 </script>
 @stop
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/aa4d3b49/app/views/project/summary.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/summary.blade.php b/app/views/project/summary.blade.php
index aeb6579..81680aa 100755
--- a/app/views/project/summary.blade.php
+++ b/app/views/project/summary.blade.php
@@ -6,7 +6,7 @@
 
 @section('content')
 
-<div class="container" style="max-width: 750px;">
+<div class="container" style="max-width: 80%;">
 
 
     <h1>Project Summary</h1>
@@ -38,12 +38,14 @@
     echo '<th>Application</th>';
     echo '<th>Compute Resource</th>';
     echo '<th>Time</th>';
-    echo '<th>Status</th>';
+    echo '<th>Experiment Status</th>';
+    echo '<th>Job Status</th>';
 
     echo '</tr>';
 
     foreach ($experiments as $experiment) {
         $expValues = ExperimentUtilities::get_experiment_values($experiment, ProjectUtilities::get_project($experiment->projectID), true);
+        $expValues["jobState"] = ExperimentUtilities::get_job_status($experiment);
         $applicationInterface = AppUtilities::get_application_interface($experiment->applicationId);
 
         echo '<tr>';
@@ -52,16 +54,35 @@
 
 
         switch ($expValues["experimentStatusString"]) {
+            case 'CANCELING':
+            case 'CANCELED':
+            case 'UNKNOWN':
+                $textClass = 'text-warning';
+                break;
+            case 'FAILED':
+                $textClass = 'text-danger';
+                break;
+            case 'COMPLETED':
+                $textClass = 'text-success';
+                break;
+            default:
+                $textClass = 'text-info';
+                break;
+        }
+
+        switch ($expValues["experimentStatusString"]) {
             case 'SCHEDULED':
             case 'LAUNCHED':
             case 'EXECUTING':
             case 'CANCELING':
             case 'COMPLETED':
-                echo $experiment->name;
+                echo '<a class="' . $textClass . '" href="' . URL::to('/') . '/experiment/summary?expId=' .
+                    $experiment->experimentID . '">' . $experiment->name . '</a>';
                 break;
             default:
-                echo $experiment->name .
-                    ' <a href="edit?expId=' .
+                echo '<a class="' . $textClass . '" href="' . URL::to('/') . '/experiment/summary?expId=' .
+                    $experiment->experimentID . '">' . $experiment->name . '</a>' .
+                    ' <a href="' . URL::to('/') . '/experiment/edit?expId=' .
                     $experiment->experimentID .
                     '" title="Edit"><span class="glyphicon glyphicon-pencil"></span></a>';
                 break;
@@ -77,32 +98,12 @@
         echo '<td class="time" unix-time="' . $expValues["experimentTimeOfStateChange"] . '"></td>';
 
 
-        switch ($expValues["experimentStatusString"]) {
-            case 'CANCELING':
-            case 'CANCELED':
-            case 'UNKNOWN':
-                $textClass = 'text-warning';
-                break;
-            case 'FAILED':
-                $textClass = 'text-danger';
-                break;
-            case 'COMPLETED':
-                $textClass = 'text-success';
-                break;
-            default:
-                $textClass = 'text-info';
-                break;
-        }
-
-
-        echo '<td><a class="' .
-            $textClass .
-            '" href="' . URL::to('/') . '/experiment/summary?expId=' .
-            $experiment->experimentID .
-            '">' .
-            $expValues["experimentStatusString"] .
-            '</a></td>';
+        echo '<td>'. $expValues["experimentStatusString"] . '</td>';
 
+        if ($expValues["jobState"]) echo '
+            <td>' . $expValues["jobState"] . '</td>';
+        else
+            echo '<td></td>';
         echo '</tr>';
     }
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/aa4d3b49/composer.json
----------------------------------------------------------------------
diff --git a/composer.json b/composer.json
index 88a580b..bbd97d9 100755
--- a/composer.json
+++ b/composer.json
@@ -5,7 +5,8 @@
     "license": "MIT",
     "require": {
         "laravel/framework": "4.2.*",
-        "apache/thrift": "1.0.*@dev"
+        "apache/thrift": "1.0.*@dev",
+        "barryvdh/laravel-ide-helper": "1.*"
     },
     "autoload": {
         "classmap": [
@@ -18,10 +19,12 @@
     "scripts": {
         "post-install-cmd": [
             "php artisan clear-compiled",
+            "php artisan ide-helper:generate",
             "php artisan optimize"
         ],
         "post-update-cmd": [
             "php artisan clear-compiled",
+            "php artisan ide-helper:generate",
             "php artisan optimize"
         ],
         "post-create-project-cmd": [


[7/9] airavata-php-gateway git commit: changing the css style in content div

Posted by sc...@apache.org.
changing the css style in content div


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

Branch: refs/heads/master
Commit: c2207fdfd7a3391464910e5c4fd3325a14ae098f
Parents: 835eb27
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 11 22:56:20 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 11 22:56:20 2015 +0530

----------------------------------------------------------------------
 app/views/project/summary.blade.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/c2207fdf/app/views/project/summary.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/summary.blade.php b/app/views/project/summary.blade.php
index 51d22db..b3bc800 100755
--- a/app/views/project/summary.blade.php
+++ b/app/views/project/summary.blade.php
@@ -18,9 +18,9 @@
     $project = ProjectUtilities::get_project($_GET['projId']);
 
 
-    echo '<div class="panel panel-default">';
+    echo '<div>';
 
-    echo '<div class="panel-heading">';
+    echo '<div>';
     echo '<h3>' . $project->name . ' <a href="edit?projId=' .
         $project->projectID .
         '" title="Edit"><span class="glyphicon glyphicon-pencil"></span></a></h3>';


[4/9] airavata-php-gateway git commit: Adding update thrift generated files

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/835eb276/app/libraries/Airavata/API/Types.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/API/Types.php b/app/libraries/Airavata/API/Types.php
index 481421f..ee57774 100644
--- a/app/libraries/Airavata/API/Types.php
+++ b/app/libraries/Airavata/API/Types.php
@@ -2,21 +2,35 @@
 namespace Airavata\API;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
+ * @generated
  */
-use Thrift\Base\TBase;
-use Thrift\Type\TType;
-use Thrift\Type\TMessageType;
-use Thrift\Exception\TException;
-use Thrift\Exception\TProtocolException;
-use Thrift\Protocol\TProtocol;
-use Thrift\Protocol\TBinaryProtocolAccelerated;
-use Thrift\Exception\TApplicationException;
 
 
-$GLOBALS['airavataAPI_CONSTANTS']['AIRAVATA_API_VERSION'] = "0.15.0";
+final class Constant extends \Thrift\Type\TConstant
+{
+    static protected $AIRAVATA_API_VERSION;
+
+    static protected function init_AIRAVATA_API_VERSION()
+    {
+        return /**
+         * Airavata Interface Versions depend upon this Thrift Interface File. When Making changes, please edit the
+         *  Version Constants according to Semantic Versioning Specification (SemVer) http://semver.org.
+         *
+         * Note: The Airavata API version may be different from the Airavata software release versions.
+         *
+         * The Airavata API version is composed as a dot delimited string with major, minor, and patch level components.
+         *
+         *  - Major: Incremented for backward incompatible changes. An example would be changes to interfaces.
+         *  - Minor: Incremented for backward compatible changes. An example would be the addition of a new optional methods.
+         *  - Patch: Incremented for bug fixes. The patch level should be increased for every edit that doesn't result
+         *              in a change to major/minor version numbers.
+         *
+         */
+            "0.15.0";
+    }
+}
 
 


[5/9] airavata-php-gateway git commit: Adding update thrift generated files

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/835eb276/app/libraries/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/API/Airavata.php b/app/libraries/Airavata/API/Airavata.php
index 2532766..8133f81 100644
--- a/app/libraries/Airavata/API/Airavata.php
+++ b/app/libraries/Airavata/API/Airavata.php
@@ -1,149 +1,2613 @@
 <?php
 namespace Airavata\API;
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
-use Thrift\Base\TBase;
-use Thrift\Type\TType;
-use Thrift\Type\TMessageType;
-use Thrift\Exception\TException;
+use Thrift\Exception\TApplicationException;
 use Thrift\Exception\TProtocolException;
-use Thrift\Protocol\TProtocol;
 use Thrift\Protocol\TBinaryProtocolAccelerated;
-use Thrift\Exception\TApplicationException;
+use Thrift\Type\TMessageType;
+use Thrift\Type\TType;
 
 
 interface AiravataIf {
-  public function getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken);
-  public function addGateway(\Airavata\Model\Workspace\Gateway $gateway);
-  public function updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
-  public function getGateway($gatewayId);
-  public function deleteGateway($gatewayId);
-  public function getAllGateways();
-  public function isGatewayExist($gatewayId);
-  public function generateAndRegisterSSHKeys($gatewayId, $userName);
-  public function getSSHPubKey($airavataCredStoreToken);
-  public function getAllUserSSHPubKeys($userName);
-  public function createProject($gatewayId, \Airavata\Model\Workspace\Project $project);
-  public function updateProject($projectId, \Airavata\Model\Workspace\Project $updatedProject);
-  public function getProject($projectId);
-  public function deleteProject($projectId);
-  public function getAllUserProjects($gatewayId, $userName);
-  public function getAllUserProjectsWithPagination($gatewayId, $userName, $limit, $offset);
-  public function searchProjectsByProjectName($gatewayId, $userName, $projectName);
-  public function searchProjectsByProjectNameWithPagination($gatewayId, $userName, $projectName, $limit, $offset);
-  public function searchProjectsByProjectDesc($gatewayId, $userName, $description);
-  public function searchProjectsByProjectDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
-  public function searchExperimentsByName($gatewayId, $userName, $expName);
-  public function searchExperimentsByNameWithPagination($gatewayId, $userName, $expName, $limit, $offset);
-  public function searchExperimentsByDesc($gatewayId, $userName, $description);
-  public function searchExperimentsByDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
-  public function searchExperimentsByApplication($gatewayId, $userName, $applicationId);
-  public function searchExperimentsByApplicationWithPagination($gatewayId, $userName, $applicationId, $limit, $offset);
-  public function searchExperimentsByStatus($gatewayId, $userName, $experimentState);
-  public function searchExperimentsByStatusWithPagination($gatewayId, $userName, $experimentState, $limit, $offset);
-  public function searchExperimentsByCreationTime($gatewayId, $userName, $fromTime, $toTime);
-  public function searchExperimentsByCreationTimeWithPagination($gatewayId, $userName, $fromTime, $toTime, $limit, $offset);
-  public function searchExperiments($gatewayId, $userName, $filters, $limit, $offset);
-  public function getAllExperimentsInProject($projectId);
-  public function getAllExperimentsInProjectWithPagination($projectId, $limit, $offset);
-  public function getAllUserExperiments($gatewayId, $userName);
-  public function getAllUserExperimentsWithPagination($gatewayId, $userName, $limit, $offset);
-  public function createExperiment($gatewayId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
-  public function getExperiment($airavataExperimentId);
-  public function updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
-  public function updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration);
-  public function updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling);
-  public function validateExperiment($airavataExperimentId);
-  public function launchExperiment($airavataExperimentId, $airavataCredStoreToken);
-  public function getExperimentStatus($airavataExperimentId);
-  public function getExperimentOutputs($airavataExperimentId);
-  public function getIntermediateOutputs($airavataExperimentId);
-  public function getJobStatuses($airavataExperimentId);
-  public function getJobDetails($airavataExperimentId);
-  public function getDataTransferDetails($airavataExperimentId);
-  public function cloneExperiment($existingExperimentID, $newExperimentName);
-  public function terminateExperiment($airavataExperimentId, $tokenId);
-  public function registerApplicationModule($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
-  public function getApplicationModule($appModuleId);
-  public function updateApplicationModule($appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
-  public function getAllAppModules($gatewayId);
-  public function deleteApplicationModule($appModuleId);
-  public function registerApplicationDeployment($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
-  public function getApplicationDeployment($appDeploymentId);
-  public function updateApplicationDeployment($appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
-  public function deleteApplicationDeployment($appDeploymentId);
-  public function getAllApplicationDeployments($gatewayId);
-  public function getAppModuleDeployedResources($appModuleId);
-  public function registerApplicationInterface($gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
-  public function getApplicationInterface($appInterfaceId);
-  public function updateApplicationInterface($appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
-  public function deleteApplicationInterface($appInterfaceId);
-  public function getAllApplicationInterfaceNames($gatewayId);
-  public function getAllApplicationInterfaces($gatewayId);
-  public function getApplicationInputs($appInterfaceId);
-  public function getApplicationOutputs($appInterfaceId);
-  public function getAvailableAppInterfaceComputeResources($appInterfaceId);
-  public function registerComputeResource(\Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
-  public function getComputeResource($computeResourceId);
-  public function getAllComputeResourceNames();
-  public function updateComputeResource($computeResourceId, \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
-  public function deleteComputeResource($computeResourceId);
-  public function addLocalSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
-  public function updateLocalSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
-  public function getLocalJobSubmission($jobSubmissionId);
-  public function addSSHJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
-  public function getSSHJobSubmission($jobSubmissionId);
-  public function addUNICOREJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
-  public function getUnicoreJobSubmission($jobSubmissionId);
-  public function addCloudJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission);
-  public function getCloudJobSubmission($jobSubmissionId);
-  public function updateSSHJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
-  public function updateCloudJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $sshJobSubmission);
-  public function updateUnicoreJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
-  public function addLocalDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement);
-  public function updateLocalDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALDataMovement $localDataMovement);
-  public function getLocalDataMovement($dataMovementId);
-  public function addSCPDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement);
-  public function updateSCPDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SCPDataMovement $scpDataMovement);
-  public function getSCPDataMovement($dataMovementId);
-  public function addUnicoreDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement);
-  public function updateUnicoreDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\UnicoreDataMovement $unicoreDataMovement);
-  public function getUnicoreDataMovement($dataMovementId);
-  public function addGridFTPDataMovementDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement);
-  public function updateGridFTPDataMovementDetails($dataMovementInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\GridFTPDataMovement $gridFTPDataMovement);
-  public function getGridFTPDataMovement($dataMovementId);
-  public function changeJobSubmissionPriority($jobSubmissionInterfaceId, $newPriorityOrder);
-  public function changeDataMovementPriority($dataMovementInterfaceId, $newPriorityOrder);
-  public function changeJobSubmissionPriorities($jobSubmissionPriorityMap);
-  public function changeDataMovementPriorities($dataMovementPriorityMap);
-  public function deleteJobSubmissionInterface($computeResourceId, $jobSubmissionInterfaceId);
-  public function deleteDataMovementInterface($computeResourceId, $dataMovementInterfaceId);
-  public function registerResourceJobManager(\Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $resourceJobManager);
-  public function updateResourceJobManager($resourceJobManagerId, \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager $updatedResourceJobManager);
-  public function getResourceJobManager($resourceJobManagerId);
-  public function deleteResourceJobManager($resourceJobManagerId);
-  public function deleteBatchQueue($computeResourceId, $queueName);
-  public function registerGatewayResourceProfile(\Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile $gatewayResourceProfile);
-  public function getGatewayResourceProfile($gatewayID);
-  public function updateGatewayResourceProfile($gatewayID, \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile $gatewayResourceProfile);
-  public function deleteGatewayResourceProfile($gatewayID);
-  public function addGatewayComputeResourcePreference($gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
-  public function getGatewayComputeResourcePreference($gatewayID, $computeResourceId);
-  public function getAllGatewayComputeResourcePreferences($gatewayID);
-  public function getAllGatewayComputeResources();
-  public function updateGatewayComputeResourcePreference($gatewayID, $computeResourceId, \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference $computeResourcePreference);
-  public function deleteGatewayComputeResourcePreference($gatewayID, $computeResourceId);
-  public function getAllWorkflows($gatewayId);
-  public function getWorkflow($workflowTemplateId);
-  public function deleteWorkflow($workflowTemplateId);
-  public function registerWorkflow($gatewayId, \Airavata\Model\Workflow $workflow);
-  public function updateWorkflow($workflowTemplateId, \Airavata\Model\Workflow $workflow);
-  public function getWorkflowTemplateId($workflowName);
-  public function isWorkflowExistWithName($workflowName);
+    /**
+     * Fetch Apache Airavata API version
+     *
+     * @param \Airavata\Model\Security\AuthzToken $authzToken
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     * @throws \Airavata\API\Error\AuthorizationException
+     */
+    public function getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken);
+
+    /**
+     * @param \Airavata\Model\Workspace\Gateway $gateway
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function addGateway(\Airavata\Model\Workspace\Gateway $gateway);
+
+    /**
+     * @param string $gatewayId
+     * @param \Airavata\Model\Workspace\Gateway $updatedGateway
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function updateGateway($gatewayId, \Airavata\Model\Workspace\Gateway $updatedGateway);
+
+    /**
+     * @param string $gatewayId
+     * @return \Airavata\Model\Workspace\Gateway
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getGateway($gatewayId);
+
+    /**
+     * @param string $gatewayId
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function deleteGateway($gatewayId);
+
+    /**
+     * @return \Airavata\Model\Workspace\Gateway[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllGateways();
+
+    /**
+     * @param string $gatewayId
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function isGatewayExist($gatewayId);
+
+    /**
+     * Generate and Register SSH Key Pair with Airavata Credential Store.
+     *
+     * @param gatewayId
+     *    The identifier for the requested gateway.
+     *
+     * @param userName
+     *    The User for which the credential should be registered. For community accounts, this user is the name of the
+     *    community user name. For computational resources, this user name need not be the same user name on resoruces.
+     *
+     * @return airavataCredStoreToken
+     *   An SSH Key pair is generated and stored in the credential store and associated with users or community account
+     *   belonging to a gateway.
+     *
+     *
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function generateAndRegisterSSHKeys($gatewayId, $userName);
+
+    /**
+     * @param string $airavataCredStoreToken
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getSSHPubKey($airavataCredStoreToken);
+
+    /**
+     * @param string $userName
+     * @return array
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllUserSSHPubKeys($userName);
+
+    /**
+     * Creates a Project with basic metadata.
+     *    A Project is a container of experiments.
+     *
+     * @param gatewayId
+     *    The identifier for the requested gateway.
+     *
+     * @param Project
+     *    The Project Object described in the workspaceModel
+     *
+     *
+     * @param string $gatewayId
+     * @param \Airavata\Model\Workspace\Project $project
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function createProject($gatewayId, \Airavata\Model\Workspace\Project $project);
+
+    /**
+     * Update a Project
+     *
+     *
+     * @param string $projectId
+     * @param \Airavata\Model\Workspace\Project $updatedProject
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     * @throws \Airavata\API\Error\ProjectNotFoundException
+     */
+    public function updateProject($projectId, \Airavata\Model\Workspace\Project $updatedProject);
+
+    /**
+     * Get a Project by ID
+     *
+     *
+     * @param string $projectId
+     * @return \Airavata\Model\Workspace\Project
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     * @throws \Airavata\API\Error\ProjectNotFoundException
+     */
+    public function getProject($projectId);
+
+    /**
+     * @param string $projectId
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     * @throws \Airavata\API\Error\ProjectNotFoundException
+     */
+    public function deleteProject($projectId);
+
+    /**
+     *   * Get all Project by user
+     *   *
+     *   * @param gatewayId
+     *   *    The identifier for the requested gateway.
+     *   *
+     *   * @param userName
+     *   *    The Project Object described in the workspaceModel
+     *   * @deprecated Instead use getAllUserProjectsWithPagination
+     * *
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @return \Airavata\Model\Workspace\Project[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllUserProjects($gatewayId, $userName);
+
+    /**
+     *   * Get all Project by user with pagination. Results will be ordered based
+     *   * on creation time DESC
+     *   *
+     *   * @param gatewayId
+     *   *    The identifier for the requested gateway.
+     *   * @param userName
+     *   *    The identifier of the user
+     *   * @param limit
+     *   *    The amount results to be fetched
+     *   * @param offset
+     *   *    The starting point of the results to be fetched
+     * *
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Project[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllUserProjectsWithPagination($gatewayId, $userName, $limit, $offset);
+
+    /**
+     * Get all Project for user by project name
+     *
+     * @param gatewayId
+     *    The identifier for the requested gateway.
+     * @param userName
+     *    The identifier of the user
+     * @param projectName
+     *    The name of the project on which the results to be fetched
+     * @deprecated Instead use searchProjectsByProjectNameWithPagination
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param string $projectName
+     * @return \Airavata\Model\Workspace\Project[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchProjectsByProjectName($gatewayId, $userName, $projectName);
+
+    /**
+     * Get all Project for user by project name with pagination.Results will be ordered based
+     * on creation time DESC
+     *
+     * @param gatewayId
+     *    The identifier for the requested gateway.
+     * @param userName
+     *    The identifier of the user
+     * @param projectName
+     *    The name of the project on which the results to be fetched
+     * @param limit
+     *    The amount results to be fetched
+     * @param offset
+     *    The starting point of the results to be fetched
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param string $projectName
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Project[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchProjectsByProjectNameWithPagination($gatewayId, $userName, $projectName, $limit, $offset);
+
+    /**
+     * Get all Project for user by project description
+     * @param gatewayId
+     *    The identifier for the requested gateway.
+     * @param userName
+     *    The identifier of the user
+     * @param description
+     *    The description to be matched
+     * @deprecated Instead use searchProjectsByProjectDescWithPagination
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param string $description
+     * @return \Airavata\Model\Workspace\Project[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchProjectsByProjectDesc($gatewayId, $userName, $description);
+
+    /**
+     * Search and get all Projects for user by project description with pagination. Results
+     * will be ordered based on creation time DESC
+     *
+     * @param gatewayId
+     *    The identifier for the requested gateway.
+     * @param userName
+     *    The identifier of the user
+     * @param description
+     *    The description to be matched
+     * @param limit
+     *    The amount results to be fetched
+     * @param offset
+     *    The starting point of the results to be fetched
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param string $description
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Project[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchProjectsByProjectDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
+
+    /**
+     * Search Experiments by experiment name
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param useNname
+     *       Username of the requested user
+     * @param expName
+     *       Experiment name to be matched
+     * @deprecated
+     *       Instead use searchExperimentsByNameWithPagination
+     *
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param string $expName
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperimentsByName($gatewayId, $userName, $expName);
+
+    /**
+     * Search Experiments by experiment name with pagination. Results will be sorted
+     * based on creation time DESC
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param userName
+     *       Username of the requested user
+     * @param expName
+     *       Experiment name to be matched
+     * @param limit
+     *       Amount of results to be fetched
+     * @param offset
+     *       The starting point of the results to be fetched
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param string $expName
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperimentsByNameWithPagination($gatewayId, $userName, $expName, $limit, $offset);
+
+    /**
+     * Search Experiments by experiment name
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param userName
+     *       Username of the requested user
+     * @param description
+     *       Experiment description to be matched
+     * @deprecated
+     *       Instead use searchExperimentsByDescWithPagination
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param string $description
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperimentsByDesc($gatewayId, $userName, $description);
+
+    /**
+     * Search Experiments by experiment name with pagination. Results will be sorted
+     * based on creation time DESC
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param userName
+     *       Username of the requested user
+     * @param description
+     *       Experiment description to be matched
+     * @param limit
+     *       Amount of results to be fetched
+     * @param offset
+     *       The starting point of the results to be fetched
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param string $description
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperimentsByDescWithPagination($gatewayId, $userName, $description, $limit, $offset);
+
+    /**
+     * Search Experiments by application id
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param userName
+     *       Username of the requested user
+     * @param applicationId
+     *       Application id to be matched
+     * @deprecated
+     *       Instead use searchExperimentsByApplicationWithPagination
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param string $applicationId
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperimentsByApplication($gatewayId, $userName, $applicationId);
+
+    /**
+     * Search Experiments by application id with pagination. Results will be sorted
+     * based on creation time DESC
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param userName
+     *       Username of the requested user
+     * @param applicationId
+     *       Application id to be matched
+     * @param limit
+     *       Amount of results to be fetched
+     * @param offset
+     *       The starting point of the results to be fetched
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param string $applicationId
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperimentsByApplicationWithPagination($gatewayId, $userName, $applicationId, $limit, $offset);
+
+    /**
+     * Search Experiments by experiment status
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param userName
+     *       Username of the requested user
+     * @param experimentState
+     *       Experiement state to be matched
+     * @deprecated
+     *       Instead use searchExperimentsByStatusWithPagination
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param int $experimentState
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperimentsByStatus($gatewayId, $userName, $experimentState);
+
+    /**
+     * Search Experiments by experiment status with pagination. Results will be sorted
+     * based on creation time DESC
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param userName
+     *       Username of the requested user
+     * @param experimentState
+     *       Experiement state to be matched
+     * @param limit
+     *       Amount of results to be fetched
+     * @param offset
+     *       The starting point of the results to be fetched
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param int $experimentState
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperimentsByStatusWithPagination($gatewayId, $userName, $experimentState, $limit, $offset);
+
+    /**
+     * Search Experiments by experiment creation time
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param userName
+     *       Username of the requested user
+     * @param fromTime
+     *       Start time of the experiments creation time
+     * @param toTime
+     *       End time of the  experiement creation time
+     * @deprecated
+     *       Instead use searchExperimentsByCreationTimeWithPagination
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param int $fromTime
+     * @param int $toTime
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperimentsByCreationTime($gatewayId, $userName, $fromTime, $toTime);
+
+    /**
+     * Search Experiments by experiment creation time with pagination. Results will be sorted
+     * based on creation time DESC
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param userName
+     *       Username of the requested user
+     * @param fromTime
+     *       Start time of the experiments creation time
+     * @param toTime
+     *       End time of the  experiement creation time
+     * @param limit
+     *       Amount of results to be fetched
+     * @param offset
+     *       The starting point of the results to be fetched
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param int $fromTime
+     * @param int $toTime
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperimentsByCreationTimeWithPagination($gatewayId, $userName, $fromTime, $toTime, $limit, $offset);
+
+    /**
+     * Search Experiments by using multiple filter criteria with pagination. Results will be sorted
+     * based on creation time DESC
+     *
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param userName
+     *       Username of the requested user
+     * @param filters
+     *       map of multiple filter criteria.
+     * @param limit
+     *       Amount of results to be fetched
+     * @param offset
+     *       The starting point of the results to be fetched
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param array $filters
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function searchExperiments($gatewayId, $userName, array $filters, $limit, $offset);
+
+    /**
+     * Get Experiment Statisitics for the given gateway for a specific time period
+     * @param gatewayId
+     *       Identifier of the requested gateway
+     * @param fromTime
+     *       Starting date time
+     * @param toTime
+     *       Ending data time
+     *
+     *
+     * @param string $gatewayId
+     * @param int $fromTime
+     * @param int $toTime
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentStatistics
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getExperimentStatistics($gatewayId, $fromTime, $toTime);
+
+    /**
+     * Get all Experiments within a Project
+     *
+     * @param projectId
+     *       Identifier of the project
+     * @deprecated
+     *       Instead use  getAllExperimentsInProjectWithPagination
+     *
+     * @param string $projectId
+     * @return \Airavata\Model\Workspace\Experiment\Experiment[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     * @throws \Airavata\API\Error\ProjectNotFoundException
+     */
+    public function getAllExperimentsInProject($projectId);
+
+    /**
+     * Get all Experiments within project with pagination. Results will be sorted
+     * based on creation time DESC
+     *
+     * @param projectId
+     *       Identifier of the project
+     * @param limit
+     *       Amount of results to be fetched
+     * @param offset
+     *       The starting point of the results to be fetched
+     *
+     * @param string $projectId
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Experiment\Experiment[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     * @throws \Airavata\API\Error\ProjectNotFoundException
+     */
+    public function getAllExperimentsInProjectWithPagination($projectId, $limit, $offset);
+
+    /**
+     * Get all Experiments by user
+     *
+     * @param gatewayId
+     *       Identifier of the requesting gateway
+     * @param userName
+     *       Username of the requested user
+     * @deprecated
+     *       Instead use getAllUserExperimentsWithPagination
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @return \Airavata\Model\Workspace\Experiment\Experiment[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllUserExperiments($gatewayId, $userName);
+
+    /**
+     * Get all Experiments by user pagination. Results will be sorted
+     * based on creation time DESC
+     *
+     * @param gatewayId
+     *       Identifier of the requesting gateway
+     * @param userName
+     *       Username of the requested user
+     * @param limit
+     *       Amount of results to be fetched
+     * @param offset
+     *       The starting point of the results to be fetched
+     *
+     * @param string $gatewayId
+     * @param string $userName
+     * @param int $limit
+     * @param int $offset
+     * @return \Airavata\Model\Workspace\Experiment\Experiment[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllUserExperimentsWithPagination($gatewayId, $userName, $limit, $offset);
+
+    /**
+     * Create an experiment for the specified user belonging to the gateway. The gateway identity is not explicitly passed
+     *   but inferred from the authentication header. This experiment is just a persistent place holder. The client
+     *   has to subsequently configure and launch the created experiment. No action is taken on Airavata Server except
+     *   registering the experiment in a persistent store.
+     *
+     * @param basicExperimentMetadata
+     *    The create experiment will require the basic experiment metadata like the name and description, intended user,
+     *      the gateway identifer and if the experiment should be shared public by defualt. During the creation of an experiment
+     *      the ExperimentMetadata is a required field.
+     *
+     * @return
+     *   The server-side generated.airavata.registry.core.experiment.globally unique identifier.
+     *
+     * @throws org.apache.airavata.model.error.InvalidRequestException
+     *    For any incorrect forming of the request itself.
+     *
+     * @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 string $gatewayId
+     * @param \Airavata\Model\Workspace\Experiment\Experiment $experiment
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function createExperiment($gatewayId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
+
+    /**
+     * Fetch previously created experiment metadata.
+     *
+     * @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 string $airavataExperimentId
+     * @return \Airavata\Model\Workspace\Experiment\Experiment A structure holding the experiment metadata and its child models.
+     *
+     * userName:
+     *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
+     *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
+     *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
+     *     Airavata, an authorization exception is thrown.
+     *
+     * experimentName:
+     *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
+     *      by the generated experiment id.
+     *
+     * experimentDescription:
+     *    The verbose description of the experiment. This is an optional parameter.
+     *
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getExperiment($airavataExperimentId);
+
+    /**
+     * 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.
+     *
+     * @param airavataExperimentId
+     *    The identifier for the requested experiment. This is returned during the create experiment step.
+     *
+     * @param experimentConfigurationData
+     *    The configuration information of the experiment with application input parameters, computational resource scheduling
+     *      information, special input output handling and additional quality of service parameters.
+     *
+     * @return
+     *   This method call does not have a return value.
+     *
+     * @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 string $airavataExperimentId
+     * @param \Airavata\Model\Workspace\Experiment\Experiment $experiment
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function updateExperiment($airavataExperimentId, \Airavata\Model\Workspace\Experiment\Experiment $experiment);
+
+    /**
+     * @param string $airavataExperimentId
+     * @param \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration
+     */
+    public function updateExperimentConfiguration($airavataExperimentId, \Airavata\Model\Workspace\Experiment\UserConfigurationData $userConfiguration);
+
+    /**
+     * @param string $airavataExperimentId
+     * @param \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling
+     */
+    public function updateResourceScheduleing($airavataExperimentId, \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling $resourceScheduling);
+
+    /**
+     *  *
+     *  * Validate experiment configuration. A true in general indicates, the experiment is ready to be launched.
+     *  *
+     *  * @param experimentID
+     *  * @return sucess/failure
+     *  *
+     * *
+     *
+     * @param string $airavataExperimentId
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function validateExperiment($airavataExperimentId);
+
+    /**
+     * Launch a previously created and configured experiment. Airavata Server will then start processing the request and appropriate
+     *   notifications and intermediate and output data will be subsequently available for this experiment.
+     *
+     * @param airavataExperimentId
+     *    The identifier for the requested experiment. This is returned during the create experiment step.
+     *
+     * @param airavataCredStoreToken :
+     *   A requirement to execute experiments within Airavata is to first register the targeted remote computational account
+     *     credentials with Airavata Credential Store. The administrative API (related to credential store) will return a
+     *     generated token associated with the registered credentials. The client has to security posses this token id and is
+     *     required to pass it to Airavata Server for all execution requests.
+     *   Note: At this point only the credential store token is required so the string is directly passed here. In future if
+     *     if more security credentials are enables, then the structure ExecutionSecurityParameters should be used.
+     *   Note: This parameter is not persisted within Airavata Registry for security reasons.
+     *
+     * @return
+     *   This method call does not have a return value.
+     *
+     * @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 string $airavataExperimentId
+     * @param string $airavataCredStoreToken
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     * @throws \Airavata\API\Error\LaunchValidationException
+     */
+    public function launchExperiment($airavataExperimentId, $airavataCredStoreToken);
+
+    /**
+     * @param string $airavataExperimentId
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentStatus
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getExperimentStatus($airavataExperimentId);
+
+    /**
+     * @param string $airavataExperimentId
+     * @return \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getExperimentOutputs($airavataExperimentId);
+
+    /**
+     * @param string $airavataExperimentId
+     * @return \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getIntermediateOutputs($airavataExperimentId);
+
+    /**
+     * @param string $airavataExperimentId
+     * @return array
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getJobStatuses($airavataExperimentId);
+
+    /**
+     * @param string $airavataExperimentId
+     * @return \Airavata\Model\Workspace\Experiment\JobDetails[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getJobDetails($airavataExperimentId);
+
+    /**
+     * @param string $airavataExperimentId
+     * @return \Airavata\Model\Workspace\Experiment\DataTransferDetails[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getDataTransferDetails($airavataExperimentId);
+
+    /**
+     * Clone an specified experiment with a new name. A copy of the experiment configuration is made and is persisted with new metadata.
+     *   The client has to subsequently update this configuration if needed and launch the cloned experiment.
+     *
+     * @param newExperimentName
+     *    experiment name that should be used in the cloned experiment
+     *
+     * @param updatedExperiment
+     *    Once an experiment is cloned, to disambiguate, the users are suggested to provide new metadata. This will again require
+     *      the basic experiment metadata like the name and description, intended user, the gateway identifier and if the experiment
+     *      should be shared public by default.
+     *
+     * @return
+     *   The server-side generated.airavata.registry.core.experiment.globally unique identifier for the newly cloned experiment.
+     *
+     * @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 string $existingExperimentID
+     * @param string $newExperimentName
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function cloneExperiment($existingExperimentID, $newExperimentName);
+
+    /**
+     * Terminate a running experiment.
+     *
+     * @param airavataExperimentId
+     *    The identifier for the requested experiment. This is returned during the create experiment step.
+     *
+     * @return
+     *   This method call does not have a return value.
+     *
+     * @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 string $airavataExperimentId
+     * @param string $tokenId
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\ExperimentNotFoundException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function terminateExperiment($airavataExperimentId, $tokenId);
+
+    /**
+     * Register a Application Module.
+     *
+     * @param applicationModule
+     *    Application Module Object created from the datamodel.
+     *
+     * @return appModuleId
+     *   Returns a server-side generated airavata appModule globally unique identifier.
+     *
+     *
+     * @param string $gatewayId
+     * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function registerApplicationModule($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
+
+    /**
+     * Fetch a Application Module.
+     *
+     * @param appModuleId
+     *   The identifier for the requested application module
+     *
+     * @return applicationModule
+     *   Returns a application Module Object.
+     *
+     *
+     * @param string $appModuleId
+     * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule Application Module Information. A module has to be registered before registering a deployment.
+     *
+     * appModuleId: Airavata Internal Unique Job ID. This is set by the registry.
+     *
+     * appModuleName:
+     *   Name of the application module.
+     *
+     * appModuleVersion:
+     *   Version of the application.
+     *
+     * appModuleDescription:
+     *    Descriprion of the Module
+     *
+     *
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getApplicationModule($appModuleId);
+
+    /**
+     * Update a Application Module.
+     *
+     * @param appModuleId
+     *   The identifier for the requested application module to be updated.
+     *
+     * @param applicationModule
+     *    Application Module Object created from the datamodel.
+     *
+     * @return status
+     *   Returns a success/failure of the update.
+     *
+     *
+     * @param string $appModuleId
+     * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function updateApplicationModule($appModuleId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule $applicationModule);
+
+    /**
+     * @param string $gatewayId
+     * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllAppModules($gatewayId);
+
+    /**
+     * Delete a Application Module.
+     *
+     * @param appModuleId
+     *   The identifier for the requested application module to be deleted.
+     *
+     * @return status
+     *   Returns a success/failure of the deletion.
+     *
+     *
+     * @param string $appModuleId
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function deleteApplicationModule($appModuleId);
+
+    /**
+     * Register a Application Deployment.
+     *
+     * @param applicationModule
+     *    Application Module Object created from the datamodel.
+     *
+     * @return appDeploymentId
+     *   Returns a server-side generated airavata appDeployment globally unique identifier.
+     *
+     *
+     * @param string $gatewayId
+     * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function registerApplicationDeployment($gatewayId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
+
+    /**
+     * Fetch a Application Deployment.
+     *
+     * @param appDeploymentId
+     *   The identifier for the requested application module
+     *
+     * @return applicationDeployment
+     *   Returns a application Deployment Object.
+     *
+     *
+     * @param string $appDeploymentId
+     * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription Application Deployment Description
+     *
+     * appDeploymentId: Airavata Internal Unique Job ID. This is set by the registry.
+     *
+     * appModuleName:
+     *   Application Module Name. This has to be precise describing the binary.
+     *
+     * computeHostId:
+     *   This ID maps application deployment to a particular resource previously described within Airavata.
+     *   Example: Stampede is first registered and refered when registering WRF.
+     *
+     * moduleLoadCmd:
+     *  Command string to load modules. This will be placed in the job submisison
+     *  Ex: module load amber
+     *
+     * libPrependPaths:
+     *  prepend to a path variable the value
+     *
+     * libAppendPaths:
+     *  append to a path variable the value
+     *
+     * setEnvironment:
+     *  assigns to the environment variable "NAME" the value
+     *
+     *
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getApplicationDeployment($appDeploymentId);
+
+    /**
+     * Update a Application Deployment.
+     *
+     * @param appDeploymentId
+     *   The identifier for the requested application deployment to be updated.
+     *
+     * @param appDeployment
+     *    Application Deployment Object created from the datamodel.
+     *
+     * @return status
+     *   Returns a success/failure of the update.
+     *
+     *
+     * @param string $appDeploymentId
+     * @param \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function updateApplicationDeployment($appDeploymentId, \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription $applicationDeployment);
+
+    /**
+     * Delete a Application deployment.
+     *
+     * @param appDeploymentId
+     *   The identifier for the requested application deployment to be deleted.
+     *
+     * @return status
+     *   Returns a success/failure of the deletion.
+     *
+     *
+     * @param string $appDeploymentId
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function deleteApplicationDeployment($appDeploymentId);
+
+    /**
+     * Fetch all Application Deployment Descriptions.
+     *
+     * @return list<applicationDeployment.
+     *   Returns the list of all application Deployment Objects.
+     *
+     *
+     * @param string $gatewayId
+     * @return \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllApplicationDeployments($gatewayId);
+
+    /**
+     * Fetch a list of Deployed Compute Hosts.
+     *
+     * @param appModuleId
+     *   The identifier for the requested application module
+     *
+     * @return list<string>
+     *   Returns a list of Deployed Resources.
+     *
+     *
+     * @param string $appModuleId
+     * @return string[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAppModuleDeployedResources($appModuleId);
+
+    /**
+     * Register a Application Interface.
+     *
+     * @param applicationModule
+     *    Application Module Object created from the datamodel.
+     *
+     * @return appInterfaceId
+     *   Returns a server-side generated airavata application interface globally unique identifier.
+     *
+     *
+     * @param string $gatewayId
+     * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function registerApplicationInterface($gatewayId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
+
+    /**
+     * Fetch a Application Interface.
+     *
+     * @param appInterfaceId
+     *   The identifier for the requested application module
+     *
+     * @return applicationInterface
+     *   Returns a application Interface Object.
+     *
+     *
+     *
+     * @param string $appInterfaceId
+     * @return \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription Application Interface Description
+     *
+     * applicationModules:
+     *   Associate all application modules with versions which interface is applicable to.
+     *
+     * applicationInputs:
+     *   Inputs to be passed to the application
+     *
+     * applicationOutputs:
+     *   Outputs generated from the application
+     *
+     *
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getApplicationInterface($appInterfaceId);
+
+    /**
+     * Update a Application Interface.
+     *
+     * @param appInterfaceId
+     *   The identifier for the requested application deployment to be updated.
+     *
+     * @param appInterface
+     *    Application Interface Object created from the datamodel.
+     *
+     * @return status
+     *   Returns a success/failure of the update.
+     *
+     *
+     *
+     * @param string $appInterfaceId
+     * @param \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function updateApplicationInterface($appInterfaceId, \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription $applicationInterface);
+
+    /**
+     * Delete a Application Interface.
+     *
+     * @param appInterfaceId
+     *   The identifier for the requested application interface to be deleted.
+     *
+     * @return status
+     *   Returns a success/failure of the deletion.
+     *
+     *
+     *
+     * @param string $appInterfaceId
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function deleteApplicationInterface($appInterfaceId);
+
+    /**
+     * Fetch name and id of  Application Interface documents.
+     *
+     *
+     * @return map<applicationId, applicationInterfaceNames>
+     *   Returns a list of application interfaces with corresponsing id's
+     *
+     *
+     * @param string $gatewayId
+     * @return array
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllApplicationInterfaceNames($gatewayId);
+
+    /**
+     * Fetch all Application Interface documents.
+     *
+     *
+     * @return map<applicationId, applicationInterfaceNames>
+     *   Returns a list of application interfaces documents
+     *
+     *
+     * @param string $gatewayId
+     * @return \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllApplicationInterfaces($gatewayId);
+
+    /**
+     * Fetch the list of Application Inputs.
+     *
+     * @param appInterfaceId
+     *   The identifier for the requested application interface
+     *
+     * @return list<applicationInterfaceModel.InputDataObjectType>
+     *   Returns a list of application inputs.
+     *
+     *
+     * @param string $appInterfaceId
+     * @return \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getApplicationInputs($appInterfaceId);
+
+    /**
+     * Fetch the list of Application Outputs.
+     *
+     * @param appInterfaceId
+     *   The identifier for the requested application interface
+     *
+     * @return list<applicationInterfaceModel.OutputDataObjectType>
+     *   Returns a list of application outputs.
+     *
+     *
+     * @param string $appInterfaceId
+     * @return \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getApplicationOutputs($appInterfaceId);
+
+    /**
+     * Fetch a list of all deployed Compute Hosts for a given application interfaces.
+     *
+     * @param appInterfaceId
+     *   The identifier for the requested application interface
+     *
+     * @return map<computeResourceId, computeResourceName>
+     *   A map of registered compute resource id's and their corresponding hostnames.
+     *    Deployments of each modules listed within the interfaces will be listed.
+     *
+     *
+     * @param string $appInterfaceId
+     * @return array
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAvailableAppInterfaceComputeResources($appInterfaceId);
+
+    /**
+     * Register a Compute Resource.
+     *
+     * @param computeResourceDescription
+     *    Compute Resource Object created from the datamodel.
+     *
+     * @return computeResourceId
+     *   Returns a server-side generated airavata compute resource globally unique identifier.
+     *
+     *
+     * @param \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function registerComputeResource(\Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
+
+    /**
+     * Fetch the given Compute Resource.
+     *
+     * @param computeResourceId
+     *   The identifier for the requested compute resource
+     *
+     * @return computeResourceDescription
+     *    Compute Resource Object created from the datamodel..
+     *
+     *
+     * @param string $computeResourceId
+     * @return \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription Computational Resource Description
+     *
+     * computeResourceId: Airavata Internal Unique Identifier to distinguish Compute Resource.
+     *
+     * hostName:
+     *   Fully Qualified Host Name.
+     *
+     * hostAliases:
+     *   Aliases if any.
+     *
+     * ipAddress:
+     *   IP Addresses of the Resource.
+     *
+     * resourceDescription:
+     *  A user friendly description of the resource.
+     *
+     * JobSubmissionProtocols:
+     *  A computational resources may have one or more ways of submitting Jobs. This structure
+     *    will hold all available mechanisms to interact with the resource.
+     *  The key is the priority
+     *
+     * DataMovementProtocol:
+     *  Option to specify a prefered data movement mechanism of the available options.
+     *
+     * fileSystems:
+     *  Map of file systems type and the path.
+     *
+     *
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getComputeResource($computeResourceId);
+
+    /**
+     * Fetch all registered Compute Resources.
+     *
+     * @return A map of registered compute resource id's and thier corresponding hostnames.
+     *    Compute Resource Object created from the datamodel..
+     *
+     *
+     * @return array
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getAllComputeResourceNames();
+
+    /**
+     * Update a Compute Resource.
+     *
+     * @param computeResourceId
+     *   The identifier for the requested compute resource to be updated.
+     *
+     * @param computeResourceDescription
+     *    Compute Resource Object created from the datamodel.
+     *
+     * @return status
+     *   Returns a success/failure of the update.
+     *
+     *
+     * @param string $computeResourceId
+     * @param \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function updateComputeResource($computeResourceId, \Airavata\Model\AppCatalog\ComputeResource\ComputeResourceDescription $computeResourceDescription);
+
+    /**
+     * Delete a Compute Resource.
+     *
+     * @param computeResourceId
+     *   The identifier for the requested compute resource to be deleted.
+     *
+     * @return status
+     *   Returns a success/failure of the deletion.
+     *
+     *
+     * @param string $computeResourceId
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function deleteComputeResource($computeResourceId);
+
+    /**
+     * Add a Local Job Submission details to a compute resource
+     *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+     *
+     * @param computeResourceId
+     *   The identifier of the compute resource to which JobSubmission protocol to be added
+     *
+     * @param priorityOrder
+     *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+     *
+     * @param localSubmission
+     *   The LOCALSubmission object to be added to the resource.
+     *
+     * @return status
+     *   Returns the unique job submission id.
+     *
+     *
+     * @param string $computeResourceId
+     * @param int $priorityOrder
+     * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function addLocalSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
+
+    /**
+     * Update the given Local Job Submission details
+     *
+     * @param jobSubmissionInterfaceId
+     *   The identifier of the JobSubmission Interface to be updated.
+     *
+     * @param localSubmission
+     *   The LOCALSubmission object to be updated.
+     *
+     * @return status
+     *   Returns a success/failure of the deletion.
+     *
+     *
+     * @param string $jobSubmissionInterfaceId
+     * @param \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function updateLocalSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission $localSubmission);
+
+    /**
+     * This method returns localJobSubmission object
+     * @param jobSubmissionInterfaceId
+     *   The identifier of the JobSubmission Interface to be retrieved.
+     * @return LOCALSubmission instance
+     *
+     *
+     * @param string $jobSubmissionId
+     * @return \Airavata\Model\AppCatalog\ComputeResource\LOCALSubmission Locally Fork Jobs as OS processes
+     *
+     * alternativeSSHHostName:
+     *  If the login to ssh is different than the hostname itself, specify it here
+     *
+     * sshPort:
+     *  If a non-default port needs to used, specify it.
+     *
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getLocalJobSubmission($jobSubmissionId);
+
+    /**
+     * Add a SSH Job Submission details to a compute resource
+     *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+     *
+     * @param computeResourceId
+     *   The identifier of the compute resource to which JobSubmission protocol to be added
+     *
+     * @param priorityOrder
+     *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+     *
+     * @param sshJobSubmission
+     *   The SSHJobSubmission object to be added to the resource.
+     *
+     * @return status
+     *   Returns the unique job submission id.
+     *
+     *
+     * @param string $computeResourceId
+     * @param int $priorityOrder
+     * @param \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function addSSHJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
+
+    /**
+     * This method returns SSHJobSubmission object
+     * @param jobSubmissionInterfaceId
+     *   The identifier of the JobSubmission Interface to be retrieved.
+     * @return SSHJobSubmission instance
+     *
+     *
+     * @param string $jobSubmissionId
+     * @return \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission Authenticate using Secured Shell
+     *
+     * alternativeSSHHostName:
+     *  If the login to ssh is different than the hostname itself, specify it here
+     *
+     * sshPort:
+     *  If a non-default port needs to used, specify it.
+     *
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getSSHJobSubmission($jobSubmissionId);
+
+    /**
+     * Add a UNICORE Job Submission details to a compute resource
+     *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+     *
+     * @param computeResourceId
+     *   The identifier of the compute resource to which JobSubmission protocol to be added
+     *
+     * @param priorityOrder
+     *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+     *
+     * @param unicoreJobSubmission
+     *   The UnicoreJobSubmission object to be added to the resource.
+     *
+     * @return status
+     *  Returns the unique job submission id.
+     *
+     *
+     * @param string $computeResourceId
+     * @param int $priorityOrder
+     * @param \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function addUNICOREJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission $unicoreJobSubmission);
+
+    /**
+     *   * This method returns UnicoreJobSubmission object
+     *   * @param jobSubmissionInterfaceId
+     *   *   The identifier of the JobSubmission Interface to be retrieved.
+     *   *  @return UnicoreJobSubmission instance
+     * *
+     *
+     * @param string $jobSubmissionId
+     * @return \Airavata\Model\AppCatalog\ComputeResource\UnicoreJobSubmission Unicore Job Submission
+     *
+     * unicoreEndPointURL:
+     *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
+     * authenticationMode
+     *  The authenticationMode defines the way certificate is fetched.
+     *
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getUnicoreJobSubmission($jobSubmissionId);
+
+    /**
+     *    * Add a Cloud Job Submission details to a compute resource
+     *    *  App catalog will return a jobSubmissionInterfaceId which will be added to the jobSubmissionInterfaces.
+     *    *
+     *    * @param computeResourceId
+     *    *   The identifier of the compute resource to which JobSubmission protocol to be added
+     *    *
+     *    * @param priorityOrder
+     *    *   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
+     *    *
+     *    * @param sshJobSubmission
+     *    *   The SSHJobSubmission object to be added to the resource.
+     *    *
+     *    * @return status
+     *    *   Returns the unique job submission id.
+     * *
+     *
+     * @param string $computeResourceId
+     * @param int $priorityOrder
+     * @param \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission
+     * @return string
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function addCloudJobSubmissionDetails($computeResourceId, $priorityOrder, \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission $cloudSubmission);
+
+    /**
+     *    * This method returns cloudJobSubmission object
+     *    * @param jobSubmissionInterfaceI
+     *        *   The identifier of the JobSubmission Interface to be retrieved.
+     *    *  @return CloudJobSubmission instance
+     * *
+     *
+     * @param string $jobSubmissionId
+     * @return \Airavata\Model\AppCatalog\ComputeResource\CloudJobSubmission Cloud Job Submission
+     *
+     *
+     *
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function getCloudJobSubmission($jobSubmissionId);
+
+    /**
+     * Update the given SSH Job Submission details
+     *
+     * @param jobSubmissionInterfaceId
+     *   The identifier of the JobSubmission Interface to be updated.
+     *
+     * @param sshJobSubmission
+     *   The SSHJobSubmission object to be updated.
+     *
+     * @return status
+     *   Returns a success/failure of the deletion.
+     *
+     *
+     * @param string $jobSubmissionInterfaceId
+     * @param \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission
+     * @return bool
+     * @throws \Airavata\API\Error\InvalidRequestException
+     * @throws \Airavata\API\Error\AiravataClientException
+     * @throws \Airavata\API\Error\AiravataSystemException
+     */
+    public function updateSSHJobSubmissionDetails($jobSubmissionInterfaceId, \Airavata\Model\AppCatalog\ComputeResource\SSHJobSubmission $sshJobSubmission);
+
+    /**
+     * Update the given SSH Job Submission details
+     *
+     * @param jobSubmissionInterfaceId
+     *   The identifier of the JobSubmission Interface to be updated.
+     *
+     * @param cloudJobSubmission
+     *   The CloudJobSubmission object to be updated.
+     *
+     * @return status
+     *   Re

<TRUNCATED>

[8/9] airavata-php-gateway git commit: changing the content div with back to 750px

Posted by sc...@apache.org.
changing the content div with back to 750px


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

Branch: refs/heads/master
Commit: 13dad2e59aa4b93ebc7902246014e0d289e4e078
Parents: c2207fd
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 11 23:07:00 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 11 23:07:00 2015 +0530

----------------------------------------------------------------------
 app/views/project/summary.blade.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/13dad2e5/app/views/project/summary.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/summary.blade.php b/app/views/project/summary.blade.php
index b3bc800..ab4ebef 100755
--- a/app/views/project/summary.blade.php
+++ b/app/views/project/summary.blade.php
@@ -6,10 +6,10 @@
 
 @section('content')
 
-<div class="container" style="max-width: 80%;">
+<div class="container" style="max-width: 750px;">
 
 
-    <h1>Project Summary</h1>
+<h1>Project Summary</h1>
 
 
 


[9/9] airavata-php-gateway git commit: adding timezone to time fields

Posted by sc...@apache.org.
adding timezone to time fields


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

Branch: refs/heads/master
Commit: b5ca077e13a00eec48205d976283ba4b282f9bbf
Parents: 13dad2e
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jun 10 01:21:14 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 11 23:07:36 2015 +0530

----------------------------------------------------------------------
 public/js/time-conversion.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/b5ca077e/public/js/time-conversion.js
----------------------------------------------------------------------
diff --git a/public/js/time-conversion.js b/public/js/time-conversion.js
index 29bf960..1675aa8 100644
--- a/public/js/time-conversion.js
+++ b/public/js/time-conversion.js
@@ -25,7 +25,9 @@ function convertTimestamp(timestamp) {
     // ie: 2013-02-18, 8:35 AM
     time = yyyy + '-' + mm + '-' + dd + ', ' + h + ':' + min + ' ' + ampm;
 
-    return time;
+    var offset = new Date().toString().match(/([A-Z]+[\+-][0-9]+.*)/)[1];
+
+    return time + " - " + offset;
 }
 
 $(document).ready( function(){


[6/9] airavata-php-gateway git commit: Adding update thrift generated files

Posted by sc...@apache.org.
Adding update thrift generated files


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

Branch: refs/heads/master
Commit: 835eb276723b8e08e64b31cd0e58bca1ef9b5ff4
Parents: 211c3a1
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 11 20:51:43 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 11 22:52:26 2015 +0530

----------------------------------------------------------------------
 app/libraries/Airavata/API/Airavata.php         | 6851 +++++++++++--
 app/libraries/Airavata/API/Types.php            |   36 +-
 .../Model/Workspace/Experiment/Types.php        | 9065 ++++++++++--------
 3 files changed, 10904 insertions(+), 5048 deletions(-)
----------------------------------------------------------------------



[2/9] airavata-php-gateway git commit: Revert "adding timezone to time fields"

Posted by sc...@apache.org.
Revert "adding timezone to time fields"

This reverts commit de69764c727384da148ba2ae673ca5277912b390.


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

Branch: refs/heads/master
Commit: 211c3a114704f4d20d5e41dbc4c7ea51e79f90c5
Parents: aa4d3b4
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 11 22:50:46 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 11 22:50:46 2015 +0530

----------------------------------------------------------------------
 app/views/project/summary.blade.php | 2 +-
 public/js/time-conversion.js        | 4 +---
 2 files changed, 2 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/211c3a11/app/views/project/summary.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/summary.blade.php b/app/views/project/summary.blade.php
index 81680aa..51d22db 100755
--- a/app/views/project/summary.blade.php
+++ b/app/views/project/summary.blade.php
@@ -18,7 +18,7 @@
     $project = ProjectUtilities::get_project($_GET['projId']);
 
 
-    echo '<div>';
+    echo '<div class="panel panel-default">';
 
     echo '<div class="panel-heading">';
     echo '<h3>' . $project->name . ' <a href="edit?projId=' .

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/211c3a11/public/js/time-conversion.js
----------------------------------------------------------------------
diff --git a/public/js/time-conversion.js b/public/js/time-conversion.js
index 1675aa8..29bf960 100644
--- a/public/js/time-conversion.js
+++ b/public/js/time-conversion.js
@@ -25,9 +25,7 @@ function convertTimestamp(timestamp) {
     // ie: 2013-02-18, 8:35 AM
     time = yyyy + '-' + mm + '-' + dd + ', ' + h + ':' + min + ' ' + ampm;
 
-    var offset = new Date().toString().match(/([A-Z]+[\+-][0-9]+.*)/)[1];
-
-    return time + " - " + offset;
+    return time;
 }
 
 $(document).ready( function(){


[3/9] airavata-php-gateway git commit: Adding update thrift generated files

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/835eb276/app/libraries/Airavata/Model/Workspace/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/app/libraries/Airavata/Model/Workspace/Experiment/Types.php b/app/libraries/Airavata/Model/Workspace/Experiment/Types.php
index 4b53e09..9e80205 100644
--- a/app/libraries/Airavata/Model/Workspace/Experiment/Types.php
+++ b/app/libraries/Airavata/Model/Workspace/Experiment/Types.php
@@ -2,4342 +2,5129 @@
 namespace Airavata\Model\Workspace\Experiment;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
+ * @generated
  */
-use Thrift\Base\TBase;
-use Thrift\Type\TType;
-use Thrift\Type\TMessageType;
-use Thrift\Exception\TException;
 use Thrift\Exception\TProtocolException;
-use Thrift\Protocol\TProtocol;
-use Thrift\Protocol\TBinaryProtocolAccelerated;
-use Thrift\Exception\TApplicationException;
-
-
-final class ExperimentState {
-  const CREATED = 0;
-  const VALIDATED = 1;
-  const SCHEDULED = 2;
-  const LAUNCHED = 3;
-  const EXECUTING = 4;
-  const CANCELING = 5;
-  const CANCELED = 6;
-  const SUSPENDED = 7;
-  const COMPLETED = 8;
-  const FAILED = 9;
-  const UNKNOWN = 10;
-  static public $__names = array(
-    0 => 'CREATED',
-    1 => 'VALIDATED',
-    2 => 'SCHEDULED',
-    3 => 'LAUNCHED',
-    4 => 'EXECUTING',
-    5 => 'CANCELING',
-    6 => 'CANCELED',
-    7 => 'SUSPENDED',
-    8 => 'COMPLETED',
-    9 => 'FAILED',
-    10 => 'UNKNOWN',
-  );
+use Thrift\Type\TType;
+
+
+final class ExperimentState
+{
+    const CREATED = 0;
+    const VALIDATED = 1;
+    const SCHEDULED = 2;
+    const LAUNCHED = 3;
+    const EXECUTING = 4;
+    const CANCELING = 5;
+    const CANCELED = 6;
+    const SUSPENDED = 7;
+    const COMPLETED = 8;
+    const FAILED = 9;
+    const UNKNOWN = 10;
+    static public $__names = array(
+        0 => 'CREATED',
+        1 => 'VALIDATED',
+        2 => 'SCHEDULED',
+        3 => 'LAUNCHED',
+        4 => 'EXECUTING',
+        5 => 'CANCELING',
+        6 => 'CANCELED',
+        7 => 'SUSPENDED',
+        8 => 'COMPLETED',
+        9 => 'FAILED',
+        10 => 'UNKNOWN',
+    );
 }
 
-final class ExperimentSearchFields {
-  const EXPERIMENT_NAME = 0;
-  const EXPERIMENT_DESC = 1;
-  const APPLICATION_ID = 2;
-  const FROM_DATE = 3;
-  const TO_DATE = 4;
-  const STATUS = 5;
-  static public $__names = array(
-    0 => 'EXPERIMENT_NAME',
-    1 => 'EXPERIMENT_DESC',
-    2 => 'APPLICATION_ID',
-    3 => 'FROM_DATE',
-    4 => 'TO_DATE',
-    5 => 'STATUS',
-  );
+final class ExperimentSearchFields
+{
+    const EXPERIMENT_NAME = 0;
+    const EXPERIMENT_DESC = 1;
+    const APPLICATION_ID = 2;
+    const FROM_DATE = 3;
+    const TO_DATE = 4;
+    const STATUS = 5;
+    static public $__names = array(
+        0 => 'EXPERIMENT_NAME',
+        1 => 'EXPERIMENT_DESC',
+        2 => 'APPLICATION_ID',
+        3 => 'FROM_DATE',
+        4 => 'TO_DATE',
+        5 => 'STATUS',
+    );
 }
 
-final class WorkflowNodeState {
-  const INVOKED = 0;
-  const EXECUTING = 1;
-  const CANCELING = 2;
-  const CANCELED = 3;
-  const SUSPENDED = 4;
-  const COMPLETED = 5;
-  const FAILED = 6;
-  const UNKNOWN = 7;
-  static public $__names = array(
-    0 => 'INVOKED',
-    1 => 'EXECUTING',
-    2 => 'CANCELING',
-    3 => 'CANCELED',
-    4 => 'SUSPENDED',
-    5 => 'COMPLETED',
-    6 => 'FAILED',
-    7 => 'UNKNOWN',
-  );
+final class WorkflowNodeState
+{
+    const INVOKED = 0;
+    const EXECUTING = 1;
+    const CANCELING = 2;
+    const CANCELED = 3;
+    const SUSPENDED = 4;
+    const COMPLETED = 5;
+    const FAILED = 6;
+    const UNKNOWN = 7;
+    static public $__names = array(
+        0 => 'INVOKED',
+        1 => 'EXECUTING',
+        2 => 'CANCELING',
+        3 => 'CANCELED',
+        4 => 'SUSPENDED',
+        5 => 'COMPLETED',
+        6 => 'FAILED',
+        7 => 'UNKNOWN',
+    );
 }
 
-final class TaskState {
-  const WAITING = 0;
-  const STARTED = 1;
-  const PRE_PROCESSING = 2;
-  const CONFIGURING_WORKSPACE = 3;
-  const INPUT_DATA_STAGING = 4;
-  const OUTPUT_DATA_STAGING = 5;
-  const POST_PROCESSING = 6;
-  const EXECUTING = 7;
-  const CANCELING = 8;
-  const CANCELED = 9;
-  const COMPLETED = 10;
-  const FAILED = 11;
-  const UNKNOWN = 12;
-  static public $__names = array(
-    0 => 'WAITING',
-    1 => 'STARTED',
-    2 => 'PRE_PROCESSING',
-    3 => 'CONFIGURING_WORKSPACE',
-    4 => 'INPUT_DATA_STAGING',
-    5 => 'OUTPUT_DATA_STAGING',
-    6 => 'POST_PROCESSING',
-    7 => 'EXECUTING',
-    8 => 'CANCELING',
-    9 => 'CANCELED',
-    10 => 'COMPLETED',
-    11 => 'FAILED',
-    12 => 'UNKNOWN',
-  );
+final class TaskState
+{
+    const WAITING = 0;
+    const STARTED = 1;
+    const PRE_PROCESSING = 2;
+    const CONFIGURING_WORKSPACE = 3;
+    const INPUT_DATA_STAGING = 4;
+    const OUTPUT_DATA_STAGING = 5;
+    const POST_PROCESSING = 6;
+    const EXECUTING = 7;
+    const CANCELING = 8;
+    const CANCELED = 9;
+    const COMPLETED = 10;
+    const FAILED = 11;
+    const UNKNOWN = 12;
+    static public $__names = array(
+        0 => 'WAITING',
+        1 => 'STARTED',
+        2 => 'PRE_PROCESSING',
+        3 => 'CONFIGURING_WORKSPACE',
+        4 => 'INPUT_DATA_STAGING',
+        5 => 'OUTPUT_DATA_STAGING',
+        6 => 'POST_PROCESSING',
+        7 => 'EXECUTING',
+        8 => 'CANCELING',
+        9 => 'CANCELED',
+        10 => 'COMPLETED',
+        11 => 'FAILED',
+        12 => 'UNKNOWN',
+    );
 }
 
-final class JobState {
-  const SUBMITTED = 0;
-  const UN_SUBMITTED = 1;
-  const SETUP = 2;
-  const QUEUED = 3;
-  const ACTIVE = 4;
-  const COMPLETE = 5;
-  const CANCELING = 6;
-  const CANCELED = 7;
-  const FAILED = 8;
-  const HELD = 9;
-  const SUSPENDED = 10;
-  const UNKNOWN = 11;
-  static public $__names = array(
-    0 => 'SUBMITTED',
-    1 => 'UN_SUBMITTED',
-    2 => 'SETUP',
-    3 => 'QUEUED',
-    4 => 'ACTIVE',
-    5 => 'COMPLETE',
-    6 => 'CANCELING',
-    7 => 'CANCELED',
-    8 => 'FAILED',
-    9 => 'HELD',
-    10 => 'SUSPENDED',
-    11 => 'UNKNOWN',
-  );
+final class JobState
+{
+    const SUBMITTED = 0;
+    const UN_SUBMITTED = 1;
+    const SETUP = 2;
+    const QUEUED = 3;
+    const ACTIVE = 4;
+    const COMPLETE = 5;
+    const CANCELING = 6;
+    const CANCELED = 7;
+    const FAILED = 8;
+    const HELD = 9;
+    const SUSPENDED = 10;
+    const UNKNOWN = 11;
+    static public $__names = array(
+        0 => 'SUBMITTED',
+        1 => 'UN_SUBMITTED',
+        2 => 'SETUP',
+        3 => 'QUEUED',
+        4 => 'ACTIVE',
+        5 => 'COMPLETE',
+        6 => 'CANCELING',
+        7 => 'CANCELED',
+        8 => 'FAILED',
+        9 => 'HELD',
+        10 => 'SUSPENDED',
+        11 => 'UNKNOWN',
+    );
 }
 
-final class TransferState {
-  const DIRECTORY_SETUP = 0;
-  const UPLOAD = 1;
-  const DOWNLOAD = 2;
-  const ACTIVE = 3;
-  const COMPLETE = 4;
-  const STDOUT_DOWNLOAD = 5;
-  const STDERROR_DOWNLOAD = 6;
-  const CANCELING = 7;
-  const CANCELED = 8;
-  const FAILED = 9;
-  const HELD = 10;
-  const SUSPENDED = 11;
-  const UNKNOWN = 12;
-  static public $__names = array(
-    0 => 'DIRECTORY_SETUP',
-    1 => 'UPLOAD',
-    2 => 'DOWNLOAD',
-    3 => 'ACTIVE',
-    4 => 'COMPLETE',
-    5 => 'STDOUT_DOWNLOAD',
-    6 => 'STDERROR_DOWNLOAD',
-    7 => 'CANCELING',
-    8 => 'CANCELED',
-    9 => 'FAILED',
-    10 => 'HELD',
-    11 => 'SUSPENDED',
-    12 => 'UNKNOWN',
-  );
+final class TransferState
+{
+    const DIRECTORY_SETUP = 0;
+    const UPLOAD = 1;
+    const DOWNLOAD = 2;
+    const ACTIVE = 3;
+    const COMPLETE = 4;
+    const STDOUT_DOWNLOAD = 5;
+    const STDERROR_DOWNLOAD = 6;
+    const CANCELING = 7;
+    const CANCELED = 8;
+    const FAILED = 9;
+    const HELD = 10;
+    const SUSPENDED = 11;
+    const UNKNOWN = 12;
+    static public $__names = array(
+        0 => 'DIRECTORY_SETUP',
+        1 => 'UPLOAD',
+        2 => 'DOWNLOAD',
+        3 => 'ACTIVE',
+        4 => 'COMPLETE',
+        5 => 'STDOUT_DOWNLOAD',
+        6 => 'STDERROR_DOWNLOAD',
+        7 => 'CANCELING',
+        8 => 'CANCELED',
+        9 => 'FAILED',
+        10 => 'HELD',
+        11 => 'SUSPENDED',
+        12 => 'UNKNOWN',
+    );
 }
 
-final class ActionableGroup {
-  const RESOURCE_ADMINS = 0;
-  const AIRAVATA_ADMINS = 1;
-  const GATEWAYS_ADMINS = 2;
-  const USER = 3;
-  const CANNOT_BE_DETERMINED = 4;
-  static public $__names = array(
-    0 => 'RESOURCE_ADMINS',
-    1 => 'AIRAVATA_ADMINS',
-    2 => 'GATEWAYS_ADMINS',
-    3 => 'USER',
-    4 => 'CANNOT_BE_DETERMINED',
-  );
+final class ActionableGroup
+{
+    const RESOURCE_ADMINS = 0;
+    const AIRAVATA_ADMINS = 1;
+    const GATEWAYS_ADMINS = 2;
+    const USER = 3;
+    const CANNOT_BE_DETERMINED = 4;
+    static public $__names = array(
+        0 => 'RESOURCE_ADMINS',
+        1 => 'AIRAVATA_ADMINS',
+        2 => 'GATEWAYS_ADMINS',
+        3 => 'USER',
+        4 => 'CANNOT_BE_DETERMINED',
+    );
 }
 
-final class ErrorCategory {
-  const FILE_SYSTEM_FAILURE = 0;
-  const APPLICATION_FAILURE = 1;
-  const RESOURCE_NODE_FAILURE = 2;
-  const DISK_FULL = 3;
-  const INSUFFICIENT_ALLOCATION = 4;
-  const SYSTEM_MAINTENANCE = 5;
-  const AIRAVATA_INTERNAL_ERROR = 6;
-  const CANNOT_BE_DETERMINED = 7;
-  static public $__names = array(
-    0 => 'FILE_SYSTEM_FAILURE',
-    1 => 'APPLICATION_FAILURE',
-    2 => 'RESOURCE_NODE_FAILURE',
-    3 => 'DISK_FULL',
-    4 => 'INSUFFICIENT_ALLOCATION',
-    5 => 'SYSTEM_MAINTENANCE',
-    6 => 'AIRAVATA_INTERNAL_ERROR',
-    7 => 'CANNOT_BE_DETERMINED',
-  );
+final class ErrorCategory
+{
+    const FILE_SYSTEM_FAILURE = 0;
+    const APPLICATION_FAILURE = 1;
+    const RESOURCE_NODE_FAILURE = 2;
+    const DISK_FULL = 3;
+    const INSUFFICIENT_ALLOCATION = 4;
+    const SYSTEM_MAINTENANCE = 5;
+    const AIRAVATA_INTERNAL_ERROR = 6;
+    const CANNOT_BE_DETERMINED = 7;
+    static public $__names = array(
+        0 => 'FILE_SYSTEM_FAILURE',
+        1 => 'APPLICATION_FAILURE',
+        2 => 'RESOURCE_NODE_FAILURE',
+        3 => 'DISK_FULL',
+        4 => 'INSUFFICIENT_ALLOCATION',
+        5 => 'SYSTEM_MAINTENANCE',
+        6 => 'AIRAVATA_INTERNAL_ERROR',
+        7 => 'CANNOT_BE_DETERMINED',
+    );
 }
 
-final class CorrectiveAction {
-  const RETRY_SUBMISSION = 0;
-  const CONTACT_SUPPORT = 1;
-  const CANNOT_BE_DETERMINED = 2;
-  static public $__names = array(
-    0 => 'RETRY_SUBMISSION',
-    1 => 'CONTACT_SUPPORT',
-    2 => 'CANNOT_BE_DETERMINED',
-  );
+final class CorrectiveAction
+{
+    const RETRY_SUBMISSION = 0;
+    const CONTACT_SUPPORT = 1;
+    const CANNOT_BE_DETERMINED = 2;
+    static public $__names = array(
+        0 => 'RETRY_SUBMISSION',
+        1 => 'CONTACT_SUPPORT',
+        2 => 'CANNOT_BE_DETERMINED',
+    );
 }
 
-final class ExecutionUnit {
-  const INPUT = 0;
-  const APPLICATION = 1;
-  const OUTPUT = 2;
-  const OTHER = 3;
-  static public $__names = array(
-    0 => 'INPUT',
-    1 => 'APPLICATION',
-    2 => 'OUTPUT',
-    3 => 'OTHER',
-  );
+final class ExecutionUnit
+{
+    const INPUT = 0;
+    const APPLICATION = 1;
+    const OUTPUT = 2;
+    const OTHER = 3;
+    static public $__names = array(
+        0 => 'INPUT',
+        1 => 'APPLICATION',
+        2 => 'OUTPUT',
+        3 => 'OTHER',
+    );
 }
 
-class ExperimentStatus {
-  static $_TSPEC;
-
-  public $experimentState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'experimentState',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['experimentState'])) {
-        $this->experimentState = $vals['experimentState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'ExperimentStatus';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
-    {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->experimentState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('ExperimentStatus');
-    if ($this->experimentState !== null) {
-      $xfer += $output->writeFieldBegin('experimentState', TType::I32, 1);
-      $xfer += $output->writeI32($this->experimentState);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
+class ExperimentStatus
+{
+    static $_TSPEC;
 
-}
+    /**
+     * @var int
+     */
+    public $experimentState = null;
+    /**
+     * @var int
+     */
+    public $timeOfStateChange = null;
 
-class WorkflowNodeStatus {
-  static $_TSPEC;
-
-  public $workflowNodeState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'workflowNodeState',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['workflowNodeState'])) {
-        $this->workflowNodeState = $vals['workflowNodeState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'WorkflowNodeStatus';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
+    public function __construct($vals = null)
     {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->workflowNodeState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('WorkflowNodeStatus');
-    if ($this->workflowNodeState !== null) {
-      $xfer += $output->writeFieldBegin('workflowNodeState', TType::I32, 1);
-      $xfer += $output->writeI32($this->workflowNodeState);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
+        if (!isset(self::$_TSPEC)) {
+            self::$_TSPEC = array(
+                1 => array(
+                    'var' => 'experimentState',
+                    'type' => TType::I32,
+                ),
+                2 => array(
+                    'var' => 'timeOfStateChange',
+                    'type' => TType::I64,
+                ),
+            );
+        }
+        if (is_array($vals)) {
+            if (isset($vals['experimentState'])) {
+                $this->experimentState = $vals['experimentState'];
+            }
+            if (isset($vals['timeOfStateChange'])) {
+                $this->timeOfStateChange = $vals['timeOfStateChange'];
+            }
+        }
     }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
 
-class TaskStatus {
-  static $_TSPEC;
-
-  public $executionState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'executionState',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['executionState'])) {
-        $this->executionState = $vals['executionState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'TaskStatus';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
+    public function getName()
     {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->executionState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
+        return 'ExperimentStatus';
     }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('TaskStatus');
-    if ($this->executionState !== null) {
-      $xfer += $output->writeFieldBegin('executionState', TType::I32, 1);
-      $xfer += $output->writeI32($this->executionState);
-      $xfer += $output->writeFieldEnd();
+
+    public function read($input)
+    {
+        $xfer = 0;
+        $fname = null;
+        $ftype = 0;
+        $fid = 0;
+        $xfer += $input->readStructBegin($fname);
+        while (true) {
+            $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+            if ($ftype == TType::STOP) {
+                break;
+            }
+            switch ($fid) {
+                case 1:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->experimentState);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 2:
+                    if ($ftype == TType::I64) {
+                        $xfer += $input->readI64($this->timeOfStateChange);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                default:
+                    $xfer += $input->skip($ftype);
+                    break;
+            }
+            $xfer += $input->readFieldEnd();
+        }
+        $xfer += $input->readStructEnd();
+        return $xfer;
     }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
+
+    public function write($output)
+    {
+        $xfer = 0;
+        $xfer += $output->writeStructBegin('ExperimentStatus');
+        if ($this->experimentState !== null) {
+            $xfer += $output->writeFieldBegin('experimentState', TType::I32, 1);
+            $xfer += $output->writeI32($this->experimentState);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->timeOfStateChange !== null) {
+            $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+            $xfer += $output->writeI64($this->timeOfStateChange);
+            $xfer += $output->writeFieldEnd();
+        }
+        $xfer += $output->writeFieldStop();
+        $xfer += $output->writeStructEnd();
+        return $xfer;
     }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
 
 }
 
-class JobStatus {
-  static $_TSPEC;
-
-  public $jobState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'jobState',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['jobState'])) {
-        $this->jobState = $vals['jobState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
+class WorkflowNodeStatus
+{
+    static $_TSPEC;
+
+    /**
+     * @var int
+     */
+    public $workflowNodeState = null;
+    /**
+     * @var int
+     */
+    public $timeOfStateChange = null;
+
+    public function __construct($vals = null)
+    {
+        if (!isset(self::$_TSPEC)) {
+            self::$_TSPEC = array(
+                1 => array(
+                    'var' => 'workflowNodeState',
+                    'type' => TType::I32,
+                ),
+                2 => array(
+                    'var' => 'timeOfStateChange',
+                    'type' => TType::I64,
+                ),
+            );
+        }
+        if (is_array($vals)) {
+            if (isset($vals['workflowNodeState'])) {
+                $this->workflowNodeState = $vals['workflowNodeState'];
+            }
+            if (isset($vals['timeOfStateChange'])) {
+                $this->timeOfStateChange = $vals['timeOfStateChange'];
+            }
+        }
     }
-  }
-
-  public function getName() {
-    return 'JobStatus';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
+
+    public function getName()
     {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->jobState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
+        return 'WorkflowNodeStatus';
     }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('JobStatus');
-    if ($this->jobState !== null) {
-      $xfer += $output->writeFieldBegin('jobState', TType::I32, 1);
-      $xfer += $output->writeI32($this->jobState);
-      $xfer += $output->writeFieldEnd();
+
+    public function read($input)
+    {
+        $xfer = 0;
+        $fname = null;
+        $ftype = 0;
+        $fid = 0;
+        $xfer += $input->readStructBegin($fname);
+        while (true) {
+            $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+            if ($ftype == TType::STOP) {
+                break;
+            }
+            switch ($fid) {
+                case 1:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->workflowNodeState);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 2:
+                    if ($ftype == TType::I64) {
+                        $xfer += $input->readI64($this->timeOfStateChange);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                default:
+                    $xfer += $input->skip($ftype);
+                    break;
+            }
+            $xfer += $input->readFieldEnd();
+        }
+        $xfer += $input->readStructEnd();
+        return $xfer;
     }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
+
+    public function write($output)
+    {
+        $xfer = 0;
+        $xfer += $output->writeStructBegin('WorkflowNodeStatus');
+        if ($this->workflowNodeState !== null) {
+            $xfer += $output->writeFieldBegin('workflowNodeState', TType::I32, 1);
+            $xfer += $output->writeI32($this->workflowNodeState);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->timeOfStateChange !== null) {
+            $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+            $xfer += $output->writeI64($this->timeOfStateChange);
+            $xfer += $output->writeFieldEnd();
+        }
+        $xfer += $output->writeFieldStop();
+        $xfer += $output->writeStructEnd();
+        return $xfer;
     }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
 
 }
 
-class TransferStatus {
-  static $_TSPEC;
-
-  public $transferState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'transferState',
-          'type' => TType::I32,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['transferState'])) {
-        $this->transferState = $vals['transferState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
+class TaskStatus
+{
+    static $_TSPEC;
+
+    /**
+     * @var int
+     */
+    public $executionState = null;
+    /**
+     * @var int
+     */
+    public $timeOfStateChange = null;
+
+    public function __construct($vals = null)
+    {
+        if (!isset(self::$_TSPEC)) {
+            self::$_TSPEC = array(
+                1 => array(
+                    'var' => 'executionState',
+                    'type' => TType::I32,
+                ),
+                2 => array(
+                    'var' => 'timeOfStateChange',
+                    'type' => TType::I64,
+                ),
+            );
+        }
+        if (is_array($vals)) {
+            if (isset($vals['executionState'])) {
+                $this->executionState = $vals['executionState'];
+            }
+            if (isset($vals['timeOfStateChange'])) {
+                $this->timeOfStateChange = $vals['timeOfStateChange'];
+            }
+        }
     }
-  }
-
-  public function getName() {
-    return 'TransferStatus';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
+
+    public function getName()
     {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->transferState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
+        return 'TaskStatus';
     }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('TransferStatus');
-    if ($this->transferState !== null) {
-      $xfer += $output->writeFieldBegin('transferState', TType::I32, 1);
-      $xfer += $output->writeI32($this->transferState);
-      $xfer += $output->writeFieldEnd();
+
+    public function read($input)
+    {
+        $xfer = 0;
+        $fname = null;
+        $ftype = 0;
+        $fid = 0;
+        $xfer += $input->readStructBegin($fname);
+        while (true) {
+            $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+            if ($ftype == TType::STOP) {
+                break;
+            }
+            switch ($fid) {
+                case 1:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->executionState);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 2:
+                    if ($ftype == TType::I64) {
+                        $xfer += $input->readI64($this->timeOfStateChange);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                default:
+                    $xfer += $input->skip($ftype);
+                    break;
+            }
+            $xfer += $input->readFieldEnd();
+        }
+        $xfer += $input->readStructEnd();
+        return $xfer;
     }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
+
+    public function write($output)
+    {
+        $xfer = 0;
+        $xfer += $output->writeStructBegin('TaskStatus');
+        if ($this->executionState !== null) {
+            $xfer += $output->writeFieldBegin('executionState', TType::I32, 1);
+            $xfer += $output->writeI32($this->executionState);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->timeOfStateChange !== null) {
+            $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+            $xfer += $output->writeI64($this->timeOfStateChange);
+            $xfer += $output->writeFieldEnd();
+        }
+        $xfer += $output->writeFieldStop();
+        $xfer += $output->writeStructEnd();
+        return $xfer;
     }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
 
 }
 
-class ApplicationStatus {
-  static $_TSPEC;
-
-  public $applicationState = null;
-  public $timeOfStateChange = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'applicationState',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'timeOfStateChange',
-          'type' => TType::I64,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['applicationState'])) {
-        $this->applicationState = $vals['applicationState'];
-      }
-      if (isset($vals['timeOfStateChange'])) {
-        $this->timeOfStateChange = $vals['timeOfStateChange'];
-      }
+class JobStatus
+{
+    static $_TSPEC;
+
+    /**
+     * @var int
+     */
+    public $jobState = null;
+    /**
+     * @var int
+     */
+    public $timeOfStateChange = null;
+
+    public function __construct($vals = null)
+    {
+        if (!isset(self::$_TSPEC)) {
+            self::$_TSPEC = array(
+                1 => array(
+                    'var' => 'jobState',
+                    'type' => TType::I32,
+                ),
+                2 => array(
+                    'var' => 'timeOfStateChange',
+                    'type' => TType::I64,
+                ),
+            );
+        }
+        if (is_array($vals)) {
+            if (isset($vals['jobState'])) {
+                $this->jobState = $vals['jobState'];
+            }
+            if (isset($vals['timeOfStateChange'])) {
+                $this->timeOfStateChange = $vals['timeOfStateChange'];
+            }
+        }
     }
-  }
-
-  public function getName() {
-    return 'ApplicationStatus';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
+
+    public function getName()
     {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->applicationState);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->timeOfStateChange);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
+        return 'JobStatus';
     }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('ApplicationStatus');
-    if ($this->applicationState !== null) {
-      $xfer += $output->writeFieldBegin('applicationState', TType::STRING, 1);
-      $xfer += $output->writeString($this->applicationState);
-      $xfer += $output->writeFieldEnd();
+
+    public function read($input)
+    {
+        $xfer = 0;
+        $fname = null;
+        $ftype = 0;
+        $fid = 0;
+        $xfer += $input->readStructBegin($fname);
+        while (true) {
+            $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+            if ($ftype == TType::STOP) {
+                break;
+            }
+            switch ($fid) {
+                case 1:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->jobState);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 2:
+                    if ($ftype == TType::I64) {
+                        $xfer += $input->readI64($this->timeOfStateChange);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                default:
+                    $xfer += $input->skip($ftype);
+                    break;
+            }
+            $xfer += $input->readFieldEnd();
+        }
+        $xfer += $input->readStructEnd();
+        return $xfer;
     }
-    if ($this->timeOfStateChange !== null) {
-      $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
-      $xfer += $output->writeI64($this->timeOfStateChange);
-      $xfer += $output->writeFieldEnd();
+
+    public function write($output)
+    {
+        $xfer = 0;
+        $xfer += $output->writeStructBegin('JobStatus');
+        if ($this->jobState !== null) {
+            $xfer += $output->writeFieldBegin('jobState', TType::I32, 1);
+            $xfer += $output->writeI32($this->jobState);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->timeOfStateChange !== null) {
+            $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+            $xfer += $output->writeI64($this->timeOfStateChange);
+            $xfer += $output->writeFieldEnd();
+        }
+        $xfer += $output->writeFieldStop();
+        $xfer += $output->writeStructEnd();
+        return $xfer;
     }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
 
 }
 
-class ComputationalResourceScheduling {
-  static $_TSPEC;
-
-  public $resourceHostId = null;
-  public $totalCPUCount = null;
-  public $nodeCount = null;
-  public $numberOfThreads = null;
-  public $queueName = null;
-  public $wallTimeLimit = null;
-  public $jobStartTime = null;
-  public $totalPhysicalMemory = null;
-  public $computationalProjectAccount = null;
-  public $chassisName = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'resourceHostId',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'totalCPUCount',
-          'type' => TType::I32,
-          ),
-        3 => array(
-          'var' => 'nodeCount',
-          'type' => TType::I32,
-          ),
-        4 => array(
-          'var' => 'numberOfThreads',
-          'type' => TType::I32,
-          ),
-        5 => array(
-          'var' => 'queueName',
-          'type' => TType::STRING,
-          ),
-        6 => array(
-          'var' => 'wallTimeLimit',
-          'type' => TType::I32,
-          ),
-        7 => array(
-          'var' => 'jobStartTime',
-          'type' => TType::I32,
-          ),
-        8 => array(
-          'var' => 'totalPhysicalMemory',
-          'type' => TType::I32,
-          ),
-        9 => array(
-          'var' => 'computationalProjectAccount',
-          'type' => TType::STRING,
-          ),
-        10 => array(
-          'var' => 'chassisName',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['resourceHostId'])) {
-        $this->resourceHostId = $vals['resourceHostId'];
-      }
-      if (isset($vals['totalCPUCount'])) {
-        $this->totalCPUCount = $vals['totalCPUCount'];
-      }
-      if (isset($vals['nodeCount'])) {
-        $this->nodeCount = $vals['nodeCount'];
-      }
-      if (isset($vals['numberOfThreads'])) {
-        $this->numberOfThreads = $vals['numberOfThreads'];
-      }
-      if (isset($vals['queueName'])) {
-        $this->queueName = $vals['queueName'];
-      }
-      if (isset($vals['wallTimeLimit'])) {
-        $this->wallTimeLimit = $vals['wallTimeLimit'];
-      }
-      if (isset($vals['jobStartTime'])) {
-        $this->jobStartTime = $vals['jobStartTime'];
-      }
-      if (isset($vals['totalPhysicalMemory'])) {
-        $this->totalPhysicalMemory = $vals['totalPhysicalMemory'];
-      }
-      if (isset($vals['computationalProjectAccount'])) {
-        $this->computationalProjectAccount = $vals['computationalProjectAccount'];
-      }
-      if (isset($vals['chassisName'])) {
-        $this->chassisName = $vals['chassisName'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'ComputationalResourceScheduling';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
+class TransferStatus
+{
+    static $_TSPEC;
+
+    /**
+     * @var int
+     */
+    public $transferState = null;
+    /**
+     * @var int
+     */
+    public $timeOfStateChange = null;
+
+    public function __construct($vals = null)
     {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->resourceHostId);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->totalCPUCount);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->nodeCount);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->numberOfThreads);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->queueName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 6:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->wallTimeLimit);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 7:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->jobStartTime);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 8:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->totalPhysicalMemory);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 9:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->computationalProjectAccount);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 10:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->chassisName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('ComputationalResourceScheduling');
-    if ($this->resourceHostId !== null) {
-      $xfer += $output->writeFieldBegin('resourceHostId', TType::STRING, 1);
-      $xfer += $output->writeString($this->resourceHostId);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->totalCPUCount !== null) {
-      $xfer += $output->writeFieldBegin('totalCPUCount', TType::I32, 2);
-      $xfer += $output->writeI32($this->totalCPUCount);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->nodeCount !== null) {
-      $xfer += $output->writeFieldBegin('nodeCount', TType::I32, 3);
-      $xfer += $output->writeI32($this->nodeCount);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->numberOfThreads !== null) {
-      $xfer += $output->writeFieldBegin('numberOfThreads', TType::I32, 4);
-      $xfer += $output->writeI32($this->numberOfThreads);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->queueName !== null) {
-      $xfer += $output->writeFieldBegin('queueName', TType::STRING, 5);
-      $xfer += $output->writeString($this->queueName);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->wallTimeLimit !== null) {
-      $xfer += $output->writeFieldBegin('wallTimeLimit', TType::I32, 6);
-      $xfer += $output->writeI32($this->wallTimeLimit);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->jobStartTime !== null) {
-      $xfer += $output->writeFieldBegin('jobStartTime', TType::I32, 7);
-      $xfer += $output->writeI32($this->jobStartTime);
-      $xfer += $output->writeFieldEnd();
+        if (!isset(self::$_TSPEC)) {
+            self::$_TSPEC = array(
+                1 => array(
+                    'var' => 'transferState',
+                    'type' => TType::I32,
+                ),
+                2 => array(
+                    'var' => 'timeOfStateChange',
+                    'type' => TType::I64,
+                ),
+            );
+        }
+        if (is_array($vals)) {
+            if (isset($vals['transferState'])) {
+                $this->transferState = $vals['transferState'];
+            }
+            if (isset($vals['timeOfStateChange'])) {
+                $this->timeOfStateChange = $vals['timeOfStateChange'];
+            }
+        }
     }
-    if ($this->totalPhysicalMemory !== null) {
-      $xfer += $output->writeFieldBegin('totalPhysicalMemory', TType::I32, 8);
-      $xfer += $output->writeI32($this->totalPhysicalMemory);
-      $xfer += $output->writeFieldEnd();
+
+    public function getName()
+    {
+        return 'TransferStatus';
     }
-    if ($this->computationalProjectAccount !== null) {
-      $xfer += $output->writeFieldBegin('computationalProjectAccount', TType::STRING, 9);
-      $xfer += $output->writeString($this->computationalProjectAccount);
-      $xfer += $output->writeFieldEnd();
+
+    public function read($input)
+    {
+        $xfer = 0;
+        $fname = null;
+        $ftype = 0;
+        $fid = 0;
+        $xfer += $input->readStructBegin($fname);
+        while (true) {
+            $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+            if ($ftype == TType::STOP) {
+                break;
+            }
+            switch ($fid) {
+                case 1:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->transferState);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 2:
+                    if ($ftype == TType::I64) {
+                        $xfer += $input->readI64($this->timeOfStateChange);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                default:
+                    $xfer += $input->skip($ftype);
+                    break;
+            }
+            $xfer += $input->readFieldEnd();
+        }
+        $xfer += $input->readStructEnd();
+        return $xfer;
     }
-    if ($this->chassisName !== null) {
-      $xfer += $output->writeFieldBegin('chassisName', TType::STRING, 10);
-      $xfer += $output->writeString($this->chassisName);
-      $xfer += $output->writeFieldEnd();
+
+    public function write($output)
+    {
+        $xfer = 0;
+        $xfer += $output->writeStructBegin('TransferStatus');
+        if ($this->transferState !== null) {
+            $xfer += $output->writeFieldBegin('transferState', TType::I32, 1);
+            $xfer += $output->writeI32($this->transferState);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->timeOfStateChange !== null) {
+            $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+            $xfer += $output->writeI64($this->timeOfStateChange);
+            $xfer += $output->writeFieldEnd();
+        }
+        $xfer += $output->writeFieldStop();
+        $xfer += $output->writeStructEnd();
+        return $xfer;
     }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
 
 }
 
-class AdvancedInputDataHandling {
-  static $_TSPEC;
-
-  public $stageInputFilesToWorkingDir = false;
-  public $parentWorkingDirectory = null;
-  public $uniqueWorkingDirectory = null;
-  public $cleanUpWorkingDirAfterJob = false;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'stageInputFilesToWorkingDir',
-          'type' => TType::BOOL,
-          ),
-        2 => array(
-          'var' => 'parentWorkingDirectory',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'uniqueWorkingDirectory',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'cleanUpWorkingDirAfterJob',
-          'type' => TType::BOOL,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['stageInputFilesToWorkingDir'])) {
-        $this->stageInputFilesToWorkingDir = $vals['stageInputFilesToWorkingDir'];
-      }
-      if (isset($vals['parentWorkingDirectory'])) {
-        $this->parentWorkingDirectory = $vals['parentWorkingDirectory'];
-      }
-      if (isset($vals['uniqueWorkingDirectory'])) {
-        $this->uniqueWorkingDirectory = $vals['uniqueWorkingDirectory'];
-      }
-      if (isset($vals['cleanUpWorkingDirAfterJob'])) {
-        $this->cleanUpWorkingDirAfterJob = $vals['cleanUpWorkingDirAfterJob'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'AdvancedInputDataHandling';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
+class ApplicationStatus
+{
+    static $_TSPEC;
+
+    /**
+     * @var string
+     */
+    public $applicationState = null;
+    /**
+     * @var int
+     */
+    public $timeOfStateChange = null;
+
+    public function __construct($vals = null)
     {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->stageInputFilesToWorkingDir);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->parentWorkingDirectory);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->uniqueWorkingDirectory);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->cleanUpWorkingDirAfterJob);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('AdvancedInputDataHandling');
-    if ($this->stageInputFilesToWorkingDir !== null) {
-      $xfer += $output->writeFieldBegin('stageInputFilesToWorkingDir', TType::BOOL, 1);
-      $xfer += $output->writeBool($this->stageInputFilesToWorkingDir);
-      $xfer += $output->writeFieldEnd();
+        if (!isset(self::$_TSPEC)) {
+            self::$_TSPEC = array(
+                1 => array(
+                    'var' => 'applicationState',
+                    'type' => TType::STRING,
+                ),
+                2 => array(
+                    'var' => 'timeOfStateChange',
+                    'type' => TType::I64,
+                ),
+            );
+        }
+        if (is_array($vals)) {
+            if (isset($vals['applicationState'])) {
+                $this->applicationState = $vals['applicationState'];
+            }
+            if (isset($vals['timeOfStateChange'])) {
+                $this->timeOfStateChange = $vals['timeOfStateChange'];
+            }
+        }
     }
-    if ($this->parentWorkingDirectory !== null) {
-      $xfer += $output->writeFieldBegin('parentWorkingDirectory', TType::STRING, 2);
-      $xfer += $output->writeString($this->parentWorkingDirectory);
-      $xfer += $output->writeFieldEnd();
+
+    public function getName()
+    {
+        return 'ApplicationStatus';
     }
-    if ($this->uniqueWorkingDirectory !== null) {
-      $xfer += $output->writeFieldBegin('uniqueWorkingDirectory', TType::STRING, 3);
-      $xfer += $output->writeString($this->uniqueWorkingDirectory);
-      $xfer += $output->writeFieldEnd();
+
+    public function read($input)
+    {
+        $xfer = 0;
+        $fname = null;
+        $ftype = 0;
+        $fid = 0;
+        $xfer += $input->readStructBegin($fname);
+        while (true) {
+            $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+            if ($ftype == TType::STOP) {
+                break;
+            }
+            switch ($fid) {
+                case 1:
+                    if ($ftype == TType::STRING) {
+                        $xfer += $input->readString($this->applicationState);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 2:
+                    if ($ftype == TType::I64) {
+                        $xfer += $input->readI64($this->timeOfStateChange);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                default:
+                    $xfer += $input->skip($ftype);
+                    break;
+            }
+            $xfer += $input->readFieldEnd();
+        }
+        $xfer += $input->readStructEnd();
+        return $xfer;
     }
-    if ($this->cleanUpWorkingDirAfterJob !== null) {
-      $xfer += $output->writeFieldBegin('cleanUpWorkingDirAfterJob', TType::BOOL, 4);
-      $xfer += $output->writeBool($this->cleanUpWorkingDirAfterJob);
-      $xfer += $output->writeFieldEnd();
+
+    public function write($output)
+    {
+        $xfer = 0;
+        $xfer += $output->writeStructBegin('ApplicationStatus');
+        if ($this->applicationState !== null) {
+            $xfer += $output->writeFieldBegin('applicationState', TType::STRING, 1);
+            $xfer += $output->writeString($this->applicationState);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->timeOfStateChange !== null) {
+            $xfer += $output->writeFieldBegin('timeOfStateChange', TType::I64, 2);
+            $xfer += $output->writeI64($this->timeOfStateChange);
+            $xfer += $output->writeFieldEnd();
+        }
+        $xfer += $output->writeFieldStop();
+        $xfer += $output->writeStructEnd();
+        return $xfer;
     }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
 
 }
 
-class AdvancedOutputDataHandling {
-  static $_TSPEC;
-
-  public $outputDataDir = null;
-  public $dataRegistryURL = null;
-  public $persistOutputData = true;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        2 => array(
-          'var' => 'outputDataDir',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'dataRegistryURL',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'persistOutputData',
-          'type' => TType::BOOL,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['outputDataDir'])) {
-        $this->outputDataDir = $vals['outputDataDir'];
-      }
-      if (isset($vals['dataRegistryURL'])) {
-        $this->dataRegistryURL = $vals['dataRegistryURL'];
-      }
-      if (isset($vals['persistOutputData'])) {
-        $this->persistOutputData = $vals['persistOutputData'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'AdvancedOutputDataHandling';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
+/**
+ * A structure holding the Computational Resource Scheduling.
+ *
+ */
+class ComputationalResourceScheduling
+{
+    static $_TSPEC;
+
+    /**
+     * @var string
+     */
+    public $resourceHostId = null;
+    /**
+     * @var int
+     */
+    public $totalCPUCount = null;
+    /**
+     * @var int
+     */
+    public $nodeCount = null;
+    /**
+     * @var int
+     */
+    public $numberOfThreads = null;
+    /**
+     * @var string
+     */
+    public $queueName = null;
+    /**
+     * @var int
+     */
+    public $wallTimeLimit = null;
+    /**
+     * @var int
+     */
+    public $jobStartTime = null;
+    /**
+     * @var int
+     */
+    public $totalPhysicalMemory = null;
+    /**
+     * @var string
+     */
+    public $computationalProjectAccount = null;
+    /**
+     * @var string
+     */
+    public $chassisName = null;
+
+    public function __construct($vals = null)
     {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->outputDataDir);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->dataRegistryURL);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->persistOutputData);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
+        if (!isset(self::$_TSPEC)) {
+            self::$_TSPEC = array(
+                1 => array(
+                    'var' => 'resourceHostId',
+                    'type' => TType::STRING,
+                ),
+                2 => array(
+                    'var' => 'totalCPUCount',
+                    'type' => TType::I32,
+                ),
+                3 => array(
+                    'var' => 'nodeCount',
+                    'type' => TType::I32,
+                ),
+                4 => array(
+                    'var' => 'numberOfThreads',
+                    'type' => TType::I32,
+                ),
+                5 => array(
+                    'var' => 'queueName',
+                    'type' => TType::STRING,
+                ),
+                6 => array(
+                    'var' => 'wallTimeLimit',
+                    'type' => TType::I32,
+                ),
+                7 => array(
+                    'var' => 'jobStartTime',
+                    'type' => TType::I32,
+                ),
+                8 => array(
+                    'var' => 'totalPhysicalMemory',
+                    'type' => TType::I32,
+                ),
+                9 => array(
+                    'var' => 'computationalProjectAccount',
+                    'type' => TType::STRING,
+                ),
+                10 => array(
+                    'var' => 'chassisName',
+                    'type' => TType::STRING,
+                ),
+            );
+        }
+        if (is_array($vals)) {
+            if (isset($vals['resourceHostId'])) {
+                $this->resourceHostId = $vals['resourceHostId'];
+            }
+            if (isset($vals['totalCPUCount'])) {
+                $this->totalCPUCount = $vals['totalCPUCount'];
+            }
+            if (isset($vals['nodeCount'])) {
+                $this->nodeCount = $vals['nodeCount'];
+            }
+            if (isset($vals['numberOfThreads'])) {
+                $this->numberOfThreads = $vals['numberOfThreads'];
+            }
+            if (isset($vals['queueName'])) {
+                $this->queueName = $vals['queueName'];
+            }
+            if (isset($vals['wallTimeLimit'])) {
+                $this->wallTimeLimit = $vals['wallTimeLimit'];
+            }
+            if (isset($vals['jobStartTime'])) {
+                $this->jobStartTime = $vals['jobStartTime'];
+            }
+            if (isset($vals['totalPhysicalMemory'])) {
+                $this->totalPhysicalMemory = $vals['totalPhysicalMemory'];
+            }
+            if (isset($vals['computationalProjectAccount'])) {
+                $this->computationalProjectAccount = $vals['computationalProjectAccount'];
+            }
+            if (isset($vals['chassisName'])) {
+                $this->chassisName = $vals['chassisName'];
+            }
+        }
     }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('AdvancedOutputDataHandling');
-    if ($this->outputDataDir !== null) {
-      $xfer += $output->writeFieldBegin('outputDataDir', TType::STRING, 2);
-      $xfer += $output->writeString($this->outputDataDir);
-      $xfer += $output->writeFieldEnd();
+
+    public function getName()
+    {
+        return 'ComputationalResourceScheduling';
     }
-    if ($this->dataRegistryURL !== null) {
-      $xfer += $output->writeFieldBegin('dataRegistryURL', TType::STRING, 3);
-      $xfer += $output->writeString($this->dataRegistryURL);
-      $xfer += $output->writeFieldEnd();
+
+    public function read($input)
+    {
+        $xfer = 0;
+        $fname = null;
+        $ftype = 0;
+        $fid = 0;
+        $xfer += $input->readStructBegin($fname);
+        while (true) {
+            $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+            if ($ftype == TType::STOP) {
+                break;
+            }
+            switch ($fid) {
+                case 1:
+                    if ($ftype == TType::STRING) {
+                        $xfer += $input->readString($this->resourceHostId);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 2:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->totalCPUCount);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 3:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->nodeCount);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 4:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->numberOfThreads);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 5:
+                    if ($ftype == TType::STRING) {
+                        $xfer += $input->readString($this->queueName);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 6:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->wallTimeLimit);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 7:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->jobStartTime);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 8:
+                    if ($ftype == TType::I32) {
+                        $xfer += $input->readI32($this->totalPhysicalMemory);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 9:
+                    if ($ftype == TType::STRING) {
+                        $xfer += $input->readString($this->computationalProjectAccount);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 10:
+                    if ($ftype == TType::STRING) {
+                        $xfer += $input->readString($this->chassisName);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                default:
+                    $xfer += $input->skip($ftype);
+                    break;
+            }
+            $xfer += $input->readFieldEnd();
+        }
+        $xfer += $input->readStructEnd();
+        return $xfer;
     }
-    if ($this->persistOutputData !== null) {
-      $xfer += $output->writeFieldBegin('persistOutputData', TType::BOOL, 4);
-      $xfer += $output->writeBool($this->persistOutputData);
-      $xfer += $output->writeFieldEnd();
+
+    public function write($output)
+    {
+        $xfer = 0;
+        $xfer += $output->writeStructBegin('ComputationalResourceScheduling');
+        if ($this->resourceHostId !== null) {
+            $xfer += $output->writeFieldBegin('resourceHostId', TType::STRING, 1);
+            $xfer += $output->writeString($this->resourceHostId);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->totalCPUCount !== null) {
+            $xfer += $output->writeFieldBegin('totalCPUCount', TType::I32, 2);
+            $xfer += $output->writeI32($this->totalCPUCount);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->nodeCount !== null) {
+            $xfer += $output->writeFieldBegin('nodeCount', TType::I32, 3);
+            $xfer += $output->writeI32($this->nodeCount);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->numberOfThreads !== null) {
+            $xfer += $output->writeFieldBegin('numberOfThreads', TType::I32, 4);
+            $xfer += $output->writeI32($this->numberOfThreads);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->queueName !== null) {
+            $xfer += $output->writeFieldBegin('queueName', TType::STRING, 5);
+            $xfer += $output->writeString($this->queueName);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->wallTimeLimit !== null) {
+            $xfer += $output->writeFieldBegin('wallTimeLimit', TType::I32, 6);
+            $xfer += $output->writeI32($this->wallTimeLimit);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->jobStartTime !== null) {
+            $xfer += $output->writeFieldBegin('jobStartTime', TType::I32, 7);
+            $xfer += $output->writeI32($this->jobStartTime);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->totalPhysicalMemory !== null) {
+            $xfer += $output->writeFieldBegin('totalPhysicalMemory', TType::I32, 8);
+            $xfer += $output->writeI32($this->totalPhysicalMemory);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->computationalProjectAccount !== null) {
+            $xfer += $output->writeFieldBegin('computationalProjectAccount', TType::STRING, 9);
+            $xfer += $output->writeString($this->computationalProjectAccount);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->chassisName !== null) {
+            $xfer += $output->writeFieldBegin('chassisName', TType::STRING, 10);
+            $xfer += $output->writeString($this->chassisName);
+            $xfer += $output->writeFieldEnd();
+        }
+        $xfer += $output->writeFieldStop();
+        $xfer += $output->writeStructEnd();
+        return $xfer;
     }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
 
 }
 
-class QualityOfServiceParams {
-  static $_TSPEC;
-
-  public $startExecutionAt = null;
-  public $executeBefore = null;
-  public $numberofRetries = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'startExecutionAt',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'executeBefore',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'numberofRetries',
-          'type' => TType::I32,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['startExecutionAt'])) {
-        $this->startExecutionAt = $vals['startExecutionAt'];
-      }
-      if (isset($vals['executeBefore'])) {
-        $this->executeBefore = $vals['executeBefore'];
-      }
-      if (isset($vals['numberofRetries'])) {
-        $this->numberofRetries = $vals['numberofRetries'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'QualityOfServiceParams';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
+/**
+ * A structure holding specified input data handling.
+ *
+ */
+class AdvancedInputDataHandling
+{
+    static $_TSPEC;
+
+    /**
+     * @var bool
+     */
+    public $stageInputFilesToWorkingDir = false;
+    /**
+     * @var string
+     */
+    public $parentWorkingDirectory = null;
+    /**
+     * @var string
+     */
+    public $uniqueWorkingDirectory = null;
+    /**
+     * @var bool
+     */
+    public $cleanUpWorkingDirAfterJob = false;
+
+    public function __construct($vals = null)
     {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->startExecutionAt);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->executeBefore);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->numberofRetries);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
+        if (!isset(self::$_TSPEC)) {
+            self::$_TSPEC = array(
+                1 => array(
+                    'var' => 'stageInputFilesToWorkingDir',
+                    'type' => TType::BOOL,
+                ),
+                2 => array(
+                    'var' => 'parentWorkingDirectory',
+                    'type' => TType::STRING,
+                ),
+                3 => array(
+                    'var' => 'uniqueWorkingDirectory',
+                    'type' => TType::STRING,
+                ),
+                4 => array(
+                    'var' => 'cleanUpWorkingDirAfterJob',
+                    'type' => TType::BOOL,
+                ),
+            );
+        }
+        if (is_array($vals)) {
+            if (isset($vals['stageInputFilesToWorkingDir'])) {
+                $this->stageInputFilesToWorkingDir = $vals['stageInputFilesToWorkingDir'];
+            }
+            if (isset($vals['parentWorkingDirectory'])) {
+                $this->parentWorkingDirectory = $vals['parentWorkingDirectory'];
+            }
+            if (isset($vals['uniqueWorkingDirectory'])) {
+                $this->uniqueWorkingDirectory = $vals['uniqueWorkingDirectory'];
+            }
+            if (isset($vals['cleanUpWorkingDirAfterJob'])) {
+                $this->cleanUpWorkingDirAfterJob = $vals['cleanUpWorkingDirAfterJob'];
+            }
+        }
     }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('QualityOfServiceParams');
-    if ($this->startExecutionAt !== null) {
-      $xfer += $output->writeFieldBegin('startExecutionAt', TType::STRING, 1);
-      $xfer += $output->writeString($this->startExecutionAt);
-      $xfer += $output->writeFieldEnd();
+
+    public function getName()
+    {
+        return 'AdvancedInputDataHandling';
     }
-    if ($this->executeBefore !== null) {
-      $xfer += $output->writeFieldBegin('executeBefore', TType::STRING, 2);
-      $xfer += $output->writeString($this->executeBefore);
-      $xfer += $output->writeFieldEnd();
+
+    public function read($input)
+    {
+        $xfer = 0;
+        $fname = null;
+        $ftype = 0;
+        $fid = 0;
+        $xfer += $input->readStructBegin($fname);
+        while (true) {
+            $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+            if ($ftype == TType::STOP) {
+                break;
+            }
+            switch ($fid) {
+                case 1:
+                    if ($ftype == TType::BOOL) {
+                        $xfer += $input->readBool($this->stageInputFilesToWorkingDir);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 2:
+                    if ($ftype == TType::STRING) {
+                        $xfer += $input->readString($this->parentWorkingDirectory);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 3:
+                    if ($ftype == TType::STRING) {
+                        $xfer += $input->readString($this->uniqueWorkingDirectory);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                case 4:
+                    if ($ftype == TType::BOOL) {
+                        $xfer += $input->readBool($this->cleanUpWorkingDirAfterJob);
+                    } else {
+                        $xfer += $input->skip($ftype);
+                    }
+                    break;
+                default:
+                    $xfer += $input->skip($ftype);
+                    break;
+            }
+            $xfer += $input->readFieldEnd();
+        }
+        $xfer += $input->readStructEnd();
+        return $xfer;
     }
-    if ($this->numberofRetries !== null) {
-      $xfer += $output->writeFieldBegin('numberofRetries', TType::I32, 3);
-      $xfer += $output->writeI32($this->numberofRetries);
-      $xfer += $output->writeFieldEnd();
+
+    public function write($output)
+    {
+        $xfer = 0;
+        $xfer += $output->writeStructBegin('AdvancedInputDataHandling');
+        if ($this->stageInputFilesToWorkingDir !== null) {
+            $xfer += $output->writeFieldBegin('stageInputFilesToWorkingDir', TType::BOOL, 1);
+            $xfer += $output->writeBool($this->stageInputFilesToWorkingDir);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->parentWorkingDirectory !== null) {
+            $xfer += $output->writeFieldBegin('parentWorkingDirectory', TType::STRING, 2);
+            $xfer += $output->writeString($this->parentWorkingDirectory);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->uniqueWorkingDirectory !== null) {
+            $xfer += $output->writeFieldBegin('uniqueWorkingDirectory', TType::STRING, 3);
+            $xfer += $output->writeString($this->uniqueWorkingDirectory);
+            $xfer += $output->writeFieldEnd();
+        }
+        if ($this->cleanUpWorkingDirAfterJob !== null) {
+            $xfer += $output->writeFieldBegin('cleanUpWorkingDirAfterJob', TType::BOOL, 4);
+            $xfer += $output->writeBool($this->cleanUpWorkingDirAfterJob);
+            $xfer += $output->writeFieldEnd();
+        }
+        $xfer += $output->writeFieldStop();
+        $xfer += $output->writeStructEnd();
+        return $xfer;
     }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
 
 }
 
-class UserConfigurationData {
-  static $_TSPEC;
-
-  public $airavataAutoSchedule = false;
-  public $overrideManualScheduledParams = false;
-  public $shareExperimentPublicly = false;
-  public $computationalResourceScheduling = null;
-  public $advanceInputDataHandling = null;
-  public $advanceOutputDataHandling = null;
-  public $qosParams = null;
-  public $throttleResources = false;
-  public $userDN = null;
-  public $generateCert = false;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'airavataAutoSchedule',
-          'type' => TType::BOOL,
-          ),
-        2 => array(
-          'var' => 'overrideManualScheduledParams',
-          'type' => TType::BOOL,
-          ),
-        3 => array(
-          'var' => 'shareExperimentPublicly',
-          'type' => TType::BOOL,
-          ),
-        4 => array(
-          'var' => 'computationalResourceScheduling',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling',
-          ),
-        5 => array(
-          'var' => 'advanceInputDataHandling',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling',
-          ),
-        6 => array(
-          'var' => 'advanceOutputDataHandling',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling',
-          ),
-        7 => array(
-          'var' => 'qosParams',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Workspace\Experiment\QualityOfServiceParams',
-          ),
-        8 => array(
-          'var' => 'throttleResources',
-          'type' => TType::BOOL,
-          ),
-        9 => array(
-          'var' => 'userDN',
-          'type' => TType::STRING,
-          ),
-        10 => array(
-          'var' => 'generateCert',
-          'type' => TType::BOOL,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['airavataAutoSchedule'])) {
-        $this->airavataAutoSchedule = $vals['airavataAutoSchedule'];
-      }
-      if (isset($vals['overrideManualScheduledParams'])) {
-        $this->overrideManualScheduledParams = $vals['overrideManualScheduledParams'];
-      }
-      if (isset($vals['shareExperimentPublicly'])) {
-        $this->shareExperimentPublicly = $vals['shareExperimentPublicly'];
-      }
-      if (isset($vals['computationalResourceScheduling'])) {
-        $this->computationalResourceScheduling = $vals['computationalResourceScheduling'];
-      }
-      if (isset($vals['advanceInputDataHandling'])) {
-        $this->advanceInputDataHandling = $vals['advanceInputDataHandling'];
-      }
-      if (isset($vals['advanceOutputDataHandling'])) {
-        $this->advanceOutputDataHandling = $vals['advanceOutputDataHandling'];
-      }
-      if (isset($vals['qosParams'])) {
-        $this->qosParams = $vals['qosParams'];
-      }
-      if (isset($vals['throttleResources'])) {
-        $this->throttleResources = $vals['throttleResources'];
-      }
-      if (isset($vals['userDN'])) {
-        $this->userDN = $vals['userDN'];
-      }
-      if (isset($vals['generateCert'])) {
-        $this->generateCert = $vals['generateCert'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'UserConfigurationData';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
+/**
+ * A structure holding specified output data handling.
+ *
+ */
+class AdvancedOutputDataHandling
+{
+    static $_TSPEC;
+
+    /**
+     * @var string
+     */
+    public $outputDataDir = null;
+    /**
+     * @var string
+     */
+    public $dataRegistryURL = null;
+    /**
+     * @var bool
+     */
+    public $persistOutputData = true;
+
+    public function __construct($vals = null)
     {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->airavataAutoSchedule);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->overrideManualScheduledParams);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->shareExperimentPublicly);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRUCT) {
-            $this->computationalResourceScheduling = new \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling();
-            $xfer += $this->computationalResourceScheduling->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          if ($ftype == TType::STRUCT) {
-            $this->advanceInputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling();
-            $xfer += $this->advanceInputDataHandling->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 6:
-          if ($ftype == TType::STRUCT) {
-            $this->advanceOutputDataHandling = new \Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling();
-            $xfer += $this->advanceOutputDataHandling->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 7:
-          if ($ftype == TType::STRUCT) {
-            $this->qosParams = new \Airavata\Model\Workspace\Experiment\QualityOfServiceParams();
-            $xfer += $this->qosParams->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 8:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->throttleResources);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 9:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->userDN);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 10:
-          if ($ftype == TType::BOOL) {
-            $xfer += $input->readBool($this->generateCert);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('UserConfigurationData');
-    if ($this->airavataAutoSchedule !== null) {
-      $xfer += $output->writeFieldBegin('airavataAutoSchedule', TType::BOOL, 1);
-      $xfer += $output->writeBool($this->airavataAutoSchedule);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->overrideManualScheduledParams !== null) {
-      $xfer += $output->writeFieldBegin('overrideManualScheduledParams', TType::BOOL, 2);
-      $xfer += $output->writeBool($this->overrideManualScheduledParams);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->shareExperimentPublicly !== null) {
-      $xfer += $output->writeFieldBegin('shareExperimentPublicly', TType::BOOL, 3);
-      $xfer += $output->writeBool($this->shareExperimentPublicly);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->computationalResourceScheduling !== null) {
-      if (!is_object($this->computationalResourceScheduling)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('computationalResourceScheduling', TType::STRUCT, 4);
-      $xfer += $this->computationalResourceScheduling->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->advanceInputDataHandling !== null) {
-      if (!is_object($this->advanceInputDataHandling)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('advanceInputDataHandling', TType::STRUCT, 5);
-      $xfer += $this->advanceInputDataHandling->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->advanceOutputDataHandling !== null) {
-      if (!is_object($this->advanceOutputDataHandling)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('advanceOutputDataHandling', TType::STRUCT, 6);
-      $xfer += $this->advanceOutputDataHandling->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->qosParams !== null) {
-      if (!is_object($this->qosParams)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('qosParams', TType::STRUCT, 7);
-      $xfer += $this->qosParams->write($output);
-      $xfer += $output->writeFieldEnd();
+        if (!isset(self::$_TSPEC)) {
+            self::$_TSPEC = array(
+                2 => array(
+                    'var' => 'outputDataDir',
+                    'type' => TType::STRING,
+                ),
+                3 => array(
+                    'var' => 'dataRegistryURL',
+                    'type' => TType::STRING,
+                ),
+                4 => array(
+                    'var' => 'persistOutputData',
+                    'type' => TType::BOOL,
+                ),
+            );
+        }
+        if (is_array($vals)) {
+            if (isset($vals['outputDataDir'])) {
+                $this->outputDataDir = $vals['outputDataDir'];
+            }
+            if (isset($vals['dataRegistryURL'])) {
+                $this->dataRegistryURL = $vals['dataRegistryURL'];
+            }
+            if (isset($vals['persistOutputData'])) {
+                $this->persistOutputData = $vals['persistOutputData'];
+            }
+        }
     }
-    if ($this->throttleResources !== null) {
-      $xfer += $output->writeFieldBegin('throttleResources', TType::BOOL, 8);
-      $xfer += $output->writeBool($this->throttleResources);
-      $xfer += $output->writeFieldEnd();
+
+    public function getName()
+    {
+        return 'AdvancedOutputDataHandling';
     }
-    if ($this->userDN !== null) {
-      $xfer += $output->writeFieldBegin('userDN', TType::STRING, 9);
-      $xfer += $output->writeString($this->userDN);
-      $xfer += $output->writeFieldEnd();
+
+    public function read($input)
+    {
+        $xfer = 0;
+        $fname = null;
+        $ftype = 0;
+        $fid = 0;
+        $xfer += $input->readStructBegin($fname);
+        while (true) {
+            $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+            if ($ftype == TType::STOP) {
+                break;
+            }


<TRUNCATED>