http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/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 deleted file mode 100644 index feac711..0000000 --- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationOutputResource.java +++ /dev/null @@ -1,432 +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.aiaravata.application.catalog.data.resources; - -import org.airavata.appcatalog.cpi.AppCatalogException; -import org.apache.aiaravata.application.catalog.data.model.AppOutput_PK; -import org.apache.aiaravata.application.catalog.data.model.ApplicationInterface; -import org.apache.aiaravata.application.catalog.data.model.ApplicationOutput; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogResourceType; -import org.apache.airavata.common.exception.ApplicationSettingsException; -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 ApplicationOutputResource extends AbstractResource { - private final static Logger logger = LoggerFactory.getLogger(ApplicationOutputResource.class); - - private String interfaceID; - private String outputKey; - private String outputVal; - private String dataType; - private boolean isRequired; - private boolean dataMovement; - private String dataNameLocation; - private boolean requiredToCMD; - private String searchQuery; - private String appArgument; - - private AppInterfaceResource appInterfaceResource; - - 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(APPLICATION_OUTPUT); - generator.setParameter(AppOutputConstants.INTERFACE_ID, ids.get(AppOutputConstants.INTERFACE_ID)); - 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(); - 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 Resource 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(APPLICATION_OUTPUT); - generator.setParameter(AppOutputConstants.INTERFACE_ID, ids.get(AppOutputConstants.INTERFACE_ID)); - generator.setParameter(AppOutputConstants.OUTPUT_KEY, ids.get(AppOutputConstants.OUTPUT_KEY)); - Query q = generator.selectQuery(em); - ApplicationOutput applicationOutput = (ApplicationOutput) q.getSingleResult(); - ApplicationOutputResource applicationOutputResource = - (ApplicationOutputResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.APPLICATION_OUTPUT - , applicationOutput); - em.getTransaction().commit(); - em.close(); - return applicationOutputResource; - } 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 List<Resource> get(String fieldName, Object value) throws AppCatalogException { - List<Resource> appInputResources = new ArrayList<Resource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - Query q; - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(APPLICATION_OUTPUT); - List results; - if (fieldName.equals(AppOutputConstants.INTERFACE_ID)) { - generator.setParameter(AppOutputConstants.INTERFACE_ID, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ApplicationOutput applicationOutput = (ApplicationOutput) result; - ApplicationOutputResource applicationOutputResource = - (ApplicationOutputResource) AppCatalogJPAUtils.getResource( - AppCatalogResourceType.APPLICATION_OUTPUT, applicationOutput); - appInputResources.add(applicationOutputResource); - } - } - } else if (fieldName.equals(AppOutputConstants.OUTPUT_KEY)) { - generator.setParameter(AppOutputConstants.OUTPUT_KEY, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ApplicationOutput applicationOutput = (ApplicationOutput) result; - ApplicationOutputResource applicationOutputResource = - (ApplicationOutputResource) AppCatalogJPAUtils.getResource( - AppCatalogResourceType.APPLICATION_OUTPUT, applicationOutput); - appInputResources.add(applicationOutputResource); - } - } - } else if (fieldName.equals(AppOutputConstants.DATA_TYPE)) { - generator.setParameter(AppOutputConstants.DATA_TYPE, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ApplicationOutput applicationOutput = (ApplicationOutput) result; - ApplicationOutputResource applicationOutputResource = - (ApplicationOutputResource) AppCatalogJPAUtils.getResource( - AppCatalogResourceType.APPLICATION_OUTPUT, applicationOutput); - appInputResources.add(applicationOutputResource); - } - } - } else { - em.getTransaction().commit(); - 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(); - } 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 appInputResources; - } - - @Override - public List<Resource> getAll() throws AppCatalogException { - return null; - } - - @Override - public List<String> getAllIds() throws AppCatalogException { - return null; - } - - public List<String> getIds(String fieldName, Object value) throws AppCatalogException { - List<String> appOutputResourceIDs = new ArrayList<String>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - Query q; - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(APPLICATION_OUTPUT); - List results; - if (fieldName.equals(AppOutputConstants.INTERFACE_ID)) { - generator.setParameter(AppOutputConstants.INTERFACE_ID, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ApplicationOutput applicationOutput = (ApplicationOutput) result; - appOutputResourceIDs.add(applicationOutput.getInterfaceID()); - } - } - } - if (fieldName.equals(AppOutputConstants.OUTPUT_KEY)) { - generator.setParameter(AppOutputConstants.OUTPUT_KEY, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ApplicationOutput applicationOutput = (ApplicationOutput) result; - appOutputResourceIDs.add(applicationOutput.getInterfaceID()); - } - } - } else if (fieldName.equals(AppOutputConstants.DATA_TYPE)) { - generator.setParameter(AppOutputConstants.DATA_TYPE, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ApplicationOutput applicationOutput = (ApplicationOutput) result; - appOutputResourceIDs.add(applicationOutput.getInterfaceID()); - } - } - } else { - em.getTransaction().commit(); - 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(); - } 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 appOutputResourceIDs; - } - - public void save() throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - ApplicationOutput existingApplicationOutput = em.find(ApplicationOutput.class, - new AppOutput_PK(interfaceID, outputKey)); - em.close(); - - ApplicationOutput applicationOutput; - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingApplicationOutput == null) { - applicationOutput = new ApplicationOutput(); - } else { - applicationOutput = existingApplicationOutput; - } - ApplicationInterface applicationInterface = em.find(ApplicationInterface.class, interfaceID); - applicationOutput.setApplicationInterface(applicationInterface); - applicationOutput.setInterfaceID(applicationInterface.getInterfaceID()); - applicationOutput.setDataType(dataType); - applicationOutput.setOutputKey(outputKey); - applicationOutput.setOutputVal(outputVal); - applicationOutput.setRequired(isRequired); - applicationOutput.setRequiredToCMD(requiredToCMD); - applicationOutput.setDataMovement(dataMovement); - applicationOutput.setDataNameLocation(dataNameLocation); - applicationOutput.setSearchQuery(searchQuery); - applicationOutput.setApplicationArgument(appArgument); - em.merge(applicationOutput); - 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(); - } - } - } - - 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(); - ApplicationOutput applicationOutput = em.find(ApplicationOutput.class, new AppOutput_PK( - ids.get(AppOutputConstants.INTERFACE_ID), - ids.get(AppOutputConstants.OUTPUT_KEY))); - - em.close(); - return applicationOutput != 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 getInterfaceID() { - return interfaceID; - } - - public void setInterfaceID(String interfaceID) { - this.interfaceID = interfaceID; - } - - public String getOutputKey() { - return outputKey; - } - - public void setOutputKey(String outputKey) { - this.outputKey = outputKey; - } - - public String getOutputVal() { - return outputVal; - } - - public void setOutputVal(String outputVal) { - this.outputVal = outputVal; - } - - public String getDataType() { - return dataType; - } - - public void setDataType(String dataType) { - this.dataType = dataType; - } - - public AppInterfaceResource getAppInterfaceResource() { - return appInterfaceResource; - } - - public void setAppInterfaceResource(AppInterfaceResource appInterfaceResource) { - this.appInterfaceResource = appInterfaceResource; - } - - public boolean getRequired() { - return isRequired; - } - - public void setRequired(boolean required) { - this.isRequired = required; - } - - public boolean isDataMovement() { - return dataMovement; - } - - public void setDataMovement(boolean dataMovement) { - this.dataMovement = dataMovement; - } - - public String getDataNameLocation() { - return dataNameLocation; - } - - public void setDataNameLocation(String dataNameLocation) { - this.dataNameLocation = dataNameLocation; - } - - public boolean getRequiredToCMD() { - return requiredToCMD; - } - - public void setRequiredToCMD(boolean requiredToCMD) { - this.requiredToCMD = requiredToCMD; - } - - public String getSearchQuery() { - return searchQuery; - } - - public void setSearchQuery(String searchQuery) { - this.searchQuery = searchQuery; - } - - public String getAppArgument() { - return appArgument; - } - - public void setAppArgument(String appArgument) { - this.appArgument = appArgument; - } -}
http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/BatchQueueResource.java ---------------------------------------------------------------------- diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/BatchQueueResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/BatchQueueResource.java deleted file mode 100644 index e7f5bff..0000000 --- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/BatchQueueResource.java +++ /dev/null @@ -1,357 +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.aiaravata.application.catalog.data.resources; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.persistence.EntityManager; -import javax.persistence.Query; - -import org.airavata.appcatalog.cpi.AppCatalogException; -import org.apache.aiaravata.application.catalog.data.model.BatchQueue; -import org.apache.aiaravata.application.catalog.data.model.BatchQueue_PK; -import org.apache.aiaravata.application.catalog.data.model.ComputeResource; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogResourceType; -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class BatchQueueResource extends AbstractResource { - private final static Logger logger = LoggerFactory.getLogger(BatchQueueResource.class); - private String computeResourceId; - private ComputeResourceResource computeHostResource; - private int maxRuntime; - private int maxJobInQueue; - private String queueDescription; - private String queueName; - private int maxProcessors; - private int maxNodes; - private int maxMemory; - - @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(BATCH_QUEUE); - generator.setParameter(BatchQueueConstants.COMPUTE_RESOURCE_ID, ids.get(BatchQueueConstants.COMPUTE_RESOURCE_ID)); - generator.setParameter(BatchQueueConstants.QUEUE_NAME, ids.get(BatchQueueConstants.QUEUE_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 Resource 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(BATCH_QUEUE); - generator.setParameter(BatchQueueConstants.COMPUTE_RESOURCE_ID, ids.get(BatchQueueConstants.COMPUTE_RESOURCE_ID)); - generator.setParameter(BatchQueueConstants.QUEUE_NAME, ids.get(BatchQueueConstants.QUEUE_NAME)); - Query q = generator.selectQuery(em); - BatchQueue batchQueue = (BatchQueue) q.getSingleResult(); - BatchQueueResource batchQueueResource = (BatchQueueResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.BATCH_QUEUE, batchQueue); - em.getTransaction().commit(); - em.close(); - return batchQueueResource; - } 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<Resource> get(String fieldName, Object value) throws AppCatalogException { - List<Resource> batchQueueResources = new ArrayList<Resource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(BATCH_QUEUE); - Query q; - if ((fieldName.equals(BatchQueueConstants.COMPUTE_RESOURCE_ID)) || (fieldName.equals(BatchQueueConstants.MAX_RUNTIME)) || (fieldName.equals(BatchQueueConstants.MAX_JOB_IN_QUEUE)) || (fieldName.equals(BatchQueueConstants.QUEUE_DESCRIPTION)) || (fieldName.equals(BatchQueueConstants.QUEUE_NAME)) || (fieldName.equals(BatchQueueConstants.MAX_PROCESSORS)) || (fieldName.equals(BatchQueueConstants.MAX_NODES))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - BatchQueue batchQueue = (BatchQueue) result; - BatchQueueResource batchQueueResource = (BatchQueueResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.BATCH_QUEUE, batchQueue); - batchQueueResources.add(batchQueueResource); - } - } else { - em.getTransaction().commit(); - 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(); - } 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 batchQueueResources; - } - - @Override - public List<Resource> 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> batchQueueResourceIDs = new ArrayList<String>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(BATCH_QUEUE); - Query q; - if ((fieldName.equals(BatchQueueConstants.COMPUTE_RESOURCE_ID)) || (fieldName.equals(BatchQueueConstants.MAX_RUNTIME)) || (fieldName.equals(BatchQueueConstants.MAX_JOB_IN_QUEUE)) || (fieldName.equals(BatchQueueConstants.QUEUE_DESCRIPTION)) || (fieldName.equals(BatchQueueConstants.QUEUE_NAME)) || (fieldName.equals(BatchQueueConstants.MAX_PROCESSORS)) || (fieldName.equals(BatchQueueConstants.MAX_NODES))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - BatchQueue batchQueue = (BatchQueue) result; - BatchQueueResource batchQueueResource = (BatchQueueResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.BATCH_QUEUE, batchQueue); - batchQueueResourceIDs.add(batchQueueResource.getComputeResourceId()); - } - } else { - em.getTransaction().commit(); - 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(); - } 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 batchQueueResourceIDs; - } - - @Override - public void save() throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - BatchQueue existingBatchQueue = em.find(BatchQueue.class, new BatchQueue_PK(computeResourceId, queueName)); - em.close(); - BatchQueue batchQueue; - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingBatchQueue == null) { - batchQueue = new BatchQueue(); - } else { - batchQueue = existingBatchQueue; - } - batchQueue.setComputeResourceId(getComputeResourceId()); - ComputeResource computeResource = em.find(ComputeResource.class, getComputeResourceId()); - batchQueue.setComputeResource(computeResource); - batchQueue.setMaxRuntime(getMaxRuntime()); - batchQueue.setMaxJobInQueue(getMaxJobInQueue()); - batchQueue.setQueueDescription(getQueueDescription()); - batchQueue.setQueueName(getQueueName()); - batchQueue.setMaxProcessors(getMaxProcessors()); - batchQueue.setMaxNodes(getMaxNodes()); - batchQueue.setMaxMemory(getMaxMemory()); - if (existingBatchQueue == null) { - em.persist(batchQueue); - } else { - em.merge(batchQueue); - } - 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(); - BatchQueue batchQueue = em.find(BatchQueue.class, new BatchQueue_PK(ids.get(BatchQueueConstants.COMPUTE_RESOURCE_ID), ids.get(BatchQueueConstants.QUEUE_NAME))); - em.close(); - return batchQueue != 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 getComputeResourceId() { - return computeResourceId; - } - - public ComputeResourceResource getComputeHostResource() { - return computeHostResource; - } - - public int getMaxRuntime() { - return maxRuntime; - } - - public int getMaxJobInQueue() { - return maxJobInQueue; - } - - public String getQueueDescription() { - return queueDescription; - } - - public String getQueueName() { - return queueName; - } - - public int getMaxProcessors() { - return maxProcessors; - } - - public int getMaxNodes() { - return maxNodes; - } - - public void setComputeResourceId(String computeResourceId) { - this.computeResourceId=computeResourceId; - } - - public void setComputeHostResource(ComputeResourceResource computeHostResource) { - this.computeHostResource=computeHostResource; - } - - public void setMaxRuntime(int maxRuntime) { - this.maxRuntime=maxRuntime; - } - - public void setMaxJobInQueue(int maxJobInQueue) { - this.maxJobInQueue=maxJobInQueue; - } - - public void setQueueDescription(String queueDescription) { - this.queueDescription=queueDescription; - } - - public void setQueueName(String queueName) { - this.queueName=queueName; - } - - public void setMaxProcessors(int maxProcessors) { - this.maxProcessors=maxProcessors; - } - - public void setMaxNodes(int maxNodes) { - this.maxNodes=maxNodes; - } - - public int getMaxMemory() { - return maxMemory; - } - - public void setMaxMemory(int maxMemory) { - this.maxMemory = maxMemory; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/CloudSubmissionResource.java ---------------------------------------------------------------------- diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/CloudSubmissionResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/CloudSubmissionResource.java deleted file mode 100644 index 4f261f1..0000000 --- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/CloudSubmissionResource.java +++ /dev/null @@ -1,299 +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.aiaravata.application.catalog.data.resources; - -import org.airavata.appcatalog.cpi.AppCatalogException; -import org.apache.aiaravata.application.catalog.data.model.CloudJobSubmission; -import org.apache.aiaravata.application.catalog.data.model.ResourceJobManager; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogResourceType; -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.persistence.EntityManager; -import javax.persistence.Query; -import java.util.ArrayList; -import java.util.List; - -public class CloudSubmissionResource extends AbstractResource { - private final static Logger logger = LoggerFactory.getLogger(LocalSubmissionResource.class); - private String jobSubmissionInterfaceId; - private String securityProtocol; - private String nodeId; - private String executableType; - private String providerName; - private String userAccountName; - - @Override - public void remove(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(CLOUD_JOB_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 Resource get(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(CLOUD_JOB_SUBMISSION); - generator.setParameter(LocalSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID, identifier); - Query q = generator.selectQuery(em); - CloudJobSubmission cloudJobSubmission = (CloudJobSubmission) q.getSingleResult(); - CloudSubmissionResource localSubmissionResource = (CloudSubmissionResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.ClOUD_SUBMISSION, cloudJobSubmission); - 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<Resource> get(String fieldName, Object value) throws AppCatalogException { - List<Resource> localSubmissionResources = new ArrayList<Resource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(CLOUD_JOB_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) { - CloudJobSubmission localSubmission = (CloudJobSubmission) result; - CloudSubmissionResource localSubmissionResource = (CloudSubmissionResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.ClOUD_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<Resource> 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(CLOUD_JOB_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) { - CloudJobSubmission localSubmission = (CloudJobSubmission) result; - LocalSubmissionResource localSubmissionResource = (LocalSubmissionResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.ClOUD_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(); - CloudJobSubmission existingLocalSubmission = em.find(CloudJobSubmission.class, jobSubmissionInterfaceId); - em.close(); - CloudJobSubmission cloudJobSubmission; - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingLocalSubmission == null) { - cloudJobSubmission = new CloudJobSubmission(); - } else { - cloudJobSubmission = existingLocalSubmission; - } - cloudJobSubmission.setExecutableType(getExecutableType()); - cloudJobSubmission.setNodeId(getNodeId()); - cloudJobSubmission.setJobSubmissionInterfaceId(getJobSubmissionInterfaceId()); - cloudJobSubmission.setSecurityProtocol(getSecurityProtocol()); - cloudJobSubmission.setJobSubmissionInterfaceId(getJobSubmissionInterfaceId()); - cloudJobSubmission.setUserAccountName(getUserAccountName()); - cloudJobSubmission.setProviderName(getProviderName()); - if (existingLocalSubmission == null) { - em.persist(cloudJobSubmission); - } else { - em.merge(cloudJobSubmission); - } - 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(); - CloudJobSubmission localSubmission = em.find(CloudJobSubmission.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 getJobSubmissionInterfaceId() { - return jobSubmissionInterfaceId; - } - - public String getSecurityProtocol() { - return securityProtocol; - } - - public void setSecurityProtocol(String securityProtocol) { - this.securityProtocol = securityProtocol; - } - - public String getNodeId() { - return nodeId; - } - - public void setNodeId(String nodeId) { - this.nodeId = nodeId; - } - - public String getExecutableType() { - return executableType; - } - - public void setExecutableType(String executableType) { - this.executableType = executableType; - } - - public String getProviderName() { - return providerName; - } - - public void setProviderName(String providerName) { - this.providerName = providerName; - } - - public String getUserAccountName() { - return userAccountName; - } - - public void setUserAccountName(String userAccountName) { - this.userAccountName = userAccountName; - } - - public void setJobSubmissionInterfaceId(String jobSubmissionInterfaceId) { - this.jobSubmissionInterfaceId=jobSubmissionInterfaceId; - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeHostPreferenceResource.java ---------------------------------------------------------------------- diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeHostPreferenceResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeHostPreferenceResource.java deleted file mode 100644 index 51f22d5..0000000 --- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeHostPreferenceResource.java +++ /dev/null @@ -1,413 +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.aiaravata.application.catalog.data.resources; - -import org.airavata.appcatalog.cpi.AppCatalogException; -import org.apache.aiaravata.application.catalog.data.model.ComputeResource; -import org.apache.aiaravata.application.catalog.data.model.ComputeResourcePreference; -import org.apache.aiaravata.application.catalog.data.model.ComputeResourcePreferencePK; -import org.apache.aiaravata.application.catalog.data.model.GatewayProfile; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogResourceType; -import org.apache.airavata.common.exception.ApplicationSettingsException; -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 ComputeHostPreferenceResource extends AbstractResource { - private final static Logger logger = LoggerFactory.getLogger(ComputeHostPreferenceResource.class); - private String gatewayId; - private String resourceId; - private boolean overrideByAiravata; - private String preferredJobProtocol; - private String preferedDMProtocol; - private String batchQueue; - private String scratchLocation; - private String projectNumber; - private String loginUserName; - - private GatewayProfileResource gatewayProfile; - private ComputeResourceResource computeHostResource; - - public String getLoginUserName() { - return loginUserName; - } - - public void setLoginUserName(String loginUserName) { - this.loginUserName = loginUserName; - } - - public String getGatewayId() { - return gatewayId; - } - - public void setGatewayId(String gatewayId) { - this.gatewayId = gatewayId; - } - - public String getResourceId() { - return resourceId; - } - - public void setResourceId(String resourceId) { - this.resourceId = resourceId; - } - - public boolean getOverrideByAiravata() { - return overrideByAiravata; - } - - public void setOverrideByAiravata(boolean overrideByAiravata) { - this.overrideByAiravata = overrideByAiravata; - } - - public String getPreferredJobProtocol() { - return preferredJobProtocol; - } - - public void setPreferredJobProtocol(String preferredJobProtocol) { - this.preferredJobProtocol = preferredJobProtocol; - } - - public String getPreferedDMProtocol() { - return preferedDMProtocol; - } - - public void setPreferedDMProtocol(String preferedDMProtocol) { - this.preferedDMProtocol = preferedDMProtocol; - } - - public String getBatchQueue() { - return batchQueue; - } - - public void setBatchQueue(String batchQueue) { - this.batchQueue = batchQueue; - } - - public String getScratchLocation() { - return scratchLocation; - } - - public void setScratchLocation(String scratchLocation) { - this.scratchLocation = scratchLocation; - } - - public String getProjectNumber() { - return projectNumber; - } - - public void setProjectNumber(String projectNumber) { - this.projectNumber = projectNumber; - } - - public GatewayProfileResource getGatewayProfile() { - return gatewayProfile; - } - - public void setGatewayProfile(GatewayProfileResource gatewayProfile) { - this.gatewayProfile = gatewayProfile; - } - - public ComputeResourceResource getComputeHostResource() { - return computeHostResource; - } - - public void setComputeHostResource(ComputeResourceResource computeHostResource) { - this.computeHostResource = computeHostResource; - } - - @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(COMPUTE_RESOURCE_PREFERENCE); - generator.setParameter(ComputeResourcePreferenceConstants.RESOURCE_ID, ids.get(ComputeResourcePreferenceConstants.RESOURCE_ID)); - generator.setParameter(ComputeResourcePreferenceConstants.GATEWAY_ID, ids.get(ComputeResourcePreferenceConstants.GATEWAY_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(); - } - } - } - - @Override - public Resource 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(COMPUTE_RESOURCE_PREFERENCE); - generator.setParameter(ComputeResourcePreferenceConstants.GATEWAY_ID, ids.get(ComputeResourcePreferenceConstants.GATEWAY_ID)); - generator.setParameter(ComputeResourcePreferenceConstants.RESOURCE_ID, ids.get(ComputeResourcePreferenceConstants.RESOURCE_ID)); - Query q = generator.selectQuery(em); - ComputeResourcePreference preference = (ComputeResourcePreference) q.getSingleResult(); - ComputeHostPreferenceResource preferenceResource = - (ComputeHostPreferenceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, preference); - em.getTransaction().commit(); - em.close(); - return preferenceResource; - } 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<Resource> get(String fieldName, Object value) throws AppCatalogException { - List<Resource> preferenceResourceList = new ArrayList<Resource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - Query q; - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(COMPUTE_RESOURCE_PREFERENCE); - List results; - if (fieldName.equals(ComputeResourcePreferenceConstants.RESOURCE_ID)) { - generator.setParameter(ComputeResourcePreferenceConstants.RESOURCE_ID, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ComputeResourcePreference preference = (ComputeResourcePreference) result; - if (preference.getComputeHostResource()!=null) { - ComputeHostPreferenceResource preferenceResource = (ComputeHostPreferenceResource) AppCatalogJPAUtils - .getResource( - AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, - preference); - preferenceResourceList.add(preferenceResource); - } - } - } - } else if (fieldName.equals(ComputeResourcePreferenceConstants.GATEWAY_ID)) { - generator.setParameter(ComputeResourcePreferenceConstants.GATEWAY_ID, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ComputeResourcePreference preference = (ComputeResourcePreference) result; - if (preference.getComputeHostResource()!=null) { - ComputeHostPreferenceResource preferenceResource = - (ComputeHostPreferenceResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, preference); - preferenceResourceList.add(preferenceResource); - } - } - } - } else if (fieldName.equals(ComputeResourcePreferenceConstants.PREFERED_JOB_SUB_PROTOCOL)) { - generator.setParameter(ComputeResourcePreferenceConstants.PREFERED_JOB_SUB_PROTOCOL, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ComputeResourcePreference preference = (ComputeResourcePreference) result; - if (preference.getComputeHostResource()!=null) { - ComputeHostPreferenceResource preferenceResource = (ComputeHostPreferenceResource) AppCatalogJPAUtils - .getResource( - AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, - preference); - preferenceResourceList.add(preferenceResource); - } - } - } - } else if (fieldName.equals(ComputeResourcePreferenceConstants.PREFERED_DATA_MOVE_PROTOCOL)) { - generator.setParameter(ComputeResourcePreferenceConstants.PREFERED_DATA_MOVE_PROTOCOL, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ComputeResourcePreference preference = (ComputeResourcePreference) result; - if (preference.getResourceId()!=null) { - ComputeHostPreferenceResource preferenceResource = (ComputeHostPreferenceResource) AppCatalogJPAUtils - .getResource( - AppCatalogResourceType.COMPUTE_RESOURCE_PREFERENCE, - preference); - preferenceResourceList.add(preferenceResource); - } - } - } - } else { - em.getTransaction().commit(); - 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(); - } 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 preferenceResourceList; - } - - @Override - public List<Resource> 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(); - ComputeResourcePreference existingPreference = em.find(ComputeResourcePreference.class, new ComputeResourcePreferencePK(gatewayId, resourceId)); - em.close(); - - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - ComputeResource computeResource = em.find(ComputeResource.class, resourceId); - GatewayProfile gatewayProf = em.find(GatewayProfile.class, gatewayId); - if (existingPreference != null) { - existingPreference.setResourceId(resourceId); - existingPreference.setGatewayId(gatewayId); - existingPreference.setComputeHostResource(computeResource); - existingPreference.setGatewayProfile(gatewayProf); - existingPreference.setOverrideByAiravata(overrideByAiravata); - existingPreference.setPreferedJobSubmissionProtocol(preferredJobProtocol); - existingPreference.setPreferedDataMoveProtocol(preferedDMProtocol); - existingPreference.setScratchLocation(scratchLocation); - existingPreference.setProjectNumber(projectNumber); - existingPreference.setBatchQueue(batchQueue); - existingPreference.setLoginUserName(loginUserName); - em.merge(existingPreference); - } else { - ComputeResourcePreference resourcePreference = new ComputeResourcePreference(); - resourcePreference.setResourceId(resourceId); - resourcePreference.setGatewayId(gatewayId); - resourcePreference.setComputeHostResource(computeResource); - resourcePreference.setGatewayProfile(gatewayProf); - resourcePreference.setOverrideByAiravata(overrideByAiravata); - resourcePreference.setPreferedJobSubmissionProtocol(preferredJobProtocol); - resourcePreference.setPreferedDataMoveProtocol(preferedDMProtocol); - resourcePreference.setScratchLocation(scratchLocation); - resourcePreference.setProjectNumber(projectNumber); - resourcePreference.setBatchQueue(batchQueue); - resourcePreference.setLoginUserName(loginUserName); - em.persist(resourcePreference); - } - 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(); - ComputeResourcePreference existingPreference = em.find(ComputeResourcePreference.class, - new ComputeResourcePreferencePK(ids.get(ComputeResourcePreferenceConstants.GATEWAY_ID), - ids.get(ComputeResourcePreferenceConstants.RESOURCE_ID))); - em.close(); - return existingPreference != null; - }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(); - } - } - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeResourceFileSystemResource.java ---------------------------------------------------------------------- diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeResourceFileSystemResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeResourceFileSystemResource.java deleted file mode 100644 index 7cbaac2..0000000 --- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeResourceFileSystemResource.java +++ /dev/null @@ -1,307 +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.aiaravata.application.catalog.data.resources; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.persistence.EntityManager; -import javax.persistence.Query; - -import org.airavata.appcatalog.cpi.AppCatalogException; -import org.apache.aiaravata.application.catalog.data.model.ComputeResource; -import org.apache.aiaravata.application.catalog.data.model.ComputeResourceFileSystem; -import org.apache.aiaravata.application.catalog.data.model.ComputeResourceFileSystem_PK; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator; -import org.apache.aiaravata.application.catalog.data.util.AppCatalogResourceType; -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ComputeResourceFileSystemResource extends AbstractResource { - private final static Logger logger = LoggerFactory.getLogger(ComputeResourceFileSystemResource.class); - private String computeResourceId; - private ComputeResourceResource computeHostResource; - private String path; - private String fileSystem; - - @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(COMPUTE_RESOURCE_FILE_SYSTEM); - generator.setParameter(ComputeResourceFileSystemConstants.COMPUTE_RESOURCE_ID, ids.get(ComputeResourceFileSystemConstants.COMPUTE_RESOURCE_ID)); - generator.setParameter(ComputeResourceFileSystemConstants.FILE_SYSTEM, ids.get(ComputeResourceFileSystemConstants.FILE_SYSTEM)); - 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 Resource 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(COMPUTE_RESOURCE_FILE_SYSTEM); - generator.setParameter(ComputeResourceFileSystemConstants.COMPUTE_RESOURCE_ID, ids.get(ComputeResourceFileSystemConstants.COMPUTE_RESOURCE_ID)); - generator.setParameter(ComputeResourceFileSystemConstants.FILE_SYSTEM, ids.get(ComputeResourceFileSystemConstants.FILE_SYSTEM)); - Query q = generator.selectQuery(em); - ComputeResourceFileSystem computeResourceFileSystem = (ComputeResourceFileSystem) q.getSingleResult(); - ComputeResourceFileSystemResource computeResourceFileSystemResource = (ComputeResourceFileSystemResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_FILE_SYSTEM, computeResourceFileSystem); - em.getTransaction().commit(); - em.close(); - return computeResourceFileSystemResource; - } 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<Resource> get(String fieldName, Object value) throws AppCatalogException { - List<Resource> computeResourceFileSystemResources = new ArrayList<Resource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(COMPUTE_RESOURCE_FILE_SYSTEM); - Query q; - if ((fieldName.equals(ComputeResourceFileSystemConstants.COMPUTE_RESOURCE_ID)) || (fieldName.equals(ComputeResourceFileSystemConstants.PATH)) || (fieldName.equals(ComputeResourceFileSystemConstants.FILE_SYSTEM))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - ComputeResourceFileSystem computeResourceFileSystem = (ComputeResourceFileSystem) result; - ComputeResourceFileSystemResource computeResourceFileSystemResource = (ComputeResourceFileSystemResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_FILE_SYSTEM, computeResourceFileSystem); - computeResourceFileSystemResources.add(computeResourceFileSystemResource); - } - } else { - em.getTransaction().commit(); - 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(); - } 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 computeResourceFileSystemResources; - } - - @Override - public List<Resource> 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> computeResourceFileSystemResourceIDs = new ArrayList<String>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(COMPUTE_RESOURCE_FILE_SYSTEM); - Query q; - if ((fieldName.equals(ComputeResourceFileSystemConstants.COMPUTE_RESOURCE_ID)) || (fieldName.equals(ComputeResourceFileSystemConstants.PATH)) || (fieldName.equals(ComputeResourceFileSystemConstants.FILE_SYSTEM))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - ComputeResourceFileSystem computeResourceFileSystem = (ComputeResourceFileSystem) result; - ComputeResourceFileSystemResource computeResourceFileSystemResource = (ComputeResourceFileSystemResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.COMPUTE_RESOURCE_FILE_SYSTEM, computeResourceFileSystem); - computeResourceFileSystemResourceIDs.add(computeResourceFileSystemResource.getComputeResourceId()); - } - } else { - em.getTransaction().commit(); - 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(); - } 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 computeResourceFileSystemResourceIDs; - } - - @Override - public void save() throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - ComputeResourceFileSystem existingComputeResourceFileSystem = em.find(ComputeResourceFileSystem.class, new ComputeResourceFileSystem_PK(computeResourceId, fileSystem)); - em.close(); - ComputeResourceFileSystem computeResourceFileSystem; - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingComputeResourceFileSystem == null) { - computeResourceFileSystem = new ComputeResourceFileSystem(); - } else { - computeResourceFileSystem = existingComputeResourceFileSystem; - } - computeResourceFileSystem.setComputeResourceId(getComputeResourceId()); - ComputeResource computeResource = em.find(ComputeResource.class, getComputeResourceId()); - computeResourceFileSystem.setComputeResource(computeResource); - computeResourceFileSystem.setPath(getPath()); - computeResourceFileSystem.setFileSystem(getFileSystem()); - if (existingComputeResourceFileSystem == null) { - em.persist(computeResourceFileSystem); - } else { - em.merge(computeResourceFileSystem); - } - 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(); - ComputeResourceFileSystem computeResourceFileSystem = em.find(ComputeResourceFileSystem.class, new ComputeResourceFileSystem_PK(ids.get(ComputeResourceFileSystemConstants.COMPUTE_RESOURCE_ID), ids.get(ComputeResourceFileSystemConstants.FILE_SYSTEM))); - em.close(); - return computeResourceFileSystem != 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 getComputeResourceId() { - return computeResourceId; - } - - public ComputeResourceResource getComputeHostResource() { - return computeHostResource; - } - - public String getPath() { - return path; - } - - public String getFileSystem() { - return fileSystem; - } - - public void setComputeResourceId(String computeResourceId) { - this.computeResourceId=computeResourceId; - } - - public void setComputeHostResource(ComputeResourceResource computeHostResource) { - this.computeHostResource=computeHostResource; - } - - public void setPath(String path) { - this.path=path; - } - - public void setFileSystem(String fileSystem) { - this.fileSystem=fileSystem; - } -}
