diff --git a/src/main/java/eu/hbp/mip/controllers/AlgorithmsAPI.java b/src/main/java/eu/hbp/mip/controllers/AlgorithmsAPI.java index 08132000d15bd1f033f9adf625aa24af01c2c542..aea67b056981111fceede22ce964adab2ae7f57d 100644 --- a/src/main/java/eu/hbp/mip/controllers/AlgorithmsAPI.java +++ b/src/main/java/eu/hbp/mip/controllers/AlgorithmsAPI.java @@ -28,7 +28,6 @@ import retrofit2.Response; import java.io.IOException; import java.util.ArrayList; -import java.util.LinkedList; import java.util.List; import static eu.hbp.mip.utils.InputStreamConverter.convertInputStreamToString; @@ -69,25 +68,25 @@ public class AlgorithmsAPI { Logger logger = new Logger(activeUserService.getActiveUser().getUsername(), "(GET) /algorithms"); logger.LogUserAction("Executing..."); - LinkedList<ExaremeAlgorithmDTO> mipengineAlgorithms = getMIPEngineAlgorithms(logger); + ArrayList<ExaremeAlgorithmDTO> mipengineAlgorithms = getMIPEngineAlgorithms(logger); logger.LogUserAction("Loaded " + mipengineAlgorithms.size() + " mipengine algorithms"); - LinkedList<ExaremeAlgorithmDTO> exaremeAlgorithms = getExaremeAlgorithms(logger); + ArrayList<ExaremeAlgorithmDTO> exaremeAlgorithms = getExaremeAlgorithms(logger); logger.LogUserAction("Loaded " + exaremeAlgorithms.size() + " exareme algorithms"); - LinkedList<ExaremeAlgorithmDTO> galaxyAlgorithms = getGalaxyWorkflows(logger); + ArrayList<ExaremeAlgorithmDTO> galaxyAlgorithms = getGalaxyWorkflows(logger); logger.LogUserAction("Loaded " + galaxyAlgorithms.size() + " galaxy algorithms"); - LinkedList<ExaremeAlgorithmDTO> algorithms = new LinkedList<>(); - if (exaremeAlgorithms != null) { + ArrayList<ExaremeAlgorithmDTO> algorithms = new ArrayList<>(); + if (!exaremeAlgorithms.isEmpty()) { algorithms.addAll(exaremeAlgorithms); } else { logger.LogUserAction("Getting exareme algorithms failed and returned null"); } - if (mipengineAlgorithms != null) { + if (!mipengineAlgorithms.isEmpty()) { algorithms.addAll(mipengineAlgorithms); } else { logger.LogUserAction("Getting mipengine algorithms failed and returned null"); } - if (galaxyAlgorithms != null) { + if (!galaxyAlgorithms.isEmpty()) { algorithms.addAll(galaxyAlgorithms); } else { logger.LogUserAction("Getting galaxy workflows failed and returned null"); @@ -101,7 +100,7 @@ public class AlgorithmsAPI { } // Remove any disabled algorithm - LinkedList<ExaremeAlgorithmDTO> allowedAlgorithms = new LinkedList<>(); + ArrayList<ExaremeAlgorithmDTO> allowedAlgorithms = new ArrayList<>(); for (ExaremeAlgorithmDTO algorithm : algorithms) { if (!disabledAlgorithms.contains(algorithm.getName())) { allowedAlgorithms.add(algorithm); @@ -116,15 +115,15 @@ public class AlgorithmsAPI { * * @return a list of AlgorithmDTOs or null if something fails */ - public LinkedList<ExaremeAlgorithmDTO> getExaremeAlgorithms(Logger logger) { - LinkedList<ExaremeAlgorithmDTO> algorithms; + public ArrayList<ExaremeAlgorithmDTO> getExaremeAlgorithms(Logger logger) { + ArrayList<ExaremeAlgorithmDTO> algorithms; // Get exareme algorithms try { StringBuilder response = new StringBuilder(); HTTPUtil.sendGet(exaremeAlgorithmsUrl, response); algorithms = gson.fromJson( response.toString(), - new TypeToken<LinkedList<ExaremeAlgorithmDTO>>() { + new TypeToken<ArrayList<ExaremeAlgorithmDTO>>() { }.getType() ); } catch (IOException e) { @@ -141,8 +140,8 @@ public class AlgorithmsAPI { * * @return a list of AlgorithmDTOs or null if something fails */ - public LinkedList<ExaremeAlgorithmDTO> getMIPEngineAlgorithms(Logger logger) { - LinkedList<MIPEngineAlgorithmDTO> mipEngineAlgorithms; + public ArrayList<ExaremeAlgorithmDTO> getMIPEngineAlgorithms(Logger logger) { + ArrayList<MIPEngineAlgorithmDTO> mipEngineAlgorithms; // Get MIPEngine algorithms try { StringBuilder response = new StringBuilder(); @@ -151,7 +150,7 @@ public class AlgorithmsAPI { mipEngineAlgorithms = gson.fromJson( response.toString(), - new TypeToken<LinkedList<MIPEngineAlgorithmDTO>>() { + new TypeToken<ArrayList<MIPEngineAlgorithmDTO>>() { }.getType() ); } catch (IOException e) { @@ -159,7 +158,7 @@ public class AlgorithmsAPI { return null; } - LinkedList<ExaremeAlgorithmDTO> algorithms = new LinkedList<>(); + ArrayList<ExaremeAlgorithmDTO> algorithms = new ArrayList<>(); mipEngineAlgorithms.forEach(mipEngineAlgorithm -> algorithms.add(mipEngineAlgorithm.convertToAlgorithmDTO())); logger.LogUserAction("Completed, returned " + algorithms.size() + " algorithms."); @@ -171,7 +170,7 @@ public class AlgorithmsAPI { * * @return a list of AlgorithmDTOs or null if something fails */ - public LinkedList<ExaremeAlgorithmDTO> getGalaxyWorkflows(Logger logger) { + public ArrayList<ExaremeAlgorithmDTO> getGalaxyWorkflows(Logger logger) { List<Workflow> workflowList; try { // Get all the workflows with the galaxy client @@ -185,7 +184,7 @@ public class AlgorithmsAPI { } // Get the workflow details with the custom client to receive them as a WorkflowDTO - List<WorkflowDTO> workflows = new LinkedList<>(); + List<WorkflowDTO> workflows = new ArrayList<>(); // Create the request client RetroFitGalaxyClients service = RetrofitClientInstance.getRetrofitInstance().create(RetroFitGalaxyClients.class); for (Workflow workflow : workflowList) { @@ -210,7 +209,7 @@ public class AlgorithmsAPI { logger.LogUserAction("Workflows fetched: " + workflows.size()); // Convert the workflows to algorithms - LinkedList<ExaremeAlgorithmDTO> algorithms = new LinkedList<>(); + ArrayList<ExaremeAlgorithmDTO> algorithms = new ArrayList<>(); for (WorkflowDTO workflow : workflows) { logger.LogUserAction("Converting workflow: " + workflow); 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 b56e16bc7130ad30bc4c3e5739af17908419a4a5..887733de88a395d9c5f7a31b5c55c32024b56312 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmDTO.java @@ -25,13 +25,13 @@ public class ExaremeAlgorithmDTO { private String type; @SerializedName("parameters") - private List<ExaremeAlgorithmRequestDTO> parameters; + private List<ExaremeAlgorithmRequestParamDTO> parameters; @Getter @Setter @AllArgsConstructor - class Rule + static class Rule { @SerializedName("id") private String id; @@ -45,45 +45,47 @@ public class ExaremeAlgorithmDTO { @SerializedName("value") private Object value; } - public MIPEngineExperimentDTO convertToMIPEngineBody() + public MIPEngineAlgorithmRequestDTO convertToMIPEngineBody() { - MIPEngineExperimentDTO mipEngineExperimentDTO = new MIPEngineExperimentDTO(); - MIPEngineExperimentDTO.InputData inputData = new MIPEngineExperimentDTO.InputData(); - Hashtable<String, Object> mipEngineParameters = new Hashtable<>(); + MIPEngineAlgorithmRequestDTO mipEngineAlgorithmRequestDTO = new MIPEngineAlgorithmRequestDTO(); + MIPEngineAlgorithmRequestDTO.InputData inputData = new MIPEngineAlgorithmRequestDTO.InputData(); + HashMap<String, Object> mipEngineParameters = new HashMap<>(); List<Object> rules = new ArrayList<>(); this.parameters.forEach(parameter -> { - if(parameter.getName().equals("x")) { - List<String> x = Arrays.asList(parameter.getValue().split(",")); - x.forEach(column -> rules.add(new Rule(column, parameter.getColumnValuesSQLType(), "is_not_null", null))); - inputData.setX(x); - } - else if(parameter.getName().equals("y")) { - List<String> y = Arrays.asList(parameter.getValue().split(",")); - y.forEach(column -> rules.add(new Rule(column, parameter.getColumnValuesSQLType(), "is_not_null", null))); - inputData.setY(y); - } - else if(parameter.getName().equals("dataset")){ - List<String> datasets = Arrays.asList(parameter.getValue().split(",")); - rules.add(new Rule("dataset","string", "in", datasets)); - inputData.setDatasets(datasets); - } - else if(parameter.getName().equals("pathology")) - inputData.setPathology(parameter.getValue()); - - else if(parameter.getName().equals("filter")){ - if (parameter.getValue() != "") - rules.add(JsonConverters.convertJsonStringToObject(parameter.getValue(), MIPEngineExperimentDTO.Filter.class)); - } - else{ - mipEngineParameters.put(parameter.getName(), Arrays.asList(parameter.getValue().split(","))); + switch (parameter.getName()) { + case "x": + List<String> x = Arrays.asList(parameter.getValue().split(",")); + x.forEach(column -> rules.add(new Rule(column, parameter.getColumnValuesSQLType(), "is_not_null", null))); + inputData.setX(x); + break; + case "y": + List<String> y = Arrays.asList(parameter.getValue().split(",")); + y.forEach(column -> rules.add(new Rule(column, parameter.getColumnValuesSQLType(), "is_not_null", null))); + inputData.setY(y); + break; + case "dataset": + List<String> datasets = Arrays.asList(parameter.getValue().split(",")); + rules.add(new Rule("dataset", "string", "in", datasets)); + inputData.setDatasets(datasets); + break; + case "pathology": + inputData.setPathology(parameter.getValue()); + break; + case "filter": + if (!parameter.getValue().equals("")) + rules.add(JsonConverters.convertJsonStringToObject(parameter.getValue(), MIPEngineAlgorithmRequestDTO.Filter.class)); + break; + default: + mipEngineParameters.put(parameter.getName(), Arrays.asList(parameter.getValue().split(","))); + break; } }); - MIPEngineExperimentDTO.Filter filter = new MIPEngineExperimentDTO.Filter("AND", rules, true); + MIPEngineAlgorithmRequestDTO.Filter filter = new MIPEngineAlgorithmRequestDTO.Filter("AND", rules, true); inputData.setFilters(filter); - mipEngineExperimentDTO.setInputdata(inputData); - mipEngineExperimentDTO.setParameters(mipEngineParameters); - return mipEngineExperimentDTO; + mipEngineAlgorithmRequestDTO.setInputdata(inputData); + mipEngineAlgorithmRequestDTO.setParameters(mipEngineParameters); + return mipEngineAlgorithmRequestDTO; } } diff --git a/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmRequestDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmRequestParamDTO.java similarity index 89% rename from src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmRequestDTO.java rename to src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmRequestParamDTO.java index 84e275ec8663d7e90e6420f77a33ff899fe5773d..6f7d21655c0e5fb7cb8eea1f5bcded5183de55b8 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmRequestDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/ExaremeAlgorithmRequestParamDTO.java @@ -6,9 +6,10 @@ import lombok.Setter; import java.util.List; +//The request of an exareme algorithm is a list of ExaremeAlgorithmRequestParamDTOs. @Getter @Setter -public class ExaremeAlgorithmRequestDTO { +public class ExaremeAlgorithmRequestParamDTO { @SerializedName("name") private String name; 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 ada09db3bc611bd273b59109a64a450db404d567..98677991e486e2fca38b8c7688a0d77e6eec084c 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmDTO.java @@ -1,7 +1,7 @@ package eu.hbp.mip.models.DTOs; import com.google.gson.annotations.SerializedName; -import eu.hbp.mip.utils.JsonConverters; +import eu.hbp.mip.utils.Exceptions.InternalServerError; import lombok.Getter; import lombok.Setter; @@ -66,20 +66,20 @@ public class MIPEngineAlgorithmDTO { @SerializedName("enums") private List<String> enums; - public ExaremeAlgorithmRequestDTO convertToexaremeAlgorithmRequestDTO(String name) throws Exception { - ExaremeAlgorithmRequestDTO exaremeAlgorithmRequestDTO = new ExaremeAlgorithmRequestDTO(); - exaremeAlgorithmRequestDTO.setName(name); - exaremeAlgorithmRequestDTO.setDesc(this.desc); - exaremeAlgorithmRequestDTO.setValueType(this.type); - exaremeAlgorithmRequestDTO.setType("other"); - exaremeAlgorithmRequestDTO.setDefaultValue(this.default_value); - exaremeAlgorithmRequestDTO.setValueNotBlank(this.notblank); - exaremeAlgorithmRequestDTO.setLabel(this.label); - exaremeAlgorithmRequestDTO.setValueEnumerations(this.enums); - exaremeAlgorithmRequestDTO.setValueMultiple(this.multiple); - exaremeAlgorithmRequestDTO.setValueMin(this.min); - exaremeAlgorithmRequestDTO.setValueMax(this.max); - return exaremeAlgorithmRequestDTO; + public ExaremeAlgorithmRequestParamDTO convertToexaremeAlgorithmRequestDTO(String name){ + ExaremeAlgorithmRequestParamDTO exaremeAlgorithmRequestParamDTO = new ExaremeAlgorithmRequestParamDTO(); + exaremeAlgorithmRequestParamDTO.setName(name); + exaremeAlgorithmRequestParamDTO.setDesc(this.desc); + exaremeAlgorithmRequestParamDTO.setValueType(this.type); + exaremeAlgorithmRequestParamDTO.setType("other"); + exaremeAlgorithmRequestParamDTO.setDefaultValue(this.default_value); + exaremeAlgorithmRequestParamDTO.setValueNotBlank(this.notblank); + exaremeAlgorithmRequestParamDTO.setLabel(this.label); + exaremeAlgorithmRequestParamDTO.setValueEnumerations(this.enums); + exaremeAlgorithmRequestParamDTO.setValueMultiple(this.multiple); + exaremeAlgorithmRequestParamDTO.setValueMin(this.min); + exaremeAlgorithmRequestParamDTO.setValueMax(this.max); + return exaremeAlgorithmRequestParamDTO; } } @@ -101,14 +101,14 @@ public class MIPEngineAlgorithmDTO { @SerializedName("filter") private InputDataDetailDTO filter; - public List<ExaremeAlgorithmRequestDTO> convertToAlgorithmRequestDTOs() throws Exception { - List<ExaremeAlgorithmRequestDTO> exaremeAlgorithmRequestDTOS = new ArrayList<>(); - exaremeAlgorithmRequestDTOS.add(this.x.convertToExaremeAlgorithmRequestDTO("x")); - exaremeAlgorithmRequestDTOS.add(this.y.convertToExaremeAlgorithmRequestDTO("y")); - exaremeAlgorithmRequestDTOS.add(this.x.convertToExaremeAlgorithmRequestDTO("pathology")); - exaremeAlgorithmRequestDTOS.add(this.datasets.convertToExaremeAlgorithmRequestDTO("dataset")); - exaremeAlgorithmRequestDTOS.add(this.filter.convertToExaremeAlgorithmRequestDTO("filter")); - return exaremeAlgorithmRequestDTOS; + public List<ExaremeAlgorithmRequestParamDTO> convertToAlgorithmRequestParamDTOs(){ + List<ExaremeAlgorithmRequestParamDTO> exaremeAlgorithmRequestParamDTOS = new ArrayList<>(); + exaremeAlgorithmRequestParamDTOS.add(this.x.convertToExaremeAlgorithmRequestDTO("x")); + exaremeAlgorithmRequestParamDTOS.add(this.y.convertToExaremeAlgorithmRequestDTO("y")); + exaremeAlgorithmRequestParamDTOS.add(this.pathology.convertToExaremeAlgorithmRequestDTO("pathology")); + exaremeAlgorithmRequestParamDTOS.add(this.datasets.convertToExaremeAlgorithmRequestDTO("dataset")); + exaremeAlgorithmRequestParamDTOS.add(this.filter.convertToExaremeAlgorithmRequestDTO("filter")); + return exaremeAlgorithmRequestParamDTOS; } } @@ -137,28 +137,28 @@ public class MIPEngineAlgorithmDTO { @SerializedName("desc") private String desc; - public ExaremeAlgorithmRequestDTO convertToExaremeAlgorithmRequestDTO(String name) throws Exception { - ExaremeAlgorithmRequestDTO exaremeAlgorithmRequestDTO = new ExaremeAlgorithmRequestDTO(); - exaremeAlgorithmRequestDTO.setName(name); - exaremeAlgorithmRequestDTO.setDesc(this.desc); - exaremeAlgorithmRequestDTO.setValue(""); - exaremeAlgorithmRequestDTO.setValueNotBlank(this.notblank); - exaremeAlgorithmRequestDTO.setValueMultiple(this.multiple); + public ExaremeAlgorithmRequestParamDTO convertToExaremeAlgorithmRequestDTO(String name){ + ExaremeAlgorithmRequestParamDTO exaremeAlgorithmRequestParamDTO = new ExaremeAlgorithmRequestParamDTO(); + exaremeAlgorithmRequestParamDTO.setName(name); + exaremeAlgorithmRequestParamDTO.setDesc(this.desc); + exaremeAlgorithmRequestParamDTO.setValue(""); + exaremeAlgorithmRequestParamDTO.setValueNotBlank(this.notblank); + exaremeAlgorithmRequestParamDTO.setValueMultiple(this.multiple); String[] hidden = {"x","y","dataset", "filter","pathology","centers","formula"}; - exaremeAlgorithmRequestDTO.setLabel(Arrays.asList(hidden).contains(exaremeAlgorithmRequestDTO.getName()) ? exaremeAlgorithmRequestDTO.getName():this.label); + exaremeAlgorithmRequestParamDTO.setLabel(Arrays.asList(hidden).contains(exaremeAlgorithmRequestParamDTO.getName()) ? exaremeAlgorithmRequestParamDTO.getName():this.label); if(name.equals("dataset") || name.equals("filter") || name.equals("pathology")){ - exaremeAlgorithmRequestDTO.setValueType(this.types.get(0)); - exaremeAlgorithmRequestDTO.setType(exaremeAlgorithmRequestDTO.getName()); + exaremeAlgorithmRequestParamDTO.setValueType(this.types.get(0)); + exaremeAlgorithmRequestParamDTO.setType(exaremeAlgorithmRequestParamDTO.getName()); } else{ - exaremeAlgorithmRequestDTO.setType("column"); - exaremeAlgorithmRequestDTO.setColumnValuesSQLType(String.join(", ", this.types)); - exaremeAlgorithmRequestDTO.setColumnValuesIsCategorical(getColumnValuesIsCategorical(this.stattypes)); + exaremeAlgorithmRequestParamDTO.setType("column"); + exaremeAlgorithmRequestParamDTO.setColumnValuesSQLType(String.join(", ", this.types)); + exaremeAlgorithmRequestParamDTO.setColumnValuesIsCategorical(getColumnValuesIsCategorical(this.stattypes)); } - return exaremeAlgorithmRequestDTO; + return exaremeAlgorithmRequestParamDTO; } - private String getColumnValuesIsCategorical(List<String> stattypes) throws Exception { + private String getColumnValuesIsCategorical(List<String> stattypes){ if (stattypes.contains("nominal") && stattypes.contains("numerical")){ return ""; @@ -170,7 +170,7 @@ public class MIPEngineAlgorithmDTO { return "false"; } else{ - throw new Exception("Invalid stattypes"); + throw new InternalServerError("Invalid stattypes"); } } } @@ -182,19 +182,10 @@ public class MIPEngineAlgorithmDTO { exaremeAlgorithmDTO.setLabel(this.label); exaremeAlgorithmDTO.setDesc(this.desc); exaremeAlgorithmDTO.setType("mipengine"); - List<ExaremeAlgorithmRequestDTO> parameters = new ArrayList<>(); - try { - parameters.addAll(this.inputdata.convertToAlgorithmRequestDTOs()); - } catch (Exception e) { - e.printStackTrace(); - } + List<ExaremeAlgorithmRequestParamDTO> parameters = new ArrayList<>(this.inputdata.convertToAlgorithmRequestParamDTOs()); this.parameters.forEach((name, parameterDTO) -> { - try { - ExaremeAlgorithmRequestDTO parameter = parameterDTO.convertToexaremeAlgorithmRequestDTO(name); - parameters.add(parameter); - } catch (Exception e) { - e.printStackTrace(); - } + ExaremeAlgorithmRequestParamDTO parameter = parameterDTO.convertToexaremeAlgorithmRequestDTO(name); + parameters.add(parameter); }); exaremeAlgorithmDTO.setParameters(parameters); return exaremeAlgorithmDTO; diff --git a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineExperimentDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmRequestDTO.java similarity index 96% rename from src/main/java/eu/hbp/mip/models/DTOs/MIPEngineExperimentDTO.java rename to src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmRequestDTO.java index 46b7df8982f1e8d3f50ac31517489acdf22a8a54..ff8229e372ddd480d58aee2a5c3af36b9536a41f 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineExperimentDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAlgorithmRequestDTO.java @@ -10,7 +10,7 @@ import java.util.List; @Getter @Setter -public class MIPEngineExperimentDTO { +public class MIPEngineAlgorithmRequestDTO { @SerializedName("inputdata") private InputData inputdata; @SerializedName("parameters") diff --git a/src/main/java/eu/hbp/mip/models/galaxy/WorkflowDTO.java b/src/main/java/eu/hbp/mip/models/galaxy/WorkflowDTO.java index edc18117d6660b490a2681cd54b671692ef140e3..eae07531e6f126aa69465a9fcdf6c6cf44c1d267 100644 --- a/src/main/java/eu/hbp/mip/models/galaxy/WorkflowDTO.java +++ b/src/main/java/eu/hbp/mip/models/galaxy/WorkflowDTO.java @@ -3,7 +3,7 @@ package eu.hbp.mip.models.galaxy; import com.google.gson.Gson; import com.google.gson.annotations.SerializedName; import eu.hbp.mip.models.DTOs.ExaremeAlgorithmDTO; -import eu.hbp.mip.models.DTOs.ExaremeAlgorithmRequestDTO; +import eu.hbp.mip.models.DTOs.ExaremeAlgorithmRequestParamDTO; import java.util.*; @@ -115,18 +115,18 @@ public class WorkflowDTO { exaremeAlgorithmDTO.setType("workflow"); // Transfer workflow parameters information - List<ExaremeAlgorithmRequestDTO> algorithmParams = new LinkedList<>(); + List<ExaremeAlgorithmRequestParamDTO> algorithmParams = new LinkedList<>(); Gson gson = new Gson(); for (Map.Entry<String, WorkflowInputDTO> workflowInput : getInputs().entrySet()) { // Convert the annotation to algorithm Parameter - ExaremeAlgorithmRequestDTO algorithmParam; + ExaremeAlgorithmRequestParamDTO algorithmParam; if (steps.get(workflowInput.getKey()).getAnnotation() != null) { algorithmParam = gson.fromJson(steps.get(workflowInput.getKey()).getAnnotation(), - ExaremeAlgorithmRequestDTO.class); + ExaremeAlgorithmRequestParamDTO.class); } else { // If annotation is not provided, auto-fill some information - algorithmParam = new ExaremeAlgorithmRequestDTO(); + algorithmParam = new ExaremeAlgorithmRequestParamDTO(); // When the constraints are not known, set the most relaxed constraints algorithmParam.setDesc(""); algorithmParam.setValue(""); diff --git a/src/main/java/eu/hbp/mip/services/ExperimentService.java b/src/main/java/eu/hbp/mip/services/ExperimentService.java index 587fc7e63adc0a23a182e740028e4b31a1e66e02..3c52503c23ac6976495e3e006e8b765fbb8c9794 100644 --- a/src/main/java/eu/hbp/mip/services/ExperimentService.java +++ b/src/main/java/eu/hbp/mip/services/ExperimentService.java @@ -395,7 +395,7 @@ public class ExperimentService { private String getDatasetFromExperimentParameters(ExperimentDTO experimentDTO, Logger logger) { String experimentDatasets = null; - for (ExaremeAlgorithmRequestDTO parameter : experimentDTO.getAlgorithm().getParameters()) { + for (ExaremeAlgorithmRequestParamDTO parameter : experimentDTO.getAlgorithm().getParameters()) { if (parameter.getLabel().equals("dataset")) { experimentDatasets = parameter.getValue(); break; @@ -531,14 +531,14 @@ public class ExperimentService { // Run with the appropriate engine if (algorithmType.equals("mipengine")) { - MIPEngineExperimentDTO mipEngineExperimentDTO = experimentDTO.getAlgorithm().convertToMIPEngineBody(); - String body = JsonConverters.convertObjectToJsonString(mipEngineExperimentDTO); + MIPEngineAlgorithmRequestDTO mipEngineAlgorithmRequestDTO = experimentDTO.getAlgorithm().convertToMIPEngineBody(); + String body = JsonConverters.convertObjectToJsonString(mipEngineAlgorithmRequestDTO); String url = mipengineAlgorithmsUrl + "/" + algorithmName.toLowerCase(); logger.LogUserAction("url: " + url + ", body: " + body); logger.LogUserAction("Algorithm runs on MIPEngine."); return runMIPEngineExperiment(url, body); } else { - List<ExaremeAlgorithmRequestDTO> algorithmParameters + List<ExaremeAlgorithmRequestParamDTO> algorithmParameters = experimentDTO.getAlgorithm().getParameters(); String body = gson.toJson(algorithmParameters); String url = queryExaremeUrl + "/" + algorithmName; @@ -636,7 +636,7 @@ public class ExperimentService { } finishExperiment(experimentDAO, logger); - Logger.LogExperimentAction(experimentDAO.getName(), experimentDAO.getUuid(), "Finished the experiment: " + experimentDAO.toString()); + Logger.LogExperimentAction(experimentDAO.getName(), experimentDAO.getUuid(), "Finished the experiment: " + experimentDAO); }).start(); experimentDTO = experimentDAO.convertToDTO(true); return experimentDTO; @@ -662,13 +662,13 @@ public class ExperimentService { String workflowId = experimentDTO.getAlgorithm().getName(); // Get the parameters - List<ExaremeAlgorithmRequestDTO> algorithmParameters + List<ExaremeAlgorithmRequestParamDTO> algorithmParameters = experimentDTO.getAlgorithm().getParameters(); // Convert the parameters to workflow parameters HashMap<String, String> algorithmParamsIncludingEmpty = new HashMap<>(); if (algorithmParameters != null) { - for (ExaremeAlgorithmRequestDTO param : algorithmParameters) { + for (ExaremeAlgorithmRequestParamDTO param : algorithmParameters) { algorithmParamsIncludingEmpty.put(param.getName(), param.getValue()); } }