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/05/22 17:06:19 UTC

[5/5] git commit: fixing AIRAVATA-1257, AIRAVATA-1258

fixing AIRAVATA-1257, AIRAVATA-1258


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

Branch: refs/heads/master
Commit: a3658305082874a1e82a79fdbcfddecb5e1488cd
Parents: b9b8c25
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Thu May 22 11:06:10 2014 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Thu May 22 11:06:10 2014 -0400

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |   76 +
 .../java/org/apache/airavata/api/Airavata.java  | 3354 ++++++++++++++++--
 .../src/main/resources/lib/Airavata.cpp         |  964 ++++-
 .../src/main/resources/lib/Airavata.h           |  318 ++
 .../resources/lib/Airavata_server.skeleton.cpp  |   10 +
 .../resources/lib/experimentModel_types.cpp     |  189 +
 .../main/resources/lib/experimentModel_types.h  |  107 +
 .../resources/lib/Airavata/API/Airavata.php     |  912 ++++-
 .../Model/Workspace/Experiment/Types.php        |  245 ++
 .../client/samples/CreateLaunchExperiment.java  |   69 +-
 .../workspace/experiment/ExperimentSummary.java | 1147 ++++++
 .../airavataAPI.thrift                          |   20 +-
 .../experimentModel.thrift                      |   11 +
 .../registry/jpa/impl/ExperimentRegistry.java   |   35 +-
 .../registry/jpa/impl/RegistryImpl.java         |    6 +
 .../registry/jpa/resources/WorkerResource.java  |   23 +
 .../jpa/utils/ThriftDataModelConversion.java    |   24 +
 17 files changed, 6942 insertions(+), 568 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/a3658305/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 bf0fed4..d8a8392 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
@@ -255,6 +255,82 @@ public class AiravataServerHandler implements Airavata.Iface {
         }
     }
 
+    public List<ExperimentSummary> searchExperimentsByName(String userName, String expName) throws InvalidRequestException,
+                                                                                                   AiravataClientException,
+                                                                                                   AiravataSystemException,
+                                                                                                   TException {
+        if (!validateString(userName)){
+            logger.error("Username cannot be empty. Please provide a valid user..");
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("Username cannot be empty. Please provide a valid user..");
+            throw exception;
+        }
+        if (!ResourceUtils.isUserExist(userName)){
+            logger.error("User does not exist in the system. Please provide a valid user..");
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("User does not exist in the system. Please provide a valid user..");
+            throw exception;
+        }
+        try {
+            List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
+            registry = RegistryFactory.getDefaultRegistry();
+            Map<String, String> filters = new HashMap<String, String>();
+            filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
+            filters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME, expName);
+            List<Object> results = registry.search(RegistryModelType.EXPERIMENT, filters);
+            for (Object object : results) {
+                summaries.add((ExperimentSummary) object);
+            }
+            return summaries;
+        }catch (Exception e) {
+            logger.error("Error while retrieving experiments", e);
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("Error while retrieving experiments. More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    public List<ExperimentSummary> searchExperimentsByDesc(String userName, String description) throws InvalidRequestException,
+                                                                                                       AiravataClientException,
+                                                                                                       AiravataSystemException,
+                                                                                                       TException {
+        if (!validateString(userName)){
+            logger.error("Username cannot be empty. Please provide a valid user..");
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("Username cannot be empty. Please provide a valid user..");
+            throw exception;
+        }
+        if (!ResourceUtils.isUserExist(userName)){
+            logger.error("User does not exist in the system. Please provide a valid user..");
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("User does not exist in the system. Please provide a valid user..");
+            throw exception;
+        }
+        try {
+            List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
+            registry = RegistryFactory.getDefaultRegistry();
+            Map<String, String> filters = new HashMap<String, String>();
+            filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
+            filters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_DESC, description);
+            List<Object> results = registry.search(RegistryModelType.EXPERIMENT, filters);
+            for (Object object : results) {
+                summaries.add((ExperimentSummary) object);
+            }
+            return summaries;
+        }catch (Exception e) {
+            logger.error("Error while retrieving experiments", e);
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("Error while retrieving experiments. More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
     /**
      * Get all Experiments within a Project
      *