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/05/31 23:23:24 UTC

[13/13] airavata git commit: Removing Error Details from ExperimentSummary object and improving the searchExperiments method

Removing Error Details from ExperimentSummary object and improving the searchExperiments method


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/7bc175fe
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/7bc175fe
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/7bc175fe

Branch: refs/heads/master
Commit: 7bc175fe3ca3e727d2930d6894d4ea0216c680ff
Parents: 7e67ca0
Author: Supun Nakandala <sc...@apache.org>
Authored: Mon Jun 1 02:51:15 2015 +0530
Committer: Supun Nakandala <sc...@apache.org>
Committed: Mon Jun 1 02:51:15 2015 +0530

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |  26 +-
 .../java/org/apache/airavata/api/Airavata.java  |  69 +-
 .../main/resources/lib/airavata/Airavata.cpp    | 906 ++++++++++---------
 .../src/main/resources/lib/airavata/Airavata.h  |  16 +-
 .../lib/airavata/Airavata_server.skeleton.cpp   |   2 +-
 .../lib/airavata/experimentModel_types.cpp      |  56 +-
 .../lib/airavata/experimentModel_types.h        |  30 +-
 .../resources/lib/Airavata/API/Airavata.php     |  12 +-
 .../Model/Workspace/Experiment/Types.php        |  65 +-
 .../lib/apache/airavata/api/Airavata.py         |  12 +-
 .../model/workspace/experiment/ttypes.py        |  49 +-
 .../workspace/experiment/ExperimentSummary.java | 163 +---
 .../airavataAPI.thrift                          |   4 +-
 .../experimentModel.thrift                      |  10 +-
 .../registry/jpa/model/ErrorDetail.java         |   6 +-
 .../registry/jpa/model/Experiment.java          |   4 +-
 .../persistance/registry/jpa/model/Status.java  |   8 +-
 .../resources/ExperimentSummaryResource.java    |   9 -
 .../registry/jpa/resources/Utils.java           |  22 -
 .../registry/jpa/resources/WorkerResource.java  |  19 +-
 .../jpa/utils/ThriftDataModelConversion.java    |   4 -
 21 files changed, 657 insertions(+), 835 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/7bc175fe/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 f34b361..de3590f 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
