[Datasource / Service] datasource_model_eosc #16

Merged
claudio.atzori merged 9 commits from datasource_model_eosc into master 2022-05-03 11:45:40 +02:00
1 changed files with 22 additions and 4 deletions
Showing only changes of commit 78cf7ea084 - Show all commits

View File

@ -578,6 +578,12 @@ public class Datasource extends OafEntity implements Serializable {
datasourcetypeui = d.getDatasourcetypeui() != null && compareTrust(this, e) < 0
? d.getDatasourcetypeui()
: datasourcetypeui;
eosctype = d.getEosctype() != null && compareTrust(this, e) < 0
claudio.atzori marked this conversation as resolved Outdated

If I remember well, the EOSC Catalogue does not tell (yet) if a service is a data source or not. Are the EOSC services aggregated with lower trust than the other registries?
If yes, I am ok with this logics, otherwise I think the value "Data Source" should win over "Service" by default

If I remember well, the EOSC Catalogue does not tell (yet) if a service is a data source or not. Are the EOSC services aggregated with lower trust than the other registries? If yes, I am ok with this logics, otherwise I think the value "Data Source" should win over "Service" by default

The Datasource deduplication is performed beyond this logic and I don't think we are going to exploit it to build a representative record whose attributes are actually set according to the trust. So I propose to get rid of any specific businness logic and limit the implementation to invoke the super.mergeFrom() method.

The Datasource deduplication is performed beyond this logic and I don't think we are going to exploit it to build a representative record whose attributes are actually set according to the trust. So I propose to get rid of any specific businness logic and limit the implementation to invoke the ```super.mergeFrom()``` method.

You are right, Claudio. We can assume that the data sources enter the graph in the final good shape and the mergeFrom method is not expected to be called by anyone.

You are right, Claudio. We can assume that the data sources enter the graph in the final good shape and the mergeFrom method is not expected to be called by anyone.
? d.getEosctype()
: eosctype;
eoscdatasourcetype = d.getEoscdatasourcetype() != null && compareTrust(this, e) < 0
? d.getEoscdatasourcetype()
: eoscdatasourcetype;
openairecompatibility = d.getOpenairecompatibility() != null && compareTrust(this, e) < 0
? d.getOpenairecompatibility()
: openairecompatibility;
@ -651,14 +657,13 @@ public class Datasource extends OafEntity implements Serializable {
: datauploadrestriction;
versioning = d.getVersioning() != null && compareTrust(this, e) < 0 ? d.getVersioning() : versioning;
versioncontrol = d.getVersioncontrol() != null && compareTrust(this, e) < 0
? d.getVersioncontrol()
: versioncontrol;
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
@ -669,6 +674,10 @@ public class Datasource extends OafEntity implements Serializable {
journal = d.getJournal() != null && compareTrust(this, e) < 0 ? d.getJournal() : journal;
researchentitytypes = d.getResearchentitytypes() != null && compareTrust(this, e) < 0
? d.getResearchentitytypes()
: researchentitytypes;
researchentitytypes = mergeLists(researchentitytypes, d.getResearchentitytypes());;
providedproducttypes = mergeLists(providedproducttypes, d.getProvidedproducttypes());;
@ -687,6 +696,15 @@ public class Datasource extends OafEntity implements Serializable {
contentpolicies = mergeLists(contentpolicies, d.getContentpolicies());;
submissionpolicyurl = d.getSubmissionpolicyurl() != null && compareTrust(this, e) < 0
? d.getSubmissionpolicyurl()
: submissionpolicyurl;
preservationpolicyurl = d.getPreservationpolicyurl() != null && compareTrust(this, e) < 0
? d.getPreservationpolicyurl()
: preservationpolicyurl;
researchproductaccesspolicies = mergeLists(researchproductaccesspolicies, d.getResearchproductaccesspolicies());
researchproductmetadataaccesspolicies = mergeLists(researchproductmetadataaccesspolicies, d.getResearchproductmetadataaccesspolicies());
mergeOAFDataInfo(e);
}