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);
