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/ScpDataMovementAppCatalogResourceAppCat.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ScpDataMovementAppCatalogResourceAppCat.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ScpDataMovementAppCatalogResourceAppCat.java deleted file mode 100644 index 59839ea..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ScpDataMovementAppCatalogResourceAppCat.java +++ /dev/null @@ -1,308 +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.common.utils.AiravataUtils; -import org.apache.airavata.registry.core.app.catalog.model.ScpDataMovement; -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.sql.Timestamp; -import java.util.ArrayList; -import java.util.List; - -public class ScpDataMovementAppCatalogResourceAppCat extends AppCatAbstractResource { - private final static Logger logger = LoggerFactory.getLogger(ScpDataMovementAppCatalogResourceAppCat.class); - private String queueDescription; - private String dataMovementInterfaceId; - private String securityProtocol; - private String alternativeScpHostname; - private int sshPort; - 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(SCP_DATA_MOVEMENT); - generator.setParameter(ScpDataMovementConstants.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(SCP_DATA_MOVEMENT); - generator.setParameter(ScpDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID, identifier); - Query q = generator.selectQuery(em); - ScpDataMovement scpDataMovement = (ScpDataMovement) q.getSingleResult(); - ScpDataMovementAppCatalogResourceAppCat scpDataMovementResource = (ScpDataMovementAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SCP_DATA_MOVEMENT, scpDataMovement); - em.getTransaction().commit(); - em.close(); - return scpDataMovementResource; - } 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> scpDataMovementResources = new ArrayList<AppCatalogResource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(SCP_DATA_MOVEMENT); - Query q; - if ((fieldName.equals(ScpDataMovementConstants.QUEUE_DESCRIPTION)) || (fieldName.equals(ScpDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID)) || (fieldName.equals(ScpDataMovementConstants.SECURITY_PROTOCOL)) || (fieldName.equals(ScpDataMovementConstants.ALTERNATIVE_SCP_HOSTNAME)) || (fieldName.equals(ScpDataMovementConstants.SSH_PORT))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - ScpDataMovement scpDataMovement = (ScpDataMovement) result; - ScpDataMovementAppCatalogResourceAppCat scpDataMovementResource = (ScpDataMovementAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SCP_DATA_MOVEMENT, scpDataMovement); - scpDataMovementResources.add(scpDataMovementResource); - } - } else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Scp Data Movement Resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Scp 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 scpDataMovementResources; - } - - @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> scpDataMovementResourceIDs = new ArrayList<String>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(SCP_DATA_MOVEMENT); - Query q; - if ((fieldName.equals(ScpDataMovementConstants.QUEUE_DESCRIPTION)) || (fieldName.equals(ScpDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID)) || (fieldName.equals(ScpDataMovementConstants.SECURITY_PROTOCOL)) || (fieldName.equals(ScpDataMovementConstants.ALTERNATIVE_SCP_HOSTNAME)) || (fieldName.equals(ScpDataMovementConstants.SSH_PORT))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - ScpDataMovement scpDataMovement = (ScpDataMovement) result; - ScpDataMovementAppCatalogResourceAppCat scpDataMovementResource = (ScpDataMovementAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SCP_DATA_MOVEMENT, scpDataMovement); - scpDataMovementResourceIDs.add(scpDataMovementResource.getDataMovementInterfaceId()); - } - } else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Scp Data Movement Resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Scp 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 scpDataMovementResourceIDs; - } - - @Override - public void save() throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - ScpDataMovement existingScpDataMovement = em.find(ScpDataMovement.class, dataMovementInterfaceId); - em.close(); - ScpDataMovement scpDataMovement; - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingScpDataMovement == null) { - scpDataMovement = new ScpDataMovement(); - scpDataMovement.setCreationTime(AiravataUtils.getCurrentTimestamp()); - } else { - scpDataMovement = existingScpDataMovement; - scpDataMovement.setUpdateTime(AiravataUtils.getCurrentTimestamp()); - } - scpDataMovement.setQueueDescription(getQueueDescription()); - scpDataMovement.setDataMovementInterfaceId(getDataMovementInterfaceId()); - scpDataMovement.setSecurityProtocol(getSecurityProtocol()); - scpDataMovement.setAlternativeScpHostname(getAlternativeScpHostname()); - scpDataMovement.setSshPort(getSshPort()); - if (existingScpDataMovement == null) { - em.persist(scpDataMovement); - } else { - em.merge(scpDataMovement); - } - 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(); - ScpDataMovement scpDataMovement = em.find(ScpDataMovement.class, identifier); - em.close(); - return scpDataMovement != 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 getQueueDescription() { - return queueDescription; - } - - public String getDataMovementInterfaceId() { - return dataMovementInterfaceId; - } - - public String getSecurityProtocol() { - return securityProtocol; - } - - public String getAlternativeScpHostname() { - return alternativeScpHostname; - } - - public int getSshPort() { - return sshPort; - } - - public void setQueueDescription(String queueDescription) { - this.queueDescription=queueDescription; - } - - public void setDataMovementInterfaceId(String dataMovementInterfaceId) { - this.dataMovementInterfaceId=dataMovementInterfaceId; - } - - public void setSecurityProtocol(String securityProtocol) { - this.securityProtocol=securityProtocol; - } - - public void setAlternativeScpHostname(String alternativeScpHostname) { - this.alternativeScpHostname=alternativeScpHostname; - } - - public void setSshPort(int sshPort) { - this.sshPort=sshPort; - } -} \ No newline at end of file
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/ScpDataMovementResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ScpDataMovementResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ScpDataMovementResource.java new file mode 100644 index 0000000..3b4c63d --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ScpDataMovementResource.java @@ -0,0 +1,308 @@ +/** + * 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.common.utils.AiravataUtils; +import org.apache.airavata.registry.core.app.catalog.model.ScpDataMovement; +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.sql.Timestamp; +import java.util.ArrayList; +import java.util.List; + +public class ScpDataMovementResource extends AppCatAbstractResource { + private final static Logger logger = LoggerFactory.getLogger(ScpDataMovementResource.class); + private String queueDescription; + private String dataMovementInterfaceId; + private String securityProtocol; + private String alternativeScpHostname; + private int sshPort; + 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(SCP_DATA_MOVEMENT); + generator.setParameter(ScpDataMovementConstants.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(SCP_DATA_MOVEMENT); + generator.setParameter(ScpDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID, identifier); + Query q = generator.selectQuery(em); + ScpDataMovement scpDataMovement = (ScpDataMovement) q.getSingleResult(); + ScpDataMovementResource scpDataMovementResource = (ScpDataMovementResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SCP_DATA_MOVEMENT, scpDataMovement); + em.getTransaction().commit(); + em.close(); + return scpDataMovementResource; + } 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> scpDataMovementResources = new ArrayList<AppCatalogResource>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(SCP_DATA_MOVEMENT); + Query q; + if ((fieldName.equals(ScpDataMovementConstants.QUEUE_DESCRIPTION)) || (fieldName.equals(ScpDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID)) || (fieldName.equals(ScpDataMovementConstants.SECURITY_PROTOCOL)) || (fieldName.equals(ScpDataMovementConstants.ALTERNATIVE_SCP_HOSTNAME)) || (fieldName.equals(ScpDataMovementConstants.SSH_PORT))) { + generator.setParameter(fieldName, value); + q = generator.selectQuery(em); + List<?> results = q.getResultList(); + for (Object result : results) { + ScpDataMovement scpDataMovement = (ScpDataMovement) result; + ScpDataMovementResource scpDataMovementResource = (ScpDataMovementResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SCP_DATA_MOVEMENT, scpDataMovement); + scpDataMovementResources.add(scpDataMovementResource); + } + } else { + em.getTransaction().commit(); + em.close(); + logger.error("Unsupported field name for Scp Data Movement Resource.", new IllegalArgumentException()); + throw new IllegalArgumentException("Unsupported field name for Scp 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 scpDataMovementResources; + } + + @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> scpDataMovementResourceIDs = new ArrayList<String>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(SCP_DATA_MOVEMENT); + Query q; + if ((fieldName.equals(ScpDataMovementConstants.QUEUE_DESCRIPTION)) || (fieldName.equals(ScpDataMovementConstants.DATA_MOVEMENT_INTERFACE_ID)) || (fieldName.equals(ScpDataMovementConstants.SECURITY_PROTOCOL)) || (fieldName.equals(ScpDataMovementConstants.ALTERNATIVE_SCP_HOSTNAME)) || (fieldName.equals(ScpDataMovementConstants.SSH_PORT))) { + generator.setParameter(fieldName, value); + q = generator.selectQuery(em); + List<?> results = q.getResultList(); + for (Object result : results) { + ScpDataMovement scpDataMovement = (ScpDataMovement) result; + ScpDataMovementResource scpDataMovementResource = (ScpDataMovementResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SCP_DATA_MOVEMENT, scpDataMovement); + scpDataMovementResourceIDs.add(scpDataMovementResource.getDataMovementInterfaceId()); + } + } else { + em.getTransaction().commit(); + em.close(); + logger.error("Unsupported field name for Scp Data Movement Resource.", new IllegalArgumentException()); + throw new IllegalArgumentException("Unsupported field name for Scp 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 scpDataMovementResourceIDs; + } + + @Override + public void save() throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + ScpDataMovement existingScpDataMovement = em.find(ScpDataMovement.class, dataMovementInterfaceId); + em.close(); + ScpDataMovement scpDataMovement; + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + if (existingScpDataMovement == null) { + scpDataMovement = new ScpDataMovement(); + scpDataMovement.setCreationTime(AiravataUtils.getCurrentTimestamp()); + } else { + scpDataMovement = existingScpDataMovement; + scpDataMovement.setUpdateTime(AiravataUtils.getCurrentTimestamp()); + } + scpDataMovement.setQueueDescription(getQueueDescription()); + scpDataMovement.setDataMovementInterfaceId(getDataMovementInterfaceId()); + scpDataMovement.setSecurityProtocol(getSecurityProtocol()); + scpDataMovement.setAlternativeScpHostname(getAlternativeScpHostname()); + scpDataMovement.setSshPort(getSshPort()); + if (existingScpDataMovement == null) { + em.persist(scpDataMovement); + } else { + em.merge(scpDataMovement); + } + 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(); + ScpDataMovement scpDataMovement = em.find(ScpDataMovement.class, identifier); + em.close(); + return scpDataMovement != 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 getQueueDescription() { + return queueDescription; + } + + public String getDataMovementInterfaceId() { + return dataMovementInterfaceId; + } + + public String getSecurityProtocol() { + return securityProtocol; + } + + public String getAlternativeScpHostname() { + return alternativeScpHostname; + } + + public int getSshPort() { + return sshPort; + } + + public void setQueueDescription(String queueDescription) { + this.queueDescription=queueDescription; + } + + public void setDataMovementInterfaceId(String dataMovementInterfaceId) { + this.dataMovementInterfaceId=dataMovementInterfaceId; + } + + public void setSecurityProtocol(String securityProtocol) { + this.securityProtocol=securityProtocol; + } + + public void setAlternativeScpHostname(String alternativeScpHostname) { + this.alternativeScpHostname=alternativeScpHostname; + } + + public void setSshPort(int sshPort) { + this.sshPort=sshPort; + } +} \ No newline at end of file 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/SshJobSubmissionAppCatalogResourceAppCat.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/SshJobSubmissionAppCatalogResourceAppCat.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/SshJobSubmissionAppCatalogResourceAppCat.java deleted file mode 100644 index 2bbd6f3..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/SshJobSubmissionAppCatalogResourceAppCat.java +++ /dev/null @@ -1,332 +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.ResourceJobManager; -import org.apache.airavata.registry.core.app.catalog.model.SshJobSubmission; -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 SshJobSubmissionAppCatalogResourceAppCat extends AppCatAbstractResource { - private final static Logger logger = LoggerFactory.getLogger(SshJobSubmissionAppCatalogResourceAppCat.class); - private String resourceJobManagerId; - private ResourceJobManagerAppCatalogResourceAppCat resourceJobManagerResource; - private String jobSubmissionInterfaceId; - private String alternativeSshHostname; - private String securityProtocol; - private int sshPort; - private String monitorMode; - 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(SSH_JOB_SUBMISSION); - generator.setParameter(SshJobSubmissionConstants.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(SSH_JOB_SUBMISSION); - generator.setParameter(SshJobSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID, identifier); - Query q = generator.selectQuery(em); - SshJobSubmission sshJobSubmission = (SshJobSubmission) q.getSingleResult(); - SshJobSubmissionAppCatalogResourceAppCat sshJobSubmissionResource = (SshJobSubmissionAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SSH_JOB_SUBMISSION, sshJobSubmission); - em.getTransaction().commit(); - em.close(); - return sshJobSubmissionResource; - } 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> sshJobSubmissionResources = new ArrayList<AppCatalogResource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(SSH_JOB_SUBMISSION); - Query q; - if ((fieldName.equals(SshJobSubmissionConstants.RESOURCE_JOB_MANAGER_ID)) || (fieldName.equals(SshJobSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID)) || (fieldName.equals(SshJobSubmissionConstants.ALTERNATIVE_SSH_HOSTNAME)) || (fieldName.equals(SshJobSubmissionConstants.SECURITY_PROTOCOL)) || (fieldName.equals(SshJobSubmissionConstants.SSH_PORT))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - SshJobSubmission sshJobSubmission = (SshJobSubmission) result; - SshJobSubmissionAppCatalogResourceAppCat sshJobSubmissionResource = (SshJobSubmissionAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SSH_JOB_SUBMISSION, sshJobSubmission); - sshJobSubmissionResources.add(sshJobSubmissionResource); - } - } else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Ssh Job Submission Resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Ssh Job 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 sshJobSubmissionResources; - } - - @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> sshJobSubmissionResourceIDs = new ArrayList<String>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(SSH_JOB_SUBMISSION); - Query q; - if ((fieldName.equals(SshJobSubmissionConstants.RESOURCE_JOB_MANAGER_ID)) || (fieldName.equals(SshJobSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID)) || (fieldName.equals(SshJobSubmissionConstants.ALTERNATIVE_SSH_HOSTNAME)) || (fieldName.equals(SshJobSubmissionConstants.SECURITY_PROTOCOL)) || (fieldName.equals(SshJobSubmissionConstants.SSH_PORT))) { - generator.setParameter(fieldName, value); - q = generator.selectQuery(em); - List<?> results = q.getResultList(); - for (Object result : results) { - SshJobSubmission sshJobSubmission = (SshJobSubmission) result; - SshJobSubmissionAppCatalogResourceAppCat sshJobSubmissionResource = (SshJobSubmissionAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SSH_JOB_SUBMISSION, sshJobSubmission); - sshJobSubmissionResourceIDs.add(sshJobSubmissionResource.getJobSubmissionInterfaceId()); - } - } else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Ssh Job Submission Resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Ssh Job 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 sshJobSubmissionResourceIDs; - } - - @Override - public void save() throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - SshJobSubmission existingSshJobSubmission = em.find(SshJobSubmission.class, jobSubmissionInterfaceId); - em.close(); - SshJobSubmission sshJobSubmission; - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingSshJobSubmission == null) { - sshJobSubmission = new SshJobSubmission(); - sshJobSubmission.setCreationTime(AiravataUtils.getCurrentTimestamp()); - } else { - sshJobSubmission = existingSshJobSubmission; - sshJobSubmission.setUpdateTime(AiravataUtils.getCurrentTimestamp()); - } - sshJobSubmission.setResourceJobManagerId(getResourceJobManagerId()); - ResourceJobManager resourceJobManager = em.find(ResourceJobManager.class, getResourceJobManagerId()); - sshJobSubmission.setResourceJobManager(resourceJobManager); - sshJobSubmission.setJobSubmissionInterfaceId(getJobSubmissionInterfaceId()); - sshJobSubmission.setAlternativeSshHostname(getAlternativeSshHostname()); - sshJobSubmission.setSecurityProtocol(getSecurityProtocol()); - sshJobSubmission.setSshPort(getSshPort()); - sshJobSubmission.setMonitorMode(getMonitorMode()); - if (existingSshJobSubmission == null) { - em.persist(sshJobSubmission); - } else { - em.merge(sshJobSubmission); - } - 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(); - SshJobSubmission sshJobSubmission = em.find(SshJobSubmission.class, identifier); - em.close(); - return sshJobSubmission != 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 String getAlternativeSshHostname() { - return alternativeSshHostname; - } - - public String getSecurityProtocol() { - return securityProtocol; - } - - public int getSshPort() { - return sshPort; - } - - public void setResourceJobManagerId(String resourceJobManagerId) { - this.resourceJobManagerId=resourceJobManagerId; - } - - public void setResourceJobManagerResource(ResourceJobManagerAppCatalogResourceAppCat resourceJobManagerResource) { - this.resourceJobManagerResource=resourceJobManagerResource; - } - - public void setJobSubmissionInterfaceId(String jobSubmissionInterfaceId) { - this.jobSubmissionInterfaceId=jobSubmissionInterfaceId; - } - - public void setAlternativeSshHostname(String alternativeSshHostname) { - this.alternativeSshHostname=alternativeSshHostname; - } - - public void setSecurityProtocol(String securityProtocol) { - this.securityProtocol=securityProtocol; - } - - public void setSshPort(int sshPort) { - this.sshPort=sshPort; - } - - public String getMonitorMode() { - return monitorMode; - } - - public void setMonitorMode(String monitorMode) { - this.monitorMode = monitorMode; - } - -} \ No newline at end of file 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/SshJobSubmissionResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/SshJobSubmissionResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/SshJobSubmissionResource.java new file mode 100644 index 0000000..2390f68 --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/SshJobSubmissionResource.java @@ -0,0 +1,332 @@ +/** + * 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.ResourceJobManager; +import org.apache.airavata.registry.core.app.catalog.model.SshJobSubmission; +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 SshJobSubmissionResource extends AppCatAbstractResource { + private final static Logger logger = LoggerFactory.getLogger(SshJobSubmissionResource.class); + private String resourceJobManagerId; + private ResourceJobManagerResource resourceJobManagerResource; + private String jobSubmissionInterfaceId; + private String alternativeSshHostname; + private String securityProtocol; + private int sshPort; + private String monitorMode; + 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(SSH_JOB_SUBMISSION); + generator.setParameter(SshJobSubmissionConstants.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(SSH_JOB_SUBMISSION); + generator.setParameter(SshJobSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID, identifier); + Query q = generator.selectQuery(em); + SshJobSubmission sshJobSubmission = (SshJobSubmission) q.getSingleResult(); + SshJobSubmissionResource sshJobSubmissionResource = (SshJobSubmissionResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SSH_JOB_SUBMISSION, sshJobSubmission); + em.getTransaction().commit(); + em.close(); + return sshJobSubmissionResource; + } 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> sshJobSubmissionResources = new ArrayList<AppCatalogResource>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(SSH_JOB_SUBMISSION); + Query q; + if ((fieldName.equals(SshJobSubmissionConstants.RESOURCE_JOB_MANAGER_ID)) || (fieldName.equals(SshJobSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID)) || (fieldName.equals(SshJobSubmissionConstants.ALTERNATIVE_SSH_HOSTNAME)) || (fieldName.equals(SshJobSubmissionConstants.SECURITY_PROTOCOL)) || (fieldName.equals(SshJobSubmissionConstants.SSH_PORT))) { + generator.setParameter(fieldName, value); + q = generator.selectQuery(em); + List<?> results = q.getResultList(); + for (Object result : results) { + SshJobSubmission sshJobSubmission = (SshJobSubmission) result; + SshJobSubmissionResource sshJobSubmissionResource = (SshJobSubmissionResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SSH_JOB_SUBMISSION, sshJobSubmission); + sshJobSubmissionResources.add(sshJobSubmissionResource); + } + } else { + em.getTransaction().commit(); + em.close(); + logger.error("Unsupported field name for Ssh Job Submission Resource.", new IllegalArgumentException()); + throw new IllegalArgumentException("Unsupported field name for Ssh Job 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 sshJobSubmissionResources; + } + + @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> sshJobSubmissionResourceIDs = new ArrayList<String>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(SSH_JOB_SUBMISSION); + Query q; + if ((fieldName.equals(SshJobSubmissionConstants.RESOURCE_JOB_MANAGER_ID)) || (fieldName.equals(SshJobSubmissionConstants.JOB_SUBMISSION_INTERFACE_ID)) || (fieldName.equals(SshJobSubmissionConstants.ALTERNATIVE_SSH_HOSTNAME)) || (fieldName.equals(SshJobSubmissionConstants.SECURITY_PROTOCOL)) || (fieldName.equals(SshJobSubmissionConstants.SSH_PORT))) { + generator.setParameter(fieldName, value); + q = generator.selectQuery(em); + List<?> results = q.getResultList(); + for (Object result : results) { + SshJobSubmission sshJobSubmission = (SshJobSubmission) result; + SshJobSubmissionResource sshJobSubmissionResource = (SshJobSubmissionResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.SSH_JOB_SUBMISSION, sshJobSubmission); + sshJobSubmissionResourceIDs.add(sshJobSubmissionResource.getJobSubmissionInterfaceId()); + } + } else { + em.getTransaction().commit(); + em.close(); + logger.error("Unsupported field name for Ssh Job Submission Resource.", new IllegalArgumentException()); + throw new IllegalArgumentException("Unsupported field name for Ssh Job 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 sshJobSubmissionResourceIDs; + } + + @Override + public void save() throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + SshJobSubmission existingSshJobSubmission = em.find(SshJobSubmission.class, jobSubmissionInterfaceId); + em.close(); + SshJobSubmission sshJobSubmission; + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + if (existingSshJobSubmission == null) { + sshJobSubmission = new SshJobSubmission(); + sshJobSubmission.setCreationTime(AiravataUtils.getCurrentTimestamp()); + } else { + sshJobSubmission = existingSshJobSubmission; + sshJobSubmission.setUpdateTime(AiravataUtils.getCurrentTimestamp()); + } + sshJobSubmission.setResourceJobManagerId(getResourceJobManagerId()); + ResourceJobManager resourceJobManager = em.find(ResourceJobManager.class, getResourceJobManagerId()); + sshJobSubmission.setResourceJobManager(resourceJobManager); + sshJobSubmission.setJobSubmissionInterfaceId(getJobSubmissionInterfaceId()); + sshJobSubmission.setAlternativeSshHostname(getAlternativeSshHostname()); + sshJobSubmission.setSecurityProtocol(getSecurityProtocol()); + sshJobSubmission.setSshPort(getSshPort()); + sshJobSubmission.setMonitorMode(getMonitorMode()); + if (existingSshJobSubmission == null) { + em.persist(sshJobSubmission); + } else { + em.merge(sshJobSubmission); + } + 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(); + SshJobSubmission sshJobSubmission = em.find(SshJobSubmission.class, identifier); + em.close(); + return sshJobSubmission != 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 String getAlternativeSshHostname() { + return alternativeSshHostname; + } + + public String getSecurityProtocol() { + return securityProtocol; + } + + public int getSshPort() { + return sshPort; + } + + public void setResourceJobManagerId(String resourceJobManagerId) { + this.resourceJobManagerId=resourceJobManagerId; + } + + public void setResourceJobManagerResource(ResourceJobManagerResource resourceJobManagerResource) { + this.resourceJobManagerResource=resourceJobManagerResource; + } + + public void setJobSubmissionInterfaceId(String jobSubmissionInterfaceId) { + this.jobSubmissionInterfaceId=jobSubmissionInterfaceId; + } + + public void setAlternativeSshHostname(String alternativeSshHostname) { + this.alternativeSshHostname=alternativeSshHostname; + } + + public void setSecurityProtocol(String securityProtocol) { + this.securityProtocol=securityProtocol; + } + + public void setSshPort(int sshPort) { + this.sshPort=sshPort; + } + + public String getMonitorMode() { + return monitorMode; + } + + public void setMonitorMode(String monitorMode) { + this.monitorMode = monitorMode; + } + +} \ No newline at end of file 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/UnicoreDataMovementAppCatalogResourceAppCat.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UnicoreDataMovementAppCatalogResourceAppCat.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UnicoreDataMovementAppCatalogResourceAppCat.java deleted file mode 100644 index af8899a..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UnicoreDataMovementAppCatalogResourceAppCat.java +++ /dev/null @@ -1,255 +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.UnicoreDataMovement; -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.List; - -public class UnicoreDataMovementAppCatalogResourceAppCat extends AppCatAbstractResource { - - private final static Logger logger = LoggerFactory.getLogger(UnicoreDataMovementAppCatalogResourceAppCat.class); - - private String dataMovementId; - private String securityProtocol; - private String unicoreEndpointUrl; - - public void remove(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(UNICORE_DATA_MOVEMENT); - generator.setParameter(UnicoreDataMovementConstants.DATAMOVEMENT_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(); - } - } - } - - public AppCatalogResource get(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(UNICORE_DATA_MOVEMENT); - generator.setParameter(UnicoreDataMovementConstants.DATAMOVEMENT_ID, identifier); - Query q = generator.selectQuery(em); - UnicoreDataMovement unicoreDataMovement = (UnicoreDataMovement) q.getSingleResult(); - UnicoreDataMovementAppCatalogResourceAppCat dataMovementResource = - (UnicoreDataMovementAppCatalogResourceAppCat) AppCatalogJPAUtils - .getResource(AppCatalogResourceType.UNICORE_DATA_MOVEMENT, - unicoreDataMovement); - em.getTransaction().commit(); - em.close(); - return dataMovementResource; - } 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<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException { - List<AppCatalogResource> unicoreDMResourceList = new ArrayList<AppCatalogResource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - Query q; - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(UNICORE_DATA_MOVEMENT); - List results; - if (fieldName.equals(UnicoreDataMovementConstants.UNICORE_ENDPOINT_URL)) { - generator.setParameter(UnicoreDataMovementConstants.UNICORE_ENDPOINT_URL, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - UnicoreDataMovement dataMovement = (UnicoreDataMovement) result; - UnicoreDataMovementAppCatalogResourceAppCat unicoreJobSubmissionResource = - (UnicoreDataMovementAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource( - AppCatalogResourceType.UNICORE_DATA_MOVEMENT, dataMovement); - unicoreDMResourceList.add(unicoreJobSubmissionResource); - } - } - } else if (fieldName.equals(UnicoreDataMovementConstants.SECURITY_PROTOCAL)) { - generator.setParameter(UnicoreDataMovementConstants.SECURITY_PROTOCAL, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - UnicoreDataMovement dataMovement = (UnicoreDataMovement) result; - UnicoreDataMovementAppCatalogResourceAppCat dataMovementResource = - (UnicoreDataMovementAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource( - AppCatalogResourceType.UNICORE_DATA_MOVEMENT, dataMovement); - unicoreDMResourceList.add(dataMovementResource); - } - } - } else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Unicore data movement resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Unicore data movement 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 unicoreDMResourceList; - } - - @Override - public List<AppCatalogResource> getAll() throws AppCatalogException { - // TODO Auto-generated method stub - return null; - } - - @Override - public List<String> getAllIds() throws AppCatalogException { - // TODO Auto-generated method stub - return null; - } - - public List<String> getIds(String fieldName, Object value) throws AppCatalogException { - return null; - } - - public void save() throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - UnicoreDataMovement existingDataMovement = em.find(UnicoreDataMovement.class, dataMovementId); - em.close(); - - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingDataMovement != null) { - existingDataMovement.setDataMovementId(dataMovementId);; - existingDataMovement.setUnicoreEndpointUrl(unicoreEndpointUrl); - existingDataMovement.setSecurityProtocol(securityProtocol); - em.merge(existingDataMovement); - } else { - UnicoreDataMovement unicoreJobSubmission = new UnicoreDataMovement(); - unicoreJobSubmission.setDataMovementId(dataMovementId); - unicoreJobSubmission.setUnicoreEndpointUrl(unicoreEndpointUrl); - unicoreJobSubmission.setSecurityProtocol(securityProtocol); - em.persist(unicoreJobSubmission); - } - 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 { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - UnicoreDataMovement dataMovement = em.find(UnicoreDataMovement.class, identifier); - em.close(); - return dataMovement != 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 getDataMovementId() { - return dataMovementId; - } - - public void setDataMovementId(String dataMovementId) { - this.dataMovementId = dataMovementId; - } - - public String getSecurityProtocol() { - return securityProtocol; - } - - public void setSecurityProtocol(String securityProtocol) { - this.securityProtocol = securityProtocol; - } - - public String getUnicoreEndpointUrl() { - return unicoreEndpointUrl; - } - - public void setUnicoreEndpointUrl(String unicoreEndpointUrl) { - this.unicoreEndpointUrl = unicoreEndpointUrl; - } - - -} 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/UnicoreDataMovementResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UnicoreDataMovementResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UnicoreDataMovementResource.java new file mode 100644 index 0000000..db5ccde --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UnicoreDataMovementResource.java @@ -0,0 +1,255 @@ +/* + * + * 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.UnicoreDataMovement; +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.List; + +public class UnicoreDataMovementResource extends AppCatAbstractResource { + + private final static Logger logger = LoggerFactory.getLogger(UnicoreDataMovementResource.class); + + private String dataMovementId; + private String securityProtocol; + private String unicoreEndpointUrl; + + public void remove(Object identifier) throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(UNICORE_DATA_MOVEMENT); + generator.setParameter(UnicoreDataMovementConstants.DATAMOVEMENT_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(); + } + } + } + + public AppCatalogResource get(Object identifier) throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(UNICORE_DATA_MOVEMENT); + generator.setParameter(UnicoreDataMovementConstants.DATAMOVEMENT_ID, identifier); + Query q = generator.selectQuery(em); + UnicoreDataMovement unicoreDataMovement = (UnicoreDataMovement) q.getSingleResult(); + UnicoreDataMovementResource dataMovementResource = + (UnicoreDataMovementResource) AppCatalogJPAUtils + .getResource(AppCatalogResourceType.UNICORE_DATA_MOVEMENT, + unicoreDataMovement); + em.getTransaction().commit(); + em.close(); + return dataMovementResource; + } 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<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException { + List<AppCatalogResource> unicoreDMResourceList = new ArrayList<AppCatalogResource>(); + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + Query q; + AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(UNICORE_DATA_MOVEMENT); + List results; + if (fieldName.equals(UnicoreDataMovementConstants.UNICORE_ENDPOINT_URL)) { + generator.setParameter(UnicoreDataMovementConstants.UNICORE_ENDPOINT_URL, value); + q = generator.selectQuery(em); + results = q.getResultList(); + if (results.size() != 0) { + for (Object result : results) { + UnicoreDataMovement dataMovement = (UnicoreDataMovement) result; + UnicoreDataMovementResource unicoreJobSubmissionResource = + (UnicoreDataMovementResource) AppCatalogJPAUtils.getResource( + AppCatalogResourceType.UNICORE_DATA_MOVEMENT, dataMovement); + unicoreDMResourceList.add(unicoreJobSubmissionResource); + } + } + } else if (fieldName.equals(UnicoreDataMovementConstants.SECURITY_PROTOCAL)) { + generator.setParameter(UnicoreDataMovementConstants.SECURITY_PROTOCAL, value); + q = generator.selectQuery(em); + results = q.getResultList(); + if (results.size() != 0) { + for (Object result : results) { + UnicoreDataMovement dataMovement = (UnicoreDataMovement) result; + UnicoreDataMovementResource dataMovementResource = + (UnicoreDataMovementResource) AppCatalogJPAUtils.getResource( + AppCatalogResourceType.UNICORE_DATA_MOVEMENT, dataMovement); + unicoreDMResourceList.add(dataMovementResource); + } + } + } else { + em.getTransaction().commit(); + em.close(); + logger.error("Unsupported field name for Unicore data movement resource.", new IllegalArgumentException()); + throw new IllegalArgumentException("Unsupported field name for Unicore data movement 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 unicoreDMResourceList; + } + + @Override + public List<AppCatalogResource> getAll() throws AppCatalogException { + // TODO Auto-generated method stub + return null; + } + + @Override + public List<String> getAllIds() throws AppCatalogException { + // TODO Auto-generated method stub + return null; + } + + public List<String> getIds(String fieldName, Object value) throws AppCatalogException { + return null; + } + + public void save() throws AppCatalogException { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + UnicoreDataMovement existingDataMovement = em.find(UnicoreDataMovement.class, dataMovementId); + em.close(); + + em = AppCatalogJPAUtils.getEntityManager(); + em.getTransaction().begin(); + if (existingDataMovement != null) { + existingDataMovement.setDataMovementId(dataMovementId);; + existingDataMovement.setUnicoreEndpointUrl(unicoreEndpointUrl); + existingDataMovement.setSecurityProtocol(securityProtocol); + em.merge(existingDataMovement); + } else { + UnicoreDataMovement unicoreJobSubmission = new UnicoreDataMovement(); + unicoreJobSubmission.setDataMovementId(dataMovementId); + unicoreJobSubmission.setUnicoreEndpointUrl(unicoreEndpointUrl); + unicoreJobSubmission.setSecurityProtocol(securityProtocol); + em.persist(unicoreJobSubmission); + } + 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 { + EntityManager em = null; + try { + em = AppCatalogJPAUtils.getEntityManager(); + UnicoreDataMovement dataMovement = em.find(UnicoreDataMovement.class, identifier); + em.close(); + return dataMovement != 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 getDataMovementId() { + return dataMovementId; + } + + public void setDataMovementId(String dataMovementId) { + this.dataMovementId = dataMovementId; + } + + public String getSecurityProtocol() { + return securityProtocol; + } + + public void setSecurityProtocol(String securityProtocol) { + this.securityProtocol = securityProtocol; + } + + public String getUnicoreEndpointUrl() { + return unicoreEndpointUrl; + } + + public void setUnicoreEndpointUrl(String unicoreEndpointUrl) { + this.unicoreEndpointUrl = unicoreEndpointUrl; + } + + +} 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/UnicoreJobSubmissionAppCatalogResourceAppCat.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UnicoreJobSubmissionAppCatalogResourceAppCat.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UnicoreJobSubmissionAppCatalogResourceAppCat.java deleted file mode 100644 index ae029f2..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UnicoreJobSubmissionAppCatalogResourceAppCat.java +++ /dev/null @@ -1,328 +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.HashMap; -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.GlobusJobSubmission; -import org.apache.airavata.registry.core.app.catalog.model.UnicoreJobSubmission; -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 UnicoreJobSubmissionAppCatalogResourceAppCat extends AppCatAbstractResource { - - private final static Logger logger = LoggerFactory.getLogger(UnicoreJobSubmissionAppCatalogResourceAppCat.class); - - private String jobSubmissionInterfaceId; - private String securityProtocol; - private String unicoreEndpointUrl; - - public void remove(Object identifier) throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(UNICORE_JOB_SUBMISSION); - generator.setParameter(UnicoreJobSubmissionConstants.SUBMISSION_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(); - } - } - } - - public AppCatalogResource get(Object identifier) throws AppCatalogException { - HashMap<String, String> ids; - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(UNICORE_JOB_SUBMISSION); - generator.setParameter(UnicoreJobSubmissionConstants.SUBMISSION_ID, identifier); - Query q = generator.selectQuery(em); - UnicoreJobSubmission unicoreJobSubmission = (UnicoreJobSubmission) q.getSingleResult(); - UnicoreJobSubmissionAppCatalogResourceAppCat unicoreSubmissionResource = - (UnicoreJobSubmissionAppCatalogResourceAppCat) AppCatalogJPAUtils - .getResource(AppCatalogResourceType.UNICORE_JOB_SUBMISSION, - unicoreJobSubmission); - em.getTransaction().commit(); - em.close(); - return unicoreSubmissionResource; - } 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<AppCatalogResource> get(String fieldName, Object value) throws AppCatalogException { - List<AppCatalogResource> unicoreSubmissionResourceList = new ArrayList<AppCatalogResource>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - Query q; - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(UNICORE_JOB_SUBMISSION); - List results; - if (fieldName.equals(UnicoreJobSubmissionConstants.UNICORE_ENDPOINT_URL)) { - generator.setParameter(UnicoreJobSubmissionConstants.UNICORE_ENDPOINT_URL, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - UnicoreJobSubmission unicoreJobSubmission = (UnicoreJobSubmission) result; - UnicoreJobSubmissionAppCatalogResourceAppCat unicoreJobSubmissionResource = - (UnicoreJobSubmissionAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource( - AppCatalogResourceType.UNICORE_JOB_SUBMISSION, unicoreJobSubmission); - unicoreSubmissionResourceList.add(unicoreJobSubmissionResource); - } - } - } else if (fieldName.equals(UnicoreJobSubmissionConstants.SECURITY_PROTOCAL)) { - generator.setParameter(UnicoreJobSubmissionConstants.SECURITY_PROTOCAL, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - UnicoreJobSubmission unicoreJobSubmission = (UnicoreJobSubmission) result; - UnicoreJobSubmissionAppCatalogResourceAppCat unicoreJobSubmissionResource = - (UnicoreJobSubmissionAppCatalogResourceAppCat) AppCatalogJPAUtils.getResource( - AppCatalogResourceType.UNICORE_JOB_SUBMISSION, unicoreJobSubmission); - unicoreSubmissionResourceList.add(unicoreJobSubmissionResource); - } - } - } - else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Unicore submission resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Unicore Submission 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 unicoreSubmissionResourceList; - } - - @Override - public List<AppCatalogResource> getAll() throws AppCatalogException { - // TODO Auto-generated method stub - return null; - } - - @Override - public List<String> getAllIds() throws AppCatalogException { - // TODO Auto-generated method stub - return null; - } - - public List<String> getIds(String fieldName, Object value) throws AppCatalogException { - List<String> globusSubmissionResourceIDs = new ArrayList<String>(); - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - Query q; - AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(GLOBUS_SUBMISSION); - List results; - if (fieldName.equals(GlobusJobSubmissionConstants.SUBMISSION_ID)) { - generator.setParameter(GlobusJobSubmissionConstants.SUBMISSION_ID, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - GlobusJobSubmission globusJobSubmission = (GlobusJobSubmission) result; - globusSubmissionResourceIDs.add(globusJobSubmission.getSubmissionID()); - } - } - } else if (fieldName.equals(GlobusJobSubmissionConstants.GLOBUS_GATEKEEPER_EP)) { - generator.setParameter(GlobusJobSubmissionConstants.GLOBUS_GATEKEEPER_EP, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - GlobusJobSubmission globusJobSubmission = (GlobusJobSubmission) result; - globusSubmissionResourceIDs.add(globusJobSubmission.getSubmissionID()); - } - } - } - else if (fieldName.equals(GlobusJobSubmissionConstants.SECURITY_PROTOCAL)) { - generator.setParameter(GlobusJobSubmissionConstants.SECURITY_PROTOCAL, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - GlobusJobSubmission globusJobSubmission = (GlobusJobSubmission) result; - globusSubmissionResourceIDs.add(globusJobSubmission.getSubmissionID()); - } - } - } else if (fieldName.equals(GlobusJobSubmissionConstants.RESOURCE_JOB_MANAGER)) { - generator.setParameter(GlobusJobSubmissionConstants.RESOURCE_JOB_MANAGER, value); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - GlobusJobSubmission globusJobSubmission = (GlobusJobSubmission) result; - globusSubmissionResourceIDs.add(globusJobSubmission.getSubmissionID()); - } - } - } else { - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported field name for Globus Submission resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported field name for Globus Submission 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 globusSubmissionResourceIDs; - } - - public void save() throws AppCatalogException { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - UnicoreJobSubmission existingUnicoreSubmission = em.find(UnicoreJobSubmission.class, jobSubmissionInterfaceId); - em.close(); - - em = AppCatalogJPAUtils.getEntityManager(); - em.getTransaction().begin(); - if (existingUnicoreSubmission != null) { - existingUnicoreSubmission.setSubmissionID(jobSubmissionInterfaceId);; - existingUnicoreSubmission.setUnicoreEndpointUrl(unicoreEndpointUrl); - existingUnicoreSubmission.setSecurityProtocol(securityProtocol); - - em.merge(existingUnicoreSubmission); - } else { - UnicoreJobSubmission unicoreJobSubmission = new UnicoreJobSubmission(); - unicoreJobSubmission.setSubmissionID(jobSubmissionInterfaceId); - unicoreJobSubmission.setUnicoreEndpointUrl(unicoreEndpointUrl); - unicoreJobSubmission.setSecurityProtocol(securityProtocol); - em.persist(unicoreJobSubmission); - } - 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 { - EntityManager em = null; - try { - em = AppCatalogJPAUtils.getEntityManager(); - UnicoreJobSubmission unicoreJobSubmission = em.find(UnicoreJobSubmission.class, identifier); - em.close(); - return unicoreJobSubmission != 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 void setjobSubmissionInterfaceId(String jobSubmissionInterfaceId) { - this.jobSubmissionInterfaceId = jobSubmissionInterfaceId; - } - - public String getSecurityProtocol() { - return securityProtocol; - } - - public void setSecurityProtocol(String securityProtocol) { - this.securityProtocol = securityProtocol; - } - - public String getUnicoreEndpointUrl() { - return unicoreEndpointUrl; - } - - public void setUnicoreEndpointUrl(String unicoreEndpointUrl) { - this.unicoreEndpointUrl = unicoreEndpointUrl; - } - -}
