diff --git a/src/main/java/eu/hbp/mip/controllers/PathologiesAPI.java b/src/main/java/eu/hbp/mip/controllers/PathologiesAPI.java index 8949e9c5d081d57ec0e4f1bc69f2882383e4efd9..4320f90c7d22f228f8423698b61d8d0a2f10a437 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 2c4794d7e0b691a34e82be01638f54207958b18a..1da25fe9197571387aeb223c498e04a8b53e6dfc 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 0000000000000000000000000000000000000000..9d81a3c77a944c63cbc53cb510264c19e77dd9c0 --- /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 fbfd8bd348a92230c82d77d564528a3037b1ec32..ff73005c49d910496980263f724344228e20fadf 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) {