From e6644d43d9704ca944a7b8b086656540153ecbeb Mon Sep 17 00:00:00 2001 From: kfilippopolitis <kostasfilippop@gmail.com> Date: Wed, 30 Nov 2022 21:39:08 +0200 Subject: [PATCH] Fix on pathologies --- .../hbp/mip/controllers/PathologiesAPI.java | 15 ++----- .../models/DTOs/MIPEngineAttributesDTO.java | 15 ------- .../DTOs/MIPEngineCommonDataElement.java | 43 +++++++++++++++++++ .../mip/models/DTOs/MetadataHierarchyDTO.java | 39 +---------------- 4 files changed, 48 insertions(+), 64 deletions(-) create mode 100644 src/main/java/eu/hbp/mip/models/DTOs/MIPEngineCommonDataElement.java diff --git a/src/main/java/eu/hbp/mip/controllers/PathologiesAPI.java b/src/main/java/eu/hbp/mip/controllers/PathologiesAPI.java index 8949e9c5d..4320f90c7 100644 --- a/src/main/java/eu/hbp/mip/controllers/PathologiesAPI.java +++ b/src/main/java/eu/hbp/mip/controllers/PathologiesAPI.java @@ -3,7 +3,7 @@ package eu.hbp.mip.controllers; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import eu.hbp.mip.models.DTOs.MIPEngineAttributesDTO; -import eu.hbp.mip.models.DTOs.MetadataHierarchyDTO; +import eu.hbp.mip.models.DTOs.MIPEngineCommonDataElement; import eu.hbp.mip.models.DTOs.PathologyDTO; import eu.hbp.mip.services.ActiveUserService; import eu.hbp.mip.utils.*; @@ -77,14 +77,14 @@ public class PathologiesAPI { } public Map<String, List<PathologyDTO.EnumerationDTO>> getMIPEngineDatasetsPerPathology(Logger logger) { - Map<String, Map<String, MetadataHierarchyDTO.CommonDataElement>> mipEngineCDEsMetadata; + Map<String, Map<String, MIPEngineCommonDataElement>> mipEngineCDEsMetadata; // Get MIPEngine algorithms try { StringBuilder response = new StringBuilder(); HTTPUtil.sendGet(mipengineCDEsMetadataUrl, response); mipEngineCDEsMetadata = gson.fromJson( response.toString(), - new TypeToken<HashMap<String, Map<String, MetadataHierarchyDTO.CommonDataElement>>>() { + new TypeToken<HashMap<String, Map<String, MIPEngineCommonDataElement>>>() { }.getType() ); } catch (Exception e) { @@ -122,14 +122,7 @@ public class PathologiesAPI { return null; } - Map<String, MIPEngineAttributesDTO> mipEnginePathologyAttributesWithProperEnums = new HashMap<>(); - for (Map.Entry<String, MIPEngineAttributesDTO> entry : mipEnginePathologyAttributes.entrySet()) { - String pathology = entry.getKey(); - MIPEngineAttributesDTO attributes = entry.getValue(); - attributes.updateAttributesWithProperEnums(); - mipEnginePathologyAttributesWithProperEnums.put(pathology, attributes); - } - return mipEnginePathologyAttributesWithProperEnums; + return mipEnginePathologyAttributes; } } diff --git a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAttributesDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAttributesDTO.java index 2c4794d7e..1da25fe91 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAttributesDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAttributesDTO.java @@ -18,19 +18,4 @@ public class MIPEngineAttributesDTO { @SerializedName("tags") private Object tags; - public void updateAttributesWithProperEnums(){ - Map<String, List<MetadataHierarchyDTO>> updated_properties = new HashMap<>(); - for (Map.Entry<String, List<MetadataHierarchyDTO>> entry : this.properties.entrySet()) { - String pathology = entry.getKey(); - List<MetadataHierarchyDTO> hierarchyDTOS = entry.getValue(); - List<MetadataHierarchyDTO> updatedHierarchyDTOS = new ArrayList<>(); - - for (MetadataHierarchyDTO hierarchyDTO : hierarchyDTOS) { - hierarchyDTO.updateGroupWithProperEnums(); - updatedHierarchyDTOS.add(hierarchyDTO); - } - updated_properties.put(pathology,updatedHierarchyDTOS); - } - this.properties = updated_properties; - } } diff --git a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineCommonDataElement.java b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineCommonDataElement.java new file mode 100644 index 000000000..9d81a3c77 --- /dev/null +++ b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineCommonDataElement.java @@ -0,0 +1,43 @@ +package eu.hbp.mip.models.DTOs; + + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class MIPEngineCommonDataElement { + @SerializedName("is_categorical") + private Boolean is_categorical; + + @SerializedName("code") + private String code; + + @SerializedName("sql_type") + private String sql_type; + + @SerializedName("description") + private String description; + + @SerializedName("enumerations") + private Object enumerations; + + @SerializedName("label") + private String label; + + @SerializedName("units") + private String units; + + @SerializedName("type") + private String type; + + @SerializedName("methodology") + private String methodology; + + @SerializedName("min") + private String min; + + @SerializedName("max") + private String max; +} diff --git a/src/main/java/eu/hbp/mip/models/DTOs/MetadataHierarchyDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/MetadataHierarchyDTO.java index fbfd8bd34..ff73005c4 100644 --- a/src/main/java/eu/hbp/mip/models/DTOs/MetadataHierarchyDTO.java +++ b/src/main/java/eu/hbp/mip/models/DTOs/MetadataHierarchyDTO.java @@ -4,9 +4,7 @@ import com.google.gson.annotations.SerializedName; import lombok.AllArgsConstructor; import lombok.Data; -import java.util.ArrayList; import java.util.List; -import java.util.Map; @Data @AllArgsConstructor @@ -39,7 +37,7 @@ public class MetadataHierarchyDTO { private String description; @SerializedName("enumerations") - private Object enumerations; + private List<PathologyDTO.EnumerationDTO> enumerations; @SerializedName("label") private String label; @@ -58,43 +56,8 @@ public class MetadataHierarchyDTO { @SerializedName("max") private String max; - - private void updateEnumerations(){ - if (this.enumerations != null){ - Map old_enumeration = (Map) this.enumerations; - List<PathologyDTO.EnumerationDTO> enumerationDTOS = new ArrayList<>(); - old_enumeration.forEach((cdeCode, cdeLabel) -> { - enumerationDTOS.add(new PathologyDTO.EnumerationDTO((String) cdeCode, (String) cdeLabel)); - }); - setEnumerations(enumerationDTOS); - } - } } - public void updateVariableWithProperEnums(){ - List<CommonDataElement> updated_variables = new ArrayList<>(); - this.variables.forEach(commonDataElement -> { - commonDataElement.updateEnumerations(); - updated_variables.add(commonDataElement); - }); - setVariables(updated_variables); - } - - public void updateGroupWithProperEnums(){ - List<MetadataHierarchyDTO> updated_groups = new ArrayList<>(); - for (MetadataHierarchyDTO hierarchyDTO : this.groups) { - - if (hierarchyDTO.getVariables() != null) { - hierarchyDTO.updateVariableWithProperEnums(); - } - - if (hierarchyDTO.getGroups() != null) { - hierarchyDTO.updateGroupWithProperEnums(); - } - updated_groups.add(hierarchyDTO); - } - this.groups = updated_groups; - } public boolean isDatasetCDEPresent(){ if (this.variables != null) { -- GitLab