Skip to content
Snippets Groups Projects
Commit e588b551 authored by mbrodhu's avatar mbrodhu
Browse files

added version and size to openaire

parent 9f9f8f40
No related branches found
No related tags found
No related merge requests found
...@@ -49,8 +49,12 @@ import info.textgrid.middleware.oaipmh.Resource.ResourceType; ...@@ -49,8 +49,12 @@ import info.textgrid.middleware.oaipmh.Resource.ResourceType;
import info.textgrid.middleware.oaipmh.Resource.RightsList; import info.textgrid.middleware.oaipmh.Resource.RightsList;
import info.textgrid.middleware.oaipmh.Resource.RightsList.Rights; import info.textgrid.middleware.oaipmh.Resource.RightsList.Rights;
import info.textgrid.middleware.oaipmh.Resource.Sizes;
import info.textgrid.middleware.oaipmh.Resource.Subjects;
import info.textgrid.middleware.oaipmh.Resource.Subjects.Subject;
import info.textgrid.middleware.oaipmh.Resource.Titles; import info.textgrid.middleware.oaipmh.Resource.Titles;
import info.textgrid.middleware.oaipmh.Resource.Titles.Title; 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.namespaces.middleware.tgcrud.common.TextGridMimetypes;
//import info.textgrid.middleware.oaipmh.ResourceType; //import info.textgrid.middleware.oaipmh.ResourceType;
...@@ -89,10 +93,13 @@ public class OpenAireRecord extends RecordDelivererAbstract { ...@@ -89,10 +93,13 @@ public class OpenAireRecord extends RecordDelivererAbstract {
private String[] relatedIdentifierFields; private String[] relatedIdentifierFields;
private String[] workFields; private String[] workFields;
private String[] geoLocationFields; private String[] geoLocationFields;
private String[] versionFields;
private String[] subjectFields;
private String relationToWorkObject; private String relationToWorkObject;
private String identifierField; private String identifierField;
private String formatField; private String formatField;
private String handle; private String handle;
private String sizeField;
//Contains the setting to get connection to the ElasticSearch index. The content will be given by a configuration file //Contains the setting to get connection to the ElasticSearch index. The content will be given by a configuration file
private OAI_ESClient oaiEsClient; private OAI_ESClient oaiEsClient;
...@@ -132,8 +139,10 @@ public class OpenAireRecord extends RecordDelivererAbstract { ...@@ -132,8 +139,10 @@ public class OpenAireRecord extends RecordDelivererAbstract {
this.setDescriptionFields(OAIPMHUtilities.fetchArrayFromPropFile("oar.descriptionFields", prop)[0]); this.setDescriptionFields(OAIPMHUtilities.fetchArrayFromPropFile("oar.descriptionFields", prop)[0]);
this.setRelationToWorkObject(prop.getProperty("oar.relationToWorkObject")); this.setRelationToWorkObject(prop.getProperty("oar.relationToWorkObject"));
this.setRelatedIdentifierFields(OAIPMHUtilities.fetchArrayFromPropFile("oar.relatedIdentifierFields", prop)[0]); this.setRelatedIdentifierFields(OAIPMHUtilities.fetchArrayFromPropFile("oar.relatedIdentifierFields", prop)[0]);
this.setGeoLocationFields(OAIPMHUtilities.fetchArrayFromPropFile("oar.geoLocationFields", prop)[0]); this.setGeoLocationFields(OAIPMHUtilities.fetchArrayFromPropFile("oar.geoLocationFields", prop)[0]);
this.setVersionFields(OAIPMHUtilities.fetchArrayFromPropFile("oar.versionFields", prop)[0]);
this.setSubjectFields(OAIPMHUtilities.fetchArrayFromPropFile("oar.subjectFields", prop)[0]);
this.setSizeField(prop.getProperty("oar.sizeField"));
} }
/** /**
...@@ -215,11 +224,48 @@ public class OpenAireRecord extends RecordDelivererAbstract { ...@@ -215,11 +224,48 @@ public class OpenAireRecord extends RecordDelivererAbstract {
resource.setCreators(this.addCreators()); resource.setCreators(this.addCreators());
resource.setGeoLocations(this.addGeoLocation()); resource.setGeoLocations(this.addGeoLocation());
resource.setResourceType(this.addResourceType()); resource.setResourceType(this.addResourceType());
resource.setVersion(this.addVersion());
//resource.setSubjects(this.addSubjects()); //TODO what if subjects == null?
resource.setSizes(this.addSize());
return resource; return resource;
} }
private Sizes addSize() {
Sizes sizes = new Sizes();
sizes.getSize().add(OAIPMHUtilities.fieldLoader(jsonObj, sizeField) + " Bytes");
return sizes;
}
private Subjects addSubjects() {
Subjects subjects = new Subjects();
for(String subjectField : subjectFields) {
Subject subject = new Subject();
subject.setValue(OAIPMHUtilities.fieldLoader(jsonObj, subjectField + ".value"));
subject.setSchemeURI(OAIPMHUtilities.fieldLoader(jsonObj, subjectField + ".id.type"));
subject.setSubjectScheme(OAIPMHUtilities.fieldLoader(jsonObj, subjectField + ".id.value"));
subjects.getSubject().add(subject);
}
if(subjects.getSubject().get(0)!=null) {
return subjects;
}else {
return null;
}
}
private String addVersion() {
String version = "";
for(String versionField : versionFields) {
version = OAIPMHUtilities.fieldLoader(jsonObj, versionField);
}
return version;
}
private ResourceType addResourceType() { private ResourceType addResourceType() {
ResourceType resourceType = new ResourceType(); ResourceType resourceType = new ResourceType();
...@@ -428,6 +474,7 @@ public class OpenAireRecord extends RecordDelivererAbstract { ...@@ -428,6 +474,7 @@ public class OpenAireRecord extends RecordDelivererAbstract {
Title tileInOpenAireRecord = new Title(); Title tileInOpenAireRecord = new Title();
tileInOpenAireRecord.setValue(OAIPMHUtilities.fieldLoader(jsonObj, titleField)); tileInOpenAireRecord.setValue(OAIPMHUtilities.fieldLoader(jsonObj, titleField));
tileInOpenAireRecord.setTitleType(TitleType.OTHER);
titles.getTitle().add(tileInOpenAireRecord); titles.getTitle().add(tileInOpenAireRecord);
} }
...@@ -614,6 +661,30 @@ public class OpenAireRecord extends RecordDelivererAbstract { ...@@ -614,6 +661,30 @@ public class OpenAireRecord extends RecordDelivererAbstract {
this.handle = handle; this.handle = handle;
} }
public String[] getVersionFields() {
return versionFields;
}
public void setVersionFields(String[] versionFields) {
this.versionFields = versionFields;
}
public String[] getSubjectFields() {
return subjectFields;
}
public void setSubjectFields(String[] subjectFields) {
this.subjectFields = subjectFields;
}
public String getSizeField() {
return sizeField;
}
public void setSizeField(String size) {
this.sizeField = size;
}
} }
\ No newline at end of file
...@@ -120,6 +120,9 @@ ...@@ -120,6 +120,9 @@
<property name="identifierField" value="${identifierField}" /> <property name="identifierField" value="${identifierField}" />
<property name="geoLocationFields" value="${oar.geoLocationFields}"/> <property name="geoLocationFields" value="${oar.geoLocationFields}"/>
<property name="handle" value="${oar.handle}"/> <property name="handle" value="${oar.handle}"/>
<property name="versionFields" value="${oar.versionFields}"/>
<property name="subjectFields" value="${oar.subjectFields}"/>
<property name="sizeField" value="${oar.sizeField}"/>
</bean> </bean>
<bean id="AbstractRecordList" abstract="true" <bean id="AbstractRecordList" abstract="true"
......
...@@ -37,7 +37,7 @@ AdminMail = support@de.dariah.eu ...@@ -37,7 +37,7 @@ AdminMail = support@de.dariah.eu
## Field Settings ## ## Field Settings ##
###################### ######################
fields = edition.source.bibliographicCitation,edition.license,created,issued,format,identifier,dataContributor,textgridUri,project,project.id,relations.isDerivedFrom,title,pid.value,edition.isEditionOf,edition.agent.value,edition.license.licenseUri,edition.language,edition.source.bibliographicCitation.author.value,edition.source.bibliographicCitation.editor.value,edition.source.bibliographicCitation.editionTitle,edition.source.bibliographicCitation.placeOfPublication.value,edition.source.bibliographicCitation.publisher.value,edition.source.bibliographicCitation.editionNo,edition.source.bibliographicCitation.series,edition.source.bibliographicCitation.volume,edition.source.bibliographicCitation.issue,edition.source.bibliographicCitation.epage,edition.source.bibliographicCitation.spage,edition.source.bibliographicCitation.bibidentifier,work.abstract,work.genre,work.type,work.spatial.value,work.temporal.value,work.agent.value,work.subject.id.value,lastModified fields = revision,edition.source.bibliographicCitation,edition.license,created,issued,format,identifier,dataContributor,textgridUri,project,project.id,relations.isDerivedFrom,title,pid.value,edition.isEditionOf,edition.agent.value,edition.license.licenseUri,edition.language,edition.source.bibliographicCitation.author.value,edition.source.bibliographicCitation.editor.value,edition.source.bibliographicCitation.editionTitle,edition.source.bibliographicCitation.placeOfPublication.value,edition.source.bibliographicCitation.publisher.value,edition.source.bibliographicCitation.editionNo,edition.source.bibliographicCitation.series,edition.source.bibliographicCitation.volume,edition.source.bibliographicCitation.issue,edition.source.bibliographicCitation.epage,edition.source.bibliographicCitation.spage,edition.source.bibliographicCitation.bibidentifier,work.abstract,work.genre,work.type,work.spatial.value,work.temporal.value,work.agent.value,work.subject.id.value,lastModified
workFields = created,work.abstract,relations.isDerivedFrom,textgridUri,work.genre,title,work.type,work.spatial.value,work.temporal.spatial,work.agent.value,work.subject.id.value workFields = created,work.abstract,relations.isDerivedFrom,textgridUri,work.genre,title,work.type,work.spatial.value,work.temporal.spatial,work.agent.value,work.subject.id.value
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment