diff --git a/README.md b/README.md index 27e3c595cd712ed4c9d42fc78fad84d75179f7b2..cb0c8644230441befdd149863212a46d41325852 100644 --- a/README.md +++ b/README.md @@ -42,11 +42,18 @@ Or you can use a DEB file from the DARIAH-DE [APTLY Repository](https://ci.de.da The service is deployed just by installing the appropriate DEB package. -# Releasing a new version +## Releasing a new version For releasing a new version of DARIAH-DE OAI-PMH, please have a look at the [DARIAH-DE Release Management Page](https://wiki.de.dariah.eu/display/DARIAH3/DARIAH-DE+Release+Management#DARIAHDEReleaseManagement-Gitlabflow/Gitflow(develop,main,featurebranchesundtags)) or see the [Gitlab CI file](.gitlab-ci.yml). +## JUNIT Online Testing + +* Choose one of the existing properties files from */oaipmh-core/src/test/resources* to test TextGrid or DARIAH-DE prod, test, or dev OAI-PMH service. +* Put the filename and path in class */oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java* or */oaipmh-core/src/test/java/info/textgrid/middleware/test/online/dh/TestDHOaipmhOnline.java*. +* **Un-ignore** all the JUNIT test classes in all the test class header in *info.textgrid.middleware.test.online.dh* or *info.textgrid.middleware.test.online.tg*. +* Store the files and run the tests via Eclipse, or mvn command line. + ## Links and References * [OAI-PMH Service Gitlab page](https://gitlab.gwdg.de/dariah-de/dariah-de-oai-pmh-services) 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 8c9bc7b1503baf26c7ac47b93d6df36c753f88ad..754bf6e8c53874fc5e049216d0029ef1b50b5f26 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhImpl.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhImpl.java @@ -78,7 +78,7 @@ public class OaipmhImpl implements OaipmhProducer { private IdentifierListDelivererIdiom identifierListIDIOM; private IdentifierListDelivererDatacite identifierListDATACITE; - private IdiomImages idiomImages; + // private IdiomImages idiomImages; // ** // PUBLIC @@ -113,8 +113,9 @@ public class OaipmhImpl implements OaipmhProducer { SetListDeliverer setList, // 8 IdentifierListDelivererDC identifierList, // 9 IdentifierListDelivererIdiom identifierListIDIOM, // 10 - IdentifierListDelivererDatacite identifierListDATACITE, // 11 - IdiomImages imageList) { + IdentifierListDelivererDatacite identifierListDATACITE // 11 + // IdiomImages imageList + ) { this.rep = rep; @@ -133,7 +134,7 @@ public class OaipmhImpl implements OaipmhProducer { this.identifierListIDIOM = identifierListIDIOM; this.identifierListDATACITE = identifierListDATACITE; - this.idiomImages = imageList; + // this.idiomImages = imageList; } /* @@ -366,7 +367,7 @@ public class OaipmhImpl implements OaipmhProducer { IdentifierListDelivererInterface idListDeliv = null; - // If metadataFormat IS SET, set recordListDeliverer accordingly. + // If metadataFormat IS SET, set list deliverer accordingly. if (request.getMetadataPrefix() != null) { if (request.getMetadataPrefix().equals(OaipmhUtilities.OAIDC_PREFIX)) { idListDeliv = this.identifierListDC; @@ -397,16 +398,16 @@ public class OaipmhImpl implements OaipmhProducer { .containsKey(request.getResumptionToken())) { idListDeliv = this.identifierListDATACITE; } - // Token is from IDIOMImages request. - else if (IdiomImages.getCursorCollector() != null - && IdiomImages.getCursorCollector().containsKey(request.getResumptionToken())) { - // TODO Make configurable in config file?? - this.idiomImages.setKindID("1"); - this.idiomImages.setPerPage("100"); - this.idiomImages.setPageNumber( - Integer.toString(IdiomImages.getCursorCollector().get(request.getResumptionToken()))); - idListDeliv = this.idiomImages; - } + // // Token is from IDIOMImages request. + // else if (IdiomImages.getCursorCollector() != null + // && IdiomImages.getCursorCollector().containsKey(request.getResumptionToken())) { + // // TODO Make configurable in config file?? + // this.idiomImages.setKindID("1"); + // this.idiomImages.setPerPage("100"); + // this.idiomImages.setPageNumber( + // Integer.toString(IdiomImages.getCursorCollector().get(request.getResumptionToken()))); + // idListDeliv = this.idiomImages; + // } // We have got an invalid resumptionToken here! else { ErrorHandler e = new ErrorHandler(); @@ -557,7 +558,7 @@ public class OaipmhImpl implements OaipmhProducer { RecordListDelivererInterface recListDeliv = null; - // If metadataFormat IS SET, set recordListDeliverer accordingly. + // If metadataFormat IS SET, set list deliverer accordingly. if (request.getMetadataPrefix() != null) { if (request.getMetadataPrefix().equals(OaipmhUtilities.OAIDC_PREFIX)) { recListDeliv = this.recordListDC; @@ -596,16 +597,16 @@ public class OaipmhImpl implements OaipmhProducer { .containsKey(request.getResumptionToken())) { recListDeliv = this.recordListDATACITE; } - // Token is from IDIOMImages request. - else if (IdiomImages.getCursorCollector() != null - && IdiomImages.getCursorCollector().containsKey(request.getResumptionToken())) { - // TODO Make configurable in config file?? - this.idiomImages.setKindID("1"); - this.idiomImages.setPerPage("100"); - this.idiomImages.setPageNumber( - Integer.toString(IdiomImages.getCursorCollector().get(request.getResumptionToken()))); - recListDeliv = this.idiomImages; - } + // // Token is from IDIOMImages request. + // else if (IdiomImages.getCursorCollector() != null + // && IdiomImages.getCursorCollector().containsKey(request.getResumptionToken())) { + // // TODO Make configurable in config file?? + // this.idiomImages.setKindID("1"); + // this.idiomImages.setPerPage("100"); + // this.idiomImages.setPageNumber( + // Integer.toString(IdiomImages.getCursorCollector().get(request.getResumptionToken()))); + // recListDeliv = this.idiomImages; + // } // We have got an invalid resumptionToken here! else { ErrorHandler e = new ErrorHandler(); diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestDHOaipmhLocally.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestDHOaipmhLocally.java index a77e5d10ba363410846b8e8a9c7776e3f0a0cedd..e1c37543f14cb25ca4ac0680c4632efb4486d051 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestDHOaipmhLocally.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestDHOaipmhLocally.java @@ -4,11 +4,8 @@ import java.text.ParseException; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; -import info.textgrid.middleware.oaipmh.DeletedRecordType; -import info.textgrid.middleware.oaipmh.GranularityType; -import info.textgrid.middleware.IdiomImages; -import info.textgrid.middleware.IdentifierListDelivererDatacite; import info.textgrid.middleware.IdentifierListDelivererDC; +import info.textgrid.middleware.IdentifierListDelivererDatacite; import info.textgrid.middleware.IdentifierListDelivererIdiom; import info.textgrid.middleware.MetadataFormatListDelivererDH; import info.textgrid.middleware.MetadataFormatListDelivererInterface; @@ -16,15 +13,17 @@ import info.textgrid.middleware.OaipmhConstants; import info.textgrid.middleware.OaipmhElasticSearchClient; import info.textgrid.middleware.OaipmhImpl; import info.textgrid.middleware.OaipmhUtilities; -import info.textgrid.middleware.RecordDelivererDatacite; import info.textgrid.middleware.RecordDelivererDC; +import info.textgrid.middleware.RecordDelivererDatacite; import info.textgrid.middleware.RecordDelivererIdiom; -import info.textgrid.middleware.RecordListDelivererDatacite; import info.textgrid.middleware.RecordListDelivererDC; +import info.textgrid.middleware.RecordListDelivererDatacite; import info.textgrid.middleware.RecordListDelivererIdiom; import info.textgrid.middleware.RepIdentification; import info.textgrid.middleware.SetListDeliverer; import info.textgrid.middleware.common.TextGridMimetypes; +import info.textgrid.middleware.oaipmh.DeletedRecordType; +import info.textgrid.middleware.oaipmh.GranularityType; /** * FIXME: Add documentation how to use this class, use SSH tunnel? @@ -47,7 +46,7 @@ public class TestDHOaipmhLocally { private static RecordListDelivererDatacite recordListDATACITE; // private static OpenAireIdentifierList openAireIdentifierList; private static IdentifierListDelivererDatacite identifierListDATACITE; - private static IdiomImages idiomImages; + // private static IdiomImages idiomImages; private DeletedRecordType deletedRecordType = DeletedRecordType.NO; private GranularityType granularityType = GranularityType.YYYY_MM_DD_THH_MM_SS_Z; private RepIdentification rep = new RepIdentification("DARIAH-DE Repository", @@ -75,8 +74,9 @@ public class TestDHOaipmhLocally { TestDHOaipmhLocally.identifierList, TestDHOaipmhLocally.identifierListIDIOM, // OaiPmhTestDH.openAireIdentifierList); - TestDHOaipmhLocally.identifierListDATACITE, - TestDHOaipmhLocally.idiomImages); + TestDHOaipmhLocally.identifierListDATACITE + // TestDHOaipmhLocally.idiomImages + ); OaipmhUtilities settings = new OaipmhUtilities(); diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestTGOaipmhLocally.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestTGOaipmhLocally.java index 23f25f5958dccbeaf5d5afad72f8d1864644fec0..34ce8bff62544c6d358b81c6ee22de7b43b95f4b 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestTGOaipmhLocally.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestTGOaipmhLocally.java @@ -13,25 +13,25 @@ import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import info.textgrid.middleware.DublinCoreBuilder; -import info.textgrid.middleware.IdiomImages; -import info.textgrid.middleware.IdentifierListDelivererDatacite; import info.textgrid.middleware.IdentifierListDelivererDC; +import info.textgrid.middleware.IdentifierListDelivererDatacite; import info.textgrid.middleware.IdentifierListDelivererIdiom; +import info.textgrid.middleware.IdiomImages; import info.textgrid.middleware.MetadataFormatListDelivererInterface; import info.textgrid.middleware.MetadataFormatListDelivererTG; import info.textgrid.middleware.OaipmhConstants; import info.textgrid.middleware.OaipmhElasticSearchClient; import info.textgrid.middleware.OaipmhImpl; +import info.textgrid.middleware.OaipmhTGConstants; import info.textgrid.middleware.OaipmhUtilities; -import info.textgrid.middleware.RecordDelivererDatacite; import info.textgrid.middleware.RecordDelivererDC; +import info.textgrid.middleware.RecordDelivererDatacite; import info.textgrid.middleware.RecordDelivererIdiom; -import info.textgrid.middleware.RecordListDelivererDatacite; import info.textgrid.middleware.RecordListDelivererDC; +import info.textgrid.middleware.RecordListDelivererDatacite; import info.textgrid.middleware.RecordListDelivererIdiom; import info.textgrid.middleware.RepIdentification; import info.textgrid.middleware.SetListDeliverer; -import info.textgrid.middleware.OaipmhTGConstants; import info.textgrid.middleware.common.TextGridMimetypes; import info.textgrid.middleware.oaipmh.DeletedRecordType; import info.textgrid.middleware.oaipmh.GranularityType; @@ -87,8 +87,9 @@ public class TestTGOaipmhLocally { TestTGOaipmhLocally.setListTextGrid, TestTGOaipmhLocally.identifierList, TestTGOaipmhLocally.identifierListIDIOM, - TestTGOaipmhLocally.identifierListDATACITE, - TestTGOaipmhLocally.idiomImages); + TestTGOaipmhLocally.identifierListDATACITE + // TestTGOaipmhLocally.idiomImages + ); OaipmhUtilities settings = new OaipmhUtilities(); diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java index 80f25464dfbdde006265ae7fdf09fea3da14bcfe..cec44700696606c03705de0a6746f5f7e78f0d65 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java @@ -48,8 +48,8 @@ public class OaipmhUtilitiesOnline { // ## CHANGE SETTINGS BELOW FOR SETTING TEST SCOPE --------------------------------------------- - // public static final String PROPERTIES_FILE = "oaipmh.test.textgridlab-org.properties"; - public static final String PROPERTIES_FILE = "oaipmh.test.dev-textgridlab-org.properties"; + public static final String PROPERTIES_FILE = "oaipmh.test.textgridlab-org.properties"; + // public static final String PROPERTIES_FILE = "oaipmh.test.dev-textgridlab-org.properties"; public static final boolean TEST_ALL_PAGES = false; // public static final boolean TEST_ALL_PAGES = true; diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/dh/TestDHOaipmhOnline.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/dh/TestDHOaipmhOnline.java index c9c2eb7ae2b9818d53bb7f21a07a2747e7ae3f02..4611d5510ea81cc3a90755547bbfb01aefee6608 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/dh/TestDHOaipmhOnline.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/dh/TestDHOaipmhOnline.java @@ -50,8 +50,8 @@ public class TestDHOaipmhOnline { private static String checkGetRecordDC; private static String expectedGetRecordDC; - private static String checkGetRecordDATACITE; - private static String expectedGetRecordDATACITE; + private static String checkGetRecordDatacite; + private static String expectedGetRecordDatacite; private static String checkListRecordsDCSet; private static Integer checkListRecordsDCSetExpectedPages; @@ -59,8 +59,8 @@ public class TestDHOaipmhOnline { private static String checkListRecordsDCFrom; private static String checkListRecordsDCUntil; - private static String checkListRecordsDATACITEFrom; - private static String checkListRecordsDATACITEUntil; + private static String checkListRecordsDataciteFrom; + private static String checkListRecordsDataciteUntil; private static String checkListIdentifiersSet; private static Integer checkListIdentifiersSetExpectedPages; @@ -90,8 +90,8 @@ public class TestDHOaipmhOnline { checkGetRecordDC = p.getProperty("checkGetRecordDC"); expectedGetRecordDC = p.getProperty("expectedGetRecordDC"); - checkGetRecordDATACITE = p.getProperty("checkGetRecordDATACITE"); - expectedGetRecordDATACITE = p.getProperty("expectedGetRecordDATACITE"); + checkGetRecordDatacite = p.getProperty("checkGetRecordDatacite"); + expectedGetRecordDatacite = p.getProperty("expectedGetRecordDatacite"); checkListRecordsDCSet = p.getProperty("checkListRecordsDCSet"); checkListRecordsDCSetExpectedPages = @@ -100,8 +100,8 @@ public class TestDHOaipmhOnline { checkListRecordsDCFrom = p.getProperty("checkListRecordsDCFrom"); checkListRecordsDCUntil = p.getProperty("checkListRecordsDCUntil"); - checkListRecordsDATACITEFrom = p.getProperty("checkListRecordsDATACITEFrom"); - checkListRecordsDATACITEUntil = p.getProperty("checkListRecordsDATACITEUntil"); + checkListRecordsDataciteFrom = p.getProperty("checkListRecordsDataciteFrom"); + checkListRecordsDataciteUntil = p.getProperty("checkListRecordsDataciteUntil"); checkListIdentifiersSet = p.getProperty("checkListIdentifiersSet"); checkListIdentifiersSetExpectedPages = @@ -375,7 +375,7 @@ public class TestDHOaipmhOnline { OaipmhUtilitiesOnline.VERB_LIST_RECORDS, OaipmhUtilitiesOnline.OAI_DATACITE_PREFIX, OaipmhUtilitiesOnline.NO_SET, - checkListRecordsDATACITEFrom, checkListRecordsDATACITEUntil); + checkListRecordsDataciteFrom, checkListRecordsDataciteUntil); } /** @@ -402,10 +402,10 @@ public class TestDHOaipmhOnline { System.out.println(OaipmhUtilitiesOnline.TESTING + "#GETRECORD"); OaipmhUtilitiesOnline.testDHRecord(oaipmhWebClient, - checkGetRecordDATACITE, + checkGetRecordDatacite, OaipmhUtilitiesOnline.VERB_GET_RECORD, OaipmhUtilitiesOnline.OAI_DATACITE_PREFIX, - expectedGetRecordDATACITE); + expectedGetRecordDatacite); } /** diff --git a/oaipmh-webapp/src/main/webapp/WEB-INF/beans.xml b/oaipmh-webapp/src/main/webapp/WEB-INF/beans.xml index 262d799cc5f64f02bd58e962fd33da92065b5f61..7a4807ba5228971c2780cd2be9d0793462fd9a0c 100644 --- a/oaipmh-webapp/src/main/webapp/WEB-INF/beans.xml +++ b/oaipmh-webapp/src/main/webapp/WEB-INF/beans.xml @@ -13,7 +13,8 @@ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd"> - <description>Configuration for the DARIAH-DE OAI-PMH Interfaces</description> + <description>Configuration for the DARIAH-DE OAI-PMH Interfaces + </description> <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> @@ -71,7 +72,6 @@ <constructor-arg ref="ListIdentifierDC" /> <constructor-arg ref="ListIdentifierIdiom" /> <constructor-arg ref="ListIdentifierDatacite" /> - <constructor-arg ref="IdiomImages" /> <property name="textGrid" value="${textgrid}" /> <property name="dariah" value="${dariah}" /> diff --git a/pom.xml b/pom.xml index 6be2f59c73eac4b3a6fd6d46712c6fd2572e30c1..150bb7b868116f7ee4ca2f8e91b6e3e35846dafa 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version> <maven-eclipse-plugin.version>2.10</maven-eclipse-plugin.version> <maven-jaxb2-plugin.version>0.14.0</maven-jaxb2-plugin.version> - <mets-mods-mapping.version>2.0.1</mets-mods-mapping.version> + <mets-mods-mapping.version>2.1.0</mets-mods-mapping.version> <package-info-maven-plugin.version>1.4.5</package-info-maven-plugin.version> <properties-maven-plugin.version>1.0-alpha-2</properties-maven-plugin.version> <rdf4j-repository-api.version>3.0.2</rdf4j-repository-api.version>