diff --git a/src/main/java/eu/hbp/mip/models/DTOs/Exareme2AlgorithmRequestDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/Exareme2AlgorithmRequestDTO.java index 7df8a3cc516fa1f00102875497b7778dc0de93d9..5562df1398aaa199617e82d5d0a9e761d67f8b34 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/Exareme2AlgorithmRequestDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/Exareme2AlgorithmRequestDTO.java @@ -19,7 +19,7 @@ public class Exareme2AlgorithmRequestDTO { @SerializedName("preprocessing") private HashMap<String, Object> preprocessing; - public Exareme2AlgorithmRequestDTO(UUID experimentUUID, List<ExaremeAlgorithmRequestParamDTO> exaremeAlgorithmRequestParamDTOs, List<ExaremeAlgorithmDTO.Transformer> exaremeTransformers) { + public Exareme2AlgorithmRequestDTO(UUID experimentUUID, List<ExaremeAlgorithmRequestParamDTO> exaremeAlgorithmRequestParamDTOs, List<ExaremeAlgorithmDTO.ExaremeTransformerDTO> exaremeTransformers) { this.request_id = experimentUUID.toString(); Exareme2AlgorithmRequestDTO.InputData inputData = new Exareme2AlgorithmRequestDTO.InputData(); HashMap<String, Object> exareme2Parameters = new HashMap<>(); @@ -51,7 +51,7 @@ public class Exareme2AlgorithmRequestDTO { exareme2Parameters.put(parameter.getName(), convertStringToMultipleValues(parameter.getValue())); } }); - if (exaremeTransformers.size() > 0) { + if (exaremeTransformers != null) { exaremeTransformers.forEach(transformer -> { HashMap<String, Object> transformerParameterDTOs = new HashMap<>(); for (ExaremeAlgorithmRequestParamDTO parameter : transformer.getParameters()) { diff --git a/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmDTO.java index 16d68771a4c305b5334a40f12a5e5dbbd5b56b36..be3e1f56c3454496822295399d5bc30c8682be06 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmDTO.java @@ -3,6 +3,7 @@ package eu.hbp.mip.models.DTOs; import com.google.gson.annotations.SerializedName; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.ArrayList; import java.util.List; @@ -27,7 +28,7 @@ public class ExaremeAlgorithmDTO { private List<ExaremeAlgorithmRequestParamDTO> parameters; @SerializedName("preprocessing") - private List<Transformer> preprocessing; + private List<ExaremeTransformerDTO> preprocessing; public ExaremeAlgorithmDTO() { @@ -55,10 +56,10 @@ public class ExaremeAlgorithmDTO { }); } this.parameters = parameters; - List<Transformer> preprocessing = new ArrayList<>(); + List<ExaremeTransformerDTO> preprocessing = new ArrayList<>(); if (exareme2Algorithm.getPreprocessing().isPresent()) { exareme2Algorithm.getPreprocessing().get().forEach(exareme2TransformerDTO -> { - Transformer transformer = new Transformer(exareme2TransformerDTO); + ExaremeTransformerDTO transformer = new ExaremeTransformerDTO(exareme2TransformerDTO); preprocessing.add(transformer); }); this.preprocessing = preprocessing; @@ -67,8 +68,9 @@ public class ExaremeAlgorithmDTO { @Data + @NoArgsConstructor @AllArgsConstructor - public static class Transformer { + public static class ExaremeTransformerDTO { @SerializedName("name") private String name; @@ -81,8 +83,7 @@ public class ExaremeAlgorithmDTO { @SerializedName("parameters") private List<ExaremeAlgorithmRequestParamDTO> parameters; - - public Transformer(Exareme2AlgorithmDTO.Exareme2TransformerDTO transformerDTO) { + public ExaremeTransformerDTO(Exareme2AlgorithmDTO.Exareme2TransformerDTO transformerDTO) { this.name = transformerDTO.getName().toUpperCase(); this.label = transformerDTO.getLabel(); this.desc = transformerDTO.getDesc(); diff --git a/src/main/java/eu/hbp/mip/services/ExperimentService.java b/src/main/java/eu/hbp/mip/services/ExperimentService.java index 9fe7e4cf9e507f3ed8b2ae4895bf7b098330a304..ff1f2027714838bc7e8f3ea629de79e3ec69dcdb 100644 --- a/src/main/java/eu/hbp/mip/services/ExperimentService.java +++ b/src/main/java/eu/hbp/mip/services/ExperimentService.java @@ -356,20 +356,25 @@ public class ExperimentService { private void algorithmParametersLogging(ExperimentDTO experimentDTO, Logger logger) { String algorithmName = experimentDTO.getAlgorithm().getName(); StringBuilder parametersLogMessage = new StringBuilder(", Parameters:\n"); - experimentDTO.getAlgorithm().getParameters().forEach( - params -> parametersLogMessage - .append(" ") - .append(params.getLabel()) - .append(" -> ") - .append(params.getValue()) - .append("\n")); - experimentDTO.getAlgorithm().getPreprocessing().forEach( transformer -> - { - parametersLogMessage + if (experimentDTO.getAlgorithm().getParameters() != null){ + experimentDTO.getAlgorithm().getParameters().forEach( + params -> parametersLogMessage .append(" ") - .append(transformer.getLabel()) + .append(params.getLabel()) .append(" -> ") - .append("\n"); + .append(params.getValue()) + .append("\n")); + } + if (experimentDTO.getAlgorithm().getPreprocessing() != null) { + experimentDTO.getAlgorithm().getPreprocessing().forEach(transformer -> + { + parametersLogMessage + .append(" ") + .append(transformer.getLabel()) + .append(" -> ") + .append("\n"); + + if (transformer.getParameters() != null) { transformer.getParameters().forEach( transformerParams -> parametersLogMessage .append(" ") @@ -378,8 +383,9 @@ public class ExperimentService { .append(transformerParams.getValue()) .append("\n")); parametersLogMessage.append("\n"); - }); - + } + }); + } logger.LogUserAction("Executing " + algorithmName + parametersLogMessage); }