diff --git a/src/main/java/eu/hbp/mip/models/DTOs/TabularVisualizationDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/TabularVisualizationDTO.java new file mode 100644 index 0000000000000000000000000000000000000000..3e17932f7e716c001642c86ea2c6a54bf841ca43 --- /dev/null +++ b/src/main/java/eu/hbp/mip/models/DTOs/TabularVisualizationDTO.java @@ -0,0 +1,33 @@ +package eu.hbp.mip.models.DTOs; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.HashMap; +import java.util.List; + +@Data +@AllArgsConstructor +public class TabularVisualizationDTO { + private final String name; + private final String profile; + private final HashMap<String, List<Field>> schema; + private final List<List<Object>> data; + + + public TabularVisualizationDTO(MIPEngineAlgorithmResultDTO mipEngineAlgorithmResultDTO) { + HashMap<String, List<TabularVisualizationDTO.Field>> schema = new HashMap<>(); + schema.put("fields", mipEngineAlgorithmResultDTO.getColumns()); + this.name = mipEngineAlgorithmResultDTO.getTitle(); + this.profile = "tabular-data-resource"; + this.schema = schema; + this.data = mipEngineAlgorithmResultDTO.getData(); + } + @Data + @AllArgsConstructor + public static class Field { + private final String name; + private final String type; + } +} + diff --git a/src/main/java/eu/hbp/mip/services/GalaxyService.java b/src/main/java/eu/hbp/mip/services/GalaxyService.java index 80590c7be75a5603996d9b792921b8bb73a42b99..cc10afebdfdff26008947c6b24b7eb5865e6918b 100644 --- a/src/main/java/eu/hbp/mip/services/GalaxyService.java +++ b/src/main/java/eu/hbp/mip/services/GalaxyService.java @@ -20,6 +20,7 @@ import eu.hbp.mip.models.galaxy.GalaxyWorkflowResult; import eu.hbp.mip.models.galaxy.PostWorkflowToGalaxyDtoResponse; import eu.hbp.mip.repositories.ExperimentRepository; import eu.hbp.mip.utils.Exceptions.BadRequestException; +import eu.hbp.mip.utils.Exceptions.InternalServerError; import eu.hbp.mip.utils.JsonConverters; import eu.hbp.mip.utils.Logger; import org.codehaus.jettison.json.JSONException; @@ -364,6 +365,7 @@ public class GalaxyService { sleep(2000); } catch (InterruptedException e) { Logger.LogExperimentAction(experimentDAO.getName(), experimentDAO.getUuid(), "Sleep was disrupted: " + e.getMessage()); + throw new InternalServerError(e.getMessage()); } Logger.LogExperimentAction(experimentDAO.getName(), experimentDAO.getUuid(), "Fetching status for experiment Id: " + experimentDAO.getUuid());