diff --git a/src/main/java/eu/dnetlib/dhp/schema/oaf/Datasource.java b/src/main/java/eu/dnetlib/dhp/schema/oaf/Datasource.java index 7217982..0e7606d 100644 --- a/src/main/java/eu/dnetlib/dhp/schema/oaf/Datasource.java +++ b/src/main/java/eu/dnetlib/dhp/schema/oaf/Datasource.java @@ -6,8 +6,15 @@ import java.util.List; public class Datasource extends OafEntity implements Serializable { + /** + * + */ + private static final long serialVersionUID = 1019089598408414496L; + private Qualifier datasourcetype; + private Qualifier datasourcetypeui; + private Qualifier openairecompatibility; private Field officialname; @@ -83,19 +90,45 @@ public class Datasource extends OafEntity implements Serializable { private Journal journal; + // New field for EOSC + private List providedentitytypes; + + // New field for EOSC + private List providedproducttypes; + + // New field for EOSC + private Qualifier jurisdiction; + + // New field for EOSC + private Boolean thematic; + + // New field for EOSC + private Boolean knowledgegraph; + + // New field for EOSC + private List contentpolicies; + public Qualifier getDatasourcetype() { return datasourcetype; } - public void setDatasourcetype(Qualifier datasourcetype) { + public void setDatasourcetype(final Qualifier datasourcetype) { this.datasourcetype = datasourcetype; } + public Qualifier getDatasourcetypeui() { + return datasourcetypeui; + } + + public void setDatasourcetypeui(final Qualifier datasourcetypeui) { + this.datasourcetypeui = datasourcetypeui; + } + public Qualifier getOpenairecompatibility() { return openairecompatibility; } - public void setOpenairecompatibility(Qualifier openairecompatibility) { + public void setOpenairecompatibility(final Qualifier openairecompatibility) { this.openairecompatibility = openairecompatibility; } @@ -103,7 +136,7 @@ public class Datasource extends OafEntity implements Serializable { return officialname; } - public void setOfficialname(Field officialname) { + public void setOfficialname(final Field officialname) { this.officialname = officialname; } @@ -111,7 +144,7 @@ public class Datasource extends OafEntity implements Serializable { return englishname; } - public void setEnglishname(Field englishname) { + public void setEnglishname(final Field englishname) { this.englishname = englishname; } @@ -119,7 +152,7 @@ public class Datasource extends OafEntity implements Serializable { return websiteurl; } - public void setWebsiteurl(Field websiteurl) { + public void setWebsiteurl(final Field websiteurl) { this.websiteurl = websiteurl; } @@ -127,7 +160,7 @@ public class Datasource extends OafEntity implements Serializable { return logourl; } - public void setLogourl(Field logourl) { + public void setLogourl(final Field logourl) { this.logourl = logourl; } @@ -135,7 +168,7 @@ public class Datasource extends OafEntity implements Serializable { return contactemail; } - public void setContactemail(Field contactemail) { + public void setContactemail(final Field contactemail) { this.contactemail = contactemail; } @@ -143,7 +176,7 @@ public class Datasource extends OafEntity implements Serializable { return namespaceprefix; } - public void setNamespaceprefix(Field namespaceprefix) { + public void setNamespaceprefix(final Field namespaceprefix) { this.namespaceprefix = namespaceprefix; } @@ -151,7 +184,7 @@ public class Datasource extends OafEntity implements Serializable { return latitude; } - public void setLatitude(Field latitude) { + public void setLatitude(final Field latitude) { this.latitude = latitude; } @@ -159,7 +192,7 @@ public class Datasource extends OafEntity implements Serializable { return longitude; } - public void setLongitude(Field longitude) { + public void setLongitude(final Field longitude) { this.longitude = longitude; } @@ -167,7 +200,7 @@ public class Datasource extends OafEntity implements Serializable { return dateofvalidation; } - public void setDateofvalidation(Field dateofvalidation) { + public void setDateofvalidation(final Field dateofvalidation) { this.dateofvalidation = dateofvalidation; } @@ -175,7 +208,7 @@ public class Datasource extends OafEntity implements Serializable { return description; } - public void setDescription(Field description) { + public void setDescription(final Field description) { this.description = description; } @@ -183,7 +216,7 @@ public class Datasource extends OafEntity implements Serializable { return subjects; } - public void setSubjects(List subjects) { + public void setSubjects(final List subjects) { this.subjects = subjects; } @@ -191,7 +224,7 @@ public class Datasource extends OafEntity implements Serializable { return odnumberofitems; } - public void setOdnumberofitems(Field odnumberofitems) { + public void setOdnumberofitems(final Field odnumberofitems) { this.odnumberofitems = odnumberofitems; } @@ -199,7 +232,7 @@ public class Datasource extends OafEntity implements Serializable { return odnumberofitemsdate; } - public void setOdnumberofitemsdate(Field odnumberofitemsdate) { + public void setOdnumberofitemsdate(final Field odnumberofitemsdate) { this.odnumberofitemsdate = odnumberofitemsdate; } @@ -207,7 +240,7 @@ public class Datasource extends OafEntity implements Serializable { return odpolicies; } - public void setOdpolicies(Field odpolicies) { + public void setOdpolicies(final Field odpolicies) { this.odpolicies = odpolicies; } @@ -215,7 +248,7 @@ public class Datasource extends OafEntity implements Serializable { return odlanguages; } - public void setOdlanguages(List> odlanguages) { + public void setOdlanguages(final List> odlanguages) { this.odlanguages = odlanguages; } @@ -223,7 +256,7 @@ public class Datasource extends OafEntity implements Serializable { return odcontenttypes; } - public void setOdcontenttypes(List> odcontenttypes) { + public void setOdcontenttypes(final List> odcontenttypes) { this.odcontenttypes = odcontenttypes; } @@ -231,7 +264,7 @@ public class Datasource extends OafEntity implements Serializable { return accessinfopackage; } - public void setAccessinfopackage(List> accessinfopackage) { + public void setAccessinfopackage(final List> accessinfopackage) { this.accessinfopackage = accessinfopackage; } @@ -239,7 +272,7 @@ public class Datasource extends OafEntity implements Serializable { return releasestartdate; } - public void setReleasestartdate(Field releasestartdate) { + public void setReleasestartdate(final Field releasestartdate) { this.releasestartdate = releasestartdate; } @@ -247,7 +280,7 @@ public class Datasource extends OafEntity implements Serializable { return releaseenddate; } - public void setReleaseenddate(Field releaseenddate) { + public void setReleaseenddate(final Field releaseenddate) { this.releaseenddate = releaseenddate; } @@ -255,7 +288,7 @@ public class Datasource extends OafEntity implements Serializable { return missionstatementurl; } - public void setMissionstatementurl(Field missionstatementurl) { + public void setMissionstatementurl(final Field missionstatementurl) { this.missionstatementurl = missionstatementurl; } @@ -263,7 +296,7 @@ public class Datasource extends OafEntity implements Serializable { return dataprovider; } - public void setDataprovider(Field dataprovider) { + public void setDataprovider(final Field dataprovider) { this.dataprovider = dataprovider; } @@ -271,7 +304,7 @@ public class Datasource extends OafEntity implements Serializable { return serviceprovider; } - public void setServiceprovider(Field serviceprovider) { + public void setServiceprovider(final Field serviceprovider) { this.serviceprovider = serviceprovider; } @@ -279,7 +312,7 @@ public class Datasource extends OafEntity implements Serializable { return databaseaccesstype; } - public void setDatabaseaccesstype(Field databaseaccesstype) { + public void setDatabaseaccesstype(final Field databaseaccesstype) { this.databaseaccesstype = databaseaccesstype; } @@ -287,7 +320,7 @@ public class Datasource extends OafEntity implements Serializable { return datauploadtype; } - public void setDatauploadtype(Field datauploadtype) { + public void setDatauploadtype(final Field datauploadtype) { this.datauploadtype = datauploadtype; } @@ -295,7 +328,7 @@ public class Datasource extends OafEntity implements Serializable { return databaseaccessrestriction; } - public void setDatabaseaccessrestriction(Field databaseaccessrestriction) { + public void setDatabaseaccessrestriction(final Field databaseaccessrestriction) { this.databaseaccessrestriction = databaseaccessrestriction; } @@ -303,7 +336,7 @@ public class Datasource extends OafEntity implements Serializable { return datauploadrestriction; } - public void setDatauploadrestriction(Field datauploadrestriction) { + public void setDatauploadrestriction(final Field datauploadrestriction) { this.datauploadrestriction = datauploadrestriction; } @@ -311,7 +344,7 @@ public class Datasource extends OafEntity implements Serializable { return versioning; } - public void setVersioning(Field versioning) { + public void setVersioning(final Field versioning) { this.versioning = versioning; } @@ -319,7 +352,7 @@ public class Datasource extends OafEntity implements Serializable { return citationguidelineurl; } - public void setCitationguidelineurl(Field citationguidelineurl) { + public void setCitationguidelineurl(final Field citationguidelineurl) { this.citationguidelineurl = citationguidelineurl; } @@ -327,7 +360,7 @@ public class Datasource extends OafEntity implements Serializable { return qualitymanagementkind; } - public void setQualitymanagementkind(Field qualitymanagementkind) { + public void setQualitymanagementkind(final Field qualitymanagementkind) { this.qualitymanagementkind = qualitymanagementkind; } @@ -335,7 +368,7 @@ public class Datasource extends OafEntity implements Serializable { return pidsystems; } - public void setPidsystems(Field pidsystems) { + public void setPidsystems(final Field pidsystems) { this.pidsystems = pidsystems; } @@ -343,7 +376,7 @@ public class Datasource extends OafEntity implements Serializable { return certificates; } - public void setCertificates(Field certificates) { + public void setCertificates(final Field certificates) { this.certificates = certificates; } @@ -351,7 +384,7 @@ public class Datasource extends OafEntity implements Serializable { return policies; } - public void setPolicies(List policies) { + public void setPolicies(final List policies) { this.policies = policies; } @@ -359,23 +392,72 @@ public class Datasource extends OafEntity implements Serializable { return journal; } - public void setJournal(Journal journal) { + public void setJournal(final Journal journal) { this.journal = journal; } + public List getProvidedentitytypes() { + return providedentitytypes; + } + + public void setProvidedentitytypes(final List providedentitytypes) { + this.providedentitytypes = providedentitytypes; + } + + public List getProvidedproducttypes() { + return providedproducttypes; + } + + public void setProvidedproducttypes(final List providedproducttypes) { + this.providedproducttypes = providedproducttypes; + } + + public Qualifier getJurisdiction() { + return jurisdiction; + } + + public void setJurisdiction(final Qualifier jurisdiction) { + this.jurisdiction = jurisdiction; + } + + public Boolean getThematic() { + return thematic; + } + + public void setThematic(final Boolean thematic) { + this.thematic = thematic; + } + + public Boolean getKnowledgegraph() { + return knowledgegraph; + } + + public void setKnowledgegraph(final Boolean knowledgegraph) { + this.knowledgegraph = knowledgegraph; + } + + public List getContentpolicies() { + return contentpolicies; + } + + public void setContentpolicies(final List contentpolicies) { + this.contentpolicies = contentpolicies; + } + @Override - public void mergeFrom(OafEntity e) { + public void mergeFrom(final OafEntity e) { super.mergeFrom(e); - if (!Datasource.class.isAssignableFrom(e.getClass())) { - return; - } + if (!Datasource.class.isAssignableFrom(e.getClass())) { return; } - Datasource d = (Datasource) e; + final Datasource d = (Datasource) e; datasourcetype = d.getDatasourcetype() != null && compareTrust(this, e) < 0 ? d.getDatasourcetype() : datasourcetype; + datasourcetypeui = d.getDatasourcetypeui() != null && compareTrust(this, e) < 0 + ? d.getDatasourcetypeui() + : datasourcetypeui; openairecompatibility = d.getOpenairecompatibility() != null && compareTrust(this, e) < 0 ? d.getOpenairecompatibility() : openairecompatibility; @@ -467,6 +549,25 @@ public class Datasource extends OafEntity implements Serializable { journal = d.getJournal() != null && compareTrust(this, e) < 0 ? d.getJournal() : journal; + providedentitytypes = mergeLists(providedentitytypes, d.getProvidedentitytypes());; + + providedproducttypes = mergeLists(providedproducttypes, d.getProvidedproducttypes());; + + jurisdiction = d.getJurisdiction() != null && compareTrust(this, e) < 0 + ? d.getJurisdiction() + : jurisdiction; + + thematic = d.getThematic() != null && compareTrust(this, e) < 0 + ? d.getThematic() + : thematic; + + knowledgegraph = d.getKnowledgegraph() != null && compareTrust(this, e) < 0 + ? d.getKnowledgegraph() + : knowledgegraph; + + contentpolicies = mergeLists(contentpolicies, d.getContentpolicies());; + mergeOAFDataInfo(e); } + } diff --git a/src/main/resources/eu/dnetlib/dhp/schema/sql/eosc_patch.sql b/src/main/resources/eu/dnetlib/dhp/schema/sql/eosc_patch.sql new file mode 100644 index 0000000..3b089dc --- /dev/null +++ b/src/main/resources/eu/dnetlib/dhp/schema/sql/eosc_patch.sql @@ -0,0 +1,9 @@ +-- Table to extend the datasource properties according to the eosc model +CREATE TABLE dsm_datasources_eosc( + id varchar(255) references dsm_datasources(id), + jurisdiction text, + thematic boolean, + knowledge_graph boolean, + content_policies text[], + _dnet_resource_identifier_ varchar(2048) default ((('temp_'::text || md5((clock_timestamp())::text)) || '_'::text) || md5((random())::text)) +);