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

[01/42] airavata-php-gateway git commit: Fixing experiment info not shown in Admin DashBoard

Repository: airavata-php-gateway
Updated Branches:
  refs/heads/airavata-php-gateway-0.15-release 7b775c344 -> 309371195


Fixing experiment info not shown in Admin DashBoard


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/0560d623
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/0560d623
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/0560d623

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 0560d62320c421d4ad9ab5f19b64346175906d3e
Parents: a88115a
Author: Supun Nakandala <sc...@apache.org>
Authored: Sat Jun 6 14:05:27 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Sat Jun 6 14:14:05 2015 +0530

----------------------------------------------------------------------
 app/controllers/ExperimentController.php     |   6 +-
 app/libraries/AppUtilities.php               |   2 +-
 app/libraries/ExperimentUtilities.php        |   2 +-
 app/views/account/create.blade.php           |   4 +-
 app/views/account/login.blade.php            |   2 +-
 app/views/admin/manage-experiments.blade.php | 109 +++++++++++-----------
 app/views/resource/browse.blade.php          |   3 +-
 7 files changed, 62 insertions(+), 66 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/0560d623/app/controllers/ExperimentController.php
----------------------------------------------------------------------
diff --git a/app/controllers/ExperimentController.php b/app/controllers/ExperimentController.php
index e5f0baa..8b568db 100755
--- a/app/controllers/ExperimentController.php
+++ b/app/controllers/ExperimentController.php
@@ -66,7 +66,7 @@ class ExperimentController extends BaseController
             /* Not required.
             else
             {
-                Utilities::print_success_message("<p>Experiment {$_POST['experiment-name']} created!</p>" .
+                CommonUtilities::print_success_message("<p>Experiment {$_POST['experiment-name']} created!</p>" .
                     '<p>You will be redirected to the summary page shortly, or you can
                     <a href=' . URL::to('/') . '"/experiment/summary?expId=' . $expId . '">go directly</a> to experiment summary page.</p>');
 
@@ -137,9 +137,9 @@ class ExperimentController extends BaseController
         $expVal["jobState"] = ExperimentUtilities::get_job_status($experiment);
         /*if (isset($_POST['save']))
         {
-            $updatedExperiment = Utilities::apply_changes_to_experiment($experiment);
+            $updatedExperiment = CommonUtilities::apply_changes_to_experiment($experiment);
 
-            Utilities::update_experiment($experiment->experimentID, $updatedExperiment);
+            CommonUtilities::update_experiment($experiment->experimentID, $updatedExperiment);
         }*/
         if (isset($_POST['launch'])) {
             ExperimentUtilities::launch_experiment($experiment->experimentID);

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/0560d623/app/libraries/AppUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/AppUtilities.php b/app/libraries/AppUtilities.php
index 0eb9e2a..a789fcf 100644
--- a/app/libraries/AppUtilities.php
+++ b/app/libraries/AppUtilities.php
@@ -224,7 +224,7 @@ class AppUtilities
             CommonUtilities::print_warning_message('<p>You must create an application module, interface and deployment space before you can create an experiment.
                 Click <a href="' . URL::to('/') . '/app/module">here</a> to create an application.</p>');
             /*
-            Utilities::print_error_message('<p>There was a problem getting all applications.
+            CommonUtilities::print_error_message('<p>There was a problem getting all applications.
                 Please try again later or submit a bug report using the link in the Help menu.</p>' .
                 '<p>Airavata System Exception: ' . $ase->getMessage() . '</p>');
                 */

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/0560d623/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index 9f6c6b9..2561168 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -556,7 +556,7 @@ class ExperimentUtilities
 
             if ($expId) {
                 /*
-                Utilities::print_success_message("Experiment {$_POST['experiment-name']} created!" .
+                CommonUtilities::print_success_message("Experiment {$_POST['experiment-name']} created!" .
                     ' <a href="experiment_summary.php?expId=' . $expId . '">Go to experiment summary page</a>');
                 */
             } else {

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/0560d623/app/views/account/create.blade.php
----------------------------------------------------------------------
diff --git a/app/views/account/create.blade.php b/app/views/account/create.blade.php
index 7d92a7f..0709d2e 100755
--- a/app/views/account/create.blade.php
+++ b/app/views/account/create.blade.php
@@ -17,7 +17,7 @@
     @if ($errors->has())
 
     @foreach ($errors->all() as $error)
-    {{ Utilities::print_error_message($error) }}
+    {{ CommonUtilities::print_error_message($error) }}
     @endforeach
 
     @endif
@@ -25,7 +25,7 @@
     <form action="create" method="post" role="form">
 
         @if( Session::has('username_exists'))
-        {{ Utilities::print_error_message('The username you entered is already in use. Please select another.') }}
+        {{ CommonUtilities::print_error_message('The username you entered is already in use. Please select another.') }}
         @endif
         <?php
         Session::forget("username_exists");

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/0560d623/app/views/account/login.blade.php
----------------------------------------------------------------------
diff --git a/app/views/account/login.blade.php b/app/views/account/login.blade.php
index 2d6d58e..7ef30cc 100755
--- a/app/views/account/login.blade.php
+++ b/app/views/account/login.blade.php
@@ -18,7 +18,7 @@
 
     <form action="login" method="post" role="form">
         @if( Session::has("invalid-credentials") )
-        {{ Utilities::print_error_message('Invalid username or password. Please try again.') }}
+        {{ CommonUtilities::print_error_message('Invalid username or password. Please try again.') }}
         @endif
         <?php
         Session::forget("invalid-credentials");

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/0560d623/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 eb97fba..c6aae9b 100644
--- a/app/views/admin/manage-experiments.blade.php
+++ b/app/views/admin/manage-experiments.blade.php
@@ -394,8 +394,6 @@ to be uncommented when actually in use.
 -->
 
 <!-- Flot Charts JavaScript -->
-<!--[if lte IE 8]>
-<script src="js/excanvas.min.js')}}<![endif]-->
 {{ HTML::script('js/flot/jquery.flot.js')}}
 {{ HTML::script('js/flot/jquery.flot.tooltip.min.js')}}
 {{ HTML::script('js/flot/jquery.flot.resize.js')}}
@@ -412,67 +410,64 @@ to be uncommented when actually in use.
         $(".add-tenant").slideDown();
     });
 
-    $(function () {
-        $('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');
-        $('.tree li.parent_li > span').on('click', function (e) {
-            var children = $(this).parent('li.parent_li').find(' > ul > li');
-            if (children.is(":visible")) {
-                children.hide('fast');
-                $(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
-            } else {
-                children.show('fast');
-                $(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
-            }
-            e.stopPropagation();
-        });
-
-        $(".get-experiment").click(function () {
-            $(".loading-img").removeClass("hide");
-            $.ajax({
-                url: 'experiment/summary?expId=' + $(".experimentId").val(),
-                type: 'get',
-                success: function (data) {
-                    $(".experiment-info").html(data);
-
-                }
-            }).complete(function () {
-                $(".loading-img").addClass("hide");
-            });
-        });
-
-        //Experiment stages are under development.
-        $(".tree").parent().addClass("hide");
+    $('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');
+    $('.tree li.parent_li > span').on('click', function (e) {
+        var children = $(this).parent('li.parent_li').find(' > ul > li');
+        if (children.is(":visible")) {
+            children.hide('fast');
+            $(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
+        } else {
+            children.show('fast');
+            $(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
+        }
+        e.stopPropagation();
+    });
 
-        /* making datetimepicker work for exp search */
+    $(".get-experiment").click(function () {
+        $(".loading-img").removeClass("hide");
+        $.ajax({
+            url: 'experiment/summary?expId=' + $(".experimentId").val(),
+            type: 'get',
+            success: function (data) {
+                $(".experiment-info").html(data);
 
-        $('#datetimepicker9').datetimepicker({
-            pick12HourFormat: false
-        });
-        $('#datetimepicker10').datetimepicker({
-            pick12HourFormat: false
-        });
-        $("#datetimepicker9").on("dp.change", function (e) {
-            $('#datetimepicker10').data("DateTimePicker").setMinDate(e.date);
-        });
-        $("#datetimepicker10").on("dp.change", function (e) {
-            $('#datetimepicker9').data("DateTimePicker").setMaxDate(e.date);
+            }
+        }).complete(function () {
+            $(".loading-img").addClass("hide");
         });
+    });
 
-        /* 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");
+    //Experiment stages are under development.
+    $(".tree").parent().addClass("hide");
 
-            }
-            else {
-                $(".search-text-block").removeClass("hide");
-                $(".select-dates").addClass("hide");
-                $("#search-value").attr("required");
-            }
-        });
+    /* making datetimepicker work for exp search */
+
+    $('#datetimepicker9').datetimepicker({
+        pick12HourFormat: false
+    });
+    $('#datetimepicker10').datetimepicker({
+        pick12HourFormat: false
+    });
+    $("#datetimepicker9").on("dp.change", function (e) {
+        $('#datetimepicker10').data("DateTimePicker").setMinDate(e.date);
+    });
+    $("#datetimepicker10").on("dp.change", function (e) {
+        $('#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/0560d623/app/views/resource/browse.blade.php
----------------------------------------------------------------------
diff --git a/app/views/resource/browse.blade.php b/app/views/resource/browse.blade.php
index ac78bfa..d50e359 100644
--- a/app/views/resource/browse.blade.php
+++ b/app/views/resource/browse.blade.php
@@ -16,7 +16,8 @@
 
     @if ( isset( $allCRs) )
     @if (sizeof($allCRs) == 0)
-    {{ Utilities::print_warning_message('No Compute Resources are registered. Please use "Register Compute Resource" to
+    {{ CommonUtilities::print_warning_message('No Compute Resources are registered. Please use "Register Compute
+    Resource" to
     register a new resources.') }}
     @else
     <div class="col-md-12">


[39/42] airavata-php-gateway git commit: Fixing AIRAVATA-1726

Posted by sc...@apache.org.
Fixing AIRAVATA-1726


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/2da7eb52
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/2da7eb52
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/2da7eb52

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 2da7eb52c6bbb5b9edf895a88f7de39a5233e8b1
Parents: c395468
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jul 1 15:35:32 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jul 1 15:36:21 2015 +0530

----------------------------------------------------------------------
 app/libraries/ExperimentUtilities.php | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2da7eb52/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index 83d849d..f1aaa6e 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -632,7 +632,6 @@ class ExperimentUtilities
             case 'CREATED':
             case 'VALIDATED':
             case 'SCHEDULED':
-            case 'CANCELED':
             case 'FAILED':
                 $expVal["editable"] = true;
                 break;


[28/42] airavata-php-gateway git commit: fixing AIRAVATA-1741

Posted by sc...@apache.org.
fixing AIRAVATA-1741


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/378c475e
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/378c475e
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/378c475e

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 378c475e4c6c0c1ea33911058174bd6d306ebbbd
Parents: 19e3f6a
Author: Supun Nakandala <sc...@apache.org>
Authored: Tue Jun 30 16:56:20 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Tue Jun 30 16:56:20 2015 +0530

----------------------------------------------------------------------
 app/views/project/summary.blade.php | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/378c475e/app/views/project/summary.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/summary.blade.php b/app/views/project/summary.blade.php
index ab4ebef..a05c59e 100755
--- a/app/views/project/summary.blade.php
+++ b/app/views/project/summary.blade.php
@@ -93,11 +93,19 @@
 
         echo "<td>$applicationInterface->applicationName</td>";
 
-        echo '<td>' . CRUtilities::get_compute_resource($experiment->userConfigurationData
-                ->computationalResourceScheduling->resourceHostId)->hostName . '</td>';
+        echo '<td>';
+        try {
+            $cr = CRUtilities::get_compute_resource($experiment->userConfigurationData
+                ->computationalResourceScheduling->resourceHostId);
+            if (!empty($cr)) {
+                echo $cr->hostName;
+            }
+        } catch (Exception $ex) {
+            //Error while retrieving the CR
+        }
+        echo '</td>';
         echo '<td class="time" unix-time="' . $expValues["experimentTimeOfStateChange"] . '"></td>';
 
-
         echo '<td>'. $expValues["experimentStatusString"] . '</td>';
 
         if ($expValues["jobState"]) echo '


[36/42] airavata-php-gateway git commit: Fixing AIRAVATA-1406. Added validation from PGA side. Validation from Airavata side need to be added.

Posted by sc...@apache.org.
Fixing AIRAVATA-1406. Added validation from PGA side. Validation from Airavata side need to be added.


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/a9437c26
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/a9437c26
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/a9437c26

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: a9437c26c9c055771d8a3fdc5ff26ec5c391c77f
Parents: c7ff1aa
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jul 1 14:53:22 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jul 1 14:54:03 2015 +0530

----------------------------------------------------------------------
 app/views/project/edit.blade.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/a9437c26/app/views/project/edit.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/edit.blade.php b/app/views/project/edit.blade.php
index 26e4df4..45d3e63 100755
--- a/app/views/project/edit.blade.php
+++ b/app/views/project/edit.blade.php
@@ -27,7 +27,7 @@
                    class="form-control"
                    name="project-name"
                    id="project-name"
-                   value="{{ $project->name }}">
+                   value="{{ $project->name }}" required>
         </div>
         <div class="form-group">
             <label for="project-description">Project Description</label>


[11/42] 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/airavata-php-gateway-0.15-release
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(-)
----------------------------------------------------------------------



[08/42] 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>

[24/42] airavata-php-gateway git commit: fixing experiment data root misconfiguration issues

Posted by sc...@apache.org.
fixing experiment data root misconfiguration issues


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/ae461127
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/ae461127
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/ae461127

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: ae4611273a00b219b7200b90dffbf9b78bcb88aa
Parents: d5290f5
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 25 02:05:50 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 25 02:05:50 2015 +0530

----------------------------------------------------------------------
 app/libraries/ExperimentUtilities.php | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ae461127/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index eb4a987..34d8ac9 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -81,7 +81,7 @@ class ExperimentUtilities
             if ($matchingAppInput->type == DataType::URI) {
                 $explode = explode('/', $input->value);
                 echo '<p><a target="_blank"
-                        href="' . URL::to("/") . "/../../" . Config::get('pga_config.airavata')['experiment-data-root'] . $explode[sizeof($explode) - 2] . '/' . $explode[sizeof($explode) - 1] . '">' .
+                        href="' . URL::to("/") . Config::get('pga_config.airavata')['experiment-data-dir'] . $explode[sizeof($explode) - 2] . '/' . $explode[sizeof($explode) - 1] . '">' .
                     $explode[sizeof($explode) - 1] . '
                 <span class="glyphicon glyphicon-new-window"></span></a></p>';
             } elseif ($matchingAppInput->type == DataType::STRING) {
@@ -161,10 +161,9 @@ class ExperimentUtilities
         $advHandling = new AdvancedOutputDataHandling();
         $sshUser = "root";
         $hostName = $_SERVER['SERVER_NAME'];
-        $expPathConstant = 'file://' . $sshUser . '@' . $hostName . ':' . Config::get('pga_config.airavata')['experiment-data-root'];
+        $expPathConstant = 'file://' . $sshUser . '@' . $hostName . ':' . Config::get('pga_config.airavata')['experiment-data-absolute-path'];
 
-        $advHandling->outputDataDir = str_replace(base_path() . Config::get('pga_config.airavata')['experiment-data-root'],
-            $expPathConstant, ExperimentUtilities::$experimentPath);
+        $advHandling->outputDataDir = Config::get('pga_config.airavata')['experiment-data-absolute-path'];
         $userConfigData->advanceOutputDataHandling = $advHandling;
 
         //TODO: replace constructor with a call to airvata to get a prepopulated experiment template
@@ -288,8 +287,7 @@ class ExperimentUtilities
                         $experimentAssemblySuccessful = false;
                     }
 
-                    $experimentInput->value = str_replace(base_path() . Config::get('pga_config.airavata')['experiment-data-root'],
-                        ExperimentUtilities::get_path_constants(), $filePath);
+                    $experimentInput->value = Config::get('pga_config.airavata')['experiment-data-absolute-path'];
                     $experimentInput->type = $applicationInput->type;
 
                 } else {
@@ -325,7 +323,8 @@ class ExperimentUtilities
     public static function create_experiment_folder_path()
     {
         do {
-            ExperimentUtilities::$experimentPath = base_path() . Config::get('pga_config.airavata')['experiment-data-root'] . str_replace(' ', '', Session::get('username')) . md5(rand() * time()) . '/';
+            ExperimentUtilities::$experimentPath = Config::get('pga_config.airavata')['experiment-data-absolute-path'] .
+                "/" . str_replace(' ', '', Session::get('username')) . md5(rand() * time()) . '/';
         } while (is_dir(ExperimentUtilities::$experimentPath)); // if dir already exists, try again
         // create upload directory
         if (!mkdir(ExperimentUtilities::$experimentPath)) {


[19/42] airavata-php-gateway git commit: adding missing return statement

Posted by sc...@apache.org.
adding missing return statement


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/2515079a
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/2515079a
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/2515079a

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 2515079a51aec8c7da606335049bf4ab0b34bd66
Parents: 2e8b242
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 18 21:27:18 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 18 21:27:18 2015 +0530

----------------------------------------------------------------------
 app/libraries/AppUtilities.php | 2 +-
 app/libraries/CRUtilities.php  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2515079a/app/libraries/AppUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/AppUtilities.php b/app/libraries/AppUtilities.php
index 43a8d90..da03717 100644
--- a/app/libraries/AppUtilities.php
+++ b/app/libraries/AppUtilities.php
@@ -257,7 +257,7 @@ class AppUtilities
                     return $applicationInterface;
                 }
             } else {
-                $applicationInterface = Airavata::getApplicationInterface($id);
+                return $applicationInterface = Airavata::getApplicationInterface($id);
             }
 
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2515079a/app/libraries/CRUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/CRUtilities.php b/app/libraries/CRUtilities.php
index 97723cb..850c2c8 100755
--- a/app/libraries/CRUtilities.php
+++ b/app/libraries/CRUtilities.php
@@ -429,7 +429,7 @@ class CRUtilities
                     return $computeResource;
                 }
             } else {
-                $computeResource = Airavata::getComputeResource($id);
+                return $computeResource = Airavata::getComputeResource($id);
             }
 
         } catch (InvalidRequestException $ire) {


[41/42] airavata-php-gateway git commit: Merge branch 'master' into airavata-php-gateway-0.15-release

Posted by sc...@apache.org.
Merge branch 'master' into airavata-php-gateway-0.15-release

Conflicts:
	app/libraries/AppUtilities.php
	app/views/admin/manage-experiments.blade.php
	app/views/experiment/search.blade.php
	app/views/project/summary.blade.php


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/ac23deee
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/ac23deee
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/ac23deee

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: ac23deee47fa6c87105ecf7b25778c9c4b4652a7
Parents: 7b775c3 3f1fdd4
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jul 2 00:26:23 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jul 2 00:26:23 2015 +0530

----------------------------------------------------------------------
 app/controllers/AdminController.php             |  25 +-
 app/libraries/AdminUtilities.php                |  52 +-
 app/libraries/AppUtilities.php                  |   5 +
 app/libraries/ExperimentUtilities.php           |  17 +-
 app/routes.php                                  |   4 +
 app/views/admin/experiment-statistics.blade.php | 198 +++++++
 app/views/admin/manage-experiments.blade.php    | 580 ++++++++-----------
 app/views/experiment/search.blade.php           | 175 ++----
 .../partials/experiment-container.blade.php     |  92 +++
 app/views/project/summary.blade.php             |  64 +-
 10 files changed, 709 insertions(+), 503 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ac23deee/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------


[12/42] 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/airavata-php-gateway-0.15-release
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>';


[35/42] airavata-php-gateway git commit: Fixing AIRAVATA-1743

Posted by sc...@apache.org.
Fixing AIRAVATA-1743


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/c7ff1aa8
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/c7ff1aa8
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/c7ff1aa8

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: c7ff1aa8dbff787befff194d550a86462af10ba2
Parents: 914011b
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jul 1 14:39:09 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jul 1 14:39:09 2015 +0530

----------------------------------------------------------------------
 public/js/gateway.js | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/c7ff1aa8/public/js/gateway.js
----------------------------------------------------------------------
diff --git a/public/js/gateway.js b/public/js/gateway.js
index 5310435..919efeb 100644
--- a/public/js/gateway.js
+++ b/public/js/gateway.js
@@ -1,6 +1,6 @@
-$( document).ready( function(){
-	
-		//show options on hovering on a gateway
+$(document).ready(function () {
+
+    //show options on hovering on a gateway
 		$(".panel-title").hover( 
 			function(){
 				$(this).find(".gateway-options").addClass("in");
@@ -43,8 +43,8 @@ $( document).ready( function(){
 			crId = $(this).val();
 			//This is done as Jquery creates problems when using period(.) in id or class.
 			crId = crId.replace(/\./g,"_");
-			$(this).parent().parent().find(".pref-space").html( $("#cr-" + crId).html());
-		});
+            $(".pref-space").html($("#cr-" + crId).html());
+        });
 
 		$(".edit-gateway").click( function(){
 			$(".edit-gp-name").val( $(this).data("gp-name") );


[37/42] airavata-php-gateway git commit: Fixing AIRAVATA-1377

Posted by sc...@apache.org.
Fixing AIRAVATA-1377


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/d63a94da
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/d63a94da
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/d63a94da

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: d63a94da88e312c3bb384d00ab52b61deeb20abe
Parents: a9437c2
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jul 1 15:10:34 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jul 1 15:11:14 2015 +0530

----------------------------------------------------------------------
 app/views/partials/experiment-queue-block.blade.php | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d63a94da/app/views/partials/experiment-queue-block.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-queue-block.blade.php b/app/views/partials/experiment-queue-block.blade.php
index d8d8476..38b7e30 100644
--- a/app/views/partials/experiment-queue-block.blade.php
+++ b/app/views/partials/experiment-queue-block.blade.php
@@ -26,6 +26,7 @@
                     class="node-count alert-warning"></span>)</span></label>
         <input type="number" class="form-control" name="node-count" id="node-count" min="1"
                value="@if(isset($expVal) ){{ $expVal['scheduling']->nodeCount }}@else{{$queueDefaults['nodeCount']}}@endif"
+               required
         @if(isset($expVal) ) @if(!$expVal['editable']){{disabled}} @endif @endif>
     </div>
     <div class="form-group">
@@ -33,6 +34,7 @@
                     class="cpu-count alert-warning"></span>)</span></label>
         <input type="number" class="form-control" name="cpu-count" id="cpu-count" min="1"
                value="@if(isset($expVal) ){{ $expVal['scheduling']->totalCPUCount }}@else{{$queueDefaults['cpuCount']}}@endif"
+               required
         @if(isset($expVal)) @if(!$expVal['editable']){{disabled}} @endif @endif>
     </div>
     <div class="form-group">
@@ -40,8 +42,9 @@
                     class="walltime-count alert-warning"></span>)</span></label>
 
         <div class="input-group">
-            <input type="number" class="form-control" name="wall-time" id="wall-time" min="0"
+            <input type="number" class="form-control" name="wall-time" id="wall-time" min="1"
                    value="@if(isset($expVal) ){{ $expVal['scheduling']->wallTimeLimit }}@else{{$queueDefaults['wallTimeLimit']}}@endif"
+                   required
             @if(isset($expVal)) @if(!$expVal['editable']){{disabled}} @endif @endif>
             <span class="input-group-addon">minutes</span>
         </div>


[23/42] airavata-php-gateway git commit: changing the pga_config.php

Posted by sc...@apache.org.
changing the pga_config.php


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/d5290f57
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/d5290f57
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/d5290f57

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: d5290f5700a2165ba089c5d6b77cbd3435a5e1d3
Parents: 5178f19
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 25 01:40:29 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 25 01:43:09 2015 +0530

----------------------------------------------------------------------
 app/config/pga_config.php.template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/d5290f57/app/config/pga_config.php.template
----------------------------------------------------------------------
diff --git a/app/config/pga_config.php.template b/app/config/pga_config.php.template
index 81ae9ac..ad94dcb 100644
--- a/app/config/pga_config.php.template
+++ b/app/config/pga_config.php.template
@@ -92,9 +92,9 @@ return array(
         'server-allowed-file-size' => 64,
 
         /**
-         * directory in the web server where experiment data is staged. (relative to the web server documents root)
+         * directory in the web server where experiment data is staged. (relative to the PGA documents root)
          */
-        'experiment-data-dir' => '/experimentData',
+        'experiment-data-dir' => '/../experimentData',
 
         /**
          * absolute path of the data dir


[05/42] 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/de69764c
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/de69764c
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/de69764c

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: de69764c727384da148ba2ae673ca5277912b390
Parents: 844ce86
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jun 10 01:21:14 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jun 10 01:21:14 2015 +0530

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


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/de69764c/app/views/project/summary.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/summary.blade.php b/app/views/project/summary.blade.php
index d054384..aeb6579 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 class="panel panel-default">';
+    echo '<div>';
 
     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/de69764c/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(){


[40/42] airavata-php-gateway git commit: Fixing AIRAVATA-1723

Posted by sc...@apache.org.
Fixing AIRAVATA-1723


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/3f1fdd45
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/3f1fdd45
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/3f1fdd45

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 3f1fdd45fa737f6953cc18d13c5532dde80b00a5
Parents: 2da7eb5
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jul 1 16:11:38 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jul 1 16:11:57 2015 +0530

----------------------------------------------------------------------
 app/views/experiment/edit.blade.php | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/3f1fdd45/app/views/experiment/edit.blade.php
----------------------------------------------------------------------
diff --git a/app/views/experiment/edit.blade.php b/app/views/experiment/edit.blade.php
index b4ee28c..4e74907 100755
--- a/app/views/experiment/edit.blade.php
+++ b/app/views/experiment/edit.blade.php
@@ -72,5 +72,19 @@
         var emailInput = $(this).parent().find("#emailAddresses").clone();
         emailInput.removeAttr("id").removeAttr("required").val("").appendTo(".emailAddresses");
     });
+
+    $("#compute-resource").change(function () {
+        var crId = $(this).val();
+        $(".loading-img ").removeClass("hide");
+        $.ajax({
+            url: '../experiment/getQueueView',
+            type: 'get',
+            data: {crId: crId},
+            success: function (data) {
+                $(".queue-view").html(data);
+                $(".loading-img ").addClass("hide");
+            }
+        });
+    });
 </script>
 @stop
\ No newline at end of file


[26/42] airavata-php-gateway git commit: invalidating cached app interface and CR values when updating/deleting

Posted by sc...@apache.org.
invalidating cached app interface and CR values when updating/deleting


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/ab337832
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/ab337832
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/ab337832

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: ab33783262dafa7627ef855046f8c1069e0d10d6
Parents: b031349
Author: Supun Nakandala <sc...@apache.org>
Authored: Tue Jun 30 14:51:53 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Tue Jun 30 14:51:53 2015 +0530

----------------------------------------------------------------------
 app/libraries/AppUtilities.php | 16 +++++++++++++---
 app/libraries/CRUtilities.php  | 11 +++++++++++
 2 files changed, 24 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ab337832/app/libraries/AppUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/AppUtilities.php b/app/libraries/AppUtilities.php
index da03717..a375dae 100644
--- a/app/libraries/AppUtilities.php
+++ b/app/libraries/AppUtilities.php
@@ -100,16 +100,26 @@ class AppUtilities
 
         //var_dump( $appInterface); exit;
 
-        if ($update)
+        if ($update) {
+            if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+                if (Cache::has('APP-' . $appInterfaceValues["app-interface-id"])) {
+                    Cache::forget('APP-' . $appInterfaceValues["app-interface-id"]);
+                }
+            }
             Airavata::updateApplicationInterface($appInterfaceValues["app-interface-id"], $appInterface);
-        else
+        } else {
             Airavata::getApplicationInterface(Airavata::registerApplicationInterface(Session::get("gateway_id"), $appInterface));
-
+        }
         //print_r( "App interface has been created.");
     }
 
     public static function deleteAppInterface($appInterfaceId)
     {
+        if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+            if (Cache::has('APP-' . $appInterfaceId)) {
+                Cache::forget('APP-' . $appInterfaceId);
+            }
+        }
         return Airavata::deleteApplicationInterface($appInterfaceId);
     }
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ab337832/app/libraries/CRUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/CRUtilities.php b/app/libraries/CRUtilities.php
index 850c2c8..6e37cc6 100755
--- a/app/libraries/CRUtilities.php
+++ b/app/libraries/CRUtilities.php
@@ -41,6 +41,11 @@ class CRUtilities
     {
         if ($update) {
             $computeResourceId = $computeDescription->computeResourceId;
+            if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+                if (Cache::has('CR-' . $computeResourceId)) {
+                    Cache::forget('CR-' . $computeResourceId);
+                }
+            }
 
             if (Airavata::updateComputeResource($computeResourceId, $computeDescription)) {
                 $computeResource = Airavata::getComputeResource($computeResourceId);
@@ -407,6 +412,12 @@ class CRUtilities
 
     public static function deleteCR($inputs)
     {
+        if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+            $id = $inputs["rem-crId"];
+            if (Cache::has('CR-' . $id)) {
+                Cache::forget('CR-' . $id);
+            }
+        }
         return Airavata::deleteGatewayComputeResourcePreference($inputs["gpId"], $inputs["rem-crId"]);
     }
 


[09/42] 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";
+    }
+}
 
 


[29/42] airavata-php-gateway git commit: updating experiment-partials view to check nullity of appInt. and CR.

Posted by sc...@apache.org.
updating experiment-partials view to check nullity of appInt. and CR.


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/6e33674a
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/6e33674a
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/6e33674a

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 6e33674aa62d33848587ceb57caa918cb24efb96
Parents: 378c475
Author: Supun Nakandala <sc...@apache.org>
Authored: Tue Jun 30 21:59:38 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Tue Jun 30 22:03:12 2015 +0530

----------------------------------------------------------------------
 app/views/partials/experiment-info.blade.php | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/6e33674a/app/views/partials/experiment-info.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-info.blade.php b/app/views/partials/experiment-info.blade.php
index 623eb53..782f580 100644
--- a/app/views/partials/experiment-info.blade.php
+++ b/app/views/partials/experiment-info.blade.php
@@ -33,11 +33,15 @@
         </tr>
         <tr>
             <td><strong>Application</strong></td>
-            <td><?php echo $expVal["applicationInterface"]->applicationName; ?></td>
+            <td><?php if (!empty($expVal["applicationInterface"])) {
+                    echo $expVal["applicationInterface"]->applicationName;
+                } ?></td>
         </tr>
         <tr>
             <td><strong>Compute resource</strong></td>
-            <td><?php echo $expVal["computeResource"]->hostName; ?></td>
+            <td><?php if (!empty($expVal["computeResource"])) {
+                    $expVal["computeResource"]->hostName;
+                } ?></td>
         </tr>
         <tr>
             <td><strong>Experiment Status</strong></td>


[16/42] airavata-php-gateway git commit: some implementation of experiment statistics

Posted by sc...@apache.org.
some implementation of experiment statistics


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/7bf86634
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/7bf86634
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/7bf86634

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 7bf8663403d61d18c91282d3087c6c24b3764cbb
Parents: 887eed2
Author: Supun Nakandala <sc...@apache.org>
Authored: Fri Jun 12 01:46:55 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Fri Jun 12 01:46:55 2015 +0530

----------------------------------------------------------------------
 app/controllers/AdminController.php             |  11 +
 app/libraries/AdminUtilities.php                |  15 +
 app/routes.php                                  |   2 +
 app/views/admin/experiment-statistics.blade.php |  98 ++++
 app/views/admin/manage-experiments.blade.php    | 554 ++++++++-----------
 5 files changed, 367 insertions(+), 313 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7bf86634/app/controllers/AdminController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AdminController.php b/app/controllers/AdminController.php
index 2c468fe..d4f4dfc 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -123,4 +123,15 @@ class AdminController extends BaseController {
 		
 		return $gateway;
 	}
+
+
+    public function experimentStatistics()
+    {
+        if (Request::ajax()) {
+            $inputs = Input::all();
+            $expStatistics = AdminUtilities::getExperimentExecutionStatistics(strtotime($inputs['fromTime']) * 1000
+                , strtotime($inputs['toTime']) * 1000);
+            return View::make("admin/experiment-statistics", array("expStatistics" => $expStatistics));
+        }
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7bf86634/app/libraries/AdminUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/AdminUtilities.php b/app/libraries/AdminUtilities.php
index 38e4693..c859db8 100644
--- a/app/libraries/AdminUtilities.php
+++ b/app/libraries/AdminUtilities.php
@@ -5,6 +5,11 @@ use Airavata\Model\Workspace\Gateway;
 class AdminUtilities
 {
 
+    /**
+     * To create a new gateway
+     * @param $input
+     * @return string
+     */
     public static function addGateway($input)
     {
         $gateway = new Gateway();
@@ -15,4 +20,14 @@ class AdminUtilities
         return Airavata::addGateway($gateway);
     }
 
+    /**
+     * Method to get experiment execution statistics object
+     * @param $fromTime
+     * @param $toTime
+     * @return \Airavata\Model\Workspace\Experiment\ExperimentStatistics
+     */
+    public static function getExperimentExecutionStatistics($fromTime, $toTime)
+    {
+        return Airavata::getExperimentStatistics(Config::get('pga_config.airavata')['gateway-id'], $fromTime, $toTime);
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7bf86634/app/routes.php
----------------------------------------------------------------------
diff --git a/app/routes.php b/app/routes.php
index d6cb53e..da8e601 100755
--- a/app/routes.php
+++ b/app/routes.php
@@ -168,6 +168,8 @@ Route::get("admin/dashboard/roles", "AdminController@rolesView");
 
 Route::get("admin/dashboard/experiments", "AdminController@experimentsView");
 
+Route::get("admin/dashboard/experimentStatistics", "AdminController@experimentStatistics");
+
 Route::get("admin/dashboard/resources", "AdminController@resourcesView");
 
 Route::get("admin/dashboard/experiment/summary", function () {

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7bf86634/app/views/admin/experiment-statistics.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/experiment-statistics.blade.php b/app/views/admin/experiment-statistics.blade.php
new file mode 100644
index 0000000..88938c4
--- /dev/null
+++ b/app/views/admin/experiment-statistics.blade.php
@@ -0,0 +1,98 @@
+<!-- high level statistics -->
+<div class="high-level-values row tex-center">
+    <div class="col-lg-3 col-md-6">
+        <div class="panel panel-primary">
+            <div class="panel-heading">
+                <div class="row">
+                    <div class="col-xs-3">
+                        <i class="fa fa-comments fa-5x"></i>
+                    </div>
+                    <div class="col-xs-9 text-right">
+                        <div class="huge">{{$expStatistics->allExperimentCount}}</div>
+                        <div>Total Experiments</div>
+                    </div>
+                </div>
+            </div>
+            <a href="#">
+                <div class="panel-footer">
+                    <span class="pull-left">View Details</span>
+                    <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></span>
+
+                    <div class="clearfix"></div>
+                </div>
+            </a>
+        </div>
+    </div>
+
+    <div class="col-lg-3 col-md-6">
+        <div class="panel panel-green">
+            <div class="panel-heading">
+                <div class="row">
+                    <div class="col-xs-3">
+                        <i class="fa fa-comments fa-5x"></i>
+                    </div>
+                    <div class="col-xs-9 text-right">
+                        <div class="huge">{{$expStatistics->completedExperimentCount}}</div>
+                        <div>Successful Experiments</div>
+                    </div>
+                </div>
+            </div>
+            <a href="#">
+                <div class="panel-footer">
+                    <span class="pull-left">View Details</span>
+                    <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></i></span>
+
+                    <div class="clearfix"></div>
+                </div>
+            </a>
+        </div>
+    </div>
+
+    <div class="col-lg-3 col-md-6">
+        <div class="panel panel-yellow">
+            <div class="panel-heading">
+                <div class="row">
+                    <div class="col-xs-3">
+                        <i class="fa fa-comments fa-5x"></i>
+                    </div>
+                    <div class="col-xs-9 text-right">
+                        <div class="huge">{{$expStatistics->cancelledExperimentCount}}</div>
+                        <div>Canceled Experiments</div>
+                    </div>
+                </div>
+            </div>
+            <a href="#">
+                <div class="panel-footer">
+                    <span class="pull-left">View Details</span>
+                    <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></i></span>
+
+                    <div class="clearfix"></div>
+                </div>
+            </a>
+        </div>
+    </div>
+
+    <div class="col-lg-3 col-md-6">
+        <div class="panel panel-red">
+            <div class="panel-heading">
+                <div class="row">
+                    <div class="col-xs-3">
+                        <i class="fa fa-comments fa-5x"></i>
+                    </div>
+                    <div class="col-xs-9 text-right">
+                        <div class="huge">{{$expStatistics->failedExperimentCount}}</div>
+                        <div>Failed Experiments</div>
+                    </div>
+                </div>
+            </div>
+            <a href="#">
+                <div class="panel-footer">
+                    <span class="pull-left">View Details</span>
+                    <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></span>
+
+                    <div class="clearfix"></div>
+                </div>
+            </a>
+        </div>
+    </div>
+</div>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/7bf86634/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 895bd0d..d1dfadf 100644
--- a/app/views/admin/manage-experiments.blade.php
+++ b/app/views/admin/manage-experiments.blade.php
@@ -38,335 +38,247 @@
     </div>
 </div>
 
-<div class="dates row">
-    <h1 class="text-center well alert alert-danger">UI beyond this message is under construction view with dummy
-        values.</h1>
+<hr/>
+<br/>
 
-    <div class="col-md-12">
-        Select dates between which you want to review experiments.
-    </div>
-    <div class="col-sm-8" style="height:75px;">
-        <div class='col-md-6'>
-            <div class="form-group">
-                <div class='input-group date' id='datetimepicker9'>
-                    <input type='text' class="form-control" placeholder="From Date" name="from-date"
-                           value="<?php if (isset($_POST['from-date'])) echo $_POST['from-date'] ?>"/>
-                                    <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
-                                    </span>
-                </div>
-            </div>
+<div class="dates row">
+    <div class="well col-md-12">
+        <div class="col-md-12">
+            <h4>Select dates between which you want to review experiment statistics.</h4>
         </div>
-        <div class='col-md-6'>
-            <div class="form-group">
-                <div class='input-group date' id='datetimepicker10'>
-                    <input type='text' class="form-control" placeholder="To Date" name="to-date"
-                           value="<?php if (isset($_POST['to-date'])) echo $_POST['to-date'] ?>"/>
+        <div class="col-md-10">
+            <div class='col-md-5'>
+                <div class="form-group">
+                    <div class='input-group date' id='datetimepicker9'>
+                        <input type='text' class="form-control" placeholder="From Date" name="from-date"/>
                                     <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
                                     </span>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-<!-- high level statistics -->
-<div class="high-level-values row tex-center">
-    <div class="col-lg-3 col-md-6">
-        <div class="panel panel-primary">
-            <div class="panel-heading">
-                <div class="row">
-                    <div class="col-xs-3">
-                        <i class="fa fa-comments fa-5x"></i>
-                    </div>
-                    <div class="col-xs-9 text-right">
-                        <div class="huge">26</div>
-                        <div>Total Experiments</div>
-                    </div>
-                </div>
-            </div>
-            <a href="#">
-                <div class="panel-footer">
-                    <span class="pull-left">View Details</span>
-                    <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></span>
-
-                    <div class="clearfix"></div>
-                </div>
-            </a>
-        </div>
-    </div>
-
-    <div class="col-lg-3 col-md-6">
-        <div class="panel panel-green">
-            <div class="panel-heading">
-                <div class="row">
-                    <div class="col-xs-3">
-                        <i class="fa fa-comments fa-5x"></i>
-                    </div>
-                    <div class="col-xs-9 text-right">
-                        <div class="huge">16</div>
-                        <div>Successful Experiments</div>
-                    </div>
-                </div>
-            </div>
-            <a href="#">
-                <div class="panel-footer">
-                    <span class="pull-left">View Details</span>
-                    <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></i></span>
-
-                    <div class="clearfix"></div>
-                </div>
-            </a>
-        </div>
-    </div>
-
-    <div class="col-lg-3 col-md-6">
-        <div class="panel panel-yellow">
-            <div class="panel-heading">
-                <div class="row">
-                    <div class="col-xs-3">
-                        <i class="fa fa-comments fa-5x"></i>
-                    </div>
-                    <div class="col-xs-9 text-right">
-                        <div class="huge">10</div>
-                        <div>Canceled Experiments</div>
                     </div>
                 </div>
             </div>
-            <a href="#">
-                <div class="panel-footer">
-                    <span class="pull-left">View Details</span>
-                    <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></i></span>
-
-                    <div class="clearfix"></div>
-                </div>
-            </a>
-        </div>
-    </div>
-
-    <div class="col-lg-3 col-md-6">
-        <div class="panel panel-red">
-            <div class="panel-heading">
-                <div class="row">
-                    <div class="col-xs-3">
-                        <i class="fa fa-comments fa-5x"></i>
-                    </div>
-                    <div class="col-xs-9 text-right">
-                        <div class="huge">6</div>
-                        <div>Failed Experiments</div>
+            <div class='col-md-5'>
+                <div class="form-group">
+                    <div class='input-group date' id='datetimepicker10'>
+                        <input type='text' class="form-control" placeholder="To Date" name="to-date"/>
+                                    <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
+                                    </span>
                     </div>
                 </div>
             </div>
-            <a href="#">
-                <div class="panel-footer">
-                    <span class="pull-left">View Details</span>
-                    <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></span>
-
-                    <div class="clearfix"></div>
-                </div>
-            </a>
-        </div>
-    </div>
-</div>
-
-<div class="row">
-    <div class="col-lg-12">
-        <div class="panel panel-primary">
-            <div class="panel-heading">
-                <h3 class="panel-title"><i class="fa fa-bar-chart-o"></i>Experiment v/s Time Graph</h3>
-            </div>
-            <div class="panel-body">
-                <div class="flot-chart">
-                    <div class="flot-chart-content" id="flot-line-chart" style="padding: 0px; position: relative;">
-                        <canvas class="base" width="1596" height="400"></canvas>
-                        <canvas class="overlay" width="1596" height="400"
-                                style="position: absolute; left: 0px; top: 0px;"></canvas>
-                        <div class="tickLabels" style="font-size:smaller">
-                            <div class="xAxis x1Axis" style="color:#545454">
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:-33px;top:383px;width:122px">0
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:97px;top:383px;width:122px">1
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:228px;top:383px;width:122px">2
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:358px;top:383px;width:122px">3
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:488px;top:383px;width:122px">4
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:619px;top:383px;width:122px">5
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:749px;top:383px;width:122px">6
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:879px;top:383px;width:122px">7
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:1010px;top:383px;width:122px">8
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:1140px;top:383px;width:122px">9
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:1270px;top:383px;width:122px">10
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:center;left:1401px;top:383px;width:122px">11
-                                </div>
-                            </div>
-                            <div class="yAxis y1Axis" style="color:#545454">
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:right;top:337px;right:1575px;width:21px">-1.0
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:right;top:259px;right:1575px;width:21px">-0.5
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:right;top:182px;right:1575px;width:21px">0.0
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:right;top:104px;right:1575px;width:21px">0.5
-                                </div>
-                                <div class="tickLabel"
-                                     style="position:absolute;text-align:right;top:26px;right:1575px;width:21px">1.0
-                                </div>
-                            </div>
-                        </div>
-                        <div class="legend">
-                            <div
-                                style="position: absolute; width: 45px; height: 34px; top: 9px; right: 9px; opacity: 0.85; background-color: rgb(255, 255, 255);"></div>
-                            <table style="position:absolute;top:9px;right:9px;;font-size:smaller;color:#545454">
-                                <tbody>
-                                <tr>
-                                    <td class="legendColorBox">
-                                        <div style="border:1px solid #ccc;padding:1px">
-                                            <div
-                                                style="width:4px;height:0;border:5px solid rgb(237,194,64);overflow:hidden"></div>
-                                        </div>
-                                    </td>
-                                    <td class="legendLabel">Canceled Experiments</td>
-                                </tr>
-                                <tr>
-                                    <td class="legendColorBox">
-                                        <div style="border:1px solid #ccc;padding:1px">
-                                            <div
-                                                style="width:4px;height:0;border:5px solid rgb(175,216,248);overflow:hidden"></div>
-                                        </div>
-                                    </td>
-                                    <td class="legendLabel">Successful Experiments</td>
-                                </tr>
-                                </tbody>
-                            </table>
-                        </div>
-                    </div>
-
-
-                </div>
+            <div class="col-md-2">
+                <button name="getStatistics" id="getStatistics" type="submit" class="btn btn-primary pull-right"
+                        value="GetStatistics"><span
+                        class="glyphicon glyphicon-search"></span> Get Statistics
+                </button>
             </div>
         </div>
     </div>
+    <div class="experiment-statistics"></div>
 </div>
 
-<div class="row">
-    <h1 class="text-center well alert alert-danger">Proposed UI to view flow of one experiment.</h1>
-
-    <div class="tree">
-        <ul>
-            <li>
-                <span><i class="icon-calendar"></i>Experiment 1</span>
-                <ul>
-                    <li>
-                        <span class="badge badge-success"><i class="icon-minus-sign"></i>Pre Processing</span>
-                        <ul>
-                            <li>
-                                <a href=""><span class="alert alert-success"><i class="icon-time"></i>2015-04-17 15:21:21</span> &ndash;
-                                    PGA to Airavata Authentication Successful</a>
-                            </li>
-                            <li>
-                                <a href=""><span class="alert alert-success"><i class="icon-time"></i>2015-04-17 15:21:21</span> &ndash;
-                                    Airavata to Resource Authentication Successful</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <span class="badge badge-success"><i class="icon-minus-sign"></i>Input Staging</span>
-                        <ul>
-                            <li>
-                                <span class="alert alert-success"><i
-                                        class="icon-time"></i>2015-04-17 15:21:21</span> &ndash; <a href="">PGA to
-                                    Airavata File Transfer Successful</a>
-                            </li>
-                            <li>
-                                <span class="alert alert-success" abhi><i
-                                        class="icon-time"></i>2015-04-17 15:21:21</span> &ndash; <a href="">Airavata to
-                                    Resource File Transfer Successful</a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <span class="badge badge-warning"><i class="icon-minus-sign"></i>Job Description</span>
-                        <ul>
-                            <li>
-                                <a href=""><span>
-                                                   Long Script of Job Description / PBS Script <br/>
-                                                   <br/>
-                                                    <p>
-                                                        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
-                                                        commodo ligula eget dolor. Aenean massa. Cum sociis natoque
-                                                        penatibus et magnis dis parturient montes, nascetur ridiculus
-                                                        mus. Donec quam felis, ultricies nec, pellentesque eu, pretium
-                                                        quis, sem. Nulla consequat massa quis enim. Donec pede justo,
-                                                        fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo,
-                                                        rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum
-                                                        felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.
-                                                        Vivamus elementum semper nisi. Aenean vulputate eleifend tellus.
-                                                        Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,
-                                                        enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a,
-                                                        tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque
-                                                        rutrum. Aenean
-                                                    </p>
-                                                 </span></a>
-                            </li>
-                        </ul>
-                    </li>
-                    <li>
-                        <span class="badge badge-important"><i class="icon-minus-sign"></i>Execution</span>
-                        <ul>
-                            <li>
-                                <a href=""><span class="alert alert-success"><i class="icon-time"></i>2015-04-17 15:21:21</span> &ndash;
-                                    Execution of Job Description - No errors</a>
-                            </li>
-                        </ul>
-                    </li>
-
-                    <li>
-                        <span class="badge badge-important"><i class="icon-minus-sign"></i>Experiment Complete</span>
-                        <ul>
-                            <li>
-                                <a href=""><span class="alert alert-danger"><i class="icon-time"></i>2015-04-17 15:21:21</span> &ndash;
-                                    Output Transfer from Resource to Airavata UnSuccessful</a>
-                                <br/>
-                                <span> Some text about failure</span>
-                            </li>
-                            <li>
-                                <a href=""><span class="alert alert-danger"><i class="icon-time"></i>2015-04-17 15:21:21</span> &ndash;
-                                    Output Transfer from Airavata to PGA UnSuccessful</a>
-                                <br/>
-                                <span> Some text about failure</span>
-                            </li>
-                        </ul>
-                    </li>
-
 
-                </ul>
-            </li>
-        </ul>
-    </div>
-</div>
+<!--<div class="row">-->
+<!--    <div class="col-lg-12">-->
+<!--        <div class="panel panel-primary">-->
+<!--            <div class="panel-heading">-->
+<!--                <h3 class="panel-title"><i class="fa fa-bar-chart-o"></i>Experiment v/s Time Graph</h3>-->
+<!--            </div>-->
+<!--            <div class="panel-body">-->
+<!--                <div class="flot-chart">-->
+<!--                    <div class="flot-chart-content" id="flot-line-chart" style="padding: 0px; position: relative;">-->
+<!--                        <canvas class="base" width="1596" height="400"></canvas>-->
+<!--                        <canvas class="overlay" width="1596" height="400"-->
+<!--                                style="position: absolute; left: 0px; top: 0px;"></canvas>-->
+<!--                        <div class="tickLabels" style="font-size:smaller">-->
+<!--                            <div class="xAxis x1Axis" style="color:#545454">-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:-33px;top:383px;width:122px">0-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:97px;top:383px;width:122px">1-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:228px;top:383px;width:122px">2-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:358px;top:383px;width:122px">3-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:488px;top:383px;width:122px">4-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:619px;top:383px;width:122px">5-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:749px;top:383px;width:122px">6-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:879px;top:383px;width:122px">7-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:1010px;top:383px;width:122px">8-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:1140px;top:383px;width:122px">9-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:1270px;top:383px;width:122px">10-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:center;left:1401px;top:383px;width:122px">11-->
+<!--                                </div>-->
+<!--                            </div>-->
+<!--                            <div class="yAxis y1Axis" style="color:#545454">-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:right;top:337px;right:1575px;width:21px">-1.0-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:right;top:259px;right:1575px;width:21px">-0.5-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:right;top:182px;right:1575px;width:21px">0.0-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:right;top:104px;right:1575px;width:21px">0.5-->
+<!--                                </div>-->
+<!--                                <div class="tickLabel"-->
+<!--                                     style="position:absolute;text-align:right;top:26px;right:1575px;width:21px">1.0-->
+<!--                                </div>-->
+<!--                            </div>-->
+<!--                        </div>-->
+<!--                        <div class="legend">-->
+<!--                            <div-->
+<!--                                style="position: absolute; width: 45px; height: 34px; top: 9px; right: 9px; opacity: 0.85; background-color: rgb(255, 255, 255);"></div>-->
+<!--                            <table style="position:absolute;top:9px;right:9px;;font-size:smaller;color:#545454">-->
+<!--                                <tbody>-->
+<!--                                <tr>-->
+<!--                                    <td class="legendColorBox">-->
+<!--                                        <div style="border:1px solid #ccc;padding:1px">-->
+<!--                                            <div-->
+<!--                                                style="width:4px;height:0;border:5px solid rgb(237,194,64);overflow:hidden"></div>-->
+<!--                                        </div>-->
+<!--                                    </td>-->
+<!--                                    <td class="legendLabel">Canceled Experiments</td>-->
+<!--                                </tr>-->
+<!--                                <tr>-->
+<!--                                    <td class="legendColorBox">-->
+<!--                                        <div style="border:1px solid #ccc;padding:1px">-->
+<!--                                            <div-->
+<!--                                                style="width:4px;height:0;border:5px solid rgb(175,216,248);overflow:hidden"></div>-->
+<!--                                        </div>-->
+<!--                                    </td>-->
+<!--                                    <td class="legendLabel">Successful Experiments</td>-->
+<!--                                </tr>-->
+<!--                                </tbody>-->
+<!--                            </table>-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!---->
+<!---->
+<!--                </div>-->
+<!--            </div>-->
+<!--        </div>-->
+<!--    </div>-->
+<!--</div>-->
+<!---->
+<!--<div class="row">-->
+<!--    <h1 class="text-center well alert alert-danger">Proposed UI to view flow of one experiment.</h1>-->
+<!---->
+<!--    <div class="tree">-->
+<!--        <ul>-->
+<!--            <li>-->
+<!--                <span><i class="icon-calendar"></i>Experiment 1</span>-->
+<!--                <ul>-->
+<!--                    <li>-->
+<!--                        <span class="badge badge-success"><i class="icon-minus-sign"></i>Pre Processing</span>-->
+<!--                        <ul>-->
+<!--                            <li>-->
+<!--                                <a href=""><span class="alert alert-success"><i class="icon-time"></i>2015-04-17 15:21:21</span> &ndash;-->
+<!--                                    PGA to Airavata Authentication Successful</a>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <a href=""><span class="alert alert-success"><i class="icon-time"></i>2015-04-17 15:21:21</span> &ndash;-->
+<!--                                    Airavata to Resource Authentication Successful</a>-->
+<!--                            </li>-->
+<!--                        </ul>-->
+<!--                    </li>-->
+<!--                    <li>-->
+<!--                        <span class="badge badge-success"><i class="icon-minus-sign"></i>Input Staging</span>-->
+<!--                        <ul>-->
+<!--                            <li>-->
+<!--                                <span class="alert alert-success"><i-->
+<!--                                        class="icon-time"></i>2015-04-17 15:21:21</span> &ndash; <a href="">PGA to
+-->
+<!--                                    Airavata File Transfer Successful</a>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <span class="alert alert-success" abhi><i-->
+<!--                                        class="icon-time"></i>2015-04-17 15:21:21</span> &ndash; <a href="">Airavata to
+-->
+<!--                                    Resource File Transfer Successful</a>-->
+<!--                            </li>-->
+<!--                        </ul>-->
+<!--                    </li>-->
+<!--                    <li>-->
+<!--                        <span class="badge badge-warning"><i class="icon-minus-sign"></i>Job Description</span>-->
+<!--                        <ul>-->
+<!--                            <li>-->
+<!--                                <a href=""><span>-->
+<!--                                                   Long Script of Job Description / PBS Script <br/>-->
+<!--                                                   <br/>-->
+<!--                                                    <p>-->
+<!--                                                        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean-->
+<!--                                                        commodo ligula eget dolor. Aenean massa. Cum sociis natoque-->
+<!--                                                        penatibus et magnis dis parturient montes, nascetur ridiculus-->
+<!--                                                        mus. Donec quam felis, ultricies nec, pellentesque eu, pretium-->
+<!--                                                        quis, sem. Nulla consequat massa quis enim. Donec pede justo,-->
+<!--                                                        fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo,-->
+<!--                                                        rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum-->
+<!--                                                        felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.-->
+<!--                                                        Vivamus elementum semper nisi. Aenean vulputate eleifend tellus.-->
+<!--                                                        Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac,-->
+<!--                                                        enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a,-->
+<!--                                                        tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque-->
+<!--                                                        rutrum. Aenean-->
+<!--                                                    </p>-->
+<!--                                                 </span></a>-->
+<!--                            </li>-->
+<!--                        </ul>-->
+<!--                    </li>-->
+<!--                    <li>-->
+<!--                        <span class="badge badge-important"><i class="icon-minus-sign"></i>Execution</span>-->
+<!--                        <ul>-->
+<!--                            <li>-->
+<!--                                <a href=""><span class="alert alert-success"><i class="icon-time"></i>2015-04-17 15:21:21</span> &ndash;-->
+<!--                                    Execution of Job Description - No errors</a>-->
+<!--                            </li>-->
+<!--                        </ul>-->
+<!--                    </li>-->
+<!---->
+<!--                    <li>-->
+<!--                        <span class="badge badge-important"><i class="icon-minus-sign"></i>Experiment Complete</span>-->
+<!--                        <ul>-->
+<!--                            <li>-->
+<!--                                <a href=""><span class="alert alert-danger"><i class="icon-time"></i>2015-04-17 15:21:21</span> &ndash;-->
+<!--                                    Output Transfer from Resource to Airavata UnSuccessful</a>-->
+<!--                                <br/>-->
+<!--                                <span> Some text about failure</span>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <a href=""><span class="alert alert-danger"><i class="icon-time"></i>2015-04-17 15:21:21</span> &ndash;-->
+<!--                                    Output Transfer from Airavata to PGA UnSuccessful</a>-->
+<!--                                <br/>-->
+<!--                                <span> Some text about failure</span>-->
+<!--                            </li>-->
+<!--                        </ul>-->
+<!--                    </li>-->
+<!---->
+<!---->
+<!--                </ul>-->
+<!--            </li>-->
+<!--        </ul>-->
+<!--    </div>-->
+<!--</div>-->
 </div>
 <!-- /.container-fluid -->
 
@@ -459,5 +371,21 @@ to be uncommented when actually in use.
         $('#datetimepicker9').data("DateTimePicker").setMaxDate(e.date);
     });
 
+    $("#getStatistics").click(function () {
+        $fromTime = $("#datetimepicker9").find("input").val();
+        $toTime = $("#datetimepicker10").find("input").val();
+        if ($fromTime == '' || $toTime == '') {
+            alert("Please Select Valid Date Inputs!");
+        } else {
+            $.ajax({
+                url: 'experimentStatistics?fromTime=' + $fromTime + '&' + 'toTime=' + $toTime,
+                type: 'get',
+                success: function (data) {
+                    $(".experiment-statistics").html(data);
+
+                }
+            })
+        }
+    });
 </script>
 @stop
\ No newline at end of file


[14/42] 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/airavata-php-gateway-0.15-release
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(){


[30/42] airavata-php-gateway git commit: fixing AIRAVATA-1741

Posted by sc...@apache.org.
fixing AIRAVATA-1741


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/ebfea7fc
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/ebfea7fc
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/ebfea7fc

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: ebfea7fc423ed0417da5e2cdc83690cb378095b8
Parents: 6e33674
Author: Supun Nakandala <sc...@apache.org>
Authored: Tue Jun 30 21:51:53 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Tue Jun 30 22:03:29 2015 +0530

----------------------------------------------------------------------
 app/libraries/ExperimentUtilities.php | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ebfea7fc/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index 871113a..5a924b1 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -616,7 +616,12 @@ class ExperimentUtilities
             $userConfigData = $experiment->userConfigurationData;
             $scheduling = $userConfigData->computationalResourceScheduling;
             $expVal['scheduling'] = $scheduling;
-            $expVal["computeResource"] = CRUtilities::get_compute_resource($scheduling->resourceHostId);
+            try {
+                $expVal["computeResource"] = CRUtilities::get_compute_resource($scheduling->resourceHostId);
+            } catch (Exception $ex) {
+                //Error while retrieving CR
+                $expVal["computeResource"] = "";
+            }
         }
         $expVal["applicationInterface"] = AppUtilities::get_application_interface($experiment->applicationId);
 


[20/42] airavata-php-gateway git commit: Fixing syntax issue

Posted by sc...@apache.org.
Fixing syntax issue


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/dbaecc5f
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/dbaecc5f
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/dbaecc5f

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: dbaecc5f7772fb31122081dbdc6cdbc851eec12b
Parents: 2515079
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jun 24 22:57:35 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jun 24 22:58:37 2015 +0530

----------------------------------------------------------------------
 app/libraries/ExperimentUtilities.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/dbaecc5f/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index bde7bfe..265c497 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -300,7 +300,7 @@ class ExperimentUtilities
                         $experimentAssemblySuccessful = false;
                     }
 
-                    $experimentInput->value = str_replace(base_path() . Config::get('pga_config.airavata')['experiment-data-root'], CommonUtilities::$pathConstant, $filePath);
+                    $experimentInput->value = str_replace(base_path() . Config::get('pga_config.airavata')['experiment-data-root'], ExperimentUtilities::$pathConstant, $filePath);
                     $experimentInput->type = $applicationInput->type;
 
                 } else {


[27/42] airavata-php-gateway git commit: invalidating cached app interface and CR values when updating/deleting

Posted by sc...@apache.org.
invalidating cached app interface and CR values when updating/deleting


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/19e3f6a9
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/19e3f6a9
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/19e3f6a9

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 19e3f6a910716d86644979c5c39899200a22eb1d
Parents: ab33783
Author: Supun Nakandala <sc...@apache.org>
Authored: Tue Jun 30 15:49:03 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Tue Jun 30 15:49:03 2015 +0530

----------------------------------------------------------------------
 app/libraries/CRUtilities.php | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/19e3f6a9/app/libraries/CRUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/CRUtilities.php b/app/libraries/CRUtilities.php
index 6e37cc6..16df103 100755
--- a/app/libraries/CRUtilities.php
+++ b/app/libraries/CRUtilities.php
@@ -106,6 +106,11 @@ class CRUtilities
 
     public static function deleteQueue($computeResourceId, $queueName)
     {
+        if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+            if (Cache::has('CR-' . $computeResourceId)) {
+                Cache::forget('CR-' . $computeResourceId);
+            }
+        }
         Airavata::deleteBatchQueue($computeResourceId, $queueName);
     }
 
@@ -119,6 +124,11 @@ class CRUtilities
 
         $computeResource = CRUtilities::get_compute_resource($inputs["crId"]);
 
+        if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+            if (Cache::has('CR-' . $inputs["crId"])) {
+                Cache::forget('CR-' . $inputs["crId"]);
+            }
+        }
 
         $jsiId = null;
         if (isset($inputs["jsiId"]))
@@ -220,6 +230,13 @@ class CRUtilities
     {
 
         $computeResource = CRUtilities::get_compute_resource($inputs["crId"]);
+
+        if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+            if (Cache::has('CR-' . $inputs["crId"])) {
+                Cache::forget('CR-' . $inputs["crId"]);
+            }
+        }
+
         if ($inputs["dataMovementProtocol"] == DataMovementProtocol::LOCAL) /* LOCAL */ {
             $localDataMovement = new LOCALDataMovement();
             $localdmp = Airavata::addLocalDataMovementDetails($computeResource->computeResourceId, 0, $localDataMovement);
@@ -326,6 +343,20 @@ class CRUtilities
 
     public static function deleteActions($inputs)
     {
+        if (isset($inputs["crId"])) {
+            if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+                if (Cache::has('CR-' . $inputs["crId"])) {
+                    Cache::forget('CR-' . $inputs["crId"]);
+                }
+            }
+        } elseif (isset($inputs["del-crId"])) {
+            if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+                if (Cache::has('CR-' . $inputs["del-crId"])) {
+                    Cache::forget('CR-' . $inputs["del-crId"]);
+                }
+            }
+        }
+
         if (isset($inputs["jsiId"]))
             if (Airavata::deleteJobSubmissionInterface($inputs["crId"], $inputs["jsiId"]))
                 return 1;
@@ -400,6 +431,12 @@ class CRUtilities
     {
         $computeResourcePreferences = new computeResourcePreference($inputs);
 
+        if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+            if (Cache::has('CR-' . $inputs["computeResourceId"])) {
+                Cache::forget('CR-' . $inputs["computeResourceId"]);
+            }
+        }
+
         //var_dump( $inputs); exit;
         return Airavata::addGatewayComputeResourcePreference($inputs["gatewayId"], $inputs["computeResourceId"], $computeResourcePreferences);
 
@@ -418,6 +455,7 @@ class CRUtilities
                 Cache::forget('CR-' . $id);
             }
         }
+
         return Airavata::deleteGatewayComputeResourcePreference($inputs["gpId"], $inputs["rem-crId"]);
     }
 


[10/42] 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>

[22/42] airavata-php-gateway git commit: changing the pga_config.php

Posted by sc...@apache.org.
changing the pga_config.php


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/5178f19f
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/5178f19f
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/5178f19f

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 5178f19fcc090027ee1309e8c432a666e547dded
Parents: b835bfb
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 25 01:36:18 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 25 01:42:59 2015 +0530

----------------------------------------------------------------------
 app/config/pga_config.php.template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/5178f19f/app/config/pga_config.php.template
----------------------------------------------------------------------
diff --git a/app/config/pga_config.php.template b/app/config/pga_config.php.template
index 6af2116..81ae9ac 100644
--- a/app/config/pga_config.php.template
+++ b/app/config/pga_config.php.template
@@ -94,12 +94,12 @@ return array(
         /**
          * directory in the web server where experiment data is staged. (relative to the web server documents root)
          */
-        'experiment-data-path-dir' => '/experimentData',
+        'experiment-data-dir' => '/experimentData',
 
         /**
          * absolute path of the data dir
          */
-        'experiment-data-path-absolute' => '/var/www/experimentData',
+        'experiment-data-absolute-path' => '/var/www/experimentData',
 
         /**
          * Advanced experiments options


[03/42] airavata-php-gateway git commit: removing barryvdh dependency

Posted by sc...@apache.org.
removing barryvdh dependency


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/ec01a642
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/ec01a642
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/ec01a642

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: ec01a64277976edd2f0f276c310e0a1b6d01db7b
Parents: 9e517fe
Author: Supun Nakandala <sc...@apache.org>
Authored: Tue Jun 9 21:52:10 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Tue Jun 9 21:52:10 2015 +0530

----------------------------------------------------------------------
 app/config/app.php | 377 ++++++++++++++++++++++++------------------------
 composer.json      |   5 +-
 2 files changed, 189 insertions(+), 193 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec01a642/app/config/app.php
----------------------------------------------------------------------
diff --git a/app/config/app.php b/app/config/app.php
index b52c647..efbfed8 100755
--- a/app/config/app.php
+++ b/app/config/app.php
@@ -2,196 +2,195 @@
 
 return array(
 
-	/*
-	|--------------------------------------------------------------------------
-	| Application Debug Mode
-	|--------------------------------------------------------------------------
-	|
-	| When your application is in debug mode, detailed error messages with
-	| stack traces will be shown on every error that occurs within your
-	| application. If disabled, a simple generic error page is shown.
-	|
-	*/
-
-	'debug' => true,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application URL
-	|--------------------------------------------------------------------------
-	|
-	| This URL is used by the console to properly generate URLs when using
-	| the Artisan command line tool. You should set this to the root of
-	| your application so that it is used when running Artisan tasks.
-	|
-	*/
-
-	'url' => 'http://localhost',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application Timezone
-	|--------------------------------------------------------------------------
-	|
-	| Here you may specify the default timezone for your application, which
-	| will be used by the PHP date and date-time functions. We have gone
-	| ahead and set this to a sensible default for you out of the box.
-	|
-	*/
-
-	'timezone' => 'UTC',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application Locale Configuration
-	|--------------------------------------------------------------------------
-	|
-	| The application locale determines the default locale that will be used
-	| by the translation service provider. You are free to set this value
-	| to any of the locales which will be supported by the application.
-	|
-	*/
-
-	'locale' => 'en',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Application Fallback Locale
-	|--------------------------------------------------------------------------
-	|
-	| The fallback locale determines the locale to use when the current one
-	| is not available. You may change the value to correspond to any of
-	| the language folders that are provided through your application.
-	|
-	*/
-
-	'fallback_locale' => 'en',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Encryption Key
-	|--------------------------------------------------------------------------
-	|
-	| This key is used by the Illuminate encrypter service and should be set
-	| to a random, 32 character string, otherwise these encrypted strings
-	| will not be safe. Please do this before deploying an application!
-	|
-	*/
-
-	'key' => 'tez6xP65a0BGj1ZtX7PPfYhC9OIW9AjS',
-
-	'cipher' => MCRYPT_RIJNDAEL_128,
-
-	/*
-	|--------------------------------------------------------------------------
-	| Autoloaded Service Providers
-	|--------------------------------------------------------------------------
-	|
-	| The service providers listed here will be automatically loaded on the
-	| request to your application. Feel free to add your own services to
-	| this array to grant expanded functionality to your applications.
-	|
-	*/
-
-	'providers' => array(
-
-		'Illuminate\Foundation\Providers\ArtisanServiceProvider',
-		'Illuminate\Auth\AuthServiceProvider',
-		'Illuminate\Cache\CacheServiceProvider',
-		'Illuminate\Session\CommandsServiceProvider',
-		'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
-		'Illuminate\Routing\ControllerServiceProvider',
-		'Illuminate\Cookie\CookieServiceProvider',
-		'Illuminate\Database\DatabaseServiceProvider',
-		'Illuminate\Encryption\EncryptionServiceProvider',
-		'Illuminate\Filesystem\FilesystemServiceProvider',
-		'Illuminate\Hashing\HashServiceProvider',
-		'Illuminate\Html\HtmlServiceProvider',
-		'Illuminate\Log\LogServiceProvider',
-		'Illuminate\Mail\MailServiceProvider',
-		'Illuminate\Database\MigrationServiceProvider',
-		'Illuminate\Pagination\PaginationServiceProvider',
-		'Illuminate\Queue\QueueServiceProvider',
-		'Illuminate\Redis\RedisServiceProvider',
-		'Illuminate\Remote\RemoteServiceProvider',
-		'Illuminate\Auth\Reminders\ReminderServiceProvider',
-		'Illuminate\Database\SeedServiceProvider',
-		'Illuminate\Session\SessionServiceProvider',
-		'Illuminate\Translation\TranslationServiceProvider',
-		'Illuminate\Validation\ValidationServiceProvider',
-		'Illuminate\View\ViewServiceProvider',
-		'Illuminate\Workbench\WorkbenchServiceProvider',
-        'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
+    /*
+    |--------------------------------------------------------------------------
+    | Application Debug Mode
+    |--------------------------------------------------------------------------
+    |
+    | When your application is in debug mode, detailed error messages with
+    | stack traces will be shown on every error that occurs within your
+    | application. If disabled, a simple generic error page is shown.
+    |
+    */
+
+    'debug' => true,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application URL
+    |--------------------------------------------------------------------------
+    |
+    | This URL is used by the console to properly generate URLs when using
+    | the Artisan command line tool. You should set this to the root of
+    | your application so that it is used when running Artisan tasks.
+    |
+    */
+
+    'url' => 'http://localhost',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Timezone
+    |--------------------------------------------------------------------------
+    |
+    | Here you may specify the default timezone for your application, which
+    | will be used by the PHP date and date-time functions. We have gone
+    | ahead and set this to a sensible default for you out of the box.
+    |
+    */
+
+    'timezone' => 'UTC',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Locale Configuration
+    |--------------------------------------------------------------------------
+    |
+    | The application locale determines the default locale that will be used
+    | by the translation service provider. You are free to set this value
+    | to any of the locales which will be supported by the application.
+    |
+    */
+
+    'locale' => 'en',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Application Fallback Locale
+    |--------------------------------------------------------------------------
+    |
+    | The fallback locale determines the locale to use when the current one
+    | is not available. You may change the value to correspond to any of
+    | the language folders that are provided through your application.
+    |
+    */
+
+    'fallback_locale' => 'en',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Encryption Key
+    |--------------------------------------------------------------------------
+    |
+    | This key is used by the Illuminate encrypter service and should be set
+    | to a random, 32 character string, otherwise these encrypted strings
+    | will not be safe. Please do this before deploying an application!
+    |
+    */
+
+    'key' => 'tez6xP65a0BGj1ZtX7PPfYhC9OIW9AjS',
+
+    'cipher' => MCRYPT_RIJNDAEL_128,
+
+    /*
+    |--------------------------------------------------------------------------
+    | Autoloaded Service Providers
+    |--------------------------------------------------------------------------
+    |
+    | The service providers listed here will be automatically loaded on the
+    | request to your application. Feel free to add your own services to
+    | this array to grant expanded functionality to your applications.
+    |
+    */
+
+    'providers' => array(
+
+        'Illuminate\Foundation\Providers\ArtisanServiceProvider',
+        'Illuminate\Auth\AuthServiceProvider',
+        'Illuminate\Cache\CacheServiceProvider',
+        'Illuminate\Session\CommandsServiceProvider',
+        'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
+        'Illuminate\Routing\ControllerServiceProvider',
+        'Illuminate\Cookie\CookieServiceProvider',
+        'Illuminate\Database\DatabaseServiceProvider',
+        'Illuminate\Encryption\EncryptionServiceProvider',
+        'Illuminate\Filesystem\FilesystemServiceProvider',
+        'Illuminate\Hashing\HashServiceProvider',
+        'Illuminate\Html\HtmlServiceProvider',
+        'Illuminate\Log\LogServiceProvider',
+        'Illuminate\Mail\MailServiceProvider',
+        'Illuminate\Database\MigrationServiceProvider',
+        'Illuminate\Pagination\PaginationServiceProvider',
+        'Illuminate\Queue\QueueServiceProvider',
+        'Illuminate\Redis\RedisServiceProvider',
+        'Illuminate\Remote\RemoteServiceProvider',
+        'Illuminate\Auth\Reminders\ReminderServiceProvider',
+        'Illuminate\Database\SeedServiceProvider',
+        'Illuminate\Session\SessionServiceProvider',
+        'Illuminate\Translation\TranslationServiceProvider',
+        'Illuminate\Validation\ValidationServiceProvider',
+        'Illuminate\View\ViewServiceProvider',
+        'Illuminate\Workbench\WorkbenchServiceProvider',
         'Wsis\WsisServiceProvider',
         'Airavata\AiravataServiceProvider',
-	),
-
-	/*
-	|--------------------------------------------------------------------------
-	| Service Provider Manifest
-	|--------------------------------------------------------------------------
-	|
-	| The service provider manifest is used by Laravel to lazy load service
-	| providers which are not needed for each request, as well to keep a
-	| list of all of the services. Here, you may set its storage spot.
-	|
-	*/
-
-	'manifest' => storage_path().'/meta',
-
-	/*
-	|--------------------------------------------------------------------------
-	| Class Aliases
-	|--------------------------------------------------------------------------
-	|
-	| This array of class aliases will be registered when this application
-	| is started. However, feel free to register as many as you wish as
-	| the aliases are "lazy" loaded so they don't hinder performance.
-	|
-	*/
-
-	'aliases' => array(
-
-		'App'             => 'Illuminate\Support\Facades\App',
-		'Artisan'         => 'Illuminate\Support\Facades\Artisan',
-		'Auth'            => 'Illuminate\Support\Facades\Auth',
-		'Blade'           => 'Illuminate\Support\Facades\Blade',
-		'Cache'           => 'Illuminate\Support\Facades\Cache',
-		'ClassLoader'     => 'Illuminate\Support\ClassLoader',
-		'Config'          => 'Illuminate\Support\Facades\Config',
-		'Controller'      => 'Illuminate\Routing\Controller',
-		'Cookie'          => 'Illuminate\Support\Facades\Cookie',
-		'Crypt'           => 'Illuminate\Support\Facades\Crypt',
-		'DB'              => 'Illuminate\Support\Facades\DB',
-		'Eloquent'        => 'Illuminate\Database\Eloquent\Model',
-		'Event'           => 'Illuminate\Support\Facades\Event',
-		'File'            => 'Illuminate\Support\Facades\File',
-		'Form'            => 'Illuminate\Support\Facades\Form',
-		'Hash'            => 'Illuminate\Support\Facades\Hash',
-		'HTML'            => 'Illuminate\Support\Facades\HTML',
-		'Input'           => 'Illuminate\Support\Facades\Input',
-		'Lang'            => 'Illuminate\Support\Facades\Lang',
-		'Log'             => 'Illuminate\Support\Facades\Log',
-		'Mail'            => 'Illuminate\Support\Facades\Mail',
-		'Paginator'       => 'Illuminate\Support\Facades\Paginator',
-		'Password'        => 'Illuminate\Support\Facades\Password',
-		'Queue'           => 'Illuminate\Support\Facades\Queue',
-		'Redirect'        => 'Illuminate\Support\Facades\Redirect',
-		'Redis'           => 'Illuminate\Support\Facades\Redis',
-		'Request'         => 'Illuminate\Support\Facades\Request',
-		'Response'        => 'Illuminate\Support\Facades\Response',
-		'Route'           => 'Illuminate\Support\Facades\Route',
-		'Schema'          => 'Illuminate\Support\Facades\Schema',
-		'Seeder'          => 'Illuminate\Database\Seeder',
-		'Session'         => 'Illuminate\Support\Facades\Session',
-		'SoftDeletingTrait' => 'Illuminate\Database\Eloquent\SoftDeletingTrait',
-		'SSH'             => 'Illuminate\Support\Facades\SSH',
-		'Str'             => 'Illuminate\Support\Str',
-		'URL'             => 'Illuminate\Support\Facades\URL',
-		'Validator'       => 'Illuminate\Support\Facades\Validator',
-		'View'            => 'Illuminate\Support\Facades\View',
-        'WSIS'            => 'Wsis\Facades\Wsis',
-        'Airavata'        => 'Airavata\Facades\Airavata',
-	),
+    ),
+
+    /*
+    |--------------------------------------------------------------------------
+    | Service Provider Manifest
+    |--------------------------------------------------------------------------
+    |
+    | The service provider manifest is used by Laravel to lazy load service
+    | providers which are not needed for each request, as well to keep a
+    | list of all of the services. Here, you may set its storage spot.
+    |
+    */
+
+    'manifest' => storage_path() . '/meta',
+
+    /*
+    |--------------------------------------------------------------------------
+    | Class Aliases
+    |--------------------------------------------------------------------------
+    |
+    | This array of class aliases will be registered when this application
+    | is started. However, feel free to register as many as you wish as
+    | the aliases are "lazy" loaded so they don't hinder performance.
+    |
+    */
+
+    'aliases' => array(
+
+        'App' => 'Illuminate\Support\Facades\App',
+        'Artisan' => 'Illuminate\Support\Facades\Artisan',
+        'Auth' => 'Illuminate\Support\Facades\Auth',
+        'Blade' => 'Illuminate\Support\Facades\Blade',
+        'Cache' => 'Illuminate\Support\Facades\Cache',
+        'ClassLoader' => 'Illuminate\Support\ClassLoader',
+        'Config' => 'Illuminate\Support\Facades\Config',
+        'Controller' => 'Illuminate\Routing\Controller',
+        'Cookie' => 'Illuminate\Support\Facades\Cookie',
+        'Crypt' => 'Illuminate\Support\Facades\Crypt',
+        'DB' => 'Illuminate\Support\Facades\DB',
+        'Eloquent' => 'Illuminate\Database\Eloquent\Model',
+        'Event' => 'Illuminate\Support\Facades\Event',
+        'File' => 'Illuminate\Support\Facades\File',
+        'Form' => 'Illuminate\Support\Facades\Form',
+        'Hash' => 'Illuminate\Support\Facades\Hash',
+        'HTML' => 'Illuminate\Support\Facades\HTML',
+        'Input' => 'Illuminate\Support\Facades\Input',
+        'Lang' => 'Illuminate\Support\Facades\Lang',
+        'Log' => 'Illuminate\Support\Facades\Log',
+        'Mail' => 'Illuminate\Support\Facades\Mail',
+        'Paginator' => 'Illuminate\Support\Facades\Paginator',
+        'Password' => 'Illuminate\Support\Facades\Password',
+        'Queue' => 'Illuminate\Support\Facades\Queue',
+        'Redirect' => 'Illuminate\Support\Facades\Redirect',
+        'Redis' => 'Illuminate\Support\Facades\Redis',
+        'Request' => 'Illuminate\Support\Facades\Request',
+        'Response' => 'Illuminate\Support\Facades\Response',
+        'Route' => 'Illuminate\Support\Facades\Route',
+        'Schema' => 'Illuminate\Support\Facades\Schema',
+        'Seeder' => 'Illuminate\Database\Seeder',
+        'Session' => 'Illuminate\Support\Facades\Session',
+        'SoftDeletingTrait' => 'Illuminate\Database\Eloquent\SoftDeletingTrait',
+        'SSH' => 'Illuminate\Support\Facades\SSH',
+        'Str' => 'Illuminate\Support\Str',
+        'URL' => 'Illuminate\Support\Facades\URL',
+        'Validator' => 'Illuminate\Support\Facades\Validator',
+        'View' => 'Illuminate\Support\Facades\View',
+        'WSIS' => 'Wsis\Facades\Wsis',
+        'Airavata' => 'Airavata\Facades\Airavata',
+    ),
 
 );

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/ec01a642/composer.json
----------------------------------------------------------------------
diff --git a/composer.json b/composer.json
index bbd97d9..88a580b 100755
--- a/composer.json
+++ b/composer.json
@@ -5,8 +5,7 @@
     "license": "MIT",
     "require": {
         "laravel/framework": "4.2.*",
-        "apache/thrift": "1.0.*@dev",
-        "barryvdh/laravel-ide-helper": "1.*"
+        "apache/thrift": "1.0.*@dev"
     },
     "autoload": {
         "classmap": [
@@ -19,12 +18,10 @@
     "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": [


[17/42] airavata-php-gateway git commit: Showing experiment details in experiment statistics page

Posted by sc...@apache.org.
Showing experiment details in experiment statistics page


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/3993dc3f
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/3993dc3f
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/3993dc3f

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 3993dc3f667956059fda553cf4b7541defb28dea
Parents: 7bf8663
Author: Supun Nakandala <sc...@apache.org>
Authored: Fri Jun 12 16:39:19 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Fri Jun 12 16:39:19 2015 +0530

----------------------------------------------------------------------
 app/controllers/AdminController.php             |  16 ++-
 app/libraries/AdminUtilities.php                |  39 ++++++-
 app/routes.php                                  |   2 +
 app/views/admin/experiment-statistics.blade.php | 116 +++++++++++++++++--
 app/views/admin/manage-experiments.blade.php    |   8 +-
 app/views/experiment/search.blade.php           |  95 +--------------
 .../partials/experiment-container.blade.php     |  92 +++++++++++++++
 7 files changed, 258 insertions(+), 110 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/3993dc3f/app/controllers/AdminController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AdminController.php b/app/controllers/AdminController.php
index d4f4dfc..3993838 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -116,9 +116,9 @@ class AdminController extends BaseController {
 
 		$inputs = Input::all();
 
-		$gateway = AdminUtilities::addGateway(Input::all() );
+        $gateway = AdminUtilities::add_gateway(Input::all());
 
-		$tm = WSIS::createTenant(1, $inputs["admin-username"], $inputs["admin-password"], $inputs["admin-email"],
+        $tm = WSIS::createTenant(1, $inputs["admin-username"], $inputs["admin-password"], $inputs["admin-email"],
                                   $inputs["admin-firstname"], $inputs["admin-lastname"], $inputs["domain"]);
 		
 		return $gateway;
@@ -129,9 +129,19 @@ class AdminController extends BaseController {
     {
         if (Request::ajax()) {
             $inputs = Input::all();
-            $expStatistics = AdminUtilities::getExperimentExecutionStatistics(strtotime($inputs['fromTime']) * 1000
+            $expStatistics = AdminUtilities::get_experiment_execution_statistics(strtotime($inputs['fromTime']) * 1000
                 , strtotime($inputs['toTime']) * 1000);
             return View::make("admin/experiment-statistics", array("expStatistics" => $expStatistics));
         }
     }
+
+    public function getExperimentsOfTimeRange()
+    {
+        if (Request::ajax()) {
+            $inputs = Input::all();
+            $expContainer = AdminUtilities::get_experiments_of_time_range($inputs);
+            $expStates = ExperimentUtilities::getExpStates();
+            return View::make("partials/experiment-container", array("expContainer" => $expContainer, "expStates" => $expStates));
+        }
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/3993dc3f/app/libraries/AdminUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/AdminUtilities.php b/app/libraries/AdminUtilities.php
index c859db8..95a8c42 100644
--- a/app/libraries/AdminUtilities.php
+++ b/app/libraries/AdminUtilities.php
@@ -10,7 +10,7 @@ class AdminUtilities
      * @param $input
      * @return string
      */
-    public static function addGateway($input)
+    public static function add_gateway($input)
     {
         $gateway = new Gateway();
         $gateway->gatewayId = $input["gatewayName"];
@@ -26,8 +26,43 @@ class AdminUtilities
      * @param $toTime
      * @return \Airavata\Model\Workspace\Experiment\ExperimentStatistics
      */
-    public static function getExperimentExecutionStatistics($fromTime, $toTime)
+    public static function get_experiment_execution_statistics($fromTime, $toTime)
     {
         return Airavata::getExperimentStatistics(Config::get('pga_config.airavata')['gateway-id'], $fromTime, $toTime);
     }
+
+    /**
+     * Method to get experiments of a particular time range
+     * @param $inputs
+     * @return array
+     */
+    public static function get_experiments_of_time_range($inputs)
+    {
+        $experimentStatistics = AdminUtilities::get_experiment_execution_statistics(
+            strtotime($inputs["from-date"]) * 1000,
+            strtotime($inputs["to-date"]) * 1000
+        );
+        $experiments = array();
+        if ($inputs["status-type"] == "ALL") {
+            $experiments = $experimentStatistics->allExperiments;
+        } else if ($inputs["status-type"] == "COMPLETED") {
+            $experiments = $experimentStatistics->completedExperiments;
+        } elseif ($inputs["status-type"] == "FAILED") {
+            $experiments = $experimentStatistics->failedExperiments;
+        } else if ($inputs["status-type"] == "CANCELED") {
+            $experiments = $experimentStatistics->cancelledExperiments;
+        }
+
+        $expContainer = array();
+        $expNum = 0;
+        foreach ($experiments as $experiment) {
+            $expValue = ExperimentUtilities::get_experiment_values($experiment, ProjectUtilities::get_project($experiment->projectID), true);
+            $expContainer[$expNum]['experiment'] = $experiment;
+            $expValue["editable"] = false;
+            $expContainer[$expNum]['expValue'] = $expValue;
+            $expNum++;
+        }
+
+        return $expContainer;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/3993dc3f/app/routes.php
----------------------------------------------------------------------
diff --git a/app/routes.php b/app/routes.php
index da8e601..e6fb483 100755
--- a/app/routes.php
+++ b/app/routes.php
@@ -168,6 +168,8 @@ Route::get("admin/dashboard/roles", "AdminController@rolesView");
 
 Route::get("admin/dashboard/experiments", "AdminController@experimentsView");
 
+Route::get("admin/dashboard/experimentsOfTimeRange", "AdminController@getExperimentsOfTimeRange");
+
 Route::get("admin/dashboard/experimentStatistics", "AdminController@experimentStatistics");
 
 Route::get("admin/dashboard/resources", "AdminController@resourcesView");

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/3993dc3f/app/views/admin/experiment-statistics.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/experiment-statistics.blade.php b/app/views/admin/experiment-statistics.blade.php
index 88938c4..36cd5d5 100644
--- a/app/views/admin/experiment-statistics.blade.php
+++ b/app/views/admin/experiment-statistics.blade.php
@@ -13,8 +13,8 @@
                     </div>
                 </div>
             </div>
-            <a href="#">
-                <div class="panel-footer">
+            <a id="getAllExperiments" href="#experiment-container">
+            <div class="panel-footer">
                     <span class="pull-left">View Details</span>
                     <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></span>
 
@@ -37,8 +37,8 @@
                     </div>
                 </div>
             </div>
-            <a href="#">
-                <div class="panel-footer">
+            <a id="getCompletedExperiments" href="#experiment-container">
+            <div class="panel-footer">
                     <span class="pull-left">View Details</span>
                     <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></i></span>
 
@@ -61,8 +61,8 @@
                     </div>
                 </div>
             </div>
-            <a href="#">
-                <div class="panel-footer">
+            <a id="getCancelledExperiments" href="#experiment-container">
+            <div class="panel-footer">
                     <span class="pull-left">View Details</span>
                     <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></i></span>
 
@@ -85,8 +85,8 @@
                     </div>
                 </div>
             </div>
-            <a href="#">
-                <div class="panel-footer">
+            <a id="getFailedExperiments" href="#experiment-container">
+            <div class="panel-footer">
                     <span class="pull-left">View Details</span>
                     <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></span>
 
@@ -96,3 +96,103 @@
         </div>
     </div>
 </div>
+
+<div id="experiment-container" style="margin: 20px" class="experiment-container"></div>
+
+<script>
+    $("#getAllExperiments").click(function () {
+        //These are coming from manage-experiments.blade.php
+        $fromTime = $("#datetimepicker9").find("input").val();
+        $toTime = $("#datetimepicker10").find("input").val();
+        if ($fromTime == '' || $toTime == '') {
+            alert("Please Select Valid Date Inputs!");
+        } else {
+            $.ajax({
+                type: 'GET',
+                url: "{{URL::to('/')}}/admin/dashboard/experimentsOfTimeRange",
+                data: {
+                    'status-type': 'ALL',
+                    'search-key': 'creation-time',
+                    'from-date': $fromTime,
+                    'to-date': $toTime
+                },
+                async: false,
+                success: function (data) {
+                    $(".experiment-container").html(data);
+                }
+            });
+        }
+    });
+
+    $("#getCompletedExperiments").click(function () {
+        //These are coming from manage-experiments.blade.php
+        $fromTime = $("#datetimepicker9").find("input").val();
+        $toTime = $("#datetimepicker10").find("input").val();
+        if ($fromTime == '' || $toTime == '') {
+            alert("Please Select Valid Date Inputs!");
+        } else {
+            $.ajax({
+                type: 'GET',
+                url: "{{URL::to('/')}}/admin/dashboard/experimentsOfTimeRange",
+                data: {
+                    'status-type': 'COMPLETED',
+                    'search-key': 'creation-time',
+                    'from-date': $fromTime,
+                    'to-date': $toTime
+                },
+                async: false,
+                success: function (data) {
+                    $(".experiment-container").html(data);
+                }
+            });
+        }
+    });
+
+    $("#getCancelledExperiments").click(function () {
+        //These are coming from manage-experiments.blade.php
+        $fromTime = $("#datetimepicker9").find("input").val();
+        $toTime = $("#datetimepicker10").find("input").val();
+        if ($fromTime == '' || $toTime == '') {
+            alert("Please Select Valid Date Inputs!");
+        } else {
+            $.ajax({
+                type: 'GET',
+                url: "{{URL::to('/')}}/admin/dashboard/experimentsOfTimeRange",
+                data: {
+                    'status-type': 'CANCELED',
+                    'search-key': 'creation-time',
+                    'from-date': $fromTime,
+                    'to-date': $toTime
+                },
+                async: false,
+                success: function (data) {
+                    $(".experiment-container").html(data);
+                }
+            });
+        }
+    });
+
+    $("#getFailedExperiments").click(function () {
+        //These are coming from manage-experiments.blade.php
+        $fromTime = $("#datetimepicker9").find("input").val();
+        $toTime = $("#datetimepicker10").find("input").val();
+        if ($fromTime == '' || $toTime == '') {
+            alert("Please Select Valid Date Inputs!");
+        } else {
+            $.ajax({
+                type: 'GET',
+                url: "{{URL::to('/')}}/admin/dashboard/experimentsOfTimeRange",
+                data: {
+                    'status-type': 'FAILED',
+                    'search-key': 'creation-time',
+                    'from-date': $fromTime,
+                    'to-date': $toTime
+                },
+                async: false,
+                success: function (data) {
+                    $(".experiment-container").html(data);
+                }
+            });
+        }
+    });
+</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/3993dc3f/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 d1dfadf..deca14b 100644
--- a/app/views/admin/manage-experiments.blade.php
+++ b/app/views/admin/manage-experiments.blade.php
@@ -74,9 +74,9 @@
         </div>
     </div>
     <div class="experiment-statistics"></div>
+    <div class="loading-img-statistics hide text-center"><img src="{{URL::to('/')}}/assets/ajax-loader.gif"/></div>
 </div>
 
-
 <!--<div class="row">-->
 <!--    <div class="col-lg-12">-->
 <!--        <div class="panel panel-primary">-->
@@ -377,14 +377,16 @@ to be uncommented when actually in use.
         if ($fromTime == '' || $toTime == '') {
             alert("Please Select Valid Date Inputs!");
         } else {
+            $(".loading-img-statistics").removeClass("hide");
             $.ajax({
                 url: 'experimentStatistics?fromTime=' + $fromTime + '&' + 'toTime=' + $toTime,
                 type: 'get',
                 success: function (data) {
                     $(".experiment-statistics").html(data);
-
                 }
-            })
+            }).complete(function () {
+                $(".loading-img-statistics").addClass("hide");
+            });
         }
     });
 </script>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/3993dc3f/app/views/experiment/search.blade.php
----------------------------------------------------------------------
diff --git a/app/views/experiment/search.blade.php b/app/views/experiment/search.blade.php
index 926268e..672206e 100755
--- a/app/views/experiment/search.blade.php
+++ b/app/views/experiment/search.blade.php
@@ -106,101 +106,8 @@
         ?>
     </form>
 
+    @include('partials/experiment-container')
 
-
-
-    <?php
-
-    if (isset($expContainer))
-    {
-    if (sizeof($expContainer) == 0)
-    {
-        if ($pageNo == 1) {
-            CommonUtilities::print_warning_message('No results found. Please try again.');
-        } else {
-            CommonUtilities::print_warning_message('No more results found.');
-        }
-    }
-    else
-    {
-    ?>
-
-    <div id="re" class="table-responsive">
-        <table class="table">
-            <tr>
-                <th>Name</th>
-                <th>Application</th>
-                <th>Description</th>
-                <!--<th>Resource</th>-->
-                <th>Creation Time</th>
-                <th>Status</th>
-                <!--                    <select class="form-control select-status">-->
-                <!--                        <option value="ALL">Status</option>-->
-                <!--                    @foreach( $expStates as $index => $state)-->
-                <!--                        <option value="{{ $state }}">{{ $state }}</option>-->
-                <!--                    @endforeach-->
-                <!--                    </select>-->
-                <!--                </th>-->
-            </tr>
-
-
-            <?php
-            foreach ($expContainer as $experiment) {
-                $description = $experiment['experiment']->description;
-                if (strlen($description) > 17) // 17 is arbitrary
-                {
-                    $description = substr($experiment['experiment']->description, 0, 17) . '<span class="text-muted">...</span>';
-                }
-
-                echo '<tr>';
-                $addEditOption = "";
-                if ($experiment['expValue']['editable'])
-                    $addEditOption = '<a href="' . URL::to('/') . '/experiment/edit?expId=' . $experiment['experiment']->experimentID . '" title="Edit"><span class="glyphicon glyphicon-pencil"></span></a>';
-
-                echo '<td>' . $experiment['experiment']->name . $addEditOption . '</td>';
-
-                echo '<td>' . $experiment['expValue']['applicationInterface']->applicationName . '</td>';
-
-                echo '<td>' . $description . '</td>';
-
-                //echo "<td>$computeResource->hostName</td>";
-                echo '<td class="time" unix-time="' . $experiment['experiment']->creationTime / 1000 . '"></td>';
-
-
-                switch ($experiment['expValue']['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;
-                }
-
-                ?>
-                <td>
-                    <a class="<?php echo $textClass; ?>"
-                       href="{{ URL::to('/') }}/experiment/summary?expId=<?php echo $experiment['experiment']->experimentID; ?>">
-                        <?php echo $experiment['expValue']['experimentStatusString']; ?>
-                    </a>
-                </td>
-
-                </tr>
-
-            <?php
-            }
-            }
-            }
-            ?>
-        </table>
-    </div>
 </div>
 
 @stop

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/3993dc3f/app/views/partials/experiment-container.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-container.blade.php b/app/views/partials/experiment-container.blade.php
new file mode 100644
index 0000000..eb5b31d
--- /dev/null
+++ b/app/views/partials/experiment-container.blade.php
@@ -0,0 +1,92 @@
+<?php
+
+if (isset($expContainer))
+{
+if (sizeof($expContainer) == 0)
+{
+    if (isset($pageNo) && $pageNo == 1) {
+        CommonUtilities::print_warning_message('No results found. Please try again.');
+    } else {
+        CommonUtilities::print_warning_message('No more results found.');
+    }
+}
+else
+{
+?>
+
+<div id="re" class="table-responsive">
+    <table class="table">
+        <tr>
+            <th>Name</th>
+            <th>Application</th>
+            <th>Description</th>
+            <!--<th>Resource</th>-->
+            <th>Creation Time</th>
+            <th>Status</th>
+            <!--                    <select class="form-control select-status">-->
+            <!--                        <option value="ALL">Status</option>-->
+            <!--                    @foreach( $expStates as $index => $state)-->
+            <!--                        <option value="{{ $state }}">{{ $state }}</option>-->
+            <!--                    @endforeach-->
+            <!--                    </select>-->
+            <!--                </th>-->
+        </tr>
+
+
+        <?php
+        foreach ($expContainer as $experiment) {
+            $description = $experiment['experiment']->description;
+            if (strlen($description) > 17) // 17 is arbitrary
+            {
+                $description = substr($experiment['experiment']->description, 0, 17) . '<span class="text-muted">...</span>';
+            }
+
+            echo '<tr>';
+            $addEditOption = "";
+            if ($experiment['expValue']['editable'])
+                $addEditOption = '<a href="' . URL::to('/') . '/experiment/edit?expId=' . $experiment['experiment']->experimentID . '" title="Edit"><span class="glyphicon glyphicon-pencil"></span></a>';
+
+            echo '<td>' . $experiment['experiment']->name . $addEditOption . '</td>';
+
+            echo '<td>' . $experiment['expValue']['applicationInterface']->applicationName . '</td>';
+
+            echo '<td>' . $description . '</td>';
+
+            //echo "<td>$computeResource->hostName</td>";
+            echo '<td class="time" unix-time="' . $experiment['experiment']->creationTime / 1000 . '"></td>';
+
+
+            switch ($experiment['expValue']['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;
+            }
+
+            ?>
+            <td>
+                <a class="<?php echo $textClass; ?>"
+                   href="{{ URL::to('/') }}/experiment/summary?expId=<?php echo $experiment['experiment']->experimentID; ?>">
+                    <?php echo $experiment['expValue']['experimentStatusString']; ?>
+                </a>
+            </td>
+
+            </tr>
+
+        <?php
+        }
+        }
+        }
+        ?>
+    </table>
+</div>
\ No newline at end of file


[07/42] 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/airavata-php-gateway-0.15-release
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(){


[13/42] 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/airavata-php-gateway-0.15-release
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>
 
 
 


[21/42] airavata-php-gateway git commit: fixing output path wrong issue

Posted by sc...@apache.org.
fixing output path wrong issue


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/b835bfbc
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/b835bfbc
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/b835bfbc

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: b835bfbc88122096a30b0013349c47d6a2da0ca7
Parents: dbaecc5
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 25 01:31:09 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 25 01:42:48 2015 +0530

----------------------------------------------------------------------
 app/config/pga_config.php.template    |  9 +++++++--
 app/libraries/ExperimentUtilities.php | 29 ++++++++++-------------------
 2 files changed, 17 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/b835bfbc/app/config/pga_config.php.template
----------------------------------------------------------------------
diff --git a/app/config/pga_config.php.template b/app/config/pga_config.php.template
index 2807fa9..6af2116 100644
--- a/app/config/pga_config.php.template
+++ b/app/config/pga_config.php.template
@@ -92,9 +92,14 @@ return array(
         'server-allowed-file-size' => 64,
 
         /**
-         * directory in the web server where experiment data is staged. This path should be a relative path from app root
+         * directory in the web server where experiment data is staged. (relative to the web server documents root)
          */
-        'experiment-data-root' => '/../experimentData/',
+        'experiment-data-path-dir' => '/experimentData',
+
+        /**
+         * absolute path of the data dir
+         */
+        'experiment-data-path-absolute' => '/var/www/experimentData',
 
         /**
          * Advanced experiments options

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/b835bfbc/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index 265c497..eb4a987 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -16,22 +16,7 @@ use Airavata\Model\Workspace\Experiment\UserConfigurationData;
 
 class ExperimentUtilities
 {
-
-    private $sshUser;
-    private $hostName;
-    private static $pathConstant;
     private static $experimentPath;
-    private static $experimentDataPathAbsolute;
-
-    function __construct()
-    {
-        $this->sshUser = "root";
-        $this->hostName = $_SERVER['SERVER_NAME'];
-
-        self::$experimentDataPathAbsolute = base_path() . Config::get('pga_config.airavata')['experiment-data-root'];
-        self::$pathConstant = 'file://' . $this->sshUser . '@' . $this->hostName . ':' . self::$experimentDataPathAbsolute;
-        self::$experimentPath = null;
-    }
 
     /**
      * Launch the experiment with the given ID
@@ -174,9 +159,12 @@ class ExperimentUtilities
         }
 
         $advHandling = new AdvancedOutputDataHandling();
+        $sshUser = "root";
+        $hostName = $_SERVER['SERVER_NAME'];
+        $expPathConstant = 'file://' . $sshUser . '@' . $hostName . ':' . Config::get('pga_config.airavata')['experiment-data-root'];
 
         $advHandling->outputDataDir = str_replace(base_path() . Config::get('pga_config.airavata')['experiment-data-root'],
-            ExperimentUtilities::$pathConstant, ExperimentUtilities::$experimentPath);
+            $expPathConstant, ExperimentUtilities::$experimentPath);
         $userConfigData->advanceOutputDataHandling = $advHandling;
 
         //TODO: replace constructor with a call to airvata to get a prepopulated experiment template
@@ -300,7 +288,8 @@ class ExperimentUtilities
                         $experimentAssemblySuccessful = false;
                     }
 
-                    $experimentInput->value = str_replace(base_path() . Config::get('pga_config.airavata')['experiment-data-root'], ExperimentUtilities::$pathConstant, $filePath);
+                    $experimentInput->value = str_replace(base_path() . Config::get('pga_config.airavata')['experiment-data-root'],
+                        ExperimentUtilities::get_path_constants(), $filePath);
                     $experimentInput->type = $applicationInput->type;
 
                 } else {
@@ -590,11 +579,13 @@ class ExperimentUtilities
                 if ($output->type == DataType::URI || $output->type == DataType::STDOUT || $output->type == DataType::STDERR) {
                     $explode = explode('/', $output->value);
                     //echo '<p>' . $output->key .  ': <a href="' . $output->value . '">' . $output->value . '</a></p>';
-                    $outputPath = str_replace(ExperimentUtilities::$experimentDataPathAbsolute, Config::get('pga_config.airavata')['experiment-data-root'], $output->value);
+                    $outputPath = str_replace(Config::get('pga_config.airavata')['experiment-data-absolute-path'],
+                        Config::get('pga_config.airavata')['experiment-data-dir'], $output->value);
                     $outputPathArray = explode("/", $outputPath);
 
                     echo '<p>' . $output->name . ' : ' . '<a target="_blank"
-                            href="' . URL::to("/") . "/.." . str_replace(ExperimentUtilities::$experimentDataPathAbsolute, Config::get('pga_config.airavata')['experiment-data-root'], $output->value) . '">' .
+                            href="' . URL::to("/") . "/.." . str_replace(Config::get('pga_config.airavata')['experiment-data-absolute-path'],
+                            Config::get('pga_config.airavata')['experiment-data-dir'], $output->value) . '">' .
                         $outputPathArray[sizeof($outputPathArray) - 1] . ' <span class="glyphicon glyphicon-new-window"></span></a></p>';
                 } elseif ($output->type == DataType::STRING) {
                     echo '<p>' . $output->value . '</p>';


[32/42] airavata-php-gateway git commit: fixing AIRAVATA-1742

Posted by sc...@apache.org.
fixing AIRAVATA-1742


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/28f94f1d
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/28f94f1d
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/28f94f1d

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 28f94f1d6c8cfdab5e015cedbd78b061c9ea70d4
Parents: cad9f1a
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jul 1 01:18:15 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jul 1 02:09:38 2015 +0530

----------------------------------------------------------------------
 app/libraries/ExperimentUtilities.php        | 3 ++-
 app/views/partials/experiment-info.blade.php | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/28f94f1d/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index 5a924b1..e3de925 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -81,7 +81,8 @@ class ExperimentUtilities
             if ($matchingAppInput->type == DataType::URI) {
                 $explode = explode('/', $input->value);
                 echo '<p><a target="_blank"
-                        href="' . URL::to("/") . Config::get('pga_config.airavata')['experiment-data-dir'] . $explode[sizeof($explode) - 2] . '/' . $explode[sizeof($explode) - 1] . '">' .
+                        href="' . URL::to("/") . "/.." . Config::get('pga_config.airavata')['experiment-data-dir']
+                    . "/" . $explode[sizeof($explode) - 2] . '/' . $explode[sizeof($explode) - 1] . '">' .
                     $explode[sizeof($explode) - 1] . '
                 <span class="glyphicon glyphicon-new-window"></span></a></p>';
             } elseif ($matchingAppInput->type == DataType::STRING) {

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/28f94f1d/app/views/partials/experiment-info.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-info.blade.php b/app/views/partials/experiment-info.blade.php
index 782f580..5b69cfe 100644
--- a/app/views/partials/experiment-info.blade.php
+++ b/app/views/partials/experiment-info.blade.php
@@ -103,7 +103,7 @@
         </tr>
         <tr>
             <td><strong>Inputs</strong></td>
-            <td><?php ProjectUtilities::get_project($experiment->projectID); ?></td>
+            <td><?php ExperimentUtilities::list_input_files($experiment); ?></td>
         </tr>
         <tr>
             <td><strong>Outputs</strong></td>


[42/42] airavata-php-gateway git commit: merging master branch to the 0.15 release branch

Posted by sc...@apache.org.
merging master branch to the 0.15 release branch


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/30937119
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/30937119
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/30937119

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 3093711957f0349ffb26712c5fa2da6850a6f531
Parents: ac23dee
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jul 2 00:27:20 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jul 2 00:27:20 2015 +0530

----------------------------------------------------------------------
 app/controllers/AdminController.php             | 249 ++++++++++---------
 app/libraries/ExperimentUtilities.php           |   6 +-
 app/views/admin/experiment-statistics.blade.php |   8 +-
 app/views/project/summary.blade.php             |  10 +-
 4 files changed, 142 insertions(+), 131 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/30937119/app/controllers/AdminController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AdminController.php b/app/controllers/AdminController.php
index 3993838..00b93bd 100644
--- a/app/controllers/AdminController.php
+++ b/app/controllers/AdminController.php
@@ -1,128 +1,139 @@
 <?php
 
-class AdminController extends BaseController {
-
-	public function __construct()
-	{
-		Session::put("nav-active", "user-console");
-	}
-
-	public function console(){
-		return View::make("admin/dashboard");
-	}
-
-	public function dashboard(){
-		//only for super admin
-		//Session::put("scigap_admin", true);
-
-		$crData = CRUtilities::getEditCRData();
-		$gateways = CRUtilities::getAllGatewayProfilesData();
-
-		$gatewayData = array( 
-														"gateways" => $gateways, 
-														"computeResources" => CRUtilities::getAllCRObjects(),
-														"crData" => $crData);
-		if( Session::has("scigap_admin"))
-			$view = "scigap-admin/manage-gateway";
-		else
-			$view = "admin/manage-gateway";
-
-			return View::make( $view, $gatewayData);
-	}
-
-	public function addAdminSubmit(){
-        WSIS::update_user_roles( Input::get("username"), array( "new"=>array("admin"), "deleted"=>array() ) );
-
-   		return View::make("account/admin-dashboard")->with("message", "User has been added to Admin.");
-	}
-
-	public function usersView(){
-		if( Input::has("role"))
-		{
-			$users = WSIS::getUserlistOfRole(Input::get("role"));
-			if( isset( $users->return))
-		    	$users = $users->return;
-		    else
-		    	$users = array();
-		}
-		else
-	    	$users =  WSIS::listUsers();
-	    
-	    $roles = WSIS::getAllRoles();
-
-	    return View::make("admin/manage-users", array("users" => $users, "roles" => $roles));
-
-	}
-
-	public function addGatewayAdminSubmit(){
-		//check if username exists
-		if(WSIS::usernameExists( Input::get("username")) )
-		{
-            WSIS::updateUserRoles(Input::get("username"), array( "new"=>array( Config::get('wsis::admin-role-name')), "deleted"=>array() ) );
-			return Redirect::to("admin/dashboard/users?role=" . Config::get('wsis::admin-role-name'))->with("Gateway Admin has been added.");
-		}
-		else
-		{
-			echo ("username doesn't exist only."); exit;
-		}
-	}
-
-	public function rolesView(){
-
-		$roles = WSIS::getAllRoles();
-		return View::make("admin/manage-roles", array("roles" => $roles));
-	}
-
-	public function experimentsView(){
-		return View::make("admin/manage-experiments" );
-	}
-
-	public function resourcesView(){
-		$data = CRUtilities::getBrowseCRData();
-		$allCRs = $data["crObjects"];
-		return View::make("admin/manage-resources", array("resources" => $allCRs) );
-	}
-
-	public function addRole(){
-		WSIS::addRole( Input::get("role") );
-		return Redirect::to("admin/dashboard/roles")->with( "message", "Role has been added.");
-	}
-
-	public function getRoles(){
-		return json_encode((array)WSIS::getUserRoles(Input::get("username")));
-	}
-
-	public function deleteRole(){
-		WSIS::deleteRole( Input::get("role") );
-		return Redirect::to("admin/dashboard/roles")->with( "message", "Role has been deleted.");
-
-	}
-
-	public function credentialStoreView(){
-		return View::make("admin/manage-credentials", array("tokens" => array()) );
-	}
-
-	public function updateUserRoles(){
-		if( Input::has("add"))
-			return WSIS::updateUserRoles(Input::get("username"), array("new"=> Input::get("roles"), "deleted" => array() ) );
-		else
-			return WSIS::updateUserRoles(Input::get("username"), array("new"=> array(), "deleted" => Input::get("roles") ) );
-	}
-
-
-	/* ---- Super Admin Functions ------- */
-
-	public function addGateway(){
-
-		$inputs = Input::all();
+class AdminController extends BaseController
+{
+
+    public function __construct()
+    {
+        Session::put("nav-active", "user-console");
+    }
+
+    public function console()
+    {
+        return View::make("admin/dashboard");
+    }
+
+    public function dashboard()
+    {
+        //only for super admin
+        //Session::put("scigap_admin", true);
+
+        $crData = CRUtilities::getEditCRData();
+        $gateways = CRUtilities::getAllGatewayProfilesData();
+
+        $gatewayData = array(
+            "gateways" => $gateways,
+            "computeResources" => CRUtilities::getAllCRObjects(),
+            "crData" => $crData);
+        if (Session::has("scigap_admin"))
+            $view = "scigap-admin/manage-gateway";
+        else
+            $view = "admin/manage-gateway";
+
+        return View::make($view, $gatewayData);
+    }
+
+    public function addAdminSubmit()
+    {
+        WSIS::update_user_roles(Input::get("username"), array("new" => array("admin"), "deleted" => array()));
+
+        return View::make("account/admin-dashboard")->with("message", "User has been added to Admin.");
+    }
+
+    public function usersView()
+    {
+        if (Input::has("role")) {
+            $users = WSIS::getUserlistOfRole(Input::get("role"));
+            if (isset($users->return))
+                $users = $users->return;
+            else
+                $users = array();
+        } else
+            $users = WSIS::listUsers();
+
+        $roles = WSIS::getAllRoles();
+
+        return View::make("admin/manage-users", array("users" => $users, "roles" => $roles));
+
+    }
+
+    public function addGatewayAdminSubmit()
+    {
+        //check if username exists
+        if (WSIS::usernameExists(Input::get("username"))) {
+            WSIS::updateUserRoles(Input::get("username"), array("new" => array(Config::get('wsis::admin-role-name')), "deleted" => array()));
+            return Redirect::to("admin/dashboard/users?role=" . Config::get('wsis::admin-role-name'))->with("Gateway Admin has been added.");
+        } else {
+            echo("username doesn't exist only.");
+            exit;
+        }
+    }
+
+    public function rolesView()
+    {
+
+        $roles = WSIS::getAllRoles();
+        return View::make("admin/manage-roles", array("roles" => $roles));
+    }
+
+    public function experimentsView()
+    {
+        return View::make("admin/manage-experiments");
+    }
+
+    public function resourcesView()
+    {
+        $data = CRUtilities::getBrowseCRData();
+        $allCRs = $data["crObjects"];
+        return View::make("admin/manage-resources", array("resources" => $allCRs));
+    }
+
+    public function addRole()
+    {
+        WSIS::addRole(Input::get("role"));
+        return Redirect::to("admin/dashboard/roles")->with("message", "Role has been added.");
+    }
+
+    public function getRoles()
+    {
+        return json_encode((array)WSIS::getUserRoles(Input::get("username")));
+    }
+
+    public function deleteRole()
+    {
+        WSIS::deleteRole(Input::get("role"));
+        return Redirect::to("admin/dashboard/roles")->with("message", "Role has been deleted.");
+
+    }
+
+    public function credentialStoreView()
+    {
+        return View::make("admin/manage-credentials", array("tokens" => array()));
+    }
+
+    public function updateUserRoles()
+    {
+        if (Input::has("add"))
+            return WSIS::updateUserRoles(Input::get("username"), array("new" => Input::get("roles"), "deleted" => array()));
+        else
+            return WSIS::updateUserRoles(Input::get("username"), array("new" => array(), "deleted" => Input::get("roles")));
+    }
+
+
+    /* ---- Super Admin Functions ------- */
+
+    public function addGateway()
+    {
+
+        $inputs = Input::all();
 
         $gateway = AdminUtilities::add_gateway(Input::all());
 
         $tm = WSIS::createTenant(1, $inputs["admin-username"], $inputs["admin-password"], $inputs["admin-email"],
-                                  $inputs["admin-firstname"], $inputs["admin-lastname"], $inputs["domain"]);
-		
-		return $gateway;
-	}
+            $inputs["admin-firstname"], $inputs["admin-lastname"], $inputs["domain"]);
+
+        return $gateway;
+    }
 
 
     public function experimentStatistics()

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/30937119/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index ad0ac56..f2c3053 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -665,9 +665,9 @@ class ExperimentUtilities
     public static function get_job_status(Experiment $experiment)
     {
         //$jobStatus = Airavata::getJobStatuses($experiment->experimentID);
-        if(!empty($experiment->workflowNodeDetailsList)){
-            if(!empty($experiment->workflowNodeDetailsList[0]->taskDetailsList)){
-                if(!empty($experiment->workflowNodeDetailsList[0]->taskDetailsList[0]->jobDetailsList)){
+        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;
                 }
             }

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/30937119/app/views/admin/experiment-statistics.blade.php
----------------------------------------------------------------------
diff --git a/app/views/admin/experiment-statistics.blade.php b/app/views/admin/experiment-statistics.blade.php
index 36cd5d5..1f67687 100644
--- a/app/views/admin/experiment-statistics.blade.php
+++ b/app/views/admin/experiment-statistics.blade.php
@@ -14,7 +14,7 @@
                 </div>
             </div>
             <a id="getAllExperiments" href="#experiment-container">
-            <div class="panel-footer">
+                <div class="panel-footer">
                     <span class="pull-left">View Details</span>
                     <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></span>
 
@@ -38,7 +38,7 @@
                 </div>
             </div>
             <a id="getCompletedExperiments" href="#experiment-container">
-            <div class="panel-footer">
+                <div class="panel-footer">
                     <span class="pull-left">View Details</span>
                     <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></i></span>
 
@@ -62,7 +62,7 @@
                 </div>
             </div>
             <a id="getCancelledExperiments" href="#experiment-container">
-            <div class="panel-footer">
+                <div class="panel-footer">
                     <span class="pull-left">View Details</span>
                     <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></i></span>
 
@@ -86,7 +86,7 @@
                 </div>
             </div>
             <a id="getFailedExperiments" href="#experiment-container">
-            <div class="panel-footer">
+                <div class="panel-footer">
                     <span class="pull-left">View Details</span>
                     <span class="pull-right"><span class="glyphicon glyphicon-arrow-right"></span></span>
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/30937119/app/views/project/summary.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/summary.blade.php b/app/views/project/summary.blade.php
index a05c59e..f09fccf 100755
--- a/app/views/project/summary.blade.php
+++ b/app/views/project/summary.blade.php
@@ -9,7 +9,7 @@
 <div class="container" style="max-width: 750px;">
 
 
-<h1>Project Summary</h1>
+    <h1>Project Summary</h1>
 
 
 
@@ -76,9 +76,9 @@
             case 'EXECUTING':
             case 'CANCELING':
             case 'COMPLETED':
-                echo '<a class="' . $textClass . '" href="' . URL::to('/') . '/experiment/summary?expId=' .
-                    $experiment->experimentID . '">' . $experiment->name . '</a>';
-                break;
+            echo '<a class="' . $textClass . '" href="' . URL::to('/') . '/experiment/summary?expId=' .
+                $experiment->experimentID . '">' . $experiment->name . '</a>';
+            break;
             default:
                 echo '<a class="' . $textClass . '" href="' . URL::to('/') . '/experiment/summary?expId=' .
                     $experiment->experimentID . '">' . $experiment->name . '</a>' .
@@ -106,7 +106,7 @@
         echo '</td>';
         echo '<td class="time" unix-time="' . $expValues["experimentTimeOfStateChange"] . '"></td>';
 
-        echo '<td>'. $expValues["experimentStatusString"] . '</td>';
+        echo '<td>' . $expValues["experimentStatusString"] . '</td>';
 
         if ($expValues["jobState"]) echo '
             <td>' . $expValues["jobState"] . '</td>';


[02/42] airavata-php-gateway git commit: changing barryvdh version to 1.*

Posted by sc...@apache.org.
changing barryvdh version to 1.*


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/9e517fe6
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/9e517fe6
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/9e517fe6

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 9e517fe610671a21da83a4729f6e077a93893e9d
Parents: 0560d62
Author: Supun Nakandala <sc...@apache.org>
Authored: Sat Jun 6 15:42:45 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Sat Jun 6 15:42:45 2015 +0530

----------------------------------------------------------------------
 composer.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/9e517fe6/composer.json
----------------------------------------------------------------------
diff --git a/composer.json b/composer.json
index c34f2e9..bbd97d9 100755
--- a/composer.json
+++ b/composer.json
@@ -6,7 +6,7 @@
     "require": {
         "laravel/framework": "4.2.*",
         "apache/thrift": "1.0.*@dev",
-        "barryvdh/laravel-ide-helper": "~2.0"
+        "barryvdh/laravel-ide-helper": "1.*"
     },
     "autoload": {
         "classmap": [


[31/42] airavata-php-gateway git commit: removing extra trailing comma

Posted by sc...@apache.org.
removing extra trailing comma


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/cad9f1a9
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/cad9f1a9
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/cad9f1a9

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: cad9f1a98119f424577a1d330038c4204d2ad5d7
Parents: ebfea7f
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jul 1 00:27:41 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jul 1 00:27:41 2015 +0530

----------------------------------------------------------------------
 composer.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/cad9f1a9/composer.json
----------------------------------------------------------------------
diff --git a/composer.json b/composer.json
index a209249..88a580b 100755
--- a/composer.json
+++ b/composer.json
@@ -5,7 +5,7 @@
     "license": "MIT",
     "require": {
         "laravel/framework": "4.2.*",
-        "apache/thrift": "1.0.*@dev",
+        "apache/thrift": "1.0.*@dev"
     },
     "autoload": {
         "classmap": [


[38/42] airavata-php-gateway git commit: Fixing AIRAVATA-1407. Adding max lengths for name and description in project and experiment

Posted by sc...@apache.org.
Fixing AIRAVATA-1407. Adding max lengths for name and description in project and experiment


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/c3954688
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/c3954688
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/c3954688

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: c395468814b85e6ad8d2e479a2cb0d9448f82f82
Parents: d63a94d
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jul 1 15:22:59 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jul 1 15:23:23 2015 +0530

----------------------------------------------------------------------
 app/views/experiment/create.blade.php          | 4 ++--
 app/views/partials/experiment-inputs.blade.php | 6 ++++--
 app/views/project/create.blade.php             | 4 ++--
 app/views/project/edit.blade.php               | 4 ++--
 4 files changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/c3954688/app/views/experiment/create.blade.php
----------------------------------------------------------------------
diff --git a/app/views/experiment/create.blade.php b/app/views/experiment/create.blade.php
index 1318460..b8b8a01 100755
--- a/app/views/experiment/create.blade.php
+++ b/app/views/experiment/create.blade.php
@@ -26,12 +26,12 @@
         <div class="form-group required">
             <label for="experiment-name" class="control-label">Experiment Name</label>
             <input type="text" class="form-control" name="experiment-name" id="experiment-name"
-                   placeholder="Enter experiment name" autofocus required="required">
+                   placeholder="Enter experiment name" autofocus required="required" maxlength="50">
         </div>
         <div class="form-group">
             <label for="experiment-description">Experiment Description</label>
             <textarea class="form-control" name="experiment-description" id="experiment-description"
-                      placeholder="Optional: Enter a short description of the experiment"></textarea>
+                      placeholder="Optional: Enter a short description of the experiment" maxlength="200"></textarea>
         </div>
         <div class="form-group required">
             <label for="project" class="control-label">Project</label>

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/c3954688/app/views/partials/experiment-inputs.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-inputs.blade.php b/app/views/partials/experiment-inputs.blade.php
index 93d2aa5..7d09106 100644
--- a/app/views/partials/experiment-inputs.blade.php
+++ b/app/views/partials/experiment-inputs.blade.php
@@ -1,13 +1,15 @@
 <div class="form-group required">
     <label for="experiment-name" class="control-label">Experiment Name</label>
     <input type="text" class="form-control" name="experiment-name" id="experiment-name"
-           placeholder="Enter experiment name" autofocus required="required" {{ $expInputs['disabled'] }} value="{{
+           placeholder="Enter experiment name" autofocus required="required" maxlength="50" {{ $expInputs['disabled'] }}
+    value="{{
     $expInputs['experimentName'] }}">
 </div>
 <div class="form-group">
     <label for="experiment-description">Experiment Description</label>
     <textarea class="form-control" name="experiment-description" id="experiment-description"
-              placeholder="Optional: Enter a short description of the experiment" {{ $expInputs['disabled'] }}>{{
+              placeholder="Optional: Enter a short description of the experiment" maxlength="200" {{
+    $expInputs['disabled'] }}>{{
     $expInputs['experimentDescription'] }}</textarea>
 </div>
 <div class="form-group required">

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/c3954688/app/views/project/create.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/create.blade.php b/app/views/project/create.blade.php
index 46c04bc..5b47beb 100755
--- a/app/views/project/create.blade.php
+++ b/app/views/project/create.blade.php
@@ -15,13 +15,13 @@
         <div class="form-group required">
             <label for="project-name" class="control-label">Project Name</label>
             <input type="text" class="form-control projectName" name="project-name" id="project-name"
-                   placeholder="Enter project name" autofocus required>
+                   placeholder="Enter project name" autofocus required maxlength="50">
         </div>
 
         <div class="form-group">
             <label for="project-description">Project Description</label>
             <textarea class="form-control" name="project-description" id="project-description"
-                      placeholder="Optional: Enter a short description of the project"></textarea>
+                      placeholder="Optional: Enter a short description of the project" maxlength="200"></textarea>
         </div>
 
         <input name="save" type="submit" class="btn btn-primary create-project" value="Save">

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/c3954688/app/views/project/edit.blade.php
----------------------------------------------------------------------
diff --git a/app/views/project/edit.blade.php b/app/views/project/edit.blade.php
index 45d3e63..a3beec6 100755
--- a/app/views/project/edit.blade.php
+++ b/app/views/project/edit.blade.php
@@ -27,13 +27,13 @@
                    class="form-control"
                    name="project-name"
                    id="project-name"
-                   value="{{ $project->name }}" required>
+                   value="{{ $project->name }}" required maxlength="50">
         </div>
         <div class="form-group">
             <label for="project-description">Project Description</label>
             <textarea class="form-control"
                       name="project-description"
-                      id="project-description">{{ $project->description }}</textarea>
+                      id="project-description" maxlength="200">{{ $project->description }}</textarea>
             <input type="hidden" name="projectId" value="{{ Input::get('projId') }}"/>
         </div>
 


[15/42] airavata-php-gateway git commit: removing not used dependency

Posted by sc...@apache.org.
removing not used dependency


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/887eed2f
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/887eed2f
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/887eed2f

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 887eed2fb1fae10ff1d48b8043fd293be21d0464
Parents: b5ca077
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 11 23:15:25 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 11 23:15:25 2015 +0530

----------------------------------------------------------------------
 app/config/app.php | 1 -
 composer.json      | 3 ---
 2 files changed, 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/887eed2f/app/config/app.php
----------------------------------------------------------------------
diff --git a/app/config/app.php b/app/config/app.php
index 973a1ee..efbfed8 100755
--- a/app/config/app.php
+++ b/app/config/app.php
@@ -121,7 +121,6 @@ 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/887eed2f/composer.json
----------------------------------------------------------------------
diff --git a/composer.json b/composer.json
index bbd97d9..a209249 100755
--- a/composer.json
+++ b/composer.json
@@ -6,7 +6,6 @@
     "require": {
         "laravel/framework": "4.2.*",
         "apache/thrift": "1.0.*@dev",
-        "barryvdh/laravel-ide-helper": "1.*"
     },
     "autoload": {
         "classmap": [
@@ -19,12 +18,10 @@
     "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": [


[04/42] airavata-php-gateway git commit: making CR view read only

Posted by sc...@apache.org.
making CR view read only


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/844ce86c
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/844ce86c
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/844ce86c

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 844ce86ca561303e52e02367c6956a6dec1a5bfd
Parents: ec01a64
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jun 10 00:43:43 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jun 10 00:43:43 2015 +0530

----------------------------------------------------------------------
 app/controllers/ComputeResource.php      |  47 +++-
 app/routes.php                           |   2 +
 app/views/partials/queue-block.blade.php |  20 +-
 app/views/resource/browse.blade.php      |   7 +-
 app/views/resource/view.blade.php        | 371 ++++++++++++++++++++++++++
 5 files changed, 434 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/844ce86c/app/controllers/ComputeResource.php
----------------------------------------------------------------------
diff --git a/app/controllers/ComputeResource.php b/app/controllers/ComputeResource.php
index e3295bb..79a2305 100755
--- a/app/controllers/ComputeResource.php
+++ b/app/controllers/ComputeResource.php
@@ -48,7 +48,7 @@ class ComputeResource extends BaseController
         }
 
         if ($computeResourceId != "") {
-            $computeResource = AppUtilities::get_compute_resource($computeResourceId);
+            $computeResource = CRUtilities::get_compute_resource($computeResourceId);
             $jobSubmissionInterfaces = array();
             $dataMovementInterfaces = array();
             $addedJSP = array();
@@ -169,6 +169,51 @@ class ComputeResource extends BaseController
         return Redirect::to("cr/edit?crId=" . Input::get("crId") . $tabName);
     }
 
+    public function viewView()
+    {
+
+        $data = CRUtilities::getEditCRData();
+        $computeResourceId = "";
+        if (Input::has("crId"))
+            $computeResourceId = Input::get("crId");
+        else if (Session::has("computeResource")) {
+            $computeResource = Session::get("computeResource");
+            $computeResourceId = $computeResource->computeResourceId;
+        }
+
+        if ($computeResourceId != "") {
+            $computeResource = CRUtilities::get_compute_resource($computeResourceId);
+            $jobSubmissionInterfaces = array();
+            $dataMovementInterfaces = array();
+            $addedJSP = array();
+            $addedDMI = array();
+            //var_dump( $computeResource->jobSubmissionInterfaces); exit;
+            if (count($computeResource->jobSubmissionInterfaces)) {
+                foreach ($computeResource->jobSubmissionInterfaces as $JSI) {
+                    $jobSubmissionInterfaces[] = CRUtilities::getJobSubmissionDetails($JSI->jobSubmissionInterfaceId, $JSI->jobSubmissionProtocol);
+                    $addedJSP[] = $JSI->jobSubmissionProtocol;
+                }
+            }
+            //var_dump( CRUtilities::getJobSubmissionDetails( $data["computeResource"]->jobSubmissionInterfaces[0]->jobSubmissionInterfaceId, 1) ); exit;
+            if (count($computeResource->dataMovementInterfaces)) {
+                foreach ($computeResource->dataMovementInterfaces as $DMI) {
+                    $dataMovementInterfaces[] = CRUtilities::getDataMovementDetails($DMI->dataMovementInterfaceId, $DMI->dataMovementProtocol);
+                    $addedDMI[] = $DMI->dataMovementProtocol;
+                }
+            }
+
+            $data["computeResource"] = $computeResource;
+            $data["jobSubmissionInterfaces"] = $jobSubmissionInterfaces;
+            $data["dataMovementInterfaces"] = $dataMovementInterfaces;
+            $data["addedJSP"] = $addedJSP;
+            $data["addedDMI"] = $addedDMI;
+            //var_dump($data["jobSubmissionInterfaces"]); exit;
+            return View::make("resource/view", $data);
+        } else
+            return View::make("resource/browse")->with("login-alert", "Unable to retrieve this Compute Resource. Please report this error to devs.");
+
+    }
+
     public function deleteActions()
     {
 

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/844ce86c/app/routes.php
----------------------------------------------------------------------
diff --git a/app/routes.php b/app/routes.php
index 7104b5e..d6cb53e 100755
--- a/app/routes.php
+++ b/app/routes.php
@@ -101,6 +101,8 @@ Route::get("cr/edit", "ComputeResource@editView");
 
 Route::post("cr/edit", "ComputeResource@editSubmit");
 
+Route::get("cr/view", "ComputeResource@viewView");
+
 Route::get("cr/browse", "ComputeResource@browseView");
 
 Route::post("cr/delete-jsi", "ComputeResource@deleteActions");

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/844ce86c/app/views/partials/queue-block.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/queue-block.blade.php b/app/views/partials/queue-block.blade.php
index e805b1e..ac0008a 100644
--- a/app/views/partials/queue-block.blade.php
+++ b/app/views/partials/queue-block.blade.php
@@ -1,7 +1,8 @@
 <div class="form-group">
     <label class="control-label">Queue Description</label>
-    <textarea class="form-control" maxlength="255" name="qdesc" placeholder="Queue Description">@if( isset( $queueData)
-        ){{ $queueData->queueDescription }}@endif</textarea>
+    <textarea class="form-control" maxlength="255" name="qdesc" placeholder="Queue Description"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif>@if( isset( $queueData)
+    ){{ $queueData->queueDescription }}@endif</textarea>
 </div>
 <div class="form-group">
     <label class="control-label">Queue Max Run Time
@@ -9,27 +10,32 @@
     </label>
     <input type="number" min="0" class="form-control"
            value="@if( isset( $queueData) ){{ $queueData->maxRunTime }}@endif" maxlength="30" name="qmaxruntime"
-           placeholder="Queue Max Run Time"/>
+           placeholder="Queue Max Run Time"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif/>
 </div>
 <div class="form-group">
     <label class="control-label">Queue Max Nodes</label>
     <input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxNodes }}@endif"
-           maxlength="30" name="qmaxnodes" placeholder="Queue Max Nodes"/>
+           maxlength="30" name="qmaxnodes" placeholder="Queue Max Nodes"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif/>
 </div>
 <div class="form-group">
     <label class="control-label">Queue Max Processors</label>
     <input type="number" min="0" class="form-control"
            value="@if( isset( $queueData) ){{ $queueData->maxProcessors }}@endif" maxlength="30" name="qmaxprocessors"
-           placeholder="Queue Max Processors"/>
+           placeholder="Queue Max Processors"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif/>
 </div>
 <div class="form-group">
     <label class="control-label">Max Jobs in Queue</label>
     <input type="number" min="0" class="form-control"
            value="@if( isset( $queueData) ){{ $queueData->maxJobsInQueue }}@endif" maxlength="30" name="qmaxjobsinqueue"
-           placeholder="Max Jobs In Queue"/>
+           placeholder="Max Jobs In Queue"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif/>
 </div>
 <div class="form-group">
     <label class="control-label">Max Memory For Queue( In MB )</label>
     <input type="number" min="0" class="form-control" value="@if( isset( $queueData) ){{ $queueData->maxMemory }}@endif"
-           maxlength="30" name="qmaxmemoryinqueue" placeholder="Max Memory For Queue"/>
+           maxlength="30" name="qmaxmemoryinqueue" placeholder="Max Memory For Queue"
+    @if( isset( $readOnly)){{ "readOnly" }}@endif/>
 </div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/844ce86c/app/views/resource/browse.blade.php
----------------------------------------------------------------------
diff --git a/app/views/resource/browse.blade.php b/app/views/resource/browse.blade.php
index d50e359..d163490 100644
--- a/app/views/resource/browse.blade.php
+++ b/app/views/resource/browse.blade.php
@@ -50,8 +50,8 @@
                             </a>
                         </td>
                         <td>
-                            <a class="view-cr" href="#"> <!-- {{URL::to('/')}}/cr/summary?crId={{ $crId }}"> -->
-                                <span class="glyphicon glyphicon-list"></span>
+                            <a href="{{URL::to('/')}}/cr/view?crId={{ $crId }}" title="Edit">
+                            <span class="glyphicon glyphicon-list"></span>
                             </a>
                         </td>
                         <td>
@@ -104,9 +104,6 @@
     @section('scripts')
     @parent
     <script type="text/javascript">
-        $(".view-cr").click(function () {
-            alert("The functionality to view a Compute Resource is under construction.");
-        });
         $('.filterinput').keyup(function () {
             var value = $(this).val();
             if (value.length > 0) {

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/844ce86c/app/views/resource/view.blade.php
----------------------------------------------------------------------
diff --git a/app/views/resource/view.blade.php b/app/views/resource/view.blade.php
new file mode 100644
index 0000000..cb1e5f9
--- /dev/null
+++ b/app/views/resource/view.blade.php
@@ -0,0 +1,371 @@
+@extends('layout.basic')
+
+@section('page-header')
+@parent
+{{ HTML::style('css/style.css') }}
+@stop
+
+@section('content')
+
+<div class="container">
+<div class="col-md-offset-2 col-md-8">
+
+<input type="hidden" class="base-url" value="{{URL::to('/')}}"/>
+
+<div class="well">
+    <h4>Compute Resource : {{ $computeResource->hostName }}
+        <div class="pull-right">
+            <a href="{{URL::to('/')}}/cr/edit?crId={{Input::get('crId') }}" title="Edit">
+                <span class="glyphicon glyphicon-pencil"></span>
+            </a>
+        </div>
+    </h4>
+</div>
+@if( Session::has("message"))
+<span class="alert alert-success col-md-12">{{Session::get("message")}}</span>
+{{Session::forget("message") }}
+@endif
+
+<div class="col-md-12">
+    <ul class="nav nav-tabs nav-justified" id="tabs" role="tablist">
+        <li class="active"><a href="#tab-desc" data-toggle="tab">Description</a></li>
+        <li><a href="#tab-queues" data-toggle="tab">Queues</a></a></li>
+        <li><a href="#tab-filesystem" data-toggle="tab">FileSystem</a></li>
+        <li><a href="#tab-jobSubmission" data-toggle="tab">Job Submission Interfaces</a></li>
+        <li><a href="#tab-dataMovement" data-toggle="tab">Data Movement Interfaces</a></li>
+    </ul>
+</div>
+
+<div class="tab-content">
+
+<div class="tab-pane active" id="tab-desc">
+
+    <form>
+        <input type="hidden" name="crId" value="{{Input::get('crId') }}"/>
+        <input type="hidden" name="cr-edit" value="resDesc"/>
+
+        <div class="form-group required">
+            <label>Host Name</label>
+            <input readonly class="form-control hostName" value="{{ $computeResource->hostName }}"/>
+        </div>
+        <div class="form-group">
+            @if( count( $computeResource->hostAliases) )
+            <label>Host Aliases</label>
+            @foreach( $computeResource->hostAliases as $hostAlias )
+            <input readonly class="form-control" value="{{$hostAlias}}" maxlength="30" name="hostaliases[]"/>
+            @endforeach
+            @endif
+        </div>
+        <div class="form-group">
+            @if( count( $computeResource->ipAddresses))
+            <label class="control-label">IP Addresses</label>
+            @foreach( $computeResource->ipAddresses as $ip )
+            <input readonly class="form-control" value="{{ $ip }}" maxlength="30" name="ips[]"/>
+            @endforeach
+            @endif
+        </div>
+        <div class="form-group">
+            <label class="control-label">Resource Description</label>
+            <textarea readonly class="form-control" maxlength="255" name="description">{{
+                $computeResource->resourceDescription
+                }}</textarea>
+        </div>
+        <div class="form-group">
+            <label class="control-label">Maximum Memory Per Node ( In MB )</label>
+            <input readonly type="number" min="0" class="form-control" value="{{ $computeResource->maxMemoryPerNode }}"
+                   maxlength="30" name="maxMemoryPerNode"/>
+        </div>
+    </form>
+
+</div>
+
+<div class="tab-pane" id="tab-queues">
+
+    @if( is_array( $computeResource->batchQueues) )
+    <h3>Existing Queues :</h3>
+
+    <div class="panel-group" id="accordion">
+        @foreach( $computeResource->batchQueues as $index => $queue)
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <h4 class="panel-title">
+                    <a class="accordion-toggle collapsed existing-queue-name" data-toggle="collapse"
+                       data-parent="#accordion" href="#collapse-{{$index}}">{{ $queue->queueName }}</a>
+                </h4>
+            </div>
+            <div id="collapse-{{$index}}" class="panel-collapse collapse">
+                <div class="panel-body">
+                    <form>
+                        <div class="queue">
+                            <div class="form-group required">
+                                <label>Queue Name
+                                    <small> ( cannot be changed.)</small>
+                                </label>
+                                <input class="form-control" value="{{ $queue->queueName }}" maxlength="30" name="qname"
+                                       placeholder="Queue Name" readonly/>
+                            </div>
+                            @include('partials/queue-block', array('queueData'=>$queue, 'readOnly'=>true))
+                        </div>
+                    </form>
+                </div>
+            </div>
+        </div>
+        @endforeach
+    </div>
+    @endif
+
+</div>
+
+<div class="tab-pane" id="tab-filesystem">
+
+    <form role="form">
+        <div class="form-group">
+            <h3>FileSystem</h3>
+            @foreach( $fileSystems as $index => $fileSystem)
+            <label>{{ $fileSystem }}</label>
+            <input readonly class="form-control" name="fileSystems[{{ $index }}]" placeholder="{{ $fileSystem }}"
+                   value="@if( isset( $computeResource->fileSystems[ $index]) ){{ $computeResource->fileSystems[ $index] }} @endif"/>
+            @endforeach
+            </select>
+        </div>
+    </form>
+
+</div>
+
+<div class="tab-pane" id="tab-jobSubmission">
+    <br/><br/><br/><br/>
+    @if( count( $jobSubmissionInterfaces ) )
+    <div class="job-edit-info">
+        @foreach( $jobSubmissionInterfaces as $index => $JSI )
+
+        <div class="job-protocol-block">
+            <form role="form">
+                <?php $selectedJspIndex = $computeResource->jobSubmissionInterfaces[$index]->jobSubmissionProtocol; ?>
+
+                <h4>Job Submission Protocol : {{ $jobSubmissionProtocols[ $selectedJspIndex] }}</h4>
+                @if( $selectedJspIndex == $jobSubmissionProtocolsObject::LOCAL)
+                <div class="select-resource-manager-type">
+                    <div class="form-group required">
+                        <label>Selected resource manager type</label>
+                        <select disabled="true" name="resourceJobManagerType"
+                                class="form-control selected-resource-manager"
+                                required="required">
+                            @foreach( $resourceJobManagerTypes as $index => $rJmT)
+                            <option value="{{ $index }}"
+                            @if( $JSI->resourceJobManager->resourceJobManagerType == $index ) selected @endif >{{ $rJmT
+                            }}</option>
+                            @endforeach
+                        </select>
+                    </div>
+                    <div class="form-group">
+                        <label class="control-label">Push Monitoring End Point</label>
+                        <input disabled type="text" class="form-control" name="pushMonitoringEndpoint"
+                               value="{{ $JSI->resourceJobManager->pushMonitoringEndpoint }}"/>
+                    </div>
+                    <div class="form-group">
+                        <label class="control-label">Job Manager Bin Path</label>
+                        <input disabled type="text" class="form-control" name="jobManagerBinPath"
+                               value="{{ $JSI->resourceJobManager->jobManagerBinPath }}"/>
+                    </div>
+                    <div class="form-group">
+                        <h3>Job Manager Commands</h3>
+                        @foreach( $jobManagerCommands as $index => $jmc)
+                        <label class="control-label">{{ $jmc }}</label>
+                        <input disabled class="form-control" name="jobManagerCommands[{{ $index }}]"
+                               placeholder="{{ $jmc }}"
+                               value="@if( isset( $JSI->resourceJobManager->jobManagerCommands[$index] ) ) {{ $JSI->resourceJobManager->jobManagerCommands[$index] }} @endif"/>
+                        @endforeach
+                        </select>
+                    </div>
+                </div>
+                @elseif( $selectedJspIndex == $jobSubmissionProtocolsObject::SSH)
+                <div class="form-group required">
+                    <label>Selected Security Protocol</label>
+                    <select disabled="true" name="securityProtocol" required="required">
+                        @foreach( $securityProtocols as $index => $sp)
+                        <option value="{{ $index }}"
+                        @if( $JSI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+                        @endforeach
+                    </select>
+                </div>
+
+                <div class="form-group">
+                    <label class="control-label">Alternate SSH Host Name</label>
+                    <input readonly class='form-control' name='alternativeSSHHostName'
+                           value="{{ $JSI->alternativeSSHHostName}}"/>
+                </div>
+                <div class="form-group">
+                    <label class="control-label">SSH Port</label>
+                    <input readonly class='form-control' name='sshPort' value="{{ $JSI->sshPort }}"/>
+                </div>
+
+                <div class="form-group required">
+                    <label>Selected Monitoring Mode</label>
+                    <select disabled="true" name="monitorMode" required>
+                        @foreach( $monitorModes as $index => $mode)
+                        <option value="{{ $index }}"
+                        @if( $JSI->monitorMode == $index ) selected @endif>{{ $mode}}</option>
+                        @endforeach
+                    </select>
+                </div>
+
+                <div class="form-group">
+                    <div class="select-resource-manager-type">
+                        <div class="form-group required">
+                            <label>Selected resource manager type</label>
+                            <select disabled="true" name="resourceJobManagerType"
+                                    class="form-control selected-resource-manager"
+                                    required="required">
+                                @foreach( $resourceJobManagerTypes as $index => $rJmT)
+                                <option value="{{ $index }}"
+                                @if( $JSI->resourceJobManager->resourceJobManagerType == $index ) selected @endif >{{
+                                $rJmT }}</option>
+                                @endforeach
+                            </select>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label">Push Monitoring End Point</label>
+                            <input disabled type="text" class="form-control" name="pushMonitoringEndpoint"
+                                   value="{{ $JSI->resourceJobManager->pushMonitoringEndpoint }}"/>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label">Job Manager Bin Path</label>
+                            <input disabled type="text" class="form-control" name="jobManagerBinPath"
+                                   value="{{ $JSI->resourceJobManager->jobManagerBinPath }}"/>
+                        </div>
+                        <div class="form-group">
+                            <h3>Job Manager Commands</h3>
+                            @foreach( $jobManagerCommands as $index => $jmc)
+                            <label class="control-label">{{ $jmc }}</label>
+                            <input disabled class="form-control" name="jobManagerCommands[{{ $index }}]"
+                                   placeholder="{{ $jmc }}"
+                                   value="@if( isset( $JSI->resourceJobManager->jobManagerCommands[$index] ) ) {{ $JSI->resourceJobManager->jobManagerCommands[$index] }} @endif"/>
+                            @endforeach
+                        </div>
+                    </div>
+                </div>
+
+                @elseif( $selectedJspIndex == $jobSubmissionProtocolsObject::UNICORE)
+                <div class="form-group required">
+                    <label>Selected Security Protocol</label>
+                    <select disabled="true" name="securityProtocol" required="required">
+                        @foreach( $securityProtocols as $index => $sp)
+                        <option value="{{ $index }}"
+                        @if( $JSI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="form-group">
+                    <label class="form-label">Unicore End Point URL</label>
+                    <input readonly class='form-control' name='unicoreEndPointURL'
+                           value="{{ $JSI->unicoreEndPointURL }}"/>
+                </div>
+                @endif
+            </form>
+
+        </div>
+        @endforeach
+    </div>
+    @endif
+
+    <div class="select-job-protocol hide">
+        <form>
+            <div class="form-group">
+                <label class="control-label">Job Submission Protocol:</label>
+                <select disabled="true" name="jobSubmissionProtocol" class="form-control selected-job-protocol"
+                        required="required">
+                    <option></option>
+                    @foreach( $jobSubmissionProtocols as $index => $jobSubmissionProtocol)
+                    @if( ! in_array( $index, $addedJSP))
+                    <option value="{{ $index }}">{{ $jobSubmissionProtocol }}</option>
+                    @endif
+                    @endforeach
+                </select>
+            </div>
+        </form>
+    </div>
+
+</div>
+
+<div class="tab-pane" id="tab-dataMovement">
+    @if( count( $dataMovementInterfaces ) )
+    <div class="job-edit-info">
+        <br/><br/><br/>
+        @foreach( $dataMovementInterfaces as $index => $DMI )
+        <div class="data-movement-block">
+            <form>
+                <?php $selectedDMIIndex = $computeResource->dataMovementInterfaces[$index]->dataMovementProtocol; ?>
+                <h4>Data Movement Protocol : {{ $dataMovementProtocols[ $selectedDMIIndex] }}</h4>
+                @if( $selectedDMIIndex == $dataMovementProtocolsObject::LOCAL)
+                <!-- Nothing here on local UI -->
+                @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::SCP)
+                <div class="form-group">
+                    <label class="control-label">Selected Security Protocol</label>
+                    <select disabled="true" name="securityProtocol">
+                        @foreach( $securityProtocols as $index => $sp)
+                        <option value="{{ $index }}"
+                        @if( $DMI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+                        @endforeach
+                    </select>
+                </div>
+                <div class="form-group">
+                    <label class="control-label">Alternate SSH Host Name</label>
+                    <input readonly class='form-control' name='alternativeSSHHostName'
+                           value="{{ $DMI->alternativeSCPHostName }}"/>
+                </div>
+                <div class="form-group">
+                    <label class="control-label">SSH Port</label>
+                    <input readonly class='form-control' name='sshPort' value="{{ $DMI->sshPort }}"/>
+                </div>
+                @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::GridFTP)
+                <div class="form-group">
+                    <label class="control-label">Select Security Protocol</label>
+                    <select disabled="true" name="securityProtocol">
+                        @foreach( $securityProtocols as $index => $sp)
+                        <option value="{{ $index }}"
+                        @if( $DMI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+                        @endforeach
+                    </select>
+
+                    <div>
+                        <div class="form-group required">
+                            <label class="control-label">Grid FTP End Points</label>
+                            @foreach( $DMI->gridFTPEndPoints as $endPoint)
+                            <input readonly class="form-control" maxlength="30" name="gridFTPEndPoints[]"
+                                   required="required"
+                                   value="{{$endPoint}}"/>
+                            @endforeach
+                        </div>
+                    </div>
+                </div>
+                @elseif( $selectedDMIIndex == $dataMovementProtocolsObject::UNICORE_STORAGE_SERVICE)
+                <div class="form-group">
+                    <label class="control-label">Select Security Protocol</label>
+                    <select disabled="true" name="securityProtocol">
+                        @foreach( $securityProtocols as $index => $sp)
+                        <option value="{{ $index }}"
+                        @if( $DMI->securityProtocol == $index ) selected @endif>{{ $sp }}</option>
+                        @endforeach
+                    </select>
+
+                    <div>
+                        <div class="form-group required">
+                            <label class="control-label">Unicore End Point URL</label>
+                            <input readonly class="form-control" maxlength="30" name="unicoreEndPointURL"
+                                   required="required"
+                                   value="{{ $DMI->unicoreEndPointURL }}"/>
+                        </div>
+                    </div>
+                </div>
+                @endif
+            </form>
+        </div>
+        @endforeach
+    </div>
+    @endif
+</div>
+
+</div>
+</div>
+
+@stop
\ No newline at end of file


[06/42] airavata-php-gateway git commit: fixing merge conflixt

Posted by sc...@apache.org.
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/airavata-php-gateway-0.15-release
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": [


[25/42] airavata-php-gateway git commit: fixing unique directory not creation for experiment outputs

Posted by sc...@apache.org.
fixing unique directory not creation for experiment outputs


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/b031349f
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/b031349f
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/b031349f

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: b031349fbdf9024979b15bd2dd3af7952b22e90e
Parents: ae46112
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 25 16:36:51 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 25 16:37:45 2015 +0530

----------------------------------------------------------------------
 app/libraries/ExperimentUtilities.php | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/b031349f/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index 34d8ac9..871113a 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -163,7 +163,8 @@ class ExperimentUtilities
         $hostName = $_SERVER['SERVER_NAME'];
         $expPathConstant = 'file://' . $sshUser . '@' . $hostName . ':' . Config::get('pga_config.airavata')['experiment-data-absolute-path'];
 
-        $advHandling->outputDataDir = Config::get('pga_config.airavata')['experiment-data-absolute-path'];
+        $advHandling->outputDataDir = str_replace(Config::get('pga_config.airavata')['experiment-data-absolute-path'],
+            $expPathConstant, ExperimentUtilities::$experimentPath);
         $userConfigData->advanceOutputDataHandling = $advHandling;
 
         //TODO: replace constructor with a call to airvata to get a prepopulated experiment template


[33/42] airavata-php-gateway git commit: adding missing echo statement

Posted by sc...@apache.org.
adding missing echo statement


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/47f9f0f8
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/47f9f0f8
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/47f9f0f8

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 47f9f0f8d1f04f3b3b6b73d7ef1009e59f509cd8
Parents: 28f94f1
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jul 1 01:24:58 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jul 1 02:09:48 2015 +0530

----------------------------------------------------------------------
 app/views/partials/experiment-info.blade.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/47f9f0f8/app/views/partials/experiment-info.blade.php
----------------------------------------------------------------------
diff --git a/app/views/partials/experiment-info.blade.php b/app/views/partials/experiment-info.blade.php
index 5b69cfe..55cd2fb 100644
--- a/app/views/partials/experiment-info.blade.php
+++ b/app/views/partials/experiment-info.blade.php
@@ -40,7 +40,7 @@
         <tr>
             <td><strong>Compute resource</strong></td>
             <td><?php if (!empty($expVal["computeResource"])) {
-                    $expVal["computeResource"]->hostName;
+                    echo $expVal["computeResource"]->hostName;
                 } ?></td>
         </tr>
         <tr>


[34/42] airavata-php-gateway git commit: Fixing AIRAVATA-1742

Posted by sc...@apache.org.
Fixing AIRAVATA-1742


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/914011b1
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/914011b1
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/914011b1

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 914011b1a0eca5f720fdd7266543ac046559dec4
Parents: 47f9f0f
Author: Supun Nakandala <sc...@apache.org>
Authored: Wed Jul 1 02:00:09 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Wed Jul 1 02:09:59 2015 +0530

----------------------------------------------------------------------
 app/libraries/ExperimentUtilities.php | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/914011b1/app/libraries/ExperimentUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php
index e3de925..83d849d 100644
--- a/app/libraries/ExperimentUtilities.php
+++ b/app/libraries/ExperimentUtilities.php
@@ -18,6 +18,8 @@ class ExperimentUtilities
 {
     private static $experimentPath;
 
+    private static $sshUser = "root";
+
     /**
      * Launch the experiment with the given ID
      * @param $expId
@@ -160,9 +162,8 @@ class ExperimentUtilities
         }
 
         $advHandling = new AdvancedOutputDataHandling();
-        $sshUser = "root";
         $hostName = $_SERVER['SERVER_NAME'];
-        $expPathConstant = 'file://' . $sshUser . '@' . $hostName . ':' . Config::get('pga_config.airavata')['experiment-data-absolute-path'];
+        $expPathConstant = 'file://' . ExperimentUtilities::$sshUser . '@' . $hostName . ':' . Config::get('pga_config.airavata')['experiment-data-absolute-path'];
 
         $advHandling->outputDataDir = str_replace(Config::get('pga_config.airavata')['experiment-data-absolute-path'],
             $expPathConstant, ExperimentUtilities::$experimentPath);
@@ -288,8 +289,8 @@ class ExperimentUtilities
                     Please try again later or report a bug using the link in the Help menu.</p>');
                         $experimentAssemblySuccessful = false;
                     }
-
-                    $experimentInput->value = Config::get('pga_config.airavata')['experiment-data-absolute-path'];
+                    $hostName = $_SERVER['SERVER_NAME'];
+                    $experimentInput->value = 'file://' . ExperimentUtilities::$sshUser . '@' . $hostName . ':' . $filePath;
                     $experimentInput->type = $applicationInput->type;
 
                 } else {


[18/42] airavata-php-gateway git commit: property value to disable app-catalog data caching

Posted by sc...@apache.org.
property value to disable app-catalog data caching


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/2e8b242b
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/2e8b242b
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/2e8b242b

Branch: refs/heads/airavata-php-gateway-0.15-release
Commit: 2e8b242b812a41c167fad66d26279b4bc1ca9218
Parents: 3993dc3
Author: Supun Nakandala <sc...@apache.org>
Authored: Thu Jun 18 16:33:37 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Thu Jun 18 16:33:37 2015 +0530

----------------------------------------------------------------------
 app/config/pga_config.php.template |  5 +++++
 app/libraries/AppUtilities.php     | 13 +++++++++----
 app/libraries/CRUtilities.php      | 13 +++++++++----
 3 files changed, 23 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2e8b242b/app/config/pga_config.php.template
----------------------------------------------------------------------
diff --git a/app/config/pga_config.php.template b/app/config/pga_config.php.template
index 27ec861..2807fa9 100644
--- a/app/config/pga_config.php.template
+++ b/app/config/pga_config.php.template
@@ -127,6 +127,11 @@ return array(
         'wall-time-limit' => '30',
 
         /**
+         * Enable app-catalog cache
+         */
+        'enable-app-catalog-cache' => true,
+
+        /**
          * Life time of app catalog data cache in minutes
          */
         'app-catalog-cache-duration' => 5

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2e8b242b/app/libraries/AppUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/AppUtilities.php b/app/libraries/AppUtilities.php
index a789fcf..43a8d90 100644
--- a/app/libraries/AppUtilities.php
+++ b/app/libraries/AppUtilities.php
@@ -248,14 +248,19 @@ class AppUtilities
         $applicationInterface = null;
 
         try {
-            if (Cache::has('APP-' . $id)) {
-                return Cache::get('APP-' . $id);
+            if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+                if (Cache::has('APP-' . $id)) {
+                    return Cache::get('APP-' . $id);
+                } else {
+                    $applicationInterface = Airavata::getApplicationInterface($id);
+                    Cache::put('APP-' . $id, $applicationInterface, Config::get('pga_config.airavata')['app-catalog-cache-duration']);
+                    return $applicationInterface;
+                }
             } else {
                 $applicationInterface = Airavata::getApplicationInterface($id);
-                Cache::put('APP-' . $id, $applicationInterface, Config::get('pga_config.airavata')['app-catalog-cache-duration']);
-                return $applicationInterface;
             }
 
+
         } catch (InvalidRequestException $ire) {
             CommonUtilities::print_error_message('<p>There was a problem getting the application interface.
             Please try again later or submit a bug report using the link in the Help menu.</p>' .

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/2e8b242b/app/libraries/CRUtilities.php
----------------------------------------------------------------------
diff --git a/app/libraries/CRUtilities.php b/app/libraries/CRUtilities.php
index 9e3069d..97723cb 100755
--- a/app/libraries/CRUtilities.php
+++ b/app/libraries/CRUtilities.php
@@ -420,13 +420,18 @@ class CRUtilities
         $computeResource = null;
 
         try {
-            if (Cache::has('CR-' . $id)) {
-                return Cache::get('CR-' . $id);
+            if (Config::get('pga_config.airavata')['enable-app-catalog-cache']) {
+                if (Cache::has('CR-' . $id)) {
+                    return Cache::get('CR-' . $id);
+                } else {
+                    $computeResource = Airavata::getComputeResource($id);
+                    Cache::put('CR-' . $id, $computeResource, Config::get('pga_config.airavata')['app-catalog-cache-duration']);
+                    return $computeResource;
+                }
             } else {
                 $computeResource = Airavata::getComputeResource($id);
-                Cache::put('CR-' . $id, $computeResource, Config::get('pga_config.airavata')['app-catalog-cache-duration']);
-                return $computeResource;
             }
+
         } catch (InvalidRequestException $ire) {
             CommonUtilities::print_error_message('<p>There was a problem getting the compute resource.
             Please try again later or submit a bug report using the link in the Help menu.</p>' .