http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/GatewayRegistry.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/GatewayRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/GatewayRegistry.java index d97f0d4..4fb29e5 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/GatewayRegistry.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/GatewayRegistry.java @@ -26,7 +26,7 @@ import org.apache.airavata.common.utils.ServerSettings; import org.apache.airavata.model.workspace.Gateway; import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils; import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource; -import org.apache.airavata.registry.core.experiment.catalog.resources.GatewayExperimentCatResource; +import org.apache.airavata.registry.core.experiment.catalog.resources.GatewayResource; import org.apache.airavata.registry.core.experiment.catalog.utils.ThriftDataModelConversion; import org.apache.airavata.registry.cpi.RegistryException; import org.slf4j.Logger; @@ -38,17 +38,17 @@ import java.util.List; public class GatewayRegistry { private final static Logger logger = LoggerFactory.getLogger(GatewayRegistry.class); - public GatewayExperimentCatResource getDefaultGateway () throws ApplicationSettingsException, RegistryException { - return (GatewayExperimentCatResource) ExpCatResourceUtils.getGateway(ServerSettings.getDefaultUserGateway()); + public GatewayResource getDefaultGateway () throws ApplicationSettingsException, RegistryException { + return (GatewayResource) ExpCatResourceUtils.getGateway(ServerSettings.getDefaultUserGateway()); } - public GatewayExperimentCatResource getExistingGateway (String gatewayName) throws RegistryException { - return (GatewayExperimentCatResource) ExpCatResourceUtils.getGateway(gatewayName); + public GatewayResource getExistingGateway (String gatewayName) throws RegistryException { + return (GatewayResource) ExpCatResourceUtils.getGateway(gatewayName); } public String addGateway (Gateway gateway) throws RegistryException{ try { - GatewayExperimentCatResource resource = (GatewayExperimentCatResource) ExpCatResourceUtils.createGateway(gateway.getGatewayId()); + GatewayResource resource = (GatewayResource) ExpCatResourceUtils.createGateway(gateway.getGatewayId()); resource.setGatewayName(gateway.getGatewayName()); resource.setEmailAddress(gateway.getEmailAddress()); resource.setDomain(gateway.getDomain()); @@ -62,7 +62,7 @@ public class GatewayRegistry { public void updateGateway (String gatewayId, Gateway updatedGateway) throws RegistryException{ try { - GatewayExperimentCatResource existingGateway = (GatewayExperimentCatResource) ExpCatResourceUtils.getGateway(gatewayId); + GatewayResource existingGateway = (GatewayResource) ExpCatResourceUtils.getGateway(gatewayId); existingGateway.setGatewayName(updatedGateway.getGatewayName()); existingGateway.setEmailAddress(updatedGateway.getEmailAddress()); existingGateway.setDomain(updatedGateway.getDomain()); @@ -75,7 +75,7 @@ public class GatewayRegistry { public Gateway getGateway (String gatewayId) throws RegistryException{ try { - GatewayExperimentCatResource resource = (GatewayExperimentCatResource) ExpCatResourceUtils.getGateway(gatewayId); + GatewayResource resource = (GatewayResource) ExpCatResourceUtils.getGateway(gatewayId); return ThriftDataModelConversion.getGateway(resource); }catch (RegistryException e){ logger.error("Error while getting gateway", e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ProjectRegistry.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ProjectRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ProjectRegistry.java index f0c4965..9e6ec07 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ProjectRegistry.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ProjectRegistry.java @@ -36,20 +36,20 @@ import org.slf4j.LoggerFactory; import java.util.*; public class ProjectRegistry { - private GatewayExperimentCatResource gatewayResource; - private WorkerExperimentCatResource workerResource; + private GatewayResource gatewayResource; + private WorkerResource workerResource; private final static Logger logger = LoggerFactory.getLogger(ProjectRegistry.class); - public ProjectRegistry(GatewayExperimentCatResource gatewayResource, UserExperimentCatResource user) throws RegistryException { + public ProjectRegistry(GatewayResource gatewayResource, UserResource user) throws RegistryException { if (!ExpCatResourceUtils.isGatewayExist(gatewayResource.getGatewayId())){ this.gatewayResource = gatewayResource; }else { - this.gatewayResource = (GatewayExperimentCatResource) ExpCatResourceUtils.getGateway(gatewayResource.getGatewayId()); + this.gatewayResource = (GatewayResource) ExpCatResourceUtils.getGateway(gatewayResource.getGatewayId()); } if (!gatewayResource.isExists(ResourceType.GATEWAY_WORKER, user.getUserName())){ workerResource = ExpCatResourceUtils.addGatewayWorker(gatewayResource, user); }else { - workerResource = (WorkerExperimentCatResource) ExpCatResourceUtils.getWorker(gatewayResource.getGatewayId(), + workerResource = (WorkerResource) ExpCatResourceUtils.getWorker(gatewayResource.getGatewayId(), user.getUserName()); } } @@ -60,7 +60,7 @@ public class ProjectRegistry { if (!ExpCatResourceUtils.isUserExist(project.getOwner())){ ExpCatResourceUtils.addUser(project.getOwner(), null); } - ProjectExperimentCatResource projectResource = new ProjectExperimentCatResource(); + ProjectResource projectResource = new ProjectResource(); projectId = getProjectId(project.getName()); projectResource.setId(projectId); project.setProjectID(projectId); @@ -68,10 +68,10 @@ public class ProjectRegistry { projectResource.setDescription(project.getDescription()); projectResource.setCreationTime(AiravataUtils.getTime(project.getCreationTime())); projectResource.setGatewayId(gatewayId); - WorkerExperimentCatResource worker = new WorkerExperimentCatResource(project.getOwner(), gatewayId); + WorkerResource worker = new WorkerResource(project.getOwner(), gatewayId); projectResource.setWorker(worker); projectResource.save(); - ProjectUserExperimentCatResource resource = (ProjectUserExperimentCatResource)projectResource.create( + ProjectUserResource resource = (ProjectUserResource)projectResource.create( ResourceType.PROJECT_USER); resource.setProjectId(project.getProjectID()); resource.setUserName(project.getOwner()); @@ -87,7 +87,7 @@ public class ProjectRegistry { List<String> sharedUsers = project.getSharedUsers(); if (sharedUsers != null && !sharedUsers.isEmpty()){ for (String username : sharedUsers){ - ProjectUserExperimentCatResource pr = (ProjectUserExperimentCatResource)projectResource. + ProjectUserResource pr = (ProjectUserResource)projectResource. create(ResourceType.PROJECT_USER); pr.setUserName(username); pr.save(); @@ -107,21 +107,21 @@ public class ProjectRegistry { public void updateProject (Project project, String projectId) throws RegistryException{ try { - ProjectExperimentCatResource existingProject = workerResource.getProject(projectId); + ProjectResource existingProject = workerResource.getProject(projectId); existingProject.setDescription(project.getDescription()); existingProject.setName(project.getName()); // existingProject.setGateway(gatewayResource); - UserExperimentCatResource user = (UserExperimentCatResource) ExpCatResourceUtils.getUser(project.getOwner()); + UserResource user = (UserResource) ExpCatResourceUtils.getUser(project.getOwner()); if (!gatewayResource.isExists(ResourceType.GATEWAY_WORKER, user.getUserName())){ workerResource = ExpCatResourceUtils.addGatewayWorker(gatewayResource, user); }else { - workerResource = (WorkerExperimentCatResource) ExpCatResourceUtils.getWorker( + workerResource = (WorkerResource) ExpCatResourceUtils.getWorker( gatewayResource.getGatewayName(), user.getUserName()); } - WorkerExperimentCatResource worker = new WorkerExperimentCatResource(project.getOwner(), gatewayResource.getGatewayId()); + WorkerResource worker = new WorkerResource(project.getOwner(), gatewayResource.getGatewayId()); existingProject.setWorker(worker); existingProject.save(); - ProjectUserExperimentCatResource resource = (ProjectUserExperimentCatResource)existingProject.create( + ProjectUserResource resource = (ProjectUserResource)existingProject.create( ResourceType.PROJECT_USER); resource.setProjectId(projectId); resource.setUserName(project.getOwner()); @@ -137,7 +137,7 @@ public class ProjectRegistry { List<String> sharedUsers = project.getSharedUsers(); if (sharedUsers != null && !sharedUsers.isEmpty()){ for (String username : sharedUsers){ - ProjectUserExperimentCatResource pr = (ProjectUserExperimentCatResource)existingProject.create( + ProjectUserResource pr = (ProjectUserResource)existingProject.create( ResourceType.PROJECT_USER); pr.setUserName(username); pr.save(); @@ -151,7 +151,7 @@ public class ProjectRegistry { public Project getProject (String projectId) throws RegistryException{ try { - ProjectExperimentCatResource project = workerResource.getProject(projectId); + ProjectResource project = workerResource.getProject(projectId); if (project != null){ return ThriftDataModelConversion.getProject(project); } @@ -190,9 +190,9 @@ public class ProjectRegistry { try { if (fieldName.equals(Constants.FieldConstants.ProjectConstants.OWNER)){ workerResource.setUser((String)value); - List<ProjectExperimentCatResource> projectList = workerResource.getProjects(); + List<ProjectResource> projectList = workerResource.getProjects(); if (projectList != null && !projectList.isEmpty()){ - for (ProjectExperimentCatResource pr : projectList){ + for (ProjectResource pr : projectList){ projects.add(ThriftDataModelConversion.getProject(pr)); } } @@ -237,19 +237,19 @@ public class ProjectRegistry { try { for (String field : filters.keySet()){ if (field.equals(Constants.FieldConstants.ProjectConstants.PROJECT_NAME)){ - fil.put(AbstractExperimentCatResource.ProjectConstants.PROJECT_NAME, filters.get(field)); + fil.put(AbstractExpCatResource.ProjectConstants.PROJECT_NAME, filters.get(field)); }else if (field.equals(Constants.FieldConstants.ProjectConstants.OWNER)){ - fil.put(AbstractExperimentCatResource.ProjectConstants.USERNAME, filters.get(field)); + fil.put(AbstractExpCatResource.ProjectConstants.USERNAME, filters.get(field)); }else if (field.equals(Constants.FieldConstants.ProjectConstants.DESCRIPTION)){ - fil.put(AbstractExperimentCatResource.ProjectConstants.DESCRIPTION, filters.get(field)); + fil.put(AbstractExpCatResource.ProjectConstants.DESCRIPTION, filters.get(field)); }else if (field.equals(Constants.FieldConstants.ProjectConstants.GATEWAY_ID)){ - fil.put(AbstractExperimentCatResource.ProjectConstants.GATEWAY_ID, filters.get(field)); + fil.put(AbstractExpCatResource.ProjectConstants.GATEWAY_ID, filters.get(field)); } } - List<ProjectExperimentCatResource> projectResources = workerResource + List<ProjectResource> projectResources = workerResource .searchProjects(fil, limit, offset, orderByIdentifier, resultOrderType); if (projectResources != null && !projectResources.isEmpty()){ - for (ProjectExperimentCatResource pr : projectResources){ + for (ProjectResource pr : projectResources){ projects.add(ThriftDataModelConversion.getProject(pr)); } } @@ -267,9 +267,9 @@ public class ProjectRegistry { try { if (fieldName.equals(Constants.FieldConstants.ProjectConstants.OWNER)){ workerResource.setUser((String)value); - List<ProjectExperimentCatResource> projectList = workerResource.getProjects(); + List<ProjectResource> projectList = workerResource.getProjects(); if (projectList != null && !projectList.isEmpty()){ - for (ProjectExperimentCatResource pr : projectList){ + for (ProjectResource pr : projectList){ projectIds.add(pr.getName()); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/RegistryFactory.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/RegistryFactory.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/RegistryFactory.java index b54e0cf..9cea1c4 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/RegistryFactory.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/RegistryFactory.java @@ -24,12 +24,14 @@ package org.apache.airavata.registry.core.experiment.catalog.impl; import org.apache.airavata.common.exception.ApplicationSettingsException; import org.apache.airavata.common.utils.ServerSettings; import org.apache.airavata.registry.cpi.ExperimentCatalog; +import org.apache.airavata.registry.cpi.Registry; import org.apache.airavata.registry.cpi.RegistryException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class RegistryFactory { private static ExperimentCatalog experimentCatalog; + private static Registry registry; private static Logger logger = LoggerFactory.getLogger(RegistryFactory.class); public static ExperimentCatalog getRegistry(String gateway, String username, String password) throws RegistryException { http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/UserReg.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/UserReg.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/UserReg.java index e720df0..6dd6130 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/UserReg.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/UserReg.java @@ -24,16 +24,16 @@ package org.apache.airavata.registry.core.experiment.catalog.impl; import org.apache.airavata.common.exception.ApplicationSettingsException; import org.apache.airavata.common.utils.ServerSettings; import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils; -import org.apache.airavata.registry.core.experiment.catalog.resources.WorkerExperimentCatResource; +import org.apache.airavata.registry.core.experiment.catalog.resources.WorkerResource; import org.apache.airavata.registry.cpi.RegistryException; public class UserReg { - public WorkerExperimentCatResource getSystemUser() throws ApplicationSettingsException, RegistryException { - return (WorkerExperimentCatResource) ExpCatResourceUtils.getWorker(ServerSettings.getDefaultUserGateway(), ServerSettings.getDefaultUser()); + public WorkerResource getSystemUser() throws ApplicationSettingsException, RegistryException { + return (WorkerResource) ExpCatResourceUtils.getWorker(ServerSettings.getDefaultUserGateway(), ServerSettings.getDefaultUser()); } - public WorkerExperimentCatResource getExistingUser (String gatewayName, String userName) throws RegistryException { - return (WorkerExperimentCatResource) ExpCatResourceUtils.getWorker(gatewayName, userName); + public WorkerResource getExistingUser (String gatewayName, String userName) throws RegistryException { + return (WorkerResource) ExpCatResourceUtils.getWorker(gatewayName, userName); } http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java new file mode 100644 index 0000000..c1adb42 --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java @@ -0,0 +1,317 @@ +/* + * + * 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.experiment.catalog.resources; + +import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource; +import org.apache.airavata.registry.core.experiment.catalog.ResourceType; +import org.apache.airavata.registry.cpi.RegistryException; + +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractExpCatResource implements ExperimentCatResource { + // table names + public static final String GATEWAY = "Gateway"; + public static final String CONFIGURATION = "Configuration"; + public static final String USERS = "Users"; + public static final String GATEWAY_WORKER = "Gateway_Worker"; + public static final String PROJECT = "Project"; + public static final String PROJECT_USER = "ProjectUser"; + public static final String EXPERIMENT = "Experiment"; + public static final String NOTIFICATION_EMAIL = "Notification_Email"; + public static final String EXPERIMENT_CONFIG_DATA = "ExperimentConfigData"; + public static final String EXPERIMENT_INPUT = "Experiment_Input"; + public static final String EXPERIMENT_OUTPUT = "Experiment_Output"; + public static final String WORKFLOW_NODE_DETAIL = "WorkflowNodeDetail"; + public static final String TASK_DETAIL = "TaskDetail"; + public static final String ERROR_DETAIL = "ErrorDetail"; + public static final String APPLICATION_INPUT = "ApplicationInput"; + public static final String APPLICATION_OUTPUT = "ApplicationOutput"; + public static final String NODE_INPUT = "NodeInput"; + public static final String NODE_OUTPUT = "NodeOutput"; + public static final String JOB_DETAIL = "JobDetail"; + public static final String DATA_TRANSFER_DETAIL = "DataTransferDetail"; + public static final String STATUS = "Status"; + public static final String CONFIG_DATA = "ExperimentConfigData"; + public static final String COMPUTATIONAL_RESOURCE_SCHEDULING = "Computational_Resource_Scheduling"; + public static final String ADVANCE_INPUT_DATA_HANDLING = "AdvancedInputDataHandling"; + public static final String ADVANCE_OUTPUT_DATA_HANDLING = "AdvancedOutputDataHandling"; + public static final String QOS_PARAMS = "QosParam"; + + + // Gateway Table + public final class GatewayConstants { + public static final String GATEWAY_ID = "gateway_id"; + public static final String GATEWAY_NAME = "gateway_name"; + public static final String DOMAIN = "domain"; + public static final String EMAIL_ADDRESS = "emailAddress"; + } + + // Configuration Table + public final class ConfigurationConstants { + // public static final String CONFIG_ID = "config_ID"; + public static final String CONFIG_KEY = "config_key"; + public static final String CONFIG_VAL = "config_val"; + public static final String EXPIRE_DATE = "expire_date"; + public static final String CATEGORY_ID = "category_id"; + public static final String CATEGORY_ID_DEFAULT_VALUE = "SYSTEM"; + } + + // Users table + public final class UserConstants { + public static final String USERNAME = "user_name"; + public static final String PASSWORD = "password"; + } + + // Gateway_Worker table + public final class GatewayWorkerConstants { + public static final String USERNAME = "user_name"; + public static final String GATEWAY_ID = "gateway_id"; + } + + // Project table + public final class ProjectConstants { + public static final String GATEWAY_ID = "gateway_id"; + public static final String USERNAME = "user_name"; + public static final String PROJECT_NAME = "project_name"; + public static final String PROJECT_ID = "project_id"; + public static final String DESCRIPTION = "description"; + public static final String CREATION_TIME = "creationTime"; + } + + // Project table + public final class ProjectUserConstants { + public static final String USERNAME = "userName"; + public static final String PROJECT_ID = "projectID"; + } + + // Experiment table + public final class ExperimentConstants { + public static final String PROJECT_ID = "projectID"; + public static final String EXECUTION_USER = "executionUser"; + public static final String GATEWAY_ID = "gatewayId"; + public static final String EXPERIMENT_ID = "expId"; + public static final String EXPERIMENT_NAME = "expName"; + public static final String DESCRIPTION = "expDesc"; + public static final String CREATION_TIME = "creationTime"; + public static final String APPLICATION_ID = "applicationId"; + public static final String APPLICATION_VERSION = "appVersion"; + public static final String WORKFLOW_TEMPLATE_ID = "workflowTemplateId"; + public static final String WORKFLOW_TEMPLATE_VERSION = "workflowTemplateVersion"; + public static final String WORKFLOW_EXECUTION_ID = "workflowExecutionId"; + } + + // Experiment Configuration Data table + public final class ExperimentConfigurationDataConstants { + public static final String EXPERIMENT_ID = "expId"; + public static final String AIRAVATA_AUTO_SCHEDULE = "airavataAutoSchedule"; + public static final String OVERRIDE_MANUAL_SCHEDULE = "overrideManualParams"; + public static final String SHARE_EXPERIMENT = "shareExp"; + } + + public final class NotificationEmailConstants { + public static final String EXPERIMENT_ID = "experiment_id"; + public static final String TASK_ID = "taskId"; + public static final String EMAIL_ADDRESS = "emailAddress"; + } + + //Experiment Input table + public final class ExperimentInputConstants { + public static final String EXPERIMENT_ID = "experiment_id"; + public static final String EXPERIMENT_INPUT_KEY = "ex_key"; + public static final String EXPERIMENT_INPUT_VAL = "value"; + public static final String INPUT_TYPE = "inputType"; + public static final String METADATA = "metadata"; + } + + //Experiment Output table + public final class ExperimentOutputConstants { + public static final String EXPERIMENT_ID = "experiment_id"; + public static final String EXPERIMENT_OUTPUT_KEY = "ex_key"; + public static final String EXPERIMENT_OUTPUT_VAL = "value"; + public static final String OUTPUT_TYPE = "outputKeyType"; + public static final String METADATA = "metadata"; + } + + // Workflow_Data table + public final class WorkflowNodeDetailsConstants { + public static final String EXPERIMENT_ID = "expId"; + public static final String NODE_INSTANCE_ID = "nodeId"; + public static final String CREATION_TIME = "creationTime"; + public static final String NODE_NAME = "nodeName"; + } + + // TaskDetail table + public final class TaskDetailConstants { + public static final String TASK_ID = "taskId"; + public static final String NODE_INSTANCE_ID = "nodeId"; + public static final String CREATION_TIME = "creationTime"; + public static final String APPLICATION_ID = "appId"; + public static final String APPLICATION_VERSION = "appVersion"; + } + + // ErrorDetails table + public final class ErrorDetailConstants { + public static final String ERROR_ID = "errorID"; + public static final String EXPERIMENT_ID = "expId"; + public static final String TASK_ID = "taskId"; + public static final String JOB_ID = "jobId"; + public static final String NODE_INSTANCE_ID = "nodeId"; + public static final String CREATION_TIME = "creationTime"; + public static final String ACTUAL_ERROR_MESSAGE = "actualErrorMsg"; + public static final String USER_FRIEDNLY_ERROR_MSG = "userFriendlyErrorMsg"; + public static final String TRANSIENT_OR_PERSISTENT = "transientPersistent"; + public static final String ERROR_CATEGORY = "errorCategory"; + public static final String CORRECTIVE_ACTION = "correctiveAction"; + public static final String ACTIONABLE_GROUP = "actionableGroup"; + } + + // ApplicationInput table + public final class ApplicationInputConstants { + public static final String TASK_ID = "taskId"; + public static final String INPUT_KEY = "inputKey"; + public static final String INPUT_KEY_TYPE = "inputKeyType"; + public static final String METADATA = "metadata"; + public static final String VALUE = "value"; + } + + // ApplicationOutput table + public final class ApplicationOutputConstants { + public static final String TASK_ID = "taskId"; + public static final String OUTPUT_KEY = "outputKey"; + public static final String OUTPUT_KEY_TYPE = "outputKeyType"; + public static final String METADATA = "metadata"; + public static final String VALUE = "value"; + } + + // NodeInput table + public final class NodeInputConstants { + public static final String NODE_INSTANCE_ID = "nodeId"; + public static final String INPUT_KEY = "inputKey"; + public static final String INPUT_KEY_TYPE = "inputKeyType"; + public static final String METADATA = "metadata"; + public static final String VALUE = "value"; + } + + // NodeOutput table + public final class NodeOutputConstants { + public static final String NODE_INSTANCE_ID = "nodeId"; + public static final String OUTPUT_KEY = "outputKey"; + public static final String OUTPUT_KEY_TYPE = "outputKeyType"; + public static final String METADATA = "metadata"; + public static final String VALUE = "value"; + } + + // Job Details table constants + public final class JobDetailConstants{ + public static final String JOB_ID = "jobId"; + public static final String TASK_ID = "taskId"; + public static final String JOB_DESCRIPTION = "jobDescription"; + public static final String CREATION_TIME = "jobDescription"; + } + + // Data transfer Details table constants + public final class DataTransferDetailConstants{ + public static final String TRANSFER_ID = "transferId"; + public static final String TASK_ID = "taskId"; + public static final String TRANSFER_DESC = "transferDesc"; + public static final String CREATION_TIME = "creationTime"; + } + + // Status table constants + public final class StatusConstants { + public static final String STATUS_ID = "statusId"; + public static final String EXPERIMENT_ID = "expId"; + public static final String NODE_INSTANCE_ID = "nodeId"; + public static final String TRANSFER_ID = "transferId"; + public static final String TASK_ID = "taskId"; + public static final String JOB_ID = "jobId"; + public static final String STATE = "state"; + public static final String STATUS_UPDATE_TIME = "statusUpdateTime"; + public static final String STATUS_TYPE = "statusType"; + } + + public static final class ComputationalResourceSchedulingConstants{ + public static final String RESOURCE_SCHEDULING_ID = "schedulingId"; + public static final String EXPERIMENT_ID = "expId"; + public static final String TASK_ID = "taskId"; + public static final String RESOURCE_HOST_ID = "resourceHostId"; + public static final String CPU_COUNT = "cpuCount"; + public static final String NODE_COUNT = "nodeCount"; + public static final String NO_OF_THREADS = "numberOfThreads"; + public static final String QUEUE_NAME = "queueName"; + public static final String WALLTIME_LIMIT = "wallTimeLimit"; + public static final String JOB_START_TIME = "jobStartTime"; + public static final String TOTAL_PHYSICAL_MEMORY = "totalPhysicalmemory"; + public static final String COMPUTATIONAL_PROJECT_ACCOUNT = "projectName"; + } + + public static final class AdvancedInputDataHandlingConstants { + public static final String INPUT_DATA_HANDLING_ID = "dataHandlingId"; + public static final String EXPERIMENT_ID = "expId"; + public static final String TASK_ID = "taskId"; + public static final String WORKING_DIR_PARENT = "parentWorkingDir"; + public static final String UNIQUE_WORKING_DIR = "workingDir"; + public static final String STAGE_INPUT_FILES_TO_WORKING_DIR = "stageInputsToWorkingDir"; + public static final String CLEAN_AFTER_JOB = "cleanAfterJob"; + } + + public static final class AdvancedOutputDataHandlingConstants { + public static final String OUTPUT_DATA_HANDLING_ID = "outputDataHandlingId"; + public static final String EXPERIMENT_ID = "expId"; + public static final String TASK_ID = "taskId"; + public static final String OUTPUT_DATA_DIR = "outputDataDir"; + public static final String DATA_REG_URL = "dataRegUrl"; + public static final String PERSIST_OUTPUT_DATA = "persistOutputData"; + } + + public static final class QosParamsConstants { + public static final String QOS_ID = "qosId"; + public static final String EXPERIMENT_ID = "expId"; + public static final String TASK_ID = "taskId"; + public static final String START_EXECUTION_AT = "startExecutionAt"; + public static final String EXECUTE_BEFORE = "executeBefore"; + public static final String NO_OF_RETRIES = "noOfRetries"; + } + + + protected AbstractExpCatResource() { + } + + public boolean isExists(ResourceType type, Object name) throws RegistryException { + try { + return get(type, name) != null; + } catch (Exception e) { + return false; + } + } + + @SuppressWarnings("unchecked") + public static <T> List<T> getResourceList(List<ExperimentCatResource> resources, + Class<?> T) { + List<T> list = new ArrayList<T>(); + for (ExperimentCatResource o : resources) { + list.add((T) o); + } + return list; + } + +} http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExperimentCatResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExperimentCatResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExperimentCatResource.java deleted file mode 100644 index 46bebb2..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExperimentCatResource.java +++ /dev/null @@ -1,317 +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.experiment.catalog.resources; - -import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource; -import org.apache.airavata.registry.core.experiment.catalog.ResourceType; -import org.apache.airavata.registry.cpi.RegistryException; - -import java.util.ArrayList; -import java.util.List; - -public abstract class AbstractExperimentCatResource implements ExperimentCatResource { - // table names - public static final String GATEWAY = "Gateway"; - public static final String CONFIGURATION = "Configuration"; - public static final String USERS = "Users"; - public static final String GATEWAY_WORKER = "Gateway_Worker"; - public static final String PROJECT = "Project"; - public static final String PROJECT_USER = "ProjectUser"; - public static final String EXPERIMENT = "Experiment"; - public static final String NOTIFICATION_EMAIL = "Notification_Email"; - public static final String EXPERIMENT_CONFIG_DATA = "ExperimentConfigData"; - public static final String EXPERIMENT_INPUT = "Experiment_Input"; - public static final String EXPERIMENT_OUTPUT = "Experiment_Output"; - public static final String WORKFLOW_NODE_DETAIL = "WorkflowNodeDetail"; - public static final String TASK_DETAIL = "TaskDetail"; - public static final String ERROR_DETAIL = "ErrorDetail"; - public static final String APPLICATION_INPUT = "ApplicationInput"; - public static final String APPLICATION_OUTPUT = "ApplicationOutput"; - public static final String NODE_INPUT = "NodeInput"; - public static final String NODE_OUTPUT = "NodeOutput"; - public static final String JOB_DETAIL = "JobDetail"; - public static final String DATA_TRANSFER_DETAIL = "DataTransferDetail"; - public static final String STATUS = "Status"; - public static final String CONFIG_DATA = "ExperimentConfigData"; - public static final String COMPUTATIONAL_RESOURCE_SCHEDULING = "Computational_Resource_Scheduling"; - public static final String ADVANCE_INPUT_DATA_HANDLING = "AdvancedInputDataHandling"; - public static final String ADVANCE_OUTPUT_DATA_HANDLING = "AdvancedOutputDataHandling"; - public static final String QOS_PARAMS = "QosParam"; - - - // Gateway Table - public final class GatewayConstants { - public static final String GATEWAY_ID = "gateway_id"; - public static final String GATEWAY_NAME = "gateway_name"; - public static final String DOMAIN = "domain"; - public static final String EMAIL_ADDRESS = "emailAddress"; - } - - // Configuration Table - public final class ConfigurationConstants { - // public static final String CONFIG_ID = "config_ID"; - public static final String CONFIG_KEY = "config_key"; - public static final String CONFIG_VAL = "config_val"; - public static final String EXPIRE_DATE = "expire_date"; - public static final String CATEGORY_ID = "category_id"; - public static final String CATEGORY_ID_DEFAULT_VALUE = "SYSTEM"; - } - - // Users table - public final class UserConstants { - public static final String USERNAME = "user_name"; - public static final String PASSWORD = "password"; - } - - // Gateway_Worker table - public final class GatewayWorkerConstants { - public static final String USERNAME = "user_name"; - public static final String GATEWAY_ID = "gateway_id"; - } - - // Project table - public final class ProjectConstants { - public static final String GATEWAY_ID = "gateway_id"; - public static final String USERNAME = "user_name"; - public static final String PROJECT_NAME = "project_name"; - public static final String PROJECT_ID = "project_id"; - public static final String DESCRIPTION = "description"; - public static final String CREATION_TIME = "creationTime"; - } - - // Project table - public final class ProjectUserConstants { - public static final String USERNAME = "userName"; - public static final String PROJECT_ID = "projectID"; - } - - // Experiment table - public final class ExperimentConstants { - public static final String PROJECT_ID = "projectID"; - public static final String EXECUTION_USER = "executionUser"; - public static final String GATEWAY_ID = "gatewayId"; - public static final String EXPERIMENT_ID = "expId"; - public static final String EXPERIMENT_NAME = "expName"; - public static final String DESCRIPTION = "expDesc"; - public static final String CREATION_TIME = "creationTime"; - public static final String APPLICATION_ID = "applicationId"; - public static final String APPLICATION_VERSION = "appVersion"; - public static final String WORKFLOW_TEMPLATE_ID = "workflowTemplateId"; - public static final String WORKFLOW_TEMPLATE_VERSION = "workflowTemplateVersion"; - public static final String WORKFLOW_EXECUTION_ID = "workflowExecutionId"; - } - - // Experiment Configuration Data table - public final class ExperimentConfigurationDataConstants { - public static final String EXPERIMENT_ID = "expId"; - public static final String AIRAVATA_AUTO_SCHEDULE = "airavataAutoSchedule"; - public static final String OVERRIDE_MANUAL_SCHEDULE = "overrideManualParams"; - public static final String SHARE_EXPERIMENT = "shareExp"; - } - - public final class NotificationEmailConstants { - public static final String EXPERIMENT_ID = "experiment_id"; - public static final String TASK_ID = "taskId"; - public static final String EMAIL_ADDRESS = "emailAddress"; - } - - //Experiment Input table - public final class ExperimentInputConstants { - public static final String EXPERIMENT_ID = "experiment_id"; - public static final String EXPERIMENT_INPUT_KEY = "ex_key"; - public static final String EXPERIMENT_INPUT_VAL = "value"; - public static final String INPUT_TYPE = "inputType"; - public static final String METADATA = "metadata"; - } - - //Experiment Output table - public final class ExperimentOutputConstants { - public static final String EXPERIMENT_ID = "experiment_id"; - public static final String EXPERIMENT_OUTPUT_KEY = "ex_key"; - public static final String EXPERIMENT_OUTPUT_VAL = "value"; - public static final String OUTPUT_TYPE = "outputKeyType"; - public static final String METADATA = "metadata"; - } - - // Workflow_Data table - public final class WorkflowNodeDetailsConstants { - public static final String EXPERIMENT_ID = "expId"; - public static final String NODE_INSTANCE_ID = "nodeId"; - public static final String CREATION_TIME = "creationTime"; - public static final String NODE_NAME = "nodeName"; - } - - // TaskDetail table - public final class TaskDetailConstants { - public static final String TASK_ID = "taskId"; - public static final String NODE_INSTANCE_ID = "nodeId"; - public static final String CREATION_TIME = "creationTime"; - public static final String APPLICATION_ID = "appId"; - public static final String APPLICATION_VERSION = "appVersion"; - } - - // ErrorDetails table - public final class ErrorDetailConstants { - public static final String ERROR_ID = "errorID"; - public static final String EXPERIMENT_ID = "expId"; - public static final String TASK_ID = "taskId"; - public static final String JOB_ID = "jobId"; - public static final String NODE_INSTANCE_ID = "nodeId"; - public static final String CREATION_TIME = "creationTime"; - public static final String ACTUAL_ERROR_MESSAGE = "actualErrorMsg"; - public static final String USER_FRIEDNLY_ERROR_MSG = "userFriendlyErrorMsg"; - public static final String TRANSIENT_OR_PERSISTENT = "transientPersistent"; - public static final String ERROR_CATEGORY = "errorCategory"; - public static final String CORRECTIVE_ACTION = "correctiveAction"; - public static final String ACTIONABLE_GROUP = "actionableGroup"; - } - - // ApplicationInput table - public final class ApplicationInputConstants { - public static final String TASK_ID = "taskId"; - public static final String INPUT_KEY = "inputKey"; - public static final String INPUT_KEY_TYPE = "inputKeyType"; - public static final String METADATA = "metadata"; - public static final String VALUE = "value"; - } - - // ApplicationOutput table - public final class ApplicationOutputConstants { - public static final String TASK_ID = "taskId"; - public static final String OUTPUT_KEY = "outputKey"; - public static final String OUTPUT_KEY_TYPE = "outputKeyType"; - public static final String METADATA = "metadata"; - public static final String VALUE = "value"; - } - - // NodeInput table - public final class NodeInputConstants { - public static final String NODE_INSTANCE_ID = "nodeId"; - public static final String INPUT_KEY = "inputKey"; - public static final String INPUT_KEY_TYPE = "inputKeyType"; - public static final String METADATA = "metadata"; - public static final String VALUE = "value"; - } - - // NodeOutput table - public final class NodeOutputConstants { - public static final String NODE_INSTANCE_ID = "nodeId"; - public static final String OUTPUT_KEY = "outputKey"; - public static final String OUTPUT_KEY_TYPE = "outputKeyType"; - public static final String METADATA = "metadata"; - public static final String VALUE = "value"; - } - - // Job Details table constants - public final class JobDetailConstants{ - public static final String JOB_ID = "jobId"; - public static final String TASK_ID = "taskId"; - public static final String JOB_DESCRIPTION = "jobDescription"; - public static final String CREATION_TIME = "jobDescription"; - } - - // Data transfer Details table constants - public final class DataTransferDetailConstants{ - public static final String TRANSFER_ID = "transferId"; - public static final String TASK_ID = "taskId"; - public static final String TRANSFER_DESC = "transferDesc"; - public static final String CREATION_TIME = "creationTime"; - } - - // Status table constants - public final class StatusConstants { - public static final String STATUS_ID = "statusId"; - public static final String EXPERIMENT_ID = "expId"; - public static final String NODE_INSTANCE_ID = "nodeId"; - public static final String TRANSFER_ID = "transferId"; - public static final String TASK_ID = "taskId"; - public static final String JOB_ID = "jobId"; - public static final String STATE = "state"; - public static final String STATUS_UPDATE_TIME = "statusUpdateTime"; - public static final String STATUS_TYPE = "statusType"; - } - - public static final class ComputationalResourceSchedulingConstants{ - public static final String RESOURCE_SCHEDULING_ID = "schedulingId"; - public static final String EXPERIMENT_ID = "expId"; - public static final String TASK_ID = "taskId"; - public static final String RESOURCE_HOST_ID = "resourceHostId"; - public static final String CPU_COUNT = "cpuCount"; - public static final String NODE_COUNT = "nodeCount"; - public static final String NO_OF_THREADS = "numberOfThreads"; - public static final String QUEUE_NAME = "queueName"; - public static final String WALLTIME_LIMIT = "wallTimeLimit"; - public static final String JOB_START_TIME = "jobStartTime"; - public static final String TOTAL_PHYSICAL_MEMORY = "totalPhysicalmemory"; - public static final String COMPUTATIONAL_PROJECT_ACCOUNT = "projectName"; - } - - public static final class AdvancedInputDataHandlingConstants { - public static final String INPUT_DATA_HANDLING_ID = "dataHandlingId"; - public static final String EXPERIMENT_ID = "expId"; - public static final String TASK_ID = "taskId"; - public static final String WORKING_DIR_PARENT = "parentWorkingDir"; - public static final String UNIQUE_WORKING_DIR = "workingDir"; - public static final String STAGE_INPUT_FILES_TO_WORKING_DIR = "stageInputsToWorkingDir"; - public static final String CLEAN_AFTER_JOB = "cleanAfterJob"; - } - - public static final class AdvancedOutputDataHandlingConstants { - public static final String OUTPUT_DATA_HANDLING_ID = "outputDataHandlingId"; - public static final String EXPERIMENT_ID = "expId"; - public static final String TASK_ID = "taskId"; - public static final String OUTPUT_DATA_DIR = "outputDataDir"; - public static final String DATA_REG_URL = "dataRegUrl"; - public static final String PERSIST_OUTPUT_DATA = "persistOutputData"; - } - - public static final class QosParamsConstants { - public static final String QOS_ID = "qosId"; - public static final String EXPERIMENT_ID = "expId"; - public static final String TASK_ID = "taskId"; - public static final String START_EXECUTION_AT = "startExecutionAt"; - public static final String EXECUTE_BEFORE = "executeBefore"; - public static final String NO_OF_RETRIES = "noOfRetries"; - } - - - protected AbstractExperimentCatResource() { - } - - public boolean isExists(ResourceType type, Object name) throws RegistryException { - try { - return get(type, name) != null; - } catch (Exception e) { - return false; - } - } - - @SuppressWarnings("unchecked") - public static <T> List<T> getResourceList(List<ExperimentCatResource> resources, - Class<?> T) { - List<T> list = new ArrayList<T>(); - for (ExperimentCatResource o : resources) { - list.add((T) o); - } - return list; - } - -} http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvanceInputDataHandlingExperimentCatResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvanceInputDataHandlingExperimentCatResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvanceInputDataHandlingExperimentCatResource.java deleted file mode 100644 index 033d2e7..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvanceInputDataHandlingExperimentCatResource.java +++ /dev/null @@ -1,160 +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.experiment.catalog.resources; - -import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils; -import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource; -import org.apache.airavata.registry.core.experiment.catalog.ResourceType; -import org.apache.airavata.registry.core.experiment.catalog.model.AdvancedInputDataHandling; -import org.apache.airavata.registry.cpi.RegistryException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.persistence.EntityManager; -import java.util.List; - -public class AdvanceInputDataHandlingExperimentCatResource extends AbstractExperimentCatResource { - private static final Logger logger = LoggerFactory.getLogger(AdvanceInputDataHandlingExperimentCatResource.class); - private int dataHandlingId = 0; - private String workingDirParent; - private String workingDir; - private boolean stageInputFiles; - private boolean cleanAfterJob; - private String experimentId; - private String taskId; - - public String getExperimentId() { - return experimentId; - } - - public void setExperimentId(String experimentId) { - this.experimentId = experimentId; - } - - public String getTaskId() { - return taskId; - } - - public void setTaskId(String taskId) { - this.taskId = taskId; - } - - public int getDataHandlingId() { - return dataHandlingId; - } - - public void setDataHandlingId(int dataHandlingId) { - this.dataHandlingId = dataHandlingId; - } - - public String getWorkingDirParent() { - return workingDirParent; - } - - public void setWorkingDirParent(String workingDirParent) { - this.workingDirParent = workingDirParent; - } - - public String getWorkingDir() { - return workingDir; - } - - public void setWorkingDir(String workingDir) { - this.workingDir = workingDir; - } - - public boolean isStageInputFiles() { - return stageInputFiles; - } - - public void setStageInputFiles(boolean stageInputFiles) { - this.stageInputFiles = stageInputFiles; - } - - public boolean isCleanAfterJob() { - return cleanAfterJob; - } - - public void setCleanAfterJob(boolean cleanAfterJob) { - this.cleanAfterJob = cleanAfterJob; - } - - - public ExperimentCatResource create(ResourceType type) throws RegistryException { - logger.error("Unsupported resource type for input data handling resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public void remove(ResourceType type, Object name) throws RegistryException { - logger.error("Unsupported resource type for input data handling resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public ExperimentCatResource get(ResourceType type, Object name) throws RegistryException{ - logger.error("Unsupported resource type for input data handling resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public List<ExperimentCatResource> get(ResourceType type) throws RegistryException { - logger.error("Unsupported resource type for input data handling resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public void save() throws RegistryException{ - EntityManager em = null; - try { - em = ExpCatResourceUtils.getEntityManager(); - em.getTransaction().begin(); - AdvancedInputDataHandling dataHandling; - if (dataHandlingId != 0) { - dataHandling = em.find(AdvancedInputDataHandling.class, dataHandlingId); - dataHandling.setDataHandlingId(dataHandlingId); - } else { - dataHandling = new AdvancedInputDataHandling(); - } - dataHandling.setWorkingDir(workingDir); - dataHandling.setParentWorkingDir(workingDirParent); - dataHandling.setStageInputsToWorkingDir(stageInputFiles); - dataHandling.setCleanAfterJob(cleanAfterJob); - dataHandling.setExpId(experimentId); - dataHandling.setTaskId(taskId); - em.persist(dataHandling); - dataHandlingId = dataHandling.getDataHandlingId(); - 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(); - } - } - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvanceInputDataHandlingResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvanceInputDataHandlingResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvanceInputDataHandlingResource.java new file mode 100644 index 0000000..727882f --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvanceInputDataHandlingResource.java @@ -0,0 +1,160 @@ +/* + * + * 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.experiment.catalog.resources; + +import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils; +import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource; +import org.apache.airavata.registry.core.experiment.catalog.ResourceType; +import org.apache.airavata.registry.core.experiment.catalog.model.AdvancedInputDataHandling; +import org.apache.airavata.registry.cpi.RegistryException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.persistence.EntityManager; +import java.util.List; + +public class AdvanceInputDataHandlingResource extends AbstractExpCatResource { + private static final Logger logger = LoggerFactory.getLogger(AdvanceInputDataHandlingResource.class); + private int dataHandlingId = 0; + private String workingDirParent; + private String workingDir; + private boolean stageInputFiles; + private boolean cleanAfterJob; + private String experimentId; + private String taskId; + + public String getExperimentId() { + return experimentId; + } + + public void setExperimentId(String experimentId) { + this.experimentId = experimentId; + } + + public String getTaskId() { + return taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + public int getDataHandlingId() { + return dataHandlingId; + } + + public void setDataHandlingId(int dataHandlingId) { + this.dataHandlingId = dataHandlingId; + } + + public String getWorkingDirParent() { + return workingDirParent; + } + + public void setWorkingDirParent(String workingDirParent) { + this.workingDirParent = workingDirParent; + } + + public String getWorkingDir() { + return workingDir; + } + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + public boolean isStageInputFiles() { + return stageInputFiles; + } + + public void setStageInputFiles(boolean stageInputFiles) { + this.stageInputFiles = stageInputFiles; + } + + public boolean isCleanAfterJob() { + return cleanAfterJob; + } + + public void setCleanAfterJob(boolean cleanAfterJob) { + this.cleanAfterJob = cleanAfterJob; + } + + + public ExperimentCatResource create(ResourceType type) throws RegistryException { + logger.error("Unsupported resource type for input data handling resource.", new UnsupportedOperationException()); + throw new UnsupportedOperationException(); + } + + + public void remove(ResourceType type, Object name) throws RegistryException { + logger.error("Unsupported resource type for input data handling resource.", new UnsupportedOperationException()); + throw new UnsupportedOperationException(); + } + + + public ExperimentCatResource get(ResourceType type, Object name) throws RegistryException{ + logger.error("Unsupported resource type for input data handling resource.", new UnsupportedOperationException()); + throw new UnsupportedOperationException(); + } + + + public List<ExperimentCatResource> get(ResourceType type) throws RegistryException { + logger.error("Unsupported resource type for input data handling resource.", new UnsupportedOperationException()); + throw new UnsupportedOperationException(); + } + + + public void save() throws RegistryException{ + EntityManager em = null; + try { + em = ExpCatResourceUtils.getEntityManager(); + em.getTransaction().begin(); + AdvancedInputDataHandling dataHandling; + if (dataHandlingId != 0) { + dataHandling = em.find(AdvancedInputDataHandling.class, dataHandlingId); + dataHandling.setDataHandlingId(dataHandlingId); + } else { + dataHandling = new AdvancedInputDataHandling(); + } + dataHandling.setWorkingDir(workingDir); + dataHandling.setParentWorkingDir(workingDirParent); + dataHandling.setStageInputsToWorkingDir(stageInputFiles); + dataHandling.setCleanAfterJob(cleanAfterJob); + dataHandling.setExpId(experimentId); + dataHandling.setTaskId(taskId); + em.persist(dataHandling); + dataHandlingId = dataHandling.getDataHandlingId(); + 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(); + } + } + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvancedOutputDataHandlingExperimentCatResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvancedOutputDataHandlingExperimentCatResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvancedOutputDataHandlingExperimentCatResource.java deleted file mode 100644 index bc3045b..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvancedOutputDataHandlingExperimentCatResource.java +++ /dev/null @@ -1,150 +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.experiment.catalog.resources; - -import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils; -import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource; -import org.apache.airavata.registry.core.experiment.catalog.ResourceType; -import org.apache.airavata.registry.core.experiment.catalog.model.AdvancedOutputDataHandling; -import org.apache.airavata.registry.cpi.RegistryException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.persistence.EntityManager; -import java.util.List; - -public class AdvancedOutputDataHandlingExperimentCatResource extends AbstractExperimentCatResource { - private static final Logger logger = LoggerFactory.getLogger(AdvancedOutputDataHandlingExperimentCatResource.class); - private int outputDataHandlingId = 0; - private String outputDataDir; - private String dataRegUrl; - private boolean persistOutputData; - private String experimentId; - private String taskId; - - public String getExperimentId() { - return experimentId; - } - - public void setExperimentId(String experimentId) { - this.experimentId = experimentId; - } - - public String getTaskId() { - return taskId; - } - - public void setTaskId(String taskId) { - this.taskId = taskId; - } - - public int getOutputDataHandlingId() { - return outputDataHandlingId; - } - - public void setOutputDataHandlingId(int outputDataHandlingId) { - this.outputDataHandlingId = outputDataHandlingId; - } - - public String getOutputDataDir() { - return outputDataDir; - } - - public void setOutputDataDir(String outputDataDir) { - this.outputDataDir = outputDataDir; - } - - public String getDataRegUrl() { - return dataRegUrl; - } - - public void setDataRegUrl(String dataRegUrl) { - this.dataRegUrl = dataRegUrl; - } - - public boolean isPersistOutputData() { - return persistOutputData; - } - - public void setPersistOutputData(boolean persistOutputData) { - this.persistOutputData = persistOutputData; - } - - - public ExperimentCatResource create(ResourceType type) throws RegistryException { - logger.error("Unsupported resource type for output data handling resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public void remove(ResourceType type, Object name) throws RegistryException { - logger.error("Unsupported resource type for output data handling resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public ExperimentCatResource get(ResourceType type, Object name) throws RegistryException { - logger.error("Unsupported resource type for output data handling resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public List<ExperimentCatResource> get(ResourceType type) throws RegistryException{ - logger.error("Unsupported resource type for output data handling resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public void save() throws RegistryException { - EntityManager em = null; - try { - em = ExpCatResourceUtils.getEntityManager(); - em.getTransaction().begin(); - AdvancedOutputDataHandling dataHandling; - if (outputDataHandlingId != 0 ){ - dataHandling = em.find(AdvancedOutputDataHandling.class, outputDataHandlingId); - dataHandling.setOutputDataHandlingId(outputDataHandlingId); - }else { - dataHandling = new AdvancedOutputDataHandling(); - } - dataHandling.setDataRegUrl(dataRegUrl); - dataHandling.setOutputDataDir(outputDataDir); - dataHandling.setPersistOutputData(persistOutputData); - dataHandling.setExpId(experimentId); - dataHandling.setTaskId(taskId); - em.persist(dataHandling); - outputDataHandlingId = dataHandling.getOutputDataHandlingId(); - 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(); - } - } - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvancedOutputDataHandlingResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvancedOutputDataHandlingResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvancedOutputDataHandlingResource.java new file mode 100644 index 0000000..622eebd --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AdvancedOutputDataHandlingResource.java @@ -0,0 +1,150 @@ +/* + * + * 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.experiment.catalog.resources; + +import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils; +import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource; +import org.apache.airavata.registry.core.experiment.catalog.ResourceType; +import org.apache.airavata.registry.core.experiment.catalog.model.AdvancedOutputDataHandling; +import org.apache.airavata.registry.cpi.RegistryException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.persistence.EntityManager; +import java.util.List; + +public class AdvancedOutputDataHandlingResource extends AbstractExpCatResource { + private static final Logger logger = LoggerFactory.getLogger(AdvancedOutputDataHandlingResource.class); + private int outputDataHandlingId = 0; + private String outputDataDir; + private String dataRegUrl; + private boolean persistOutputData; + private String experimentId; + private String taskId; + + public String getExperimentId() { + return experimentId; + } + + public void setExperimentId(String experimentId) { + this.experimentId = experimentId; + } + + public String getTaskId() { + return taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + public int getOutputDataHandlingId() { + return outputDataHandlingId; + } + + public void setOutputDataHandlingId(int outputDataHandlingId) { + this.outputDataHandlingId = outputDataHandlingId; + } + + public String getOutputDataDir() { + return outputDataDir; + } + + public void setOutputDataDir(String outputDataDir) { + this.outputDataDir = outputDataDir; + } + + public String getDataRegUrl() { + return dataRegUrl; + } + + public void setDataRegUrl(String dataRegUrl) { + this.dataRegUrl = dataRegUrl; + } + + public boolean isPersistOutputData() { + return persistOutputData; + } + + public void setPersistOutputData(boolean persistOutputData) { + this.persistOutputData = persistOutputData; + } + + + public ExperimentCatResource create(ResourceType type) throws RegistryException { + logger.error("Unsupported resource type for output data handling resource.", new UnsupportedOperationException()); + throw new UnsupportedOperationException(); + } + + + public void remove(ResourceType type, Object name) throws RegistryException { + logger.error("Unsupported resource type for output data handling resource.", new UnsupportedOperationException()); + throw new UnsupportedOperationException(); + } + + + public ExperimentCatResource get(ResourceType type, Object name) throws RegistryException { + logger.error("Unsupported resource type for output data handling resource.", new UnsupportedOperationException()); + throw new UnsupportedOperationException(); + } + + + public List<ExperimentCatResource> get(ResourceType type) throws RegistryException{ + logger.error("Unsupported resource type for output data handling resource.", new UnsupportedOperationException()); + throw new UnsupportedOperationException(); + } + + + public void save() throws RegistryException { + EntityManager em = null; + try { + em = ExpCatResourceUtils.getEntityManager(); + em.getTransaction().begin(); + AdvancedOutputDataHandling dataHandling; + if (outputDataHandlingId != 0 ){ + dataHandling = em.find(AdvancedOutputDataHandling.class, outputDataHandlingId); + dataHandling.setOutputDataHandlingId(outputDataHandlingId); + }else { + dataHandling = new AdvancedOutputDataHandling(); + } + dataHandling.setDataRegUrl(dataRegUrl); + dataHandling.setOutputDataDir(outputDataDir); + dataHandling.setPersistOutputData(persistOutputData); + dataHandling.setExpId(experimentId); + dataHandling.setTaskId(taskId); + em.persist(dataHandling); + outputDataHandlingId = dataHandling.getOutputDataHandlingId(); + 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(); + } + } + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/4045c094/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ApplicationInputExperimentCatResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ApplicationInputExperimentCatResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ApplicationInputExperimentCatResource.java deleted file mode 100644 index 6481fea..0000000 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ApplicationInputExperimentCatResource.java +++ /dev/null @@ -1,230 +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.experiment.catalog.resources; - -import java.util.List; - -import javax.persistence.EntityManager; - -import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils; -import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource; -import org.apache.airavata.registry.core.experiment.catalog.ResourceType; -import org.apache.airavata.registry.core.experiment.catalog.model.ApplicationInput; -import org.apache.airavata.registry.core.experiment.catalog.model.ApplicationInput_PK; -import org.apache.airavata.registry.cpi.RegistryException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ApplicationInputExperimentCatResource extends AbstractExperimentCatResource { - private static final Logger logger = LoggerFactory.getLogger(ApplicationInputExperimentCatResource.class); - private String inputKey; - private String dataType; - private String metadata; - private String value; - private String appArgument; - private boolean standardInput; - private String userFriendlyDesc; - private int inputOrder; - private boolean isRequired; - private boolean requiredToCMD; - private boolean dataStaged; - private String taskId; - - public String getTaskId() { - return taskId; - } - - public void setTaskId(String taskId) { - this.taskId = taskId; - } - - public boolean isRequired() { - return isRequired; - } - - public void setRequired(boolean isRequired) { - this.isRequired = isRequired; - } - - public boolean isRequiredToCMD() { - return requiredToCMD; - } - - public void setRequiredToCMD(boolean requiredToCMD) { - this.requiredToCMD = requiredToCMD; - } - - public boolean isDataStaged() { - return dataStaged; - } - - public void setDataStaged(boolean dataStaged) { - this.dataStaged = dataStaged; - } - - public int getInputOrder() { - return inputOrder; - } - - public void setInputOrder(int inputOrder) { - this.inputOrder = inputOrder; - } - - public String getAppArgument() { - return appArgument; - } - - public void setAppArgument(String appArgument) { - this.appArgument = appArgument; - } - - public boolean isStandardInput() { - return standardInput; - } - - public void setStandardInput(boolean standardInput) { - this.standardInput = standardInput; - } - - public String getUserFriendlyDesc() { - return userFriendlyDesc; - } - - public void setUserFriendlyDesc(String userFriendlyDesc) { - this.userFriendlyDesc = userFriendlyDesc; - } - - public String getInputKey() { - return inputKey; - } - - public void setInputKey(String inputKey) { - this.inputKey = inputKey; - } - - public String getDataType() { - return dataType; - } - - public void setDataType(String dataType) { - this.dataType = dataType; - } - - public String getMetadata() { - return metadata; - } - - public void setMetadata(String metadata) { - this.metadata = metadata; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - public ExperimentCatResource create(ResourceType type) throws RegistryException { - logger.error("Unsupported resource type for application input data resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public void remove(ResourceType type, Object name) throws RegistryException{ - logger.error("Unsupported resource type for application input data resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public ExperimentCatResource get(ResourceType type, Object name) throws RegistryException { - logger.error("Unsupported resource type for application input data resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public List<ExperimentCatResource> get(ResourceType type) throws RegistryException{ - logger.error("Unsupported resource type for application input data resource.", new UnsupportedOperationException()); - throw new UnsupportedOperationException(); - } - - - public void save() throws RegistryException { - EntityManager em = null; - try { - em = ExpCatResourceUtils.getEntityManager(); - ApplicationInput existingInput = em.find(ApplicationInput.class, new ApplicationInput_PK(inputKey, taskId)); - em.close(); - - em = ExpCatResourceUtils.getEntityManager(); - em.getTransaction().begin(); - ApplicationInput applicationInput = new ApplicationInput(); - applicationInput.setTaskId(taskId); - applicationInput.setInputKey(inputKey); - applicationInput.setDataType(dataType); - applicationInput.setAppArgument(appArgument); - applicationInput.setStandardInput(standardInput); - applicationInput.setUserFriendlyDesc(userFriendlyDesc); - applicationInput.setInputOrder(inputOrder); - applicationInput.setRequiredToCMD(requiredToCMD); - applicationInput.setRequired(isRequired); - applicationInput.setDataStaged(dataStaged); - if (value != null) { - applicationInput.setValue(value.toCharArray()); - } - - applicationInput.setMetadata(metadata); - - if (existingInput != null) { - existingInput.setTaskId(taskId); - existingInput.setInputKey(inputKey); - existingInput.setDataType(dataType); - existingInput.setAppArgument(appArgument); - existingInput.setStandardInput(standardInput); - existingInput.setUserFriendlyDesc(userFriendlyDesc); - existingInput.setInputOrder(inputOrder); - existingInput.setRequiredToCMD(requiredToCMD); - existingInput.setRequired(isRequired); - existingInput.setDataStaged(dataStaged); - if (value != null) { - existingInput.setValue(value.toCharArray()); - } - existingInput.setMetadata(metadata); - applicationInput = em.merge(existingInput); - } else { - em.persist(applicationInput); - } - em.getTransaction().commit(); - em.close(); - } catch (Exception e) { - throw new RegistryException(e.getMessage()); - } finally { - if (em != null && em.isOpen()) { - if (em.getTransaction().isActive()) { - em.getTransaction().rollback(); - } - em.close(); - } - } - } -}