@@ -936,14 +936,15 @@ public class AiravataServerHandler implements Airavata.Iface {
      * @param userName
      *       Username of the requested user
      * @param filters
-     *       map of multiple filter criteria. keys has to be camel case field values eg. experimentName
+     *       map of multiple filter criteria.
      * @param limit
      *       Amount of results to be fetched
      * @param offset
      *       The starting point of the results to be fetched
      */
     @Override
-    public List<ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<String, String> filters, int limit, int offset) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
+    public List<ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<ExperimentSearchFields, String> filters, int limit, int offset)
+            throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         if (!validateString(userName)){
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
@@ -965,7 +966,26 @@ public class AiravataServerHandler implements Airavata.Iface {
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
             registry = RegistryFactory.getRegistry(gatewayId);
-            List<Object> results = registry.search(RegistryModelType.EXPERIMENT, filters, limit,
+            Map<String, String> regFilters = new HashMap();
+            regFilters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
+            regFilters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId);
+            for(Map.Entry<ExperimentSearchFields, String> entry : filters.entrySet())
+            {
+                if(entry.getKey().equals(ExperimentSearchFields.EXPERIMENT_NAME)){
+                    regFilters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME, entry.getValue());
+                }else if(entry.getKey().equals(ExperimentSearchFields.EXPERIMENT_DESC)){
+                    regFilters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_DESC, entry.getValue());
+                }else if(entry.getKey().equals(ExperimentSearchFields.APPLICATION_ID)){
+                    regFilters.put(Constants.FieldConstants.ExperimentConstants.APPLICATION_ID, entry.getValue());
+                }else if(entry.getKey().equals(ExperimentSearchFields.STATUS)){
+                    regFilters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS, entry.getValue());
+                }else if(entry.getKey().equals(ExperimentSearchFields.FROM_DATE)){
+                    regFilters.put(Constants.FieldConstants.ExperimentConstants.FROM_DATE, entry.getValue());
+                }else if(entry.getKey().equals(ExperimentSearchFields.TO_DATE)){
+                    regFilters.put(Constants.FieldConstants.ExperimentConstants.TO_DATE, entry.getValue());
+                }
+            }
+            List<Object> results = registry.search(RegistryModelType.EXPERIMENT, regFilters, limit,
                     offset, Constants.FieldConstants.ExperimentConstants.CREATION_TIME, ResultOrderType.DESC);
             for (Object object : results) {
                 summaries.add((ExperimentSummary) object);

http://git-wip-us.apache.org/repos/asf/airavata/blob/7bc175fe/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index f5cf666..7ffa368 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -467,7 +467,7 @@ import org.slf4j.LoggerFactory;
      * @param userName
      *       Username of the requested user
      * @param filters
-     *       map of multiple filter criteria. keys has to be camel case field values eg. experimentName
+     *       map of multiple filter criteria.
      * @param limit
      *       Amount of results to be fetched
      * @param offset
@@ -479,7 +479,7 @@ import org.slf4j.LoggerFactory;
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<String,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException;
 
     /**
      * Get all Experiments within a Project
@@ -1875,7 +1875,7 @@ import org.slf4j.LoggerFactory;
 
     public void searchExperimentsByCreationTimeWithPagination(String gatewayId, String userName, long fromTime, long toTime, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void searchExperiments(String gatewayId, String userName, Map<String,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getAllExperimentsInProject(String projectId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -3104,13 +3104,13 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchExperimentsByCreationTimeWithPagination failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<String,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.experiment.ExperimentSummary> searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_searchExperiments(gatewayId, userName, filters, limit, offset);
       return recv_searchExperiments();
     }
 
-    public void send_searchExperiments(String gatewayId, String userName, Map<String,String> filters, int limit, int offset) throws org.apache.thrift.TException
+    public void send_searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset) throws org.apache.thrift.TException
     {
       searchExperiments_args args = new searchExperiments_args();
       args.setGatewayId(gatewayId);
@@ -7403,7 +7403,7 @@ import org.slf4j.LoggerFactory;
       }
     }
 
-    public void searchExperiments(String gatewayId, String userName, Map<String,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void searchExperiments(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       searchExperiments_call method_call = new searchExperiments_call(gatewayId, userName, filters, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -7413,10 +7413,10 @@ import org.slf4j.LoggerFactory;
     public static class searchExperiments_call extends org.apache.thrift.async.TAsyncMethodCall {
       private String gatewayId;
       private String userName;
-      private Map<String,String> filters;
+      private Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters;
       private int limit;
       private int offset;
-      public searchExperiments_call(String gatewayId, String userName, Map<String,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public searchExperiments_call(String gatewayId, String userName, Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.gatewayId = gatewayId;
         this.userName = userName;
@@ -59273,7 +59273,7 @@ import org.slf4j.LoggerFactory;
 
     public String gatewayId; // required
     public String userName; // required
-    public Map<String,String> filters; // required
+    public Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters; // required
     public int limit; // required
     public int offset; // required
 
@@ -59360,7 +59360,7 @@ import org.slf4j.LoggerFactory;
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
       tmpMap.put(_Fields.FILTERS, new org.apache.thrift.meta_data.FieldMetaData("filters", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+              new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.workspace.experiment.ExperimentSearchFields.class), 
               new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
       tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
@@ -59376,7 +59376,7 @@ import org.slf4j.LoggerFactory;
     public searchExperiments_args(
       String gatewayId,
       String userName,
-      Map<String,String> filters,
+      Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters,
       int limit,
       int offset)
     {
@@ -59402,7 +59402,18 @@ import org.slf4j.LoggerFactory;
         this.userName = other.userName;
       }
       if (other.isSetFilters()) {
-        Map<String,String> __this__filters = new HashMap<String,String>(other.filters);
+        Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> __this__filters = new HashMap<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String>(other.filters.size());
+        for (Map.Entry<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields, String> other_element : other.filters.entrySet()) {
+
+          org.apache.airavata.model.workspace.experiment.ExperimentSearchFields other_element_key = other_element.getKey();
+          String other_element_value = other_element.getValue();
+
+          org.apache.airavata.model.workspace.experiment.ExperimentSearchFields __this__filters_copy_key = other_element_key;
+
+          String __this__filters_copy_value = other_element_value;
+
+          __this__filters.put(__this__filters_copy_key, __this__filters_copy_value);
+        }
         this.filters = __this__filters;
       }
       this.limit = other.limit;
@@ -59476,18 +59487,18 @@ import org.slf4j.LoggerFactory;
       return (this.filters == null) ? 0 : this.filters.size();
     }
 
-    public void putToFilters(String key, String val) {
+    public void putToFilters(org.apache.airavata.model.workspace.experiment.ExperimentSearchFields key, String val) {
       if (this.filters == null) {
-        this.filters = new HashMap<String,String>();
+        this.filters = new HashMap<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String>();
       }
       this.filters.put(key, val);
     }
 
-    public Map<String,String> getFilters() {
+    public Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> getFilters() {
       return this.filters;
     }
 
-    public searchExperiments_args setFilters(Map<String,String> filters) {
+    public searchExperiments_args setFilters(Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String> filters) {
       this.filters = filters;
       return this;
     }
@@ -59575,7 +59586,7 @@ import org.slf4j.LoggerFactory;
         if (value == null) {
           unsetFilters();
         } else {
-          setFilters((Map<String,String>)value);
+          setFilters((Map<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String>)value);
         }
         break;
 
@@ -59888,12 +59899,12 @@ import org.slf4j.LoggerFactory;
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
                   org.apache.thrift.protocol.TMap _map146 = iprot.readMapBegin();
-                  struct.filters = new HashMap<String,String>(2*_map146.size);
+                  struct.filters = new HashMap<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String>(2*_map146.size);
                   for (int _i147 = 0; _i147 < _map146.size; ++_i147)
                   {
-                    String _key148;
+                    org.apache.airavata.model.workspace.experiment.ExperimentSearchFields _key148;
                     String _val149;
-                    _key148 = iprot.readString();
+                    _key148 = org.apache.airavata.model.workspace.experiment.ExperimentSearchFields.findByValue(iprot.readI32());
                     _val149 = iprot.readString();
                     struct.filters.put(_key148, _val149);
                   }
@@ -59954,10 +59965,10 @@ import org.slf4j.LoggerFactory;
         if (struct.filters != null) {
           oprot.writeFieldBegin(FILTERS_FIELD_DESC);
           {
-            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.filters.size()));
-            for (Map.Entry<String, String> _iter150 : struct.filters.entrySet())
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, struct.filters.size()));
+            for (Map.Entry<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields, String> _iter150 : struct.filters.entrySet())
             {
-              oprot.writeString(_iter150.getKey());
+              oprot.writeI32(_iter150.getKey().getValue());
               oprot.writeString(_iter150.getValue());
             }
             oprot.writeMapEnd();
@@ -59999,9 +60010,9 @@ import org.slf4j.LoggerFactory;
         if (struct.isSetFilters()) {
           {
             oprot.writeI32(struct.filters.size());
-            for (Map.Entry<String, String> _iter151 : struct.filters.entrySet())
+            for (Map.Entry<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields, String> _iter151 : struct.filters.entrySet())
             {
-              oprot.writeString(_iter151.getKey());
+              oprot.writeI32(_iter151.getKey().getValue());
               oprot.writeString(_iter151.getValue());
             }
           }
@@ -60022,13 +60033,13 @@ import org.slf4j.LoggerFactory;
         BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map152 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.filters = new HashMap<String,String>(2*_map152.size);
+            org.apache.thrift.protocol.TMap _map152 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            struct.filters = new HashMap<org.apache.airavata.model.workspace.experiment.ExperimentSearchFields,String>(2*_map152.size);
             for (int _i153 = 0; _i153 < _map152.size; ++_i153)
             {
-              String _key154;
+              org.apache.airavata.model.workspace.experiment.ExperimentSearchFields _key154;
               String _val155;
-              _key154 = iprot.readString();
+              _key154 = org.apache.airavata.model.workspace.experiment.ExperimentSearchFields.findByValue(iprot.readI32());
               _val155 = iprot.readString();
               struct.filters.put(_key154, _val155);
             }