http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/RegistryUseCaseTest.java ---------------------------------------------------------------------- diff --git a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/RegistryUseCaseTest.java b/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/RegistryUseCaseTest.java deleted file mode 100644 index d1989bf..0000000 --- a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/RegistryUseCaseTest.java +++ /dev/null @@ -1,296 +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; - -import junit.framework.Assert; -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.airavata.common.utils.ServerSettings; -import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType; -import org.apache.airavata.model.appcatalog.appinterface.OutputDataObjectType; -import org.apache.airavata.model.workspace.Project; -import org.apache.airavata.model.workspace.experiment.*; -import org.apache.airavata.experiment.catalog.impl.RegistryFactory; -import org.apache.airavata.experiment.catalog.util.Initialize; -import org.apache.airavata.registry.cpi.*; -import org.apache.airavata.registry.cpi.utils.Constants; -import org.junit.BeforeClass; -import org.junit.Test; - -import java.sql.SQLException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -/** - * This class contains test cases for the RegistryImpl class which is the default registry - * implementation. These test cases are written from the perspective of the Airavata API - * such as creating/updating/deleting/searching projects and experiments etc. - */ -public class RegistryUseCaseTest { - - private static Registry registry; - private static Initialize initialize; - - @BeforeClass - public static void setupBeforeClass() throws RegistryException, SQLException { - initialize = new Initialize("registry-derby.sql"); - initialize.initializeDB(); - registry = RegistryFactory.getDefaultRegistry(); - } - - @Test - public void testProject(){ - try { - String TAG = System.currentTimeMillis() + ""; - - String gatewayId = ServerSettings.getDefaultUserGateway(); - - //testing the creation of a project - Project project = new Project(); - project.setOwner("TestUser"+TAG); - project.setName("TestProject"+TAG); - project.setDescription("This is a test project"+TAG); - String projectId1 = (String)registry.add(ParentDataType.PROJECT, project, gatewayId); - Assert.assertNotNull(projectId1); - - //testing the update of a project - Project updatedProject = new Project(); - updatedProject.setProjectID(projectId1); - updatedProject.setOwner("TestUser"+TAG); - updatedProject.setName("UpdatedTestProject"+TAG); - updatedProject.setDescription("This is an updated test project"+TAG); - registry.update(RegistryModelType.PROJECT, updatedProject, projectId1); - - //testing project retrieval - Project retrievedProject = (Project)registry.get(RegistryModelType.PROJECT, projectId1); - Assert.assertEquals(updatedProject.getProjectID(), retrievedProject.getProjectID()); - Assert.assertEquals(updatedProject.getOwner(), retrievedProject.getOwner()); - Assert.assertEquals(updatedProject.getName(), retrievedProject.getName()); - Assert.assertEquals(updatedProject.getDescription(), retrievedProject.getDescription()); - Assert.assertNotNull(retrievedProject.getCreationTime()); - //created user should be in the shared users list - Assert.assertTrue(retrievedProject.getSharedUsers().size()==1); - - //creating more projects for the same user - project = new Project(); - project.setOwner("TestUser"+TAG); - project.setName("Project Terrible"+TAG); - project.setDescription("This is a test project_2"+TAG); - String projectId2 = (String)registry.add(ParentDataType.PROJECT, project, gatewayId); - Assert.assertNotNull(projectId2); - - project = new Project(); - project.setOwner("TestUser"+TAG); - project.setName("Project Funny"+TAG); - project.setDescription("This is a test project_3"+TAG); - String projectId3 = (String)registry.add(ParentDataType.PROJECT, project, gatewayId); - Assert.assertNotNull(projectId3); - - project = new Project(); - project.setOwner("TestUser"+TAG); - project.setName("Project Stupid"+TAG); - project.setDescription("This is a test project_4"+TAG); - String projectId4 = (String)registry.add(ParentDataType.PROJECT, project, gatewayId); - Assert.assertNotNull(projectId4); - - project = new Project(); - project.setOwner("TestUser"+TAG); - project.setName("Project Boring"+TAG); - project.setDescription("This is a test project_5"+TAG); - String projectId5 = (String)registry.add(ParentDataType.PROJECT, project, gatewayId); - Assert.assertNotNull(projectId5); - - //test get all projects created by the user - List<Object> list = registry.get(RegistryModelType.PROJECT, - Constants.FieldConstants.ProjectConstants.OWNER, "TestUser"+TAG); - Assert.assertTrue(list.size()==5); - - //search project by project name - Map<String, String> filters = new HashMap<String, String>(); - filters.put(Constants.FieldConstants.ProjectConstants.OWNER, "TestUser"+TAG); - filters.put(Constants.FieldConstants.ProjectConstants.PROJECT_NAME, "Terrible"+TAG); - list = registry.search(RegistryModelType.PROJECT, filters); - Assert.assertTrue(list.size()==1); - - //search project by project description - filters = new HashMap<String, String>(); - filters.put(Constants.FieldConstants.ProjectConstants.OWNER, "TestUser"+TAG); - filters.put(Constants.FieldConstants.ProjectConstants.DESCRIPTION, "test project_2"+TAG); - list = registry.search(RegistryModelType.PROJECT, filters); - Assert.assertTrue(list.size()==1); - - //search project with only ownername - filters = new HashMap<String, String>(); - filters.put(Constants.FieldConstants.ProjectConstants.OWNER, "TestUser"+TAG); - list = registry.search(RegistryModelType.PROJECT, filters); - Assert.assertTrue(list.size()==5); - - //search projects with pagination - filters = new HashMap<String, String>(); - filters.put(Constants.FieldConstants.ProjectConstants.OWNER, "TestUser"+TAG); - list = registry.search(RegistryModelType.PROJECT, filters, 2, 2, - Constants.FieldConstants.ProjectConstants.CREATION_TIME, ResultOrderType.DESC); - Assert.assertTrue(list.size()==2); - Project project1 = (Project)list.get(0); - Project project2 = (Project)list.get(1); - Assert.assertTrue(project1.getCreationTime()-project2.getCreationTime() > 0); - } catch (RegistryException e) { - e.printStackTrace(); - Assert.fail(); - } catch (ApplicationSettingsException e) { - e.printStackTrace(); - } - } - - @Test - public void testExperiment(){ - try { - long time = System.currentTimeMillis(); - String TAG = time + ""; - - String gatewayId = ServerSettings.getDefaultUserGateway(); - - //creating project - Project project = new Project(); - project.setOwner("TestUser"+TAG); - project.setName("TestProject"+TAG); - project.setDescription("This is a test project"+TAG); - String projectId1 = (String)registry.add(ParentDataType.PROJECT, project, gatewayId); - Assert.assertNotNull(projectId1); - - //creating sample echo experiment. assumes echo application is already defined - InputDataObjectType inputDataObjectType = new InputDataObjectType(); - inputDataObjectType.setName("Input_to_Echo"); - inputDataObjectType.setValue("Hello World"); - - ComputationalResourceScheduling scheduling = new ComputationalResourceScheduling(); - scheduling.setResourceHostId(UUID.randomUUID().toString()); - scheduling.setComputationalProjectAccount("TG-STA110014S"); - scheduling.setTotalCPUCount(1); - scheduling.setNodeCount(1); - scheduling.setWallTimeLimit(15); - scheduling.setQueueName("normal"); - - UserConfigurationData userConfigurationData = new UserConfigurationData(); - userConfigurationData.setAiravataAutoSchedule(false); - userConfigurationData.setOverrideManualScheduledParams(false); - userConfigurationData.setComputationalResourceScheduling(scheduling); - - Experiment experiment = new Experiment(); - experiment.setProjectID(projectId1); - experiment.setUserName("TestUser" + TAG); - experiment.setName("TestExperiment"+TAG); - experiment.setDescription("Test 1 experiment"); - experiment.setApplicationId(UUID.randomUUID().toString()); - experiment.setUserConfigurationData(userConfigurationData); - experiment.addToExperimentInputs(inputDataObjectType); - - String experimentId1 = (String)registry.add(ParentDataType.EXPERIMENT, experiment, gatewayId); - Assert.assertNotNull(experimentId1); - - //retrieving the stored experiment - Experiment retrievedExperiment = (Experiment)registry.get(RegistryModelType.EXPERIMENT, - experimentId1); - Assert.assertNotNull(retrievedExperiment); - Assert.assertEquals(retrievedExperiment.getProjectID(), experiment.getProjectID()); - Assert.assertEquals(retrievedExperiment.getDescription(), experiment.getDescription()); - Assert.assertEquals(retrievedExperiment.getName(), experiment.getName()); - Assert.assertEquals(retrievedExperiment.getApplicationId(), experiment.getApplicationId()); - Assert.assertNotNull(retrievedExperiment.getUserConfigurationData()); - Assert.assertNotNull(retrievedExperiment.getExperimentInputs()); - - //updating an existing experiment - experiment.setName("NewExperimentName"+TAG); - OutputDataObjectType outputDataObjectType = new OutputDataObjectType(); - outputDataObjectType.setName("Output_to_Echo"); - outputDataObjectType.setValue("Hello World"); - experiment.addToExperimentOutputs(outputDataObjectType); - registry.update(RegistryModelType.EXPERIMENT, experiment, experimentId1); - - //creating more experiments - experiment = new Experiment(); - experiment.setProjectID(projectId1); - experiment.setUserName("TestUser" + TAG); - experiment.setName("TestExperiment2" + TAG); - experiment.setDescription("Test 2 experiment"); - experiment.setApplicationId(UUID.randomUUID().toString()); - experiment.setUserConfigurationData(userConfigurationData); - experiment.addToExperimentInputs(inputDataObjectType); - - String experimentId2 = (String)registry.add(ParentDataType.EXPERIMENT, experiment, gatewayId); - Assert.assertNotNull(experimentId2); - - experiment = new Experiment(); - experiment.setProjectID(projectId1); - experiment.setUserName("TestUser" + TAG); - experiment.setName("TestExperiment3"+TAG); - experiment.setDescription("Test 3 experiment"); - experiment.setApplicationId(UUID.randomUUID().toString()); - experiment.setUserConfigurationData(userConfigurationData); - experiment.addToExperimentInputs(inputDataObjectType); - - String experimentId3 = (String)registry.add(ParentDataType.EXPERIMENT, experiment, gatewayId); - Assert.assertNotNull(experimentId3); - - //searching experiments by - Map<String, String> filters = new HashMap<String, String>(); - filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, "TestUser" + TAG); - filters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId); - filters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME, "Experiment2"); - filters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS, ExperimentState.CREATED.toString()); - filters.put(Constants.FieldConstants.ExperimentConstants.FROM_DATE, time - 999999999 + ""); - filters.put(Constants.FieldConstants.ExperimentConstants.TO_DATE, time + 999999999 + ""); - List<Object> results = registry.search(RegistryModelType.EXPERIMENT, filters); - Assert.assertTrue(results.size()==1); - - //retrieving all experiments in project - List<Object> list = registry.get(RegistryModelType.EXPERIMENT, - Constants.FieldConstants.ExperimentConstants.PROJECT_ID, projectId1); - Assert.assertTrue(list.size()==3); - - //searching all user experiments - filters = new HashMap(); - filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, "TestUser" + TAG); - filters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId); - list = registry.search(RegistryModelType.EXPERIMENT, filters); - Assert.assertTrue(list.size()==3); - - //searching user experiments with pagination - filters = new HashMap(); - filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, "TestUser" + TAG); - filters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY, gatewayId); - list = registry.search(RegistryModelType.EXPERIMENT, filters, 2, 1, - Constants.FieldConstants.ExperimentConstants.CREATION_TIME, ResultOrderType.DESC); - Assert.assertTrue(list.size()==2); - ExperimentSummary exp1 = (ExperimentSummary)list.get(0); - ExperimentSummary exp2 = (ExperimentSummary)list.get(1); - Assert.assertTrue(exp1.getCreationTime()-exp2.getCreationTime() > 0); - - } catch (RegistryException e) { - e.printStackTrace(); - Assert.fail(); - } catch (ApplicationSettingsException e) { - e.printStackTrace(); - } - } - -} \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/TaskDetailResourceTest.java ---------------------------------------------------------------------- diff --git a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/TaskDetailResourceTest.java b/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/TaskDetailResourceTest.java deleted file mode 100644 index 916f03e..0000000 --- a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/TaskDetailResourceTest.java +++ /dev/null @@ -1,93 +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; - -import static org.junit.Assert.*; - -import java.sql.Timestamp; -import java.util.Date; - -import org.apache.airavata.experiment.catalog.resources.ExperimentResource; -import org.apache.airavata.experiment.catalog.resources.TaskDetailResource; -import org.apache.airavata.experiment.catalog.resources.WorkflowNodeDetailResource; -import org.junit.Before; -import org.junit.Test; - -public class TaskDetailResourceTest extends AbstractResourceTest{ - - private ExperimentResource experimentResource; - private TaskDetailResource taskDetailResource; - private WorkflowNodeDetailResource nodeDetailResource; - private String experimentID = "testExpID"; - private String applicationID = "testAppID"; - private String taskID = "testTask"; - private String nodeID = "testNode"; - - - @Before - public void setUp() throws Exception { - super.setUp(); - Timestamp creationTime = new Timestamp(new Date().getTime()); - - experimentResource = (ExperimentResource) getGatewayResource().create(ResourceType.EXPERIMENT); - experimentResource.setExpID(experimentID); - experimentResource.setExecutionUser(getWorkerResource().getUser()); - experimentResource.setProjectId(getProjectResource().getId()); - experimentResource.setCreationTime(creationTime); - experimentResource.save(); - - nodeDetailResource = (WorkflowNodeDetailResource) experimentResource.create(ResourceType.WORKFLOW_NODE_DETAIL); - nodeDetailResource.setExperimentId(experimentResource.getExpID()); - nodeDetailResource.setNodeInstanceId(nodeID); - nodeDetailResource.setNodeName(nodeID); - nodeDetailResource.setCreationTime(creationTime); - nodeDetailResource.save(); - - taskDetailResource = (TaskDetailResource)nodeDetailResource.create(ResourceType.TASK_DETAIL); - taskDetailResource.setNodeId(nodeDetailResource.getNodeInstanceId()); - taskDetailResource.setTaskId(taskID); - taskDetailResource.setApplicationId(applicationID); - taskDetailResource.setApplicationVersion("1.0"); - taskDetailResource.setCreationTime(creationTime); - taskDetailResource.save(); - } - - - @Test - public void testCreate() throws Exception { - assertNotNull("task data resource has being created ", taskDetailResource); - } - - @Test - public void testSave() throws Exception { - assertTrue("task save successfully", nodeDetailResource.isExists(ResourceType.TASK_DETAIL, taskID)); - } - - @Test - public void testGet() throws Exception { - assertNotNull("task data retrieved successfully", nodeDetailResource.get(ResourceType.TASK_DETAIL, taskID)); - } - - @Test - public void testRemove() throws Exception { - nodeDetailResource.remove(ResourceType.TASK_DETAIL, taskID); - assertFalse("task data removed successfully", nodeDetailResource.isExists(ResourceType.TASK_DETAIL, taskID)); - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/UserResourceTest.java ---------------------------------------------------------------------- diff --git a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/UserResourceTest.java b/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/UserResourceTest.java deleted file mode 100644 index dfd45b1..0000000 --- a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/UserResourceTest.java +++ /dev/null @@ -1,54 +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; - -import static org.junit.Assert.*; - -import org.apache.airavata.experiment.catalog.resources.GatewayResource; -import org.apache.airavata.experiment.catalog.resources.UserResource; -import org.junit.After; -import org.junit.Test; - -public class UserResourceTest extends AbstractResourceTest { - private UserResource userResource; - private GatewayResource gatewayResource; - private String userName = "testUser"; - - @Override - public void setUp() throws Exception { - super.setUp(); - gatewayResource = super.getGatewayResource(); - userResource = super.getUserResource(); - userResource.setUserName(userName); - userResource.setPassword("testPassword"); - userResource.save(); - } - - @Test - public void testSave() throws Exception { - assertTrue("user resource saved successfully", gatewayResource.isExists(ResourceType.USER, "admin")); - } - - @After - public void tearDown() throws Exception { - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkerResourceTest.java ---------------------------------------------------------------------- diff --git a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkerResourceTest.java b/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkerResourceTest.java deleted file mode 100644 index 8a9caee..0000000 --- a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkerResourceTest.java +++ /dev/null @@ -1,122 +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.registry.jpa; -// -//import org.apache.airavata.experiment.registry.jpa.resources.*; -// -//import java.sql.Timestamp; -//import java.util.Calendar; -// -//public class WorkerResourceTest extends AbstractResourceTest { -// private GatewayResource gatewayResource; -// private WorkerResource workerResource; -// private ProjectResource testProject; -// private UserWorkflowResource userWorkflowResource; -// private ExperimentMetadataResource experimentResource; -// -// @Override -// public void setUp() throws Exception { -// super.setUp(); -// gatewayResource = super.getGatewayResource(); -// workerResource = super.getWorkerResource(); -// -// testProject = workerResource.createProject("testProject"); -// userWorkflowResource = workerResource.createWorkflowTemplate("workflow1"); -// experimentResource = (ExperimentMetadataResource) workerResource.create(ResourceType.EXPERIMENT_METADATA); -// -// testProject.setGateway(gatewayResource); -// testProject.save(); -// -// userWorkflowResource.setGateway(gatewayResource); -// userWorkflowResource.setContent("testContent"); -// userWorkflowResource.save(); -// -// experimentResource.setGateway(gatewayResource); -// experimentResource.setExpID("testExpID"); -// experimentResource.setExperimentName("testExpID"); -// experimentResource.setProject(testProject); -// experimentResource.setExecutionUser(workerResource.getUser()); -// experimentResource.setSubmittedDate(getCurrentTimestamp()); -// experimentResource.save(); -// -// -// } -// -// public void testCreate() throws Exception { -// assertNotNull("project resource created successfully", testProject); -// assertNotNull("user workflow created successfully", userWorkflowResource); -// } -// -// public void testGet() throws Exception { -// assertNotNull("project resource retrieved successfully", workerResource.get(ResourceType.PROJECT, "testProject")); -// assertNotNull("user workflow retrieved successfully", workerResource.get(ResourceType.USER_WORKFLOW, "workflow1")); -// assertNotNull("experiment retrieved successfully", workerResource.get(ResourceType.EXPERIMENT_METADATA, "testExpID")); -// } -// -// public void testGetList() throws Exception { -// assertNotNull("project resources retrieved successfully", workerResource.get(ResourceType.PROJECT)); -// assertNotNull("user workflows retrieved successfully", workerResource.get(ResourceType.USER_WORKFLOW)); -// assertNotNull("experiments retrieved successfully", workerResource.get(ResourceType.EXPERIMENT_METADATA)); -// -// } -// -// public void testSave() throws Exception { -// workerResource.save(); -// assertTrue("worker resource saved successfully", gatewayResource.isExists(ResourceType.USER, "admin")); -// //remove -//// ResourceUtils.removeGatewayWorker(gatewayResource, userResource); -//// gatewayResource.remove(ResourceType.USER, "testUser"); -// } -// -// public void testRemove() throws Exception { -// workerResource.removeWorkflowTemplate("workflow1"); -//// workerResource.removeExperiment("testExpID"); -//// workerResource.removeProject("testProject"); -// -// assertTrue("user workflow has been removed successfully", !workerResource.isWorkflowTemplateExists("workflow1")); -//// assertTrue("experiment has been removed successfully", !workerResource.isExperimentExists("testExpID")); -// -//// assertTrue("project has been removed successfully", !workerResource.isProjectExists("testProject")); -// -// -//// testProject.setGateway(gatewayResource); -//// testProject.save(); -//// -//// userWorkflowResource.setGateway(gatewayResource); -//// userWorkflowResource.setContent("testContent"); -//// userWorkflowResource.save(); -//// -//// experimentResource.setGateway(gatewayResource); -//// experimentResource.setExpID("testExpID"); -//// experimentResource.setProject(testProject); -//// experimentResource.setSubmittedDate(getCurrentTimestamp()); -//// experimentResource.save(); -// -// } -// -// @Override -// public void tearDown() throws Exception { -// super.tearDown(); -// } -// -// -//} http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkflowDataResourceTest.java ---------------------------------------------------------------------- diff --git a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkflowDataResourceTest.java b/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkflowDataResourceTest.java deleted file mode 100644 index 7aac186..0000000 --- a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkflowDataResourceTest.java +++ /dev/null @@ -1,106 +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.registry.jpa; -// -//import org.apache.airavata.experiment.registry.jpa.resources.*; -// -//import java.sql.Timestamp; -//import java.util.Calendar; -// -//public class WorkflowDataResourceTest extends AbstractResourceTest { -// private ExperimentMetadataResource experimentResource; -// private WorkflowDataResource workflowDataResource; -// private NodeDataResource nodeDataResource; -// private GramDataResource gramDataResource; -// -// @Override -// public void setUp() throws Exception { -// super.setUp(); -// GatewayResource gatewayResource = super.getGatewayResource(); -// WorkerResource workerResource = super.getWorkerResource(); -// -// experimentResource = (ExperimentMetadataResource) gatewayResource.create(ResourceType.EXPERIMENT_METADATA); -// experimentResource.setExpID("testExpID"); -// experimentResource.setExperimentName("testExpID"); -// experimentResource.setExecutionUser(workerResource.getUser()); -// experimentResource.setProject(new ProjectResource(workerResource, gatewayResource, "testProject")); -// experimentResource.save(); -// -// workflowDataResource = (WorkflowDataResource) experimentResource.create(ResourceType.WORKFLOW_DATA); -// workflowDataResource.setWorkflowInstanceID("testWFInstance"); -// workflowDataResource.setTemplateName("testTemplate"); -// workflowDataResource.setExperimentID("testExpID"); -// Calendar calender = Calendar.getInstance(); -// java.util.Date d = calender.getTime(); -// Timestamp timestamp = new Timestamp(d.getTime()); -// workflowDataResource.setLastUpdatedTime(timestamp); -// workflowDataResource.save(); -// -// nodeDataResource = workflowDataResource.createNodeData("testNodeID"); -// gramDataResource = workflowDataResource.createGramData("testNodeID"); -// -// nodeDataResource.setWorkflowDataResource(workflowDataResource); -// nodeDataResource.setInputs("testInput"); -// nodeDataResource.setOutputs("testOutput"); -// nodeDataResource.setStatus("testStatus"); -// nodeDataResource.save(); -// -// gramDataResource.setRsl("testRSL"); -// gramDataResource.setWorkflowDataResource(workflowDataResource); -// gramDataResource.save(); -// } -// -// public void testCreate() throws Exception { -// assertNotNull("node data resource created successfully", nodeDataResource); -// assertNotNull("gram data resource created successfully", gramDataResource); -// } -// -// public void testGet() throws Exception { -// assertNotNull("Node data retrieved successfully", workflowDataResource.getNodeData("testNodeID")); -// assertNotNull("Gram data retrieved successfully", workflowDataResource.getGramData("testNodeID")); -// } -// -// public void testGetList() throws Exception { -// assertNotNull("Node data retrieved successfully", workflowDataResource.getNodeData()); -// assertNotNull("Gram data retrieved successfully", workflowDataResource.getGramData()); -// } -// -// public void testRemove() throws Exception { -// workflowDataResource.removeNodeData("testNodeID"); -// workflowDataResource.removeGramData("testNodeID"); -// -// assertTrue("node date removed successfully", !workflowDataResource.isNodeExists("testNodeID")); -// assertTrue("gram date removed successfully", !workflowDataResource.isGramDataExists("testNodeID")); -// -// } -// -// public void testSave() throws Exception { -// assertTrue("workflow data saved successfully", experimentResource.isExists(ResourceType.WORKFLOW_DATA, "testWFInstance")); -// } -// -// @Override -// public void tearDown() throws Exception { -// super.tearDown(); -// } -// -// -//} http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkflowNodeDetailResourceTest.java ---------------------------------------------------------------------- diff --git a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkflowNodeDetailResourceTest.java b/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkflowNodeDetailResourceTest.java deleted file mode 100644 index 37b98cb..0000000 --- a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/WorkflowNodeDetailResourceTest.java +++ /dev/null @@ -1,85 +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; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.sql.Timestamp; -import java.util.Date; - -import org.apache.airavata.experiment.catalog.resources.ExperimentResource; -import org.apache.airavata.experiment.catalog.resources.WorkflowNodeDetailResource; -import org.junit.Before; -import org.junit.Test; - -public class WorkflowNodeDetailResourceTest extends AbstractResourceTest { - - private ExperimentResource experimentResource; - private WorkflowNodeDetailResource nodeDetailResource; - private String experimentID = "testExpID"; - private String applicationID = "testAppID"; - private String nodeID = "testNode"; - - @Before - public void setUp() throws Exception { - super.setUp(); - Timestamp creationTime = new Timestamp(new Date().getTime()); - - experimentResource = (ExperimentResource) getGatewayResource().create(ResourceType.EXPERIMENT); - experimentResource.setExpID(experimentID); - experimentResource.setExecutionUser(getWorkerResource().getUser()); - experimentResource.setProjectId(getProjectResource().getId()); - experimentResource.setCreationTime(creationTime); - experimentResource.setApplicationId(applicationID); - experimentResource.save(); - - nodeDetailResource = (WorkflowNodeDetailResource) experimentResource.create(ResourceType.WORKFLOW_NODE_DETAIL); - nodeDetailResource.setExperimentId(experimentResource.getExpID()); - nodeDetailResource.setNodeInstanceId(nodeID); - nodeDetailResource.setNodeName(nodeID); - nodeDetailResource.setCreationTime(creationTime); - nodeDetailResource.save(); - - } - - @Test - public void testCreate() throws Exception { - assertNotNull("task data resource has being created ", nodeDetailResource); - } - - @Test - public void testSave() throws Exception { - assertTrue("task save successfully", experimentResource.isExists(ResourceType.WORKFLOW_NODE_DETAIL, nodeID)); - } - - @Test - public void testGet() throws Exception { - assertNotNull("task data retrieved successfully", experimentResource.get(ResourceType.WORKFLOW_NODE_DETAIL, nodeID)); - } - - @Test - public void testRemove() throws Exception { - experimentResource.remove(ResourceType.WORKFLOW_NODE_DETAIL, nodeID); - assertFalse("task data removed successfully", experimentResource.isExists(ResourceType.WORKFLOW_NODE_DETAIL, nodeID)); - } - -} http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/util/Initialize.java ---------------------------------------------------------------------- diff --git a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/util/Initialize.java b/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/util/Initialize.java deleted file mode 100644 index dfae817..0000000 --- a/modules/registry/experiment-catalog/src/test/java/org/apache/airavata/experiment/catalog/util/Initialize.java +++ /dev/null @@ -1,333 +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.util; - -import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.airavata.common.utils.ServerSettings; -import org.apache.airavata.experiment.catalog.ResourceType; -import org.apache.airavata.experiment.catalog.resources.GatewayResource; -import org.apache.airavata.experiment.catalog.resources.ProjectResource; -import org.apache.airavata.experiment.catalog.resources.UserResource; -import org.apache.airavata.experiment.catalog.resources.Utils; -import org.apache.airavata.experiment.catalog.resources.WorkerResource; -import org.apache.airavata.registry.cpi.RegistryException; -import org.apache.derby.drda.NetworkServerControl; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.InetAddress; -import java.sql.*; -import java.util.StringTokenizer; - -public class Initialize { - private static final Logger logger = LoggerFactory.getLogger(Initialize.class); - public static final String DERBY_SERVER_MODE_SYS_PROPERTY = "derby.drda.startNetworkServer"; - public String scriptName = "registry-derby.sql"; - private NetworkServerControl server; - private static final String delimiter = ";"; - public static final String PERSISTANT_DATA = "Configuration"; - - public Initialize(String scriptName) { - this.scriptName = scriptName; - } - - public static boolean checkStringBufferEndsWith(StringBuffer buffer, String suffix) { - if (suffix.length() > buffer.length()) { - return false; - } - // this loop is done on purpose to avoid memory allocation performance - // problems on various JDKs - // StringBuffer.lastIndexOf() was introduced in jdk 1.4 and - // implementation is ok though does allocation/copying - // StringBuffer.toString().endsWith() does massive memory - // allocation/copying on JDK 1.5 - // See http://issues.apache.org/bugzilla/show_bug.cgi?id=37169 - int endIndex = suffix.length() - 1; - int bufferIndex = buffer.length() - 1; - while (endIndex >= 0) { - if (buffer.charAt(bufferIndex) != suffix.charAt(endIndex)) { - return false; - } - bufferIndex--; - endIndex--; - } - return true; - } - - private static boolean isServerStarted(NetworkServerControl server, int ntries) - { - for (int i = 1; i <= ntries; i ++) - { - try { - Thread.sleep(500); - server.ping(); - return true; - } - catch (Exception e) { - if (i == ntries) - return false; - } - } - return false; - } - - public void initializeDB() throws SQLException{ - String jdbcUrl = null; - String jdbcUser = null; - String jdbcPassword = null; - try{ - jdbcUrl = ServerSettings.getSetting("registry.jdbc.url"); - jdbcUser = ServerSettings.getSetting("registry.jdbc.user"); - jdbcPassword = ServerSettings.getSetting("registry.jdbc.password"); - jdbcUrl = jdbcUrl + "?" + "user=" + jdbcUser + "&" + "password=" + jdbcPassword; - } catch (ApplicationSettingsException e) { - logger.error("Unable to read properties", e); - } - startDerbyInServerMode(); - if(!isServerStarted(server, 20)){ - throw new RuntimeException("Derby server cound not started within five seconds..."); - } - - Connection conn = null; - try { - Class.forName(Utils.getJDBCDriver()).newInstance(); - conn = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword); - if (!isDatabaseStructureCreated(PERSISTANT_DATA, conn)) { - executeSQLScript(conn); - logger.info("New Database created for Registry"); - } else { - logger.debug("Database already created for Registry!"); - } - } catch (Exception e) { - logger.error(e.getMessage(), e); - throw new RuntimeException("Database failure", e); - } finally { - try { - if (conn != null){ - if (!conn.getAutoCommit()) { - conn.commit(); - } - conn.close(); - } - } catch (SQLException e) { - logger.error(e.getMessage(), e); - } - } - - try{ - GatewayResource gatewayResource = new GatewayResource(); - gatewayResource.setGatewayId(ServerSettings.getSetting("default.registry.gateway")); - gatewayResource.setGatewayName(ServerSettings.getSetting("default.registry.gateway")); - gatewayResource.setDomain("test-domain"); - gatewayResource.setEmailAddress("test-email"); - gatewayResource.save(); - - UserResource userResource = new UserResource(); - userResource.setUserName(ServerSettings.getSetting("default.registry.user")); - userResource.setPassword(ServerSettings.getSetting("default.registry.password")); - userResource.save(); - - WorkerResource workerResource = (WorkerResource) gatewayResource.create(ResourceType.GATEWAY_WORKER); - workerResource.setUser(userResource.getUserName()); - workerResource.save(); - - ProjectResource projectResource = (ProjectResource)workerResource.create(ResourceType.PROJECT); - projectResource.setGatewayId(gatewayResource.getGatewayId()); - projectResource.setId("default"); - projectResource.setName("default"); - projectResource.setWorker(workerResource); - projectResource.save(); - - - } catch (ApplicationSettingsException e) { - logger.error("Unable to read properties", e); - throw new SQLException(e.getMessage(), e); - } catch (RegistryException e) { - logger.error("Unable to save data to registry", e); - throw new SQLException(e.getMessage(), e); - } - } - - public static boolean isDatabaseStructureCreated(String tableName, Connection conn) { - try { - System.out.println("Running a query to test the database tables existence."); - // check whether the tables are already created with a query - Statement statement = null; - try { - statement = conn.createStatement(); - ResultSet rs = statement.executeQuery("select * from " + tableName); - if (rs != null) { - rs.close(); - } - } finally { - try { - if (statement != null) { - statement.close(); - } - } catch (SQLException e) { - return false; - } - } - } catch (SQLException e) { - return false; - } - - return true; - } - - private void executeSQLScript(Connection conn) throws Exception { - StringBuffer sql = new StringBuffer(); - BufferedReader reader = null; - try{ - - InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(scriptName); - reader = new BufferedReader(new InputStreamReader(inputStream)); - String line; - while ((line = reader.readLine()) != null) { - line = line.trim(); - if (line.startsWith("//")) { - continue; - } - if (line.startsWith("--")) { - continue; - } - StringTokenizer st = new StringTokenizer(line); - if (st.hasMoreTokens()) { - String token = st.nextToken(); - if ("REM".equalsIgnoreCase(token)) { - continue; - } - } - sql.append(" ").append(line); - - // SQL defines "--" as a comment to EOL - // and in Oracle it may contain a hint - // so we cannot just remove it, instead we must end it - if (line.indexOf("--") >= 0) { - sql.append("\n"); - } - if ((checkStringBufferEndsWith(sql, delimiter))) { - executeSQL(sql.substring(0, sql.length() - delimiter.length()), conn); - sql.replace(0, sql.length(), ""); - } - } - // Catch any statements not followed by ; - if (sql.length() > 0) { - executeSQL(sql.toString(), conn); - } - }catch (IOException e){ - logger.error("Error occurred while executing SQL script for creating Airavata database", e); - throw new Exception("Error occurred while executing SQL script for creating Airavata database", e); - }finally { - if (reader != null) { - reader.close(); - } - - } - - } - - private static void executeSQL(String sql, Connection conn) throws Exception { - // Check and ignore empty statements - if ("".equals(sql.trim())) { - return; - } - - Statement statement = null; - try { - logger.debug("SQL : " + sql); - - boolean ret; - int updateCount = 0, updateCountTotal = 0; - statement = conn.createStatement(); - ret = statement.execute(sql); - updateCount = statement.getUpdateCount(); - do { - if (!ret) { - if (updateCount != -1) { - updateCountTotal += updateCount; - } - } - ret = statement.getMoreResults(); - if (ret) { - updateCount = statement.getUpdateCount(); - } - } while (ret); - - logger.debug(sql + " : " + updateCountTotal + " rows affected"); - - SQLWarning warning = conn.getWarnings(); - while (warning != null) { - logger.warn(warning + " sql warning"); - warning = warning.getNextWarning(); - } - conn.clearWarnings(); - } catch (SQLException e) { - if (e.getSQLState().equals("X0Y32")) { - // eliminating the table already exception for the derby - // database - logger.info("Table Already Exists", e); - } else { - throw new Exception("Error occurred while executing : " + sql, e); - } - } finally { - if (statement != null) { - try { - statement.close(); - } catch (SQLException e) { - logger.error("Error occurred while closing result set.", e); - } - } - } - } - - private void startDerbyInServerMode() { - try { - System.setProperty(DERBY_SERVER_MODE_SYS_PROPERTY, "true"); - server = new NetworkServerControl(InetAddress.getByName(Utils.getHost()), - 20000, - Utils.getJDBCUser(), Utils.getJDBCPassword()); - java.io.PrintWriter consoleWriter = new java.io.PrintWriter(System.out, true); - server.start(consoleWriter); - } catch (IOException e) { - logger.error("Unable to start Apache derby in the server mode! Check whether " + - "specified port is available"); - } catch (Exception e) { - logger.error("Unable to start Apache derby in the server mode! Check whether " + - "specified port is available"); - } - - } - - public void stopDerbyServer() throws SQLException{ - try { - server.shutdown(); - } catch (Exception e) { - logger.error(e.getMessage(), e); - throw new SQLException("Error while stopping derby server", e); - } - } -} http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/experiment-catalog/src/test/resources/registry-derby.sql ---------------------------------------------------------------------- diff --git a/modules/registry/experiment-catalog/src/test/resources/registry-derby.sql b/modules/registry/experiment-catalog/src/test/resources/registry-derby.sql deleted file mode 100644 index 7ab3755..0000000 --- a/modules/registry/experiment-catalog/src/test/resources/registry-derby.sql +++ /dev/null @@ -1,391 +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. - * - */ -CREATE TABLE GATEWAY -( - GATEWAY_ID VARCHAR (255), - GATEWAY_NAME VARCHAR(255), - DOMAIN VARCHAR(255), - EMAIL_ADDRESS VARCHAR(255), - PRIMARY KEY (GATEWAY_ID) -); - -CREATE TABLE CONFIGURATION -( - CONFIG_KEY VARCHAR(255), - CONFIG_VAL VARCHAR(255), - EXPIRE_DATE TIMESTAMP DEFAULT '0000-00-00 00:00:00', - CATEGORY_ID VARCHAR (255), - PRIMARY KEY(CONFIG_KEY, CONFIG_VAL, CATEGORY_ID) -); - -INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL, EXPIRE_DATE, CATEGORY_ID) VALUES('registry.version', '0.15', CURRENT_TIMESTAMP ,'SYSTEM'); - -CREATE TABLE USERS -( - USER_NAME VARCHAR(255), - PASSWORD VARCHAR(255), - PRIMARY KEY(USER_NAME) -); - -CREATE TABLE GATEWAY_WORKER -( - GATEWAY_ID VARCHAR(255), - USER_NAME VARCHAR(255), - PRIMARY KEY (GATEWAY_ID, USER_NAME), - FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE, - FOREIGN KEY (USER_NAME) REFERENCES USERS(USER_NAME) ON DELETE CASCADE -); - -CREATE TABLE PROJECT -( - GATEWAY_ID VARCHAR(255), - USER_NAME VARCHAR(255) NOT NULL, - PROJECT_ID VARCHAR(255), - PROJECT_NAME VARCHAR(255) NOT NULL, - DESCRIPTION VARCHAR(255), - CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (PROJECT_ID), - FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE, - FOREIGN KEY (USER_NAME) REFERENCES USERS(USER_NAME) ON DELETE CASCADE -); - -CREATE TABLE PROJECT_USER -( - PROJECT_ID VARCHAR(255), - USER_NAME VARCHAR(255), - PRIMARY KEY (PROJECT_ID,USER_NAME), - FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE, - FOREIGN KEY (USER_NAME) REFERENCES USERS(USER_NAME) ON DELETE CASCADE -); - -CREATE TABLE EXPERIMENT -( - EXPERIMENT_ID VARCHAR(255), - GATEWAY_ID VARCHAR(255), - EXECUTION_USER VARCHAR(255) NOT NULL, - PROJECT_ID VARCHAR(255) NOT NULL, - CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - EXPERIMENT_NAME VARCHAR(255) NOT NULL, - EXPERIMENT_DESCRIPTION VARCHAR(255), - APPLICATION_ID VARCHAR(255), - APPLICATION_VERSION VARCHAR(255), - WORKFLOW_TEMPLATE_ID VARCHAR(255), - WORKFLOW_TEMPLATE_VERSION VARCHAR(255), - WORKFLOW_EXECUTION_ID VARCHAR(255), - ALLOW_NOTIFICATION SMALLINT, - GATEWAY_EXECUTION_ID VARCHAR(255), - PRIMARY KEY(EXPERIMENT_ID), - FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE, - FOREIGN KEY (EXECUTION_USER) REFERENCES USERS(USER_NAME) ON DELETE CASCADE, - FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE -); - -CREATE TABLE EXPERIMENT_INPUT -( - EXPERIMENT_ID VARCHAR(255), - INPUT_KEY VARCHAR(255) NOT NULL, - DATA_TYPE VARCHAR(255), - METADATA VARCHAR(255), - APP_ARGUMENT VARCHAR(255), - STANDARD_INPUT SMALLINT, - USER_FRIENDLY_DESC VARCHAR(255), - VALUE CLOB, - INPUT_ORDER INTEGER, - IS_REQUIRED SMALLINT, - REQUIRED_TO_COMMANDLINE SMALLINT, - DATA_STAGED SMALLINT, - PRIMARY KEY(EXPERIMENT_ID,INPUT_KEY), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE -); - -CREATE TABLE EXPERIMENT_OUTPUT -( - EXPERIMENT_ID VARCHAR(255), - OUTPUT_KEY VARCHAR(255) NOT NULL, - DATA_TYPE VARCHAR(255), - VALUE CLOB, - IS_REQUIRED SMALLINT, - REQUIRED_TO_COMMANDLINE SMALLINT, - DATA_MOVEMENT SMALLINT, - DATA_NAME_LOCATION VARCHAR(255), - SEARCH_QUERY VARCHAR(255), - APP_ARGUMENT VARCHAR(255), - PRIMARY KEY(EXPERIMENT_ID,OUTPUT_KEY), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE -); - - -CREATE TABLE WORKFLOW_NODE_DETAIL -( - EXPERIMENT_ID VARCHAR(255) NOT NULL, - NODE_INSTANCE_ID VARCHAR(255), - CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - NODE_NAME VARCHAR(255) NOT NULL, - EXECUTION_UNIT VARCHAR(255) NOT NULL, - EXECUTION_UNIT_DATA VARCHAR(255), - PRIMARY KEY(NODE_INSTANCE_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE -); - -CREATE TABLE TASK_DETAIL -( - TASK_ID VARCHAR(255), - NODE_INSTANCE_ID VARCHAR(255), - CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - APPLICATION_ID VARCHAR(255), - APPLICATION_VERSION VARCHAR(255), - APPLICATION_DEPLOYMENT_ID VARCHAR(255), - ALLOW_NOTIFICATION SMALLINT, - PRIMARY KEY(TASK_ID), - FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE -); - -CREATE TABLE NOTIFICATION_EMAIL -( - EMAIL_ID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY, - EXPERIMENT_ID VARCHAR(255), - TASK_ID VARCHAR(255), - EMAIL_ADDRESS VARCHAR(255), - PRIMARY KEY(EMAIL_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE, - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE -); - -CREATE TABLE ERROR_DETAIL -( - ERROR_ID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY, - EXPERIMENT_ID VARCHAR(255), - TASK_ID VARCHAR(255), - NODE_INSTANCE_ID VARCHAR(255), - JOB_ID VARCHAR(255), - CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - ACTUAL_ERROR_MESSAGE CLOB, - USER_FRIEDNLY_ERROR_MSG VARCHAR(255), - TRANSIENT_OR_PERSISTENT SMALLINT, - ERROR_CATEGORY VARCHAR(255), - CORRECTIVE_ACTION VARCHAR(255), - ACTIONABLE_GROUP VARCHAR(255), - PRIMARY KEY(ERROR_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE, - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE, - FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE -); - -CREATE TABLE APPLICATION_INPUT -( - TASK_ID VARCHAR(255), - INPUT_KEY VARCHAR(255) NOT NULL, - DATA_TYPE VARCHAR(255), - METADATA VARCHAR(255), - APP_ARGUMENT VARCHAR(255), - STANDARD_INPUT SMALLINT, - USER_FRIENDLY_DESC VARCHAR(255), - VALUE CLOB, - INPUT_ORDER INTEGER, - IS_REQUIRED SMALLINT, - REQUIRED_TO_COMMANDLINE SMALLINT, - DATA_STAGED SMALLINT, - PRIMARY KEY(TASK_ID,INPUT_KEY), - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE -); - -CREATE TABLE APPLICATION_OUTPUT -( - TASK_ID VARCHAR(255), - OUTPUT_KEY VARCHAR(255) NOT NULL, - DATA_TYPE VARCHAR(255), - VALUE CLOB, - IS_REQUIRED SMALLINT, - REQUIRED_TO_COMMANDLINE SMALLINT, - DATA_MOVEMENT SMALLINT, - DATA_NAME_LOCATION VARCHAR(255), - SEARCH_QUERY VARCHAR(255), - APP_ARGUMENT VARCHAR(255), - PRIMARY KEY(TASK_ID,OUTPUT_KEY), - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE -); - -CREATE TABLE NODE_INPUT -( - NODE_INSTANCE_ID VARCHAR(255), - INPUT_KEY VARCHAR(255) NOT NULL, - DATA_TYPE VARCHAR(255), - METADATA VARCHAR(255), - APP_ARGUMENT VARCHAR(255), - STANDARD_INPUT SMALLINT, - USER_FRIENDLY_DESC VARCHAR(255), - VALUE VARCHAR(255), - INPUT_ORDER INTEGER, - IS_REQUIRED SMALLINT, - REQUIRED_TO_COMMANDLINE SMALLINT, - DATA_STAGED SMALLINT, - PRIMARY KEY(NODE_INSTANCE_ID,INPUT_KEY), - FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE -); - -CREATE TABLE NODE_OUTPUT -( - NODE_INSTANCE_ID VARCHAR(255), - OUTPUT_KEY VARCHAR(255) NOT NULL, - DATA_TYPE VARCHAR(255), - VALUE VARCHAR(255), - IS_REQUIRED SMALLINT, - REQUIRED_TO_COMMANDLINE SMALLINT, - DATA_MOVEMENT SMALLINT, - DATA_NAME_LOCATION VARCHAR(255), - SEARCH_QUERY VARCHAR(255), - APP_ARGUMENT VARCHAR(255), - PRIMARY KEY(NODE_INSTANCE_ID,OUTPUT_KEY), - FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE -); - -CREATE TABLE JOB_DETAIL -( - JOB_ID VARCHAR(255), - TASK_ID VARCHAR(255), - JOB_DESCRIPTION CLOB NOT NULL, - CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - COMPUTE_RESOURCE_CONSUMED VARCHAR(255), - JOBNAME VARCHAR (255), - WORKING_DIR VARCHAR(255), - PRIMARY KEY (TASK_ID, JOB_ID), - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE -); - -CREATE TABLE DATA_TRANSFER_DETAIL -( - TRANSFER_ID VARCHAR(255), - TASK_ID VARCHAR(255), - CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - TRANSFER_DESC VARCHAR(255) NOT NULL, - PRIMARY KEY(TRANSFER_ID), - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE -); - -CREATE TABLE STATUS -( - STATUS_ID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY, - EXPERIMENT_ID VARCHAR(255), - NODE_INSTANCE_ID VARCHAR(255), - TRANSFER_ID VARCHAR(255), - TASK_ID VARCHAR(255), - JOB_ID VARCHAR(255), - STATE VARCHAR(255), - STATUS_UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00', - STATUS_TYPE VARCHAR(255), - PRIMARY KEY(STATUS_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE, - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE, - FOREIGN KEY (NODE_INSTANCE_ID) REFERENCES WORKFLOW_NODE_DETAIL(NODE_INSTANCE_ID) ON DELETE CASCADE, - FOREIGN KEY (TRANSFER_ID) REFERENCES DATA_TRANSFER_DETAIL(TRANSFER_ID) ON DELETE CASCADE -); - -CREATE TABLE CONFIG_DATA -( - EXPERIMENT_ID VARCHAR(255), - AIRAVATA_AUTO_SCHEDULE SMALLINT NOT NULL, - OVERRIDE_MANUAL_SCHEDULE_PARAMS SMALLINT NOT NULL, - SHARE_EXPERIMENT SMALLINT, - USER_DN VARCHAR(255), - GENERATE_CERT SMALLINT, - PRIMARY KEY(EXPERIMENT_ID) -); - -CREATE TABLE COMPUTATIONAL_RESOURCE_SCHEDULING -( - RESOURCE_SCHEDULING_ID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY, - EXPERIMENT_ID VARCHAR(255), - TASK_ID VARCHAR(255), - RESOURCE_HOST_ID VARCHAR(255), - CPU_COUNT INTEGER, - NODE_COUNT INTEGER, - NO_OF_THREADS INTEGER, - QUEUE_NAME VARCHAR(255), - WALLTIME_LIMIT INTEGER, - JOB_START_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00', - TOTAL_PHYSICAL_MEMORY INTEGER, - COMPUTATIONAL_PROJECT_ACCOUNT VARCHAR(255), - CHESSIS_NAME VARCHAR(255), - PRIMARY KEY(RESOURCE_SCHEDULING_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE, - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE -); - -CREATE TABLE ADVANCE_INPUT_DATA_HANDLING -( - INPUT_DATA_HANDLING_ID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY, - EXPERIMENT_ID VARCHAR(255), - TASK_ID VARCHAR(255), - WORKING_DIR_PARENT VARCHAR(255), - UNIQUE_WORKING_DIR VARCHAR(255), - STAGE_INPUT_FILES_TO_WORKING_DIR SMALLINT, - CLEAN_AFTER_JOB SMALLINT, - PRIMARY KEY(INPUT_DATA_HANDLING_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE, - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE -); - -CREATE TABLE ADVANCE_OUTPUT_DATA_HANDLING -( - OUTPUT_DATA_HANDLING_ID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY, - EXPERIMENT_ID VARCHAR(255), - TASK_ID VARCHAR(255), - OUTPUT_DATA_DIR VARCHAR(255), - DATA_REG_URL VARCHAR (255), - PERSIST_OUTPUT_DATA SMALLINT, - PRIMARY KEY(OUTPUT_DATA_HANDLING_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE, - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE -); - -CREATE TABLE QOS_PARAM -( - QOS_ID INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY, - EXPERIMENT_ID VARCHAR(255), - TASK_ID VARCHAR(255), - START_EXECUTION_AT VARCHAR(255), - EXECUTE_BEFORE VARCHAR(255), - NO_OF_RETRIES INTEGER, - PRIMARY KEY(QOS_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE, - FOREIGN KEY (TASK_ID) REFERENCES TASK_DETAIL(TASK_ID) ON DELETE CASCADE -); - -CREATE TABLE COMMUNITY_USER -( - GATEWAY_ID VARCHAR(256) NOT NULL, - COMMUNITY_USER_NAME VARCHAR(256) NOT NULL, - TOKEN_ID VARCHAR(256) NOT NULL, - COMMUNITY_USER_EMAIL VARCHAR(256) NOT NULL, - PRIMARY KEY (GATEWAY_ID, COMMUNITY_USER_NAME, TOKEN_ID) -); - -CREATE TABLE CREDENTIALS -( - GATEWAY_ID VARCHAR(256) NOT NULL, - TOKEN_ID VARCHAR(256) NOT NULL, - CREDENTIAL BLOB NOT NULL, - PORTAL_USER_ID VARCHAR(256) NOT NULL, - TIME_PERSISTED TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (GATEWAY_ID, TOKEN_ID) -); - - http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/pom.xml ---------------------------------------------------------------------- diff --git a/modules/registry/pom.xml b/modules/registry/pom.xml index 055d9f4..0132411 100644 --- a/modules/registry/pom.xml +++ b/modules/registry/pom.xml @@ -31,7 +31,7 @@ </activation> <modules> <module>registry-cpi</module> - <module>experiment-catalog</module> + <module>registry-core</module> <!--<module>jpa-gen</module>--> </modules> </profile> http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/registry-core/pom.xml ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/pom.xml b/modules/registry/registry-core/pom.xml new file mode 100644 index 0000000..b18c93c --- /dev/null +++ b/modules/registry/registry-core/pom.xml @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!--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. --> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + <parent> + <groupId>org.apache.airavata</groupId> + <artifactId>registry</artifactId> + <version>0.16-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <modelVersion>4.0.0</modelVersion> + <artifactId>airavata-registry-core</artifactId> + <packaging>jar</packaging> + <name>Airavata Registry Core</name> + <url>http://airavata.apache.org/</url> + + <dependencies> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </dependency> + <!--dependency> + <groupId>org.apache.airavata</groupId> + <artifactId>airavata-common-utils</artifactId> + <version>${project.version}</version> + </dependency--> + <!-- Test --> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.openjpa</groupId> + <artifactId>openjpa-all</artifactId> + <version>2.2.0</version> + </dependency> + <dependency> + <groupId>org.apache.airavata</groupId> + <artifactId>airavata-credential-store</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.airavata</groupId> + <artifactId>airavata-data-models</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.airavata</groupId> + <artifactId>airavata-registry-cpi</artifactId> + <version>${project.version}</version> + </dependency> + <!--dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <version>${mysql.connector.version}</version> + </dependency--> + <dependency> + <groupId>org.apache.derby</groupId> + <artifactId>derby</artifactId> + <version>${derby.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.derby</groupId> + <artifactId>derbyclient</artifactId> + <version>${derby.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.derby</groupId> + <artifactId>derbynet</artifactId> + <version>${derby.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.derby</groupId> + <artifactId>derbytools</artifactId> + <version>${derby.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.airavata</groupId> + <artifactId>airavata-server-configuration</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <version>${antrun.version}</version> + <executions> + <execution> + <phase>process-classes</phase> + <configuration> + <tasks> + <taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask" classpathref="maven.compile.classpath" /> + <openjpac> + <classpath refid="maven.compile.classpath" /> + </openjpac> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>${surefire.version}</version> + <inherited>true</inherited> + <configuration> + <failIfNoTests>false</failIfNoTests> + <skipTests>${skipTests}</skipTests> + <workingDirectory>${project.build.testOutputDirectory}</workingDirectory> + <!-- making sure that the sure-fire plugin doesn't run the integration tests--> + <!-- Integration tests are run using the fail-safe plugin in the module pom--> + </configuration> + </plugin> + </plugins> + </build> + +</project> http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogFactory.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogFactory.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogFactory.java new file mode 100644 index 0000000..f5107d1 --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogFactory.java @@ -0,0 +1,46 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +package org.apache.airavata.registry.core.app.catalog.impl; + +import org.apache.airavata.registry.cpi.AppCatalog; +import org.apache.airavata.registry.cpi.AppCatalogException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class AppCatalogFactory { + private static AppCatalog appCatalog; + + private static Logger logger = LoggerFactory.getLogger(AppCatalogFactory.class); + + public static AppCatalog getAppCatalog() throws AppCatalogException { + try { + if (appCatalog == null){ + appCatalog = new AppCatalogImpl(); + } + + }catch (Exception e){ + logger.error("Unable to create app catalog instance", e); + throw new AppCatalogException(e); + } + return appCatalog; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/ec8c6202/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java new file mode 100644 index 0000000..1a4e9ce --- /dev/null +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/AppCatalogImpl.java @@ -0,0 +1,52 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +package org.apache.airavata.registry.core.app.catalog.impl; + + +import org.apache.airavata.registry.cpi.*; + +public class AppCatalogImpl implements AppCatalog { + @Override + public ComputeResource getComputeResource() { + return new ComputeResourceImpl(); + } + + @Override + public ApplicationInterface getApplicationInterface() { + return new ApplicationInterfaceImpl(); + } + + @Override + public ApplicationDeployment getApplicationDeployment() { + return new ApplicationDeploymentImpl(); + } + + @Override + public GwyResourceProfile getGatewayProfile() throws AppCatalogException { + return new GwyResourceProfileImpl(); + } + + @Override + public WorkflowCatalog getWorkflowCatalog() throws AppCatalogException { + return new WorkflowCatalogImpl(); + } +}
