You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2016/01/19 18:32:26 UTC
[3/3] airavata git commit: fixing concurrent access issue at registry
level
fixing concurrent access issue at registry level
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/f1e16793
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/f1e16793
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/f1e16793
Branch: refs/heads/develop
Commit: f1e16793be29e68f4fca64c8ada84e0a0fe6a9b6
Parents: 0c51c7a
Author: Chathuri Wimalasena <ch...@apache.org>
Authored: Tue Jan 19 12:33:25 2016 -0500
Committer: Chathuri Wimalasena <ch...@apache.org>
Committed: Tue Jan 19 12:33:25 2016 -0500
----------------------------------------------------------------------
.../resources/AppDeploymentResource.java | 70 +++++++++++++++---
.../resources/AppEnvironmentResource.java | 35 +++++++--
.../catalog/resources/AppInterfaceResource.java | 77 ++++++++++++++++---
...ppModuleMappingAppCatalogResourceAppCat.java | 56 ++++++++++++--
.../catalog/resources/AppModuleResource.java | 70 +++++++++++++++---
.../resources/ApplicationInputResource.java | 63 +++++++++++++---
.../resources/ApplicationOutputResource.java | 56 ++++++++++++--
.../catalog/resources/BatchQueueResource.java | 63 +++++++++++++---
.../resources/CloudSubmissionResource.java | 64 +++++++++++++---
.../ComputeHostPreferenceResource.java | 49 ++++++++++--
.../ComputeResourceFileSystemResource.java | 63 +++++++++++++---
.../resources/ComputeResourceResource.java | 77 ++++++++++++++++---
.../DataMovementInterfaceResource.java | 56 ++++++++++++--
.../catalog/resources/GSISSHExportResource.java | 63 +++++++++++++---
.../resources/GSISSHSubmissionResource.java | 63 +++++++++++++---
.../GatewayClientCredentialResource.java | 78 +++++++++++++++++---
.../resources/GatewayProfileResource.java | 70 +++++++++++++++---
.../resources/GlobusGKEndpointResource.java | 63 +++++++++++++---
.../resources/GlobusJobSubmissionResource.java | 56 ++++++++++++--
.../resources/GridftpDataMovementResource.java | 65 +++++++++++++---
.../resources/GridftpEndpointResource.java | 64 +++++++++++++---
.../catalog/resources/HostAliasAppResource.java | 63 +++++++++++++---
.../resources/HostIPAddressResource.java | 63 +++++++++++++---
.../resources/JobManagerCommandResource.java | 64 +++++++++++++---
.../JobSubmissionInterfaceResource.java | 63 +++++++++++++---
.../resources/LibraryApendPathResource.java | 49 ++++++++++--
.../resources/LibraryPrepandPathResource.java | 49 ++++++++++--
.../resources/LocalDataMovementResource.java | 64 +++++++++++++---
.../resources/LocalSubmissionResource.java | 63 +++++++++++++---
.../resources/ModuleLoadCmdResource.java | 64 +++++++++++++---
.../resources/PostJobCommandResource.java | 63 +++++++++++++---
.../resources/PreJobCommandResource.java | 63 +++++++++++++---
.../resources/ResourceJobManagerResource.java | 64 +++++++++++++---
.../resources/ScpDataMovementResource.java | 63 +++++++++++++---
.../resources/SshJobSubmissionResource.java | 63 +++++++++++++---
.../resources/StorageInterfaceResource.java | 63 +++++++++++++---
.../resources/StoragePreferenceResource.java | 49 ++++++++++--
.../resources/StorageResourceResource.java | 77 ++++++++++++++++---
.../resources/UnicoreDataMovementResource.java | 42 +++++++++--
.../resources/UnicoreJobSubmissionResource.java | 63 +++++++++++++---
.../resources/WorkflowInputResource.java | 63 +++++++++++++---
.../resources/WorkflowOutputResource.java | 63 +++++++++++++---
.../app/catalog/resources/WorkflowResource.java | 77 ++++++++++++++++---
43 files changed, 2295 insertions(+), 381 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
index e1ab857..2d563e3 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppDeploymentResource.java
@@ -144,7 +144,12 @@ public class AppDeploymentResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -171,7 +176,12 @@ public class AppDeploymentResource extends AppCatAbstractResource {
AppDeploymentResource deploymentResource =
(AppDeploymentResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.APPLICATION_DEPLOYMENT, deployment);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return deploymentResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -222,12 +232,22 @@ public class AppDeploymentResource extends AppCatAbstractResource {
}
}else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for app deployment resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for app deployment resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -262,7 +282,12 @@ public class AppDeploymentResource extends AppCatAbstractResource {
}
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -294,7 +319,12 @@ public class AppDeploymentResource extends AppCatAbstractResource {
}
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -341,7 +371,12 @@ public class AppDeploymentResource extends AppCatAbstractResource {
}
}else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for app deployment resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for app deployment resource.");
}
@@ -367,7 +402,12 @@ public class AppDeploymentResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ApplicationDeployment existingDeployment = em.find(ApplicationDeployment.class, deploymentId);
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -400,7 +440,12 @@ public class AppDeploymentResource extends AppCatAbstractResource {
em.persist(deployment);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -421,7 +466,12 @@ public class AppDeploymentResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ApplicationDeployment deployment = em.find(ApplicationDeployment.class, identifier);
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return deployment != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppEnvironmentResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppEnvironmentResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppEnvironmentResource.java
index 46d16dc..263f9f0 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppEnvironmentResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppEnvironmentResource.java
@@ -106,7 +106,12 @@ public class AppEnvironmentResource extends AppCatAbstractResource{
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -141,7 +146,12 @@ public class AppEnvironmentResource extends AppCatAbstractResource{
AppEnvironmentResource resource =
(AppEnvironmentResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.APP_ENVIRONMENT, appEnvironment);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return resource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -197,7 +207,12 @@ public class AppEnvironmentResource extends AppCatAbstractResource{
throw new IllegalArgumentException("Unsupported field name for App Environment resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -234,7 +249,12 @@ public class AppEnvironmentResource extends AppCatAbstractResource{
try {
em = AppCatalogJPAUtils.getEntityManager();
AppEnvironment existigAppEnv = em.find(AppEnvironment.class, new AppEnvironment_PK(deploymentId, name));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -255,7 +275,12 @@ public class AppEnvironmentResource extends AppCatAbstractResource{
em.persist(appEnvironment);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppInterfaceResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppInterfaceResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppInterfaceResource.java
index ec15ed1..967ebf4 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppInterfaceResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppInterfaceResource.java
@@ -105,7 +105,12 @@ public class AppInterfaceResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -132,7 +137,12 @@ public class AppInterfaceResource extends AppCatAbstractResource {
AppInterfaceResource resource =
(AppInterfaceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.APPLICATION_INTERFACE, applicationInterface);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return resource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -171,12 +181,22 @@ public class AppInterfaceResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for application interface.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for application interface.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -211,7 +231,12 @@ public class AppInterfaceResource extends AppCatAbstractResource {
}
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -243,7 +268,12 @@ public class AppInterfaceResource extends AppCatAbstractResource {
}
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -280,12 +310,22 @@ public class AppInterfaceResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for application interface.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for application interface.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -306,7 +346,12 @@ public class AppInterfaceResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ApplicationInterface existigAppInterface = em.find(ApplicationInterface.class, interfaceId);
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -326,7 +371,12 @@ public class AppInterfaceResource extends AppCatAbstractResource {
em.persist(applicationInterface);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -346,7 +396,12 @@ public class AppInterfaceResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ApplicationInterface existigAppInterface = em.find(ApplicationInterface.class, identifier);
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return existigAppInterface != null;
}catch (Exception e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppModuleMappingAppCatalogResourceAppCat.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppModuleMappingAppCatalogResourceAppCat.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppModuleMappingAppCatalogResourceAppCat.java
index 49cdd8b..845e5b7 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppModuleMappingAppCatalogResourceAppCat.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppModuleMappingAppCatalogResourceAppCat.java
@@ -101,7 +101,12 @@ public class AppModuleMappingAppCatalogResourceAppCat extends AppCatAbstractReso
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -124,7 +129,12 @@ public class AppModuleMappingAppCatalogResourceAppCat extends AppCatAbstractReso
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -159,7 +169,12 @@ public class AppModuleMappingAppCatalogResourceAppCat extends AppCatAbstractReso
AppModuleMappingAppCatalogResourceAppCat resource =
(AppModuleMappingAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.APP_MODULE_MAPPING, result);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return resource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -210,12 +225,22 @@ public class AppModuleMappingAppCatalogResourceAppCat extends AppCatAbstractReso
}
}else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for app module mapping resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for app module mapping resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -252,7 +277,12 @@ public class AppModuleMappingAppCatalogResourceAppCat extends AppCatAbstractReso
try {
em = AppCatalogJPAUtils.getEntityManager();
AppModuleMapping existngModuleMap = em.find(AppModuleMapping.class, new AppModuleMapping_PK(interfaceId, moduleId));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -271,7 +301,12 @@ public class AppModuleMappingAppCatalogResourceAppCat extends AppCatAbstractReso
em.persist(appModuleMapping);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -300,7 +335,12 @@ public class AppModuleMappingAppCatalogResourceAppCat extends AppCatAbstractReso
AppModuleMapping moduleMapping = em.find(AppModuleMapping.class,
new AppModuleMapping_PK(ids.get(AppModuleMappingConstants.INTERFACE_ID),
ids.get(AppModuleMappingConstants.MODULE_ID)));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return moduleMapping != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppModuleResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppModuleResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppModuleResource.java
index ea1400e..2e8d839 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppModuleResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/AppModuleResource.java
@@ -114,7 +114,12 @@ public class AppModuleResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -141,7 +146,12 @@ public class AppModuleResource extends AppCatAbstractResource {
AppModuleResource appModuleResource =
(AppModuleResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.APPLICATION_MODULE, applicationModule);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return appModuleResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -180,12 +190,22 @@ public class AppModuleResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for app module resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for app module resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -217,7 +237,12 @@ public class AppModuleResource extends AppCatAbstractResource {
appModuleResources.add(appModuleResource);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -259,12 +284,22 @@ public class AppModuleResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for app module resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for app module resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -285,7 +320,12 @@ public class AppModuleResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ApplicationModule existingModule = em.find(ApplicationModule.class, moduleId);
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -307,7 +347,12 @@ public class AppModuleResource extends AppCatAbstractResource {
em.persist(applicationModule);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -327,7 +372,12 @@ public class AppModuleResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ApplicationModule applicationModule = em.find(ApplicationModule.class, identifier);
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return applicationModule != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationInputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationInputResource.java
index 0244066..b04e55a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationInputResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationInputResource.java
@@ -77,7 +77,12 @@ public class ApplicationInputResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -113,7 +118,12 @@ public class ApplicationInputResource extends AppCatAbstractResource {
(ApplicationInputResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.APPLICATION_INPUT
, applicationInput);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return applicationInputResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -178,12 +188,22 @@ public class ApplicationInputResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for AppInput Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for AppInput Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -249,12 +269,22 @@ public class ApplicationInputResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for AppInput resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for AppInput Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -274,7 +304,12 @@ public class ApplicationInputResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ApplicationIntInput existingApplicationInput = em.find(ApplicationIntInput.class, new AppInput_PK(interfaceID, inputKey));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
ApplicationIntInput applicationInput;
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -303,7 +338,12 @@ public class ApplicationInputResource extends AppCatAbstractResource {
em.merge(applicationInput);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -333,7 +373,12 @@ public class ApplicationInputResource extends AppCatAbstractResource {
ids.get(AppInputConstants.INTERFACE_ID),
ids.get(AppInputConstants.INPUT_KEY)));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return applicationInput != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationOutputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationOutputResource.java
index 2ddabcd..b9a32e1 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationOutputResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationOutputResource.java
@@ -75,7 +75,12 @@ public class ApplicationOutputResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -112,7 +117,12 @@ public class ApplicationOutputResource extends AppCatAbstractResource {
(ApplicationOutputResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.APPLICATION_OUTPUT
, applicationOutput);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return applicationOutputResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -177,12 +187,22 @@ public class ApplicationOutputResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for App Output Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for App Output Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -254,7 +274,12 @@ public class ApplicationOutputResource extends AppCatAbstractResource {
throw new IllegalArgumentException("Unsupported field name for App Output Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -275,7 +300,12 @@ public class ApplicationOutputResource extends AppCatAbstractResource {
em = AppCatalogJPAUtils.getEntityManager();
ApplicationIntOutput existingApplicationOutput = em.find(ApplicationIntOutput.class,
new AppOutput_PK(interfaceID, outputKey));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
ApplicationIntOutput applicationOutput;
em = AppCatalogJPAUtils.getEntityManager();
@@ -300,7 +330,12 @@ public class ApplicationOutputResource extends AppCatAbstractResource {
applicationOutput.setOutputStreaming(outputStreaming);
em.merge(applicationOutput);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -330,7 +365,12 @@ public class ApplicationOutputResource extends AppCatAbstractResource {
ids.get(AppOutputConstants.INTERFACE_ID),
ids.get(AppOutputConstants.OUTPUT_KEY)));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return applicationOutput != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
index 56e088c..4fc8a49 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/BatchQueueResource.java
@@ -71,7 +71,12 @@ public class BatchQueueResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -105,7 +110,12 @@ public class BatchQueueResource extends AppCatAbstractResource {
BatchQueue batchQueue = (BatchQueue) q.getSingleResult();
BatchQueueResource batchQueueResource = (BatchQueueResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.BATCH_QUEUE, batchQueue);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return batchQueueResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -140,12 +150,22 @@ public class BatchQueueResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for Batch Queue Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for Batch Queue Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -190,12 +210,22 @@ public class BatchQueueResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for Batch Queue Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for Batch Queue Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -216,7 +246,12 @@ public class BatchQueueResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
BatchQueue existingBatchQueue = em.find(BatchQueue.class, new BatchQueue_PK(computeResourceId, queueName));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
BatchQueue batchQueue;
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -241,7 +276,12 @@ public class BatchQueueResource extends AppCatAbstractResource {
em.merge(batchQueue);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -268,7 +308,12 @@ public class BatchQueueResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
BatchQueue batchQueue = em.find(BatchQueue.class, new BatchQueue_PK(ids.get(BatchQueueConstants.COMPUTE_RESOURCE_ID), ids.get(BatchQueueConstants.QUEUE_NAME)));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return batchQueue != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/CloudSubmissionResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/CloudSubmissionResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/CloudSubmissionResource.java
index d899a66..870e244 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/CloudSubmissionResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/CloudSubmissionResource.java
@@ -54,7 +54,12 @@ public class CloudSubmissionResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -80,7 +85,12 @@ public class CloudSubmissionResource extends AppCatAbstractResource {
CloudJobSubmission cloudJobSubmission = (CloudJobSubmission) q.getSingleResult();
CloudSubmissionResource localSubmissionResource = (CloudSubmissionResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.ClOUD_SUBMISSION, cloudJobSubmission);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return localSubmissionResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -115,12 +125,22 @@ public class CloudSubmissionResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for Local Submission Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for Local Submission Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -165,12 +185,22 @@ public class CloudSubmissionResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for Local Submission Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for Local Submission Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -191,7 +221,13 @@ public class CloudSubmissionResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
CloudJobSubmission existingLocalSubmission = em.find(CloudJobSubmission.class, jobSubmissionInterfaceId);
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+
CloudJobSubmission cloudJobSubmission;
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -213,7 +249,12 @@ public class CloudSubmissionResource extends AppCatAbstractResource {
em.merge(cloudJobSubmission);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -233,7 +274,12 @@ public class CloudSubmissionResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
CloudJobSubmission localSubmission = em.find(CloudJobSubmission.class, identifier);
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return localSubmission != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeHostPreferenceResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeHostPreferenceResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeHostPreferenceResource.java
index 0528843..6fb9555 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeHostPreferenceResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeHostPreferenceResource.java
@@ -173,7 +173,12 @@ public class ComputeHostPreferenceResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -209,7 +214,12 @@ public class ComputeHostPreferenceResource extends AppCatAbstractResource {
ComputeHostPreferenceResource preferenceResource =
(ComputeHostPreferenceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, preference);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return preferenceResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -298,12 +308,22 @@ public class ComputeHostPreferenceResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for Compute host preference Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for Compute host preference Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -340,7 +360,12 @@ public class ComputeHostPreferenceResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ComputeResourcePreference existingPreference = em.find(ComputeResourcePreference.class, new ComputeResourcePreferencePK(gatewayId, resourceId));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -377,7 +402,12 @@ public class ComputeHostPreferenceResource extends AppCatAbstractResource {
em.persist(resourcePreference);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -407,7 +437,12 @@ public class ComputeHostPreferenceResource extends AppCatAbstractResource {
ComputeResourcePreference existingPreference = em.find(ComputeResourcePreference.class,
new ComputeResourcePreferencePK(ids.get(ComputeResourcePreferenceConstants.GATEWAY_ID),
ids.get(ComputeResourcePreferenceConstants.RESOURCE_ID)));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return existingPreference != null;
}catch (Exception e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceFileSystemResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceFileSystemResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceFileSystemResource.java
index 7eb3232..dac48b1 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceFileSystemResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceFileSystemResource.java
@@ -66,7 +66,12 @@ public class ComputeResourceFileSystemResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -100,7 +105,12 @@ public class ComputeResourceFileSystemResource extends AppCatAbstractResource {
ComputeResourceFileSystem computeResourceFileSystem = (ComputeResourceFileSystem) q.getSingleResult();
ComputeResourceFileSystemResource computeResourceFileSystemResource = (ComputeResourceFileSystemResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_FILE_SYSTEM, computeResourceFileSystem);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return computeResourceFileSystemResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -135,12 +145,22 @@ public class ComputeResourceFileSystemResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for Compute Resource File System Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for Compute Resource File System Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -185,12 +205,22 @@ public class ComputeResourceFileSystemResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for Compute Resource File System Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for Compute Resource File System Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -211,7 +241,12 @@ public class ComputeResourceFileSystemResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ComputeResourceFileSystem existingComputeResourceFileSystem = em.find(ComputeResourceFileSystem.class, new ComputeResourceFileSystem_PK(computeResourceId, fileSystem));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
ComputeResourceFileSystem computeResourceFileSystem;
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -231,7 +266,12 @@ public class ComputeResourceFileSystemResource extends AppCatAbstractResource {
em.merge(computeResourceFileSystem);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -258,7 +298,12 @@ public class ComputeResourceFileSystemResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ComputeResourceFileSystem computeResourceFileSystem = em.find(ComputeResourceFileSystem.class, new ComputeResourceFileSystem_PK(ids.get(ComputeResourceFileSystemConstants.COMPUTE_RESOURCE_ID), ids.get(ComputeResourceFileSystemConstants.FILE_SYSTEM)));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return computeResourceFileSystem != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceResource.java
index e10baba..09fcdec 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ComputeResourceResource.java
@@ -89,7 +89,12 @@ public class ComputeResourceResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -115,7 +120,12 @@ public class ComputeResourceResource extends AppCatAbstractResource {
ComputeResource computeResource = (ComputeResource) q.getSingleResult();
ComputeResourceResource computeResourceResource = (ComputeResourceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE, computeResource);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return computeResourceResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -150,12 +160,22 @@ public class ComputeResourceResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for Compute Resource Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for Compute Resource Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -186,7 +206,12 @@ public class ComputeResourceResource extends AppCatAbstractResource {
computeResourceResources.add(computeResourceResource);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -216,7 +241,12 @@ public class ComputeResourceResource extends AppCatAbstractResource {
computeResourceResources.add(computeResource.getResourceId());
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -251,12 +281,22 @@ public class ComputeResourceResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for Compute Resource Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for Compute Resource Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -277,7 +317,12 @@ public class ComputeResourceResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ComputeResource existingComputeResource = em.find(ComputeResource.class, resourceId);
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
ComputeResource computeResource;
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -299,7 +344,12 @@ public class ComputeResourceResource extends AppCatAbstractResource {
em.merge(computeResource);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -319,7 +369,12 @@ public class ComputeResourceResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
ComputeResource computeResource = em.find(ComputeResource.class, identifier);
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return computeResource != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/DataMovementInterfaceResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/DataMovementInterfaceResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/DataMovementInterfaceResource.java
index 9ebac56..618ad03 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/DataMovementInterfaceResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/DataMovementInterfaceResource.java
@@ -87,7 +87,12 @@ public class DataMovementInterfaceResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -121,7 +126,12 @@ public class DataMovementInterfaceResource extends AppCatAbstractResource {
DataMovementInterface dataMovementInterface = (DataMovementInterface) q.getSingleResult();
DataMovementInterfaceResource dataMovementInterfaceResource = (DataMovementInterfaceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.DATA_MOVEMENT_INTERFACE, dataMovementInterface);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return dataMovementInterfaceResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -161,7 +171,12 @@ public class DataMovementInterfaceResource extends AppCatAbstractResource {
throw new IllegalArgumentException("Unsupported field name for Data Movement Interface Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -206,12 +221,22 @@ public class DataMovementInterfaceResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for Data Movement Interface Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for Data Movement Interface Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -232,7 +257,12 @@ public class DataMovementInterfaceResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
DataMovementInterface existingDataMovementInterface = em.find(DataMovementInterface.class, new DataMovementInterface_PK(computeResourceId, dataMovementInterfaceId));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
DataMovementInterface dataMovementInterface;
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -255,7 +285,12 @@ public class DataMovementInterfaceResource extends AppCatAbstractResource {
em.merge(dataMovementInterface);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -282,7 +317,12 @@ public class DataMovementInterfaceResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
DataMovementInterface dataMovementInterface = em.find(DataMovementInterface.class, new DataMovementInterface_PK(ids.get(DataMovementInterfaceConstants.COMPUTE_RESOURCE_ID), ids.get(DataMovementInterfaceConstants.DATA_MOVEMENT_INTERFACE_ID)));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return dataMovementInterface != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/f1e16793/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/GSISSHExportResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/GSISSHExportResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/GSISSHExportResource.java
index 1261b39..38f00e2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/GSISSHExportResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/GSISSHExportResource.java
@@ -65,7 +65,12 @@ public class GSISSHExportResource extends AppCatAbstractResource {
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -101,7 +106,12 @@ public class GSISSHExportResource extends AppCatAbstractResource {
(GSISSHExportResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.GSISSH_EXPORT
, gsisshExport);
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return gsisshExportResource;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);
@@ -151,12 +161,22 @@ public class GSISSHExportResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for GSISSH Export Resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for GSISSH Export Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -212,12 +232,22 @@ public class GSISSHExportResource extends AppCatAbstractResource {
}
} else {
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
logger.error("Unsupported field name for GSISSH Export resource.", new IllegalArgumentException());
throw new IllegalArgumentException("Unsupported field name for GSISSH Export Resource.");
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -237,7 +267,12 @@ public class GSISSHExportResource extends AppCatAbstractResource {
try {
em = AppCatalogJPAUtils.getEntityManager();
GSISSHExport existingGSIExport = em.find(GSISSHExport.class, new GSISSHExportPK(submissionID, export));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
@@ -255,7 +290,12 @@ public class GSISSHExportResource extends AppCatAbstractResource {
em.persist(gsisshExport);
}
em.getTransaction().commit();
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new AppCatalogException(e);
@@ -284,7 +324,12 @@ public class GSISSHExportResource extends AppCatAbstractResource {
GSISSHExport gsisshExport = em.find(GSISSHExport.class, new GSISSHExportPK(ids.get(GSISSHExportConstants.SUBMISSION_ID),
ids.get(GSISSHExportConstants.EXPORT)));
- em.close();
+ if (em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
return gsisshExport != null;
} catch (ApplicationSettingsException e) {
logger.error(e.getMessage(), e);