From 2f36d8ff476d2dbfb4ca65481f0f18a1cd08face Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Wed, 13 Apr 2022 09:43:12 +0200 Subject: [PATCH] another fix for _typology_to_remove_ --- .../dsm/dao/utils/DsmMappingUtils.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/utils/DsmMappingUtils.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/utils/DsmMappingUtils.java index 67a8630c..8d0bf806 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/utils/DsmMappingUtils.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/utils/DsmMappingUtils.java @@ -95,9 +95,50 @@ public class DsmMappingUtils { o.setCollectedfrom(dbe.getCollectedfrom()); }); } + + _fix_typology(dbe, d); + return dbe; } + @Deprecated + private static void _fix_typology(final DatasourceDbEntry dbe, final DatasourceDetails d) { + if (StringUtils.isNotBlank(d.getTypology()) && StringUtils.isBlank(d.getEoscDatasourceType())) { + // THE ORDER IS IMPORTANT: DO NOT CHANGE IT + if (d.getTypology().startsWith("crissystem")) { + dbe.setEoscDatasourceType("CRIS system"); + } else if (d.getTypology().startsWith("entityregistry")) { + dbe.setEoscDatasourceType("Registry"); + } else if (d.getTypology().startsWith("pubscatalogue") || d.getTypology().equals("websource")) { + dbe.setEoscDatasourceType("Catalogue"); + } else if (d.getTypology().contains("journal")) { + dbe.setEoscDatasourceType("Journal archive"); + } else if (d.getTypology().startsWith("aggregator")) { + dbe.setEoscDatasourceType("Aggregator"); + } else if (d.getTypology().contains("repository")) { + dbe.setEoscDatasourceType("Repository"); + } else { + dbe.setEoscDatasourceType("Aggregator"); + } + } else if (StringUtils.isBlank(d.getTypology()) && StringUtils.isNotBlank(d.getEoscDatasourceType())) { + if (dbe.getEoscDatasourceType().equals("CRIS system")) { + dbe.setTypology("crissystem"); + } else if (dbe.getEoscDatasourceType().equals("Registry")) { + dbe.setTypology("entityregistry"); + } else if (dbe.getEoscDatasourceType().equals("Catalogue")) { + dbe.setTypology("pubscatalogue::unknown"); + } else if (dbe.getEoscDatasourceType().equals("Journal archive")) { + dbe.setTypology("pubsrepository::journal"); + } else if (dbe.getEoscDatasourceType().equals("Aggregator")) { + dbe.setTypology("aggregator"); + } else if (dbe.getEoscDatasourceType().equals("Repository")) { + dbe.setTypology("pubsrepository::unknown"); + } else { + dbe.setTypology("aggregator"); + } + } + } + public static DatasourceDbEntry asDbEntry(final DatasourceDetailsUpdate d) { return _convert(d, DatasourceDbEntry.class); }