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 2014/11/12 19:59:45 UTC
airavata git commit: fixing errors application interface update method
Repository: airavata
Updated Branches:
refs/heads/safekeeping 10f54a2e8 -> 4b3dca789
fixing errors application interface update method
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4b3dca78
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4b3dca78
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4b3dca78
Branch: refs/heads/safekeeping
Commit: 4b3dca789228c9b842fd21883020cd939bc67379
Parents: 10f54a2
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Wed Nov 12 13:59:21 2014 -0500
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Wed Nov 12 13:59:21 2014 -0500
----------------------------------------------------------------------
.../data/impl/ApplicationInterfaceImpl.java | 34 ++++++++++++++++----
.../resources/AppModuleMappingResource.java | 27 +++++++++++++++-
.../resources/ApplicationInputResource.java | 8 ++++-
.../resources/ApplicationOutputResource.java | 8 ++++-
4 files changed, 67 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/4b3dca78/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
index 48ddfa0..e68bbc5 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
@@ -166,15 +166,25 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
existingInterface.setAppName(updatedInterface.getApplicationName());
existingInterface.save();
+ // remove existing modules before adding
+ Map<String, String> ids = new HashMap<String, String>();
+ ids.put(AbstractResource.AppModuleMappingConstants.INTERFACE_ID, interfaceId);
+ AppModuleMappingResource moduleMappingResource = new AppModuleMappingResource();
+ moduleMappingResource.remove(ids);
List<String> applicationModules = updatedInterface.getApplicationModules();
if (applicationModules != null && !applicationModules.isEmpty()){
for (String moduleId : applicationModules){
AppModuleResource appModuleResource = new AppModuleResource();
- AppModuleMappingResource moduleMappingResource = new AppModuleMappingResource();
- Map<String, String> ids = new HashMap<String, String>();
+ moduleMappingResource = new AppModuleMappingResource();
+ ids = new HashMap<String, String>();
ids.put(AbstractResource.AppModuleMappingConstants.MODULE_ID, moduleId);
ids.put(AbstractResource.AppModuleMappingConstants.INTERFACE_ID, interfaceId);
- AppModuleMappingResource existingMapping = (AppModuleMappingResource)moduleMappingResource.get(ids);
+ AppModuleMappingResource existingMapping;
+ if (!moduleMappingResource.isExists(ids)){
+ existingMapping = new AppModuleMappingResource();
+ } else {
+ existingMapping = (AppModuleMappingResource)moduleMappingResource.get(ids);
+ }
existingMapping.setInterfaceId(interfaceId);
existingMapping.setModuleId(moduleId);
existingMapping.setModuleResource((AppModuleResource)appModuleResource.get(moduleId));
@@ -183,11 +193,16 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
}
}
+ // remove existing application inputs
+ ApplicationInputResource inputResource = new ApplicationInputResource();
+ ids = new HashMap<String, String>();
+ ids.put(AbstractResource.AppInputConstants.INTERFACE_ID, interfaceId);
+ inputResource.remove(ids);
List<InputDataObjectType> applicationInputs = updatedInterface.getApplicationInputs();
if (applicationInputs != null && !applicationInputs.isEmpty()){
for (InputDataObjectType input : applicationInputs){
- ApplicationInputResource inputResource = new ApplicationInputResource();
- Map<String, String> ids = new HashMap<String, String>();
+ inputResource = new ApplicationInputResource();
+ ids = new HashMap<String, String>();
ids.put(AbstractResource.AppInputConstants.INTERFACE_ID, interfaceId);
ids.put(AbstractResource.AppInputConstants.INPUT_KEY, input.getName());
if (inputResource.isExists(ids)){
@@ -206,11 +221,16 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
}
}
+ // remove existing app outputs before adding
+ ApplicationOutputResource outputResource = new ApplicationOutputResource();
+ ids = new HashMap<String, String>();
+ ids.put(AbstractResource.AppOutputConstants.INTERFACE_ID, interfaceId);
+ outputResource.remove(ids);
List<OutputDataObjectType> applicationOutputs = updatedInterface.getApplicationOutputs();
if (applicationOutputs != null && !applicationOutputs.isEmpty()){
for (OutputDataObjectType output : applicationOutputs){
- ApplicationOutputResource outputResource = new ApplicationOutputResource();
- Map<String, String> ids = new HashMap<String, String>();
+ outputResource = new ApplicationOutputResource();
+ ids = new HashMap<String, String>();
ids.put(AbstractResource.AppOutputConstants.INTERFACE_ID, interfaceId);
ids.put(AbstractResource.AppOutputConstants.OUTPUT_KEY, output.getName());
if (outputResource.isExists(ids)){
http://git-wip-us.apache.org/repos/asf/airavata/blob/4b3dca78/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleMappingResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleMappingResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleMappingResource.java
index 2b904ad..eb2ff13 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleMappingResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleMappingResource.java
@@ -95,7 +95,32 @@ public class AppModuleMappingResource extends AbstractResource {
em.getTransaction().begin();
AppCatalogQueryGenerator generator= new AppCatalogQueryGenerator(APP_MODULE_MAPPING);
generator.setParameter(AppModuleMappingConstants.INTERFACE_ID, ids.get(AppModuleMappingConstants.INTERFACE_ID));
- generator.setParameter(AppModuleMappingConstants.MODULE_ID, ids.get(AppModuleMappingConstants.MODULE_ID));
+ if (ids.get(AppModuleMappingConstants.MODULE_ID) != null){
+ generator.setParameter(AppModuleMappingConstants.MODULE_ID, ids.get(AppModuleMappingConstants.MODULE_ID));
+ }
+ Query q = generator.deleteQuery(em);
+ q.executeUpdate();
+ em.getTransaction().commit();
+ em.close();
+ } catch (ApplicationSettingsException e) {
+ logger.error(e.getMessage(), e);
+ throw new AppCatalogException(e);
+ } finally {
+ if (em != null && em.isOpen()) {
+ if (em.getTransaction().isActive()){
+ em.getTransaction().rollback();
+ }
+ em.close();
+ }
+ }
+ }
+
+ public void removeAll() throws AppCatalogException {
+ EntityManager em = null;
+ try {
+ em = AppCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ AppCatalogQueryGenerator generator= new AppCatalogQueryGenerator(APP_MODULE_MAPPING);
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
http://git-wip-us.apache.org/repos/asf/airavata/blob/4b3dca78/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
index 45fd313..75bcd4c 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
@@ -67,7 +67,9 @@ public class ApplicationInputResource extends AbstractResource {
em.getTransaction().begin();
AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(APPLICATION_INPUT);
generator.setParameter(AppInputConstants.INTERFACE_ID, ids.get(AppInputConstants.INTERFACE_ID));
- generator.setParameter(AppInputConstants.INPUT_KEY, ids.get(AppInputConstants.INPUT_KEY));
+ if (ids.get(AppInputConstants.INPUT_KEY) != null){
+ generator.setParameter(AppInputConstants.INPUT_KEY, ids.get(AppInputConstants.INPUT_KEY));
+ }
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
@@ -85,6 +87,10 @@ public class ApplicationInputResource extends AbstractResource {
}
}
+ public void removeAll() throws AppCatalogException {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+
public Resource get(Object identifier) throws AppCatalogException {
HashMap<String, String> ids;
if (identifier instanceof Map) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/4b3dca78/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
index 0efd3b9..a25bae6 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java
@@ -62,7 +62,9 @@ public class ApplicationOutputResource extends AbstractResource {
em.getTransaction().begin();
AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(APPLICATION_OUTPUT);
generator.setParameter(AppOutputConstants.INTERFACE_ID, ids.get(AppOutputConstants.INTERFACE_ID));
- generator.setParameter(AppOutputConstants.OUTPUT_KEY, ids.get(AppOutputConstants.OUTPUT_KEY));
+ if (ids.get(AppOutputConstants.OUTPUT_KEY) != null) {
+ generator.setParameter(AppOutputConstants.OUTPUT_KEY, ids.get(AppOutputConstants.OUTPUT_KEY));
+ }
Query q = generator.deleteQuery(em);
q.executeUpdate();
em.getTransaction().commit();
@@ -80,6 +82,10 @@ public class ApplicationOutputResource extends AbstractResource {
}
}
+ public void removeAll() throws AppCatalogException {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+
public Resource get(Object identifier) throws AppCatalogException {
HashMap<String, String> ids;
if (identifier instanceof Map) {