Return-Path: X-Original-To: apmail-airavata-commits-archive@www.apache.org Delivered-To: apmail-airavata-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 3246918638 for ; Tue, 2 Jun 2015 02:07:13 +0000 (UTC) Received: (qmail 59687 invoked by uid 500); 2 Jun 2015 02:07:13 -0000 Delivered-To: apmail-airavata-commits-archive@airavata.apache.org Received: (qmail 59548 invoked by uid 500); 2 Jun 2015 02:07:13 -0000 Mailing-List: contact commits-help@airavata.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@airavata.apache.org Delivered-To: mailing list commits@airavata.apache.org Received: (qmail 59460 invoked by uid 99); 2 Jun 2015 02:07:13 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2015 02:07:13 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id D23EADF99B; Tue, 2 Jun 2015 02:07:12 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: chathuri@apache.org To: commits@airavata.apache.org Date: Tue, 02 Jun 2015 02:07:15 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [4/4] airavata git commit: some improvements to experiment-catalog some improvements to experiment-catalog Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4476dfc1 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4476dfc1 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4476dfc1 Branch: refs/heads/master Commit: 4476dfc1e91df23461ade3a7e3e70d7633bce51c Parents: b67b532 Author: Chathuri Wimalasena Authored: Mon Jun 1 22:07:00 2015 -0400 Committer: Chathuri Wimalasena Committed: Mon Jun 1 22:07:00 2015 -0400 ---------------------------------------------------------------------- .../api/server/util/RegistryInitUtil.java | 2 +- .../client/samples/CreateLaunchExperiment.java | 14 +- .../main/resources/airavata-server.properties | 1 + .../airavata/gfac/client/util/Initialize.java | 2 +- .../gfac-application-specific-handlers/pom.xml | 2 +- .../org/apache/airavata/gfac/Constants.java | 2 + .../gfac/monitor/email/EmailBasedMonitor.java | 2 + .../gfac/ssh/handler/SSHOutputHandler.java | 4 +- modules/integration-tests/pom.xml | 2 +- .../orchestrator/client/util/Initialize.java | 2 +- .../orchestrator/core/util/Initialize.java | 2 +- .../registry/jpa/impl/ExperimentRegistry.java | 258 +++++++------ .../registry/jpa/impl/ProjectRegistry.java | 7 +- .../jpa/model/AdvancedInputDataHandling.java | 16 - .../jpa/model/AdvancedOutputDataHandling.java | 15 - .../registry/jpa/model/ApplicationInput.java | 8 - .../registry/jpa/model/ApplicationOutput.java | 8 - .../Computational_Resource_Scheduling.java | 16 - .../registry/jpa/model/DataTransferDetail.java | 12 +- .../registry/jpa/model/ErrorDetail.java | 30 +- .../registry/jpa/model/Experiment.java | 138 +++++-- .../jpa/model/ExperimentConfigData.java | 53 ++- .../registry/jpa/model/Experiment_Input.java | 8 - .../registry/jpa/model/Experiment_Output.java | 8 - .../registry/jpa/model/JobDetail.java | 32 +- .../registry/jpa/model/NodeInput.java | 10 +- .../registry/jpa/model/NodeOutput.java | 10 +- .../registry/jpa/model/Notification_Email.java | 18 +- .../registry/jpa/model/QosParam.java | 16 - .../persistance/registry/jpa/model/Status.java | 38 +- .../registry/jpa/model/TaskDetail.java | 122 ++++++- .../registry/jpa/model/WorkflowNodeDetail.java | 66 +++- .../AdvanceInputDataHandlingResource.java | 38 +- .../AdvancedOutputDataHandlingResource.java | 39 +- .../jpa/resources/ApplicationInputResource.java | 42 +-- .../resources/ApplicationOutputResource.java | 20 +- .../ComputationSchedulingResource.java | 30 +- .../jpa/resources/ConfigDataResource.java | 55 ++- .../resources/DataTransferDetailResource.java | 38 +- .../jpa/resources/ErrorDetailResource.java | 71 ++-- .../jpa/resources/ExperimentInputResource.java | 19 +- .../jpa/resources/ExperimentOutputResource.java | 20 +- .../jpa/resources/ExperimentResource.java | 171 ++++++--- .../registry/jpa/resources/GatewayResource.java | 6 +- .../jpa/resources/JobDetailResource.java | 39 +- .../jpa/resources/NodeInputResource.java | 19 +- .../jpa/resources/NodeOutputResource.java | 19 +- .../resources/NotificationEmailResource.java | 30 +- .../registry/jpa/resources/ProjectResource.java | 45 +-- .../jpa/resources/QosParamResource.java | 30 +- .../registry/jpa/resources/StatusResource.java | 62 ++-- .../jpa/resources/TaskDetailResource.java | 139 +++++-- .../registry/jpa/resources/Utils.java | 360 +++++++++++++------ .../registry/jpa/resources/WorkerResource.java | 61 ++-- .../resources/WorkflowNodeDetailResource.java | 80 ++++- .../jpa/utils/ThriftDataModelConversion.java | 21 +- .../jpa/ComputationalSchedulingTest.java | 2 +- .../jpa/ExperimentInputResourceTest.java | 4 +- .../jpa/ExperimentOutputResourceTest.java | 4 +- .../registry/jpa/ExperimentResourceTest.java | 2 +- .../registry/jpa/GatewayResourceTest.java | 2 +- .../registry/jpa/TaskDetailResourceTest.java | 6 +- .../jpa/WorkflowNodeDetailResourceTest.java | 4 +- .../registry/jpa/util/Initialize.java | 2 +- 64 files changed, 1399 insertions(+), 1005 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java index 2e610c5..da6f87b 100644 --- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java +++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/util/RegistryInitUtil.java @@ -112,7 +112,7 @@ public class RegistryInitUtil { if (!workerResource.isExists(ResourceType.PROJECT, DEFAULT_PROJECT_NAME)){ projectResource = workerResource.createProject(DEFAULT_PROJECT_NAME); projectResource.setName(DEFAULT_PROJECT_NAME); - projectResource.setGateway(gateway); + projectResource.setGatewayId(gateway.getGatewayId()); projectResource.save(); } http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 cd2fc7a..ea57730 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,7 +57,7 @@ public class CreateLaunchExperiment { private static String echoAppId = "Echo_54324c70-8e89-4bb6-b77f-b0b274c3a2ed"; private static String mpiAppId = "HelloMPI_bfd56d58-6085-4b7f-89fc-646576830518"; private static String wrfAppId = "WRF_7ad5da38-c08b-417c-a9ea-da9298839762"; - private static String amberAppId = "Amber_cb54b269-cf79-4276-8dbb-2ec16b759cc6"; + private static String amberAppId = "Amber_357ba0ea-038c-4f14-b5f3-16bab331031b"; 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_2472685b-8acf-497e-aafe-cc66fe5f4cb6"; @@ -82,7 +82,7 @@ public class CreateLaunchExperiment { 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(); + createAndLaunchExp(); } private static String fsdResourceId; @@ -162,12 +162,12 @@ public class CreateLaunchExperiment { // final String expId = createMPIExperimentForFSD(airavataClient); // final String expId = createEchoExperimentForStampede(airavataClient); // final String expId = createEchoExperimentForTrestles(airavataClient); - final String expId = createExperimentEchoForLocalHost(airavataClient); +// final String expId = createExperimentEchoForLocalHost(airavataClient); // final String expId = createExperimentWRFTrestles(airavataClient); // final String expId = createExperimentForBR2(airavataClient); // final String expId = createExperimentForBR2Amber(airavataClient); // final String expId = createExperimentWRFStampede(airavataClient); -// final String expId = createExperimentForStampedeAmber(airavataClient); + final String expId = createExperimentForStampedeAmber(airavataClient); // String expId = createExperimentForTrestlesAmber(airavataClient); // final String expId = createExperimentGROMACSStampede(airavataClient); // final String expId = createExperimentESPRESSOStampede(airavataClient); @@ -1311,11 +1311,11 @@ public class CreateLaunchExperiment { // } for (InputDataObjectType inputDataObjectType : exInputs) { if (inputDataObjectType.getName().equalsIgnoreCase("Heat_Restart_File")) { - inputDataObjectType.setValue("/Users/lginnali/Downloads/02_Heat.rst"); + inputDataObjectType.setValue("/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/02_Heat.rst"); } else if (inputDataObjectType.getName().equalsIgnoreCase("Production_Control_File")) { - inputDataObjectType.setValue("/Users/lginnali/Downloads/03_Prod.in"); + inputDataObjectType.setValue("/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/03_Prod.in"); } else if (inputDataObjectType.getName().equalsIgnoreCase("Parameter_Topology_File")) { - inputDataObjectType.setValue("/Users/lginnali/Downloads/prmtop"); + inputDataObjectType.setValue("/Users/chathuri/dev/airavata/source/php/inputs/AMBER_FILES/prmtop"); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/configuration/server/src/main/resources/airavata-server.properties ---------------------------------------------------------------------- diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties index 56a8bd1..e617555 100644 --- a/modules/configuration/server/src/main/resources/airavata-server.properties +++ b/modules/configuration/server/src/main/resources/airavata-server.properties @@ -48,6 +48,7 @@ default.registry.user=admin default.registry.password=admin default.registry.password.hash.method=SHA default.registry.gateway=php_reference_gateway +output.location=/var/www/portal/experimentData/ #ip=127.0.0.1 http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 6f3f792..651f414 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 @@ -152,7 +152,7 @@ public class Initialize { workerResource.save(); ProjectResource projectResource = (ProjectResource)workerResource.create(ResourceType.PROJECT); - projectResource.setGateway(gatewayResource); + projectResource.setGatewayId(gatewayResource.getGatewayId()); projectResource.setId("default"); projectResource.setName("default"); projectResource.setWorker(workerResource); http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/gfac/gfac-application-specific-handlers/pom.xml ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-application-specific-handlers/pom.xml b/modules/gfac/gfac-application-specific-handlers/pom.xml index 0254300..801313d 100644 --- a/modules/gfac/gfac-application-specific-handlers/pom.xml +++ b/modules/gfac/gfac-application-specific-handlers/pom.xml @@ -12,7 +12,7 @@ org.apache.airavata airavata-gfac-core - 0.15-SNAPSHOT + ${project.version} http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/Constants.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/Constants.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/Constants.java index 5811251..73ff677 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/Constants.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/Constants.java @@ -76,5 +76,7 @@ public class Constants { public static final String PROPERTY = "property"; public static final String NAME = "name"; public static final String VALUE = "value"; + public static final String OUTPUT_DATA_DIR = "output.location"; + } http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java index 07934a4..e418774 100644 --- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java +++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java @@ -134,6 +134,7 @@ public class EmailBasedMonitor implements Runnable{ } private ResourceJobManagerType getJobMonitorType(String addressStr) throws AiravataException { + System.out.println("*********** address ******** : " + addressStr); switch (addressStr) { case "pbsconsult@sdsc.edu": // trestles , gordan case "adm@trident.bigred2.uits.iu.edu": // bigred2 @@ -142,6 +143,7 @@ public class EmailBasedMonitor implements Runnable{ return ResourceJobManagerType.PBS; case "SDSC Admin ": // comet case "slurm@batch1.stampede.tacc.utexas.edu": // stampede + case "slurm user ": return ResourceJobManagerType.SLURM; // case "lsf": // return ResourceJobManagerType.LSF; http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java index f9eb1ef..f7fd2f4 100644 --- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java +++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/handler/SSHOutputHandler.java @@ -20,6 +20,8 @@ */ package org.apache.airavata.gfac.ssh.handler; +import org.apache.airavata.common.utils.ServerSettings; +import org.apache.airavata.gfac.Constants; import org.apache.airavata.gfac.GFacException; import org.apache.airavata.gfac.core.context.JobExecutionContext; import org.apache.airavata.gfac.core.handler.AbstractHandler; @@ -90,7 +92,7 @@ public class SSHOutputHandler extends AbstractHandler { String timeStampedExperimentID = GFacUtils.createUniqueNameWithDate(jobExecutionContext.getExperimentID()); TaskDetails taskData = jobExecutionContext.getTaskData(); - String outputDataDir = null; + String outputDataDir = ServerSettings.getSetting(Constants.OUTPUT_DATA_DIR, File.separator + "tmp"); File localStdOutFile; File localStdErrFile; //FIXME: AdvancedOutput is remote location and third party transfer should work to make this work http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/integration-tests/pom.xml ---------------------------------------------------------------------- diff --git a/modules/integration-tests/pom.xml b/modules/integration-tests/pom.xml index 087c085..770c511 100644 --- a/modules/integration-tests/pom.xml +++ b/modules/integration-tests/pom.xml @@ -12,7 +12,7 @@ org.apache.airavata airavata - 0.15-SNAPSHOT + 0.16-SNAPSHOT ../../pom.xml http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 a9eb5a8..c827fc4 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 @@ -152,7 +152,7 @@ public class Initialize { workerResource.save(); ProjectResource projectResource = (ProjectResource)workerResource.create(ResourceType.PROJECT); - projectResource.setGateway(gatewayResource); + projectResource.setGatewayId(gatewayResource.getGatewayId()); projectResource.setId("default"); projectResource.setName("default"); projectResource.setWorker(workerResource); http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 29a8f2c..e6230d8 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 @@ -152,7 +152,7 @@ public class Initialize { workerResource.save(); ProjectResource projectResource = (ProjectResource)workerResource.create(ResourceType.PROJECT); - projectResource.setGateway(gatewayResource); + projectResource.setGatewayId(gatewayResource.getGatewayId()); projectResource.setId("default"); projectResource.setName("default"); projectResource.setWorker(workerResource); http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 5b63641..bc9bfaf 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 @@ -70,16 +70,14 @@ public class ExperimentRegistry { experimentResource.setExpID(experimentID); experimentResource.setExpName(experiment.getName()); experimentResource.setExecutionUser(experiment.getUserName()); - GatewayResource gateway = (GatewayResource)ResourceUtils.getGateway(gatewayId); - experimentResource.setGateway(gateway); + experimentResource.setGatewayId(gatewayId); experimentResource.setGatewayExecutionId(experiment.getGatewayExecutionId()); experimentResource.setEnableEmailNotifications(experiment.isEnableEmailNotification()); if (!workerResource.isProjectExists(experiment.getProjectID())) { logger.error("Project does not exist in the system.."); throw new Exception("Project does not exist in the system, Please create the project first..."); } - ProjectResource project = workerResource.getProject(experiment.getProjectID()); - experimentResource.setProject(project); + experimentResource.setProjectId(experiment.getProjectID()); experimentResource.setCreationTime(AiravataUtils.getTime(experiment.getCreationTime())); experimentResource.setDescription(experiment.getDescription()); experimentResource.setApplicationId(experiment.getApplicationId()); @@ -93,7 +91,7 @@ public class ExperimentRegistry { if (emailAddresses != null && !emailAddresses.isEmpty()){ for (String email : emailAddresses){ NotificationEmailResource emailResource = new NotificationEmailResource(); - emailResource.setExperimentResource(experimentResource); + emailResource.setExperimentId(experimentID); emailResource.setEmailAddress(email); emailResource.save(); } @@ -150,7 +148,7 @@ public class ExperimentRegistry { try { ExperimentResource experiment = gatewayResource.getExperiment(experimentID); ConfigDataResource configData = (ConfigDataResource) experiment.create(ResourceType.CONFIG_DATA); - configData.setExperimentResource(experiment); + configData.setExperimentId(experimentID); configData.setAiravataAutoSchedule(configurationData.isAiravataAutoSchedule()); configData.setOverrideManualParams(configurationData.isOverrideManualScheduledParams()); configData.setShareExp(configurationData.isShareExperimentPublicly()); @@ -187,12 +185,15 @@ public class ExperimentRegistry { QosParamResource qosr = new QosParamResource(); if (resource instanceof ExperimentResource) { ExperimentResource experiment = (ExperimentResource) resource; - qosr.setExperimentResource(experiment); + qosr.setExperimentId(experiment.getExpID()); } if (resource instanceof TaskDetailResource) { TaskDetailResource taskDetailResource = (TaskDetailResource) resource; - qosr.setTaskDetailResource(taskDetailResource); - qosr.setExperimentResource(taskDetailResource.getWorkflowNodeDetailResource().getExperimentResource()); + qosr.setTaskId(taskDetailResource.getTaskId()); + String nodeId = taskDetailResource.getNodeId(); + ExperimentResource experimentResource = new ExperimentResource(); + WorkflowNodeDetailResource workflowNode = experimentResource.getWorkflowNode(nodeId); + qosr.setExperimentId(workflowNode.getExperimentId()); } qosr.setStartExecutionAt(qosParams.getStartExecutionAt()); qosr.setExecuteBefore(qosParams.getExecuteBefore()); @@ -210,12 +211,15 @@ public class ExperimentRegistry { try { if (resource instanceof ExperimentResource) { ExperimentResource experiment = (ExperimentResource) resource; - adodh.setExperimentResource(experiment); + adodh.setExperimentId(experiment.getExpID()); } if (resource instanceof TaskDetailResource) { TaskDetailResource taskDetailResource = (TaskDetailResource) resource; - adodh.setTaskDetailResource(taskDetailResource); - adodh.setExperimentResource(taskDetailResource.getWorkflowNodeDetailResource().getExperimentResource()); + String nodeId = taskDetailResource.getNodeId(); + ExperimentResource experimentResource = new ExperimentResource(); + WorkflowNodeDetailResource workflowNode = experimentResource.getWorkflowNode(nodeId); + adodh.setExperimentId(workflowNode.getExperimentId()); + adodh.setTaskId(taskDetailResource.getTaskId()); } adodh.setOutputDataDir(outputDataHandling.getOutputDataDir()); adodh.setDataRegUrl(outputDataHandling.getDataRegistryURL()); @@ -233,12 +237,15 @@ public class ExperimentRegistry { try { if (resource instanceof ExperimentResource) { ExperimentResource experiment = (ExperimentResource) resource; - adidh.setExperimentResource(experiment); + adidh.setExperimentId(experiment.getExpID()); } if (resource instanceof TaskDetailResource) { TaskDetailResource taskDetailResource = (TaskDetailResource) resource; - adidh.setTaskDetailResource(taskDetailResource); - adidh.setExperimentResource(taskDetailResource.getWorkflowNodeDetailResource().getExperimentResource()); + String nodeId = taskDetailResource.getNodeId(); + ExperimentResource experimentResource = new ExperimentResource(); + WorkflowNodeDetailResource workflowNode = experimentResource.getWorkflowNode(nodeId); + adidh.setExperimentId(workflowNode.getExperimentId()); + adidh.setTaskId(taskDetailResource.getTaskId()); } adidh.setWorkingDir(inputDataHandling.getUniqueWorkingDirectory()); adidh.setWorkingDirParent(inputDataHandling.getParentWorkingDirectory()); @@ -257,12 +264,15 @@ public class ExperimentRegistry { try { if (resource instanceof ExperimentResource) { ExperimentResource experiment = (ExperimentResource) resource; - cmsr.setExperimentResource(experiment); + cmsr.setExperimentId(experiment.getExpID()); } if (resource instanceof TaskDetailResource) { TaskDetailResource taskDetailResource = (TaskDetailResource) resource; - cmsr.setTaskDetailResource(taskDetailResource); - cmsr.setExperimentResource(taskDetailResource.getWorkflowNodeDetailResource().getExperimentResource()); + String nodeId = taskDetailResource.getNodeId(); + ExperimentResource experimentResource = new ExperimentResource(); + WorkflowNodeDetailResource workflowNode = experimentResource.getWorkflowNode(nodeId); + cmsr.setExperimentId(workflowNode.getExperimentId()); + cmsr.setTaskId(taskDetailResource.getTaskId()); } cmsr.setResourceHostId(resourceScheduling.getResourceHostId()); cmsr.setCpuCount(resourceScheduling.getTotalCPUCount()); @@ -285,7 +295,7 @@ public class ExperimentRegistry { try { for (InputDataObjectType input : exInputs) { ExperimentInputResource resource = (ExperimentInputResource) experimentResource.create(ResourceType.EXPERIMENT_INPUT); - resource.setExperimentResource(experimentResource); + resource.setExperimentId(experimentResource.getExpID()); resource.setExperimentKey(input.getName()); resource.setValue(input.getValue()); if (input.getType() != null) { @@ -335,7 +345,7 @@ public class ExperimentRegistry { ExperimentResource experiment = gatewayResource.getExperiment(expId); for (OutputDataObjectType output : exOutput) { ExperimentOutputResource resource = (ExperimentOutputResource) experiment.create(ResourceType.EXPERIMENT_OUTPUT); - resource.setExperimentResource(experiment); + resource.setExperimentId(expId); resource.setExperimentKey(output.getName()); resource.setValue(output.getValue()); if (output.getType() != null) { @@ -364,7 +374,7 @@ public class ExperimentRegistry { for (OutputDataObjectType output : exOutput) { for (ExperimentOutputResource resource : existingExpOutputs) { if (resource.getExperimentKey().equals(output.getName())) { - resource.setExperimentResource(experiment); + resource.setExperimentId(expId); resource.setExperimentKey(output.getName()); resource.setValue(output.getValue()); if (output.getType() != null) { @@ -393,7 +403,7 @@ public class ExperimentRegistry { WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) ids.getSecondLevelIdentifier()); for (OutputDataObjectType output : wfOutputs) { NodeOutputResource resource = (NodeOutputResource) workflowNode.create(ResourceType.NODE_OUTPUT); - resource.setNodeDetailResource(workflowNode); + resource.setNodeId(workflowNode.getNodeInstanceId()); resource.setOutputKey(output.getName()); resource.setValue(output.getValue()); if (output.getType() != null) { @@ -422,7 +432,7 @@ public class ExperimentRegistry { List nodeOutputs = workflowNode.getNodeOutputs(); for (OutputDataObjectType output : wfOutputs) { for (NodeOutputResource resource : nodeOutputs) { - resource.setNodeDetailResource(workflowNode); + resource.setNodeId(workflowNode.getNodeInstanceId()); resource.setOutputKey(output.getName()); resource.setValue(output.getValue()); if (output.getType() != null) { @@ -451,7 +461,7 @@ public class ExperimentRegistry { TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getSecondLevelIdentifier()); for (OutputDataObjectType output : appOutputs) { ApplicationOutputResource resource = (ApplicationOutputResource) taskDetail.create(ResourceType.APPLICATION_OUTPUT); - resource.setTaskDetailResource(taskDetail); + resource.setTaskId(taskDetail.getTaskId()); resource.setOutputKey(output.getName()); resource.setValue(output.getValue()); if (output.getType() != null) { @@ -480,7 +490,7 @@ public class ExperimentRegistry { if (status == null) { status = (StatusResource) experiment.create(ResourceType.STATUS); } - status.setExperimentResource(experiment); + status.setExperimentId(expId); status.setStatusUpdateTime(AiravataUtils.getTime(experimentStatus.getTimeOfStateChange())); if (status.getState() == null) { status.setState(ExperimentState.UNKNOWN.name()); @@ -503,8 +513,8 @@ public class ExperimentRegistry { ExperimentResource experiment = gatewayResource.getExperiment((String) ids.getTopLevelIdentifier()); WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) ids.getSecondLevelIdentifier()); StatusResource statusResource = (StatusResource) experiment.create(ResourceType.STATUS); - statusResource.setExperimentResource(experiment); - statusResource.setWorkflowNodeDetail(workflowNode); + statusResource.setExperimentId(experiment.getExpID()); + statusResource.setNodeId(workflowNode.getNodeInstanceId()); statusResource.setStatusType(StatusType.WORKFLOW_NODE.toString()); statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange())); if (status.getWorkflowNodeState() == null) { @@ -528,8 +538,8 @@ public class ExperimentRegistry { if (statusResource == null) { statusResource = (StatusResource) workflowNode.create(ResourceType.STATUS); } - statusResource.setExperimentResource(workflowNode.getExperimentResource()); - statusResource.setWorkflowNodeDetail(workflowNode); + statusResource.setExperimentId(workflowNode.getExperimentId()); + statusResource.setNodeId(nodeId); statusResource.setStatusType(StatusType.WORKFLOW_NODE.toString()); statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange())); statusResource.setState(status.getWorkflowNodeState().toString()); @@ -548,9 +558,9 @@ public class ExperimentRegistry { WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode((String) ids.getTopLevelIdentifier()); TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getSecondLevelIdentifier()); StatusResource statusResource = (StatusResource) workflowNode.create(ResourceType.STATUS); - statusResource.setExperimentResource(workflowNode.getExperimentResource()); - statusResource.setWorkflowNodeDetail(workflowNode); - statusResource.setTaskDetailResource(taskDetail); + statusResource.setExperimentId(workflowNode.getExperimentId()); + statusResource.setNodeId(workflowNode.getNodeInstanceId()); + statusResource.setTaskId(taskDetail.getTaskId()); statusResource.setStatusType(StatusType.TASK.toString()); statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange())); if (status.getExecutionState() == null) { @@ -573,13 +583,14 @@ public class ExperimentRegistry { TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId); StatusResource statusResource; if (taskDetail.isTaskStatusExist(taskId)) { - statusResource = taskDetail.getWorkflowNodeDetailResource().getTaskStatus(taskId); + workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId()); + statusResource = workflowNode.getTaskStatus(taskId); } else { statusResource = (StatusResource) taskDetail.create(ResourceType.STATUS); } - statusResource.setExperimentResource(taskDetail.getWorkflowNodeDetailResource().getExperimentResource()); - statusResource.setWorkflowNodeDetail(taskDetail.getWorkflowNodeDetailResource()); - statusResource.setTaskDetailResource(taskDetail); + statusResource.setExperimentId(workflowNode.getExperimentId()); + statusResource.setNodeId(workflowNode.getNodeInstanceId()); + statusResource.setTaskId(taskId); statusResource.setStatusType(StatusType.TASK.toString()); statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange())); statusResource.setState(status.getExecutionState().toString()); @@ -601,11 +612,12 @@ public class ExperimentRegistry { ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT); WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL); TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier()); + workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId()); JobDetailResource jobDetail = taskDetail.getJobDetail((String) ids.getSecondLevelIdentifier()); StatusResource statusResource = (StatusResource) jobDetail.create(ResourceType.STATUS); - statusResource.setExperimentResource(taskDetail.getWorkflowNodeDetailResource().getExperimentResource()); - statusResource.setWorkflowNodeDetail(taskDetail.getWorkflowNodeDetailResource()); - statusResource.setTaskDetailResource(taskDetail); + statusResource.setExperimentId(workflowNode.getExperimentId()); + statusResource.setNodeId(workflowNode.getNodeInstanceId()); + statusResource.setTaskId(taskDetail.getTaskId()); statusResource.setStatusType(StatusType.JOB.toString()); statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange())); if (status.getJobState() == null) { @@ -628,11 +640,10 @@ public class ExperimentRegistry { TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier()); JobDetailResource jobDetail = taskDetail.getJobDetail((String) ids.getSecondLevelIdentifier()); StatusResource statusResource = jobDetail.getJobStatus(); - workflowNode = taskDetail.getWorkflowNodeDetailResource(); - experiment = workflowNode.getExperimentResource(); - statusResource.setExperimentResource(experiment); - statusResource.setWorkflowNodeDetail(workflowNode); - statusResource.setTaskDetailResource(taskDetail); + workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId()); + statusResource.setExperimentId(workflowNode.getExperimentId()); + statusResource.setNodeId(workflowNode.getNodeInstanceId()); + statusResource.setTaskId(taskDetail.getTaskId()); statusResource.setStatusType(StatusType.JOB.toString()); statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange())); statusResource.setState(status.getJobState().toString()); @@ -657,9 +668,10 @@ public class ExperimentRegistry { TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier()); JobDetailResource jobDetail = taskDetail.getJobDetail((String) ids.getSecondLevelIdentifier()); StatusResource statusResource = (StatusResource) jobDetail.create(ResourceType.STATUS); - statusResource.setExperimentResource(taskDetail.getWorkflowNodeDetailResource().getExperimentResource()); - statusResource.setWorkflowNodeDetail(taskDetail.getWorkflowNodeDetailResource()); - statusResource.setTaskDetailResource(taskDetail); + workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId()); + statusResource.setExperimentId(workflowNode.getExperimentId()); + statusResource.setNodeId(workflowNode.getNodeInstanceId()); + statusResource.setTaskId(taskDetail.getTaskId()); statusResource.setStatusType(StatusType.APPLICATION.toString()); statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange())); if (status.getApplicationState() == null) { @@ -682,9 +694,10 @@ public class ExperimentRegistry { TaskDetailResource taskDetail = (TaskDetailResource) workflowNode.create(ResourceType.TASK_DETAIL); JobDetailResource jobDetail = taskDetail.getJobDetail(jobId); StatusResource statusResource = jobDetail.getApplicationStatus(); - statusResource.setExperimentResource(jobDetail.getTaskDetailResource().getWorkflowNodeDetailResource().getExperimentResource()); - statusResource.setWorkflowNodeDetail(jobDetail.getTaskDetailResource().getWorkflowNodeDetailResource()); - statusResource.setTaskDetailResource(jobDetail.getTaskDetailResource()); + workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId()); + statusResource.setExperimentId(workflowNode.getExperimentId()); + statusResource.setNodeId(workflowNode.getNodeInstanceId()); + statusResource.setTaskId(taskDetail.getTaskId()); statusResource.setStatusType(StatusType.APPLICATION.toString()); statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange())); statusResource.setState(status.getApplicationState()); @@ -708,10 +721,11 @@ public class ExperimentRegistry { TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier()); DataTransferDetailResource dataTransferDetail = taskDetail.getDataTransferDetail((String) ids.getSecondLevelIdentifier()); StatusResource statusResource = (StatusResource) dataTransferDetail.create(ResourceType.STATUS); - statusResource.setExperimentResource(taskDetail.getWorkflowNodeDetailResource().getExperimentResource()); - statusResource.setWorkflowNodeDetail(taskDetail.getWorkflowNodeDetailResource()); - statusResource.setTaskDetailResource(taskDetail); - statusResource.setDataTransferDetail(dataTransferDetail); + workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId()); + statusResource.setExperimentId(workflowNode.getExperimentId()); + statusResource.setNodeId(workflowNode.getNodeInstanceId()); + statusResource.setTaskId(taskDetail.getTaskId()); + statusResource.setTransferId(dataTransferDetail.getTransferId()); statusResource.setStatusType(StatusType.DATA_TRANSFER.toString()); statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange())); if (status.getTransferState() == null) { @@ -735,13 +749,15 @@ public class ExperimentRegistry { DataTransferDetailResource dataTransferDetail = taskDetail.getDataTransferDetail(transferId); StatusResource statusResource = dataTransferDetail.getDataTransferStatus(); - WorkflowNodeDetailResource workflowNodeDetailResource = dataTransferDetail.getTaskDetailResource().getWorkflowNodeDetailResource(); - if (workflowNodeDetailResource != null) { - statusResource.setExperimentResource(workflowNodeDetailResource.getExperimentResource()); - statusResource.setWorkflowNodeDetail(workflowNodeDetailResource); + String taskId = dataTransferDetail.getTaskId(); + taskDetail = workflowNode.getTaskDetail(taskId); + workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId()); + if (workflowNode != null) { + statusResource.setExperimentId(workflowNode.getExperimentId()); + statusResource.setNodeId(workflowNode.getNodeInstanceId()); } - statusResource.setTaskDetailResource(dataTransferDetail.getTaskDetailResource()); - statusResource.setDataTransferDetail(dataTransferDetail); + statusResource.setTaskId(taskId); + statusResource.setTransferId(transferId); statusResource.setStatusType(StatusType.DATA_TRANSFER.toString()); statusResource.setStatusUpdateTime(AiravataUtils.getTime(status.getTimeOfStateChange())); statusResource.setState(status.getTransferState().toString()); @@ -756,7 +772,7 @@ public class ExperimentRegistry { try { ExperimentResource experiment = gatewayResource.getExperiment(expId); WorkflowNodeDetailResource resource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL); - resource.setExperimentResource(experiment); + resource.setExperimentId(expId); resource.setNodeName(nodeDetails.getNodeName()); resource.setExecutionUnit(nodeDetails.getExecutionUnit().toString()); resource.setExecutionUnitData(nodeDetails.getExecutionUnitData()); @@ -820,7 +836,7 @@ public class ExperimentRegistry { workflowNode.setCreationTime(AiravataUtils.getTime(nodeDetails.getCreationTime())); workflowNode.setNodeInstanceId(nodeId); workflowNode.save(); - String expID = workflowNode.getExperimentResource().getExpID(); + String expID = workflowNode.getExperimentId(); List nodeInputs = nodeDetails.getNodeInputs(); if (nodeInputs != null) { updateWorkflowInputs(nodeDetails.getNodeInputs(), workflowNode); @@ -866,7 +882,7 @@ public class ExperimentRegistry { try { for (InputDataObjectType input : wfInputs) { NodeInputResource resource = (NodeInputResource) nodeDetailResource.create(ResourceType.NODE_INPUT); - resource.setNodeDetailResource(nodeDetailResource); + resource.setNodeId(nodeDetailResource.getNodeInstanceId()); resource.setInputKey(input.getName()); resource.setValue(input.getValue()); if (input.getType() != null) { @@ -891,7 +907,7 @@ public class ExperimentRegistry { List nodeInputs = nodeDetailResource.getNodeInputs(); for (InputDataObjectType input : wfInputs) { for (NodeInputResource resource : nodeInputs) { - resource.setNodeDetailResource(nodeDetailResource); + resource.setNodeId(nodeDetailResource.getNodeInstanceId()); resource.setInputKey(input.getName()); resource.setValue(input.getValue()); if (input.getType() != null) { @@ -916,9 +932,8 @@ public class ExperimentRegistry { try { ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT); WorkflowNodeDetailResource workflowNode = experiment.getWorkflowNode(nodeId); - experiment = workflowNode.getExperimentResource(); TaskDetailResource taskDetail = (TaskDetailResource) workflowNode.create(ResourceType.TASK_DETAIL); - taskDetail.setWorkflowNodeDetailResource(workflowNode); + taskDetail.setNodeId(nodeId); taskDetail.setTaskId(getTaskID(workflowNode.getNodeName())); taskDetail.setApplicationId(taskDetails.getApplicationId()); taskDetail.setApplicationVersion(taskDetails.getApplicationVersion()); @@ -930,8 +945,8 @@ public class ExperimentRegistry { if (emailAddresses != null && !emailAddresses.isEmpty()){ for (String email : emailAddresses){ NotificationEmailResource emailResource = new NotificationEmailResource(); - emailResource.setExperimentResource(experiment); - emailResource.setTaskDetailResource(taskDetail); + emailResource.setExperimentId(workflowNode.getExperimentId()); + emailResource.setTaskId(taskDetail.getTaskId()); emailResource.setEmailAddress(email); emailResource.save(); } @@ -1013,7 +1028,8 @@ public class ExperimentRegistry { taskDetail.setApplicationDeploymentId(taskDetails.getApplicationDeploymentId()); taskDetail.setEnableEmailNotifications(taskDetails.isEnableEmailNotification()); taskDetail.save(); - experiment = taskDetail.getWorkflowNodeDetailResource().getExperimentResource(); + + workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId()); List emailAddresses = taskDetails.getEmailAddresses(); // remove existing emails @@ -1021,8 +1037,8 @@ public class ExperimentRegistry { if (emailAddresses != null && !emailAddresses.isEmpty()){ for (String email : emailAddresses){ NotificationEmailResource emailResource = new NotificationEmailResource(); - emailResource.setExperimentResource(experiment); - emailResource.setTaskDetailResource(taskDetail); + emailResource.setExperimentId(workflowNode.getExperimentId()); + emailResource.setTaskId(taskId); emailResource.setEmailAddress(email); emailResource.save(); } @@ -1080,7 +1096,7 @@ public class ExperimentRegistry { try { for (InputDataObjectType input : appInputs) { ApplicationInputResource resource = (ApplicationInputResource) taskDetailResource.create(ResourceType.APPLICATION_INPUT); - resource.setTaskDetailResource(taskDetailResource); + resource.setTaskId(taskDetailResource.getTaskId()); resource.setInputKey(input.getName()); resource.setValue(input.getValue()); if (input.getType() != null) { @@ -1104,7 +1120,7 @@ public class ExperimentRegistry { try { for (OutputDataObjectType output : appOytputs) { ApplicationOutputResource resource = (ApplicationOutputResource) taskDetailResource.create(ResourceType.APPLICATION_OUTPUT); - resource.setTaskDetailResource(taskDetailResource); + resource.setTaskId(taskDetailResource.getTaskId()); resource.setOutputKey(output.getName()); resource.setValue(output.getValue()); if (output.getType() != null) { @@ -1116,7 +1132,6 @@ public class ExperimentRegistry { resource.setDataNameLocation(output.getLocation()); resource.setAppArgument(output.getApplicationArgument()); resource.setSearchQuery(output.getSearchQuery()); -// resource.setMetadata(output.getMetaData()); resource.save(); } } catch (Exception e) { @@ -1134,7 +1149,7 @@ public class ExperimentRegistry { List outputs = taskDetail.getApplicationOutputs(); for (OutputDataObjectType output : appOutputs) { for (ApplicationOutputResource resource : outputs) { - resource.setTaskDetailResource(taskDetail); + resource.setTaskId(taskId); resource.setOutputKey(output.getName()); resource.setValue(output.getValue()); if (output.getType() != null) { @@ -1161,7 +1176,7 @@ public class ExperimentRegistry { List inputs = taskDetailResource.getApplicationInputs(); for (InputDataObjectType input : appInputs) { for (ApplicationInputResource resource : inputs) { - resource.setTaskDetailResource(taskDetailResource); + resource.setTaskId(taskDetailResource.getTaskId()); resource.setInputKey(input.getName()); resource.setValue(input.getValue()); if (input.getType() != null) { @@ -1189,7 +1204,7 @@ public class ExperimentRegistry { WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL); TaskDetailResource taskDetail = workflowNode.getTaskDetail((String) ids.getTopLevelIdentifier()); JobDetailResource jobDetail = taskDetail.createJobDetail((String) ids.getSecondLevelIdentifier()); - jobDetail.setTaskDetailResource(taskDetail); + jobDetail.setTaskId(taskDetail.getTaskId()); jobDetail.setJobDescription(jobDetails.getJobDescription()); jobDetail.setCreationTime(AiravataUtils.getTime(jobDetails.getCreationTime())); jobDetail.setComputeResourceConsumed(jobDetails.getComputeResourceConsumed()); @@ -1236,7 +1251,7 @@ public class ExperimentRegistry { TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId); String jobId = (String) ids.getSecondLevelIdentifier(); JobDetailResource jobDetail = taskDetail.getJobDetail(jobId); - jobDetail.setTaskDetailResource(taskDetail); + jobDetail.setTaskId(taskDetail.getTaskId()); jobDetail.setJobDescription(jobDetails.getJobDescription()); jobDetail.setCreationTime(AiravataUtils.getTime(jobDetails.getCreationTime())); jobDetail.setComputeResourceConsumed(jobDetails.getComputeResourceConsumed()); @@ -1282,7 +1297,7 @@ public class ExperimentRegistry { WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL); TaskDetailResource taskDetail = workflowNode.getTaskDetail(taskId); DataTransferDetailResource resource = (DataTransferDetailResource) taskDetail.create(ResourceType.DATA_TRANSFER_DETAIL); - resource.setTaskDetailResource(taskDetail); + resource.setTaskId(taskId); resource.setTransferId(getDataTransferID(taskId)); resource.setTransferDescription(transferDetails.getTransferDescription()); @@ -1316,7 +1331,7 @@ public class ExperimentRegistry { resource.setTransferDescription(transferDetails.getTransferDescription()); resource.setCreationTime(AiravataUtils.getTime(transferDetails.getCreationTime())); resource.save(); - String taskId = resource.getTaskDetailResource().getTaskId(); + String taskId = resource.getTaskId(); TransferStatus transferStatus = transferDetails.getTransferStatus(); if (transferStatus != null) { TransferStatus status = getDataTransferStatus(transferId); @@ -1346,9 +1361,9 @@ public class ExperimentRegistry { if (ids.getSecondLevelIdentifier() != null) { WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL); TaskDetailResource taskDetail = nodeDetailResource.getTaskDetail((String) ids.getSecondLevelIdentifier()); - schedulingResource.setTaskDetailResource(taskDetail); + schedulingResource.setTaskId(taskDetail.getTaskId()); } - schedulingResource.setExperimentResource(experiment); + schedulingResource.setExperimentId(experiment.getExpID()); schedulingResource.setResourceHostId(scheduling.getResourceHostId()); schedulingResource.setCpuCount(scheduling.getTotalCPUCount()); schedulingResource.setNodeCount(scheduling.getNodeCount()); @@ -1378,9 +1393,9 @@ public class ExperimentRegistry { if (ids.getSecondLevelIdentifier() != null) { WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL); TaskDetailResource taskDetail = nodeDetailResource.getTaskDetail((String) ids.getSecondLevelIdentifier()); - dataHandlingResource.setTaskDetailResource(taskDetail); + dataHandlingResource.setTaskId(taskDetail.getTaskId()); } - dataHandlingResource.setExperimentResource(experiment); + dataHandlingResource.setExperimentId(experiment.getExpID()); dataHandlingResource.setWorkingDir(dataHandling.getUniqueWorkingDirectory()); dataHandlingResource.setWorkingDirParent(dataHandling.getParentWorkingDirectory()); dataHandlingResource.setStageInputFiles(dataHandling.isStageInputFilesToWorkingDir()); @@ -1405,9 +1420,9 @@ public class ExperimentRegistry { if (ids.getSecondLevelIdentifier() != null) { WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL); TaskDetailResource taskDetail = nodeDetailResource.getTaskDetail((String) ids.getSecondLevelIdentifier()); - dataHandlingResource.setTaskDetailResource(taskDetail); + dataHandlingResource.setTaskId(taskDetail.getTaskId()); } - dataHandlingResource.setExperimentResource(experiment); + dataHandlingResource.setExperimentId(experiment.getExpID()); dataHandlingResource.setOutputDataDir(dataHandling.getOutputDataDir()); dataHandlingResource.setDataRegUrl(dataHandling.getDataRegistryURL()); dataHandlingResource.setPersistOutputData(dataHandling.isPersistOutputData()); @@ -1426,9 +1441,9 @@ public class ExperimentRegistry { if (ids.getSecondLevelIdentifier() != null) { WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL); TaskDetailResource taskDetail = nodeDetailResource.getTaskDetail((String) ids.getSecondLevelIdentifier()); - qosParamResource.setTaskDetailResource(taskDetail); + qosParamResource.setTaskId(taskDetail.getTaskId()); } - qosParamResource.setExperimentResource(experiment); + qosParamResource.setExperimentId(experiment.getExpID()); qosParamResource.setStartExecutionAt(qosParams.getStartExecutionAt()); qosParamResource.setExecuteBefore(qosParams.getExecuteBefore()); qosParamResource.setNoOfRetries(qosParams.getNumberofRetries()); @@ -1474,9 +1489,10 @@ public class ExperimentRegistry { } } } - errorResource.setTaskDetailResource(taskDetail); - errorResource.setNodeDetail(taskDetail.getWorkflowNodeDetailResource()); - errorResource.setExperimentResource(taskDetail.getWorkflowNodeDetailResource().getExperimentResource()); + errorResource.setTaskId(taskDetail.getTaskId()); + errorResource.setNodeId(taskDetail.getNodeId()); + workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId()); + errorResource.setExperimentId(workflowNode.getExperimentId()); } else { // logger.error("The id provided is not an experiment id or a workflow id or a task id.."); } @@ -1498,9 +1514,10 @@ public class ExperimentRegistry { } } } - errorResource.setTaskDetailResource(taskDetail); - errorResource.setNodeDetail(taskDetail.getWorkflowNodeDetailResource()); - errorResource.setExperimentResource(taskDetail.getWorkflowNodeDetailResource().getExperimentResource()); + errorResource.setTaskId(taskDetail.getTaskId()); + errorResource.setNodeId(taskDetail.getNodeId()); + workflowNode = experiment.getWorkflowNode(taskDetail.getNodeId()); + errorResource.setExperimentId(workflowNode.getExperimentId()); } else { logger.error("The id provided is not a job in the system.."); } @@ -1626,14 +1643,13 @@ public class ExperimentRegistry { ExperimentResource existingExperiment = gatewayResource.getExperiment(expId); existingExperiment.setExpName(experiment.getName()); existingExperiment.setExecutionUser(experiment.getUserName()); - existingExperiment.setGateway(gatewayResource); + existingExperiment.setGatewayId(gatewayResource.getGatewayId()); existingExperiment.setGatewayExecutionId(experiment.getGatewayExecutionId()); if (!workerResource.isProjectExists(experiment.getProjectID())) { logger.error("Project does not exist in the system.."); throw new Exception("Project does not exist in the system, Please create the project first..."); } - ProjectResource project = workerResource.getProject(experiment.getProjectID()); - existingExperiment.setProject(project); + existingExperiment.setProjectId(experiment.getProjectID()); existingExperiment.setCreationTime(AiravataUtils.getTime(experiment.getCreationTime())); existingExperiment.setDescription(experiment.getDescription()); existingExperiment.setApplicationId(experiment.getApplicationId()); @@ -1650,7 +1666,7 @@ public class ExperimentRegistry { if (emailAddresses != null && !emailAddresses.isEmpty()){ for (String email : emailAddresses){ NotificationEmailResource emailResource = new NotificationEmailResource(); - emailResource.setExperimentResource(existingExperiment); + emailResource.setExperimentId(expId); emailResource.setEmailAddress(email); emailResource.save(); } @@ -1697,7 +1713,7 @@ public class ExperimentRegistry { try { ExperimentResource experiment = gatewayResource.getExperiment(expId); ConfigDataResource resource = (ConfigDataResource) experiment.get(ResourceType.CONFIG_DATA, expId); - resource.setExperimentResource(experiment); + resource.setExperimentId(expId); resource.setAiravataAutoSchedule(configData.isAiravataAutoSchedule()); resource.setOverrideManualParams(configData.isOverrideManualScheduledParams()); resource.setShareExp(configData.isShareExperimentPublicly()); @@ -1733,7 +1749,7 @@ public class ExperimentRegistry { if (resource instanceof ExperimentResource) { ExperimentResource expResource = (ExperimentResource) resource; QosParamResource qosr = expResource.getQOSparams(expResource.getExpID()); - qosr.setExperimentResource(expResource); + qosr.setExperimentId(expResource.getExpID()); qosr.setStartExecutionAt(qosParams.getStartExecutionAt()); qosr.setExecuteBefore(qosParams.getExecuteBefore()); qosr.setNoOfRetries(qosParams.getNumberofRetries()); @@ -1752,12 +1768,14 @@ public class ExperimentRegistry { if (resource instanceof ExperimentResource) { ExperimentResource expResource = (ExperimentResource) resource; adodh = expResource.getOutputDataHandling(expResource.getExpID()); - adodh.setExperimentResource(expResource); + adodh.setExperimentId(expResource.getExpID()); } else { TaskDetailResource taskDetailResource = (TaskDetailResource) resource; + ExperimentResource experimentResource = new ExperimentResource(); adodh = taskDetailResource.getOutputDataHandling(taskDetailResource.getTaskId()); - adodh.setTaskDetailResource(taskDetailResource); - adodh.setExperimentResource(taskDetailResource.getWorkflowNodeDetailResource().getExperimentResource()); + adodh.setTaskId(taskDetailResource.getTaskId()); + WorkflowNodeDetailResource nodeDetailResource = experimentResource.getWorkflowNode(taskDetailResource.getNodeId()); + adodh.setExperimentId(nodeDetailResource.getExperimentId()); } adodh.setOutputDataDir(outputDataHandling.getOutputDataDir()); adodh.setDataRegUrl(outputDataHandling.getDataRegistryURL()); @@ -1776,12 +1794,14 @@ public class ExperimentRegistry { if (resource instanceof ExperimentResource) { ExperimentResource expResource = (ExperimentResource) resource; adidh = expResource.getInputDataHandling(expResource.getExpID()); - adidh.setExperimentResource(expResource); + adidh.setExperimentId(expResource.getExpID()); } else { TaskDetailResource taskDetailResource = (TaskDetailResource) resource; + ExperimentResource experimentResource = new ExperimentResource(); adidh = taskDetailResource.getInputDataHandling(taskDetailResource.getTaskId()); - adidh.setTaskDetailResource(taskDetailResource); - adidh.setExperimentResource(taskDetailResource.getWorkflowNodeDetailResource().getExperimentResource()); + adidh.setTaskId(taskDetailResource.getTaskId()); + WorkflowNodeDetailResource nodeDetailResource = experimentResource.getWorkflowNode(taskDetailResource.getNodeId()); + adidh.setExperimentId(nodeDetailResource.getExperimentId()); } adidh.setWorkingDir(inputDataHandling.getUniqueWorkingDirectory()); adidh.setWorkingDirParent(inputDataHandling.getParentWorkingDirectory()); @@ -1801,12 +1821,14 @@ public class ExperimentRegistry { if (resource instanceof ExperimentResource) { ExperimentResource expResource = (ExperimentResource) resource; cmsr = expResource.getComputationScheduling(expResource.getExpID()); - cmsr.setExperimentResource(expResource); + cmsr.setExperimentId(expResource.getExpID()); } else { TaskDetailResource taskDetailResource = (TaskDetailResource) resource; + ExperimentResource experimentResource = new ExperimentResource(); cmsr = taskDetailResource.getComputationScheduling(taskDetailResource.getTaskId()); - cmsr.setTaskDetailResource(taskDetailResource); - cmsr.setExperimentResource(taskDetailResource.getWorkflowNodeDetailResource().getExperimentResource()); + cmsr.setTaskId(taskDetailResource.getTaskId()); + WorkflowNodeDetailResource nodeDetailResource = experimentResource.getWorkflowNode(taskDetailResource.getNodeId()); + cmsr.setExperimentId(nodeDetailResource.getExperimentId()); } cmsr.setResourceHostId(resourceScheduling.getResourceHostId()); cmsr.setCpuCount(resourceScheduling.getTotalCPUCount()); @@ -1865,9 +1887,10 @@ public class ExperimentRegistry { } else if (value instanceof WorkflowNodeDetails) { WorkflowNodeDetailResource nodeDetailResource = getWorkflowNodeDetailResource(((WorkflowNodeDetails) value).getNodeInstanceId()); if (nodeDetailResource != null) { - return Arrays.asList(new Experiment[]{ThriftDataModelConversion - .getExperiment(nodeDetailResource - .getExperimentResource())}); + String experimentId = nodeDetailResource.getExperimentId(); + ExperimentResource experiment = gatewayResource.getExperiment(experimentId); + return Arrays.asList(ThriftDataModelConversion + .getExperiment(experiment)); } } else { logger.error("Unsupported field value to retrieve workflow node detail list..."); @@ -1940,10 +1963,11 @@ public class ExperimentRegistry { return getWFNodeDetails(fieldName, ((List) value).get(0)); } else if (value instanceof TaskDetails) { TaskDetailResource taskDetailResource = getTaskDetailResource(((TaskDetails) value).getTaskID()); + ExperimentResource experimentResource = new ExperimentResource(); if (taskDetailResource != null) { - return Arrays.asList(new WorkflowNodeDetails[]{ThriftDataModelConversion - .getWorkflowNodeDetails(taskDetailResource - .getWorkflowNodeDetailResource())}); + WorkflowNodeDetailResource workflowNode = experimentResource.getWorkflowNode(taskDetailResource.getNodeId()); + return Arrays.asList(ThriftDataModelConversion + .getWorkflowNodeDetails(workflowNode)); } } else { logger.error("Unsupported field value to retrieve workflow node detail list..."); @@ -2070,7 +2094,7 @@ public class ExperimentRegistry { } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.USER_NAME)) { return resource.getExecutionUser(); }else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.GATEWAY)) { - return resource.getGateway().getGatewayId(); + return resource.getGatewayId(); } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME)) { return resource.getExpName(); } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_DESC)) { @@ -2078,7 +2102,7 @@ public class ExperimentRegistry { } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.APPLICATION_ID)) { return resource.getApplicationId(); } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.PROJECT_ID)) { - return resource.getProject().getId(); + return resource.getProjectId(); } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.APPLICATION_VERSION)) { return resource.getApplicationVersion(); } else if (fieldName.equals(Constants.FieldConstants.ExperimentConstants.WORKFLOW_TEMPLATE_ID)) { http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/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 e0e2a46..2fcc00d 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 @@ -67,9 +67,8 @@ public class ProjectRegistry { projectResource.setName(project.getName()); projectResource.setDescription(project.getDescription()); projectResource.setCreationTime(AiravataUtils.getTime(project.getCreationTime())); - GatewayResource gateway = (GatewayResource)ResourceUtils.getGateway(gatewayId); - projectResource.setGateway(gateway); - WorkerResource worker = new WorkerResource(project.getOwner(), workerResource.getGateway()); + projectResource.setGatewayId(gatewayId); + WorkerResource worker = new WorkerResource(project.getOwner(), gatewayId); projectResource.setWorker(worker); projectResource.save(); ProjectUserResource resource = (ProjectUserResource)projectResource.create( @@ -120,7 +119,7 @@ public class ProjectRegistry { workerResource = (WorkerResource)ResourceUtils.getWorker( gatewayResource.getGatewayName(), user.getUserName()); } - WorkerResource worker = new WorkerResource(project.getOwner(), gatewayResource); + WorkerResource worker = new WorkerResource(project.getOwner(), gatewayResource.getGatewayId()); existingProject.setWorker(worker); existingProject.save(); ProjectUserResource resource = (ProjectUserResource)existingProject.create( http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedInputDataHandling.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedInputDataHandling.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedInputDataHandling.java index 8f40f2d..79ca0a8 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedInputDataHandling.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedInputDataHandling.java @@ -110,20 +110,4 @@ public class AdvancedInputDataHandling implements Serializable { public void setCleanAfterJob(boolean cleanAfterJob) { this.cleanAfterJob = cleanAfterJob; } - - public Experiment getExperiment() { - return experiment; - } - - public void setExperiment(Experiment experiment) { - this.experiment = experiment; - } - - public TaskDetail getTask() { - return task; - } - - public void setTask(TaskDetail task) { - this.task = task; - } } http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedOutputDataHandling.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedOutputDataHandling.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedOutputDataHandling.java index d305f22..73a70e2 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedOutputDataHandling.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/AdvancedOutputDataHandling.java @@ -101,19 +101,4 @@ public class AdvancedOutputDataHandling implements Serializable { this.persistOutputData = persistOutputData; } - public Experiment getExperiment() { - return experiment; - } - - public void setExperiment(Experiment experiment) { - this.experiment = experiment; - } - - public TaskDetail getTask() { - return task; - } - - public void setTask(TaskDetail task) { - this.task = task; - } } http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java index 66a9796..0488778 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java @@ -115,14 +115,6 @@ public class ApplicationInput implements Serializable { this.value = value; } - public TaskDetail getTask() { - return task; - } - - public void setTask(TaskDetail task) { - this.task = task; - } - public String getAppArgument() { return appArgument; } http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java index c95f934..33ed202 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationOutput.java @@ -76,14 +76,6 @@ public class ApplicationOutput implements Serializable { this.value = value; } - public TaskDetail getTask() { - return task; - } - - public void setTask(TaskDetail task) { - this.task = task; - } - public String getOutputKey() { return outputKey; } http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Computational_Resource_Scheduling.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Computational_Resource_Scheduling.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Computational_Resource_Scheduling.java index e440510..484a08b 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Computational_Resource_Scheduling.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Computational_Resource_Scheduling.java @@ -171,20 +171,4 @@ public class Computational_Resource_Scheduling implements Serializable { public void setProjectName(String projectName) { this.projectName = projectName; } - - public Experiment getExperiment() { - return experiment; - } - - public void setExperiment(Experiment experiment) { - this.experiment = experiment; - } - - public TaskDetail getTask() { - return task; - } - - public void setTask(TaskDetail task) { - this.task = task; - } } http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/DataTransferDetail.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/DataTransferDetail.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/DataTransferDetail.java index 95ad0e9..2d1ac2e 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/DataTransferDetail.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/DataTransferDetail.java @@ -22,6 +22,7 @@ package org.apache.airavata.persistance.registry.jpa.model; import org.apache.openjpa.persistence.DataCache; +import org.apache.openjpa.persistence.jdbc.ElementJoinColumn; import javax.persistence.*; import java.io.Serializable; @@ -46,6 +47,9 @@ public class DataTransferDetail implements Serializable { @JoinColumn(name = "TASK_ID") private TaskDetail task; + @OneToOne (fetch = FetchType.LAZY, mappedBy = "transferDetail") + private Status dataTransferStatus; + public String getTransferId() { return transferId; } @@ -78,11 +82,11 @@ public class DataTransferDetail implements Serializable { this.transferDesc = transferDesc; } - public TaskDetail getTask() { - return task; + public Status getDataTransferStatus() { + return dataTransferStatus; } - public void setTask(TaskDetail task) { - this.task = task; + public void setDataTransferStatus(Status dataTransferStatus) { + this.dataTransferStatus = dataTransferStatus; } } http://git-wip-us.apache.org/repos/asf/airavata/blob/4476dfc1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetail.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetail.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetail.java index f4d3b64..03c2965 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetail.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ErrorDetail.java @@ -72,7 +72,11 @@ public class ErrorDetail implements Serializable { @ManyToOne(fetch = FetchType.LAZY, cascade= CascadeType.MERGE) @JoinColumn(name = "NODE_INSTANCE_ID") - private WorkflowNodeDetail nodeDetails; + private WorkflowNodeDetail nodeDetail; + + @ManyToOne(fetch = FetchType.LAZY, cascade= CascadeType.MERGE) + @JoinColumn(name = "JOB_ID") + private JobDetail jobDetail; public int getErrorID() { return errorID; @@ -154,30 +158,6 @@ public class ErrorDetail implements Serializable { this.actionableGroup = actionableGroup; } - public Experiment getExperiment() { - return experiment; - } - - public void setExperiment(Experiment experiment) { - this.experiment = experiment; - } - - public TaskDetail getTask() { - return task; - } - - public void setTask(TaskDetail task) { - this.task = task; - } - - public WorkflowNodeDetail getNodeDetails() { - return nodeDetails; - } - - public void setNodeDetails(WorkflowNodeDetail nodeDetails) { - this.nodeDetails = nodeDetails; - } - public String getCorrectiveAction() { return correctiveAction; }