diff --git a/oaipmh-core/pom.xml b/oaipmh-core/pom.xml index 5dc0f5f991a7daf85c772e40f3a257132e360922..58027f6bef011e865d3547aaf84d85aa32af35b3 100644 --- a/oaipmh-core/pom.xml +++ b/oaipmh-core/pom.xml @@ -113,6 +113,13 @@ <artifactId>json</artifactId> <version>20190722</version> </dependency> +<!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream --> +<dependency> + <groupId>com.thoughtworks.xstream</groupId> + <artifactId>xstream</artifactId> + <version>1.4.12</version> +</dependency> + </dependencies> <build> diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java index 9b83735326f39e34041d2902841627024cc37134..79230ae372b44a9dd3f44d56cf44872ca9697321 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java @@ -19,7 +19,6 @@ import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.fetch.subphase.FetchSourceContext; -import info.textgrid.middleware.oaipmh.ContributorType; import info.textgrid.middleware.oaipmh.HeaderType; import info.textgrid.middleware.oaipmh.ListIdentifiersType; import info.textgrid.middleware.oaipmh.ResumptionTokenType; diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecord.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecord.java new file mode 100644 index 0000000000000000000000000000000000000000..f4888410fd6852931b3844938fe109cf1592b882 --- /dev/null +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OpenAireRecord.java @@ -0,0 +1,23 @@ +package info.textgrid.middleware; + +import info.textgrid.middleware.oaipmh.GetRecordType; + +public class OpenAireRecord extends RecordDelivererAbstract { + + public OpenAireRecord(boolean textgrid, boolean dariah) { + super(textgrid, dariah); + } + + /** + * building the record XML object for the OAI-PMH response + */ + public GetRecordType getRecordById(String id) { + + GetRecordType grt = new GetRecordType(); + + + + return grt; + } + +} diff --git a/oaipmh-core/src/main/resources/bindings.xjb b/oaipmh-core/src/main/resources/bindings.xjb index db31f0775052acfda09a2607a57c4567b33eb1ba..85ac814b6528dd3ec6e25e7356445f12a0e49f74 100644 --- a/oaipmh-core/src/main/resources/bindings.xjb +++ b/oaipmh-core/src/main/resources/bindings.xjb @@ -3,6 +3,7 @@ xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix" xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb https://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd http://jaxb2-commons.dev.java.net/namespace-prefix https://raw.githubusercontent.com/Siggen/jaxb2-namespace-prefix/master/src/main/resources/prefix-namespace-schema.xsd"> @@ -32,58 +33,33 @@ </jxb:schemaBindings> </jxb:bindings> + + + <!-- MIT DIESEM HIER EINKOMMENTIERT, benennt er die Klassen um, scheint sie aber irgendwo NOCHMAL zu definieren?? --> - <jxb:bindings schemaLocation="oaf-common-1.0.xsd"> - <jxb:schemaBindings> - <jxb:package - name="info.textgrid.middleware.oaipmh.oaf.common" /> - </jxb:schemaBindings> - <jxb:bindings node="//xs:attribute[@name='classname']"> - <jxb:property name="OAFClassnameProperty" /> - </jxb:bindings> - <jxb:bindings node="//xs:attribute[@name='classid']"> - <jxb:property name="OAFClassidProperty" /> - </jxb:bindings> - <jxb:bindings node="//xs:attribute[@name='schemeid']"> - <jxb:property name="OAFSchemeidProperty" /> - </jxb:bindings> - <jxb:bindings node="//xs:attribute[@name='schemename']"> - <jxb:property name="OAFSchemenameProperty" /> + + <jxb:bindings schemaLocation="oaf-common-1.0.xsd" multiple="true" node="/xs:schema"> + <jxb:schemaBindings> + <jxb:package name="info.textgrid.middleware.oaipmh.oaf.common" /> + </jxb:schemaBindings> + <jxb:bindings node="//xs:attribute[@name='classname']" multiple="true" > + <jxb:property name="OAFClassnameProperty" /> + </jxb:bindings> + <jxb:bindings node="//xs:attribute[@name='classid']" multiple="true" > + <jxb:property name="OAFClassidProperty" /> + </jxb:bindings> + <jxb:bindings node="//xs:attribute[@name='schemeid']" multiple="true" > + <jxb:property name="OAFSchemeidProperty" /> + </jxb:bindings> + <jxb:bindings node="//xs:attribute[@name='schemename']" multiple="true" > + <jxb:property name="OAFSchemenameProperty" /> + </jxb:bindings> + </jxb:bindings> - </jxb:bindings> + + + -<!-- - <jxb:bindings schemaLocation="oaf-org-1.0.xsd"> - <jxb:schemaBindings> - <jxb:package - name="info.textgrid.middleware.oaipmh.oaf.org" /> - </jxb:schemaBindings> - </jxb:bindings> - <jxb:bindings schemaLocation="oaf-1.0.xsd"> - <jxb:schemaBindings> - <jxb:package - name="info.textgrid.middleware.oaipmh.oaf.oaf" /> - </jxb:schemaBindings> - </jxb:bindings> - <jxb:bindings schemaLocation="oaf-datasource-1.0.xsd"> - <jxb:schemaBindings> - <jxb:package - name="info.textgrid.middleware.oaipmh.oaf.datasource" /> - </jxb:schemaBindings> - </jxb:bindings> - <jxb:bindings schemaLocation="oaf-project-1.0.xsd"> - <jxb:schemaBindings> - <jxb:package - name="info.textgrid.middleware.oaipmh.oaf.project" /> - </jxb:schemaBindings> - </jxb:bindings> - <jxb:bindings schemaLocation="oaf-result-1.0.xsd"> - <jxb:schemaBindings> - <jxb:package - name="info.textgrid.middleware.oaipmh.oaf.result" /> - </jxb:schemaBindings> - </jxb:bindings> ---> </jxb:bindings> diff --git a/oaipmh-core/src/main/resources/oaf-common-1.0.xsd b/oaipmh-core/src/main/resources/oaf-common-1.0.xsd index 8c52e22a3732c42d8f782bb065f7acfd7e525e0a..b3ffcbbedd1cc20a5401229dbbb30c20d68f5ee6 100644 --- a/oaipmh-core/src/main/resources/oaf-common-1.0.xsd +++ b/oaipmh-core/src/main/resources/oaf-common-1.0.xsd @@ -48,6 +48,13 @@ <xs:attribute name="schemename" use="required" type="xs:string"/> </xs:attributeGroup> + <xs:attributeGroup name="qualifierAttributeGroupAlternative"> + <xs:attribute name="classid_alt" use="required" type="xs:string"/> + <xs:attribute name="classname_alt" use="required" type="xs:string"/> + <xs:attribute name="schemeid_alt" use="required" type="xs:string"/> + <xs:attribute name="schemename_alt" use="required" type="xs:string"/> + </xs:attributeGroup> + <xs:complexType name="fieldType"> <xs:simpleContent> <xs:extension base="xs:string"> @@ -67,7 +74,7 @@ <xs:complexType name="structuredPropertyElementType"> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attributeGroup ref="qualifierAttributeGroup"/> + <xs:attributeGroup ref="qualifierAttributeGroupAlternative"/> <xs:attributeGroup ref="dataInfoAttributeGroup"/> </xs:extension> </xs:simpleContent>