http://git-wip-us.apache.org/repos/asf/airavata/blob/5a648a60/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/TaskDetailResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/TaskDetailResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/TaskDetailResource.java deleted file mode 100644 index 5144fe2..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/TaskDetailResource.java +++ /dev/null @@ -1,748 +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.experiment.catalog.resources; - -import org.apache.airavata.experiment.catalog.Resource; -import org.apache.airavata.experiment.catalog.ResourceType; -import org.apache.airavata.experiment.catalog.ResourceUtils; -import org.apache.airavata.experiment.catalog.model.*; -import org.apache.airavata.experiment.catalog.utils.QueryGenerator; -import org.apache.airavata.registry.cpi.RegistryException; -import org.apache.airavata.registry.cpi.utils.StatusType; -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 TaskDetailResource extends AbstractResource { - private static final Logger logger = LoggerFactory.getLogger(TaskDetailResource.class); - private String taskId; - private String nodeId; - private Timestamp creationTime; - private String applicationId; - private String applicationVersion; - private String applicationDeploymentId; - private boolean enableEmailNotifications; - private List<ApplicationInputResource> applicationInputs; - private List<ApplicationOutputResource> applicationOutputs; - private ComputationSchedulingResource schedulingResource; - private AdvanceInputDataHandlingResource inputDataHandlingResource; - private AdvancedOutputDataHandlingResource outputDataHandlingResource; - private StatusResource taskStatus; - private List<JobDetailResource> jobDetailResources; - private List<DataTransferDetailResource> transferDetailResourceList; - private List<NotificationEmailResource> emailResourceList; - private List<ErrorDetailResource> errors; - - public List<JobDetailResource> getJobDetailResources() { - return jobDetailResources; - } - - public void setJobDetailResources(List<JobDetailResource> jobDetailResources) { - this.jobDetailResources = jobDetailResources; - } - - public void setApplicationInputs(List<ApplicationInputResource> applicationInputs) { - this.applicationInputs = applicationInputs; - } - - public void setApplicationOutputs(List<ApplicationOutputResource> applicationOutputs) { - this.applicationOutputs = applicationOutputs; - } - - public ComputationSchedulingResource getSchedulingResource() { - return schedulingResource; - } - - public void setSchedulingResource(ComputationSchedulingResource schedulingResource) { - this.schedulingResource = schedulingResource; - } - - public AdvanceInputDataHandlingResource getInputDataHandlingResource() { - return inputDataHandlingResource; - } - - public void setInputDataHandlingResource(AdvanceInputDataHandlingResource inputDataHandlingResource) { - this.inputDataHandlingResource = inputDataHandlingResource; - } - - public AdvancedOutputDataHandlingResource getOutputDataHandlingResource() { - return outputDataHandlingResource; - } - - public void setOutputDataHandlingResource(AdvancedOutputDataHandlingResource outputDataHandlingResource) { - this.outputDataHandlingResource = outputDataHandlingResource; - } - - public void setTaskStatus(StatusResource taskStatus) { - this.taskStatus = taskStatus; - } - - public List<DataTransferDetailResource> getTransferDetailResourceList() { - return transferDetailResourceList; - } - - public void setTransferDetailResourceList(List<DataTransferDetailResource> transferDetailResourceList) { - this.transferDetailResourceList = transferDetailResourceList; - } - - public List<NotificationEmailResource> getEmailResourceList() { - return emailResourceList; - } - - public void setEmailResourceList(List<NotificationEmailResource> emailResourceList) { - this.emailResourceList = emailResourceList; - } - - public List<ErrorDetailResource> getErrors() { - return errors; - } - - public void setErrors(List<ErrorDetailResource> errors) { - this.errors = errors; - } - - public boolean isEnableEmailNotifications() { - return enableEmailNotifications; - } - - public void setEnableEmailNotifications(boolean enableEmailNotifications) { - this.enableEmailNotifications = enableEmailNotifications; - } - - public String getTaskId() { - return taskId; - } - - public void setTaskId(String taskId) { - this.taskId = taskId; - } - - public String getNodeId() { - return nodeId; - } - - public void setNodeId(String nodeId) { - this.nodeId = nodeId; - } - - public Timestamp getCreationTime() { - return creationTime; - } - - public void setCreationTime(Timestamp creationTime) { - this.creationTime = creationTime; - } - - public String getApplicationId() { - return applicationId; - } - - public void setApplicationId(String applicationId) { - this.applicationId = applicationId; - } - - public String getApplicationVersion() { - return applicationVersion; - } - - public void setApplicationVersion(String applicationVersion) { - this.applicationVersion = applicationVersion; - } - - - public Resource create(ResourceType type) throws RegistryException{ - switch (type){ - case ERROR_DETAIL: - ErrorDetailResource errorDetailResource = new ErrorDetailResource(); - errorDetailResource.setTaskId(taskId); - return errorDetailResource; - case NOTIFICATION_EMAIL: - NotificationEmailResource emailResource = new NotificationEmailResource(); - emailResource.setTaskId(taskId); - return emailResource; - case APPLICATION_INPUT: - ApplicationInputResource applicationInputResource = new ApplicationInputResource(); - applicationInputResource.setTaskId(taskId); - return applicationInputResource; - case APPLICATION_OUTPUT: - ApplicationOutputResource applicationOutputResource = new ApplicationOutputResource(); - applicationOutputResource.setTaskId(taskId); - return applicationOutputResource; - case JOB_DETAIL: - JobDetailResource jobDetailResource = new JobDetailResource(); - jobDetailResource.setTaskId(taskId); - return jobDetailResource; - case DATA_TRANSFER_DETAIL: - DataTransferDetailResource dataTransferDetailResource = new DataTransferDetailResource(); - dataTransferDetailResource.setTaskId(taskId); - return dataTransferDetailResource; - case STATUS: - StatusResource statusResource = new StatusResource(); - statusResource.setTaskId(taskId); - return statusResource; - case COMPUTATIONAL_RESOURCE_SCHEDULING: - ComputationSchedulingResource schedulingResource = new ComputationSchedulingResource(); - schedulingResource.setTaskId(taskId); - return schedulingResource; - case ADVANCE_INPUT_DATA_HANDLING: - AdvanceInputDataHandlingResource inputDataHandlingResource = new AdvanceInputDataHandlingResource(); - inputDataHandlingResource.setTaskId(taskId); - return inputDataHandlingResource; - case ADVANCE_OUTPUT_DATA_HANDLING: - AdvancedOutputDataHandlingResource outputDataHandlingResource = new AdvancedOutputDataHandlingResource(); - outputDataHandlingResource.setTaskId(taskId); - return outputDataHandlingResource; - case QOS_PARAM: - QosParamResource qosParamResource = new QosParamResource(); - qosParamResource.setTaskId(taskId); - return qosParamResource; - default: - logger.error("Unsupported resource type for task detail resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported resource type for task detail resource."); - } - } - - - public void remove(ResourceType type, Object name) throws RegistryException{ - EntityManager em = null; - try { - em = ResourceUtils.getEntityManager(); - em.getTransaction().begin(); - Query q; - QueryGenerator generator; - switch (type) { - case ERROR_DETAIL: - generator = new QueryGenerator(ERROR_DETAIL); - generator.setParameter(ErrorDetailConstants.TASK_ID, name); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - case NOTIFICATION_EMAIL: - generator = new QueryGenerator(NOTIFICATION_EMAIL); - generator.setParameter(NotificationEmailConstants.TASK_ID, name); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - case APPLICATION_INPUT: - generator = new QueryGenerator(APPLICATION_INPUT); - generator.setParameter(ApplicationInputConstants.TASK_ID, name); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - case APPLICATION_OUTPUT: - generator = new QueryGenerator(APPLICATION_OUTPUT); - generator.setParameter(ApplicationOutputConstants.TASK_ID, name); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - case JOB_DETAIL: - generator = new QueryGenerator(JOB_DETAIL); - generator.setParameter(JobDetailConstants.TASK_ID, taskId); - generator.setParameter(JobDetailConstants.JOB_ID, name); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - case DATA_TRANSFER_DETAIL: - generator = new QueryGenerator(DATA_TRANSFER_DETAIL); - generator.setParameter(DataTransferDetailConstants.TRANSFER_ID, name); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - case STATUS: - generator = new QueryGenerator(STATUS); - generator.setParameter(StatusConstants.TASK_ID, name); - generator.setParameter(StatusConstants.STATUS_TYPE, StatusType.TASK.toString()); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - case COMPUTATIONAL_RESOURCE_SCHEDULING: - generator = new QueryGenerator(COMPUTATIONAL_RESOURCE_SCHEDULING); - generator.setParameter(ComputationalResourceSchedulingConstants.TASK_ID, name); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - case ADVANCE_INPUT_DATA_HANDLING: - generator = new QueryGenerator(ADVANCE_INPUT_DATA_HANDLING); - generator.setParameter(AdvancedInputDataHandlingConstants.TASK_ID, name); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - case ADVANCE_OUTPUT_DATA_HANDLING: - generator = new QueryGenerator(ADVANCE_OUTPUT_DATA_HANDLING); - generator.setParameter(AdvancedOutputDataHandlingConstants.TASK_ID, name); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - case QOS_PARAM: - generator = new QueryGenerator(QOS_PARAMS); - generator.setParameter(QosParamsConstants.TASK_ID, name); - q = generator.deleteQuery(em); - q.executeUpdate(); - break; - default: - logger.error("Unsupported resource type for task detail resource.", new IllegalArgumentException()); - break; - } - em.getTransaction().commit(); - em.close(); - } catch (Exception e) { - logger.error(e.getMessage(), e); - throw new RegistryException(e); - } finally { - if (em != null && em.isOpen()) { - if (em.getTransaction().isActive()){ - em.getTransaction().rollback(); - } - em.close(); - } - } - } - - - public Resource get(ResourceType type, Object name) throws RegistryException{ - EntityManager em = null; - try { - em = ResourceUtils.getEntityManager(); - em.getTransaction().begin(); - QueryGenerator generator; - Query q; - switch (type) { - case ERROR_DETAIL: - generator = new QueryGenerator(ERROR_DETAIL); - generator.setParameter(ErrorDetailConstants.TASK_ID, name); - q = generator.selectQuery(em); - ErrorDetail errorDetail = (ErrorDetail) q.getSingleResult(); - ErrorDetailResource errorDetailResource = (ErrorDetailResource) Utils.getResource(ResourceType.ERROR_DETAIL, errorDetail); - em.getTransaction().commit(); - em.close(); - return errorDetailResource; - case NOTIFICATION_EMAIL: - generator = new QueryGenerator(NOTIFICATION_EMAIL); - generator.setParameter(NotificationEmailConstants.TASK_ID, name); - q = generator.selectQuery(em); - Notification_Email notificationEmail = (Notification_Email) q.getSingleResult(); - NotificationEmailResource emailResource = (NotificationEmailResource) Utils.getResource(ResourceType.NOTIFICATION_EMAIL, notificationEmail); - em.getTransaction().commit(); - em.close(); - return emailResource; - case APPLICATION_INPUT: - generator = new QueryGenerator(APPLICATION_INPUT); - generator.setParameter(ApplicationInputConstants.TASK_ID, name); - q = generator.selectQuery(em); - ApplicationInput applicationInput = (ApplicationInput) q.getSingleResult(); - ApplicationInputResource inputResource = (ApplicationInputResource) Utils.getResource(ResourceType.APPLICATION_INPUT, applicationInput); - em.getTransaction().commit(); - em.close(); - return inputResource; - case APPLICATION_OUTPUT: - generator = new QueryGenerator(APPLICATION_OUTPUT); - generator.setParameter(ApplicationOutputConstants.TASK_ID, name); - q = generator.selectQuery(em); - ApplicationOutput applicationOutput = (ApplicationOutput) q.getSingleResult(); - ApplicationOutputResource outputResource = (ApplicationOutputResource) Utils.getResource(ResourceType.APPLICATION_OUTPUT, applicationOutput); - em.getTransaction().commit(); - em.close(); - return outputResource; - case JOB_DETAIL: - generator = new QueryGenerator(JOB_DETAIL); - generator.setParameter(JobDetailConstants.JOB_ID, name); - generator.setParameter(JobDetailConstants.TASK_ID, taskId); - q = generator.selectQuery(em); - JobDetail jobDetail = (JobDetail) q.getSingleResult(); - JobDetailResource jobDetailResource = (JobDetailResource) Utils.getResource(ResourceType.JOB_DETAIL, jobDetail); - em.getTransaction().commit(); - em.close(); - return jobDetailResource; - case DATA_TRANSFER_DETAIL: - generator = new QueryGenerator(DATA_TRANSFER_DETAIL); - generator.setParameter(DataTransferDetailConstants.TRANSFER_ID, name); - q = generator.selectQuery(em); - DataTransferDetail transferDetail = (DataTransferDetail) q.getSingleResult(); - DataTransferDetailResource transferDetailResource = (DataTransferDetailResource) Utils.getResource(ResourceType.DATA_TRANSFER_DETAIL, transferDetail); - em.getTransaction().commit(); - em.close(); - return transferDetailResource; - case STATUS: - generator = new QueryGenerator(STATUS); - generator.setParameter(StatusConstants.TASK_ID, name); - generator.setParameter(StatusConstants.STATUS_TYPE, StatusType.TASK.toString()); - q = generator.selectQuery(em); - Status status = (Status) q.getSingleResult(); - StatusResource statusResource = (StatusResource) Utils.getResource(ResourceType.STATUS, status); - em.getTransaction().commit(); - em.close(); - return statusResource; - case COMPUTATIONAL_RESOURCE_SCHEDULING: - generator = new QueryGenerator(COMPUTATIONAL_RESOURCE_SCHEDULING); - generator.setParameter(ComputationalResourceSchedulingConstants.TASK_ID, name); - q = generator.selectQuery(em); - Computational_Resource_Scheduling resourceScheduling = (Computational_Resource_Scheduling) q.getSingleResult(); - ComputationSchedulingResource schedulingResource = (ComputationSchedulingResource) Utils.getResource(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING, resourceScheduling); - em.getTransaction().commit(); - em.close(); - return schedulingResource; - case ADVANCE_INPUT_DATA_HANDLING: - generator = new QueryGenerator(ADVANCE_INPUT_DATA_HANDLING); - generator.setParameter(AdvancedInputDataHandlingConstants.TASK_ID, name); - q = generator.selectQuery(em); - AdvancedInputDataHandling dataHandling = (AdvancedInputDataHandling) q.getSingleResult(); - AdvanceInputDataHandlingResource inputDataHandlingResource = (AdvanceInputDataHandlingResource) Utils.getResource(ResourceType.ADVANCE_INPUT_DATA_HANDLING, dataHandling); - em.getTransaction().commit(); - em.close(); - return inputDataHandlingResource; - case ADVANCE_OUTPUT_DATA_HANDLING: - generator = new QueryGenerator(ADVANCE_OUTPUT_DATA_HANDLING); - generator.setParameter(AdvancedOutputDataHandlingConstants.TASK_ID, name); - q = generator.selectQuery(em); - AdvancedOutputDataHandling outputDataHandling = (AdvancedOutputDataHandling) q.getSingleResult(); - AdvancedOutputDataHandlingResource outputDataHandlingResource = (AdvancedOutputDataHandlingResource) Utils.getResource(ResourceType.ADVANCE_OUTPUT_DATA_HANDLING, outputDataHandling); - em.getTransaction().commit(); - em.close(); - return outputDataHandlingResource; - case QOS_PARAM: - generator = new QueryGenerator(QOS_PARAMS); - generator.setParameter(QosParamsConstants.TASK_ID, name); - q = generator.selectQuery(em); - QosParam qosParam = (QosParam) q.getSingleResult(); - QosParamResource qosParamResource = (QosParamResource) Utils.getResource(ResourceType.QOS_PARAM, qosParam); - em.getTransaction().commit(); - em.close(); - return qosParamResource; - default: - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported resource type for workflow node resource.", new IllegalArgumentException()); - throw new IllegalArgumentException("Unsupported resource type for workflow node resource."); - } - } catch (Exception e) { -// logger.error(e.getMessage(), e); - throw new RegistryException(e); - } finally { - if (em != null && em.isOpen()) { - if (em.getTransaction().isActive()){ - em.getTransaction().rollback(); - } - em.close(); - } - } - } - - - public List<Resource> get(ResourceType type) throws RegistryException{ - List<Resource> resourceList = new ArrayList<Resource>(); - EntityManager em = null; - try { - em = ResourceUtils.getEntityManager(); - em.getTransaction().begin(); - Query q; - QueryGenerator generator; - List results; - switch (type) { - case ERROR_DETAIL: - generator = new QueryGenerator(ERROR_DETAIL); - generator.setParameter(ErrorDetailConstants.TASK_ID, taskId); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ErrorDetail errorDetail = (ErrorDetail) result; - ErrorDetailResource errorDetailResource = - (ErrorDetailResource) Utils.getResource(ResourceType.ERROR_DETAIL, errorDetail); - resourceList.add(errorDetailResource); - } - } - break; - case NOTIFICATION_EMAIL: - generator = new QueryGenerator(NOTIFICATION_EMAIL); - generator.setParameter(NotificationEmailConstants.TASK_ID, taskId); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - Notification_Email notificationEmail = (Notification_Email) result; - NotificationEmailResource emailResource = - (NotificationEmailResource) Utils.getResource(ResourceType.NOTIFICATION_EMAIL, notificationEmail); - resourceList.add(emailResource); - } - } - break; - case APPLICATION_INPUT: - generator = new QueryGenerator(APPLICATION_INPUT); - generator.setParameter(ApplicationInputConstants.TASK_ID, taskId); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ApplicationInput applicationInput = (ApplicationInput) result; - ApplicationInputResource inputResource = - (ApplicationInputResource) Utils.getResource(ResourceType.APPLICATION_INPUT, applicationInput); - resourceList.add(inputResource); - } - } - break; - case APPLICATION_OUTPUT: - generator = new QueryGenerator(APPLICATION_OUTPUT); - generator.setParameter(ApplicationOutputConstants.TASK_ID, taskId); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - ApplicationOutput applicationOutput = (ApplicationOutput) result; - ApplicationOutputResource outputResource = - (ApplicationOutputResource) Utils.getResource(ResourceType.APPLICATION_OUTPUT, applicationOutput); - resourceList.add(outputResource); - } - } - break; - case JOB_DETAIL: - generator = new QueryGenerator(JOB_DETAIL); - generator.setParameter(JobDetailConstants.TASK_ID, taskId); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - JobDetail jobDetail = (JobDetail) result; - JobDetailResource jobDetailResource = - (JobDetailResource) Utils.getResource(ResourceType.JOB_DETAIL, jobDetail); - resourceList.add(jobDetailResource); - } - } - break; - case DATA_TRANSFER_DETAIL: - generator = new QueryGenerator(DATA_TRANSFER_DETAIL); - generator.setParameter(DataTransferDetailConstants.TASK_ID, taskId); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - DataTransferDetail transferDetail = (DataTransferDetail) result; - DataTransferDetailResource transferDetailResource = - (DataTransferDetailResource) Utils.getResource(ResourceType.DATA_TRANSFER_DETAIL, transferDetail); - resourceList.add(transferDetailResource); - } - } - break; - case STATUS: - generator = new QueryGenerator(STATUS); - generator.setParameter(StatusConstants.TASK_ID, taskId); - q = generator.selectQuery(em); - results = q.getResultList(); - if (results.size() != 0) { - for (Object result : results) { - Status status = (Status) result; - StatusResource statusResource = - (StatusResource) Utils.getResource(ResourceType.STATUS, status); - resourceList.add(statusResource); - } - } - break; - default: - em.getTransaction().commit(); - em.close(); - logger.error("Unsupported resource type for workflow node details resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - em.getTransaction().commit(); - em.close(); - } catch (Exception e) { - logger.error(e.getMessage(), e); - throw new RegistryException(e); - } finally { - if (em != null && em.isOpen()) { - if (em.getTransaction().isActive()){ - em.getTransaction().rollback(); - } - em.close(); - } - } - return resourceList; - } - - - public void save() throws RegistryException{ - EntityManager em = null; - try { - em = ResourceUtils.getEntityManager(); - TaskDetail taskDetail = em.find(TaskDetail.class, taskId); - em.close(); - em = ResourceUtils.getEntityManager(); - em.getTransaction().begin(); - if (taskDetail != null) { - updateTaskDetail(taskDetail, nodeId); - em.merge(taskDetail); - } else { - taskDetail = new TaskDetail(); - updateTaskDetail(taskDetail, nodeId); - em.persist(taskDetail); - } - em.getTransaction().commit(); - } catch (Exception e) { - logger.error(e.getMessage(), e); - throw new RegistryException(e); - } finally { - if (em != null && em.isOpen()) { - if (em.getTransaction().isActive()){ - em.getTransaction().rollback(); - } - em.close(); - } - } - } - - private void updateTaskDetail(TaskDetail taskDetail, String nodeId) { - taskDetail.setTaskId(taskId); - taskDetail.setNodeId(nodeId); - taskDetail.setCreationTime(creationTime); - taskDetail.setAppId(applicationId); - taskDetail.setAppVersion(applicationVersion); - taskDetail.setAllowNotification(enableEmailNotifications); - taskDetail.setApplicationDeploymentId(getApplicationDeploymentId()); - } - - public List<ApplicationInputResource> getApplicationInputs() { - return applicationInputs; - } - - public List<ApplicationOutputResource> getApplicationOutputs() { - return applicationOutputs; - } - - public List<ApplicationInputResource> getApplicationInputs1() throws RegistryException{ - List<ApplicationInputResource> applicationInputResources = new ArrayList<ApplicationInputResource>(); - List<Resource> resources = get(ResourceType.APPLICATION_INPUT); - for (Resource resource : resources) { - ApplicationInputResource inputResource = (ApplicationInputResource) resource; - applicationInputResources.add(inputResource); - } - return applicationInputResources; - } - - public List<ApplicationOutputResource> getApplicationOutputs1() throws RegistryException{ - List<ApplicationOutputResource> outputResources = new ArrayList<ApplicationOutputResource>(); - List<Resource> resources = get(ResourceType.APPLICATION_OUTPUT); - for (Resource resource : resources) { - ApplicationOutputResource outputResource = (ApplicationOutputResource) resource; - outputResources.add(outputResource); - } - return outputResources; - } - - public StatusResource getTaskStatus() { - return taskStatus; - } - - public StatusResource getTaskStatus1() throws RegistryException{ - List<Resource> resources = get(ResourceType.STATUS); - for (Resource resource : resources) { - StatusResource taskStatus = (StatusResource) resource; - if(taskStatus.getStatusType().equals(StatusType.TASK.toString())){ - if (taskStatus.getState() == null || taskStatus.getState().equals("") ){ - taskStatus.setState("UNKNOWN"); - } - return taskStatus; - } - } - return null; - } - - public List<JobDetailResource> getJobDetailList() throws RegistryException{ - List<JobDetailResource> jobDetailResources = new ArrayList<JobDetailResource>(); - List<Resource> resources = get(ResourceType.JOB_DETAIL); - for (Resource resource : resources) { - JobDetailResource jobDetailResource = (JobDetailResource) resource; - jobDetailResources.add(jobDetailResource); - } - return jobDetailResources; - } - - public List<DataTransferDetailResource> getDataTransferDetailList() throws RegistryException{ - List<DataTransferDetailResource> transferDetails = new ArrayList<DataTransferDetailResource>(); - List<Resource> resources = get(ResourceType.DATA_TRANSFER_DETAIL); - for (Resource resource : resources) { - DataTransferDetailResource transferDetailResource = (DataTransferDetailResource) resource; - transferDetails.add(transferDetailResource); - } - return transferDetails; - } - - public List<ErrorDetailResource> getErrorDetailList() throws RegistryException{ - List<ErrorDetailResource> errorDetailResources = new ArrayList<ErrorDetailResource>(); - List<Resource> resources = get(ResourceType.ERROR_DETAIL); - for (Resource resource : resources) { - ErrorDetailResource errorDetailResource = (ErrorDetailResource) resource; - errorDetailResources.add(errorDetailResource); - } - return errorDetailResources; - } - - public ComputationSchedulingResource getComputationScheduling (String taskId) throws RegistryException{ - return (ComputationSchedulingResource)get(ResourceType.COMPUTATIONAL_RESOURCE_SCHEDULING, taskId); - } - - public AdvanceInputDataHandlingResource getInputDataHandling (String taskId) throws RegistryException{ - return (AdvanceInputDataHandlingResource)get(ResourceType.ADVANCE_INPUT_DATA_HANDLING, taskId); - } - - public AdvancedOutputDataHandlingResource getOutputDataHandling (String taskId) throws RegistryException{ - return (AdvancedOutputDataHandlingResource)get(ResourceType.ADVANCE_OUTPUT_DATA_HANDLING, taskId); - } - - public JobDetailResource createJobDetail (String jobId) throws RegistryException{ - JobDetailResource resource = (JobDetailResource)create(ResourceType.JOB_DETAIL); - resource.setJobId(jobId); - return resource; - } - - public JobDetailResource getJobDetail (String jobId) throws RegistryException{ - return (JobDetailResource)get(ResourceType.JOB_DETAIL, jobId); - } - - public DataTransferDetailResource getDataTransferDetail (String dataTransferId) throws RegistryException{ - return (DataTransferDetailResource)get(ResourceType.DATA_TRANSFER_DETAIL, dataTransferId); - } - - public boolean isTaskStatusExist (String taskId) throws RegistryException{ - return isExists(ResourceType.STATUS, taskId); - } - - public String getApplicationDeploymentId() { - return applicationDeploymentId; - } - - public void setApplicationDeploymentId(String applicationDeploymentId) { - this.applicationDeploymentId = applicationDeploymentId; - } - - public List<NotificationEmailResource> getNotificationEmails () throws RegistryException{ - List<NotificationEmailResource> emailResources = new ArrayList<NotificationEmailResource>(); - List<Resource> resources = get(ResourceType.NOTIFICATION_EMAIL); - for (Resource resource : resources) { - emailResources.add((NotificationEmailResource) resource); - } - return emailResources; - } -}
http://git-wip-us.apache.org/repos/asf/airavata/blob/5a648a60/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/UserResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/UserResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/UserResource.java deleted file mode 100644 index 5fc7f71..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experimet/catalog/resources/UserResource.java +++ /dev/null @@ -1,186 +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.experiment.catalog.resources; - -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.airavata.common.utils.SecurityUtil; -import org.apache.airavata.common.utils.ServerSettings; -import org.apache.airavata.experiment.catalog.Resource; -import org.apache.airavata.experiment.catalog.ResourceType; -import org.apache.airavata.experiment.catalog.ResourceUtils; -import org.apache.airavata.experiment.catalog.model.Users; -import org.apache.airavata.registry.cpi.RegistryException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.persistence.EntityManager; -import java.security.NoSuchAlgorithmException; -import java.util.List; - -public class UserResource extends AbstractResource { - private final static Logger logger = LoggerFactory.getLogger(UserResource.class); - private String userName; - private String password; - /** - * - */ - public UserResource() { - } - - /** - * - * @param userName user name - */ - public void setUserName(String userName) { - this.userName = userName; - } - - /** - * - * @return user name - */ - public String getUserName() { - return userName; - } - - - /** - * User is a hypothical data structure. - * @param type child resource type - * @return child resource - */ - public Resource create(ResourceType type) throws RegistryException { - logger.error("Unsupported resource type for user resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - /** - * - * @param type child resource type - * @param name child resource name - */ - public void remove(ResourceType type, Object name) throws RegistryException{ - logger.error("Unsupported resource type for user resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - /** - * - * @param type child resource type - * @param name child resource name - * @return UnsupportedOperationException - */ - public Resource get(ResourceType type, Object name) throws RegistryException { - logger.error("Unsupported resource type for user resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - /** - * - * @param type child resource type - * @return UnsupportedOperationException - */ - public List<Resource> get(ResourceType type) throws RegistryException{ - logger.error("Unsupported resource type for user resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - /** - * save user to the database - */ - public void save() throws RegistryException { - EntityManager em = null; - try { - em = ResourceUtils.getEntityManager(); - Users existingUser = em.find(Users.class, userName); - em.close(); - - em = ResourceUtils.getEntityManager(); - em.getTransaction().begin(); - Users user = new Users(); - user.setUser_name(userName); - if (password != null && !password.equals("")) { - try { - user.setPassword(SecurityUtil.digestString(password, - ServerSettings.getSetting("default.registry.password.hash.method"))); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException("Error hashing default admin password. Invalid hash algorithm.", e); - } catch (ApplicationSettingsException e) { - throw new RuntimeException("Error reading hash algorithm from configurations", e); - } - } - if (existingUser != null) { - if (password != null && !password.equals("")) { - try { - existingUser.setPassword(SecurityUtil.digestString(password, - ServerSettings.getSetting("default.registry.password.hash.method"))); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException("Error hashing default admin password. Invalid hash algorithm.", e); - } catch (ApplicationSettingsException e) { - throw new RuntimeException("Error reading hash algorithm from configurations", e); - } - } - user = em.merge(existingUser); - } else { - em.persist(user); - } - em.getTransaction().commit(); - em.close(); - } catch (Exception e) { - logger.error(e.getMessage(), e); - throw new RegistryException(e); - } finally { - if (em != null && em.isOpen()) { - if (em.getTransaction().isActive()){ - em.getTransaction().rollback(); - } - em.close(); - } - } - } - - /** - * - * @param type child resource type - * @param name child resource name - * @return UnsupportedOperationException - */ - public boolean isExists(ResourceType type, Object name) throws RegistryException{ - logger.error("Unsupported resource type for user resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - /** - * - * @return password - */ - public String getPassword() { - return password; - } - - /** - * - * @param password password - */ - public void setPassword(String password) { - this.password = password; - } -}
