Repository: airavata Updated Branches: refs/heads/master 47f6ed33a -> 013a815ce
fixing AIRAVATA-1288 Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/013a815c Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/013a815c Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/013a815c Branch: refs/heads/master Commit: 013a815ce6b1938c0d1d48bbd9bddb3e66847cb6 Parents: 47f6ed3 Author: Chathuri Wimalasena <[email protected]> Authored: Fri Jun 6 15:52:18 2014 -0400 Committer: Chathuri Wimalasena <[email protected]> Committed: Fri Jun 6 15:52:18 2014 -0400 ---------------------------------------------------------------------- .../samples/TestCreateLaunchExperiment.java | 24 ++++++------- .../persistance/registry/jpa/ResourceUtils.java | 36 ++++++++++++++++++++ .../AdvanceInputDataHandlingResource.java | 3 ++ .../AdvancedOutputDataHandlingResource.java | 3 ++ .../ApplicationDescriptorResource.java | 3 ++ .../jpa/resources/ApplicationInputResource.java | 3 ++ .../resources/ApplicationOutputResource.java | 3 ++ .../ComputationSchedulingResource.java | 3 ++ .../jpa/resources/ConfigDataResource.java | 3 ++ .../jpa/resources/ConfigurationResource.java | 3 ++ .../resources/DataTransferDetailResource.java | 12 +++++++ .../jpa/resources/ErrorDetailResource.java | 3 ++ .../jpa/resources/ExperimentInputResource.java | 3 ++ .../jpa/resources/ExperimentOutputResource.java | 3 ++ .../jpa/resources/ExperimentResource.java | 12 +++++++ .../registry/jpa/resources/GatewayResource.java | 18 ++++++++++ .../jpa/resources/HostDescriptorResource.java | 6 ++++ .../jpa/resources/JobDetailResource.java | 12 +++++++ .../jpa/resources/NodeInputResource.java | 3 ++ .../jpa/resources/NodeOutputResource.java | 3 ++ .../registry/jpa/resources/ProjectResource.java | 12 +++++++ .../jpa/resources/ProjectUserResource.java | 3 ++ .../jpa/resources/PublishWorkflowResource.java | 3 ++ .../jpa/resources/QosParamResource.java | 3 ++ .../resources/ServiceDescriptorResource.java | 6 ++++ .../registry/jpa/resources/StatusResource.java | 3 ++ .../jpa/resources/TaskDetailResource.java | 12 +++++++ .../registry/jpa/resources/UserResource.java | 3 ++ .../jpa/resources/UserWorkflowResource.java | 3 ++ .../registry/jpa/resources/WorkerResource.java | 21 ++++++++++++ .../resources/WorkflowNodeDetailResource.java | 12 +++++++ 31 files changed, 228 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java index 1913c5f..cb43d5a 100644 --- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java +++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java @@ -112,18 +112,18 @@ public class TestCreateLaunchExperiment { // } // } - List<Experiment> experimentList = getExperimentsForUser(airavata, "admin"); - Experiment experiment = experimentList.get(1); - ExperimentStatus experimentStatus = experiment.getExperimentStatus(); - long timeOfStateChange = experimentStatus.getTimeOfStateChange(); - System.out.println(timeOfStateChange); - Date date = new Date(timeOfStateChange); - Format format = new SimpleDateFormat("yyyy MM dd HH:mm:ss"); - String time1 = format.format(date); -// int count = i+1; - System.out.println(time1); - - for (int i = 0; i < 50 ; i++){ +// List<Experiment> experimentList = getExperimentsForUser(airavata, "admin"); +// Experiment experiment = experimentList.get(1); +// ExperimentStatus experimentStatus = experiment.getExperimentStatus(); +// long timeOfStateChange = experimentStatus.getTimeOfStateChange(); +// System.out.println(timeOfStateChange); +// Date date = new Date(timeOfStateChange); +// Format format = new SimpleDateFormat("yyyy MM dd HH:mm:ss"); +// String time1 = format.format(date); +//// int count = i+1; +// System.out.println(time1); + + for (int i = 0; i < 500 ; i++){ long time = System.currentTimeMillis(); List<Experiment> experiments = getExperimentsForUser(airavata, "admin"); int count = i+1; http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/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 141cb3e..1253020 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 @@ -116,6 +116,9 @@ public class ResourceUtils { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -146,6 +149,9 @@ public class ResourceUtils { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -167,6 +173,9 @@ public class ResourceUtils { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -187,6 +196,9 @@ public class ResourceUtils { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -216,6 +228,9 @@ public class ResourceUtils { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -243,6 +258,9 @@ public class ResourceUtils { return false; }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -277,6 +295,9 @@ public class ResourceUtils { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -306,6 +327,9 @@ public class ResourceUtils { return false; }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -338,6 +362,9 @@ public class ResourceUtils { logger.error(e.getMessage(), e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -407,6 +434,9 @@ public class ResourceUtils { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -433,6 +463,9 @@ public class ResourceUtils { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -451,6 +484,9 @@ public class ResourceUtils { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AdvanceInputDataHandlingResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AdvanceInputDataHandlingResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AdvanceInputDataHandlingResource.java index d463cb8..4ad08e4 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AdvanceInputDataHandlingResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AdvanceInputDataHandlingResource.java @@ -158,6 +158,9 @@ public class AdvanceInputDataHandlingResource extends AbstractResource { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AdvancedOutputDataHandlingResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AdvancedOutputDataHandlingResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AdvancedOutputDataHandlingResource.java index e6aa9f4..bb3cc80 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AdvancedOutputDataHandlingResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AdvancedOutputDataHandlingResource.java @@ -149,6 +149,9 @@ public class AdvancedOutputDataHandlingResource extends AbstractResource { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationDescriptorResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationDescriptorResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationDescriptorResource.java index f8ad51d..46d8d67 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationDescriptorResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationDescriptorResource.java @@ -251,6 +251,9 @@ public class ApplicationDescriptorResource extends AbstractResource { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java index 686e4bf..4f9aea1 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java @@ -143,6 +143,9 @@ public class ApplicationInputResource extends AbstractResource { throw new RegistryException(e.getMessage()); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java index 1f80629..3d53c40 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java @@ -144,6 +144,9 @@ public class ApplicationOutputResource extends AbstractResource { throw new RegistryException(e.getMessage()); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ComputationSchedulingResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ComputationSchedulingResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ComputationSchedulingResource.java index 57a5f33..dae5dd3 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ComputationSchedulingResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ComputationSchedulingResource.java @@ -209,6 +209,9 @@ public class ComputationSchedulingResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigDataResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigDataResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigDataResource.java index 643d9c5..c042eb6 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigDataResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigDataResource.java @@ -130,6 +130,9 @@ public class ConfigDataResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigurationResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigurationResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigurationResource.java index 0184d1c..ef84988 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigurationResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ConfigurationResource.java @@ -154,6 +154,9 @@ public class ConfigurationResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/DataTransferDetailResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/DataTransferDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/DataTransferDetailResource.java index 4ea4515..442a38f 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/DataTransferDetailResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/DataTransferDetailResource.java @@ -117,6 +117,9 @@ public class DataTransferDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -150,6 +153,9 @@ public class DataTransferDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -193,6 +199,9 @@ public class DataTransferDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -237,6 +246,9 @@ public class DataTransferDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java index 07ffaac..ec2493d 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ErrorDetailResource.java @@ -210,6 +210,9 @@ public class ErrorDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentInputResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentInputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentInputResource.java index bb9e980..186d276 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentInputResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentInputResource.java @@ -139,6 +139,9 @@ public class ExperimentInputResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java index 28e2640..b674a35 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentOutputResource.java @@ -139,6 +139,9 @@ public class ExperimentOutputResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/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 733ed6e..bca77cd 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 @@ -264,6 +264,9 @@ public class ExperimentResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -387,6 +390,9 @@ public class ExperimentResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -491,6 +497,9 @@ public class ExperimentResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -555,6 +564,9 @@ public class ExperimentResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java index 9535ecc..a4a3482 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GatewayResource.java @@ -199,6 +199,9 @@ public class GatewayResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -304,6 +307,9 @@ public class GatewayResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -446,6 +452,9 @@ public class GatewayResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -480,6 +489,9 @@ public class GatewayResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -541,6 +553,9 @@ public class GatewayResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -747,6 +762,9 @@ public class GatewayResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/HostDescriptorResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/HostDescriptorResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/HostDescriptorResource.java index 20aa685..7ef4088 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/HostDescriptorResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/HostDescriptorResource.java @@ -177,6 +177,9 @@ public class HostDescriptorResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -225,6 +228,9 @@ public class HostDescriptorResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/JobDetailResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/JobDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/JobDetailResource.java index 9ed68b1..9dc3c20 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/JobDetailResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/JobDetailResource.java @@ -134,6 +134,9 @@ public class JobDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -177,6 +180,9 @@ public class JobDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -233,6 +239,9 @@ public class JobDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -279,6 +288,9 @@ public class JobDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java index 5f19a4f..138dd6c 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java @@ -145,6 +145,9 @@ public class NodeInputResource extends AbstractResource { throw new RegistryException(e); }finally { if (em != null && em.isOpen()){ + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java index e393ca8..164a2e0 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeOutputResource.java @@ -145,6 +145,9 @@ public class NodeOutputResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java index 108e903..0643eb1 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java @@ -119,6 +119,9 @@ public class ProjectResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -166,6 +169,9 @@ public class ProjectResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -223,6 +229,9 @@ public class ProjectResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -271,6 +280,9 @@ public class ProjectResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectUserResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectUserResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectUserResource.java index ed2648a..dd50b7c 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectUserResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectUserResource.java @@ -113,6 +113,9 @@ public class ProjectUserResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/PublishWorkflowResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/PublishWorkflowResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/PublishWorkflowResource.java index 434a012..80df415 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/PublishWorkflowResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/PublishWorkflowResource.java @@ -235,6 +235,9 @@ public class PublishWorkflowResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/QosParamResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/QosParamResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/QosParamResource.java index 26b9d88..6f906cd 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/QosParamResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/QosParamResource.java @@ -142,6 +142,9 @@ public class QosParamResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ServiceDescriptorResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ServiceDescriptorResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ServiceDescriptorResource.java index b42c437..65e29b3 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ServiceDescriptorResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ServiceDescriptorResource.java @@ -122,6 +122,9 @@ public class ServiceDescriptorResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -162,6 +165,9 @@ public class ServiceDescriptorResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/StatusResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/StatusResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/StatusResource.java index b67f0b3..169e1c7 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/StatusResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/StatusResource.java @@ -185,6 +185,9 @@ public class StatusResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java index 797d167..8c0c02d 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/TaskDetailResource.java @@ -216,6 +216,9 @@ public class TaskDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -332,6 +335,9 @@ public class TaskDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -445,6 +451,9 @@ public class TaskDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -486,6 +495,9 @@ public class TaskDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserResource.java index 2194472..0bf96f8 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserResource.java @@ -150,6 +150,9 @@ public class UserResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserWorkflowResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserWorkflowResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserWorkflowResource.java index 547df55..2b240a2 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserWorkflowResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/UserWorkflowResource.java @@ -143,6 +143,9 @@ public class UserWorkflowResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java index 312a7bb..5df418f 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java @@ -136,6 +136,9 @@ public class WorkerResource extends AbstractResource { throw new RegistryException(e.getMessage()); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -189,6 +192,9 @@ public class WorkerResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -294,6 +300,9 @@ public class WorkerResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -335,6 +344,9 @@ public class WorkerResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -548,6 +560,9 @@ public class WorkerResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -585,6 +600,9 @@ public class WorkerResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -619,6 +637,9 @@ public class WorkerResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/013a815c/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowNodeDetailResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowNodeDetailResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowNodeDetailResource.java index 75c0f49..b47c4f3 100644 --- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowNodeDetailResource.java +++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowNodeDetailResource.java @@ -153,6 +153,9 @@ public class WorkflowNodeDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -221,6 +224,9 @@ public class WorkflowNodeDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -319,6 +325,9 @@ public class WorkflowNodeDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } } @@ -357,6 +366,9 @@ public class WorkflowNodeDetailResource extends AbstractResource { throw new RegistryException(e); } finally { if (em != null && em.isOpen()) { + if (em.getTransaction().isActive()){ + em.getTransaction().rollback(); + } em.close(); } }
