You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2015/09/08 20:45:42 UTC
airavata git commit: Adding getJobStatus implementation based on new
models.
Repository: airavata
Updated Branches:
refs/heads/master 26f1039b6 -> b9015cd0e
Adding getJobStatus implementation based on new models.
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b9015cd0
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b9015cd0
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b9015cd0
Branch: refs/heads/master
Commit: b9015cd0eea58520f69237e5ed597a61d4774904
Parents: 26f1039
Author: Suresh Marru <sm...@apache.org>
Authored: Tue Sep 8 14:45:36 2015 -0400
Committer: Suresh Marru <sm...@apache.org>
Committed: Tue Sep 8 14:45:36 2015 -0400
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 40 ++++++++------------
1 file changed, 15 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/b9015cd0/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 6089a10..b97f288 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -1523,41 +1523,32 @@ public class AiravataServerHandler implements Airavata.Iface {
@SecurityCheck
public Map<String, JobStatus> getJobStatuses(AuthzToken authzToken, String airavataExperimentId)
throws AuthorizationException, TException {
- Map<String, JobStatus> jobStatus = new HashMap<String, JobStatus>();
- // FIXME : implement this method with new data model
-/* try {
+ try {
experimentCatalog = RegistryFactory.getDefaultExpCatalog();
if (!experimentCatalog.isExist(ExperimentCatalogModelType.EXPERIMENT, airavataExperimentId)){
- logger.error(airavataExperimentId, "Error while retrieving job status, the experiment {} doesn't exist.", airavataExperimentId);
+ logger.error(airavataExperimentId, "Error while retrieving job details, experiment {} doesn't exist.", airavataExperimentId);
throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
}
- List<Object> workflowNodes = experimentCatalog.get(ExperimentCatalogModelType.WORKFLOW_NODE_DETAIL, Constants.FieldConstants.WorkflowNodeConstants.EXPERIMENT_ID, airavataExperimentId);
- if (workflowNodes != null && !workflowNodes.isEmpty()){
- for (Object wf : workflowNodes){
- String nodeInstanceId = ((WorkflowNodeDetails) wf).getNodeInstanceId();
- List<Object> taskDetails = experimentCatalog.get(ExperimentCatalogModelType.TASK_DETAIL, Constants.FieldConstants.TaskDetailConstants.NODE_ID, nodeInstanceId);
- if (taskDetails != null && !taskDetails.isEmpty()){
- for (Object ts : taskDetails){
- String taskID = ((TaskDetails) ts).getTaskID();
- List<Object> jobDetails = experimentCatalog.get(ExperimentCatalogModelType.JOB_DETAIL, Constants.FieldConstants.JobDetaisConstants.TASK_ID, taskID);
- if (jobDetails != null && !jobDetails.isEmpty()){
- for (Object job : jobDetails){
- String jobID = ((JobDetails) job).getJobID();
- jobStatus.put(jobID, ((JobDetails) job).getJobStatus());
- }
- }
- }
+ List<Object> processModels = experimentCatalog.get(ExperimentCatalogModelType.PROCESS, Constants.FieldConstants.ProcessConstants.EXPERIMENT_ID, airavataExperimentId);
+ Map<String, JobStatus> jobStatus = new HashMap<String, JobStatus>();
+ if (processModels != null && !processModels.isEmpty()){
+ for (Object process : processModels) {
+ String processId = ((ProcessModel)process).getProcessId();
+ List<Object> jobs = experimentCatalog.get(ExperimentCatalogModelType.JOB, Constants.FieldConstants.JobConstants.PROCESS_ID, processId);
+ for (Object jobObject : jobs) {
+ String jobID = ((JobModel)jobObject).getJobId();
+ jobStatus.put(jobID, ((JobModel)jobObject).getJobStatus());
}
}
}
+ return jobStatus;
} catch (Exception e) {
- logger.error(airavataExperimentId, "Error while retrieving the job statuses", e);
+ logger.error(airavataExperimentId, "Error while retrieving the job details", e);
AiravataSystemException exception = new AiravataSystemException();
exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
- exception.setMessage("Error while retrieving the job statuses. More info : " + e.getMessage());
+ exception.setMessage("Error while retrieving the job details. More info : " + e.getMessage());
throw exception;
- }*/
- return jobStatus;
+ }
}
@Override
@@ -1581,7 +1572,6 @@ public class AiravataServerHandler implements Airavata.Iface {
}
}
}
-
return jobList;
} catch (Exception e) {
logger.error(airavataExperimentId, "Error while retrieving the job details", e);