This is an automated email from the ASF dual-hosted git repository.
dimuthuupe pushed a commit to branch staging
in repository https://gitbox.apache.org/repos/asf/airavata.git
The following commit(s) were added to refs/heads/staging by this push:
new 9b5e3eb Getting all experiment statuses instead of last one
9b5e3eb is described below
commit 9b5e3eb6bc0f39c9cfab5a642fba295fcaa5fbb6
Author: Dimuthu Wannipurage <[email protected]>
AuthorDate: Sat Mar 30 02:19:49 2019 -0400
Getting all experiment statuses instead of last one
---
.../experiment/catalog/resources/ExperimentResource.java | 13 +++++++++++++
.../experiment/catalog/utils/ThriftDataModelConversion.java | 10 +++++-----
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
index ad8066d..d39d7b9 100644
---
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
+++
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
@@ -34,6 +34,7 @@ import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.sql.Timestamp;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.List;
public class ExperimentResource extends AbstractExpCatResource {
@@ -569,6 +570,18 @@ public class ExperimentResource extends
AbstractExpCatResource {
ExperimentStatusResource statusResource =
(ExperimentStatusResource) resource;
experimentStatusResources.add(statusResource);
}
+
experimentStatusResources.sort(Comparator.comparing(ExperimentStatusResource::getTimeOfStateChange).reversed());
+ for (int i = 0; i < experimentStatusResources.size(); i++) {
+
+ ExperimentStatusResource thisState =
experimentStatusResources.get(i);
+ if
(thisState.getState().equals(ExperimentState.COMPLETED.toString()) ||
+
thisState.getState().equals(ExperimentState.FAILED.toString()) ||
+
thisState.getState().equals(ExperimentState.CANCELED.toString())) {
+ experimentStatusResources.remove(i);
+ experimentStatusResources.add(0, thisState);
+ break;
+ }
+ }
return experimentStatusResources;
}
diff --git
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
index bcf9349..2149046 100644
---
a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
+++
b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
@@ -66,6 +66,7 @@ import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.stream.Collectors;
public class ThriftDataModelConversion {
private final static Logger logger =
LoggerFactory.getLogger(ThriftDataModelConversion.class);
@@ -169,11 +170,10 @@ public class ThriftDataModelConversion {
experiment.setExperimentInputs(getExpInputs(experimentInputs));
List<ExperimentOutputResource> experimentOutputs =
experimentResource.getExperimentOutputs();
experiment.setExperimentOutputs(getExpOutputs(experimentOutputs));
- ExperimentStatusResource experimentStatus =
experimentResource.getExperimentStatus();
- if (experimentStatus != null){
- List<ExperimentStatus> experimentStatuses = new ArrayList<>();
- experimentStatuses.add(getExperimentStatus(experimentStatus));
- experiment.setExperimentStatus(experimentStatuses);
+ List<ExperimentStatusResource> experimentStatuses =
experimentResource.getExperimentStatuses();
+ if (experimentStatuses != null){
+ experiment.setExperimentStatus(experimentStatuses.stream()
+
.map(ThriftDataModelConversion::getExperimentStatus).collect(Collectors.toList()));
}
List<ExperimentErrorResource> errorDetails =
experimentResource.getExperimentErrors();
if (errorDetails!= null && !errorDetails.isEmpty()){