diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java index c29c57dc4cc30f83129f2a99268c35db3e0de8cd..3d4686bec20eef592c1ec262e8153eefb9af79b5 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OAIPMHImpl.java @@ -144,8 +144,7 @@ public class OAIPMHImpl implements OAIPMHProducer { String set, String from, String until, String resumptionToken) { String result = ""; - System.out.println("CONSTRUCTOR FROM: " + from); - System.out.println("CONSTRUCTOR UNTIL: " + until); + try { result = getStringFromJAXBOAIElement(verb, handleRequest( diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecord.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecord.java index ff5a34733a5da1079f45e9ef8ed9a3c3b494e500..e01921d9b7cf956023ab2cd4c928356c00367ff4 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecord.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecord.java @@ -55,7 +55,7 @@ import info.textgrid.middleware.oaipmh.Resource.Subjects.Subject; import info.textgrid.middleware.oaipmh.Resource.Titles; import info.textgrid.middleware.oaipmh.Resource.Titles.Title; import info.textgrid.middleware.oaipmh.TitleType; -import info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes; + //import info.textgrid.middleware.oaipmh.ResourceType; @@ -222,10 +222,14 @@ public class OpenAireRecord extends RecordDelivererAbstract { resource.setRelatedIdentifiers(this.addRelatedIdentifiers()); resource.setIdentifier(this.addIdentifier()); resource.setCreators(this.addCreators()); - resource.setGeoLocations(this.addGeoLocation()); + this.addGeoLocation(); resource.setResourceType(this.addResourceType()); resource.setVersion(this.addVersion()); - //resource.setSubjects(this.addSubjects()); //TODO what if subjects == null? + + if(addSubjects().getSubject().get(0).getValue()!=null) { + resource.setSubjects(this.addSubjects()); //TODO what if subjects == null? + } + resource.setSizes(this.addSize()); @@ -275,15 +279,17 @@ public class OpenAireRecord extends RecordDelivererAbstract { return resourceType; } - private GeoLocations addGeoLocation() { + private void addGeoLocation() { GeoLocations geoLocations = new GeoLocations(); for(String geoLocationField : geoLocationFields) { GeoLocation geoLocation = new GeoLocation(); geoLocation.setGeoLocationPlace(OAIPMHUtilities.fieldLoader(jsonObj, geoLocationField + ".value")); geoLocations.getGeoLocation().add(geoLocation); } - - return geoLocations; + if(geoLocations.getGeoLocation().get(0).getGeoLocationPlace()!=null) { + resource.setGeoLocations(geoLocations); + } + //return geoLocations; } private RelatedIdentifiers addRelatedIdentifiers() { @@ -334,9 +340,12 @@ public class OpenAireRecord extends RecordDelivererAbstract { rights.setValue(OAIPMHUtilities.fieldLoader(jsonObj, rightsField + ".value")); rightsList.getRights().add(rights); } - Rights openAccesRight = new Rights(); - openAccesRight.setRightsURI("info:eu-repo/semantics/openAccess"); - rightsList.getRights().add(openAccesRight); + if(rightsList.getRights().get(0).getValue()!=null) { + Rights openAccesRight = new Rights(); + openAccesRight.setRightsURI("info:eu-repo/semantics/openAccess"); + rightsList.getRights().add(openAccesRight); + } + return rightsList; } @@ -381,11 +390,17 @@ public class OpenAireRecord extends RecordDelivererAbstract { info.textgrid.middleware.oaipmh.Resource.Contributors.Contributor.NameIdentifier name = new info.textgrid.middleware.oaipmh.Resource.Contributors.Contributor.NameIdentifier(); name.setNameIdentifierScheme("textgrid"); name.setValue(OAIPMHUtilities.fieldLoader(jsonObj, contributorField + ".id")); + name.setSchemeURI("http://www.textgridlab.org/schema/textgrid-metadata_2010.xsd"); contributorInOpenAireRecord.setNameIdentifier(name); }else { contributorInOpenAireRecord.setContributorName(OAIPMHUtilities.fieldLoader(jsonObj, contributorField)); contributorInOpenAireRecord.setContributorType(ContributorType.DATA_MANAGER); + /*info.textgrid.middleware.oaipmh.Resource.Contributors.Contributor.NameIdentifier name = new info.textgrid.middleware.oaipmh.Resource.Contributors.Contributor.NameIdentifier(); + name.setNameIdentifierScheme("textgrid"); + name.setValue(""); + name.setSchemeURI("http://www.textgridlab.org/schema/textgrid-metadata_2010.xsd"); + contributorInOpenAireRecord.setNameIdentifier(name);*/ } contributors.getContributor().add(contributorInOpenAireRecord); } @@ -457,11 +472,12 @@ public class OpenAireRecord extends RecordDelivererAbstract { /* * TODO Check if the scheme URI is correct */ - nameIdentifier.setSchemeURI("https://de.dariah.eu/pnd-service"); + nameIdentifier.setSchemeURI("https://ref.de.dariah.eu/pndsearch/pndquery.xql?id="); }else { nameIdentifier.setValue(creatorID); } creator.setNameIdentifier(nameIdentifier); + nameIdentifier.setSchemeURI("https://ref.de.dariah.eu/pndsearch/pndquery.xql?id="); creators.getCreator().add(creator); return creators;