adding gateway id to experiment catalog - AIRAVATA-1604

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

Branch: refs/heads/master
Commit: 2e2868f732ff24b8ccf3d7594f804c990f66b851
Parents: 67ca5b1
Author: Chathuri Wimalasena <[email protected]>
Authored: Fri Feb 27 15:08:58 2015 -0500
Committer: Chathuri Wimalasena <[email protected]>
Committed: Fri Feb 27 15:08:58 2015 -0500

----------------------------------------------------------------------
 .../client/samples/CreateLaunchExperiment.java  |  10 +-
 .../server/src/main/resources/bin/data.sql      | 141 ----------
 .../airavata/gfac/client/util/Initialize.java   |   4 +-
 modules/messaging/client/pom.xml                |   2 +-
 .../messaging/client/RabbitMQListener.java      | 228 +++++++++++++++
 .../messaging/client/RabbitMQListner.java       | 230 ---------------
 .../airavata/messaging/client/TestReader.java   |  56 ++++
 .../orchestrator/client/util/Initialize.java    |   4 +-
 .../orchestrator/core/util/Initialize.java      |   4 +-
 .../persistance/registry/jpa/ResourceType.java  |   2 -
 .../persistance/registry/jpa/ResourceUtils.java |  36 +--
 .../registry/jpa/impl/ExperimentRegistry.java   |   2 +-
 .../registry/jpa/impl/ProjectRegistry.java      |   6 +-
 .../registry/jpa/impl/RegistryImpl.java         |   1 +
 .../registry/jpa/model/Experiment.java          |  14 +-
 .../persistance/registry/jpa/model/Gateway.java |  32 ++-
 .../registry/jpa/model/Gateway_Worker.java      |  14 +-
 .../registry/jpa/model/Gateway_Worker_PK.java   |  14 +-
 .../persistance/registry/jpa/model/Project.java |   2 +-
 .../registry/jpa/model/Published_Workflow.java  | 124 --------
 .../jpa/model/Published_Workflow_PK.java        |  64 -----
 .../registry/jpa/model/User_Workflow.java       | 122 --------
 .../registry/jpa/model/User_Workflow_PK.java    |  74 -----
 .../jpa/resources/AbstractResource.java         |  33 +--
 .../jpa/resources/ExperimentResource.java       |   6 +-
 .../registry/jpa/resources/GatewayResource.java | 159 +++--------
 .../registry/jpa/resources/ProjectResource.java |   2 +-
 .../jpa/resources/PublishWorkflowResource.java  | 282 -------------------
 .../jpa/resources/UserWorkflowResource.java     | 174 ------------
 .../registry/jpa/resources/Utils.java           |  68 +----
 .../registry/jpa/resources/WorkerResource.java  |  94 +------
 .../src/main/resources/META-INF/persistence.xml |   2 -
 .../src/main/resources/registry-derby.sql       |  53 +---
 .../src/main/resources/registry-mysql.sql       |  51 +---
 .../registry/jpa/GatewayResourceTest.java       |  26 +-
 .../jpa/PublishWorkflowResourceTest.java        |  62 ----
 .../registry/jpa/UserWorkflowResourceTest.java  |  66 -----
 .../registry/jpa/util/Initialize.java           |   4 +-
 .../src/test/resources/registry-derby.sql       |  53 +---
 39 files changed, 477 insertions(+), 1844 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
 
