diff --git a/src/main/java/eu/hbp/mip/models/DAOs/ExperimentDAO.java b/src/main/java/eu/hbp/mip/models/DAOs/ExperimentDAO.java index f43c34960fd89d9d8036fd215fd51b0741de648f..cd3f50757f9adbc708ecfce74f70ba6f77188ded 100644 --- a/src/main/java/eu/hbp/mip/models/DAOs/ExperimentDAO.java +++ b/src/main/java/eu/hbp/mip/models/DAOs/ExperimentDAO.java @@ -7,7 +7,6 @@ import eu.hbp.mip.models.DTOs.AlgorithmDTO; import eu.hbp.mip.models.DTOs.ExperimentDTO; import eu.hbp.mip.utils.JsonConverters; import io.swagger.annotations.ApiModel; -import org.svenson.JSONParser; import javax.persistence.*; import java.util.*; @@ -117,7 +116,7 @@ public class ExperimentDAO { public ExperimentDTO convertToDTO(boolean includeResult) { ExperimentDTO experimentDTO = new ExperimentDTO(); - experimentDTO.setAlgorithmDetails(JsonConverters.convertJsonStringToObject(this.algorithmDetails, AlgorithmDTO.class)); + experimentDTO.setAlgorithm(JsonConverters.convertJsonStringToObject(this.algorithmDetails, AlgorithmDTO.class)); experimentDTO.setCreated(this.created); experimentDTO.setUpdated(this.updated); experimentDTO.setFinished(this.finished); diff --git a/src/main/java/eu/hbp/mip/models/DTOs/ExperimentDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/ExperimentDTO.java index 5707b75d04fa575d7f11ef1f4bf15359a1d0cc8d..5f554dbe60bfadbf9021b2d15dbffbc0a5b0aaad 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/ExperimentDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/ExperimentDTO.java @@ -3,10 +3,8 @@ package eu.hbp.mip.models.DTOs; import com.fasterxml.jackson.annotation.JsonInclude; import eu.hbp.mip.models.DAOs.ExperimentDAO; -import java.lang.reflect.Array; import java.util.Date; import java.util.List; -import java.util.Map; import java.util.UUID; @JsonInclude(JsonInclude.Include.NON_NULL) @@ -23,29 +21,19 @@ public class ExperimentDTO { private List<ExperimentDTO.ResultDTO> result; private ExperimentDAO.Status status; - private String algorithm; - private AlgorithmDTO algorithmDetails; + private AlgorithmDTO algorithm; public ExperimentDTO() { } - public String getAlgorithm() { + public AlgorithmDTO getAlgorithm() { return algorithm; } - public void setAlgorithm(String algorithm) { + public void setAlgorithm(AlgorithmDTO algorithm) { this.algorithm = algorithm; } - public AlgorithmDTO getAlgorithmDetails() { - return algorithmDetails; - } - - public void setAlgorithmDetails(AlgorithmDTO algorithmDetails) { - this.algorithmDetails = algorithmDetails; - this.algorithm = algorithmDetails.getName(); - } - public UUID getUuid() { return uuid; } diff --git a/src/main/java/eu/hbp/mip/services/ExperimentService.java b/src/main/java/eu/hbp/mip/services/ExperimentService.java index eb4001665faacc73a9c912950b720e4cb131daae..f92efef0d7fe9f0441840d19d94faa79e3fa9caf 100644 --- a/src/main/java/eu/hbp/mip/services/ExperimentService.java +++ b/src/main/java/eu/hbp/mip/services/ExperimentService.java @@ -167,7 +167,7 @@ public class ExperimentService { checkPostExperimentProperInput(experimentDTO, endpoint); // Get the type and name of algorithm - String algorithmType = experimentDTO.getAlgorithmDetails().getType(); + String algorithmType = experimentDTO.getAlgorithm().getType(); if(algorithmType == null){ Logging.LogUserAction(user.getUsername(), endpoint, "Please provide algorithm type."); @@ -207,10 +207,10 @@ public class ExperimentService { // Get the parameters List<AlgorithmDTO.AlgorithmParamDTO> algorithmParameters - = experimentDTO.getAlgorithmDetails().getParameters(); + = experimentDTO.getAlgorithm().getParameters(); // Get the type and name of algorithm - String algorithmName = experimentDTO.getAlgorithmDetails().getName(); + String algorithmName = experimentDTO.getAlgorithm().getName(); if (!allowedTransientAlgorithms(algorithmName)) { Logging.LogUserAction(user.getUsername(), endpoint, @@ -356,7 +356,7 @@ public class ExperimentService { throw new BadRequestException("CreatedBy is not editable."); } - if (experimentDTO.getAlgorithmDetails() != null) { + if (experimentDTO.getAlgorithm() != null) { Logging.LogUserAction(activeUserService.getActiveUser().getUsername(), endpoint, "AlgorithmDetails is not editable."); throw new BadRequestException("AlgorithmDetails is not editable."); } @@ -379,9 +379,9 @@ public class ExperimentService { private void algorithmParametersLogging(ExperimentDTO experimentDTO, String endpoint) { UserDAO user = activeUserService.getActiveUser(); - String algorithmName = experimentDTO.getAlgorithm(); + String algorithmName = experimentDTO.getAlgorithm().getName(); StringBuilder parametersLogMessage = new StringBuilder(", Parameters:\n"); - experimentDTO.getAlgorithmDetails().getParameters().forEach( + experimentDTO.getAlgorithm().getParameters().forEach( params -> parametersLogMessage .append(" ") .append(params.getLabel()) @@ -401,7 +401,7 @@ public class ExperimentService { private String getDatasetFromExperimentParameters(ExperimentDTO experimentDTO, String endpoint) { String experimentDatasets = null; - for (AlgorithmDTO.AlgorithmParamDTO parameter : experimentDTO.getAlgorithmDetails().getParameters()) { + for (AlgorithmDTO.AlgorithmParamDTO parameter : experimentDTO.getAlgorithm().getParameters()) { if (parameter.getLabel().equals("dataset")) { experimentDatasets = parameter.getValue(); break; @@ -454,8 +454,8 @@ public class ExperimentService { ExperimentDAO experimentDAO = new ExperimentDAO(); experimentDAO.setUuid(UUID.randomUUID()); experimentDAO.setCreatedBy(user); - experimentDAO.setAlgorithmDetails(JsonConverters.convertObjectToJsonString(experimentDTO.getAlgorithmDetails())); - experimentDAO.setAlgorithm(experimentDTO.getAlgorithm()); + experimentDAO.setAlgorithmDetails(JsonConverters.convertObjectToJsonString(experimentDTO.getAlgorithm())); + experimentDAO.setAlgorithm(experimentDTO.getAlgorithm().getName()); experimentDAO.setName(experimentDTO.getName()); experimentDAO.setStatus(ExperimentDAO.Status.pending); @@ -520,11 +520,11 @@ public class ExperimentService { Logging.LogUserAction(user.getUsername(), endpoint, "Created experiment with uuid :" + experimentDAO.getUuid()); // Run the 1st algorithm from the list - String algorithmName = experimentDTO.getAlgorithmDetails().getName(); + String algorithmName = experimentDTO.getAlgorithm().getName(); // Get the parameters List<AlgorithmDTO.AlgorithmParamDTO> algorithmParameters - = experimentDTO.getAlgorithmDetails().getParameters(); + = experimentDTO.getAlgorithm().getParameters(); String body = gson.toJson(algorithmParameters); String url = queryExaremeUrl + "/" + algorithmName; @@ -606,11 +606,11 @@ public class ExperimentService { // Run the 1st algorithm from the list - String workflowId = experimentDTO.getAlgorithmDetails().getName(); + String workflowId = experimentDTO.getAlgorithm().getName(); // Get the parameters List<AlgorithmDTO.AlgorithmParamDTO> algorithmParameters - = experimentDTO.getAlgorithmDetails().getParameters(); + = experimentDTO.getAlgorithm().getParameters(); // Convert the parameters to workflow parameters HashMap<String, String> algorithmParamsIncludingEmpty = new HashMap<>();