airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From machris...@apache.org
Subject [airavata] branch develop updated: AIRAVATA-2876 Generating ID for App Module/Interface/Deployment
Date Wed, 12 Sep 2018 15:37:04 GMT
This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git


The following commit(s) were added to refs/heads/develop by this push:
     new 5d18d51  AIRAVATA-2876 Generating ID for App Module/Interface/Deployment
5d18d51 is described below

commit 5d18d51dcc1e8c2842a425ac4a6c4f07ad526908
Author: Marcus Christie <machristie@apache.org>
AuthorDate: Wed Sep 12 11:36:29 2018 -0400

    AIRAVATA-2876 Generating ID for App Module/Interface/Deployment
---
 .../ApplicationDeploymentRepository.java           | 13 +++++++--
 .../appcatalog/ApplicationInterfaceRepository.java | 23 ++++++++-------
 .../ApplicationDeploymentRepositoryTest.java       | 14 +++++++++
 .../ApplicationInterfaceRepositoryTest.java        | 34 +++++++++++++++++++++-
 4 files changed, 71 insertions(+), 13 deletions(-)

diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepository.java
b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepository.java
index d85e5cd..0fbd560 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepository.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepository.java
@@ -19,8 +19,10 @@
  */
 package org.apache.airavata.registry.core.repositories.appcatalog;
 
-import org.apache.airavata.model.appcatalog.appdeployment.*;
-import org.apache.airavata.registry.core.entities.appcatalog.*;
+import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
+import org.apache.airavata.model.appcatalog.appinterface.application_interface_modelConstants;
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
+import org.apache.airavata.registry.core.entities.appcatalog.ApplicationDeploymentEntity;
 import org.apache.airavata.registry.core.utils.DBConstants;
 import org.apache.airavata.registry.core.utils.ObjectMapperSingleton;
 import org.apache.airavata.registry.core.utils.QueryConstants;
@@ -48,6 +50,13 @@ public class ApplicationDeploymentRepository extends AppCatAbstractRepository<Ap
 
     protected ApplicationDeploymentEntity saveApplicationDeployment(
             ApplicationDeploymentDescription applicationDeploymentDescription, String gatewayId)