b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
index 0f89833..9d07028 100644
--- 
a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
+++ 
b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
@@ -57,10 +57,10 @@ public class CreateLaunchExperiment {
     private static final String DEFAULT_GATEWAY = "default.registry.gateway";
     private static Airavata.Client airavataClient;
 
-    private static String echoAppId = 
"Echo_2e539083-665d-40fd-aaa2-4a751028326b";
+    private static String echoAppId = 
"Echo_f828a575-7f17-4149-9d45-abe2aa9c6109";
     private static String mpiAppId = 
"HelloMPI_720e159f-198f-4daa-96ca-9f5eafee92c9";
     private static String wrfAppId = 
"WRF_7ad5da38-c08b-417c-a9ea-da9298839762";
-    private static String amberAppId = 
"Amber_9e4f28b6-7a5d-4fe1-b07f-2053f8f0deb3";
+    private static String amberAppId = 
"Amber_98ac2eec-b253-4c43-81dc-54d845f64337";
     private static String gromacsAppId = 
"GROMACS_05622038-9edd-4cb1-824e-0b7cb993364b";
     private static String espressoAppId = 
"ESPRESSO_10cc2820-5d0b-4c63-9546-8a8b595593c1";
     private static String lammpsAppId = 
"LAMMPS_10893eb5-3840-438c-8446-d26c7ecb001f";
@@ -82,8 +82,8 @@ public class CreateLaunchExperiment {
     public static void main(String[] args) throws Exception {
                 airavataClient = 
AiravataClientFactory.createAiravataClient(THRIFT_SERVER_HOST, 
THRIFT_SERVER_PORT);
                 System.out.println("API version is " + 
airavataClient.getAPIVersion());
-                registerApplications(); // run this only the first time
-//                createAndLaunchExp();
+//                registerApplications(); // run this only the first time
+                createAndLaunchExp();
     }
     
     private static String fsdResourceId;
@@ -115,7 +115,7 @@ public class CreateLaunchExperiment {
                 System.out.println("Experiment ID : " + expId);
 //                updateExperiment(airavata, expId);
 
-                launchExperiment(airavataClient, expId);
+//                launchExperiment(airavataClient, expId);
             }
         } catch (Exception e) {
             logger.error("Error while connecting with server", e.getMessage());

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/distribution/server/src/main/resources/bin/data.sql
----------------------------------------------------------------------
diff --git a/modules/distribution/server/src/main/resources/bin/data.sql 
b/modules/distribution/server/src/main/resources/bin/data.sql
deleted file mode 100644
index 887e02f..0000000
--- a/modules/distribution/server/src/main/resources/bin/data.sql
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-CREATE TABLE Gateway
-(
-        gateway_name VARCHAR(255),
-           owner VARCHAR(255),
-        PRIMARY KEY (gateway_name)
-);
-
-CREATE TABLE Configuration
-(
-        config_ID INT(11) NOT NULL AUTO_INCREMENT,
-        config_key VARCHAR(255),
-        config_val VARCHAR(255),
-        expire_date TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY(config_ID)
-);
-
-CREATE TABLE Users
-(
-        user_name VARCHAR(255),
-        password VARCHAR(255),
-        PRIMARY KEY(user_name)
-);
-
-CREATE TABLE Gateway_Worker
-(
-      gateway_name VARCHAR(255),
-      user_name VARCHAR(255),
-      PRIMARY KEY (gateway_name, user_name),
-      FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON DELETE 
CASCADE,
-      FOREIGN KEY (user_name) REFERENCES Users(user_name) ON DELETE CASCADE
-
-);
-
-CREATE TABLE Project
-(
-       project_ID INT(11) NOT NULL AUTO_INCREMENT,
-       gateway_name VARCHAR(255),
-       user_name VARCHAR(255),
-       project_name VARCHAR(255),
-       PRIMARY KEY(project_ID),
-       FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON DELETE 
CASCADE,
-       FOREIGN KEY (user_name) REFERENCES Users(user_name) ON DELETE CASCADE
-);
-
-CREATE TABLE Published_Workflow
-(
-       gateway_name VARCHAR(255),
-       created_user VARCHAR(255),
-       publish_workflow_name VARCHAR(255),
-       version VARCHAR(255),
-       published_date TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-       path VARCHAR (255),
-       workflow_content VARCHAR(2000),
-       PRIMARY KEY(gateway_name, publish_workflow_name),
-       FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON DELETE 
CASCADE,
-       FOREIGN KEY (created_user) REFERENCES Users(user_name) ON DELETE CASCADE
-);
-
-CREATE TABLE User_Workflow
-
-(
-       gateway_name VARCHAR(255),
-       owner VARCHAR(255),
-       template_name VARCHAR(255),
-       last_updated_date TIMESTAMP DEFAULT now() ON UPDATE now(),
-       path VARCHAR (255),
-       workflow_graph VARCHAR(2000),
-       PRIMARY KEY(gateway_name, owner, template_name),
-       FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON DELETE 
CASCADE,
-       FOREIGN KEY (owner) REFERENCES Users(user_name) ON DELETE CASCADE
-);
-
-
-CREATE TABLE Host_Descriptor
-(
-       gateway_name VARCHAR(255),
-       updated_user VARCHAR(255),
-       host_descriptor_ID VARCHAR(255),
-       host_descriptor_xml VARCHAR(2000),
-       PRIMARY KEY(gateway_name, host_descriptor_ID),
-       FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON DELETE 
CASCADE,
-       FOREIGN KEY (updated_user) REFERENCES Users(user_name) ON DELETE CASCADE
-);
-
-CREATE TABLE Service_Descriptor
-(
-         gateway_name VARCHAR(255),
-         updated_user VARCHAR(255),
-         service_descriptor_ID VARCHAR(255),
-         service_descriptor_xml VARCHAR(2000),
-         PRIMARY KEY(gateway_name,service_descriptor_ID),
-         FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON DELETE 
CASCADE,
-         FOREIGN KEY (updated_user) REFERENCES Users(user_name) ON DELETE 
CASCADE
-);
-
-CREATE TABLE Application_Descriptor
-(
-         gateway_name VARCHAR(255),
-         updated_user VARCHAR(255),
-         application_descriptor_ID VARCHAR(255),
-         host_descriptor_ID VARCHAR(255),
-         service_descriptor_ID VARCHAR(255),
-         application_descriptor_xml VARCHAR(2000),
-         PRIMARY KEY(gateway_name,host_descriptor_ID, 
service_descriptor_ID,application_descriptor_ID),
-         FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON DELETE 
CASCADE,
-         FOREIGN KEY (updated_user) REFERENCES Users(user_name) ON DELETE 
CASCADE
-);
-
-CREATE TABLE Experiment
-(
-          project_ID INT(11),
-               gateway_name VARCHAR(255),
-          user_name VARCHAR(255),
-          experiment_ID VARCHAR(255),
-          submitted_date TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-          PRIMARY KEY(experiment_ID),
-          FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON 
DELETE CASCADE,
-          FOREIGN KEY (project_ID) REFERENCES Project(project_ID) ON DELETE 
CASCADE,
-          FOREIGN KEY (user_name) REFERENCES Users(user_name) ON DELETE CASCADE
-);
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/gfac/airavata-gfac-service/src/test/java/org/apache/airavata/gfac/client/util/Initialize.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/airavata-gfac-service/src/test/java/org/apache/airavata/gfac/client/util/Initialize.java
 
b/modules/gfac/airavata-gfac-service/src/test/java/org/apache/airavata/gfac/client/util/Initialize.java
index b8a80f9..e76a56c 100644
--- 
a/modules/gfac/airavata-gfac-service/src/test/java/org/apache/airavata/gfac/client/util/Initialize.java
+++ 
b/modules/gfac/airavata-gfac-service/src/test/java/org/apache/airavata/gfac/client/util/Initialize.java
@@ -139,7 +139,9 @@ public class Initialize {
 
         try{
             GatewayResource gatewayResource = 
(GatewayResource)ResourceUtils.createGateway(RegistrySettings.getSetting("default.registry.gateway"));
-            
gatewayResource.setOwner(RegistrySettings.getSetting("default.registry.gateway"));
+            
gatewayResource.setGatewayName(RegistrySettings.getSetting("default.registry.gateway"));
+            gatewayResource.setDomain("test-domain");
+            gatewayResource.setEmailAddress("test-email");
             gatewayResource.save();
 
             UserResource userResource = 
ResourceUtils.createUser(RegistrySettings.getSetting("default.registry.user"),RegistrySettings.getSetting("default.registry.password"));

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/messaging/client/pom.xml
----------------------------------------------------------------------
diff --git a/modules/messaging/client/pom.xml b/modules/messaging/client/pom.xml
index 762bd10..5db9d4d 100644
--- a/modules/messaging/client/pom.xml
+++ b/modules/messaging/client/pom.xml
@@ -80,7 +80,7 @@
                 <configuration>
                     <archive>
                         <manifest>
-                            
<mainClass>org.apache.airavata.messaging.client.RabbitMQListner</mainClass>
+                            
<mainClass>org.apache.airavata.messaging.client.RabbitMQListener</mainClass>
                         </manifest>
                     </archive>
                     <descriptorRefs>

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListener.java
----------------------------------------------------------------------
diff --git 
a/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListener.java
 
b/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListener.java
new file mode 100644
index 0000000..53d08d3
--- /dev/null
+++ 
b/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListener.java
@@ -0,0 +1,228 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.messaging.client;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.common.utils.ThriftUtils;
+import org.apache.airavata.messaging.core.MessageContext;
+import org.apache.airavata.messaging.core.MessageHandler;
+import org.apache.airavata.messaging.core.MessagingConstants;
+import org.apache.airavata.messaging.core.impl.RabbitMQConsumer;
+import org.apache.airavata.model.messaging.event.*;
+import org.apache.commons.cli.*;
+import org.apache.thrift.TBase;
+import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+public class RabbitMQListener {
+    public static final String RABBITMQ_BROKER_URL = "rabbitmq.broker.url";
+    public static final String RABBITMQ_EXCHANGE_NAME = 
"rabbitmq.exchange.name";
+    private final static Logger logger = 
LoggerFactory.getLogger(RabbitMQListener.class);
+    private static String gatewayId = "*";
+    private static boolean gatewayLevelMessages = false;
+    private static boolean experimentLevelMessages = false;
+    private static boolean jobLevelMessages = false;
+    private static String experimentId = "*";
+    private static String jobId = "*";
+    private static boolean allMessages = false;
+
+    public static void main(String[] args) {
+        File file = new File("/tmp/latency_client");
+        parseArguments(args);
+        try {
+            FileOutputStream fos = new FileOutputStream(file, false);
+            final BufferedWriter bw = new BufferedWriter(new 
OutputStreamWriter(fos));
+            AiravataUtils.setExecutionAsServer();
+            String brokerUrl = ServerSettings.getSetting(RABBITMQ_BROKER_URL);
+            System.out.println("broker url " + brokerUrl);
+            final String exchangeName = 
ServerSettings.getSetting(RABBITMQ_EXCHANGE_NAME);
+            RabbitMQConsumer consumer = new RabbitMQConsumer(brokerUrl, 
exchangeName);
+            consumer.listen(new MessageHandler() {
+                @Override
+                public Map<String, Object> getProperties() {
+                    Map<String, Object> props = new HashMap<String, Object>();
+                    List<String> routingKeys = new ArrayList<String>();
+                    if (allMessages){
+                        routingKeys.add("*");
+                        routingKeys.add("*.*");
+                        routingKeys.add("*.*.*");
+                        routingKeys.add("*.*.*.*");
+                        routingKeys.add("*.*.*.*.*");
+                    }else {
+                        if (gatewayLevelMessages){
+                            routingKeys.add(gatewayId);
+                            routingKeys.add(gatewayId + ".*");
+                            routingKeys.add(gatewayId + ".*.*");
+                            routingKeys.add(gatewayId + ".*.*.*");
+                            routingKeys.add(gatewayId + ".*.*.*.*");
+                        }else if (experimentLevelMessages){
+                            routingKeys.add(gatewayId);
+                            routingKeys.add(gatewayId + "." + experimentId);
+                            routingKeys.add(gatewayId + "." + experimentId+ 
".*");
+                            routingKeys.add(gatewayId + "." + experimentId+ 
".*.*");
+                            routingKeys.add(gatewayId + "." + experimentId+ 
".*.*.*");
+                        }else if  (jobLevelMessages){
+                            routingKeys.add(gatewayId);
+                            routingKeys.add(gatewayId + "." + experimentId);
+                            routingKeys.add(gatewayId + "." + experimentId+ 
".*");
+                            routingKeys.add(gatewayId + "." + experimentId+ 
".*.*");
+                            routingKeys.add(gatewayId + "." + experimentId+ 
".*." + jobId);
+                        }
+                    }
+                    props.put(MessagingConstants.RABBIT_ROUTING_KEY, 
routingKeys);
+                    return props;
+                }
+
+                @Override
+                public void onMessage(MessageContext message) {
+                    try {
+                        long latency = System.currentTimeMillis() - 
message.getUpdatedTime().getTime();
+                        bw.write(message.getMessageId() + " :" + latency);
+                        bw.newLine();
+                        bw.flush();
+                    } catch (IOException e) {
+                        e.printStackTrace();
+                    }
+                    if (message.getType().equals(MessageType.EXPERIMENT)){
+                        try {
+                            ExperimentStatusChangeEvent event = new 
ExperimentStatusChangeEvent();
+                            TBase messageEvent = message.getEvent();
+                            byte[] bytes = 
ThriftUtils.serializeThriftObject(messageEvent);
+                            ThriftUtils.createThriftFromBytes(bytes, event);
+                            System.out.println(" Message Received with message 
id '" + message.getMessageId()
+                                    + "' and with message type '" + 
message.getType() + "' and with state : '" + event.getState().toString() +
+                                       " for Gateway " + event.getGatewayId());
+                        } catch (TException e) {
+                            logger.error(e.getMessage(), e);
+                        }
+                    }else if 
(message.getType().equals(MessageType.WORKFLOWNODE)){
+                        try {
+                            WorkflowNodeStatusChangeEvent event = new 
WorkflowNodeStatusChangeEvent();
+                            TBase messageEvent = message.getEvent();
+                            byte[] bytes = 
ThriftUtils.serializeThriftObject(messageEvent);
+                            ThriftUtils.createThriftFromBytes(bytes, event);
+                            System.out.println(" Message Received with message 
id '" + message.getMessageId()
+                                    + "' and with message type '" + 
message.getType() + "' and with state : '" + event.getState().toString() +
+                                    " for Gateway " + 
event.getWorkflowNodeIdentity().getGatewayId());
+                        } catch (TException e) {
+                            logger.error(e.getMessage(), e);
+                        }
+                    }else if (message.getType().equals(MessageType.TASK)){
+                        try {
+                            TaskStatusChangeEvent event = new 
TaskStatusChangeEvent();
+                            TBase messageEvent = message.getEvent();
+                            byte[] bytes = 
ThriftUtils.serializeThriftObject(messageEvent);
+                            ThriftUtils.createThriftFromBytes(bytes, event);
+                            System.out.println(" Message Received with message 
id '" + message.getMessageId()
+                                    + "' and with message type '" + 
message.getType() + "' and with state : '" + event.getState().toString() +
+                                    " for Gateway " + 
event.getTaskIdentity().getGatewayId());
+                        } catch (TException e) {
+                            logger.error(e.getMessage(), e);
+                        }
+                    }else if (message.getType().equals(MessageType.JOB)){
+                        try {
+                            JobStatusChangeEvent event = new 
JobStatusChangeEvent();
+                            TBase messageEvent = message.getEvent();
+                            byte[] bytes = 
ThriftUtils.serializeThriftObject(messageEvent);
+                            ThriftUtils.createThriftFromBytes(bytes, event);
+                            System.out.println(" Message Received with message 
id '" + message.getMessageId()
+                                    + "' and with message type '" + 
message.getType() + "' and with state : '" + event.getState().toString() +
+                                    " for Gateway " + 
event.getJobIdentity().getGatewayId());
+                        } catch (TException e) {
+                            logger.error(e.getMessage(), e);
+                        }
+                    }
+                }
+            });
+        } catch (ApplicationSettingsException e) {
+            logger.error("Error reading airavata server properties", e);
+        }catch (Exception e) {
+           logger.error(e.getMessage(), e);
+        }
+
+    }
+
+    public static void parseArguments(String[] args) {
+        try{
+            Options options = new Options();
+
+            options.addOption("gId", true , "Gateway ID");
+            options.addOption("eId", true, "Experiment ID");
+            options.addOption("jId", true, "Job ID");
+            options.addOption("a", false, "All Notifications");
+
+            CommandLineParser parser = new PosixParser();
+            CommandLine cmd = parser.parse( options, args);
+            if (cmd.getOptions() == null || cmd.getOptions().length == 0){
+                logger.info("You have not specified any options. We assume you 
need to listen to all the messages...");
+                allMessages = true;
+                gatewayId = "*";
+            }
+            if (cmd.hasOption("a")){
+                logger.info("Listening to all the messages...");
+                allMessages = true;
+                gatewayId = "*";
+            }else {
+                gatewayId = cmd.getOptionValue("gId");
+                if (gatewayId == null){
+                    gatewayId = "*";
+                    logger.info("You have not specified a gateway id. We 
assume you need to listen to all the messages...");
+                } else {
+                    gatewayLevelMessages = true;
+                }
+                experimentId = cmd.getOptionValue("eId");
+                if (experimentId == null && !gatewayId.equals("*")){
+                    experimentId = "*";
+                    logger.info("You have not specified a experiment id. We 
assume you need to listen to all the messages for the gateway with id " + 
gatewayId);
+                } else if (experimentId == null && gatewayId.equals("*")) {
+                    experimentId = "*";
+                    logger.info("You have not specified a experiment id and a 
gateway id. We assume you need to listen to all the messages...");
+                }else {
+                    experimentLevelMessages = true;
+                }
+                jobId = cmd.getOptionValue("jId");
+                if (jobId == null && !gatewayId.equals("*") && 
!experimentId.equals("*")){
+                    jobId = "*";
+                    logger.info("You have not specified a job id. We assume 
you need to listen to all the messages for the gateway with id " + gatewayId
+                            + " with experiment id : " + experimentId );
+                } else if (jobId == null && gatewayId.equals("*") && 
experimentId.equals("*")) {
+                    jobId = "*";
+                    logger.info("You have not specified a job Id or experiment 
Id or a gateway Id. We assume you need to listen to all the messages...");
+                }else {
+                    jobLevelMessages = true;
+                }
+            }
+        } catch (ParseException e) {
+            logger.error("Error while reading command line parameters" , e);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListner.java
----------------------------------------------------------------------
diff --git 
a/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListner.java
 
b/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListner.java
deleted file mode 100644
index 601497a..0000000
--- 
a/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/RabbitMQListner.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.messaging.client;
-
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.AiravataUtils;
-import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.common.utils.ThriftUtils;
-import org.apache.airavata.messaging.core.MessageContext;
-import org.apache.airavata.messaging.core.MessageHandler;
-import org.apache.airavata.messaging.core.MessagingConstants;
-import org.apache.airavata.messaging.core.impl.RabbitMQConsumer;
-import org.apache.airavata.model.messaging.event.*;
-import org.apache.airavata.model.workspace.experiment.ExperimentState;
-import org.apache.commons.cli.*;
-import org.apache.thrift.TBase;
-import org.apache.thrift.TException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.*;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-
-public class RabbitMQListner {
-    public static final String RABBITMQ_BROKER_URL = "rabbitmq.broker.url";
-    public static final String RABBITMQ_EXCHANGE_NAME = 
"rabbitmq.exchange.name";
-    private final static Logger logger = 
LoggerFactory.getLogger(RabbitMQListner.class);
-    private static String gatewayId = "*";
-    private static boolean gatewayLevelMessages = false;
-    private static boolean experimentLevelMessages = false;
-    private static boolean jobLevelMessages = false;
-    private static String experimentId = "*";
-    private static String jobId = "*";
-    private static boolean allMessages = false;
-
-    public static void main(String[] args) {
-        File file = new File("/tmp/latency_client");
-        parseArguments(args);
-        try {
-            FileOutputStream fos = new FileOutputStream(file, false);
-            final BufferedWriter bw = new BufferedWriter(new 
OutputStreamWriter(fos));
-            AiravataUtils.setExecutionAsServer();
-            String brokerUrl = ServerSettings.getSetting(RABBITMQ_BROKER_URL);
-            System.out.println("broker url " + brokerUrl);
-            final String exchangeName = 
ServerSettings.getSetting(RABBITMQ_EXCHANGE_NAME);
-            RabbitMQConsumer consumer = new RabbitMQConsumer(brokerUrl, 
exchangeName);
-            consumer.listen(new MessageHandler() {
-                @Override
-                public Map<String, Object> getProperties() {
-                    Map<String, Object> props = new HashMap<String, Object>();
-                    List<String> routingKeys = new ArrayList<String>();
-                    if (allMessages){
-                        routingKeys.add("*");
-                        routingKeys.add("*.*");
-                        routingKeys.add("*.*.*");
-                        routingKeys.add("*.*.*.*");
-                        routingKeys.add("*.*.*.*.*");
-                    }else {
-                        if (gatewayLevelMessages){
-                            routingKeys.add(gatewayId);
-                            routingKeys.add(gatewayId + ".*");
-                            routingKeys.add(gatewayId + ".*.*");
-                            routingKeys.add(gatewayId + ".*.*.*");
-                            routingKeys.add(gatewayId + ".*.*.*.*");
-                        }else if (experimentLevelMessages){
-                            routingKeys.add(gatewayId);
-                            routingKeys.add(gatewayId + "." + experimentId);
-                            routingKeys.add(gatewayId + "." + experimentId+ 
".*");
-                            routingKeys.add(gatewayId + "." + experimentId+ 
".*.*");
-                            routingKeys.add(gatewayId + "." + experimentId+ 
".*.*.*");
-                        }else if  (jobLevelMessages){
-                            routingKeys.add(gatewayId);
-                            routingKeys.add(gatewayId + "." + experimentId);
-                            routingKeys.add(gatewayId + "." + experimentId+ 
".*");
-                            routingKeys.add(gatewayId + "." + experimentId+ 
".*.*");
-                            routingKeys.add(gatewayId + "." + experimentId+ 
".*." + jobId);
-                        }
-                    }
-                    props.put(MessagingConstants.RABBIT_ROUTING_KEY, 
routingKeys);
-                    return props;
-                }
-
-                @Override
-                public void onMessage(MessageContext message) {
-                    try {
-                        long latency = System.currentTimeMillis() - 
message.getUpdatedTime().getTime();
-                        bw.write(message.getMessageId() + " :" + latency);
-                        bw.newLine();
-                        bw.flush();
-                    } catch (IOException e) {
-                        e.printStackTrace();
-                    }
-                    if (message.getType().equals(MessageType.EXPERIMENT)){
-                        try {
-                            ExperimentStatusChangeEvent event = new 
ExperimentStatusChangeEvent();
-                            TBase messageEvent = message.getEvent();
-                            byte[] bytes = 
ThriftUtils.serializeThriftObject(messageEvent);
-                            ThriftUtils.createThriftFromBytes(bytes, event);
-                            System.out.println(" Message Received with message 
id '" + message.getMessageId()
-                                    + "' and with message type '" + 
message.getType() + "' and with state : '" + event.getState().toString() +
-                                       " for Gateway " + event.getGatewayId());
-                        } catch (TException e) {
-                            logger.error(e.getMessage(), e);
-                        }
-                    }else if 
(message.getType().equals(MessageType.WORKFLOWNODE)){
-                        try {
-                            WorkflowNodeStatusChangeEvent event = new 
WorkflowNodeStatusChangeEvent();
-                            TBase messageEvent = message.getEvent();
-                            byte[] bytes = 
ThriftUtils.serializeThriftObject(messageEvent);
-                            ThriftUtils.createThriftFromBytes(bytes, event);
-                            System.out.println(" Message Received with message 
id '" + message.getMessageId()
-                                    + "' and with message type '" + 
message.getType() + "' and with state : '" + event.getState().toString() +
-                                    " for Gateway " + 
event.getWorkflowNodeIdentity().getGatewayId());
-                        } catch (TException e) {
-                            logger.error(e.getMessage(), e);
-                        }
-                    }else if (message.getType().equals(MessageType.TASK)){
-                        try {
-                            TaskStatusChangeEvent event = new 
TaskStatusChangeEvent();
-                            TBase messageEvent = message.getEvent();
-                            byte[] bytes = 
ThriftUtils.serializeThriftObject(messageEvent);
-                            ThriftUtils.createThriftFromBytes(bytes, event);
-                            System.out.println(" Message Received with message 
id '" + message.getMessageId()
-                                    + "' and with message type '" + 
message.getType() + "' and with state : '" + event.getState().toString() +
-                                    " for Gateway " + 
event.getTaskIdentity().getGatewayId());
-                        } catch (TException e) {
-                            logger.error(e.getMessage(), e);
-                        }
-                    }else if (message.getType().equals(MessageType.JOB)){
-                        try {
-                            JobStatusChangeEvent event = new 
JobStatusChangeEvent();
-                            TBase messageEvent = message.getEvent();
-                            byte[] bytes = 
ThriftUtils.serializeThriftObject(messageEvent);
-                            ThriftUtils.createThriftFromBytes(bytes, event);
-                            System.out.println(" Message Received with message 
id '" + message.getMessageId()
-                                    + "' and with message type '" + 
message.getType() + "' and with state : '" + event.getState().toString() +
-                                    " for Gateway " + 
event.getJobIdentity().getGatewayId());
-                        } catch (TException e) {
-                            logger.error(e.getMessage(), e);
-                        }
-                    }
-                }
-            });
-        } catch (ApplicationSettingsException e) {
-            logger.error("Error reading airavata server properties", e);
-        }catch (Exception e) {
-           logger.error(e.getMessage(), e);
-        }
-
-    }
-
-    public static void parseArguments(String[] args) {
-        try{
-            Options options = new Options();
-
-            options.addOption("gId", true , "Gateway ID");
-            options.addOption("eId", true, "Experiment ID");
-            options.addOption("jId", true, "Job ID");
-            options.addOption("a", false, "All Notifications");
-
-            CommandLineParser parser = new PosixParser();
-            CommandLine cmd = parser.parse( options, args);
-            if (cmd.getOptions() == null || cmd.getOptions().length == 0){
-                logger.info("You have not specified any options. We assume you 
need to listen to all the messages...");
-                allMessages = true;
-                gatewayId = "*";
-            }
-            if (cmd.hasOption("a")){
-                logger.info("Listening to all the messages...");
-                allMessages = true;
-                gatewayId = "*";
-            }else {
-                gatewayId = cmd.getOptionValue("gId");
-                if (gatewayId == null){
-                    gatewayId = "*";
-                    logger.info("You have not specified a gateway id. We 
assume you need to listen to all the messages...");
-                } else {
-                    gatewayLevelMessages = true;
-                }
-                experimentId = cmd.getOptionValue("eId");
-                if (experimentId == null && !gatewayId.equals("*")){
-                    experimentId = "*";
-                    logger.info("You have not specified a experiment id. We 
assume you need to listen to all the messages for the gateway with id " + 
gatewayId);
-                } else if (experimentId == null && gatewayId.equals("*")) {
-                    experimentId = "*";
-                    logger.info("You have not specified a experiment id and a 
gateway id. We assume you need to listen to all the messages...");
-                }else {
-                    experimentLevelMessages = true;
-                }
-                jobId = cmd.getOptionValue("jId");
-                if (jobId == null && !gatewayId.equals("*") && 
!experimentId.equals("*")){
-                    jobId = "*";
-                    logger.info("You have not specified a job id. We assume 
you need to listen to all the messages for the gateway with id " + gatewayId
-                            + " with experiment id : " + experimentId );
-                } else if (jobId == null && gatewayId.equals("*") && 
experimentId.equals("*")) {
-                    jobId = "*";
-                    logger.info("You have not specified a job Id or experiment 
Id or a gateway Id. We assume you need to listen to all the messages...");
-                }else {
-                    jobLevelMessages = true;
-                }
-            }
-        } catch (ParseException e) {
-            logger.error("Error while reading command line parameters" , e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/TestReader.java
----------------------------------------------------------------------
diff --git 
a/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/TestReader.java
 
b/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/TestReader.java
new file mode 100644
index 0000000..eec87c8
--- /dev/null
+++ 
b/modules/messaging/client/src/main/java/org/apache/airavata/messaging/client/TestReader.java
@@ -0,0 +1,56 @@
+package org.apache.airavata.messaging.client;
+
+import java.io.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Stream;
+
+/**
+ * Created by chathuri on 2/20/15.
+ */
+public class TestReader {
+    public static void main(String[] args) throws IOException {
+        String fileName = 
"/Users/chathuri/dev/airavata/docs/messaging_framework/gw111/results_350";
+        File file = new 
File("/Users/chathuri/dev/airavata/docs/messaging_framework/gw111/processed/results_350");
+        BufferedReader br = null;
+        List<Long> count = new ArrayList<Long>();
+        FileOutputStream fos;
+        BufferedWriter bw;
+        try {
+            br = new BufferedReader(new FileReader(fileName));
+//            String line = br.readLine();
+            Stream<String> lines = br.lines();
+            Object[] objects = lines.toArray();
+            for (int i = 0; i < objects.length; i++){
+                String line = (String)objects[i];
+                if (line.contains(":")){
+                    String[] split = line.split(":");
+                    count.add(Long.valueOf(split[1]));
+                }
+            }
+            fos = new FileOutputStream(file, false);
+            bw = new BufferedWriter(new OutputStreamWriter(fos));
+            long allCount = 0;
+            for (int i = 0; i < count.size(); i++) {
+                if (i % 10 != 9){
+                    allCount += count.get(i);
+                }else {
+                    bw.write(String.valueOf(i + 1) + " :" + 
String.valueOf(allCount));
+                    bw.newLine();
+                    allCount = 0;
+                }
+            }
+            bw.flush();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            br.close();
+        }
+    }
+
+
+
+
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/util/Initialize.java
----------------------------------------------------------------------
diff --git 
a/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/util/Initialize.java
 
b/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/util/Initialize.java
index afe0617..884a2d0 100644
--- 
a/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/util/Initialize.java
+++ 
b/modules/orchestrator/airavata-orchestrator-service/src/test/java/org/apache/airavata/orchestrator/client/util/Initialize.java
@@ -139,7 +139,9 @@ public class Initialize {
 
         try{
             GatewayResource gatewayResource = 
(GatewayResource)ResourceUtils.createGateway(RegistrySettings.getSetting("default.registry.gateway"));
-            
gatewayResource.setOwner(RegistrySettings.getSetting("default.registry.gateway"));
+            
gatewayResource.setGatewayName(RegistrySettings.getSetting("default.registry.gateway"));
+            gatewayResource.setDomain("test-domain");
+            gatewayResource.setEmailAddress("test-email");
             gatewayResource.save();
 
             UserResource userResource = 
ResourceUtils.createUser(RegistrySettings.getSetting("default.registry.user"),RegistrySettings.getSetting("default.registry.password"));

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/util/Initialize.java
----------------------------------------------------------------------
diff --git 
a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/util/Initialize.java
 
b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/util/Initialize.java
index b590d79..df26cb4 100644
--- 
a/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/util/Initialize.java
+++ 
b/modules/orchestrator/orchestrator-core/src/test/java/org/apache/airavata/orchestrator/core/util/Initialize.java
@@ -139,7 +139,9 @@ public class Initialize {
 
         try{
             GatewayResource gatewayResource = 
(GatewayResource)ResourceUtils.createGateway(RegistrySettings.getSetting("default.registry.gateway"));
-            
gatewayResource.setOwner(RegistrySettings.getSetting("default.registry.gateway"));
+            
gatewayResource.setGatewayName(RegistrySettings.getSetting("default.registry.gateway"));
+            gatewayResource.setDomain("test-domain");
+            gatewayResource.setEmailAddress("test-email");
             gatewayResource.save();
 
             UserResource userResource = 
ResourceUtils.createUser(RegistrySettings.getSetting("default.registry.user"),RegistrySettings.getSetting("default.registry.password"));

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceType.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceType.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceType.java
index c347587..0a38664 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceType.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceType.java
@@ -25,8 +25,6 @@ public enum ResourceType {
     PROJECT,
     USER,
     PROJECT_USER,
-    PUBLISHED_WORKFLOW,
-    USER_WORKFLOW,
     CONFIGURATION,
     GATEWAY_WORKER,
     EXPERIMENT,

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceUtils.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceUtils.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceUtils.java
index 20fd855..9eeaa3c 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceUtils.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceUtils.java
@@ -74,16 +74,16 @@ public class ResourceUtils {
     }
 
     /**
-     * @param gatewayName
+     * @param gatewayId
      * @return
      */
-    public static Resource createGateway(String gatewayName) throws 
RegistryException {
-        if (!isGatewayExist(gatewayName)) {
+    public static Resource createGateway(String gatewayId) throws 
RegistryException {
+        if (!isGatewayExist(gatewayId)) {
             GatewayResource gatewayResource = new GatewayResource();
-            gatewayResource.setGatewayName(gatewayName);
+            gatewayResource.setGatewayId(gatewayId);
             return gatewayResource;
         }else {
-            return getGateway(gatewayName);
+            return getGateway(gatewayId);
         }
     }
 
@@ -99,12 +99,12 @@ public class ResourceUtils {
 
     }
 
-    public static Resource getGateway(String gatewayName) throws 
RegistryException{
+    public static Resource getGateway(String gatewayId) throws 
RegistryException{
         EntityManager em = null;
         try {
-            if (isGatewayExist(gatewayName)) {
+            if (isGatewayExist(gatewayId)) {
                 em = getEntityManager();
-                Gateway gateway = em.find(Gateway.class, gatewayName);
+                Gateway gateway = em.find(Gateway.class, gatewayId);
                 GatewayResource gatewayResource = 
(GatewayResource)Utils.getResource(ResourceType.GATEWAY, gateway);
                 em.close();
                 return gatewayResource;
@@ -181,11 +181,11 @@ public class ResourceUtils {
 
     }
 
-    public static Resource getWorker(String gatewayName, String userName) 
throws RegistryException{
+    public static Resource getWorker(String gatewayId, String userName) throws 
RegistryException{
         EntityManager em = null;
         try {
             em = getEntityManager();
-            Gateway_Worker gatewayWorker = em.find(Gateway_Worker.class, new 
Gateway_Worker_PK(gatewayName, userName));
+            Gateway_Worker gatewayWorker = em.find(Gateway_Worker.class, new 
Gateway_Worker_PK(gatewayId, userName));
             WorkerResource workerResource = (WorkerResource) 
Utils.getResource(ResourceType.GATEWAY_WORKER, gatewayWorker);
             em.close();
             return workerResource;
@@ -206,16 +206,16 @@ public class ResourceUtils {
 
 
     /**
-     * @param gatewayName
+     * @param gatewayId
      * @return
      */
-    public static boolean isGatewayExist(String gatewayName) throws 
RegistryException{
+    public static boolean isGatewayExist(String gatewayId) throws 
RegistryException{
         EntityManager em = null;
         try {
             em = getEntityManager();
             em.getTransaction().begin();
             QueryGenerator generator = new 
QueryGenerator(AbstractResource.GATEWAY);
-            
generator.setParameter(AbstractResource.GatewayConstants.GATEWAY_NAME, 
gatewayName);
+            
generator.setParameter(AbstractResource.GatewayConstants.GATEWAY_ID, gatewayId);
             Query q = generator.selectQuery(em);
             int size = q.getResultList().size();
             em.getTransaction().commit();
@@ -236,16 +236,16 @@ public class ResourceUtils {
     }
 
     /**
-     * @param gatewayName
+     * @param gatewayId
      * @return
      */
-    public static boolean removeGateway(String gatewayName) {
+    public static boolean removeGateway(String gatewayId) {
         EntityManager em = null;
         try {
             em = getEntityManager();
             em.getTransaction().begin();
             QueryGenerator generator = new 
QueryGenerator(AbstractResource.GATEWAY);
-            
generator.setParameter(AbstractResource.GatewayConstants.GATEWAY_NAME, 
gatewayName);
+            
generator.setParameter(AbstractResource.GatewayConstants.GATEWAY_ID, gatewayId);
             Query q = generator.deleteQuery(em);
             q.executeUpdate();
             em.getTransaction().commit();
@@ -279,7 +279,7 @@ public class ResourceUtils {
             if (!isUserExist(userResource.getUserName())){
                 userResource.save();
             }
-            Gateway gateway = em.find(Gateway.class, 
gatewayResource.getGatewayName());
+            Gateway gateway = em.find(Gateway.class, 
gatewayResource.getGatewayId());
             Users user = em.find(Users.class, userResource.getUserName());
             Gateway_Worker gatewayWorker = new Gateway_Worker();
             gatewayWorker.setGateway(gateway);
@@ -312,7 +312,7 @@ public class ResourceUtils {
             em = getEntityManager();
             em.getTransaction().begin();
             QueryGenerator generator = new 
QueryGenerator(AbstractResource.GATEWAY_WORKER);
-            
generator.setParameter(AbstractResource.GatewayWorkerConstants.GATEWAY_NAME,
+            
generator.setParameter(AbstractResource.GatewayWorkerConstants.GATEWAY_ID,
                     gatewayResource.getGatewayName());
             generator.setParameter(AbstractResource.UserConstants.USERNAME, 
userResource.getUserName());
             Query q = generator.deleteQuery(em);

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/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 76495f0..7575d6c 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
@@ -51,7 +51,7 @@ public class ExperimentRegistry {
         if (!gatewayResource.isExists(ResourceType.GATEWAY_WORKER, 
user.getUserName())) {
             workerResource = ResourceUtils.addGatewayWorker(gateway, user);
         } else {
-            workerResource = (WorkerResource) 
ResourceUtils.getWorker(gateway.getGatewayName(), user.getUserName());
+            workerResource = (WorkerResource) 
ResourceUtils.getWorker(gateway.getGatewayId(), user.getUserName());
         }
 
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ProjectRegistry.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ProjectRegistry.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ProjectRegistry.java
index d85cd83..6765d9c 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ProjectRegistry.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ProjectRegistry.java
@@ -40,15 +40,15 @@ public class ProjectRegistry {
     private final static Logger logger = 
LoggerFactory.getLogger(ProjectRegistry.class);
 
     public ProjectRegistry(GatewayResource gatewayResource, UserResource user) 
throws RegistryException {
-        if (!ResourceUtils.isGatewayExist(gatewayResource.getGatewayName())){
+        if (!ResourceUtils.isGatewayExist(gatewayResource.getGatewayId())){
             this.gatewayResource = gatewayResource;
         }else {
-            this.gatewayResource = 
(GatewayResource)ResourceUtils.getGateway(gatewayResource.getGatewayName());
+            this.gatewayResource = 
(GatewayResource)ResourceUtils.getGateway(gatewayResource.getGatewayId());
         }
         if (!gatewayResource.isExists(ResourceType.GATEWAY_WORKER, 
user.getUserName())){
             workerResource = ResourceUtils.addGatewayWorker(gatewayResource, 
user);
         }else {
-            workerResource = 
(WorkerResource)ResourceUtils.getWorker(gatewayResource.getGatewayName(), 
user.getUserName());
+            workerResource = 
(WorkerResource)ResourceUtils.getWorker(gatewayResource.getGatewayId(), 
user.getUserName());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
index ec60bd4..a8d4dbf 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/RegistryImpl.java
@@ -48,6 +48,7 @@ public class RegistryImpl implements Registry {
         try {
             if 
(!ResourceUtils.isGatewayExist(ServerSettings.getDefaultUserGateway())){
                 gatewayResource = (GatewayResource) 
ResourceUtils.createGateway(ServerSettings.getDefaultUserGateway());
+                
gatewayResource.setGatewayName(ServerSettings.getDefaultUserGateway());
                 gatewayResource.save();
             }else {
                 gatewayResource = 
(GatewayResource)ResourceUtils.getGateway(ServerSettings.getDefaultUserGateway());

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment.java
index 29a22d6..042dfbe 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment.java
@@ -34,8 +34,8 @@ public class Experiment implements Serializable {
     @Id
     @Column(name = "EXPERIMENT_ID")
     private String expId;
-    @Column(name = "GATEWAY_NAME")
-    private String gatewayName;
+    @Column(name = "GATEWAY_ID")
+    private String gatewayId;
     @Column(name = "EXECUTION_USER")
     private String executionUser;
     @Column(name = "PROJECT_ID")
@@ -60,7 +60,7 @@ public class Experiment implements Serializable {
     private boolean allowNotification;
 
     @ManyToOne(cascade=CascadeType.MERGE)
-    @JoinColumn(name = "gateway_name")
+    @JoinColumn(name = "GATEWAY_ID")
     private Gateway gateway;
 
     @ManyToOne(cascade=CascadeType.MERGE)
@@ -79,12 +79,12 @@ public class Experiment implements Serializable {
         this.expId = expId;
     }
 
-    public String getGatewayName() {
-        return gatewayName;
+    public String getGatewayId() {
+        return gatewayId;
     }
 
-    public void setGatewayName(String gatewayName) {
-        this.gatewayName = gatewayName;
+    public void setGatewayId(String gatewayId) {
+        this.gatewayId = gatewayId;
     }
 
     public String getExecutionUser() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway.java
index 29ee028..7619f17 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway.java
@@ -33,10 +33,14 @@ import java.io.Serializable;
 @Table(name ="GATEWAY")
 public class Gateway implements Serializable {
     @Id
+    @Column(name = "GATEWAY_ID")
+    private String gateway_id;
     @Column(name = "GATEWAY_NAME")
     private String gateway_name;
-    @Column(name = "OWNER")
-    private String owner;
+    @Column(name = "DOMAIN")
+    private String domain;
+    @Column(name = "EMAIL_ADDRESS")
+    private String emailAddress;
 
     public String getGateway_name() {
         return gateway_name;
@@ -46,11 +50,27 @@ public class Gateway implements Serializable {
         this.gateway_name = gateway_name;
     }
 
-    public String getOwner() {
-        return owner;
+    public String getDomain() {
+        return domain;
     }
 
-    public void setOwner(String owner) {
-        this.owner = owner;
+    public void setDomain(String domain) {
+        this.domain = domain;
+    }
+
+    public String getGateway_id() {
+        return gateway_id;
+    }
+
+    public void setGateway_id(String gateway_id) {
+        this.gateway_id = gateway_id;
+    }
+
+    public String getEmailAddress() {
+        return emailAddress;
+    }
+
+    public void setEmailAddress(String emailAddress) {
+        this.emailAddress = emailAddress;
     }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway_Worker.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway_Worker.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway_Worker.java
index 018cdb4..12f3202 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway_Worker.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway_Worker.java
@@ -31,15 +31,15 @@ import java.io.Serializable;
 @IdClass(Gateway_Worker_PK.class)
 public class Gateway_Worker implements Serializable {
     @Id
-    @Column(name = "GATEWAY_NAME")
-    private String gateway_name;
+    @Column(name = "GATEWAY_ID")
+    private String gateway_id;
 
     @Id
     @Column(name = "USER_NAME")
     private String user_name;
 
     @ManyToOne(cascade=CascadeType.MERGE)
-    @JoinColumn(name = "GATEWAY_NAME")
+    @JoinColumn(name = "GATEWAY_ID")
     private Gateway gateway;
 
 
@@ -71,12 +71,12 @@ public class Gateway_Worker implements Serializable {
         this.user = user;
     }
 
-    public String getGateway_name() {
-        return gateway_name;
+    public String getGateway_id() {
+        return gateway_id;
     }
 
-    public void setGateway_name(String gateway_name) {
-        this.gateway_name = gateway_name;
+    public void setGateway_id(String gateway_id) {
+        this.gateway_id = gateway_id;
     }
 }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway_Worker_PK.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway_Worker_PK.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway_Worker_PK.java
index 81cbef8..b2a93a6 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway_Worker_PK.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gateway_Worker_PK.java
@@ -24,11 +24,11 @@ package org.apache.airavata.persistance.registry.jpa.model;
 import java.io.Serializable;
 
 public class Gateway_Worker_PK implements Serializable {
-    private String gateway_name;
+    private String gateway_id;
     private String user_name;
 
-    public Gateway_Worker_PK(String gateway_name, String user_name) {
-        this.gateway_name = gateway_name;
+    public Gateway_Worker_PK(String gateway_id, String user_name) {
+        this.gateway_id = gateway_id;
         this.user_name = user_name;
     }
 
@@ -54,11 +54,11 @@ public class Gateway_Worker_PK implements Serializable {
         this.user_name = user_name;
     }
 
-    public String getGateway_name() {
-        return gateway_name;
+    public String getGateway_id() {
+        return gateway_id;
     }
 
-    public void setGateway_name(String gateway_name) {
-        this.gateway_name = gateway_name;
+    public void setGateway_id(String gateway_id) {
+        this.gateway_id = gateway_id;
     }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/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 ef2cb3f..78a45b2 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
@@ -47,7 +47,7 @@ public class Project implements Serializable {
     private Timestamp creationTime;
 
     @ManyToOne(cascade=CascadeType.MERGE)
-    @JoinColumn(name = "GATEWAY_NAME")
+    @JoinColumn(name = "GATEWAY_ID")
     private Gateway gateway;
 
     @ManyToOne(cascade=CascadeType.MERGE)

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Published_Workflow.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Published_Workflow.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Published_Workflow.java
deleted file mode 100644
index 2e80b37..0000000
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Published_Workflow.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-package org.apache.airavata.persistance.registry.jpa.model;
-
-import javax.persistence.*;
-import java.io.Serializable;
-import java.sql.Timestamp;
-
-@Entity
-@Table(name ="PUBLISHED_WORKFLOW")
-@IdClass(Published_Workflow_PK.class)
-public class Published_Workflow implements Serializable {
-
-    @Id
-    @Column(name = "PUBLISH_WORKFLOW_NAME")
-    private String publish_workflow_name;
-
-    @Id
-    @Column(name = "GATEWAY_NAME")
-    private String gateway_name;
-
-    @ManyToOne(cascade= CascadeType.MERGE)
-    @JoinColumn(name = "GATEWAY_NAME")
-    private Gateway gateway;
-
-    @Column(name = "VERSION")
-    private String version;
-    @Column(name = "PUBLISHED_DATE")
-    private Timestamp published_date;
-
-    @Lob
-    @Column(name = "WORKFLOW_CONTENT")
-    private byte[] workflow_content;
-    @Column(name = "PATH")
-    private String path;
-
-    @ManyToOne(cascade=CascadeType.MERGE)
-    @JoinColumn(name = "CREATED_USER", referencedColumnName = "USER_NAME")
-    private Users user;
-
-    public String getPublish_workflow_name() {
-        return publish_workflow_name;
-    }
-
-    public String getVersion() {
-        return version;
-    }
-
-    public Timestamp getPublished_date() {
-        return published_date;
-    }
-
-    public byte[] getWorkflow_content() {
-        return workflow_content;
-    }
-
-    public Gateway getGateway() {
-        return gateway;
-    }
-
-    public void setPublish_workflow_name(String publish_workflow_name) {
-        this.publish_workflow_name = publish_workflow_name;
-    }
-
-    public void setVersion(String version) {
-        this.version = version;
-    }
-
-    public void setPublished_date(Timestamp published_date) {
-        this.published_date = published_date;
-    }
-
-    public void setWorkflow_content(byte[] workflow_content) {
-        this.workflow_content = workflow_content;
-    }
-
-    public String getPath() {
-        return path;
-    }
-
-    public void setPath(String path) {
-        this.path = path;
-    }
-
-    public String getGateway_name() {
-        return gateway_name;
-    }
-
-    public void setGateway_name(String gateway_name) {
-        this.gateway_name = gateway_name;
-    }
-
-    public Users getUser() {
-        return user;
-    }
-
-    public void setUser(Users user) {
-        this.user = user;
-    }
-
-    public void setGateway(Gateway gateway) {
-        this.gateway = gateway;
-    }
-}
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Published_Workflow_PK.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Published_Workflow_PK.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Published_Workflow_PK.java
deleted file mode 100644
index 1d5c0db..0000000
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Published_Workflow_PK.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-package org.apache.airavata.persistance.registry.jpa.model;
-
-import java.io.Serializable;
-
-public class Published_Workflow_PK implements Serializable {
-    private String gateway_name;
-    private String publish_workflow_name;
-
-    public Published_Workflow_PK(String gateway_name, String 
publish_workflow_name) {
-        this.gateway_name = gateway_name;
-        this.publish_workflow_name = publish_workflow_name;
-    }
-
-    public Published_Workflow_PK() {
-        ;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        return 1;
-    }
-
-    public String getPublish_workflow_name() {
-        return publish_workflow_name;
-    }
-
-    public void setPublish_workflow_name(String publish_workflow_name) {
-        this.publish_workflow_name = publish_workflow_name;
-    }
-
-    public String getGateway_name() {
-        return gateway_name;
-    }
-
-    public void setGateway_name(String gateway_name) {
-        this.gateway_name = gateway_name;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/User_Workflow.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/User_Workflow.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/User_Workflow.java
deleted file mode 100644
index 8aa3b4f..0000000
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/User_Workflow.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-package org.apache.airavata.persistance.registry.jpa.model;
-
-import javax.persistence.*;
-import java.io.Serializable;
-import java.sql.Timestamp;
-
-@Entity
-@Table(name ="USER_WORKFLOW")
-@IdClass(User_Workflow_PK.class)
-public class User_Workflow implements Serializable {
-    @Id
-    @Column(name = "GATEWAY_NAME")
-    private String gateway_name;
-    @Id
-    @Column(name = "OWNER")
-    private String owner;
-    @Id
-    @Column(name = "TEMPLATE_NAME")
-    private String template_name;
-
-    @ManyToOne(cascade= CascadeType.MERGE)
-    @JoinColumn(name = "GATEWAY_NAME")
-    private Gateway gateway;
-
-    @ManyToOne(cascade=CascadeType.MERGE)
-    @JoinColumn(name = "OWNER", referencedColumnName = "USER_NAME")
-    private Users user;
-
-    @Column(name = "PATH")
-    private String path;
-    @Column(name = "LAST_UPDATED_TIME")
-    private Timestamp last_updated_date;
-
-    @Lob
-    private byte[] workflow_graph;
-
-    public String getTemplate_name() {
-        return template_name;
-    }
-
-    public Users getUser() {
-        return user;
-    }
-
-    public void setTemplate_name(String template_name) {
-        this.template_name = template_name;
-    }
-
-    public void setUser(Users user) {
-        this.user = user;
-    }
-
-    public Gateway getGateway() {
-        return gateway;
-    }
-
-    public String getGateway_name() {
-        return gateway_name;
-    }
-
-    public String getOwner() {
-        return owner;
-    }
-
-    public void setGateway_name(String gateway_name) {
-        this.gateway_name = gateway_name;
-    }
-
-    public void setOwner(String owner) {
-        this.owner = owner;
-    }
-
-    public String getPath() {
-        return path;
-    }
-
-    public Timestamp getLast_updated_date() {
-        return last_updated_date;
-    }
-
-    public byte[] getWorkflow_graph() {
-        return workflow_graph;
-    }
-
-    public void setGateway(Gateway gateway) {
-        this.gateway = gateway;
-    }
-
-    public void setPath(String path) {
-        this.path = path;
-    }
-
-    public void setWorkflow_graph(byte[] workflow_graph) {
-        this.workflow_graph = workflow_graph;
-    }
-
-    public void setLast_updated_date(Timestamp last_updated_date) {
-        this.last_updated_date = last_updated_date;
-    }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/User_Workflow_PK.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/User_Workflow_PK.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/User_Workflow_PK.java
deleted file mode 100644
index 5fb75c3..0000000
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/User_Workflow_PK.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
-package org.apache.airavata.persistance.registry.jpa.model;
-
-import java.io.Serializable;
-
-public class User_Workflow_PK implements Serializable {
-    private String template_name;
-    private String gateway_name;
-    private String owner;
-
-    public User_Workflow_PK(String template_name, String owner, String 
gateway_name) {
-        this.template_name = template_name;
-        this.gateway_name = gateway_name;
-        this.owner = owner;
-    }
-
-    public User_Workflow_PK() {
-        ;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        return 1;
-    }
-
-    public String getTemplate_name() {
-        return template_name;
-    }
-
-    public String getGateway_name() {
-        return gateway_name;
-    }
-
-    public String getOwner() {
-        return owner;
-    }
-
-    public void setOwner(String owner) {
-        this.owner = owner;
-    }
-
-    public void setTemplate_name(String template_name) {
-        this.template_name = template_name;
-    }
-
-    public void setGateway_name(String gateway_name) {
-        this.gateway_name = gateway_name;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java
index 32470de..cb45087 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java
@@ -35,8 +35,6 @@ public abstract class AbstractResource implements Resource {
        public static final String GATEWAY_WORKER = "Gateway_Worker";
        public static final String PROJECT = "Project";
        public static final String PROJECT_USER = "ProjectUser";
-       public static final String PUBLISHED_WORKFLOW = "Published_Workflow";
-       public static final String USER_WORKFLOW = "User_Workflow";
        public static final String EXPERIMENT = "Experiment";
        public static final String NOTIFICATION_EMAIL = "Notification_Email";
        public static final String EXPERIMENT_CONFIG_DATA = 
"ExperimentConfigData";
@@ -61,8 +59,10 @@ public abstract class AbstractResource implements Resource {
 
        // Gateway Table
        public final class GatewayConstants {
+               public static final String GATEWAY_ID = "gateway_id";
                public static final String GATEWAY_NAME = "gateway_name";
-               public static final String GATEWAY_OWNER = "owner";
+               public static final String DOMAIN = "domain";
+               public static final String EMAIL_ADDRESS = "emailAddress";
        }
 
        // Configuration Table
@@ -84,12 +84,12 @@ public abstract class AbstractResource implements Resource {
        // Gateway_Worker table
        public final class GatewayWorkerConstants {
                public static final String USERNAME = "user_name";
-               public static final String GATEWAY_NAME = "gateway_name";
+               public static final String GATEWAY_ID = "gateway_id";
        }
 
        // Project table
        public final class ProjectConstants {
-               public static final String GATEWAY_NAME = "gateway_name";
+               public static final String GATEWAY_ID = "gateway_id";
                public static final String USERNAME = "user_name";
                public static final String PROJECT_NAME = "project_name";
                public static final String PROJECT_ID = "project_id";
@@ -102,32 +102,11 @@ public abstract class AbstractResource implements 
Resource {
         public static final String PROJECT_ID = "projectID";
     }
 
-       // Published_Workflow table
-       public final class PublishedWorkflowConstants {
-               public static final String GATEWAY_NAME = "gateway_name";
-               public static final String CREATED_USER = "created_user";
-               public static final String PUBLISH_WORKFLOW_NAME = 
"publish_workflow_name";
-               public static final String VERSION = "version";
-               public static final String PUBLISHED_DATE = "published_date";
-               public static final String PATH = "path";
-               public static final String WORKFLOW_CONTENT = 
"workflow_content";
-       }
-
-       // User_Workflow table
-       public final class UserWorkflowConstants {
-               public static final String GATEWAY_NAME = "gateway_name";
-               public static final String OWNER = "owner";
-               public static final String TEMPLATE_NAME = "template_name";
-               public static final String LAST_UPDATED_DATE = 
"last_updated_date";
-               public static final String PATH = "path";
-               public static final String WORKFLOW_GRAPH = "workflow_graph";
-       }
-
        // Experiment table
        public final class ExperimentConstants {
                public static final String PROJECT_ID = "projectID";
                public static final String EXECUTION_USER = "executionUser";
-               public static final String GATEWAY_NAME = "gatewayName";
+               public static final String GATEWAY_ID = "gatewayId";
                public static final String EXPERIMENT_ID = "expId";
                public static final String EXPERIMENT_NAME = "expName";
                public static final String DESCRIPTION = "expDesc";

http://git-wip-us.apache.org/repos/asf/airavata/blob/2e2868f7/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
----------------------------------------------------------------------
diff --git 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
index 9958a10..845f513 100644
--- 
a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
+++ 
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
@@ -566,14 +566,14 @@ public class ExperimentResource extends AbstractResource {
             Project projectmodel = em.find(Project.class, project.getId());
             experiment.setProject(projectmodel);
             experiment.setProjectId(projectmodel.getProject_id());
-            Gateway gateway = em.find(Gateway.class, 
getGateway().getGatewayName());
+            Gateway gateway = em.find(Gateway.class, 
getGateway().getGatewayId());
             experiment.setExpId(expID);
             experiment.setExecutionUser(executionUser);
             Users userModel = em.find(Users.class, executionUser);
             experiment.setUser(userModel);
             experiment.setExecutionUser(userModel.getUser_name());
             experiment.setGateway(gateway);
-            experiment.setGatewayName(gateway.getGateway_name());
+            experiment.setGatewayId(gateway.getGateway_id());
             experiment.setCreationTime(creationTime);
             experiment.setExpName(expName);
             experiment.setExpDesc(description);
@@ -585,7 +585,7 @@ public class ExperimentResource extends AbstractResource {
             experiment.setAllowNotification(enableEmailNotifications);
             if (existingExp != null) {
                 existingExp.setGateway(gateway);
-                existingExp.setGatewayName(gateway.getGateway_name());
+                existingExp.setGatewayId(gateway.getGateway_id());
                 existingExp.setProject(projectmodel);
                 existingExp.setExecutionUser(executionUser);
                 existingExp.setUser(userModel);

Reply via email to