diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDatacite.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDatacite.java index 9c38f3276ff06f12499b38d0f40564ee0d2582dc..4268d0a3dd16038b73035ba7350bae2b89f5aa65 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDatacite.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDatacite.java @@ -578,33 +578,34 @@ public class RecordDelivererDatacite extends RecordDelivererAbstract { OaipmhUtilities.firstEnrtryFieldLoader(this.jsonObj, rightsField + DOT_VALUE)); rightsResultList.getRights().add(rights); } - // TODO Check open access right here! - if (rightsResultList.getRights().get(0).getValue() != null) { - Rights openAccesRight = new Rights(); - openAccesRight.setRightsURI(EU_OPEN_ACCESS); - rightsResultList.getRights().add(openAccesRight); - } // ** // DARIAH // ** else if (this.dariah) { - Rights rights = new Rights(); List<String> rList = OaipmhUtilities.listFieldLoader(this.jsonObj, rightsField); for (String r : rList) { + Rights rights = new Rights(); // Set rights URI assuming every "http://" or "https://" really IS an URI. if (r.startsWith("http")) { rights.setRightsURI(r); } // Set value in every case, even if doubled with URI. rights.setValue(r); - } - rightsResultList.getRights().add(rights); + rightsResultList.getRights().add(rights); + } } } + // Set mandatory if applicable OpenAIRE rights tag! + if (rightsResultList.getRights().get(0).getValue() != null) { + Rights openAccesRight = new Rights(); + openAccesRight.setRightsURI(EU_OPEN_ACCESS); + rightsResultList.getRights().add(openAccesRight); + } + return rightsResultList; }