From 00ed2922da1675267206ff4d73094f5dddcad333 Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Thu, 24 Mar 2022 12:26:14 +0100 Subject: [PATCH] removed typology field --- .../java/eu/dnetlib/openaire/dsm/DsmCore.java | 6 +- .../openaire/dsm/dao/DatasourceDao.java | 6 +- .../openaire/dsm/dao/DatasourceDaoImpl.java | 8 +- .../dsm/dao/DatasourceDbEntryRepository.java | 4 +- .../dsm/dao/utils/DsmMappingUtils.java | 122 +----------------- .../openaire/dsm/domain/ApiDetails.java | 29 +++-- .../dsm/domain/DatasourceDetails.java | 10 +- .../dsm/domain/DatasourceDetailsUpdate.java | 10 +- .../dsm/domain/DatasourceSnippetExtended.java | 10 +- .../openaire/dsm/domain/FilterName.java | 51 +++++--- .../dsm/domain/RegisteredDatasourceInfo.java | 11 +- .../dsm/domain/db/DatasourceApiDbEntry.java | 23 ++-- .../sql/recent_registered_datasources.sql.st | 2 +- ...tered_datasources_fromDate_typology.st.sql | 2 +- .../src/main/resources/global.properties | 2 +- 15 files changed, 93 insertions(+), 203 deletions(-) diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmCore.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmCore.java index f4721e08..dedba147 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmCore.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/DsmCore.java @@ -262,14 +262,14 @@ public class DsmCore { } } - public Long countRegisteredAfter(final String fromDate, final String typologyFilter) throws Throwable { + public Long countRegisteredAfter(final String fromDate, final String typeFilter) throws Throwable { try { - if (StringUtils.isNotBlank(typologyFilter)) { + if (StringUtils.isNotBlank(typeFilter)) { final String sql = IOUtils.toString(getClass().getResourceAsStream("/eu/dnetlib/openaire/sql/recent_registered_datasources_fromDate_typology.st.sql"), Charset .defaultCharset()); - return jdbcTemplate.queryForObject(sql, Long.class, fromDate, typologyFilter + "%"); + return jdbcTemplate.queryForObject(sql, Long.class, fromDate, typeFilter + "%"); } else { final String sql = IOUtils.toString(getClass().getResourceAsStream("/eu/dnetlib/openaire/sql/recent_registered_datasources_fromDate.st.sql"), Charset diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDao.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDao.java index 4fb71855..7ab7583e 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDao.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDao.java @@ -2,6 +2,8 @@ package eu.dnetlib.openaire.dsm.dao; import java.util.List; +import org.springframework.data.domain.Page; + import eu.dnetlib.enabling.datasources.common.Api; import eu.dnetlib.enabling.datasources.common.Datasource; import eu.dnetlib.enabling.datasources.common.DatasourceManagerCommon; @@ -10,7 +12,6 @@ import eu.dnetlib.openaire.dsm.domain.RequestFilter; import eu.dnetlib.openaire.dsm.domain.RequestSort; import eu.dnetlib.openaire.dsm.domain.RequestSortOrder; import eu.dnetlib.openaire.vocabularies.Country; -import org.springframework.data.domain.Page; public interface DatasourceDao, API extends Api> extends DatasourceManagerCommon { @@ -32,7 +33,7 @@ public interface DatasourceDao, API extends Api> void updateTimezone(String dsId, String timezone) throws DsmException; - void updateTypology(String dsId, String timezone) throws DsmException; + void updateEoscDatasourceType(String dsId, String timezone) throws DsmException; void updateRegisteringUser(String dsId, String registeredBy) throws DsmException; @@ -54,5 +55,6 @@ public interface DatasourceDao, API extends Api> void updateApiBaseUrl(String apiId, String baseUrl) throws DsmException; + @Override void addApi(final API api) throws DsmException; } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDaoImpl.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDaoImpl.java index f16ab315..0f9cf5aa 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDaoImpl.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/dao/DatasourceDaoImpl.java @@ -238,15 +238,15 @@ public class DatasourceDaoImpl implements DatasourceDao { - accessProtocol.addAttribute(ap.getParam(), ap.getValue()); - }); - } - iface.addElement("BASE_URL").setText(api.getBaseurl()); - iface.addElement("INTERFACE_EXTRA_FIELD").addAttribute("name", "last_collection_date"); - iface.addElement("INTERFACE_EXTRA_FIELD").addAttribute("name", "last_collection_mdId"); - iface.addElement("INTERFACE_EXTRA_FIELD").addAttribute("name", "last_collection_total"); - iface.addElement("INTERFACE_EXTRA_FIELD").addAttribute("name", "last_aggregation_date"); - iface.addElement("INTERFACE_EXTRA_FIELD").addAttribute("name", "last_aggregation_mdId"); - iface.addElement("INTERFACE_EXTRA_FIELD").addAttribute("name", "last_aggregation_total"); - - final Element mdPathNode = iface.addElement("INTERFACE_EXTRA_FIELD"); - mdPathNode.addAttribute("name", "metadata_identifier_path"); - if (StringUtils.isNotBlank(api.getMetadataIdentifierPath())) { - mdPathNode.setText(api.getMetadataIdentifierPath()); - } - - return iface.asXML(); - } - // HELPERS private static T _convert(final Object o, final Class clazz) { @@ -217,17 +108,6 @@ public class DsmMappingUtils { return mapper.convertValue(o, clazz); } - private static OrganizationDetails getOrganization(final DatasourceDetails ds) { - if (ds.getOrganizations() != null && !ds.getOrganizations().isEmpty()) { return ds.getOrganizations().stream().findFirst().get(); } - return null; - } - - private static void addExtraField(final Element extraFields, final String field, final String value) { - final Element f = extraFields.addElement("FIELD"); - f.addElement("key").setText(field); - f.addElement("value").setText(value != null ? value : ""); - } - private static String asOpenaireId(final String id) { final String prefix = StringUtils.substringBefore(id, ID_SEPARATOR); final String md5 = StringUtils.substringAfter(id, ID_SEPARATOR); diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/ApiDetails.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/ApiDetails.java index 5a51df3d..d2ab101a 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/ApiDetails.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/ApiDetails.java @@ -25,7 +25,7 @@ public class ApiDetails extends ApiIgnoredProperties { private String contentdescription = null; @ApiModelProperty(position = 4) - private String typology = null; + private String eoscDatasourceType = null; @ApiModelProperty(position = 5) private String compatibility; @@ -79,10 +79,6 @@ public class ApiDetails extends ApiIgnoredProperties { return contentdescription; } - public String getTypology() { - return typology; - } - public String getCompatibility() { return compatibility; } @@ -135,11 +131,6 @@ public class ApiDetails extends ApiIgnoredProperties { return this; } - public ApiDetails setTypology(final String typology) { - this.typology = typology; - return this; - } - public ApiDetails setCompatibility(final String compatibility) { this.compatibility = compatibility; return this; @@ -192,23 +183,35 @@ public class ApiDetails extends ApiIgnoredProperties { return compatibilityOverride; } - public void setCompatibilityOverride(final String compatibilityOverride) { + public ApiDetails setCompatibilityOverride(final String compatibilityOverride) { this.compatibilityOverride = compatibilityOverride; + return this; } public Boolean getRemovable() { return removable; } - public void setRemovable(final Boolean removable) { + public ApiDetails setRemovable(final Boolean removable) { this.removable = removable; + return this; } public String getMetadataIdentifierPath() { return metadataIdentifierPath; } - public void setMetadataIdentifierPath(final String metadataIdentifierPath) { + public ApiDetails setMetadataIdentifierPath(final String metadataIdentifierPath) { this.metadataIdentifierPath = metadataIdentifierPath; + return this; + } + + public String getEoscDatasourceType() { + return eoscDatasourceType; + } + + public ApiDetails setEoscDatasourceType(final String eoscDatasourceType) { + this.eoscDatasourceType = eoscDatasourceType; + return this; } } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetails.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetails.java index deb52543..dd4967f2 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetails.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetails.java @@ -66,7 +66,7 @@ public class DatasourceDetails extends DatasourceIgnoredProperties { @NotBlank @ApiModelProperty(position = 13) - private String typology; + private String eoscDatasourceType; @ApiModelProperty(position = 14) private Date dateofcollection; @@ -172,8 +172,8 @@ public class DatasourceDetails extends DatasourceIgnoredProperties { return dateofvalidation; } - public String getTypology() { - return typology; + public String getEoscDatasourceType() { + return eoscDatasourceType; } public Date getDateofcollection() { @@ -305,8 +305,8 @@ public class DatasourceDetails extends DatasourceIgnoredProperties { return this; } - public DatasourceDetails setTypology(final String typology) { - this.typology = typology; + public DatasourceDetails setEoscDatasourceType(final String eoscDatasourceType) { + this.eoscDatasourceType = eoscDatasourceType; return this; } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetailsUpdate.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetailsUpdate.java index c3ddcb88..06c8ce5a 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetailsUpdate.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceDetailsUpdate.java @@ -51,7 +51,7 @@ public class DatasourceDetailsUpdate { @NotBlank @ApiModelProperty(position = 13) - private String typology; + private String eoscDatasourceType; @ApiModelProperty(position = 15) private String platform; @@ -114,8 +114,8 @@ public class DatasourceDetailsUpdate { return timezone; } - public String getTypology() { - return typology; + public String getEoscDatasourceType() { + return eoscDatasourceType; } public String getPlatform() { @@ -183,8 +183,8 @@ public class DatasourceDetailsUpdate { return this; } - public DatasourceDetailsUpdate setTypology(final String typology) { - this.typology = typology; + public DatasourceDetailsUpdate setEoscDatasourceType(final String eoscDatasourceType) { + this.eoscDatasourceType = eoscDatasourceType; return this; } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSnippetExtended.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSnippetExtended.java index 902e2c01..9c544658 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSnippetExtended.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/DatasourceSnippetExtended.java @@ -38,7 +38,7 @@ public class DatasourceSnippetExtended { private Date registrationdate; @ApiModelProperty(position = 7) - private String typology; + private String eoscDatasourceType; @ApiModelProperty(position = 8) private String logoUrl; @@ -106,12 +106,12 @@ public class DatasourceSnippetExtended { this.registrationdate = registrationdate; } - public String getTypology() { - return typology; + public String getEoscDatasourceType() { + return eoscDatasourceType; } - public void setTypology(final String typology) { - this.typology = typology; + public void setEoscDatasourceType(final String eoscDatasourceType) { + this.eoscDatasourceType = eoscDatasourceType; } public String getLogoUrl() { diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/FilterName.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/FilterName.java index 7e6cb524..f6e3de96 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/FilterName.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/FilterName.java @@ -1,34 +1,43 @@ package eu.dnetlib.openaire.dsm.domain; import com.fasterxml.jackson.annotation.JsonAutoDetect; + import io.swagger.annotations.ApiModel; @JsonAutoDetect @ApiModel(value = "Filter name", description = "List of the field names used to filter datasources") -public enum -FilterName { - id, managed, collectedfrom, // exact match - officialname, englishname, websiteurl, contactemail, registeredby, typology, platform, // like match +public enum FilterName { + + id, + managed, + collectedfrom, // exact match + officialname, + englishname, + websiteurl, + contactemail, + registeredby, + eoscDatasourceType, + platform, // like match country; // exact match on related organization - public static FilterType type(FilterName filterName) { + public static FilterType type(final FilterName filterName) { switch (filterName) { - case id: - case managed: - case collectedfrom: - return FilterType.exact; - case officialname: - case englishname: - case websiteurl: - case contactemail: - case registeredby: - case typology: - case platform: - return FilterType.search; - case country: - return FilterType.searchOrgs; - default: - throw new IllegalStateException("unmapped filter type for: " + filterName); + case id: + case managed: + case collectedfrom: + return FilterType.exact; + case officialname: + case englishname: + case websiteurl: + case contactemail: + case registeredby: + case eoscDatasourceType: + case platform: + return FilterType.search; + case country: + return FilterType.searchOrgs; + default: + throw new IllegalStateException("unmapped filter type for: " + filterName); } } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/RegisteredDatasourceInfo.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/RegisteredDatasourceInfo.java index 31e5e6b5..5bd17cc2 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/RegisteredDatasourceInfo.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/RegisteredDatasourceInfo.java @@ -6,7 +6,7 @@ public class RegisteredDatasourceInfo { private String officialName; private String englishName; private String organization; - private String typology; + private String eoscDatasourceType; private String registeredBy; private String registrationDate; private String compatibility; @@ -45,12 +45,12 @@ public class RegisteredDatasourceInfo { this.organization = organization; } - public String getTypology() { - return typology; + public String getEoscDatasourceType() { + return eoscDatasourceType; } - public void setTypology(final String typology) { - this.typology = typology; + public void setEoscDatasourceType(final String eoscDatasourceType) { + this.eoscDatasourceType = eoscDatasourceType; } public String getRegisteredBy() { @@ -92,4 +92,5 @@ public class RegisteredDatasourceInfo { public void setLastCollectionTotal(final long lastCollectionTotal) { this.lastCollectionTotal = lastCollectionTotal; } + } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/db/DatasourceApiDbEntry.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/db/DatasourceApiDbEntry.java index 0a3e5ede..064c4f41 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/db/DatasourceApiDbEntry.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/dsm/domain/db/DatasourceApiDbEntry.java @@ -1,5 +1,6 @@ package eu.dnetlib.openaire.dsm.domain.db; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @@ -26,7 +27,8 @@ public class DatasourceApiDbEntry { private String contactemail; private String collectedfrom; private String registeredby; - private String typology; + @Column(name = "eosc_datasource_type") + private String eoscDatasourceType; private String platform; private Boolean managed; @@ -34,7 +36,7 @@ public class DatasourceApiDbEntry { protected String contentdescription = null; protected Boolean active = false; protected Boolean removable = false; - protected String apitypology = null; + protected String compatibility; private String baseurl; @@ -96,12 +98,12 @@ public class DatasourceApiDbEntry { this.websiteurl = websiteurl; } - public String getTypology() { - return typology; + public String getEoscDatasourceType() { + return eoscDatasourceType; } - public void setTypology(final String typology) { - this.typology = typology; + public void setEoscDatasourceType(final String eoscDatasourceType) { + this.eoscDatasourceType = eoscDatasourceType; } public String getPlatform() { @@ -152,14 +154,6 @@ public class DatasourceApiDbEntry { this.removable = removable; } - public String getApitypology() { - return apitypology; - } - - public void setApitypology(final String apitypology) { - this.apitypology = apitypology; - } - public String getCompatibility() { return compatibility; } @@ -183,4 +177,5 @@ public class DatasourceApiDbEntry { public void setCollectedfrom(final String collectedfrom) { this.collectedfrom = collectedfrom; } + } diff --git a/apps/dnet-exporter-api/src/main/resources/eu/dnetlib/openaire/sql/recent_registered_datasources.sql.st b/apps/dnet-exporter-api/src/main/resources/eu/dnetlib/openaire/sql/recent_registered_datasources.sql.st index d6e3a311..56bff2be 100644 --- a/apps/dnet-exporter-api/src/main/resources/eu/dnetlib/openaire/sql/recent_registered_datasources.sql.st +++ b/apps/dnet-exporter-api/src/main/resources/eu/dnetlib/openaire/sql/recent_registered_datasources.sql.st @@ -3,7 +3,7 @@ select d.officialname as "officialName", d.englishname as "englishName", o.legalname as organization, - d.typology as typology, + d.eosc_datasource_type as eosc_datasource_type, d.registeredby as "registeredBy", d.registrationdate::text as "registrationDate", a.compatibility as compatibility, diff --git a/apps/dnet-exporter-api/src/main/resources/eu/dnetlib/openaire/sql/recent_registered_datasources_fromDate_typology.st.sql b/apps/dnet-exporter-api/src/main/resources/eu/dnetlib/openaire/sql/recent_registered_datasources_fromDate_typology.st.sql index 76a8fb45..1af6acd7 100644 --- a/apps/dnet-exporter-api/src/main/resources/eu/dnetlib/openaire/sql/recent_registered_datasources_fromDate_typology.st.sql +++ b/apps/dnet-exporter-api/src/main/resources/eu/dnetlib/openaire/sql/recent_registered_datasources_fromDate_typology.st.sql @@ -6,7 +6,7 @@ from left outer join dsm_organizations o on (o.id = dso.organization) where d.registrationdate >= cast(? as date) - and d.typology like ? + and d.eosc_datasource_type like ? and d.registrationdate < a.last_collection_date and d.registeredby is not null and d.managed = true diff --git a/apps/dnet-exporter-api/src/main/resources/global.properties b/apps/dnet-exporter-api/src/main/resources/global.properties index 61657adf..bef55ff0 100644 --- a/apps/dnet-exporter-api/src/main/resources/global.properties +++ b/apps/dnet-exporter-api/src/main/resources/global.properties @@ -102,4 +102,4 @@ openaire.exporter.swaggerInfo.apiContactEmail = ${openaire.exporter.swaggerD # VOCABULARIES openaire.exporter.vocabularies.baseUrl = http://localhost:8980/provision/mvc/vocabularies openaire.exporter.vocabularies.countriesEndpoint = ${openaire.exporter.vocabularies.baseUrl}/dnet:countries.json -openaire.exporter.vocabularies.datasourceTypologiesEndpoint = ${openaire.exporter.vocabularies.baseUrl}/dnet:datasource_typologies.json +openaire.exporter.vocabularies.datasourceTypologiesEndpoint = ${openaire.exporter.vocabularies.baseUrl}/dnet:eosc_datasource_types.json