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 2015/03/04 22:49:24 UTC

airavata git commit: pass gateway id when initialize registry - AIRAVATA-1608

Repository: airavata
Updated Branches:
  refs/heads/master 7c5f1c85a -> c69d322b2


pass gateway id when initialize registry - AIRAVATA-1608


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

Branch: refs/heads/master
Commit: c69d322b23e2d7b066191934dc832f2c9e20ec36
Parents: 7c5f1c8
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Wed Mar 4 16:49:19 2015 -0500
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Wed Mar 4 16:49:19 2015 -0500

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   | 37 +++++++++++---------
 .../registry/jpa/impl/ExperimentRegistry.java   |  2 ++
 .../registry/jpa/impl/RegistryFactory.java      | 17 +++++++++
 .../persistance/registry/jpa/model/Project.java | 11 ++++++
 .../registry/jpa/resources/ProjectResource.java |  2 ++
 .../airavata/registry/cpi/utils/Constants.java  |  3 +-
 6 files changed, 55 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c69d322b/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 32aa08b..66e4c94 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
@@ -139,7 +139,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public void updateGateway(String gatewayId, Gateway updatedGateway) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             if (!registry.isExist(RegistryModelType.GATEWAY, gatewayId)){
                 logger.error("Gateway does not exist in the system. Please provide a valid gateway ID...");
                 AiravataSystemException exception = new AiravataSystemException();
@@ -159,7 +159,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public Gateway getGateway(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             if (!registry.isExist(RegistryModelType.GATEWAY, gatewayId)){
                 logger.error("Gateway does not exist in the system. Please provide a valid gateway ID...");
                 AiravataSystemException exception = new AiravataSystemException();
@@ -179,7 +179,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean deleteGateway(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             if (!registry.isExist(RegistryModelType.GATEWAY, gatewayId)){
                 logger.error("Gateway does not exist in the system. Please provide a valid gateway ID...");
                 AiravataSystemException exception = new AiravataSystemException();
@@ -219,7 +219,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public boolean isGatewayExist(String gatewayId) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             return registry.isExist(RegistryModelType.GATEWAY, gatewayId);
         } catch (RegistryException e) {
             logger.error("Error while getting gateway", e);
@@ -253,7 +253,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String createProject(String gatewayId, Project project) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             if (!validateString(project.getName()) || !validateString(project.getOwner())){
                 logger.error("Project name and owner cannot be empty...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
@@ -370,7 +370,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 exception.setMessage("User does not exist in the system. Please provide a valid user..");
                 throw exception;
             }
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             List<Object> list = registry.get(RegistryModelType.PROJECT, Constants.FieldConstants.ProjectConstants.OWNER, userName);
             if (list != null && !list.isEmpty()){
                 for (Object o : list){
@@ -411,9 +411,10 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<Project> projects = new ArrayList<Project>();
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ProjectConstants.OWNER, userName);
+            filters.put(Constants.FieldConstants.ProjectConstants.GATEWAY_ID, gatewayId);
             filters.put(Constants.FieldConstants.ProjectConstants.PROJECT_NAME, projectName);
             List<Object> results = registry.search(RegistryModelType.PROJECT, filters);
             for (Object object : results) {
@@ -453,9 +454,10 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<Project> projects = new ArrayList<Project>();
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ProjectConstants.OWNER, userName);
+            filters.put(Constants.FieldConstants.ProjectConstants.GATEWAY_ID, gatewayId);
             filters.put(Constants.FieldConstants.ProjectConstants.DESCRIPTION, description);
             List<Object> results = registry.search(RegistryModelType.PROJECT, filters);
             for (Object object : results) {
@@ -495,9 +497,10 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
+            filters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId);
             filters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME, expName);
             List<Object> results = registry.search(RegistryModelType.EXPERIMENT, filters);
             for (Object object : results) {
@@ -537,9 +540,10 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
+            filters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId);
             filters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_DESC, description);
             List<Object> results = registry.search(RegistryModelType.EXPERIMENT, filters);
             for (Object object : results) {
@@ -576,10 +580,11 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             filters.put(Constants.FieldConstants.ExperimentConstants.APPLICATION_ID, applicationId);
+            filters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId);
             List<Object> results = registry.search(RegistryModelType.EXPERIMENT, filters);
             for (Object object : results) {
                 summaries.add((ExperimentSummary) object);
@@ -616,7 +621,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             filters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS, experimentState.toString());
@@ -656,7 +661,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<ExperimentSummary> summaries = new ArrayList<ExperimentSummary>();
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             Map<String, String> filters = new HashMap<String, String>();
             filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             filters.put(Constants.FieldConstants.ExperimentConstants.FROM_DATE, String.valueOf(fromTime));
@@ -745,7 +750,7 @@ public class AiravataServerHandler implements Airavata.Iface {
                 throw exception;
             }
             List<Experiment> experiments = new ArrayList<Experiment>();
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             List<Object> list = registry.get(RegistryModelType.EXPERIMENT, Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             if (list != null && !list.isEmpty()){
                 for (Object o : list){
@@ -787,7 +792,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     @Override
     public String createExperiment(String gatewayId, Experiment experiment) throws InvalidRequestException, AiravataClientException, AiravataSystemException, TException {
         try {
-            registry = RegistryFactory.getDefaultRegistry();
+            registry = RegistryFactory.getRegistry(gatewayId);
             if (!validateString(experiment.getName())){
                 logger.error("Cannot create experiments with empty experiment name");
                 AiravataSystemException exception = new AiravataSystemException();
@@ -1595,7 +1600,7 @@ public class AiravataServerHandler implements Airavata.Iface {
     /**
      * Fetch all Application Deployment Descriptions.
      *
-     * @return list<applicationDeployment.
+     * @return list applicationDeployment.
      * Returns the list of all application Deployment Objects.
      */
     @Override

http://git-wip-us.apache.org/repos/asf/airavata/blob/c69d322b/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 d2d99a0..0c90322 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
@@ -2796,6 +2796,8 @@ public class ExperimentRegistry {
                         fil.put(AbstractResource.ExperimentConstants.EXPERIMENT_NAME, filters.get(field));
                     } else if (field.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) {
                         fil.put(AbstractResource.ExperimentConstants.EXECUTION_USER, filters.get(field));
+                    }else if (field.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY)) {
+                        fil.put(AbstractResource.ExperimentConstants.GATEWAY_ID, 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)) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/c69d322b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryFactory.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryFactory.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryFactory.java
index 91d2bc4..8af4f19 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryFactory.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryFactory.java
@@ -21,6 +21,8 @@
 
 package org.apache.airavata.persistance.registry.jpa.impl;
 
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.registry.cpi.Registry;
 import org.apache.airavata.registry.cpi.RegistryException;
 import org.slf4j.Logger;
@@ -42,6 +44,21 @@ public class RegistryFactory {
         return registry;
     }
 
+    public static Registry getRegistry(String gateway) throws RegistryException {
+        try {
+            if (registry == null) {
+                registry = new RegistryImpl(gateway, ServerSettings.getDefaultUser(), ServerSettings.getDefaultUserPassword());
+            }
+        } catch (RegistryException e) {
+            logger.error("Unable to create registry instance", e);
+            throw new RegistryException(e);
+        } catch (ApplicationSettingsException e) {
+            logger.error("Unable to create registry instance", e);
+            throw new RegistryException(e);
+        }
+        return registry;
+    }
+
     public static Registry getDefaultRegistry () throws RegistryException {
         try {
             if (registry == null) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/c69d322b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Project.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Project.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Project.java
index 78a45b2..054411d 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Project.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Project.java
@@ -34,6 +34,9 @@ public class Project implements Serializable {
     @Column(name = "PROJECT_ID")
     private String project_id;
 
+    @Column(name = "GATEWAY_ID")
+    private String gateway_id;
+
     @Column(name = "PROJECT_NAME")
     private String project_name;
 
@@ -110,5 +113,13 @@ public class Project implements Serializable {
     public void setUser_name(String user_name) {
         this.user_name = user_name;
     }
+
+    public String getGateway_id() {
+        return gateway_id;
+    }
+
+    public void setGateway_id(String gateway_id) {
+        this.gateway_id = gateway_id;
+    }
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/c69d322b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java
index 1926158..c53b489 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java
@@ -255,6 +255,7 @@ public class ProjectResource extends AbstractResource {
             project.setProject_name(name);
             Gateway modelGateway = em.find(Gateway.class, gateway.getGatewayId());
             project.setGateway(modelGateway);
+            project.setGateway_id(modelGateway.getGateway_id());
             Users user = em.find(Users.class, worker.getUser());
             project.setUsers(user);
             project.setUser_name(user.getUser_name());
@@ -264,6 +265,7 @@ public class ProjectResource extends AbstractResource {
             if (existingProject != null) {
                 existingProject.setProject_name(name);
                 existingProject.setGateway(modelGateway);
+                existingProject.setGateway_id(modelGateway.getGateway_id());
                 existingProject.setUsers(user);
                 existingProject.setUser_name(user.getUser_name());
                 existingProject.setDescription(description);

http://git-wip-us.apache.org/repos/asf/airavata/blob/c69d322b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/utils/Constants.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/utils/Constants.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/utils/Constants.java
index f7ef9ff..5defafe 100644
--- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/utils/Constants.java
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/utils/Constants.java
@@ -25,6 +25,7 @@ public class Constants {
     public final class FieldConstants {
         public final class ProjectConstants {
             public static final String PROJECT_ID = "projectID";
+            public static final String GATEWAY_ID = "gateway_id";
             public static final String OWNER = "owner";
             public static final String PROJECT_NAME = "name";
             public static final String DESCRIPTION = "description";
@@ -33,7 +34,7 @@ public class Constants {
         public final class ExperimentConstants {
             public static final String EXPERIMENT_NAME = "experimentName";
             public static final String USER_NAME = "userName";
-            public static final String GATEWAY = "gateway";
+            public static final String GATEWAY = "gatewayId";
             public static final String EXPERIMENT_DESC = "experimentDescription";
             public static final String PROJECT_ID = "projectId";
             public static final String CREATION_TIME = "creationTime";