You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2014/08/19 19:01:30 UTC
git commit: fixing AIRAVATA-1353
Repository: airavata
Updated Branches:
refs/heads/master 9c1f44d04 -> 5a750b398
fixing AIRAVATA-1353
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/5a750b39
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/5a750b39
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/5a750b39
Branch: refs/heads/master
Commit: 5a750b398ecb675b2ca3ed41a5bf3a4dadeb9ee2
Parents: 9c1f44d
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Tue Aug 19 13:01:23 2014 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Tue Aug 19 13:01:23 2014 -0400
----------------------------------------------------------------------
.../samples/TestCreateLaunchExperiment.java | 5 ++-
.../registry/jpa/impl/ExperimentRegistry.java | 44 ++++++++++++++++++--
2 files changed, 43 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/5a750b39/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
index c191f91..b660097 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
@@ -69,9 +69,10 @@ public class TestCreateLaunchExperiment {
Calendar cal2 = Calendar.getInstance();
Long to = cal2.getTimeInMillis();
- List<ExperimentSummary> experiments = searchExperimentsByDate(airavata, "admin", from, to);
+ List<ExperimentSummary> experiments = getExperimentsForApplication(airavata, "admin", "e");
for (ExperimentSummary experimentSummary : experiments){
- System.out.println(experimentSummary.getExperimentID());
+// System.out.println(experimentSummary.getExperimentID());
+ System.out.println(experimentSummary.getApplicationId());
// System.out.println(experimentSummary.getExperimentStatus().getExperimentState().toString());
}
// getAllComputeResources(airavata);
http://git-wip-us.apache.org/repos/asf/airavata/blob/5a750b39/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
index b8f7b0d..29de636 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
@@ -2648,6 +2648,8 @@ public class ExperimentRegistry {
fil.put(AbstractResource.ExperimentConstants.EXECUTION_USER, filters.get(field));
}else if (field.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_DESC)){
fil.put(AbstractResource.ExperimentConstants.DESCRIPTION, filters.get(field));
+ }else if (field.equals(Constants.FieldConstants.ExperimentConstants.APPLICATION_ID)){
+ fil.put(AbstractResource.ExperimentConstants.APPLICATION_ID, filters.get(field));
}else if (field.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS)){
return searchExperimentsByStatus(ExperimentState.valueOf(filters.get(field)));
}else if (field.equals(Constants.FieldConstants.ExperimentConstants.FROM_DATE)){
@@ -2659,10 +2661,14 @@ public class ExperimentRegistry {
if (fromTime != 0 && toTime != 0){
return searchExperimentsByCreationTime(new Timestamp(fromTime), new Timestamp(toTime));
}
- List<ExperimentResource> experimentResources = workerResource.searchExperiments(fil);
- if (experimentResources != null && !experimentResources.isEmpty()){
- for (ExperimentResource ex : experimentResources){
- experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
+ if (fil.containsKey(AbstractResource.ExperimentConstants.APPLICATION_ID)){
+ return searchExperimentsByApplication(fil);
+ }else {
+ List<ExperimentResource> experimentResources = workerResource.searchExperiments(fil);
+ if (experimentResources != null && !experimentResources.isEmpty()){
+ for (ExperimentResource ex : experimentResources){
+ experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
+ }
}
}
return experimentSummaries;
@@ -2692,6 +2698,36 @@ public class ExperimentRegistry {
}
}
+ public List<ExperimentSummary> searchExperimentsByApplication (Map<String, String> fil) throws RegistryException {
+ try {
+ List<ExperimentSummary> experimentSummaries = new ArrayList<ExperimentSummary>();
+ List<ExperimentResource> experimentResources = workerResource.searchExperiments(fil);
+ if (experimentResources != null && !experimentResources.isEmpty()) {
+ for (ExperimentResource ex : experimentResources) {
+ String applicationId = ex.getApplicationId();
+ String[] splits = applicationId.split("_");
+ if (splits.length != 0){
+ for (int i = 0; i< splits.length -1; i++){
+ String appId = fil.get(AbstractResource.ExperimentConstants.APPLICATION_ID);
+ if (!appId.equals("*")){
+ if (splits[i].contains(appId)){
+ experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
+ }
+ }else {
+ experimentSummaries.add(ThriftDataModelConversion.getExperimentSummary(ex));
+ }
+ }
+ }
+ }
+ }
+ return experimentSummaries;
+
+ } catch (Exception e) {
+ logger.error("Error while retrieving experiment summary from registry", e);
+ throw new RegistryException(e);
+ }
+ }
+
public List<ExperimentSummary> searchExperimentsByCreationTime (Timestamp fromTime, Timestamp toTime) throws RegistryException {
try {
List<ExperimentSummary> experimentSummaries = new ArrayList<ExperimentSummary>();