throws AppCatalogException {
+
+        if (applicationDeploymentDescription.getAppDeploymentId().trim().equals("") || applicationDeploymentDescription.getAppDeploymentId().equals(application_interface_modelConstants.DEFAULT_ID)
) {
+            logger.debug("If Application Deployment ID is empty or DEFAULT, set it as the
compute host name plus the App Module ID");
+            ComputeResourceDescription computeResourceDescription = new ComputeResourceRepository().getComputeResource(applicationDeploymentDescription.getComputeHostId());
+            applicationDeploymentDescription.setAppDeploymentId(computeResourceDescription.getHostName()
+ "_" + applicationDeploymentDescription.getAppModuleId());
+        }
+
         String applicationDeploymentId = applicationDeploymentDescription.getAppDeploymentId();
         Mapper mapper = ObjectMapperSingleton.getInstance();
         ApplicationDeploymentEntity applicationDeploymentEntity = mapper.map(applicationDeploymentDescription,
ApplicationDeploymentEntity.class);
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepository.java
b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepository.java
index 080fdd0..9cecc37 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepository.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepository.java
@@ -19,6 +19,7 @@
  */
 package org.apache.airavata.registry.core.repositories.appcatalog;
 
+import org.apache.airavata.common.utils.AiravataUtils;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
 import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
 import org.apache.airavata.model.appcatalog.appinterface.application_interface_modelConstants;
@@ -54,6 +55,12 @@ public class ApplicationInterfaceRepository extends AppCatAbstractRepository<App
 
     protected ApplicationInterfaceEntity saveApplicationInterface(
             ApplicationInterfaceDescription applicationInterfaceDescription, String gatewayId)
throws AppCatalogException {
+
+        if (applicationInterfaceDescription.getApplicationInterfaceId().trim().equals("")
|| applicationInterfaceDescription.getApplicationInterfaceId().equals(application_interface_modelConstants.DEFAULT_ID)
) {
+            logger.debug("If Application Interface ID is empty or DEFAULT, set it as the
Application Interface Name plus random UUID");
+            applicationInterfaceDescription.setApplicationInterfaceId(AiravataUtils.getId(applicationInterfaceDescription.getApplicationName()));
+        }
+
         String applicationInterfaceId = applicationInterfaceDescription.getApplicationInterfaceId();
         Mapper mapper = ObjectMapperSingleton.getInstance();
         ApplicationInterfaceEntity applicationInterfaceEntity = mapper.map(applicationInterfaceDescription,
ApplicationInterfaceEntity.class);
@@ -90,6 +97,12 @@ public class ApplicationInterfaceRepository extends AppCatAbstractRepository<App
 
     protected ApplicationModuleEntity saveApplicationModule(
             ApplicationModule applicationModule, String gatewayId) throws AppCatalogException
{
+
+        if (applicationModule.getAppModuleId().trim().equals("") || applicationModule.getAppModuleId().equals(application_interface_modelConstants.DEFAULT_ID))
{
+            logger.debug("If Application Module ID is empty or DEFAULT, set it as the Application
Module Name plus random UUID");
+            applicationModule.setAppModuleId(AiravataUtils.getId(applicationModule.getAppModuleName()));
+        }
+
         String applicationModuleId = applicationModule.getAppModuleId();
         Mapper mapper = ObjectMapperSingleton.getInstance();
         ApplicationModuleEntity applicationModuleEntity = mapper.map(applicationModule, ApplicationModuleEntity.class);
@@ -99,16 +112,6 @@ public class ApplicationInterfaceRepository extends AppCatAbstractRepository<App
             applicationModuleEntity.setGatewayId(gatewayId);
         }
 
-        if (!applicationModuleEntity.getAppModuleId().equals("") && !applicationModule.getAppModuleId().equals(application_interface_modelConstants.DEFAULT_ID))
{
-            logger.debug("Checking if the Application Module ID is not empty or DEFAULT");
-            applicationModuleEntity.setAppModuleId(applicationModule.getAppModuleId());
-        }
-
-        else {
-            logger.debug("If Application Module ID is empty or DEFAULT, set it as the Application
Module Name");
-            applicationModuleEntity.setAppModuleId(applicationModule.getAppModuleName());
-        }
-
         if (!isApplicationModuleExists(applicationModuleId)) {
             logger.debug("Checking if the Application Module already exists");
             applicationModuleEntity.setCreationTime(new Timestamp(System.currentTimeMillis()));
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepositoryTest.java
b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepositoryTest.java
index 7a0bd15..4bcd49a 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationDeploymentRepositoryTest.java
@@ -23,6 +23,7 @@ import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentD
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
 import org.apache.airavata.model.appcatalog.appdeployment.CommandObject;
 import org.apache.airavata.model.appcatalog.appdeployment.SetEnvPaths;
+import org.apache.airavata.model.appcatalog.appinterface.application_interface_modelConstants;
 import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
 import org.apache.airavata.model.parallelism.ApplicationParallelismType;
 import org.apache.airavata.registry.core.repositories.common.TestBase;
@@ -154,6 +155,19 @@ public class ApplicationDeploymentRepositoryTest extends TestBase {
     }
 
     @Test
+    public void createAppDeploymentWithDefaultIdTest() throws AppCatalogException {
+
+        String applicationModule = addSampleApplicationModule("1");
+        String computeResource =  addSampleComputeResource("1");
+
+        ApplicationDeploymentDescription deployment = prepareSampleDeployment("1", applicationModule,
computeResource);
+        deployment.setAppDeploymentId(application_interface_modelConstants.DEFAULT_ID);
+        String deploymentId = applicationDeploymentRepository.addApplicationDeployment(deployment,
gatewayId);
+        Assert.assertNotEquals(deploymentId, application_interface_modelConstants.DEFAULT_ID);
+        Assert.assertEquals("compHostName1" + "_" + applicationModule, deploymentId);
+    }
+
+    @Test
     public void updateAppDeploymentTest() throws AppCatalogException {
         String applicationModule = addSampleApplicationModule("1");
         String computeResource =  addSampleComputeResource("1");
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepositoryTest.java
b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepositoryTest.java
index 614a138..7e03e48 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/ApplicationInterfaceRepositoryTest.java
@@ -36,9 +36,11 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.text.MessageFormat;
 import java.util.*;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 public class ApplicationInterfaceRepositoryTest extends TestBase {
 
@@ -78,7 +80,8 @@ public class ApplicationInterfaceRepositoryTest extends TestBase {
         String moduleId = applicationInterfaceRepository.addApplicationModule(applicationModule,
gatewayId);
 
         ApplicationModule savedAppModule = applicationInterfaceRepository.getApplicationModule(moduleId);
-        Assert.assertEquals(applicationModule.getAppModuleName(), savedAppModule.getAppModuleId());
+        Assert.assertNotEquals(applicationModule.getAppModuleName(), savedAppModule.getAppModuleId());
+        Assert.assertTrue(savedAppModule.getAppModuleId().startsWith(applicationModule.getAppModuleName()));
     }
 
     @Test
@@ -136,6 +139,35 @@ public class ApplicationInterfaceRepositoryTest extends TestBase {
     }
 
     @Test
+    public void addApplicationInterfaceWithDefaultIdTest() throws AppCatalogException {
+        ApplicationInterfaceDescription applicationInterfaceDescription = new ApplicationInterfaceDescription();
+        applicationInterfaceDescription.setApplicationName("app interface 1");
+
+        applicationInterfaceDescription.setApplicationModules(new ArrayList<>());
+
+        InputDataObjectType input = new InputDataObjectType();
+        input.setName("input1");
+        input.setApplicationArgument("Arg");
+        input.setDataStaged(true);
+        input.setInputOrder(0);
+        input.setIsReadOnly(true);
+        input.setIsRequired(true);
+        input.setRequiredToAddedToCommandLine(true);
+        input.setType(DataType.FLOAT);
+        input.setUserFriendlyDescription("User friendly description");
+        input.setValue("113");
+        input.setMetaData("Metadata");
+        input.setStandardInput(true);
+        applicationInterfaceDescription.setApplicationInputs(Collections.singletonList(input));
+
+        applicationInterfaceDescription.setApplicationOutputs(new ArrayList<>());
+
+        String interfaceId = applicationInterfaceRepository.addApplicationInterface(applicationInterfaceDescription,
gatewayId);
+        assertTrue(MessageFormat.format("{0} does not start with {1}", interfaceId, "app_interface_1"),
+                interfaceId.startsWith("app_interface_1"));
+    }
+
+    @Test
     public void deleteApplicationInterfaceTest() throws AppCatalogException {
 
         Assert.assertNull(applicationInterfaceRepository.getApplicationModule("interface1"));


Mime
View raw message