From 290874fe0c4f0ac51ac25f4f96b7ab589c6622a8 Mon Sep 17 00:00:00 2001 From: Sachin Kariyattin Date: Tue, 26 Sep 2017 23:52:25 -0400 Subject: [PATCH 1/5] AIRAVATA-2531 modified search results to include job details --- app/libraries/ExperimentUtilities.php | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php index ab91a3b9d..36f96b571 100755 --- a/app/libraries/ExperimentUtilities.php +++ b/app/libraries/ExperimentUtilities.php @@ -691,7 +691,7 @@ public static function clone_experiment($expId, $projectId) if ($experiment->userConfigurationData->useUserCRPref){ // Check if this user has a user CR preference for the compute // resource, if not we want to switch this flag to false - $userComputeResourcePreferences = URPUtilities::get_all_validated_user_compute_resource_prefs(); + $userComputeResourcePreferences = URPUtilities::get_all_user_compute_resource_prefs(); $userHasComputeResourcePreference = array_key_exists($computeResourceId, $userComputeResourcePreferences); $experiment->userConfigurationData->useUserCRPref = $userHasComputeResourcePreference; } @@ -1243,14 +1243,36 @@ public static function get_expsearch_results_with_pagination($inputs, $limit, $o if(Config::get('pga_config.airavata')["data-sharing-enabled"]){ if (SharingUtilities::userCanRead(Session::get('username'), $experiment->experimentId, ResourceType::EXPERIMENT)) { $expValue = ExperimentUtilities::get_experiment_values($experiment, true); + $jobDetails = ExperimentUtilities::get_job_details($experiment->experimentId); + + foreach( $jobDetails as $index => $jobDetail){ + if(isset($jobDetail->jobStatuses)){ + $jobDetails[ $index]->jobStatuses[0]->jobStateName = JobState::$__names[$jobDetail->jobStatuses[0]->jobState]; + }else { + $jobDetails[ $index]->jobStatuses = [new stdClass()]; + $jobDetails[ $index]->jobStatuses[0]->jobStateName = null; + } + } + $expValue["jobDetails"] = $jobDetails $expContainer[$expNum]['experiment'] = $experiment; if ($expValue["experimentStatusString"] == "FAILED") $expValue["editable"] = false; $expContainer[$expNum]['expValue'] = $expValue; $expNum++; } - }else{ + }else { $expValue = ExperimentUtilities::get_experiment_values($experiment, true); + $jobDetails = ExperimentUtilities::get_job_details($experiment->experimentId); + + foreach( $jobDetails as $index => $jobDetail){ + if(isset($jobDetail->jobStatuses)){ + $jobDetails[ $index]->jobStatuses[0]->jobStateName = JobState::$__names[$jobDetail->jobStatuses[0]->jobState]; + }else { + $jobDetails[ $index]->jobStatuses = [new stdClass()]; + $jobDetails[ $index]->jobStatuses[0]->jobStateName = null; + } + } + $expValue["jobDetails"] = $jobDetails $expContainer[$expNum]['experiment'] = $experiment; if ($expValue["experimentStatusString"] == "FAILED") $expValue["editable"] = false; From f2fecb3519141fd9875fa4748a8819f04712ed18 Mon Sep 17 00:00:00 2001 From: Sachin Kariyattin Date: Wed, 27 Sep 2017 00:15:56 -0400 Subject: [PATCH 2/5] AIRAVATA-2531 modified search results to include job details --- app/libraries/ExperimentUtilities.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php index 36f96b571..5fa51e901 100755 --- a/app/libraries/ExperimentUtilities.php +++ b/app/libraries/ExperimentUtilities.php @@ -691,7 +691,7 @@ public static function clone_experiment($expId, $projectId) if ($experiment->userConfigurationData->useUserCRPref){ // Check if this user has a user CR preference for the compute // resource, if not we want to switch this flag to false - $userComputeResourcePreferences = URPUtilities::get_all_user_compute_resource_prefs(); + $userComputeResourcePreferences = URPUtilities::get_all_validated_user_compute_resource_prefs(); $userHasComputeResourcePreference = array_key_exists($computeResourceId, $userComputeResourcePreferences); $experiment->userConfigurationData->useUserCRPref = $userHasComputeResourcePreference; } From c9ceddb8f4be0a97c124544ac9c74e4e62f4b83a Mon Sep 17 00:00:00 2001 From: Sachin Kariyattin Date: Sun, 1 Oct 2017 17:18:12 -0400 Subject: [PATCH 3/5] Change PGA + registry to show Job details (backend part) --- app/libraries/AdminUtilities.php | 13 +++++++++++++ app/libraries/ExperimentUtilities.php | 24 +----------------------- 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/app/libraries/AdminUtilities.php b/app/libraries/AdminUtilities.php index b66ab4c5e..cb93ceb7f 100644 --- a/app/libraries/AdminUtilities.php +++ b/app/libraries/AdminUtilities.php @@ -4,6 +4,7 @@ use Airavata\Model\Workspace\GatewayApprovalStatus; use Airavata\Model\Workspace\Notification; use Airavata\Model\Workspace\NotificationPriority; +use Airavata\Model\Status\JobState; use Airavata\Model\Credential\Store\CredentialOwnerType; use Illuminate\Support\Facades\Log; @@ -300,7 +301,19 @@ public static function get_experiments_of_time_range($inputs) foreach ($experiments as $experiment) { //var_dump( $experiment); exit; $expValue = ExperimentUtilities::get_experiment_values($experiment, true); + $jobDetails = ExperimentUtilities::get_job_details($experiment->experimentId); + foreach( $jobDetails as $index => $jobDetail){ + if(isset($jobDetail->jobStatuses)){ + $jobDetails[ $index]->jobStatuses[0]->jobStateName = JobState::$__names[$jobDetail->jobStatuses[0]->jobState]; + } + else{ + $jobDetails[ $index]->jobStatuses = [new stdClass()]; + $jobDetails[ $index]->jobStatuses[0]->jobStateName = null; + } + } + $expContainer[$expNum]['experiment'] = $experiment; + $expContainer[$expNum]['jobDetails'] = $jobDetails; $expValue["editable"] = false; $expContainer[$expNum]['expValue'] = $expValue; $expNum++; diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php index 5fa51e901..bbf437092 100755 --- a/app/libraries/ExperimentUtilities.php +++ b/app/libraries/ExperimentUtilities.php @@ -1242,18 +1242,7 @@ public static function get_expsearch_results_with_pagination($inputs, $limit, $o foreach ($experiments as $experiment) { if(Config::get('pga_config.airavata')["data-sharing-enabled"]){ if (SharingUtilities::userCanRead(Session::get('username'), $experiment->experimentId, ResourceType::EXPERIMENT)) { - $expValue = ExperimentUtilities::get_experiment_values($experiment, true); - $jobDetails = ExperimentUtilities::get_job_details($experiment->experimentId); - - foreach( $jobDetails as $index => $jobDetail){ - if(isset($jobDetail->jobStatuses)){ - $jobDetails[ $index]->jobStatuses[0]->jobStateName = JobState::$__names[$jobDetail->jobStatuses[0]->jobState]; - }else { - $jobDetails[ $index]->jobStatuses = [new stdClass()]; - $jobDetails[ $index]->jobStatuses[0]->jobStateName = null; - } - } - $expValue["jobDetails"] = $jobDetails + $expValue = ExperimentUtilities::get_experiment_values($experiment, true); $expContainer[$expNum]['experiment'] = $experiment; if ($expValue["experimentStatusString"] == "FAILED") $expValue["editable"] = false; @@ -1262,17 +1251,6 @@ public static function get_expsearch_results_with_pagination($inputs, $limit, $o } }else { $expValue = ExperimentUtilities::get_experiment_values($experiment, true); - $jobDetails = ExperimentUtilities::get_job_details($experiment->experimentId); - - foreach( $jobDetails as $index => $jobDetail){ - if(isset($jobDetail->jobStatuses)){ - $jobDetails[ $index]->jobStatuses[0]->jobStateName = JobState::$__names[$jobDetail->jobStatuses[0]->jobState]; - }else { - $jobDetails[ $index]->jobStatuses = [new stdClass()]; - $jobDetails[ $index]->jobStatuses[0]->jobStateName = null; - } - } - $expValue["jobDetails"] = $jobDetails $expContainer[$expNum]['experiment'] = $experiment; if ($expValue["experimentStatusString"] == "FAILED") $expValue["editable"] = false; From 788ccb4c2464f3e192918ea4f525f2d967a00be3 Mon Sep 17 00:00:00 2001 From: Sachin Kariyattin Date: Sun, 1 Oct 2017 17:23:40 -0400 Subject: [PATCH 4/5] AIRAVATA 2531 Change PGA + registry to show Job details (backend part) --- app/libraries/ExperimentUtilities.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php index bbf437092..ab91a3b9d 100755 --- a/app/libraries/ExperimentUtilities.php +++ b/app/libraries/ExperimentUtilities.php @@ -1242,14 +1242,14 @@ public static function get_expsearch_results_with_pagination($inputs, $limit, $o foreach ($experiments as $experiment) { if(Config::get('pga_config.airavata')["data-sharing-enabled"]){ if (SharingUtilities::userCanRead(Session::get('username'), $experiment->experimentId, ResourceType::EXPERIMENT)) { - $expValue = ExperimentUtilities::get_experiment_values($experiment, true); + $expValue = ExperimentUtilities::get_experiment_values($experiment, true); $expContainer[$expNum]['experiment'] = $experiment; if ($expValue["experimentStatusString"] == "FAILED") $expValue["editable"] = false; $expContainer[$expNum]['expValue'] = $expValue; $expNum++; } - }else { + }else{ $expValue = ExperimentUtilities::get_experiment_values($experiment, true); $expContainer[$expNum]['experiment'] = $experiment; if ($expValue["experimentStatusString"] == "FAILED") From 3a59cca0c336a359cfda45ad1b17332e6cbb28e6 Mon Sep 17 00:00:00 2001 From: Sachin Kariyattin Date: Sun, 1 Oct 2017 19:46:58 -0400 Subject: [PATCH 5/5] AIRAVATA 2531 Change PGA + registry to show Job details (backend part) --- app/libraries/ExperimentUtilities.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/libraries/ExperimentUtilities.php b/app/libraries/ExperimentUtilities.php index ab91a3b9d..64f24ecd8 100755 --- a/app/libraries/ExperimentUtilities.php +++ b/app/libraries/ExperimentUtilities.php @@ -1243,7 +1243,18 @@ public static function get_expsearch_results_with_pagination($inputs, $limit, $o if(Config::get('pga_config.airavata')["data-sharing-enabled"]){ if (SharingUtilities::userCanRead(Session::get('username'), $experiment->experimentId, ResourceType::EXPERIMENT)) { $expValue = ExperimentUtilities::get_experiment_values($experiment, true); + $jobDetails = ExperimentUtilities::get_job_details($experiment->experimentId); + foreach( $jobDetails as $index => $jobDetail){ + if(isset($jobDetail->jobStatuses)){ + $jobDetails[ $index]->jobStatuses[0]->jobStateName = JobState::$__names[$jobDetail->jobStatuses[0]->jobState]; + }else { + $jobDetails[ $index]->jobStatuses = [new stdClass()]; + $jobDetails[ $index]->jobStatuses[0]->jobStateName = null; + } + } + $expContainer[$expNum]['experiment'] = $experiment; + $expContainer[$expNum]['jobDetails'] = $jobDetails; if ($expValue["experimentStatusString"] == "FAILED") $expValue["editable"] = false; $expContainer[$expNum]['expValue'] = $expValue; @@ -1251,7 +1262,17 @@ public static function get_expsearch_results_with_pagination($inputs, $limit, $o } }else{ $expValue = ExperimentUtilities::get_experiment_values($experiment, true); + $jobDetails = ExperimentUtilities::get_job_details($experiment->experimentId); + foreach( $jobDetails as $index => $jobDetail){ + if(isset($jobDetail->jobStatuses)){ + $jobDetails[ $index]->jobStatuses[0]->jobStateName = JobState::$__names[$jobDetail->jobStatuses[0]->jobState]; + }else { + $jobDetails[ $index]->jobStatuses = [new stdClass()]; + $jobDetails[ $index]->jobStatuses[0]->jobStateName = null; + } + } $expContainer[$expNum]['experiment'] = $experiment; + $expContainer[$expNum]['jobDetails'] = $jobDetails; if ($expValue["experimentStatusString"] == "FAILED") $expValue["editable"] = false; $expContainer[$expNum]['expValue'] = $expValue;