You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2018/11/07 02:56:58 UTC

[airavata] branch develop updated: Fetching parsing templates by application

This is an automated email from the ASF dual-hosted git repository.

dimuthuupe 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 00ff6e7  Fetching parsing templates by application
00ff6e7 is described below

commit 00ff6e75f31fd86544ce4cfaa9764f4a451783b6
Author: Dimuthu Wannipurage <di...@datasprouts.com>
AuthorDate: Tue Nov 6 21:56:48 2018 -0500

    Fetching parsing templates by application
---
 .../repositories/appcatalog/ParsingTemplateRepository.java   | 12 ++++++++++++
 .../org/apache/airavata/registry/core/utils/DBConstants.java |  4 ++++
 .../apache/airavata/registry/core/utils/QueryConstants.java  |  3 +++
 .../registry/api/service/handler/RegistryServerHandler.java  |  7 +++++--
 4 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ParsingTemplateRepository.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ParsingTemplateRepository.java
index 94b2cb1..04d98d7 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ParsingTemplateRepository.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/ParsingTemplateRepository.java
@@ -2,10 +2,22 @@ package org.apache.airavata.registry.core.repositories.appcatalog;
 
 import org.apache.airavata.model.appcatalog.parser.ParsingTemplate;
 import org.apache.airavata.registry.core.entities.appcatalog.ParsingTemplateEntity;
+import org.apache.airavata.registry.core.utils.DBConstants;
+import org.apache.airavata.registry.core.utils.QueryConstants;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 public class ParsingTemplateRepository extends AppCatAbstractRepository<ParsingTemplate, ParsingTemplateEntity, String> {
 
     public ParsingTemplateRepository() {
         super(ParsingTemplate.class, ParsingTemplateEntity.class);
     }
+
+    public List<ParsingTemplate> getParsingTemplatesForApplication(String applicationInterfaceId) {
+        Map<String, Object> queryParameters = new HashMap<>();
+        queryParameters.put(DBConstants.ParsingTemplate.APPLICATION_INTERFACE_ID, applicationInterfaceId);
+        return select(QueryConstants.FIND_PARSING_TEMPLATES_FOR_APPLICATION_INTERFACE_ID, -1, 0, queryParameters);
+    }
 }
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java
index d27aafc..43f028a 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java
@@ -171,4 +171,8 @@ public class DBConstants {
         public static final String GRID_FTP_DATA_MOVEMENT_ID = "dataMovementId";
     }
 
+    public static class ParsingTemplate {
+        public static final String APPLICATION_INTERFACE_ID = "applicationInterfaceId";
+    }
+
 }
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java
index 5d7e4fa..d71717d 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java
@@ -170,4 +170,7 @@ public interface QueryConstants {
 
     String FIND_ALL_GRID_FTP_ENDPOINTS_BY_DATA_MOVEMENT = "SELECT GFE FROM " + GridftpEndpointEntity.class.getSimpleName() +
             " GFE WHERE GFE.gridftpDataMovement.dataMovementInterfaceId LIKE :" + DBConstants.DataMovement.GRID_FTP_DATA_MOVEMENT_ID;
+
+    String FIND_PARSING_TEMPLATES_FOR_APPLICATION_INTERFACE_ID = "SELECT PT FROM " + ParsingTemplateEntity.class.getSimpleName() + " PT " +
+            "WHERE PT.applicationInterface = :" + DBConstants.ParsingTemplate.APPLICATION_INTERFACE_ID;
 }
diff --git a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
index 3f2c6ee..0f7f108 100644
--- a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
+++ b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
@@ -4965,10 +4965,13 @@ public class RegistryServerHandler implements RegistryService.Iface {
         }
     }
 
-    //TODO: Fixme
     @Override
     public List<ParsingTemplate> getParsingTemplatesForExperiment(String experimentId) throws RegistryServiceException, TException {
-        return Collections.singletonList(getParsingTemplate("template-1"));
+        List<ProcessModel> processes = getExperiment(experimentId).getProcesses();
+        if (processes.size() > 0) {
+            return parsingTemplateRepository.getParsingTemplatesForApplication(processes.get(processes.size() - 1).getApplicationInterfaceId());
+        }
+        return Collections.emptyList();
     }
 
     @Override