package eu.dnetlib.dhp.schema.oaf; import java.io.Serializable; import java.util.List; public class Datasource extends OafEntity implements Serializable { private Qualifier datasourcetype; private Qualifier openairecompatibility; private Field officialname; private Field englishname; private Field websiteurl; private Field logourl; private Field contactemail; private Field namespaceprefix; private Field latitude; private Field longitude; private Field dateofvalidation; private Field description; private List subjects; // opendoar specific fields (od*) private Field odnumberofitems; private Field odnumberofitemsdate; private Field odpolicies; private List> odlanguages; private List> odcontenttypes; private List> accessinfopackage; // re3data fields private Field releasestartdate; private Field releaseenddate; private Field missionstatementurl; private Field dataprovider; private Field serviceprovider; // {open, restricted or closed} private Field databaseaccesstype; // {open, restricted or closed} private Field datauploadtype; // {feeRequired, registration, other} private Field databaseaccessrestriction; // {feeRequired, registration, other} private Field datauploadrestriction; private Field versioning; private Field citationguidelineurl; // {yes, no, uknown} private Field qualitymanagementkind; private Field pidsystems; private Field certificates; private List policies; private Journal journal; public Qualifier getDatasourcetype() { return datasourcetype; } public void setDatasourcetype(Qualifier datasourcetype) { this.datasourcetype = datasourcetype; } public Qualifier getOpenairecompatibility() { return openairecompatibility; } public void setOpenairecompatibility(Qualifier openairecompatibility) { this.openairecompatibility = openairecompatibility; } public Field getOfficialname() { return officialname; } public void setOfficialname(Field officialname) { this.officialname = officialname; } public Field getEnglishname() { return englishname; } public void setEnglishname(Field englishname) { this.englishname = englishname; } public Field getWebsiteurl() { return websiteurl; } public void setWebsiteurl(Field websiteurl) { this.websiteurl = websiteurl; } public Field getLogourl() { return logourl; } public void setLogourl(Field logourl) { this.logourl = logourl; } public Field getContactemail() { return contactemail; } public void setContactemail(Field contactemail) { this.contactemail = contactemail; } public Field getNamespaceprefix() { return namespaceprefix; } public void setNamespaceprefix(Field namespaceprefix) { this.namespaceprefix = namespaceprefix; } public Field getLatitude() { return latitude; } public void setLatitude(Field latitude) { this.latitude = latitude; } public Field getLongitude() { return longitude; } public void setLongitude(Field longitude) { this.longitude = longitude; } public Field getDateofvalidation() { return dateofvalidation; } public void setDateofvalidation(Field dateofvalidation) { this.dateofvalidation = dateofvalidation; } public Field getDescription() { return description; } public void setDescription(Field description) { this.description = description; } public List getSubjects() { return subjects; } public void setSubjects(List subjects) { this.subjects = subjects; } public Field getOdnumberofitems() { return odnumberofitems; } public void setOdnumberofitems(Field odnumberofitems) { this.odnumberofitems = odnumberofitems; } public Field getOdnumberofitemsdate() { return odnumberofitemsdate; } public void setOdnumberofitemsdate(Field odnumberofitemsdate) { this.odnumberofitemsdate = odnumberofitemsdate; } public Field getOdpolicies() { return odpolicies; } public void setOdpolicies(Field odpolicies) { this.odpolicies = odpolicies; } public List> getOdlanguages() { return odlanguages; } public void setOdlanguages(List> odlanguages) { this.odlanguages = odlanguages; } public List> getOdcontenttypes() { return odcontenttypes; } public void setOdcontenttypes(List> odcontenttypes) { this.odcontenttypes = odcontenttypes; } public List> getAccessinfopackage() { return accessinfopackage; } public void setAccessinfopackage(List> accessinfopackage) { this.accessinfopackage = accessinfopackage; } public Field getReleasestartdate() { return releasestartdate; } public void setReleasestartdate(Field releasestartdate) { this.releasestartdate = releasestartdate; } public Field getReleaseenddate() { return releaseenddate; } public void setReleaseenddate(Field releaseenddate) { this.releaseenddate = releaseenddate; } public Field getMissionstatementurl() { return missionstatementurl; } public void setMissionstatementurl(Field missionstatementurl) { this.missionstatementurl = missionstatementurl; } public Field getDataprovider() { return dataprovider; } public void setDataprovider(Field dataprovider) { this.dataprovider = dataprovider; } public Field getServiceprovider() { return serviceprovider; } public void setServiceprovider(Field serviceprovider) { this.serviceprovider = serviceprovider; } public Field getDatabaseaccesstype() { return databaseaccesstype; } public void setDatabaseaccesstype(Field databaseaccesstype) { this.databaseaccesstype = databaseaccesstype; } public Field getDatauploadtype() { return datauploadtype; } public void setDatauploadtype(Field datauploadtype) { this.datauploadtype = datauploadtype; } public Field getDatabaseaccessrestriction() { return databaseaccessrestriction; } public void setDatabaseaccessrestriction(Field databaseaccessrestriction) { this.databaseaccessrestriction = databaseaccessrestriction; } public Field getDatauploadrestriction() { return datauploadrestriction; } public void setDatauploadrestriction(Field datauploadrestriction) { this.datauploadrestriction = datauploadrestriction; } public Field getVersioning() { return versioning; } public void setVersioning(Field versioning) { this.versioning = versioning; } public Field getCitationguidelineurl() { return citationguidelineurl; } public void setCitationguidelineurl(Field citationguidelineurl) { this.citationguidelineurl = citationguidelineurl; } public Field getQualitymanagementkind() { return qualitymanagementkind; } public void setQualitymanagementkind(Field qualitymanagementkind) { this.qualitymanagementkind = qualitymanagementkind; } public Field getPidsystems() { return pidsystems; } public void setPidsystems(Field pidsystems) { this.pidsystems = pidsystems; } public Field getCertificates() { return certificates; } public void setCertificates(Field certificates) { this.certificates = certificates; } public List getPolicies() { return policies; } public void setPolicies(List policies) { this.policies = policies; } public Journal getJournal() { return journal; } public void setJournal(Journal journal) { this.journal = journal; } @Override public void mergeFrom(OafEntity e) { super.mergeFrom(e); if (!Datasource.class.isAssignableFrom(e.getClass())) { return; } Datasource d = (Datasource) e; datasourcetype = d.getDatasourcetype() != null && compareTrust(this, e) < 0 ? d.getDatasourcetype() : datasourcetype; openairecompatibility = d.getOpenairecompatibility() != null && compareTrust(this, e) < 0 ? d.getOpenairecompatibility() : openairecompatibility; officialname = d.getOfficialname() != null && compareTrust(this, e) < 0 ? d.getOfficialname() : officialname; englishname = d.getEnglishname() != null && compareTrust(this, e) < 0 ? d.getEnglishname() : officialname; websiteurl = d.getWebsiteurl() != null && compareTrust(this, e) < 0 ? d.getWebsiteurl() : websiteurl; logourl = d.getLogourl() != null && compareTrust(this, e) < 0 ? d.getLogourl() : getLogourl(); contactemail = d.getContactemail() != null && compareTrust(this, e) < 0 ? d.getContactemail() : contactemail; namespaceprefix = d.getNamespaceprefix() != null && compareTrust(this, e) < 0 ? d.getNamespaceprefix() : namespaceprefix; latitude = d.getLatitude() != null && compareTrust(this, e) < 0 ? d.getLatitude() : latitude; longitude = d.getLongitude() != null && compareTrust(this, e) < 0 ? d.getLongitude() : longitude; dateofvalidation = d.getDateofvalidation() != null && compareTrust(this, e) < 0 ? d.getDateofvalidation() : dateofvalidation; description = d.getDescription() != null && compareTrust(this, e) < 0 ? d.getDescription() : description; subjects = mergeLists(subjects, d.getSubjects()); // opendoar specific fields (od*) odnumberofitems = d.getOdnumberofitems() != null && compareTrust(this, e) < 0 ? d.getOdnumberofitems() : odnumberofitems; odnumberofitemsdate = d.getOdnumberofitemsdate() != null && compareTrust(this, e) < 0 ? d.getOdnumberofitemsdate() : odnumberofitemsdate; odpolicies = d.getOdpolicies() != null && compareTrust(this, e) < 0 ? d.getOdpolicies() : odpolicies; odlanguages = mergeLists(odlanguages, d.getOdlanguages()); odcontenttypes = mergeLists(odcontenttypes, d.getOdcontenttypes()); accessinfopackage = mergeLists(accessinfopackage, d.getAccessinfopackage()); // re3data fields releasestartdate = d.getReleasestartdate() != null && compareTrust(this, e) < 0 ? d.getReleasestartdate() : releasestartdate; releaseenddate = d.getReleaseenddate() != null && compareTrust(this, e) < 0 ? d.getReleaseenddate() : releaseenddate; missionstatementurl = d.getMissionstatementurl() != null && compareTrust(this, e) < 0 ? d.getMissionstatementurl() : missionstatementurl; dataprovider = d.getDataprovider() != null && compareTrust(this, e) < 0 ? d.getDataprovider() : dataprovider; serviceprovider = d.getServiceprovider() != null && compareTrust(this, e) < 0 ? d.getServiceprovider() : serviceprovider; // {open, restricted or closed} databaseaccesstype = d.getDatabaseaccesstype() != null && compareTrust(this, e) < 0 ? d.getDatabaseaccesstype() : databaseaccesstype; // {open, restricted or closed} datauploadtype = d.getDatauploadtype() != null && compareTrust(this, e) < 0 ? d.getDatauploadtype() : datauploadtype; // {feeRequired, registration, other} databaseaccessrestriction = d.getDatabaseaccessrestriction() != null && compareTrust(this, e) < 0 ? d.getDatabaseaccessrestriction() : databaseaccessrestriction; // {feeRequired, registration, other} datauploadrestriction = d.getDatauploadrestriction() != null && compareTrust(this, e) < 0 ? d.getDatauploadrestriction() : datauploadrestriction; versioning = d.getVersioning() != null && compareTrust(this, e) < 0 ? d.getVersioning() : versioning; citationguidelineurl = d.getCitationguidelineurl() != null && compareTrust(this, e) < 0 ? d.getCitationguidelineurl() : citationguidelineurl; // {yes, no, unknown} qualitymanagementkind = d.getQualitymanagementkind() != null && compareTrust(this, e) < 0 ? d.getQualitymanagementkind() : qualitymanagementkind; pidsystems = d.getPidsystems() != null && compareTrust(this, e) < 0 ? d.getPidsystems() : pidsystems; certificates = d.getCertificates() != null && compareTrust(this, e) < 0 ? d.getCertificates() : certificates; policies = mergeLists(policies, d.getPolicies()); journal = d.getJournal() != null && compareTrust(this, e) < 0 ? d.getJournal() : journal; mergeOAFDataInfo(e); } }