From e1e2282e723c7801cb58254033adca8c041d00ca Mon Sep 17 00:00:00 2001 From: kfilippopolitis <kostasfilippop@gmail.com> Date: Sun, 26 Mar 2023 23:56:11 +0300 Subject: [PATCH] Update mipengine algorithm specifictation for enums. --- .../DTOs/ExaremeAlgorithmRequestParamDTO.java | 2 +- .../models/DTOs/MIPEngineAlgorithmDTO.java | 26 ++++++++++++++++++- .../eu/hbp/mip/services/AlgorithmService.java | 1 - 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmRequestParamDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmRequestParamDTO.java index a9c20ff7b..b5b990b3b 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmRequestParamDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmRequestParamDTO.java @@ -63,7 +63,7 @@ public class ExaremeAlgorithmRequestParamDTO { this.defaultValue = parameter.getDefault_value(); this.valueNotBlank = parameter.getNotblank(); this.label = parameter.getLabel(); - this.valueEnumerations = parameter.getEnums(); + this.valueEnumerations = parameter.getEnums().isPresent()? parameter.getEnums().get().getSource():null; this.valueMultiple = parameter.getMultiple(); this.valueMax = parameter.getMax(); this.valueMin = parameter.getMin(); diff --git a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmDTO.java index 8a9e0cc56..9aa2d9534 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmDTO.java @@ -36,6 +36,8 @@ public class MIPEngineAlgorithmDTO { public Optional<Hashtable<String, MIPEngineAlgorithmParameterDTO>> getParameters() { return Optional.ofNullable(parameters); } + + @Data @AllArgsConstructor public static class MIPEngineAlgorithmParameterDTO { @@ -65,7 +67,29 @@ public class MIPEngineAlgorithmDTO { private String default_value; @SerializedName("enums") - private List<String> enums; + private MIPEngineAlgorithmEnumDTO enums; + + @SerializedName("dict_keys_enums") + private MIPEngineAlgorithmEnumDTO dict_keys_enums; + + @SerializedName("dict_values_enums") + private MIPEngineAlgorithmEnumDTO dict_values_enums; + + public Optional<MIPEngineAlgorithmEnumDTO> getEnums() { + return Optional.ofNullable(enums); + } + + @Data + @AllArgsConstructor + public static class MIPEngineAlgorithmEnumDTO { + + @SerializedName("type") + private String type; + + @SerializedName("source") + private List<String> source; + + } } @Data diff --git a/src/main/java/eu/hbp/mip/services/AlgorithmService.java b/src/main/java/eu/hbp/mip/services/AlgorithmService.java index dd2d605b6..cf5d797f0 100644 --- a/src/main/java/eu/hbp/mip/services/AlgorithmService.java +++ b/src/main/java/eu/hbp/mip/services/AlgorithmService.java @@ -65,7 +65,6 @@ public class AlgorithmService { ArrayList<ExaremeAlgorithmDTO> mipengineAlgorithms = getMIPEngineAlgorithms(logger); ArrayList<ExaremeAlgorithmDTO> exaremeAlgorithms = getExaremeAlgorithms(logger); ArrayList<ExaremeAlgorithmDTO> galaxyAlgorithms = getGalaxyWorkflows(logger); - ArrayList<ExaremeAlgorithmDTO> algorithms = new ArrayList<>(); // Remove Exareme algorithms that exist in the Exareme2 -- GitLab