http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LibraryPrepandPathResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LibraryPrepandPathResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LibraryPrepandPathResource.java new file mode 100644 index 0000000..fa77b2c --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LibraryPrepandPathResource.java @@ -0,0 +1,291 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +package org.apache.airavata.registry.core.app.catalog.resources; + +import org.apache.airavata.common.exception.ApplicationSettingsException; +import org.apache.airavata.registry.core.app.catalog.model.ApplicationDeployment; +import org.apache.airavata.registry.core.app.catalog.model.LibraryPrepandPath; +import org.apache.airavata.registry.core.app.catalog.model.LibraryPrepandPath_PK; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogQueryGenerator; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogResourceType; +import org.apache.airavata.registry.cpi.AppCatalogException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class LibraryPrepandPathResource extends AppCatAbstractResource { + private final static Logger logger = LoggerFactory.getLogger(LibraryPrepandPathResource.class); + private String deploymentId; + private String name; + private String value; + private AppDeploymentResource appDeploymentResource; + + public String getDeploymentId() { + return deploymentId; + } + + public void setDeploymentId(String deploymentId) { + this.deploymentId = deploymentId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public AppDeploymentResource getAppDeploymentResource() { + return appDeploymentResource; + } + + public void setAppDeploymentResource(AppDeploymentResource appDeploymentResource) { + this.appDeploymentResource = appDeploymentResource; + } + + @Override + public void remove(Object identifier) throws AppCatalogException { + HashMap<String, String> ids; + if (identifier instanceof Map){ + ids = (HashMap)identifier; + }else { + logger.error("Identifier should be a map with the field name and it's value"); + throw new AppCatalogException("Identifier should be a map with the field name and it's value"); + } + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator= new AppCatalogQueryGenerator(LIBRARY_PREPAND_PATH); + generator.setParameter(LibraryPrepandPathConstants.DEPLOYMENT_ID, ids.get(LibraryPrepandPathConstants.DEPLOYMENT_ID)); + if (ids.get(LibraryPrepandPathConstants.NAME) != null){ + generator.setParameter(LibraryPrepandPathConstants.NAME, ids.get(LibraryPrepandPathConstants.NAME)); + } + 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(); + } + } + } + + @Override + public AppCatalogResource get(Object identifier) throws AppCatalogException { + HashMap<String, String> ids; + if (identifier instanceof Map){ + ids = (HashMap)identifier; + }else { + logger.error("Identifier should be a map with the field name and it's value"); + throw new AppCatalogException("Identifier should be a map with the field name and it's value"); + } + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LIBRARY_PREPAND_PATH); + generator.setParameter(LibraryPrepandPathConstants.DEPLOYMENT_ID, ids.get(LibraryPrepandPathConstants.DEPLOYMENT_ID)); + generator.setParameter(LibraryPrepandPathConstants.NAME, ids.get(LibraryPrepandPathConstants.NAME)); + Query q = generator.selectQuery(em); + LibraryPrepandPath libraryPrepandPath = (LibraryPrepandPath) q.getSingleResult(); + LibraryPrepandPathResource resource = + (LibraryPrepandPathResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LIBRARY_PREPAND_PATH, libraryPrepandPath); + em.getTransaction().commit(); + em.close(); + return resource; + } 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(); + } + } + } + + @Override + public List<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException { + List<AppCatalogResource> libPrepPathList = new ArrayList<AppCatalogResource>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + Query q; + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LIBRARY_PREPAND_PATH); + List results; + if (fieldName.equals(LibraryPrepandPathConstants.DEPLOYMENT_ID)) { + generator.setParameter(LibraryPrepandPathConstants.DEPLOYMENT_ID, value); + q = generator.selectQuery(em); + results = q.getResultList(); + if (results.size() != 0) { + for (Object result : results) { + LibraryPrepandPath prepandPath = (LibraryPrepandPath) result; + LibraryPrepandPathResource resource = + (LibraryPrepandPathResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LIBRARY_PREPAND_PATH, prepandPath); + libPrepPathList.add(resource); + } + } + } else if (fieldName.equals(LibraryPrepandPathConstants.NAME)) { + generator.setParameter(LibraryPrepandPathConstants.NAME, value); + q = generator.selectQuery(em); + results = q.getResultList(); + if (results.size() != 0) { + for (Object result : results) { + LibraryPrepandPath prepandPath = (LibraryPrepandPath) result; + LibraryPrepandPathResource resource = + (LibraryPrepandPathResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LIBRARY_PREPAND_PATH, prepandPath); + libPrepPathList.add(resource); + } + } + }else { + em.getTransaction().commit(); + em.close(); + logger.error("Unsupported field name for libraryPrepandPath resource.", new IllegalArgumentException()); + throw new IllegalArgumentException("Unsupported field name for libraryPrepandPath resource."); + } + em.getTransaction().commit(); + em.close(); + } catch (Exception 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(); + } + } + return libPrepPathList; + } + + @Override + public List<AppCatalogResource> getAll() throws AppCatalogException { + return null; + } + + @Override + public List<String> getAllIds() throws AppCatalogException { + return null; + } + + @Override + public List<String> getIds(String fieldName, Object value) throws AppCatalogException { + logger.error("Unsupported for objects with a composite identifier"); + throw new AppCatalogException("Unsupported for objects with a composite identifier"); + } + + @Override + public void save() throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + LibraryPrepandPath existigPrepPath = em.find(LibraryPrepandPath.class, new LibraryPrepandPath_PK(deploymentId, name)); + em.close(); + + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + ApplicationDeployment deployment = em.find(ApplicationDeployment.class, deploymentId); + if (existigPrepPath != null){ + existigPrepPath.setValue(value); + existigPrepPath.setApplicationDeployment(deployment); + em.merge(existigPrepPath); + }else { + LibraryPrepandPath prepandPath = new LibraryPrepandPath(); + prepandPath.setDeploymentID(deploymentId); + prepandPath.setName(name); + prepandPath.setValue(value); + prepandPath.setApplicationDeployment(deployment); + em.persist(prepandPath); + } + em.getTransaction().commit(); + em.close(); + } catch (Exception 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(); + } + } + } + + @Override + public boolean isExists(Object identifier) throws AppCatalogException { + HashMap<String, String> ids; + if (identifier instanceof Map){ + ids = (HashMap)identifier; + }else { + logger.error("Identifier should be a map with the field name and it's value"); + throw new AppCatalogException("Identifier should be a map with the field name and it's value"); + } + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + LibraryPrepandPath prepandPath = em.find(LibraryPrepandPath.class, + new LibraryPrepandPath_PK(ids.get(LibraryPrepandPathConstants.DEPLOYMENT_ID), + ids.get(LibraryPrepandPathConstants.NAME))); + em.close(); + return prepandPath != null; + } 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(); + } + } + } +}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalDataMovementAppCatalogResourceAppCat.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalDataMovementAppCatalogResourceAppCat.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalDataMovementAppCatalogResourceAppCat.java deleted file mode 100644 index 7d71abf..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalDataMovementAppCatalogResourceAppCat.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ - -package org.apache.airavata.registry.core.app.catalog.resources; - -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.Query; - -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.airavata.registry.core.app.catalog.model.LocalDataMovement; -import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils; -import org.apache.airavata.registry.core.app.catalog.util.AppCatalogQueryGenerator; -import org.apache.airavata.registry.core.app.catalog.util.AppCatalogResourceType; -import org.apache.airavata.registry.cpi.AppCatalogException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class LocalDataMovementAppCatalogResourceAppCat extends AppCatAbstractResource { - private final static Logger logger = LoggerFactory.getLogger(LocalDataMovementAppCatalogResourceAppCat.class); - private String dataMovementInterfaceId; - - @Override - public void remove(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_DATA_MOVEMENT); - generator.setParameter(LocalDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID, identifier); - 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(); - } - } - } - - @Override - public AppCatalogResource get(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_DATA_MOVEMENT); - generator.setParameter(LocalDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID, identifier); - Query q = generator.selectQuery(em); - LocalDataMovement localDataMovement = (LocalDataMovement) q.getSingleResult(); - LocalDataMovementAppCatalogResourceAppCat localDataMovementResource = (LocalDataMovementAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_DATA_MOVEMENT, localDataMovement); - em.getTransaction().commit(); - em.close(); - return localDataMovementResource; - } 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(); - } - } - } - - @Override - public List<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException { - List<AppCatalogResource> localDataMovementResources = new ArrayList<AppCatalogResource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_DATA_MOVEMENT); - Query q; - if ((fieldName.equals(LocalDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - LocalDataMovement localDataMovement = (LocalDataMovement) result; - LocalDataMovementAppCatalogResourceAppCat localDataMovementResource = (LocalDataMovementAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_DATA_MOVEMENT, localDataMovement); - localDataMovementResources.add(localDataMovementResource); - } - } else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Local Data Movement Resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Local Data Movement Resource."); - } - 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(); - } - } - return localDataMovementResources; - } - - @Override - public List<AppCatalogResource> getAll() throws AppCatalogException { - return null; - } - - @Override - public List<String> getAllIds() throws AppCatalogException { - return null; - } - - @Override - public List<String> getIds(String fieldName, Object value) throws AppCatalogException { - List<String> localDataMovementResourceIDs = new ArrayList<String>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_DATA_MOVEMENT); - Query q; - if ((fieldName.equals(LocalDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - LocalDataMovement localDataMovement = (LocalDataMovement) result; - LocalDataMovementAppCatalogResourceAppCat localDataMovementResource = (LocalDataMovementAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_DATA_MOVEMENT, localDataMovement); - localDataMovementResourceIDs.add(localDataMovementResource.getDataMovementInterfaceId()); - } - } else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Local Data Movement Resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Local Data Movement Resource."); - } - 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(); - } - } - return localDataMovementResourceIDs; - } - - @Override - public void save() throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - LocalDataMovement existingLocalDataMovement = em.find(LocalDataMovement.class, dataMovementInterfaceId); - em.close(); - LocalDataMovement localDataMovement; - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingLocalDataMovement == null) { - localDataMovement = new LocalDataMovement(); - } else { - localDataMovement = existingLocalDataMovement; - } - localDataMovement.setDataMovementInterfaceId(getDataMovementInterfaceId()); - if (existingLocalDataMovement == null) { - em.persist(localDataMovement); - } else { - em.merge(localDataMovement); - } - em.getTransaction().commit(); - em.close(); - } catch (Exception 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(); - } - } - } - - @Override - public boolean isExists(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - LocalDataMovement localDataMovement = em.find(LocalDataMovement.class, identifier); - em.close(); - return localDataMovement != null; - } 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 String getDataMovementInterfaceId() { - return dataMovementInterfaceId; - } - - public void setDataMovementInterfaceId(String dataMovementInterfaceId) { - this.dataMovementInterfaceId=dataMovementInterfaceId; - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalDataMovementResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalDataMovementResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalDataMovementResource.java new file mode 100644 index 0000000..11cb089 --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalDataMovementResource.java @@ -0,0 +1,249 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +package org.apache.airavata.registry.core.app.catalog.resources; + +import java.util.ArrayList; +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.Query; + +import org.apache.airavata.common.exception.ApplicationSettingsException; +import org.apache.airavata.registry.core.app.catalog.model.LocalDataMovement; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogQueryGenerator; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogResourceType; +import org.apache.airavata.registry.cpi.AppCatalogException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class LocalDataMovementResource extends AppCatAbstractResource { + private final static Logger logger = LoggerFactory.getLogger(LocalDataMovementResource.class); + private String dataMovementInterfaceId; + + @Override + public void remove(Object identifier) throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_DATA_MOVEMENT); + generator.setParameter(LocalDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID, identifier); + 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(); + } + } + } + + @Override + public AppCatalogResource get(Object identifier) throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_DATA_MOVEMENT); + generator.setParameter(LocalDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID, identifier); + Query q = generator.selectQuery(em); + LocalDataMovement localDataMovement = (LocalDataMovement) q.getSingleResult(); + LocalDataMovementResource localDataMovementResource = (LocalDataMovementResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_DATA_MOVEMENT, localDataMovement); + em.getTransaction().commit(); + em.close(); + return localDataMovementResource; + } 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(); + } + } + } + + @Override + public List<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException { + List<AppCatalogResource> localDataMovementResources = new ArrayList<AppCatalogResource>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_DATA_MOVEMENT); + Query q; + if ((fieldName.equals(LocalDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID))) { + generator.setParameter(fieldName, value); + q = generator.selectQuery(em); + List<?> results = q.getResultList(); + for (Object result : results) { + LocalDataMovement localDataMovement = (LocalDataMovement) result; + LocalDataMovementResource localDataMovementResource = (LocalDataMovementResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_DATA_MOVEMENT, localDataMovement); + localDataMovementResources.add(localDataMovementResource); + } + } else { + em.getTransaction().commit(); + em.close(); + logger.error("Unsupported field name for Local Data Movement Resource.", new IllegalArgumentException()); + throw new IllegalArgumentException("Unsupported field name for Local Data Movement Resource."); + } + 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(); + } + } + return localDataMovementResources; + } + + @Override + public List<AppCatalogResource> getAll() throws AppCatalogException { + return null; + } + + @Override + public List<String> getAllIds() throws AppCatalogException { + return null; + } + + @Override + public List<String> getIds(String fieldName, Object value) throws AppCatalogException { + List<String> localDataMovementResourceIDs = new ArrayList<String>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_DATA_MOVEMENT); + Query q; + if ((fieldName.equals(LocalDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID))) { + generator.setParameter(fieldName, value); + q = generator.selectQuery(em); + List<?> results = q.getResultList(); + for (Object result : results) { + LocalDataMovement localDataMovement = (LocalDataMovement) result; + LocalDataMovementResource localDataMovementResource = (LocalDataMovementResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_DATA_MOVEMENT, localDataMovement); + localDataMovementResourceIDs.add(localDataMovementResource.getDataMovementInterfaceId()); + } + } else { + em.getTransaction().commit(); + em.close(); + logger.error("Unsupported field name for Local Data Movement Resource.", new IllegalArgumentException()); + throw new IllegalArgumentException("Unsupported field name for Local Data Movement Resource."); + } + 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(); + } + } + return localDataMovementResourceIDs; + } + + @Override + public void save() throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + LocalDataMovement existingLocalDataMovement = em.find(LocalDataMovement.class, dataMovementInterfaceId); + em.close(); + LocalDataMovement localDataMovement; + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + if (existingLocalDataMovement == null) { + localDataMovement = new LocalDataMovement(); + } else { + localDataMovement = existingLocalDataMovement; + } + localDataMovement.setDataMovementInterfaceId(getDataMovementInterfaceId()); + if (existingLocalDataMovement == null) { + em.persist(localDataMovement); + } else { + em.merge(localDataMovement); + } + em.getTransaction().commit(); + em.close(); + } catch (Exception 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(); + } + } + } + + @Override + public boolean isExists(Object identifier) throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + LocalDataMovement localDataMovement = em.find(LocalDataMovement.class, identifier); + em.close(); + return localDataMovement != null; + } 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 String getDataMovementInterfaceId() { + return dataMovementInterfaceId; + } + + public void setDataMovementInterfaceId(String dataMovementInterfaceId) { + this.dataMovementInterfaceId=dataMovementInterfaceId; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalSubmissionAppCatalogResourceAppCat.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalSubmissionAppCatalogResourceAppCat.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalSubmissionAppCatalogResourceAppCat.java deleted file mode 100644 index ec03223..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalSubmissionAppCatalogResourceAppCat.java +++ /dev/null @@ -1,293 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ - -package org.apache.airavata.registry.core.app.catalog.resources; - -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.Query; - -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.airavata.common.utils.AiravataUtils; -import org.apache.airavata.registry.core.app.catalog.model.LocalSubmission; -import org.apache.airavata.registry.core.app.catalog.model.ResourceJobManager; -import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils; -import org.apache.airavata.registry.core.app.catalog.util.AppCatalogQueryGenerator; -import org.apache.airavata.registry.core.app.catalog.util.AppCatalogResourceType; -import org.apache.airavata.registry.cpi.AppCatalogException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class LocalSubmissionAppCatalogResourceAppCat extends AppCatAbstractResource { - private final static Logger logger = LoggerFactory.getLogger(LocalSubmissionAppCatalogResourceAppCat.class); - private String resourceJobManagerId; - private ResourceJobManagerAppCatalogResourceAppCat resourceJobManagerResource; - private String jobSubmissionInterfaceId; - private Timestamp createdTime; - private Timestamp updatedTime; - - public Timestamp getCreatedTime() { - return createdTime; - } - - public void setCreatedTime(Timestamp createdTime) { - this.createdTime = createdTime; - } - - public Timestamp getUpdatedTime() { - return updatedTime; - } - - public void setUpdatedTime(Timestamp updatedTime) { - this.updatedTime = updatedTime; - } - - @Override - public void remove(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_SUBMISSION); - generator.setParameter(LocalSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID, identifier); - 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(); - } - } - } - - @Override - public AppCatalogResource get(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_SUBMISSION); - generator.setParameter(LocalSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID, identifier); - Query q = generator.selectQuery(em); - LocalSubmission localSubmission = (LocalSubmission) q.getSingleResult(); - LocalSubmissionAppCatalogResourceAppCat localSubmissionResource = (LocalSubmissionAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_SUBMISSION, localSubmission); - em.getTransaction().commit(); - em.close(); - return localSubmissionResource; - } 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(); - } - } - } - - @Override - public List<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException { - List<AppCatalogResource> localSubmissionResources = new ArrayList<AppCatalogResource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_SUBMISSION); - Query q; - if ((fieldName.equals(LocalSubmissionConstants.RESOURCE_JOB_MANAGER_ID)) || (fieldName.equals(LocalSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - LocalSubmission localSubmission = (LocalSubmission) result; - LocalSubmissionAppCatalogResourceAppCat localSubmissionResource = (LocalSubmissionAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_SUBMISSION, localSubmission); - localSubmissionResources.add(localSubmissionResource); - } - } else { - em.getTransaction().commit(); - 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(); - } 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(); - } - } - return localSubmissionResources; - } - - @Override - public List<AppCatalogResource> getAll() throws AppCatalogException { - return null; - } - - @Override - public List<String> getAllIds() throws AppCatalogException { - return null; - } - - @Override - public List<String> getIds(String fieldName, Object value) throws AppCatalogException { - List<String> localSubmissionResourceIDs = new ArrayList<String>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_SUBMISSION); - Query q; - if ((fieldName.equals(LocalSubmissionConstants.RESOURCE_JOB_MANAGER_ID)) || (fieldName.equals(LocalSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - LocalSubmission localSubmission = (LocalSubmission) result; - LocalSubmissionAppCatalogResourceAppCat localSubmissionResource = (LocalSubmissionAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_SUBMISSION, localSubmission); - localSubmissionResourceIDs.add(localSubmissionResource.getJobSubmissionInterfaceId()); - } - } else { - em.getTransaction().commit(); - 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(); - } 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(); - } - } - return localSubmissionResourceIDs; - } - - @Override - public void save() throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - LocalSubmission existingLocalSubmission = em.find(LocalSubmission.class, jobSubmissionInterfaceId); - em.close(); - LocalSubmission localSubmission; - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingLocalSubmission == null) { - localSubmission = new LocalSubmission(); - localSubmission.setCreationTime(AiravataUtils.getCurrentTimestamp()); - } else { - localSubmission = existingLocalSubmission; - localSubmission.setUpdateTime(AiravataUtils.getCurrentTimestamp()); - } - localSubmission.setResourceJobManagerId(getResourceJobManagerId()); - ResourceJobManager resourceJobManager = em.find(ResourceJobManager.class, getResourceJobManagerId()); - localSubmission.setResourceJobManager(resourceJobManager); - localSubmission.setJobSubmissionInterfaceId(getJobSubmissionInterfaceId()); - if (existingLocalSubmission == null) { - em.persist(localSubmission); - } else { - em.merge(localSubmission); - } - em.getTransaction().commit(); - em.close(); - } catch (Exception 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(); - } - } - } - - @Override - public boolean isExists(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - LocalSubmission localSubmission = em.find(LocalSubmission.class, identifier); - em.close(); - return localSubmission != null; - } 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 String getResourceJobManagerId() { - return resourceJobManagerId; - } - - public ResourceJobManagerAppCatalogResourceAppCat getResourceJobManagerResource() { - return resourceJobManagerResource; - } - - public String getJobSubmissionInterfaceId() { - return jobSubmissionInterfaceId; - } - - public void setResourceJobManagerId(String resourceJobManagerId) { - this.resourceJobManagerId=resourceJobManagerId; - } - - public void setResourceJobManagerResource(ResourceJobManagerAppCatalogResourceAppCat resourceJobManagerResource) { - this.resourceJobManagerResource=resourceJobManagerResource; - } - - public void setJobSubmissionInterfaceId(String jobSubmissionInterfaceId) { - this.jobSubmissionInterfaceId=jobSubmissionInterfaceId; - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalSubmissionResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalSubmissionResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalSubmissionResource.java new file mode 100644 index 0000000..ab0113e --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/LocalSubmissionResource.java @@ -0,0 +1,293 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +package org.apache.airavata.registry.core.app.catalog.resources; + +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.Query; + +import org.apache.airavata.common.exception.ApplicationSettingsException; +import org.apache.airavata.common.utils.AiravataUtils; +import org.apache.airavata.registry.core.app.catalog.model.LocalSubmission; +import org.apache.airavata.registry.core.app.catalog.model.ResourceJobManager; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogQueryGenerator; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogResourceType; +import org.apache.airavata.registry.cpi.AppCatalogException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class LocalSubmissionResource extends AppCatAbstractResource { + private final static Logger logger = LoggerFactory.getLogger(LocalSubmissionResource.class); + private String resourceJobManagerId; + private ResourceJobManagerResource resourceJobManagerResource; + private String jobSubmissionInterfaceId; + private Timestamp createdTime; + private Timestamp updatedTime; + + public Timestamp getCreatedTime() { + return createdTime; + } + + public void setCreatedTime(Timestamp createdTime) { + this.createdTime = createdTime; + } + + public Timestamp getUpdatedTime() { + return updatedTime; + } + + public void setUpdatedTime(Timestamp updatedTime) { + this.updatedTime = updatedTime; + } + + @Override + public void remove(Object identifier) throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_SUBMISSION); + generator.setParameter(LocalSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID, identifier); + 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(); + } + } + } + + @Override + public AppCatalogResource get(Object identifier) throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_SUBMISSION); + generator.setParameter(LocalSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID, identifier); + Query q = generator.selectQuery(em); + LocalSubmission localSubmission = (LocalSubmission) q.getSingleResult(); + LocalSubmissionResource localSubmissionResource = (LocalSubmissionResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_SUBMISSION, localSubmission); + em.getTransaction().commit(); + em.close(); + return localSubmissionResource; + } 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(); + } + } + } + + @Override + public List<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException { + List<AppCatalogResource> localSubmissionResources = new ArrayList<AppCatalogResource>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_SUBMISSION); + Query q; + if ((fieldName.equals(LocalSubmissionConstants.RESOURCE_JOB_MANAGER_ID)) || (fieldName.equals(LocalSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID))) { + generator.setParameter(fieldName, value); + q = generator.selectQuery(em); + List<?> results = q.getResultList(); + for (Object result : results) { + LocalSubmission localSubmission = (LocalSubmission) result; + LocalSubmissionResource localSubmissionResource = (LocalSubmissionResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_SUBMISSION, localSubmission); + localSubmissionResources.add(localSubmissionResource); + } + } else { + em.getTransaction().commit(); + 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(); + } 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(); + } + } + return localSubmissionResources; + } + + @Override + public List<AppCatalogResource> getAll() throws AppCatalogException { + return null; + } + + @Override + public List<String> getAllIds() throws AppCatalogException { + return null; + } + + @Override + public List<String> getIds(String fieldName, Object value) throws AppCatalogException { + List<String> localSubmissionResourceIDs = new ArrayList<String>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(LOCAL_SUBMISSION); + Query q; + if ((fieldName.equals(LocalSubmissionConstants.RESOURCE_JOB_MANAGER_ID)) || (fieldName.equals(LocalSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID))) { + generator.setParameter(fieldName, value); + q = generator.selectQuery(em); + List<?> results = q.getResultList(); + for (Object result : results) { + LocalSubmission localSubmission = (LocalSubmission) result; + LocalSubmissionResource localSubmissionResource = (LocalSubmissionResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.LOCAL_SUBMISSION, localSubmission); + localSubmissionResourceIDs.add(localSubmissionResource.getJobSubmissionInterfaceId()); + } + } else { + em.getTransaction().commit(); + 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(); + } 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(); + } + } + return localSubmissionResourceIDs; + } + + @Override + public void save() throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + LocalSubmission existingLocalSubmission = em.find(LocalSubmission.class, jobSubmissionInterfaceId); + em.close(); + LocalSubmission localSubmission; + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + if (existingLocalSubmission == null) { + localSubmission = new LocalSubmission(); + localSubmission.setCreationTime(AiravataUtils.getCurrentTimestamp()); + } else { + localSubmission = existingLocalSubmission; + localSubmission.setUpdateTime(AiravataUtils.getCurrentTimestamp()); + } + localSubmission.setResourceJobManagerId(getResourceJobManagerId()); + ResourceJobManager resourceJobManager = em.find(ResourceJobManager.class, getResourceJobManagerId()); + localSubmission.setResourceJobManager(resourceJobManager); + localSubmission.setJobSubmissionInterfaceId(getJobSubmissionInterfaceId()); + if (existingLocalSubmission == null) { + em.persist(localSubmission); + } else { + em.merge(localSubmission); + } + em.getTransaction().commit(); + em.close(); + } catch (Exception 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(); + } + } + } + + @Override + public boolean isExists(Object identifier) throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + LocalSubmission localSubmission = em.find(LocalSubmission.class, identifier); + em.close(); + return localSubmission != null; + } 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 String getResourceJobManagerId() { + return resourceJobManagerId; + } + + public ResourceJobManagerResource getResourceJobManagerResource() { + return resourceJobManagerResource; + } + + public String getJobSubmissionInterfaceId() { + return jobSubmissionInterfaceId; + } + + public void setResourceJobManagerId(String resourceJobManagerId) { + this.resourceJobManagerId=resourceJobManagerId; + } + + public void setResourceJobManagerResource(ResourceJobManagerResource resourceJobManagerResource) { + this.resourceJobManagerResource=resourceJobManagerResource; + } + + public void setJobSubmissionInterfaceId(String jobSubmissionInterfaceId) { + this.jobSubmissionInterfaceId=jobSubmissionInterfaceId; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ModuleLoadCmdAppCatalogResourceAppCat.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ModuleLoadCmdAppCatalogResourceAppCat.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ModuleLoadCmdAppCatalogResourceAppCat.java deleted file mode 100644 index 0cc2bde..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ModuleLoadCmdAppCatalogResourceAppCat.java +++ /dev/null @@ -1,300 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ - -package org.apache.airavata.registry.core.app.catalog.resources; - -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.airavata.registry.core.app.catalog.model.ApplicationDeployment; -import org.apache.airavata.registry.core.app.catalog.model.ModuleLoadCmd; -import org.apache.airavata.registry.core.app.catalog.model.ModuleLoadCmd_PK; -import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils; -import org.apache.airavata.registry.core.app.catalog.util.AppCatalogQueryGenerator; -import org.apache.airavata.registry.core.app.catalog.util.AppCatalogResourceType; -import org.apache.airavata.registry.cpi.AppCatalogException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.persistence.EntityManager; -import javax.persistence.Query; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class ModuleLoadCmdAppCatalogResourceAppCat extends AppCatAbstractResource { - private final static Logger logger = LoggerFactory.getLogger(ModuleLoadCmdAppCatalogResourceAppCat.class); - private String cmd; - private String appDeploymentId; - private AppDeploymentAppCatalogResourceAppCat appDeploymentResource; - - @Override - public void remove(Object identifier) throws AppCatalogException { - HashMap<String, String> ids; - if (identifier instanceof Map) { - ids = (HashMap<String, String>) identifier; - } else { - logger.error("Identifier should be a map with the field name and it's value"); - throw new AppCatalogException("Identifier should be a map with the field name and it's value"); - } - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(MODULE_LOAD_CMD); - generator.setParameter(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID, ids.get(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID)); - if (ids.get(ModuleLoadCmdConstants.CMD) != null){ - generator.setParameter(ModuleLoadCmdConstants.CMD, ids.get(ModuleLoadCmdConstants.CMD)); - } - 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(); - } - } - } - - @Override - public AppCatalogResource get(Object identifier) throws AppCatalogException { - HashMap<String, String> ids; - if (identifier instanceof Map) { - ids = (HashMap<String, String>) identifier; - } else { - logger.error("Identifier should be a map with the field name and it's value"); - throw new AppCatalogException("Identifier should be a map with the field name and it's value"); - } - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(MODULE_LOAD_CMD); - generator.setParameter(ModuleLoadCmdConstants.CMD, ids.get(ModuleLoadCmdConstants.CMD)); - generator.setParameter(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID, ids.get(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID)); - Query q = generator.selectQuery(em); - ModuleLoadCmd moduleLoadCmd = (ModuleLoadCmd) q.getSingleResult(); - ModuleLoadCmdAppCatalogResourceAppCat moduleLoadCmdResource = (ModuleLoadCmdAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.MODULE_LOAD_CMD, moduleLoadCmd); - em.getTransaction().commit(); - em.close(); - return moduleLoadCmdResource; - } 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(); - } - } - } - - @Override - public List<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException { - List<AppCatalogResource> moduleLoadCmdResources = new ArrayList<AppCatalogResource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(MODULE_LOAD_CMD); - Query q; - if ((fieldName.equals(ModuleLoadCmdConstants.CMD)) || (fieldName.equals(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - ModuleLoadCmd moduleLoadCmd = (ModuleLoadCmd) result; - ModuleLoadCmdAppCatalogResourceAppCat moduleLoadCmdResource = (ModuleLoadCmdAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.MODULE_LOAD_CMD, moduleLoadCmd); - moduleLoadCmdResources.add(moduleLoadCmdResource); - } - } else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Module Load Cmd Resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Module Load Cmd Resource."); - } - 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(); - } - } - return moduleLoadCmdResources; - } - - @Override - public List<AppCatalogResource> getAll() throws AppCatalogException { - return null; - } - - @Override - public List<String> getAllIds() throws AppCatalogException { - return null; - } - - @Override - public List<String> getIds(String fieldName, Object value) throws AppCatalogException { - List<String> moduleLoadCmdResourceIDs = new ArrayList<String>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(MODULE_LOAD_CMD); - Query q; - if ((fieldName.equals(ModuleLoadCmdConstants.CMD)) || (fieldName.equals(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - ModuleLoadCmd moduleLoadCmd = (ModuleLoadCmd) result; - ModuleLoadCmdAppCatalogResourceAppCat moduleLoadCmdResource = (ModuleLoadCmdAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.MODULE_LOAD_CMD, moduleLoadCmd); - moduleLoadCmdResourceIDs.add(moduleLoadCmdResource.getAppDeploymentId()); - } - } else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Module Load Cmd Resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Module Load Cmd Resource."); - } - 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(); - } - } - return moduleLoadCmdResourceIDs; - } - - @Override - public void save() throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - ModuleLoadCmd existingModuleLoadCmd = em.find(ModuleLoadCmd.class, new ModuleLoadCmd_PK(cmd, appDeploymentId)); - em.close(); - ModuleLoadCmd moduleLoadCmd; - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingModuleLoadCmd == null) { - moduleLoadCmd = new ModuleLoadCmd(); - } else { - moduleLoadCmd = existingModuleLoadCmd; - } - moduleLoadCmd.setCmd(getCmd()); - moduleLoadCmd.setAppDeploymentId(getAppDeploymentId()); - ApplicationDeployment applicationDeployment = em.find(ApplicationDeployment.class, getAppDeploymentId()); - moduleLoadCmd.setApplicationDeployment(applicationDeployment); - if (existingModuleLoadCmd == null) { - em.persist(moduleLoadCmd); - } else { - em.merge(moduleLoadCmd); - } - em.getTransaction().commit(); - em.close(); - } catch (Exception 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(); - } - } - } - - @Override - public boolean isExists(Object identifier) throws AppCatalogException { - HashMap<String, String> ids; - if (identifier instanceof Map) { - ids = (HashMap<String, String>) identifier; - } else { - logger.error("Identifier should be a map with the field name and it's value"); - throw new AppCatalogException("Identifier should be a map with the field name and it's value"); - } - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - ModuleLoadCmd moduleLoadCmd = em.find(ModuleLoadCmd.class, new ModuleLoadCmd_PK(ids.get(ModuleLoadCmdConstants.CMD), ids.get(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID))); - em.close(); - return moduleLoadCmd != null; - } 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 String getCmd() { - return cmd; - } - - public String getAppDeploymentId() { - return appDeploymentId; - } - - public AppDeploymentAppCatalogResourceAppCat getAppDeploymentResource() { - return appDeploymentResource; - } - - public void setCmd(String cmd) { - this.cmd=cmd; - } - - public void setAppDeploymentId(String appDeploymentId) { - this.appDeploymentId=appDeploymentId; - } - - public void setAppDeploymentResource(AppDeploymentAppCatalogResourceAppCat appDeploymentResource) { - this.appDeploymentResource=appDeploymentResource; - } -} - - http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ModuleLoadCmdResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ModuleLoadCmdResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ModuleLoadCmdResource.java new file mode 100644 index 0000000..43c6106 --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ModuleLoadCmdResource.java @@ -0,0 +1,300 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +package org.apache.airavata.registry.core.app.catalog.resources; + +import org.apache.airavata.common.exception.ApplicationSettingsException; +import org.apache.airavata.registry.core.app.catalog.model.ApplicationDeployment; +import org.apache.airavata.registry.core.app.catalog.model.ModuleLoadCmd; +import org.apache.airavata.registry.core.app.catalog.model.ModuleLoadCmd_PK; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogJPAUtils; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogQueryGenerator; +import org.apache.airavata.registry.core.app.catalog.util.AppCatalogResourceType; +import org.apache.airavata.registry.cpi.AppCatalogException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class ModuleLoadCmdResource extends AppCatAbstractResource { + private final static Logger logger = LoggerFactory.getLogger(ModuleLoadCmdResource.class); + private String cmd; + private String appDeploymentId; + private AppDeploymentResource appDeploymentResource; + + @Override + public void remove(Object identifier) throws AppCatalogException { + HashMap<String, String> ids; + if (identifier instanceof Map) { + ids = (HashMap<String, String>) identifier; + } else { + logger.error("Identifier should be a map with the field name and it's value"); + throw new AppCatalogException("Identifier should be a map with the field name and it's value"); + } + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(MODULE_LOAD_CMD); + generator.setParameter(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID, ids.get(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID)); + if (ids.get(ModuleLoadCmdConstants.CMD) != null){ + generator.setParameter(ModuleLoadCmdConstants.CMD, ids.get(ModuleLoadCmdConstants.CMD)); + } + 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(); + } + } + } + + @Override + public AppCatalogResource get(Object identifier) throws AppCatalogException { + HashMap<String, String> ids; + if (identifier instanceof Map) { + ids = (HashMap<String, String>) identifier; + } else { + logger.error("Identifier should be a map with the field name and it's value"); + throw new AppCatalogException("Identifier should be a map with the field name and it's value"); + } + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(MODULE_LOAD_CMD); + generator.setParameter(ModuleLoadCmdConstants.CMD, ids.get(ModuleLoadCmdConstants.CMD)); + generator.setParameter(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID, ids.get(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID)); + Query q = generator.selectQuery(em); + ModuleLoadCmd moduleLoadCmd = (ModuleLoadCmd) q.getSingleResult(); + ModuleLoadCmdResource moduleLoadCmdResource = (ModuleLoadCmdResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.MODULE_LOAD_CMD, moduleLoadCmd); + em.getTransaction().commit(); + em.close(); + return moduleLoadCmdResource; + } 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(); + } + } + } + + @Override + public List<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException { + List<AppCatalogResource> moduleLoadCmdResources = new ArrayList<AppCatalogResource>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(MODULE_LOAD_CMD); + Query q; + if ((fieldName.equals(ModuleLoadCmdConstants.CMD)) || (fieldName.equals(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID))) { + generator.setParameter(fieldName, value); + q = generator.selectQuery(em); + List<?> results = q.getResultList(); + for (Object result : results) { + ModuleLoadCmd moduleLoadCmd = (ModuleLoadCmd) result; + ModuleLoadCmdResource moduleLoadCmdResource = (ModuleLoadCmdResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.MODULE_LOAD_CMD, moduleLoadCmd); + moduleLoadCmdResources.add(moduleLoadCmdResource); + } + } else { + em.getTransaction().commit(); + em.close(); + logger.error("Unsupported field name for Module Load Cmd Resource.", new IllegalArgumentException()); + throw new IllegalArgumentException("Unsupported field name for Module Load Cmd Resource."); + } + 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(); + } + } + return moduleLoadCmdResources; + } + + @Override + public List<AppCatalogResource> getAll() throws AppCatalogException { + return null; + } + + @Override + public List<String> getAllIds() throws AppCatalogException { + return null; + } + + @Override + public List<String> getIds(String fieldName, Object value) throws AppCatalogException { + List<String> moduleLoadCmdResourceIDs = new ArrayList<String>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(MODULE_LOAD_CMD); + Query q; + if ((fieldName.equals(ModuleLoadCmdConstants.CMD)) || (fieldName.equals(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID))) { + generator.setParameter(fieldName, value); + q = generator.selectQuery(em); + List<?> results = q.getResultList(); + for (Object result : results) { + ModuleLoadCmd moduleLoadCmd = (ModuleLoadCmd) result; + ModuleLoadCmdResource moduleLoadCmdResource = (ModuleLoadCmdResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.MODULE_LOAD_CMD, moduleLoadCmd); + moduleLoadCmdResourceIDs.add(moduleLoadCmdResource.getAppDeploymentId()); + } + } else { + em.getTransaction().commit(); + em.close(); + logger.error("Unsupported field name for Module Load Cmd Resource.", new IllegalArgumentException()); + throw new IllegalArgumentException("Unsupported field name for Module Load Cmd Resource."); + } + 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(); + } + } + return moduleLoadCmdResourceIDs; + } + + @Override + public void save() throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + ModuleLoadCmd existingModuleLoadCmd = em.find(ModuleLoadCmd.class, new ModuleLoadCmd_PK(cmd, appDeploymentId)); + em.close(); + ModuleLoadCmd moduleLoadCmd; + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + if (existingModuleLoadCmd == null) { + moduleLoadCmd = new ModuleLoadCmd(); + } else { + moduleLoadCmd = existingModuleLoadCmd; + } + moduleLoadCmd.setCmd(getCmd()); + moduleLoadCmd.setAppDeploymentId(getAppDeploymentId()); + ApplicationDeployment applicationDeployment = em.find(ApplicationDeployment.class, getAppDeploymentId()); + moduleLoadCmd.setApplicationDeployment(applicationDeployment); + if (existingModuleLoadCmd == null) { + em.persist(moduleLoadCmd); + } else { + em.merge(moduleLoadCmd); + } + em.getTransaction().commit(); + em.close(); + } catch (Exception 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(); + } + } + } + + @Override + public boolean isExists(Object identifier) throws AppCatalogException { + HashMap<String, String> ids; + if (identifier instanceof Map) { + ids = (HashMap<String, String>) identifier; + } else { + logger.error("Identifier should be a map with the field name and it's value"); + throw new AppCatalogException("Identifier should be a map with the field name and it's value"); + } + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + ModuleLoadCmd moduleLoadCmd = em.find(ModuleLoadCmd.class, new ModuleLoadCmd_PK(ids.get(ModuleLoadCmdConstants.CMD), ids.get(ModuleLoadCmdConstants.APP_DEPLOYMENT_ID))); + em.close(); + return moduleLoadCmd != null; + } 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 String getCmd() { + return cmd; + } + + public String getAppDeploymentId() { + return appDeploymentId; + } + + public AppDeploymentResource getAppDeploymentResource() { + return appDeploymentResource; + } + + public void setCmd(String cmd) { + this.cmd=cmd; + } + + public void setAppDeploymentId(String appDeploymentId) { + this.appDeploymentId=appDeploymentId; + } + + public void setAppDeploymentResource(AppDeploymentResource appDeploymentResource) { + this.appDeploymentResource=appDeploymentResource; + } +} + +
