From 565432df2b18a638d980b821e6e9730169416802 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Sun, 22 May 2022 22:10:27 -0400 Subject: [PATCH 01/33] Replacing the local_lib copies of the old lyncode.xoai libraries built from a local fork in 2016, with a new and improved io.gdcc version. Yay! Checking in the results of the first swipe of this I took last week. Very much work in progress; it (builds but) does not work properly yet. (ref. #8372) --- .../xoai-common-4.1.0-header-patch.jar | Bin 59259 -> 0 bytes .../xoai-common-4.1.0-header-patch.jar.md5 | 1 - .../xoai-common-4.1.0-header-patch.jar.sha1 | 1 - .../xoai-common-4.1.0-header-patch.pom | 77 ----- .../xoai-common-4.1.0-header-patch.pom.md5 | 1 - .../xoai-common-4.1.0-header-patch.pom.sha1 | 1 - ...ta-provider-4.1.0-header-patch-javadoc.jar | Bin 418350 -> 0 bytes ...rovider-4.1.0-header-patch-javadoc.jar.md5 | 1 - ...ovider-4.1.0-header-patch-javadoc.jar.sha1 | 1 - ...ta-provider-4.1.0-header-patch-sources.jar | Bin 59770 -> 0 bytes ...rovider-4.1.0-header-patch-sources.jar.md5 | 1 - ...ovider-4.1.0-header-patch-sources.jar.sha1 | 1 - .../xoai-data-provider-4.1.0-header-patch.jar | Bin 83877 -> 0 bytes ...i-data-provider-4.1.0-header-patch.jar.md5 | 1 - ...-data-provider-4.1.0-header-patch.jar.sha1 | 1 - .../xoai-data-provider-4.1.0-header-patch.pom | 54 ---- ...i-data-provider-4.1.0-header-patch.pom.md5 | 1 - ...-data-provider-4.1.0-header-patch.pom.sha1 | 1 - ...ce-provider-4.1.0-header-patch-javadoc.jar | Bin 283085 -> 0 bytes ...rovider-4.1.0-header-patch-javadoc.jar.md5 | 1 - ...ovider-4.1.0-header-patch-javadoc.jar.sha1 | 1 - ...ce-provider-4.1.0-header-patch-sources.jar | Bin 42972 -> 0 bytes ...rovider-4.1.0-header-patch-sources.jar.md5 | 1 - ...ovider-4.1.0-header-patch-sources.jar.sha1 | 1 - ...ai-service-provider-4.1.0-header-patch.jar | Bin 56533 -> 0 bytes ...ervice-provider-4.1.0-header-patch.jar.md5 | 1 - ...rvice-provider-4.1.0-header-patch.jar.sha1 | 1 - ...ai-service-provider-4.1.0-header-patch.pom | 67 ----- ...ervice-provider-4.1.0-header-patch.pom.md5 | 1 - ...rvice-provider-4.1.0-header-patch.pom.sha1 | 1 - .../xoai-4.1.0-header-patch.pom | 273 ------------------ .../xoai-4.1.0-header-patch.pom.md5 | 1 - .../xoai-4.1.0-header-patch.pom.sha1 | 1 - modules/dataverse-parent/pom.xml | 7 +- pom.xml | 17 +- .../harvest/client/HarvesterServiceBean.java | 4 +- .../harvest/client/oai/OaiHandler.java | 36 ++- .../harvest/server/OAIRecordServiceBean.java | 29 +- .../server/web/servlet/OAIServlet.java | 76 +++-- .../{Xitem.java => DataverseXoaiItem.java} | 36 ++- ....java => DataverseXoaiItemRepository.java} | 131 ++++++--- ...y.java => DataverseXoaiSetRepository.java} | 22 +- .../harvest/server/xoai/XdataProvider.java | 116 -------- .../harvest/server/xoai/XgetRecord.java | 52 ---- .../server/xoai/XgetRecordHandler.java | 92 ------ .../harvest/server/xoai/XlistRecords.java | 86 ------ .../server/xoai/XlistRecordsHandler.java | 168 ----------- .../harvest/server/xoai/Xmetadata.java | 27 -- .../harvest/server/xoai/Xrecord.java | 184 ------------ .../server/xoai/XresumptionTokenHelper.java | 61 ---- 50 files changed, 230 insertions(+), 1407 deletions(-) delete mode 100644 local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar delete mode 100644 local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar.md5 delete mode 100644 local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar.sha1 delete mode 100644 local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom delete mode 100644 local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom.md5 delete mode 100644 local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom.sha1 delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar.md5 delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar.sha1 delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-sources.jar delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-sources.jar.md5 delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-sources.jar.sha1 delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.jar delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.jar.md5 delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.jar.sha1 delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.pom delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.pom.md5 delete mode 100644 local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.pom.sha1 delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar.md5 delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar.sha1 delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-sources.jar delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-sources.jar.md5 delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-sources.jar.sha1 delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.jar delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.jar.md5 delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.jar.sha1 delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom.md5 delete mode 100644 local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom.sha1 delete mode 100644 local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom delete mode 100644 local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom.md5 delete mode 100644 local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom.sha1 rename src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/{Xitem.java => DataverseXoaiItem.java} (68%) rename src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/{XitemRepository.java => DataverseXoaiItemRepository.java} (58%) rename src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/{XsetRepository.java => DataverseXoaiSetRepository.java} (78%) delete mode 100644 src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XdataProvider.java delete mode 100644 src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XgetRecord.java delete mode 100644 src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XgetRecordHandler.java delete mode 100644 src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XlistRecords.java delete mode 100644 src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XlistRecordsHandler.java delete mode 100644 src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xmetadata.java delete mode 100644 src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xrecord.java delete mode 100644 src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XresumptionTokenHelper.java diff --git a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar b/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar deleted file mode 100644 index a23530b895c81ce68b071307cde110eadbbe7962..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59259 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 diff --git a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar.md5 b/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar.md5 deleted file mode 100644 index d8b1ce2fa75..00000000000 --- a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar.md5 +++ /dev/null @@ -1 +0,0 @@ -f578d8ec91811d5d72981355cb7a1f0f diff --git a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar.sha1 b/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar.sha1 deleted file mode 100644 index 4c7d114634b..00000000000 --- a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -523abaf48b4423eb874dbc086b876aa917930a04 diff --git a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom b/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom deleted file mode 100644 index 2915745c27d..00000000000 --- a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom +++ /dev/null @@ -1,77 +0,0 @@ - - - - xoai - com.lyncode - 4.1.0 - - 4.0.0 - - XOAI Commons - xoai-common - 4.1.0-header-patch - - - - com.lyncode - xml-io - - - com.lyncode - test-support - - - - commons-codec - commons-codec - - - - commons-io - commons-io - - - - com.google.guava - guava - - - - xml-apis - xml-apis - - - - org.hamcrest - hamcrest-all - - - - org.codehaus.woodstox - stax2-api - - - - javax.xml.stream - stax-api - - - - org.apache.commons - commons-lang3 - - - - stax - stax-api - - - - junit - junit - test - - - - - diff --git a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom.md5 b/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom.md5 deleted file mode 100644 index 15f47f4140a..00000000000 --- a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom.md5 +++ /dev/null @@ -1 +0,0 @@ -346e9f235523e52256006bbe8eba60bb diff --git a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom.sha1 b/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom.sha1 deleted file mode 100644 index 88668a4d49c..00000000000 --- a/local_lib/com/lyncode/xoai-common/4.1.0-header-patch/xoai-common-4.1.0-header-patch.pom.sha1 +++ /dev/null @@ -1 +0,0 @@ -cd83d08c097d6aa1b27b20ef4742c7e4fa47e6b5 diff --git a/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar b/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar deleted file mode 100644 index 28e5da7b0d61cc3644e4c66398deae9e66b046f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 418350 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
%HkB<>A++7yea*BY0U=z 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�CQ1nbDK;UDf$F(K=(7PW&(h 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

~ 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≪gT_Ftaq>XH0rCa;q!UnJIUBjEBQj8@Dgvm|&x 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

pqwg&H53&EgYi%BzO3heRS}K`L}= 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 CwB{rL diff --git a/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar.md5 b/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar.md5 deleted file mode 100644 index 67dda34a6c9..00000000000 --- a/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar.md5 +++ /dev/null @@ -1 +0,0 @@ -546f1ab3f3f654280f88e429ba3471ae diff --git a/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar.sha1 b/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar.sha1 deleted file mode 100644 index 50e8f2f42cd..00000000000 --- a/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-javadoc.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -f4da7ebc3fda69e1e7db12bda6d7b5fb4aecc7a4 diff --git a/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-sources.jar b/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch-sources.jar deleted file mode 100644 index bdec990e2c6d4a85c9bdfbcf0ec1285efb45a18c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59770 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 z 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 gx!Qq4@zMK`9BqYQ5`w|3g@032F_ - - - xoai - com.lyncode - 4.1.0-header-patch - - - 4.0.0 - - XOAI Data Provider - xoai-data-provider - 4.1.0-header-patch - - - - com.lyncode - xoai-common - ${project.version} - - - - log4j - log4j - - - - com.google.guava - guava - - - - com.lyncode - builder-commons - - - - org.apache.commons - commons-lang3 - - - - org.mockito - mockito-all - test - - - - junit - junit - test - - - diff --git a/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.pom.md5 b/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.pom.md5 deleted file mode 100644 index 5959ea476c7..00000000000 --- a/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.pom.md5 +++ /dev/null @@ -1 +0,0 @@ -a1b49c13fcf448de9628798f8682fcaa diff --git a/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.pom.sha1 b/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.pom.sha1 deleted file mode 100644 index 87fd86c23e0..00000000000 --- a/local_lib/com/lyncode/xoai-data-provider/4.1.0-header-patch/xoai-data-provider-4.1.0-header-patch.pom.sha1 +++ /dev/null @@ -1 +0,0 @@ -41be98af31f8d17d83ab6c38bd7939ba212eab8d diff --git a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar b/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar deleted file mode 100644 index 4382b3ded5d1bf29c588665a7d3452bdc05107e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 283085 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

&&&svxkc_7G}&6>|FIyPKVH2(=uK6VfEGB9N3u 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�C$v}pqcceltmHsSoy81&!ymhzH3c` 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

mcqVLK=S)))S7qfa{cF$?LblUF!tw}5}} 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

C)3&X)o6E_9a0Rw#lIyGGXShce@(!N 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 diff --git a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar.md5 b/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar.md5 deleted file mode 100644 index c9e720e6039..00000000000 --- a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar.md5 +++ /dev/null @@ -1 +0,0 @@ -21bc45a29b715720f4b77f51bf9f1754 diff --git a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar.sha1 b/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar.sha1 deleted file mode 100644 index 756955d2840..00000000000 --- a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-javadoc.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -b544162e82d322116b87d99f2fbb6ddd4c4745e1 diff --git a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-sources.jar b/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch-sources.jar deleted file mode 100644 index 314dad81872885fd878c5d8a5a813982e2ea815d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42972 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 z 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%0Dkt|3P=8n0&p>y#Y2JbkOMU~S_}?~d z-YvJgdtGiBNN<0G@vr6o|7FH^Hx}G-VC()roPS&Jjbp#N2z^Tts=uAGyj_yMEscM# zi~ti*|2+3WzJ8@|{BDWk+bZYn9RJ-#(VKP7zn`1LI{!`#xa03uJ^#0$n|04yL2*A9 z^xu~)Z!`Jd*FnDlGQHOSKjQyc75$!a(;D4fJG-S|w*0Fozb}pdo{1aE?Mj-QBqY?0 RKq27YC@{CP2Z#g#`9Jtf9RC0S diff --git a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.jar.md5 b/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.jar.md5 deleted file mode 100644 index 84891040047..00000000000 --- a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.jar.md5 +++ /dev/null @@ -1 +0,0 @@ -52f8b446f78009757d593312778f428c diff --git a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.jar.sha1 b/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.jar.sha1 deleted file mode 100644 index dbded3dd83f..00000000000 --- a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -feb6903ad32d4b42461b7ca1b3fae6146740bb31 diff --git a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom b/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom deleted file mode 100644 index c45e15a91f9..00000000000 --- a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom +++ /dev/null @@ -1,67 +0,0 @@ - - - - xoai - com.lyncode - 4.1.0-header-patch - - 4.0.0 - - XOAI Service Provider - xoai-service-provider - 4.1.0-header-patch - - - - com.lyncode - xoai-common - ${project.version} - - - - com.lyncode - xml-io - - - - log4j - log4j - - - - org.apache.commons - commons-lang3 - - - - org.apache.httpcomponents - httpclient - - - - org.codehaus.woodstox - wstx-asl - - - - - com.lyncode - xoai-data-provider - ${project.version} - test - - - - org.mockito - mockito-all - test - - - - junit - junit - test - - - - diff --git a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom.md5 b/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom.md5 deleted file mode 100644 index 5e51f198572..00000000000 --- a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom.md5 +++ /dev/null @@ -1 +0,0 @@ -b97b8ee92daa5fc4fd87004465f9ad2b diff --git a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom.sha1 b/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom.sha1 deleted file mode 100644 index 2c6dc74f02b..00000000000 --- a/local_lib/com/lyncode/xoai-service-provider/4.1.0-header-patch/xoai-service-provider-4.1.0-header-patch.pom.sha1 +++ /dev/null @@ -1 +0,0 @@ -f772583549263bd72ea4d5268d9db0a84c27cb9f diff --git a/local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom b/local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom deleted file mode 100644 index 89a14d88c51..00000000000 --- a/local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom +++ /dev/null @@ -1,273 +0,0 @@ - - 4.0.0 - pom - - - xoai-common - xoai-data-provider - xoai-service-provider - - - - org.sonatype.oss - oss-parent - 7 - - - com.lyncode - xoai - 4.1.0-header-patch - - XOAI : OAI-PMH Java Toolkit - http://www.lyncode.com - - - 1.9.5 - 15.0 - 3.1 - 1.2.14 - 4.2.1 - 4.0.0 - - 1.0.2 - 1.0.3 - 1.0.4 - - - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - - scm:git:git@github.com:lyncode/xoai.git - scm:git:git@github.com:lyncode/xoai.git - git@github.com:lyncode/xoai.git - xoai-4.1.0 - - - - - ossrh - https://oss.sonatype.org/content/repositories/snapshots - - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.5 - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.8.1 - - - org.apache.maven.plugins - maven-source-plugin - 2.2.1 - - - org.apache.maven.plugins - maven-release-plugin - 2.5 - - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - - - - - org.apache.maven.plugins - maven-release-plugin - - true - false - release - deploy - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.6 - 1.6 - false - false - true - - - - org.apache.maven.plugins - maven-javadoc-plugin - true - - - attach-javadocs - - jar - - - - - - org.apache.maven.plugins - maven-source-plugin - true - - - attach-sources - - jar - - - - - - - - - - - com.lyncode - xml-io - ${lyncode.xml-io} - - - - com.lyncode - test-support - ${lyncode.test-support} - - - - - log4j - log4j - ${log4j.version} - - - - org.apache.commons - commons-lang3 - ${commons.lang3.version} - - - - org.apache.httpcomponents - httpclient - ${http-commons.version} - - - - org.codehaus.woodstox - wstx-asl - ${woodstox.version} - - - - org.codehaus.woodstox - stax2-api - 3.0.4 - - - - commons-codec - commons-codec - 1.3 - - - org.hamcrest - hamcrest-all - 1.3 - - - xalan - xalan - 2.7.2 - - - dom4j - dom4j - 1.6.1 - - - - javax.xml.stream - stax-api - 1.0-2 - - - jaxen - jaxen - 1.1.4 - - - junit - junit - 4.11 - - - commons-io - commons-io - 2.4 - - - - xml-apis - xml-apis - 1.0.b2 - - - - stax - stax-api - 1.0.1 - - - - org.mockito - mockito-all - ${mockito.version} - - - - com.google.guava - guava - ${guava.version} - - - - com.lyncode - builder-commons - ${lyncode.builder-commons} - - - - - - - - DSpace @ Lyncode - dspace@lyncode.com - Lyncode - http://www.lyncode.com - - - - diff --git a/local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom.md5 b/local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom.md5 deleted file mode 100644 index d2fdadd114f..00000000000 --- a/local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom.md5 +++ /dev/null @@ -1 +0,0 @@ -b50966bebe8cfdcb58478cf029b08aa3 diff --git a/local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom.sha1 b/local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom.sha1 deleted file mode 100644 index b142cd649e8..00000000000 --- a/local_lib/com/lyncode/xoai/4.1.0-header-patch/xoai-4.1.0-header-patch.pom.sha1 +++ /dev/null @@ -1 +0,0 @@ -28a5d65399cbc25b29b270caebbb86e292c5ba18 diff --git a/modules/dataverse-parent/pom.xml b/modules/dataverse-parent/pom.xml index e85608dd0c4..e83ba818aeb 100644 --- a/modules/dataverse-parent/pom.xml +++ b/modules/dataverse-parent/pom.xml @@ -161,6 +161,9 @@ 1.21 4.5.13 4.4.14 + + + 5.0.0-SNAPSHOT 1.15.0 @@ -301,7 +304,7 @@ Local repository for hosting jars not available from network repositories. file://${project.basedir}/local_lib - oss-sonatype oss-sonatype @@ -312,7 +315,7 @@ true - --> + diff --git a/pom.xml b/pom.xml index ce9f1c4b63d..b2e6b1787d9 100644 --- a/pom.xml +++ b/pom.xml @@ -393,7 +393,7 @@ - + + + io.gdcc + xoai-common + ${gdcc.xoai.version} + + + io.gdcc + xoai-data-provider + ${gdcc.xoai.version} + + + io.gdcc + xoai-service-provider + ${gdcc.xoai.version} diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java index 71cc23e242b..397a90b0c99 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java @@ -35,7 +35,7 @@ import org.apache.commons.lang3.mutable.MutableLong; import org.xml.sax.SAXException; -import com.lyncode.xoai.model.oaipmh.Header; +import io.gdcc.xoai.model.oaipmh.Header; import edu.harvard.iq.dataverse.EjbDataverseEngine; import edu.harvard.iq.dataverse.api.imports.ImportServiceBean; import edu.harvard.iq.dataverse.engine.command.DataverseRequest; @@ -254,7 +254,7 @@ private List harvestOAI(DataverseRequest dataverseRequest, HarvestingClien Header h = idIter.next(); String identifier = h.getIdentifier(); - Date dateStamp = h.getDatestamp(); + Date dateStamp = Date.from(h.getDatestamp()); hdLogger.info("processing identifier: " + identifier + ", date: " + dateStamp); diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java index d1aaea50793..83bf6068090 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java @@ -5,18 +5,19 @@ */ package edu.harvard.iq.dataverse.harvest.client.oai; -import com.lyncode.xoai.model.oaipmh.Description; -import com.lyncode.xoai.model.oaipmh.Granularity; -import com.lyncode.xoai.model.oaipmh.Header; -import com.lyncode.xoai.model.oaipmh.MetadataFormat; -import com.lyncode.xoai.model.oaipmh.Set; -import com.lyncode.xoai.serviceprovider.ServiceProvider; -import com.lyncode.xoai.serviceprovider.client.HttpOAIClient; -import com.lyncode.xoai.serviceprovider.exceptions.BadArgumentException; -import com.lyncode.xoai.serviceprovider.exceptions.InvalidOAIResponse; -import com.lyncode.xoai.serviceprovider.exceptions.NoSetHierarchyException; -import com.lyncode.xoai.serviceprovider.model.Context; -import com.lyncode.xoai.serviceprovider.parameters.ListIdentifiersParameters; +import io.gdcc.xoai.model.oaipmh.Description; +import io.gdcc.xoai.model.oaipmh.Granularity; +import io.gdcc.xoai.model.oaipmh.Header; +import io.gdcc.xoai.model.oaipmh.MetadataFormat; +import io.gdcc.xoai.model.oaipmh.Set; +import io.gdcc.xoai.serviceprovider.ServiceProvider; +import io.gdcc.xoai.serviceprovider.client.JdkHttpOaiClient; //.HttpOAIClient; +import io.gdcc.xoai.serviceprovider.exceptions.BadArgumentException; +import io.gdcc.xoai.serviceprovider.exceptions.InvalidOAIResponse; +import io.gdcc.xoai.serviceprovider.exceptions.NoSetHierarchyException; +import io.gdcc.xoai.serviceprovider.exceptions.IdDoesNotExistException; +import io.gdcc.xoai.serviceprovider.model.Context; +import io.gdcc.xoai.serviceprovider.parameters.ListIdentifiersParameters; import edu.harvard.iq.dataverse.harvest.client.FastGetRecord; import edu.harvard.iq.dataverse.harvest.client.HarvestingClient; import java.io.IOException; @@ -133,8 +134,8 @@ private ServiceProvider getServiceProvider() throws OaiHandlerException { context.withBaseUrl(baseOaiUrl); context.withGranularity(Granularity.Second); - context.withOAIClient(new HttpOAIClient(baseOaiUrl)); - + // builds the client with the default parameters and the JDK http client: + context.withOAIClient(JdkHttpOaiClient.newBuilder().withBaseUrl(baseOaiUrl).build()); serviceProvider = new ServiceProvider(context); } @@ -199,6 +200,11 @@ public List runListMetadataFormats() throws OaiHandlerException { try { mfIter = sp.listMetadataFormats(); + } catch (IdDoesNotExistException idnee) { + // TODO: + // not sure why this exception is now thrown by List Metadata Formats (?) + // but looks like it was added in xoai 4.2. + throw new OaiHandlerException("Id does not exist exception"); } catch (InvalidOAIResponse ior) { throw new OaiHandlerException("No valid response received from the OAI server."); } @@ -261,7 +267,7 @@ private ListIdentifiersParameters buildListIdentifiersParams() throws OaiHandler mip.withMetadataPrefix(metadataPrefix); if (this.fromDate != null) { - mip.withFrom(this.fromDate); + mip.withFrom(this.fromDate.toInstant()); } if (!StringUtils.isEmpty(this.setName)) { diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAIRecordServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAIRecordServiceBean.java index 02e7675a776..a7e180ce233 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAIRecordServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAIRecordServiceBean.java @@ -12,6 +12,7 @@ import edu.harvard.iq.dataverse.export.ExportService; import edu.harvard.iq.dataverse.search.IndexServiceBean; import edu.harvard.iq.dataverse.settings.SettingsServiceBean; +import java.time.Instant; import java.io.File; import java.io.IOException; import java.sql.Timestamp; @@ -286,15 +287,15 @@ public List findOaiRecordsBySetName(String setName) { return findOaiRecordsBySetName(setName, null, null); } - public List findOaiRecordsBySetName(String setName, Date from, Date until) { + public List findOaiRecordsBySetName(String setName, Instant from, Instant until) { return findOaiRecordsBySetName(setName, from, until, false); } - public List findOaiRecordsNotInThisSet(String setName, Date from, Date until) { + public List findOaiRecordsNotInThisSet(String setName, Instant from, Instant until) { return findOaiRecordsBySetName(setName, from, until, true); } - public List findOaiRecordsBySetName(String setName, Date from, Date until, boolean excludeSet) { + public List findOaiRecordsBySetName(String setName, Instant from, Instant until, boolean excludeSet) { if (setName == null) { setName = ""; @@ -314,8 +315,14 @@ public List findOaiRecordsBySetName(String setName, Date from, Date u logger.fine("Query: "+queryString); TypedQuery query = em.createQuery(queryString, OAIRecord.class); - if (setName != null) { query.setParameter("setName",setName); } - if (from != null) { query.setParameter("from",from,TemporalType.TIMESTAMP); } + if (setName != null) { + query.setParameter("setName",setName); + } + // TODO: review and phase out the use of java.util.Date throughout this service. + + if (from != null) { + query.setParameter("from",Date.from(from),TemporalType.TIMESTAMP); + } // In order to achieve inclusivity on the "until" matching, we need to do // the following (if the "until" parameter is supplied): // 1) if the supplied "until" parameter has the time portion (and is not just @@ -332,17 +339,21 @@ public List findOaiRecordsBySetName(String setName, Date from, Date u if (until != null) { // 24 * 3600 * 1000 = number of milliseconds in a day. + + Date untilDate = Date.from(until); - if (until.getTime() % (24 * 3600 * 1000) == 0) { + if (untilDate.getTime() % (24 * 3600 * 1000) == 0) { // The supplied "until" parameter is a date, with no time // portion. + // TODO: review/reimplement this! + logger.fine("plain date. incrementing by one day"); - until.setTime(until.getTime()+(24 * 3600 * 1000)); + untilDate.setTime(untilDate.getTime()+(24 * 3600 * 1000)); } else { logger.fine("date and time. incrementing by one second"); - until.setTime(until.getTime()+1000); + untilDate.setTime(untilDate.getTime()+1000); } - query.setParameter("until",until,TemporalType.TIMESTAMP); + query.setParameter("until",untilDate,TemporalType.TIMESTAMP); } try { diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index d8619c42dfa..90b425b8e2b 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -5,26 +5,27 @@ */ package edu.harvard.iq.dataverse.harvest.server.web.servlet; -import com.lyncode.xml.exceptions.XmlWriteException; -import com.lyncode.xoai.dataprovider.builder.OAIRequestParametersBuilder; -import com.lyncode.xoai.dataprovider.exceptions.OAIException; -import com.lyncode.xoai.dataprovider.repository.Repository; -import com.lyncode.xoai.dataprovider.repository.RepositoryConfiguration; -import com.lyncode.xoai.dataprovider.model.Context; -import com.lyncode.xoai.dataprovider.model.MetadataFormat; -import com.lyncode.xoai.services.impl.SimpleResumptionTokenFormat; -import com.lyncode.xoai.dataprovider.repository.ItemRepository; -import com.lyncode.xoai.dataprovider.repository.SetRepository; -import com.lyncode.xoai.model.oaipmh.DeletedRecord; -import com.lyncode.xoai.model.oaipmh.Granularity; -import com.lyncode.xoai.model.oaipmh.OAIPMH; -import static com.lyncode.xoai.model.oaipmh.OAIPMH.NAMESPACE_URI; -import static com.lyncode.xoai.model.oaipmh.OAIPMH.SCHEMA_LOCATION; -import com.lyncode.xoai.model.oaipmh.Verb; -import com.lyncode.xoai.xml.XSISchema; - -import com.lyncode.xoai.xml.XmlWriter; -import static com.lyncode.xoai.xml.XmlWriter.defaultContext; +import io.gdcc.xoai.xmlio.exceptions.XmlWriteException; +import io.gdcc.xoai.dataprovider.DataProvider; +import io.gdcc.xoai.dataprovider.builder.OAIRequestParametersBuilder; +import io.gdcc.xoai.dataprovider.repository.Repository; +import io.gdcc.xoai.dataprovider.repository.RepositoryConfiguration; +import io.gdcc.xoai.dataprovider.model.Context; +import io.gdcc.xoai.dataprovider.model.MetadataFormat; +import io.gdcc.xoai.services.impl.SimpleResumptionTokenFormat; +import io.gdcc.xoai.dataprovider.repository.ItemRepository; +import io.gdcc.xoai.dataprovider.repository.SetRepository; +import io.gdcc.xoai.model.oaipmh.DeletedRecord; +import io.gdcc.xoai.model.oaipmh.Granularity; +import io.gdcc.xoai.model.oaipmh.OAIPMH; +import io.gdcc.xoai.model.oaipmh.GetRecord; +import static io.gdcc.xoai.model.oaipmh.OAIPMH.NAMESPACE_URI; +import static io.gdcc.xoai.model.oaipmh.OAIPMH.SCHEMA_LOCATION; +import io.gdcc.xoai.model.oaipmh.Verb; +import io.gdcc.xoai.xml.XSISchema; + +import io.gdcc.xoai.xml.XmlWriter; +import static io.gdcc.xoai.xml.XmlWriter.defaultContext; import edu.harvard.iq.dataverse.DatasetServiceBean; import edu.harvard.iq.dataverse.DataverseServiceBean; import edu.harvard.iq.dataverse.export.ExportException; @@ -32,11 +33,8 @@ import edu.harvard.iq.dataverse.export.spi.Exporter; import edu.harvard.iq.dataverse.harvest.server.OAIRecordServiceBean; import edu.harvard.iq.dataverse.harvest.server.OAISetServiceBean; -import edu.harvard.iq.dataverse.harvest.server.xoai.XdataProvider; -import edu.harvard.iq.dataverse.harvest.server.xoai.XgetRecord; -import edu.harvard.iq.dataverse.harvest.server.xoai.XitemRepository; -import edu.harvard.iq.dataverse.harvest.server.xoai.XsetRepository; -import edu.harvard.iq.dataverse.harvest.server.xoai.XlistRecords; +import edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiItemRepository; +import edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiSetRepository; import edu.harvard.iq.dataverse.settings.SettingsServiceBean; import edu.harvard.iq.dataverse.util.MailUtil; import edu.harvard.iq.dataverse.util.SystemConfig; @@ -62,7 +60,7 @@ * * @author Leonid Andreev * Dedicated servlet for handling OAI-PMH requests. - * Uses lyncode XOAI data provider implementation for serving content. + * Uses lyncode/Dspace/gdcc XOAI data provider implementation for serving content. * The servlet itself is somewhat influenced by the older OCLC OAIcat implementation. */ public class OAIServlet extends HttpServlet { @@ -95,7 +93,7 @@ public class OAIServlet extends HttpServlet { private ItemRepository itemRepository; private RepositoryConfiguration repositoryConfiguration; private Repository xoaiRepository; - private XdataProvider dataProvider; + private DataProvider dataProvider; public void init(ServletConfig config) throws ServletException { super.init(config); @@ -106,8 +104,8 @@ public void init(ServletConfig config) throws ServletException { xoaiContext = addDataverseJsonMetadataFormat(xoaiContext); } - setRepository = new XsetRepository(setService); - itemRepository = new XitemRepository(recordService, datasetService); + setRepository = new DataverseXoaiSetRepository(setService); + itemRepository = new DataverseXoaiItemRepository(recordService, datasetService); repositoryConfiguration = createRepositoryConfiguration(); @@ -117,7 +115,7 @@ public void init(ServletConfig config) throws ServletException { .withResumptionTokenFormatter(new SimpleResumptionTokenFormat()) .withConfiguration(repositoryConfiguration); - dataProvider = new XdataProvider(getXoaiContext(), getXoaiRepository()); + dataProvider = new DataProvider(getXoaiContext(), getXoaiRepository()); } private Context createContext() { @@ -188,7 +186,7 @@ private RepositoryConfiguration createRepositoryConfiguration() { .withMaxListIdentifiers(100) .withMaxListRecords(100) .withMaxListSets(100) - .withEarliestDate(new Date()); + .withEarliestDate(new Date().toInstant()); // TODO: return repositoryConfiguration; } @@ -246,24 +244,24 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp OAIPMH handle = dataProvider.handle(parametersBuilder); response.setContentType("text/xml;charset=UTF-8"); - if (isGetRecord(request) && !handle.hasErrors()) { + /* if (isGetRecord(request) && !handle.hasErrors()) { writeGetRecord(response, handle); } else if (isListRecords(request) && !handle.hasErrors()) { writeListRecords(response, handle); - } else { + } else { */ XmlWriter xmlWriter = new XmlWriter(response.getOutputStream()); xmlWriter.write(handle); xmlWriter.flush(); xmlWriter.close(); - } + /* } */ } catch (IOException ex) { logger.warning("IO exception in Get; "+ex.getMessage()); throw new ServletException ("IO Exception in Get", ex); - } catch (OAIException oex) { + } /* catch (OAIException oex) { logger.warning("OAI exception in Get; "+oex.getMessage()); throw new ServletException ("OAI Exception in Get", oex); - } catch (XMLStreamException xse) { + } */ catch (XMLStreamException xse) { logger.warning("XML Stream exception in Get; "+xse.getMessage()); throw new ServletException ("XML Stream Exception in Get", xse); } catch (XmlWriteException xwe) { @@ -278,7 +276,7 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp // Custom methods for the potentially expensive GetRecord and ListRecords requests: - private void writeListRecords(HttpServletResponse response, OAIPMH handle) throws IOException { + /* private void writeListRecords(HttpServletResponse response, OAIPMH handle) throws IOException { OutputStream outputStream = response.getOutputStream(); outputStream.write(oaiPmhResponseToString(handle).getBytes()); @@ -326,7 +324,7 @@ private void writeGetRecord(HttpServletResponse response, OAIPMH handle) throws outputStream.flush(); - ((XgetRecord) verb).writeToStream(outputStream); + verb.writeToStream(outputStream); outputStream.write(("").getBytes()); outputStream.write(("\n").getBytes()); @@ -334,7 +332,7 @@ private void writeGetRecord(HttpServletResponse response, OAIPMH handle) throws outputStream.flush(); outputStream.close(); - } + } */ // This function produces the string representation of the top level, // "service" record of an OAIPMH response (i.e., the header that precedes diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xitem.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java similarity index 68% rename from src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xitem.java rename to src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java index bd7a35ddb79..db9d6612763 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xitem.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java @@ -5,14 +5,15 @@ */ package edu.harvard.iq.dataverse.harvest.server.xoai; -import com.lyncode.xoai.dataprovider.model.Item; -import com.lyncode.xoai.dataprovider.model.Set; -import com.lyncode.xoai.model.oaipmh.About; +import io.gdcc.xoai.dataprovider.model.Item; +import io.gdcc.xoai.dataprovider.model.Set; +import io.gdcc.xoai.model.oaipmh.Metadata; +import io.gdcc.xoai.model.oaipmh.About; import edu.harvard.iq.dataverse.Dataset; import edu.harvard.iq.dataverse.harvest.server.OAIRecord; import edu.harvard.iq.dataverse.util.StringUtil; +import java.time.Instant; import java.util.ArrayList; -import java.util.Date; import java.util.List; @@ -20,13 +21,13 @@ * * @author Leonid Andreev * - * This is an implemention of an Lyncode XOAI Item; + * This is an implemention of a Lyncode/DSpace/gdcc XOAI Item. * You can think of it as an XOAI Item wrapper around the * Dataverse OAIRecord entity. */ -public class Xitem implements Item { +public class DataverseXoaiItem implements Item { - public Xitem(OAIRecord oaiRecord) { + public DataverseXoaiItem(OAIRecord oaiRecord) { super(); this.oaiRecord = oaiRecord; oaisets = new ArrayList<>(); @@ -34,7 +35,7 @@ public Xitem(OAIRecord oaiRecord) { oaisets.add(new Set(oaiRecord.getSetName())); } } - + private OAIRecord oaiRecord; public OAIRecord getOaiRecord() { @@ -51,7 +52,7 @@ public Dataset getDataset() { return dataset; } - public Xitem withDataset(Dataset dataset) { + public DataverseXoaiItem withDataset(Dataset dataset) { this.dataset = dataset; return this; } @@ -61,9 +62,16 @@ public List getAbout() { return null; } + private Metadata metadata; + @Override - public Xmetadata getMetadata() { - return new Xmetadata((String)null); + public Metadata getMetadata() { + return metadata; + } + + public DataverseXoaiItem withMetadata(Metadata metadata) { + this.metadata = metadata; + return this; } @Override @@ -72,8 +80,8 @@ public String getIdentifier() { } @Override - public Date getDatestamp() { - return oaiRecord.getLastUpdateTime(); + public Instant getDatestamp() { + return oaiRecord.getLastUpdateTime().toInstant(); } private List oaisets; @@ -82,12 +90,10 @@ public Date getDatestamp() { public List getSets() { return oaisets; - } @Override public boolean isDeleted() { return oaiRecord.isRemoved(); } - } diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XitemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java similarity index 58% rename from src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XitemRepository.java rename to src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index b4c60a3171d..58d19f40d2d 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XitemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -5,22 +5,28 @@ */ package edu.harvard.iq.dataverse.harvest.server.xoai; -import com.lyncode.xoai.dataprovider.exceptions.IdDoesNotExistException; -import com.lyncode.xoai.dataprovider.exceptions.OAIException; -import com.lyncode.xoai.dataprovider.filter.ScopedFilter; -import com.lyncode.xoai.dataprovider.handlers.results.ListItemIdentifiersResult; -import com.lyncode.xoai.dataprovider.handlers.results.ListItemsResults; -import com.lyncode.xoai.dataprovider.model.Item; -import com.lyncode.xoai.dataprovider.model.ItemIdentifier; -import com.lyncode.xoai.dataprovider.model.Set; -import com.lyncode.xoai.dataprovider.repository.ItemRepository; +import io.gdcc.xoai.dataprovider.exceptions.IdDoesNotExistException; +import io.gdcc.xoai.dataprovider.exceptions.OAIException; +import io.gdcc.xoai.dataprovider.filter.ScopedFilter; +import io.gdcc.xoai.dataprovider.handlers.results.ListItemIdentifiersResult; +import io.gdcc.xoai.dataprovider.handlers.results.ListItemsResults; +import io.gdcc.xoai.dataprovider.model.Item; +import io.gdcc.xoai.dataprovider.model.ItemIdentifier; +import io.gdcc.xoai.dataprovider.model.Set; +import io.gdcc.xoai.dataprovider.model.MetadataFormat; +import io.gdcc.xoai.dataprovider.repository.ItemRepository; import edu.harvard.iq.dataverse.Dataset; import edu.harvard.iq.dataverse.DatasetServiceBean; +import edu.harvard.iq.dataverse.export.ExportException; +import edu.harvard.iq.dataverse.export.ExportService; import edu.harvard.iq.dataverse.harvest.server.OAIRecord; import edu.harvard.iq.dataverse.harvest.server.OAIRecordServiceBean; import edu.harvard.iq.dataverse.util.StringUtil; +import io.gdcc.xoai.model.oaipmh.Metadata; +import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; -import java.util.Date; +import java.time.Instant; import java.util.List; import java.util.logging.Logger; @@ -32,33 +38,64 @@ * XOAI "items". */ -public class XitemRepository implements ItemRepository { +public class DataverseXoaiItemRepository implements ItemRepository { private static Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.XitemRepository"); private OAIRecordServiceBean recordService; private DatasetServiceBean datasetService; - public XitemRepository (OAIRecordServiceBean recordService, DatasetServiceBean datasetService) { + public DataverseXoaiItemRepository (OAIRecordServiceBean recordService, DatasetServiceBean datasetService) { super(); this.recordService = recordService; this.datasetService = datasetService; } - private List list = new ArrayList(); + private List list = new ArrayList(); @Override public Item getItem(String identifier) throws IdDoesNotExistException, OAIException { + // I'm assuming we don't want to use this version of getItem + // that does not specify the requested metadata format - ? + throw new OAIException("Metadata Format is Required"); + } + + @Override + public Item getItem(String identifier, MetadataFormat metadataFormat) throws IdDoesNotExistException, OAIException { logger.fine("getItem; calling findOaiRecordsByGlobalId, identifier " + identifier); + + if (metadataFormat == null) { + throw new OAIException("Metadata Format is Required"); + } + List oaiRecords = recordService.findOaiRecordsByGlobalId(identifier); if (oaiRecords != null && !oaiRecords.isEmpty()) { - Xitem xoaiItem = null; + DataverseXoaiItem xoaiItem = null; for (OAIRecord record : oaiRecords) { if (xoaiItem == null) { Dataset dataset = datasetService.findByGlobalId(record.getGlobalId()); - if (dataset != null) { - xoaiItem = new Xitem(record).withDataset(dataset); + if (dataset == null) { + // This should not happen - but if there are no longer datasets + // associated with this persistent identifier, we should simply + // bail out. + break; + } + + InputStream pregeneratedMetadataStream; + try { + pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataFormat.getPrefix()); + } catch (ExportException|IOException ex) { + // Again, this is not supposed to happen in normal operations; + // since by design only the datasets for which the metadata + // records have been pre-generated ("exported") should be + // served as "OAI Record". But, things happen. If for one + // reason or another that cached metadata file is no longer there, + // we are not going to serve this record. + break; } + + Metadata metadata = Metadata.copyFromStream(pregeneratedMetadataStream); + xoaiItem = new DataverseXoaiItem(record).withDataset(dataset).withMetadata(metadata); } else { // Adding extra set specs to the XOAI Item, if this record // is part of multiple sets: @@ -81,17 +118,17 @@ public ListItemIdentifiersResult getItemIdentifiers(List filters, } @Override - public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, Date from) throws OAIException { + public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, Instant from) throws OAIException { return getItemIdentifiers(filters, offset, length, null, from, null); } @Override - public ListItemIdentifiersResult getItemIdentifiersUntil(List filters, int offset, int length, Date until) throws OAIException { + public ListItemIdentifiersResult getItemIdentifiersUntil(List filters, int offset, int length, Instant until) throws OAIException { return getItemIdentifiers(filters, offset, length, null, null, until); } @Override - public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, Date from, Date until) throws OAIException { + public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, Instant from, Instant until) throws OAIException { return getItemIdentifiers(filters, offset, length, null, from, until); } @@ -101,17 +138,17 @@ public ListItemIdentifiersResult getItemIdentifiers(List filters, } @Override - public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, String setSpec, Date from) throws OAIException { + public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, String setSpec, Instant from) throws OAIException { return getItemIdentifiers(filters, offset, length, setSpec, from, null); } @Override - public ListItemIdentifiersResult getItemIdentifiersUntil(List filters, int offset, int length, String setSpec, Date until) throws OAIException { + public ListItemIdentifiersResult getItemIdentifiersUntil(List filters, int offset, int length, String setSpec, Instant until) throws OAIException { return getItemIdentifiers(filters, offset, length, setSpec, null, until); } @Override - public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, String setSpec, Date from, Date until) throws OAIException { + public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, String setSpec, Instant from, Instant until) throws OAIException { logger.fine("calling getItemIdentifiers; offset=" + offset + ", length=" + length + ", setSpec=" + setSpec @@ -120,14 +157,14 @@ public ListItemIdentifiersResult getItemIdentifiers(List filters, List oaiRecords = recordService.findOaiRecordsBySetName(setSpec, from, until); - logger.fine("total " + oaiRecords.size() + " returned"); + //logger.fine("total " + oaiRecords.size() + " returned"); List xoaiItems = new ArrayList<>(); if (oaiRecords != null && !oaiRecords.isEmpty()) { for (int i = offset; i < offset + length && i < oaiRecords.size(); i++) { OAIRecord record = oaiRecords.get(i); - xoaiItems.add(new Xitem(record)); + xoaiItems.add(new DataverseXoaiItem(record)); } // Run a second pass, looking for records in this set that occur @@ -150,17 +187,17 @@ public ListItemsResults getItems(List filters, int offset, int len } @Override - public ListItemsResults getItems(List filters, int offset, int length, Date from) throws OAIException { + public ListItemsResults getItems(List filters, int offset, int length, Instant from) throws OAIException { return getItems(filters, offset, length, null, from, null); } @Override - public ListItemsResults getItemsUntil(List filters, int offset, int length, Date until) throws OAIException { + public ListItemsResults getItemsUntil(List filters, int offset, int length, Instant until) throws OAIException { return getItems(filters, offset, length, null, null, until); } @Override - public ListItemsResults getItems(List filters, int offset, int length, Date from, Date until) throws OAIException { + public ListItemsResults getItems(List filters, int offset, int length, Instant from, Instant until) throws OAIException { return getItems(filters, offset, length, null, from, until); } @@ -170,17 +207,17 @@ public ListItemsResults getItems(List filters, int offset, int len } @Override - public ListItemsResults getItems(List filters, int offset, int length, String setSpec, Date from) throws OAIException { + public ListItemsResults getItems(List filters, int offset, int length, String setSpec, Instant from) throws OAIException { return getItems(filters, offset, length, setSpec, from, null); } @Override - public ListItemsResults getItemsUntil(List filters, int offset, int length, String setSpec, Date until) throws OAIException { + public ListItemsResults getItemsUntil(List filters, int offset, int length, String setSpec, Instant until) throws OAIException { return getItems(filters, offset, length, setSpec, null, until); } @Override - public ListItemsResults getItems(List filters, int offset, int length, String setSpec, Date from, Date until) throws OAIException { + public ListItemsResults getItems(List filters, int offset, int length, String setSpec, Instant from, Instant until) throws OAIException { logger.fine("calling getItems; offset=" + offset + ", length=" + length + ", setSpec=" + setSpec @@ -198,7 +235,33 @@ public ListItemsResults getItems(List filters, int offset, int len OAIRecord oaiRecord = oaiRecords.get(i); Dataset dataset = datasetService.findByGlobalId(oaiRecord.getGlobalId()); if (dataset != null) { - Xitem xItem = new Xitem(oaiRecord).withDataset(dataset); + // TODO: What if it is null? - i.e., what if the dataset with this + // global id no longer exists? We cannot serve it as an OAI Item; + // but skipping it, like we are doing now, is going to mess up + // the offsets and counts, if there is a Resumption Token + // involved! -- L.A. + + // TODO: we need to know the MetadataFormat requested, in + // order to look up the pre-generated metadata stream + // and create a CopyElement Metadata object out of it! + // (cheating/defaulting to dc for testing purposes, for now) + MetadataFormat metadataFormat = MetadataFormat.metadataFormat("oai_dc"); + + InputStream pregeneratedMetadataStream; + try { + pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataFormat.getPrefix()); + } catch (ExportException|IOException ex) { + // Again, this is not supposed to happen in normal operations; + // since by design only the datasets for which the metadata + // records have been pre-generated ("exported") should be + // served as "OAI Record". But, things happen. If for one + // reason or another that cached metadata file is no longer there, + // we are not going to serve this record. + continue; + } + + Metadata metadata = Metadata.copyFromStream(pregeneratedMetadataStream); + DataverseXoaiItem xItem = new DataverseXoaiItem(oaiRecord).withDataset(dataset).withMetadata(metadata); xoaiItems.add(xItem); } } @@ -214,9 +277,9 @@ public ListItemsResults getItems(List filters, int offset, int len return new ListItemsResults(false, xoaiItems); } - private void addExtraSets(Object xoaiItemsList, String setSpec, Date from, Date until) { + private void addExtraSets(Object xoaiItemsList, String setSpec, Instant from, Instant until) { - List xoaiItems = (List)xoaiItemsList; + List xoaiItems = (List)xoaiItemsList; List oaiRecords = recordService.findOaiRecordsNotInThisSet(setSpec, from, until); @@ -232,7 +295,7 @@ private void addExtraSets(Object xoaiItemsList, String setSpec, Date from, Date // fast-forward the second list, until we find a record with this identifier, // or until we are past this record (both lists are sorted alphabetically by // the identifier: - Xitem xitem = xoaiItems.get(i); + DataverseXoaiItem xitem = xoaiItems.get(i); while (j < oaiRecords.size() && xitem.getIdentifier().compareTo(oaiRecords.get(j).getGlobalId()) > 0) { j++; diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XsetRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java similarity index 78% rename from src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XsetRepository.java rename to src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java index 8e58e1bbf9a..3b2b3f3708b 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XsetRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java @@ -5,11 +5,11 @@ */ package edu.harvard.iq.dataverse.harvest.server.xoai; -import com.lyncode.xoai.model.xoai.Element; -import com.lyncode.xoai.dataprovider.repository.SetRepository; -import com.lyncode.xoai.dataprovider.handlers.results.ListSetsResult; -import com.lyncode.xoai.dataprovider.model.Set; -import com.lyncode.xoai.model.xoai.XOAIMetadata; +import io.gdcc.xoai.model.xoai.Element; +import io.gdcc.xoai.dataprovider.repository.SetRepository; +import io.gdcc.xoai.dataprovider.handlers.results.ListSetsResult; +import io.gdcc.xoai.dataprovider.model.Set; +import io.gdcc.xoai.model.xoai.XOAIMetadata; import edu.harvard.iq.dataverse.harvest.server.OAISet; import edu.harvard.iq.dataverse.harvest.server.OAISetServiceBean; @@ -21,12 +21,12 @@ * * @author Leonid Andreev */ -public class XsetRepository implements SetRepository { - private static Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.XsetRepository"); +public class DataverseXoaiSetRepository implements SetRepository { + private static Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiSetRepository"); private OAISetServiceBean setService; - public XsetRepository (OAISetServiceBean setService) { + public DataverseXoaiSetRepository (OAISetServiceBean setService) { super(); this.setService = setService; } @@ -62,11 +62,11 @@ public ListSetsResult retrieveSets(int offset, int length) { OAISet dataverseSet = dataverseOAISets.get(i); Set xoaiSet = new Set(dataverseSet.getSpec()); xoaiSet.withName(dataverseSet.getName()); - XOAIMetadata xMetadata = new XOAIMetadata(); + XOAIMetadata xoaiMetadata = new XOAIMetadata(); Element element = new Element("description"); element.withField("description", dataverseSet.getDescription()); - xMetadata.getElements().add(element); - xoaiSet.withDescription(xMetadata); + xoaiMetadata.getElements().add(element); + xoaiSet.withDescription(xoaiMetadata); XOAISets.add(xoaiSet); } } diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XdataProvider.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XdataProvider.java deleted file mode 100644 index 8ba8fe96bec..00000000000 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XdataProvider.java +++ /dev/null @@ -1,116 +0,0 @@ -package edu.harvard.iq.dataverse.harvest.server.xoai; - - -import com.lyncode.builder.Builder; -import com.lyncode.xoai.dataprovider.exceptions.*; -import com.lyncode.xoai.dataprovider.handlers.*; -import com.lyncode.xoai.exceptions.InvalidResumptionTokenException; -import com.lyncode.xoai.dataprovider.model.Context; -import com.lyncode.xoai.model.oaipmh.Identify; -import com.lyncode.xoai.model.oaipmh.OAIPMH; -import com.lyncode.xoai.model.oaipmh.Request; -import com.lyncode.xoai.dataprovider.parameters.OAICompiledRequest; -import com.lyncode.xoai.dataprovider.parameters.OAIRequest; -import com.lyncode.xoai.dataprovider.repository.Repository; -import com.lyncode.xoai.services.api.DateProvider; -import com.lyncode.xoai.services.impl.UTCDateProvider; -import static com.lyncode.xoai.dataprovider.parameters.OAIRequest.Parameter.*; - -import java.util.logging.Logger; - -/** - * - * @author Leonid Andreev - */ -public class XdataProvider { - private static Logger log = Logger.getLogger(XdataProvider.class.getCanonicalName()); - - public static XdataProvider dataProvider (Context context, Repository repository) { - return new XdataProvider(context, repository); - } - - private Repository repository; - private DateProvider dateProvider; - - private final IdentifyHandler identifyHandler; - private final XgetRecordHandler getRecordHandler; - private final ListSetsHandler listSetsHandler; - private final XlistRecordsHandler listRecordsHandler; - private final ListIdentifiersHandler listIdentifiersHandler; - private final ListMetadataFormatsHandler listMetadataFormatsHandler; - private final ErrorHandler errorsHandler; - - public XdataProvider (Context context, Repository repository) { - this.repository = repository; - this.dateProvider = new UTCDateProvider(); - - this.identifyHandler = new IdentifyHandler(context, repository); - this.listSetsHandler = new ListSetsHandler(context, repository); - this.listMetadataFormatsHandler = new ListMetadataFormatsHandler(context, repository); - this.listRecordsHandler = new XlistRecordsHandler(context, repository); - this.listIdentifiersHandler = new ListIdentifiersHandler(context, repository); - //this.getRecordHandler = new GetRecordHandler(context, repository); - this.getRecordHandler = new XgetRecordHandler(context, repository); - this.errorsHandler = new ErrorHandler(); - } - - public OAIPMH handle (Builder builder) throws OAIException { - return handle(builder.build()); - } - - public OAIPMH handle (OAIRequest requestParameters) throws OAIException { - log.fine("Handling OAI request"); - Request request = new Request(repository.getConfiguration().getBaseUrl()) - .withVerbType(requestParameters.get(Verb)) - .withResumptionToken(requestParameters.get(ResumptionToken)) - .withIdentifier(requestParameters.get(Identifier)) - .withMetadataPrefix(requestParameters.get(MetadataPrefix)) - .withSet(requestParameters.get(Set)) - .withFrom(requestParameters.get(From)) - .withUntil(requestParameters.get(Until)); - - OAIPMH response = new OAIPMH() - .withRequest(request) - .withResponseDate(dateProvider.now()); - try { - OAICompiledRequest parameters = compileParameters(requestParameters); - - switch (request.getVerbType()) { - case Identify: - Identify identify = identifyHandler.handle(parameters); - identify.getDescriptions().clear(); // We don't want to use the default description - response.withVerb(identify); - break; - case ListSets: - response.withVerb(listSetsHandler.handle(parameters)); - break; - case ListMetadataFormats: - response.withVerb(listMetadataFormatsHandler.handle(parameters)); - break; - case GetRecord: - response.withVerb(getRecordHandler.handle(parameters)); - break; - case ListIdentifiers: - response.withVerb(listIdentifiersHandler.handle(parameters)); - break; - case ListRecords: - response.withVerb(listRecordsHandler.handle(parameters)); - break; - } - } catch (HandlerException e) { - log.fine("HandlerException when executing "+request.getVerbType()+": " + e.getMessage()); - response.withError(errorsHandler.handle(e)); - } - - return response; - } - - private OAICompiledRequest compileParameters(OAIRequest requestParameters) throws IllegalVerbException, UnknownParameterException, BadArgumentException, DuplicateDefinitionException, BadResumptionToken { - try { - return requestParameters.compile(); - } catch (InvalidResumptionTokenException e) { - throw new BadResumptionToken("The resumption token is invalid"); - } - } - -} diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XgetRecord.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XgetRecord.java deleted file mode 100644 index d86f555d105..00000000000 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XgetRecord.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package edu.harvard.iq.dataverse.harvest.server.xoai; - -import com.lyncode.xoai.model.oaipmh.GetRecord; -import com.lyncode.xoai.model.oaipmh.Record; -import java.io.IOException; -import java.io.OutputStream; - -/** - * - * @author Leonid Andreev - * - * This is the Dataverse extension of XOAI GetRecord, - * optimized to stream individual records to the output directly - */ - -public class XgetRecord extends GetRecord { - private static final String RECORD_FIELD = "record"; - private static final String RECORD_START_ELEMENT = "<"+RECORD_FIELD+">"; - private static final String RECORD_CLOSE_ELEMENT = ""; - private static final String RESUMPTION_TOKEN_FIELD = "resumptionToken"; - private static final String EXPIRATION_DATE_ATTRIBUTE = "expirationDate"; - private static final String COMPLETE_LIST_SIZE_ATTRIBUTE = "completeListSize"; - private static final String CURSOR_ATTRIBUTE = "cursor"; - - - public XgetRecord(Xrecord record) { - super(record); - } - - public void writeToStream(OutputStream outputStream) throws IOException { - - if (this.getRecord() == null) { - throw new IOException("XgetRecord: null Record"); - } - Xrecord xrecord = (Xrecord) this.getRecord(); - - outputStream.write(RECORD_START_ELEMENT.getBytes()); - outputStream.flush(); - - xrecord.writeToStream(outputStream); - - outputStream.write(RECORD_CLOSE_ELEMENT.getBytes()); - outputStream.flush(); - - } - -} diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XgetRecordHandler.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XgetRecordHandler.java deleted file mode 100644 index ba28894482a..00000000000 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XgetRecordHandler.java +++ /dev/null @@ -1,92 +0,0 @@ -package edu.harvard.iq.dataverse.harvest.server.xoai; - -import com.lyncode.xml.exceptions.XmlWriteException; -import com.lyncode.xoai.dataprovider.exceptions.BadArgumentException; -import com.lyncode.xoai.dataprovider.exceptions.CannotDisseminateFormatException; -import com.lyncode.xoai.dataprovider.parameters.OAICompiledRequest; -import com.lyncode.xoai.dataprovider.exceptions.CannotDisseminateRecordException; -import com.lyncode.xoai.dataprovider.exceptions.HandlerException; -import com.lyncode.xoai.dataprovider.exceptions.IdDoesNotExistException; -import com.lyncode.xoai.dataprovider.exceptions.NoMetadataFormatsException; -import com.lyncode.xoai.dataprovider.exceptions.OAIException; -import com.lyncode.xoai.dataprovider.handlers.VerbHandler; -import com.lyncode.xoai.dataprovider.handlers.helpers.ItemHelper; -import com.lyncode.xoai.dataprovider.model.Context; -import com.lyncode.xoai.dataprovider.model.Item; -import com.lyncode.xoai.dataprovider.model.MetadataFormat; -import com.lyncode.xoai.dataprovider.model.Set; -import com.lyncode.xoai.model.oaipmh.*; -import com.lyncode.xoai.dataprovider.repository.Repository; -import com.lyncode.xoai.xml.XSLPipeline; -import com.lyncode.xoai.xml.XmlWriter; -import edu.harvard.iq.dataverse.Dataset; - -import javax.xml.stream.XMLStreamException; -import javax.xml.transform.TransformerException; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.logging.Logger; - -/* - * @author Leonid Andreev -*/ -public class XgetRecordHandler extends VerbHandler { - private static Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.XgetRecordHandler"); - public XgetRecordHandler(Context context, Repository repository) { - super(context, repository); - } - - @Override - public GetRecord handle(OAICompiledRequest parameters) throws OAIException, HandlerException { - - MetadataFormat format = getContext().formatForPrefix(parameters.getMetadataPrefix()); - Item item = getRepository().getItemRepository().getItem(parameters.getIdentifier()); - - if (getContext().hasCondition() && - !getContext().getCondition().getFilter(getRepository().getFilterResolver()).isItemShown(item)) - throw new IdDoesNotExistException("This context does not include this item"); - - if (format.hasCondition() && - !format.getCondition().getFilter(getRepository().getFilterResolver()).isItemShown(item)) - throw new CannotDisseminateRecordException("Format not applicable to this item"); - - - Xrecord record = this.createRecord(parameters, item); - GetRecord result = new XgetRecord(record); - - return result; - } - - private Xrecord createRecord(OAICompiledRequest parameters, Item item) - throws BadArgumentException, CannotDisseminateRecordException, - OAIException, NoMetadataFormatsException, CannotDisseminateFormatException { - MetadataFormat format = getContext().formatForPrefix(parameters.getMetadataPrefix()); - Header header = new Header(); - - Dataset dataset = ((Xitem)item).getDataset(); - Xrecord xrecord = new Xrecord().withFormatName(parameters.getMetadataPrefix()).withDataset(dataset); - header.withIdentifier(item.getIdentifier()); - - ItemHelper itemHelperWrap = new ItemHelper(item); - header.withDatestamp(item.getDatestamp()); - for (Set set : itemHelperWrap.getSets(getContext(), getRepository().getFilterResolver())) - header.withSetSpec(set.getSpec()); - if (item.isDeleted()) - header.withStatus(Header.Status.DELETED); - - xrecord.withHeader(header); - xrecord.withMetadata(item.getMetadata()); - - return xrecord; - } - - private XSLPipeline toPipeline(Item item) throws XmlWriteException, XMLStreamException { - ByteArrayOutputStream output = new ByteArrayOutputStream(); - XmlWriter writer = new XmlWriter(output); - Metadata metadata = item.getMetadata(); - metadata.write(writer); - writer.close(); - return new XSLPipeline(new ByteArrayInputStream(output.toByteArray()), true); - } -} diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XlistRecords.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XlistRecords.java deleted file mode 100644 index 15bd005cacf..00000000000 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XlistRecords.java +++ /dev/null @@ -1,86 +0,0 @@ -package edu.harvard.iq.dataverse.harvest.server.xoai; - -import com.lyncode.xml.exceptions.XmlWriteException; -import static com.lyncode.xoai.model.oaipmh.Granularity.Second; -import com.lyncode.xoai.model.oaipmh.ListRecords; -import com.lyncode.xoai.model.oaipmh.Record; -import com.lyncode.xoai.model.oaipmh.ResumptionToken; -import com.lyncode.xoai.xml.XmlWriter; -import static com.lyncode.xoai.xml.XmlWriter.defaultContext; -import java.io.ByteArrayOutputStream; - -import java.io.IOException; -import java.io.OutputStream; -import javax.xml.stream.XMLStreamException; - -/** - * - * @author Leonid Andreev - * - * This is the Dataverse extension of XOAI ListRecords, - * optimized to stream individual records using fast dumping - * of pre-exported metadata fragments (and by-passing expensive - * XML parsing and writing). - */ -public class XlistRecords extends ListRecords { - private static final String RECORD_FIELD = "record"; - private static final String RECORD_START_ELEMENT = "<"+RECORD_FIELD+">"; - private static final String RECORD_CLOSE_ELEMENT = ""; - private static final String RESUMPTION_TOKEN_FIELD = "resumptionToken"; - private static final String EXPIRATION_DATE_ATTRIBUTE = "expirationDate"; - private static final String COMPLETE_LIST_SIZE_ATTRIBUTE = "completeListSize"; - private static final String CURSOR_ATTRIBUTE = "cursor"; - - public void writeToStream(OutputStream outputStream) throws IOException { - if (!this.records.isEmpty()) { - for (Record record : this.records) { - outputStream.write(RECORD_START_ELEMENT.getBytes()); - outputStream.flush(); - - ((Xrecord)record).writeToStream(outputStream); - - outputStream.write(RECORD_CLOSE_ELEMENT.getBytes()); - outputStream.flush(); - } - } - - if (resumptionToken != null) { - - String resumptionTokenString = resumptionTokenToString(resumptionToken); - if (resumptionTokenString == null) { - throw new IOException("XlistRecords: failed to output resumption token"); - } - outputStream.write(resumptionTokenString.getBytes()); - outputStream.flush(); - } - } - - private String resumptionTokenToString(ResumptionToken token) { - try { - ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream(); - XmlWriter writer = new XmlWriter(byteOutputStream, defaultContext()); - - writer.writeStartElement(RESUMPTION_TOKEN_FIELD); - - if (token.getExpirationDate() != null) - writer.writeAttribute(EXPIRATION_DATE_ATTRIBUTE, token.getExpirationDate(), Second); - if (token.getCompleteListSize() != null) - writer.writeAttribute(COMPLETE_LIST_SIZE_ATTRIBUTE, "" + token.getCompleteListSize()); - if (token.getCursor() != null) - writer.writeAttribute(CURSOR_ATTRIBUTE, "" + token.getCursor()); - if (token.getValue() != null) - writer.write(token.getValue()); - - writer.writeEndElement(); // resumptionToken; - writer.flush(); - writer.close(); - - String ret = byteOutputStream.toString(); - - return ret; - } catch (XMLStreamException | XmlWriteException e) { - return null; - } - } - -} diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XlistRecordsHandler.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XlistRecordsHandler.java deleted file mode 100644 index 8fe13bc4044..00000000000 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XlistRecordsHandler.java +++ /dev/null @@ -1,168 +0,0 @@ -package edu.harvard.iq.dataverse.harvest.server.xoai; - -import com.lyncode.xml.exceptions.XmlWriteException; -import com.lyncode.xoai.dataprovider.exceptions.BadArgumentException; -import com.lyncode.xoai.dataprovider.exceptions.CannotDisseminateFormatException; -import com.lyncode.xoai.dataprovider.exceptions.CannotDisseminateRecordException; -import com.lyncode.xoai.dataprovider.exceptions.DoesNotSupportSetsException; -import com.lyncode.xoai.dataprovider.exceptions.HandlerException; -import com.lyncode.xoai.dataprovider.exceptions.NoMatchesException; -import com.lyncode.xoai.dataprovider.exceptions.NoMetadataFormatsException; -import com.lyncode.xoai.dataprovider.exceptions.OAIException; -import com.lyncode.xoai.dataprovider.handlers.VerbHandler; -import com.lyncode.xoai.dataprovider.handlers.results.ListItemsResults; -import com.lyncode.xoai.dataprovider.handlers.helpers.ItemHelper; -import com.lyncode.xoai.dataprovider.handlers.helpers.ItemRepositoryHelper; -import com.lyncode.xoai.dataprovider.handlers.helpers.SetRepositoryHelper; -import com.lyncode.xoai.dataprovider.model.Context; -import com.lyncode.xoai.dataprovider.model.Item; -import com.lyncode.xoai.dataprovider.model.MetadataFormat; -import com.lyncode.xoai.dataprovider.model.Set; -import com.lyncode.xoai.dataprovider.parameters.OAICompiledRequest; -import com.lyncode.xoai.dataprovider.repository.Repository; -import com.lyncode.xoai.model.oaipmh.Header; -import com.lyncode.xoai.model.oaipmh.ListRecords; -import com.lyncode.xoai.model.oaipmh.Metadata; -import com.lyncode.xoai.model.oaipmh.Record; -import com.lyncode.xoai.model.oaipmh.ResumptionToken; -import com.lyncode.xoai.xml.XSLPipeline; -import com.lyncode.xoai.xml.XmlWriter; -import edu.harvard.iq.dataverse.Dataset; - -import javax.xml.stream.XMLStreamException; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.util.List; - -/** - * - * @author Leonid Andreev - * - * This is Dataverse's own implementation of ListRecords Verb Handler - * (used instead of the ListRecordsHandler provided by XOAI). - * It is customized to support the optimizations that allows - * Dataverse to directly output pre-exported metadata records to the output - * stream, bypassing expensive XML parsing and writing. - */ -public class XlistRecordsHandler extends VerbHandler { - private static java.util.logging.Logger logger = java.util.logging.Logger.getLogger("XlistRecordsHandler"); - private final ItemRepositoryHelper itemRepositoryHelper; - private final SetRepositoryHelper setRepositoryHelper; - - public XlistRecordsHandler(Context context, Repository repository) { - super(context, repository); - this.itemRepositoryHelper = new ItemRepositoryHelper(getRepository().getItemRepository()); - this.setRepositoryHelper = new SetRepositoryHelper(getRepository().getSetRepository()); - } - - @Override - public ListRecords handle(OAICompiledRequest parameters) throws OAIException, HandlerException { - XlistRecords res = new XlistRecords(); - int length = getRepository().getConfiguration().getMaxListRecords(); - - if (parameters.hasSet() && !getRepository().getSetRepository().supportSets()) - throw new DoesNotSupportSetsException(); - - int offset = getOffset(parameters); - ListItemsResults result; - if (!parameters.hasSet()) { - if (parameters.hasFrom() && !parameters.hasUntil()) - result = itemRepositoryHelper.getItems(getContext(), offset, - length, parameters.getMetadataPrefix(), - parameters.getFrom()); - else if (!parameters.hasFrom() && parameters.hasUntil()) - result = itemRepositoryHelper.getItemsUntil(getContext(), offset, - length, parameters.getMetadataPrefix(), - parameters.getUntil()); - else if (parameters.hasFrom() && parameters.hasUntil()) - result = itemRepositoryHelper.getItems(getContext(), offset, - length, parameters.getMetadataPrefix(), - parameters.getFrom(), parameters.getUntil()); - else - result = itemRepositoryHelper.getItems(getContext(), offset, - length, parameters.getMetadataPrefix()); - } else { - if (!setRepositoryHelper.exists(getContext(), parameters.getSet())) { - // throw new NoMatchesException(); - } - if (parameters.hasFrom() && !parameters.hasUntil()) - result = itemRepositoryHelper.getItems(getContext(), offset, - length, parameters.getMetadataPrefix(), - parameters.getSet(), parameters.getFrom()); - else if (!parameters.hasFrom() && parameters.hasUntil()) - result = itemRepositoryHelper.getItemsUntil(getContext(), offset, - length, parameters.getMetadataPrefix(), - parameters.getSet(), parameters.getUntil()); - else if (parameters.hasFrom() && parameters.hasUntil()) - result = itemRepositoryHelper.getItems(getContext(), offset, - length, parameters.getMetadataPrefix(), - parameters.getSet(), parameters.getFrom(), - parameters.getUntil()); - else - result = itemRepositoryHelper.getItems(getContext(), offset, - length, parameters.getMetadataPrefix(), - parameters.getSet()); - } - - List results = result.getResults(); - if (results.isEmpty()) throw new NoMatchesException(); - for (Item i : results) - res.withRecord(this.createRecord(parameters, i)); - - - ResumptionToken.Value currentResumptionToken = new ResumptionToken.Value(); - if (parameters.hasResumptionToken()) { - currentResumptionToken = parameters.getResumptionToken(); - } else if (result.hasMore()) { - currentResumptionToken = parameters.extractResumptionToken(); - } - - XresumptionTokenHelper resumptionTokenHelper = new XresumptionTokenHelper(currentResumptionToken, - getRepository().getConfiguration().getMaxListRecords()); - res.withResumptionToken(resumptionTokenHelper.resolve(result.hasMore())); - - return res; - } - - - private int getOffset(OAICompiledRequest parameters) { - if (!parameters.hasResumptionToken()) - return 0; - if (parameters.getResumptionToken().getOffset() == null) - return 0; - return parameters.getResumptionToken().getOffset().intValue(); - } - - private Record createRecord(OAICompiledRequest parameters, Item item) - throws BadArgumentException, CannotDisseminateRecordException, - OAIException, NoMetadataFormatsException, CannotDisseminateFormatException { - MetadataFormat format = getContext().formatForPrefix(parameters.getMetadataPrefix()); - Header header = new Header(); - - Dataset dataset = ((Xitem)item).getDataset(); - Xrecord xrecord = new Xrecord().withFormatName(parameters.getMetadataPrefix()).withDataset(dataset); - header.withIdentifier(item.getIdentifier()); - - ItemHelper itemHelperWrap = new ItemHelper(item); - header.withDatestamp(item.getDatestamp()); - for (Set set : itemHelperWrap.getSets(getContext(), getRepository().getFilterResolver())) - header.withSetSpec(set.getSpec()); - if (item.isDeleted()) - header.withStatus(Header.Status.DELETED); - - xrecord.withHeader(header); - xrecord.withMetadata(item.getMetadata()); - - return xrecord; - } - - - private XSLPipeline toPipeline(Item item) throws XmlWriteException, XMLStreamException { - ByteArrayOutputStream output = new ByteArrayOutputStream(); - XmlWriter writer = new XmlWriter(output); - Metadata metadata = item.getMetadata(); - metadata.write(writer); - writer.close(); - return new XSLPipeline(new ByteArrayInputStream(output.toByteArray()), true); - } -} diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xmetadata.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xmetadata.java deleted file mode 100644 index 225b9b13777..00000000000 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xmetadata.java +++ /dev/null @@ -1,27 +0,0 @@ - -package edu.harvard.iq.dataverse.harvest.server.xoai; - -import com.lyncode.xml.exceptions.XmlWriteException; -import com.lyncode.xoai.model.oaipmh.Metadata; -import com.lyncode.xoai.xml.XmlWriter; - -/** - * - * @author Leonid Andreev - */ -public class Xmetadata extends Metadata { - - - public Xmetadata(String value) { - super(value); - } - - - @Override - public void write(XmlWriter writer) throws XmlWriteException { - // Do nothing! - // - rather than writing Metadata as an XML writer stram, we will write - // the pre-exported *and pre-validated* content as a byte stream, directly. - } - -} diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xrecord.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xrecord.java deleted file mode 100644 index 7e115c78f06..00000000000 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/Xrecord.java +++ /dev/null @@ -1,184 +0,0 @@ -package edu.harvard.iq.dataverse.harvest.server.xoai; - -import com.lyncode.xoai.model.oaipmh.Header; -import com.lyncode.xoai.model.oaipmh.Record; -import com.lyncode.xoai.xml.XmlWriter; -import static com.lyncode.xoai.xml.XmlWriter.defaultContext; - -import edu.harvard.iq.dataverse.Dataset; -import edu.harvard.iq.dataverse.export.ExportException; -import edu.harvard.iq.dataverse.export.ExportService; -import static edu.harvard.iq.dataverse.util.SystemConfig.FQDN; -import static edu.harvard.iq.dataverse.util.SystemConfig.SITE_URL; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.InetAddress; -import java.net.UnknownHostException; -import org.apache.poi.util.ReplacingInputStream; - -/** - * - * @author Leonid Andreev - * - * This is the Dataverse extension of XOAI Record, - * optimized to directly output a pre-exported metadata record to the - * output stream, thus by-passing expensive parsing and writing by - * an XML writer, as in the original XOAI implementation. - */ - -public class Xrecord extends Record { - private static final String METADATA_FIELD = "metadata"; - private static final String METADATA_START_ELEMENT = "<"+METADATA_FIELD+">"; - private static final String METADATA_END_ELEMENT = ""; - private static final String HEADER_FIELD = "header"; - private static final String STATUS_ATTRIBUTE = "status"; - private static final String IDENTIFIER_FIELD = "identifier"; - private static final String DATESTAMP_FIELD = "datestamp"; - private static final String SETSPEC_FIELD = "setSpec"; - private static final String DATAVERSE_EXTENDED_METADATA_FORMAT = "dataverse_json"; - private static final String DATAVERSE_EXTENDED_METADATA_API = "/api/datasets/export"; - - protected Dataset dataset; - protected String formatName; - - - public Dataset getDataset() { - return dataset; - } - - public Xrecord withDataset(Dataset dataset) { - this.dataset = dataset; - return this; - } - - - public String getFormatName() { - return formatName; - } - - - public Xrecord withFormatName(String formatName) { - this.formatName = formatName; - return this; - } - - public void writeToStream(OutputStream outputStream) throws IOException { - outputStream.flush(); - - String headerString = itemHeaderToString(this.header); - - if (headerString == null) { - throw new IOException("Xrecord: failed to stream item header."); - } - - outputStream.write(headerString.getBytes()); - - // header.getStatus() is only non-null when it's indicating "deleted". - if (header.getStatus() == null) { // Deleted records should not show metadata - if (!isExtendedDataverseMetadataMode(formatName)) { - outputStream.write(METADATA_START_ELEMENT.getBytes()); - - outputStream.flush(); - - if (dataset != null && formatName != null) { - InputStream inputStream = null; - try { - inputStream = new ReplacingInputStream( - ExportService.getInstance().getExport(dataset, formatName), - "", - "" - ); - } catch (ExportException ex) { - inputStream = null; - } - - if (inputStream == null) { - throw new IOException("Xrecord: failed to open metadata stream."); - } - writeMetadataStream(inputStream, outputStream); - } - outputStream.write(METADATA_END_ELEMENT.getBytes()); - } else { - outputStream.write(customMetadataExtensionRef(this.dataset.getGlobalIdString()).getBytes()); - } - } - outputStream.flush(); - } - - private String itemHeaderToString(Header header) { - try { - ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream(); - XmlWriter writer = new XmlWriter(byteOutputStream, defaultContext()); - - writer.writeStartElement(HEADER_FIELD); - - if (header.getStatus() != null) { - writer.writeAttribute(STATUS_ATTRIBUTE, header.getStatus().value()); - } - writer.writeElement(IDENTIFIER_FIELD, header.getIdentifier()); - writer.writeElement(DATESTAMP_FIELD, header.getDatestamp()); - for (String setSpec : header.getSetSpecs()) { - writer.writeElement(SETSPEC_FIELD, setSpec); - } - writer.writeEndElement(); // header - writer.flush(); - writer.close(); - - String ret = byteOutputStream.toString(); - - return ret; - } catch (Exception ex) { - return null; - } - } - - private void writeMetadataStream(InputStream inputStream, OutputStream outputStream) throws IOException { - int bufsize; - byte[] buffer = new byte[4 * 8192]; - - while ((bufsize = inputStream.read(buffer)) != -1) { - outputStream.write(buffer, 0, bufsize); - outputStream.flush(); - } - - inputStream.close(); - } - - private String customMetadataExtensionRef(String identifier) { - String ret = "<" + METADATA_FIELD - + " directApiCall=\"" - + getDataverseSiteUrl() - + DATAVERSE_EXTENDED_METADATA_API - + "?exporter=" - + DATAVERSE_EXTENDED_METADATA_FORMAT - + "&persistentId=" - + identifier - + "\"" - + "/>"; - - return ret; - } - - private boolean isExtendedDataverseMetadataMode(String formatName) { - return DATAVERSE_EXTENDED_METADATA_FORMAT.equals(formatName); - } - - private String getDataverseSiteUrl() { - String hostUrl = System.getProperty(SITE_URL); - if (hostUrl != null && !"".equals(hostUrl)) { - return hostUrl; - } - String hostName = System.getProperty(FQDN); - if (hostName == null) { - try { - hostName = InetAddress.getLocalHost().getCanonicalHostName(); - } catch (UnknownHostException e) { - return null; - } - } - hostUrl = "https://" + hostName; - return hostUrl; - } -} diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XresumptionTokenHelper.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XresumptionTokenHelper.java deleted file mode 100644 index 7f9eac2cbe8..00000000000 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/XresumptionTokenHelper.java +++ /dev/null @@ -1,61 +0,0 @@ - -package edu.harvard.iq.dataverse.harvest.server.xoai; - -import com.lyncode.xoai.dataprovider.handlers.helpers.ResumptionTokenHelper; -import com.lyncode.xoai.model.oaipmh.ResumptionToken; -import static java.lang.Math.round; -import static com.google.common.base.Predicates.isNull; - -/** - * - * @author Leonid Andreev - * Dataverse's own version of the XOAI ResumptionTokenHelper - * Fixes the issue with the offset cursor: the OAI validation spec - * insists that it starts with 0, while the XOAI implementation uses 1 - * as the initial offset. - */ -public class XresumptionTokenHelper { - - private ResumptionToken.Value current; - private long maxPerPage; - private Long totalResults; - - public XresumptionTokenHelper(ResumptionToken.Value current, long maxPerPage) { - this.current = current; - this.maxPerPage = maxPerPage; - } - - public XresumptionTokenHelper withTotalResults(long totalResults) { - this.totalResults = totalResults; - return this; - } - - public ResumptionToken resolve (boolean hasMoreResults) { - if (isInitialOffset() && !hasMoreResults) return null; - else { - if (hasMoreResults) { - ResumptionToken.Value next = current.next(maxPerPage); - return populate(new ResumptionToken(next)); - } else { - ResumptionToken resumptionToken = new ResumptionToken(); - resumptionToken.withCursor(round((current.getOffset()) / maxPerPage)); - if (totalResults != null) - resumptionToken.withCompleteListSize(totalResults); - return resumptionToken; - } - } - } - - private boolean isInitialOffset() { - return isNull().apply(current.getOffset()) || current.getOffset() == 0; - } - - private ResumptionToken populate(ResumptionToken resumptionToken) { - if (totalResults != null) - resumptionToken.withCompleteListSize(totalResults); - resumptionToken.withCursor(round((resumptionToken.getValue().getOffset() - maxPerPage)/ maxPerPage)); - return resumptionToken; - } - - -} From 7cc0a44300a389abf0492936e3d7e949a7fde588 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Mon, 23 May 2022 09:04:51 -0400 Subject: [PATCH 02/33] adding a quick todo: (#8372) --- .../harvest/server/xoai/DataverseXoaiItemRepository.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index 58d19f40d2d..49c2a190132 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -78,6 +78,9 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws IdD // This should not happen - but if there are no longer datasets // associated with this persistent identifier, we should simply // bail out. + // TODO: double-check what happens/what NEEDS to happen + // when somebody tries to call GetRecord on a DELETED + // OAI Record! break; } @@ -235,11 +238,7 @@ public ListItemsResults getItems(List filters, int offset, int len OAIRecord oaiRecord = oaiRecords.get(i); Dataset dataset = datasetService.findByGlobalId(oaiRecord.getGlobalId()); if (dataset != null) { - // TODO: What if it is null? - i.e., what if the dataset with this - // global id no longer exists? We cannot serve it as an OAI Item; - // but skipping it, like we are doing now, is going to mess up - // the offsets and counts, if there is a Resumption Token - // involved! -- L.A. + // TODO: This needs to handle DELETED OAI records properly! -- L.A. // TODO: we need to know the MetadataFormat requested, in // order to look up the pre-generated metadata stream From 0f137b1e3106a68fc837abc9d012d5cfaa13d0fd Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Tue, 24 May 2022 14:21:39 -0400 Subject: [PATCH 03/33] addresses handling of deleted OAI records in the items repository implementation. (#8372) --- .../xoai/DataverseXoaiItemRepository.java | 138 +++++++++++------- 1 file changed, 89 insertions(+), 49 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index 49c2a190132..ae11279cac4 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -73,32 +73,51 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws IdD DataverseXoaiItem xoaiItem = null; for (OAIRecord record : oaiRecords) { if (xoaiItem == null) { - Dataset dataset = datasetService.findByGlobalId(record.getGlobalId()); - if (dataset == null) { - // This should not happen - but if there are no longer datasets - // associated with this persistent identifier, we should simply - // bail out. - // TODO: double-check what happens/what NEEDS to happen - // when somebody tries to call GetRecord on a DELETED - // OAI Record! - break; - } + xoaiItem = new DataverseXoaiItem(record); - InputStream pregeneratedMetadataStream; - try { - pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataFormat.getPrefix()); - } catch (ExportException|IOException ex) { - // Again, this is not supposed to happen in normal operations; - // since by design only the datasets for which the metadata - // records have been pre-generated ("exported") should be - // served as "OAI Record". But, things happen. If for one - // reason or another that cached metadata file is no longer there, - // we are not going to serve this record. - break; - } + // If this is a "deleted" OAI record - i.e., if someone + // has called GetRecord on a deleted record (??), our + // job here is done. If it's a live record, let's try to + // look up the dataset and open the pre-generated metadata + // stream. - Metadata metadata = Metadata.copyFromStream(pregeneratedMetadataStream); - xoaiItem = new DataverseXoaiItem(record).withDataset(dataset).withMetadata(metadata); + if (!record.isRemoved()) { + Dataset dataset = datasetService.findByGlobalId(record.getGlobalId()); + if (dataset == null) { + // This should not happen - but if there are no longer datasets + // associated with this persistent identifier, we should simply + // bail out. + // TODO: Consider an alternative - instead of throwing + // an IdDoesNotExist exception, mark the record as + // "deleted" and serve it to the client (?). For all practical + // purposes, this is what this record represents - it's + // still in the database as part of an OAI set; but the + // corresponding dataset no longer exists, because it + // must have been deleted. + // i.e. + // xoaiItem.getOaiRecord().setRemoved(true); + break; + } + + InputStream pregeneratedMetadataStream; + try { + pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataFormat.getPrefix()); + } catch (ExportException | IOException ex) { + // Again, this is not supposed to happen in normal operations; + // since by design only the datasets for which the metadata + // records have been pre-generated ("exported") should be + // served as "OAI Record". But, things happen. If for one + // reason or another that cached metadata file is no longer there, + // we are not going to serve this record. + // TODO: see the comment above; and consider + // xoaiItem.getOaiRecord().setRemoved(true); + // instead. + break; + } + + Metadata metadata = Metadata.copyFromStream(pregeneratedMetadataStream); + xoaiItem.withDataset(dataset).withMetadata(metadata); + } } else { // Adding extra set specs to the XOAI Item, if this record // is part of multiple sets: @@ -236,33 +255,55 @@ public ListItemsResults getItems(List filters, int offset, int len for (int i = offset; i < offset + length && i < oaiRecords.size(); i++) { OAIRecord oaiRecord = oaiRecords.get(i); - Dataset dataset = datasetService.findByGlobalId(oaiRecord.getGlobalId()); - if (dataset != null) { - // TODO: This needs to handle DELETED OAI records properly! -- L.A. - - // TODO: we need to know the MetadataFormat requested, in - // order to look up the pre-generated metadata stream - // and create a CopyElement Metadata object out of it! - // (cheating/defaulting to dc for testing purposes, for now) - MetadataFormat metadataFormat = MetadataFormat.metadataFormat("oai_dc"); + + DataverseXoaiItem xoaiItem = new DataverseXoaiItem(oaiRecord); + + // This may be a "deleted" OAI record - i.e., a record kept in + // the OAI set for a dataset that's no longer in this Dataverse. + // (it serves to tell the remote client to delete it from their + // holdings too). + // If this is the case here, our job is done with this record. + // If not, if it's a live record, let's try to + // look up the dataset and open the pre-generated metadata + // stream. + + if (!oaiRecord.isRemoved()) { + Dataset dataset = datasetService.findByGlobalId(oaiRecord.getGlobalId()); + if (dataset != null) { + // TODO: we need to know the MetadataFormat requested, in + // order to look up the pre-generated metadata stream + // and create a CopyElement Metadata object out of it! + // (cheating/defaulting to dc for testing purposes, for now) + MetadataFormat metadataFormat = MetadataFormat.metadataFormat("oai_dc"); - InputStream pregeneratedMetadataStream; - try { - pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataFormat.getPrefix()); - } catch (ExportException|IOException ex) { - // Again, this is not supposed to happen in normal operations; - // since by design only the datasets for which the metadata - // records have been pre-generated ("exported") should be - // served as "OAI Record". But, things happen. If for one - // reason or another that cached metadata file is no longer there, - // we are not going to serve this record. - continue; + InputStream pregeneratedMetadataStream; + try { + pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataFormat.getPrefix()); + + Metadata metadata = Metadata.copyFromStream(pregeneratedMetadataStream); + xoaiItem.withDataset(dataset).withMetadata(metadata); + } catch (ExportException|IOException ex) { + // Again, this is not supposed to happen in normal operations; + // since by design only the datasets for which the metadata + // records have been pre-generated ("exported") should be + // served as "OAI Record". But, things happen. If for one + // reason or another that cached metadata file is no longer there, + // we are not going to serve any metadata for this record, + // BUT we are going to include it marked as "deleted" + // (because skipping it could potentially mess up the + // counts and offsets, in a resumption token scenario. + xoaiItem.getOaiRecord().setRemoved(true); + } + } else { + // If dataset (somehow) no longer exists (again, this is + // not supposed to happen), we will serve the record, + // marked as "deleted" and without any metadata. + // We can't just skip it, because that could mess up the + // counts and offsets, in a resumption token scenario. + xoaiItem.getOaiRecord().setRemoved(true); } - - Metadata metadata = Metadata.copyFromStream(pregeneratedMetadataStream); - DataverseXoaiItem xItem = new DataverseXoaiItem(oaiRecord).withDataset(dataset).withMetadata(metadata); - xoaiItems.add(xItem); } + xoaiItems.add(xoaiItem); } addExtraSets(xoaiItems, setSpec, from, until); @@ -305,6 +346,5 @@ private void addExtraSets(Object xoaiItemsList, String setSpec, Instant from, In j++; } } - } } From a27768e2c8a4a8e6c8f6283a21119dae2b3bcc17 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Tue, 24 May 2022 15:30:37 -0400 Subject: [PATCH 04/33] cosmetic/comments (#8372) --- .../server/web/servlet/OAIServlet.java | 10 ++-- .../xoai/DataverseXoaiItemRepository.java | 47 ++++++++++--------- 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index 90b425b8e2b..4fd7c3a6a53 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -243,16 +243,16 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp OAIPMH handle = dataProvider.handle(parametersBuilder); response.setContentType("text/xml;charset=UTF-8"); - + /* if (isGetRecord(request) && !handle.hasErrors()) { writeGetRecord(response, handle); } else if (isListRecords(request) && !handle.hasErrors()) { writeListRecords(response, handle); } else { */ - XmlWriter xmlWriter = new XmlWriter(response.getOutputStream()); - xmlWriter.write(handle); - xmlWriter.flush(); - xmlWriter.close(); + XmlWriter xmlWriter = new XmlWriter(response.getOutputStream()); + xmlWriter.write(handle); + xmlWriter.flush(); + xmlWriter.close(); /* } */ } catch (IOException ex) { diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index ae11279cac4..bc1a6e4b619 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -71,26 +71,26 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws IdD List oaiRecords = recordService.findOaiRecordsByGlobalId(identifier); if (oaiRecords != null && !oaiRecords.isEmpty()) { DataverseXoaiItem xoaiItem = null; - for (OAIRecord record : oaiRecords) { + for (OAIRecord oaiRecord : oaiRecords) { if (xoaiItem == null) { - xoaiItem = new DataverseXoaiItem(record); + xoaiItem = new DataverseXoaiItem(oaiRecord); - // If this is a "deleted" OAI record - i.e., if someone - // has called GetRecord on a deleted record (??), our - // job here is done. If it's a live record, let's try to + // If this is a "deleted" OAI oaiRecord - i.e., if someone + // has called GetRecord on a deleted oaiRecord (??), our + // job here is done. If it's a live oaiRecord, let's try to // look up the dataset and open the pre-generated metadata // stream. - if (!record.isRemoved()) { - Dataset dataset = datasetService.findByGlobalId(record.getGlobalId()); + if (!oaiRecord.isRemoved()) { + Dataset dataset = datasetService.findByGlobalId(oaiRecord.getGlobalId()); if (dataset == null) { // This should not happen - but if there are no longer datasets // associated with this persistent identifier, we should simply // bail out. // TODO: Consider an alternative - instead of throwing - // an IdDoesNotExist exception, mark the record as + // an IdDoesNotExist exception, mark the oaiRecord as // "deleted" and serve it to the client (?). For all practical - // purposes, this is what this record represents - it's + // purposes, this is what this oaiRecord represents - it's // still in the database as part of an OAI set; but the // corresponding dataset no longer exists, because it // must have been deleted. @@ -108,7 +108,7 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws IdD // records have been pre-generated ("exported") should be // served as "OAI Record". But, things happen. If for one // reason or another that cached metadata file is no longer there, - // we are not going to serve this record. + // we are not going to serve this oaiRecord. // TODO: see the comment above; and consider // xoaiItem.getOaiRecord().setRemoved(true); // instead. @@ -119,10 +119,10 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws IdD xoaiItem.withDataset(dataset).withMetadata(metadata); } } else { - // Adding extra set specs to the XOAI Item, if this record + // Adding extra set specs to the XOAI Item, if this oaiRecord // is part of multiple sets: - if (!StringUtil.isEmpty(record.getSetName())) { - xoaiItem.getSets().add(new Set(record.getSetName())); + if (!StringUtil.isEmpty(oaiRecord.getSetName())) { + xoaiItem.getSets().add(new Set(oaiRecord.getSetName())); } } } @@ -258,19 +258,24 @@ public ListItemsResults getItems(List filters, int offset, int len DataverseXoaiItem xoaiItem = new DataverseXoaiItem(oaiRecord); - // This may be a "deleted" OAI record - i.e., a record kept in + // This may be a "deleted" OAI oaiRecord - i.e., a oaiRecord kept in // the OAI set for a dataset that's no longer in this Dataverse. // (it serves to tell the remote client to delete it from their // holdings too). - // If this is the case here, our job is done with this record. - // If not, if it's a live record, let's try to + // If this is the case here, our job is done with this oaiRecord. + // If not, if it's a live oaiRecord, let's try to // look up the dataset and open the pre-generated metadata // stream. if (!oaiRecord.isRemoved()) { Dataset dataset = datasetService.findByGlobalId(oaiRecord.getGlobalId()); if (dataset != null) { - // TODO: we need to know the MetadataFormat requested, in + // TODO: (on the GDCC side?) + // (do we simply offer versions of each of all these methods + // with the extra MetadataFormat argument, like we did with getItem()? + // or do we define a condition/filter indicating "stream + // pre-generated" and encoding the format name?) + // we need to know the MetadataFormat requested, in // order to look up the pre-generated metadata stream // and create a CopyElement Metadata object out of it! // (cheating/defaulting to dc for testing purposes, for now) @@ -288,7 +293,7 @@ public ListItemsResults getItems(List filters, int offset, int len // records have been pre-generated ("exported") should be // served as "OAI Record". But, things happen. If for one // reason or another that cached metadata file is no longer there, - // we are not going to serve any metadata for this record, + // we are not going to serve any metadata for this oaiRecord, // BUT we are going to include it marked as "deleted" // (because skipping it could potentially mess up the // counts and offsets, in a resumption token scenario. @@ -296,7 +301,7 @@ public ListItemsResults getItems(List filters, int offset, int len } } else { // If dataset (somehow) no longer exists (again, this is - // not supposed to happen), we will serve the record, + // not supposed to happen), we will serve the oaiRecord, // marked as "deleted" and without any metadata. // We can't just skip it, because that could mess up the // counts and offsets, in a resumption token scenario. @@ -332,8 +337,8 @@ private void addExtraSets(Object xoaiItemsList, String setSpec, Instant from, In int j = 0; for (int i = 0; i < xoaiItems.size(); i++) { - // fast-forward the second list, until we find a record with this identifier, - // or until we are past this record (both lists are sorted alphabetically by + // fast-forward the second list, until we find a oaiRecord with this identifier, + // or until we are past this oaiRecord (both lists are sorted alphabetically by // the identifier: DataverseXoaiItem xitem = xoaiItems.get(i); From c29ee4000dec54d26dd92a1702a4168391d8f033 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 25 May 2022 16:42:45 -0400 Subject: [PATCH 05/33] implements passing the MetadataFormat to the ItemRepository via ScopedFilters; fixes a couple of other small things. (#8372) --- .../harvest/client/oai/OaiHandler.java | 10 ++-- .../server/web/servlet/OAIServlet.java | 5 ++ .../server/xoai/DataverseXoaiItem.java | 10 ++-- .../xoai/DataverseXoaiItemRepository.java | 54 +++++++++++++------ .../UsePregeneratedMetadataFormat.java | 43 +++++++++++++++ 5 files changed, 94 insertions(+), 28 deletions(-) create mode 100644 src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/conditions/UsePregeneratedMetadataFormat.java diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java index 83bf6068090..e55e9726dc4 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package edu.harvard.iq.dataverse.harvest.client.oai; import io.gdcc.xoai.model.oaipmh.Description; @@ -204,6 +199,11 @@ public List runListMetadataFormats() throws OaiHandlerException { // TODO: // not sure why this exception is now thrown by List Metadata Formats (?) // but looks like it was added in xoai 4.2. + // It appears that the answer is, they added it because you can + // call ListMetadataFormats on a specific identifier, optionally, + // and therefore it is possible to get back that response. Of course + // it will never be the case when calling it on an entire repository. + // But it's ok. throw new OaiHandlerException("Id does not exist exception"); } catch (InvalidOAIResponse ior) { throw new OaiHandlerException("No valid response received from the OAI server."); diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index 4fd7c3a6a53..a07e2ba220b 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -35,6 +35,7 @@ import edu.harvard.iq.dataverse.harvest.server.OAISetServiceBean; import edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiItemRepository; import edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiSetRepository; +import edu.harvard.iq.dataverse.harvest.server.xoai.conditions.UsePregeneratedMetadataFormat; import edu.harvard.iq.dataverse.settings.SettingsServiceBean; import edu.harvard.iq.dataverse.util.MailUtil; import edu.harvard.iq.dataverse.util.SystemConfig; @@ -143,6 +144,10 @@ private void addSupportedMetadataFormats(Context context) { metadataFormat = MetadataFormat.metadataFormat(formatName); metadataFormat.withNamespace(exporter.getXMLNameSpace()); metadataFormat.withSchemaLocation(exporter.getXMLSchemaLocation()); + + UsePregeneratedMetadataFormat condition = new UsePregeneratedMetadataFormat(); + condition.withMetadataFormat(metadataFormat); + metadataFormat.withCondition(condition); } catch (ExportException ex) { metadataFormat = null; } diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java index db9d6612763..ecdbb8f07eb 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package edu.harvard.iq.dataverse.harvest.server.xoai; import io.gdcc.xoai.dataprovider.model.Item; @@ -34,6 +29,7 @@ public DataverseXoaiItem(OAIRecord oaiRecord) { if (!StringUtil.isEmpty(oaiRecord.getSetName())) { oaisets.add(new Set(oaiRecord.getSetName())); } + about = new ArrayList<>(); } private OAIRecord oaiRecord; @@ -57,9 +53,11 @@ public DataverseXoaiItem withDataset(Dataset dataset) { return this; } + private List about; + @Override public List getAbout() { - return null; + return about; } private Metadata metadata; diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index bc1a6e4b619..9a569137a43 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package edu.harvard.iq.dataverse.harvest.server.xoai; import io.gdcc.xoai.dataprovider.exceptions.IdDoesNotExistException; @@ -21,7 +16,10 @@ import edu.harvard.iq.dataverse.export.ExportService; import edu.harvard.iq.dataverse.harvest.server.OAIRecord; import edu.harvard.iq.dataverse.harvest.server.OAIRecordServiceBean; +import edu.harvard.iq.dataverse.harvest.server.xoai.conditions.UsePregeneratedMetadataFormat; import edu.harvard.iq.dataverse.util.StringUtil; +import io.gdcc.xoai.dataprovider.filter.Scope; +import io.gdcc.xoai.dataprovider.model.conditions.Condition; import io.gdcc.xoai.model.oaipmh.Metadata; import java.io.IOException; import java.io.InputStream; @@ -240,15 +238,47 @@ public ListItemsResults getItemsUntil(List filters, int offset, in @Override public ListItemsResults getItems(List filters, int offset, int length, String setSpec, Instant from, Instant until) throws OAIException { - logger.fine("calling getItems; offset=" + offset + logger.info("calling getItems; offset=" + offset + ", length=" + length + ", setSpec=" + setSpec + ", from=" + from + ", until=" + until); + // TODO:?/WORKINPROGRESS: + // we need to know the MetadataFormat requested, in + // order to look up the pre-generated metadata stream + // and create a CopyElement Metadata object out of it. + // In the current implementation this is solved by encoding the + // MetadataFormat in a custom Condition, which results in it being + // passed to the getItems() method as a ScopedFilter. + // (or should we simply offer versions of all these methods, + // with the extra MetadataFormat argument, on the gdcc.xoai side, + // like it was done with getItem() above? + + MetadataFormat metadataFormat = null; + + for (ScopedFilter f : filters) { + + if (f.getScope().equals(Scope.MetadataFormat)) { + logger.fine("found metadata-scoped filter"); + Condition condition = f.getCondition(); + if (condition instanceof UsePregeneratedMetadataFormat) { + logger.fine("found pregenerated metadata condition"); + metadataFormat = ((UsePregeneratedMetadataFormat) condition).getMetadataFormat(); + break; + } + } + } + + if (metadataFormat == null) { + // we should throw a "cannot dissiminate format" (?) exception here; + // but let's do this for now: + metadataFormat = MetadataFormat.metadataFormat("oai_dc"); + } + List oaiRecords = recordService.findOaiRecordsBySetName(setSpec, from, until); - logger.fine("total " + oaiRecords.size() + " returned"); + logger.info("total " + oaiRecords.size() + " returned"); List xoaiItems = new ArrayList<>(); if (oaiRecords != null && !oaiRecords.isEmpty()) { @@ -270,16 +300,6 @@ public ListItemsResults getItems(List filters, int offset, int len if (!oaiRecord.isRemoved()) { Dataset dataset = datasetService.findByGlobalId(oaiRecord.getGlobalId()); if (dataset != null) { - // TODO: (on the GDCC side?) - // (do we simply offer versions of each of all these methods - // with the extra MetadataFormat argument, like we did with getItem()? - // or do we define a condition/filter indicating "stream - // pre-generated" and encoding the format name?) - // we need to know the MetadataFormat requested, in - // order to look up the pre-generated metadata stream - // and create a CopyElement Metadata object out of it! - // (cheating/defaulting to dc for testing purposes, for now) - MetadataFormat metadataFormat = MetadataFormat.metadataFormat("oai_dc"); InputStream pregeneratedMetadataStream; try { diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/conditions/UsePregeneratedMetadataFormat.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/conditions/UsePregeneratedMetadataFormat.java new file mode 100644 index 00000000000..bab79315030 --- /dev/null +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/conditions/UsePregeneratedMetadataFormat.java @@ -0,0 +1,43 @@ +package edu.harvard.iq.dataverse.harvest.server.xoai.conditions; + +import io.gdcc.xoai.dataprovider.filter.Filter; +import io.gdcc.xoai.dataprovider.filter.FilterResolver; +import io.gdcc.xoai.dataprovider.model.ItemIdentifier; +import io.gdcc.xoai.dataprovider.model.MetadataFormat; +import io.gdcc.xoai.dataprovider.model.conditions.Condition; + +/** + * The purpose of this Condition is to pass the MetadataFormat to the + * getItems() methods in the Dataverse ItemRepository, as part of a + * ScopedFilter. + * + * @author Leonid Andreev + */ +public class UsePregeneratedMetadataFormat implements Condition { + + public UsePregeneratedMetadataFormat() { + alwaysTrueFilter = new Filter() { + @Override + public boolean isItemShown(ItemIdentifier item) { + return true; + } + }; + } + + private final Filter alwaysTrueFilter; + + @Override + public Filter getFilter(FilterResolver filterResolver) { + return alwaysTrueFilter; + } + + private MetadataFormat metadataFormat; + + public void withMetadataFormat(MetadataFormat metadataFormat) { + this.metadataFormat = metadataFormat; + } + + public MetadataFormat getMetadataFormat() { + return metadataFormat; + } +} From e9c3ec2adeeaa79e3727bcea52cca0c47a33cd5c Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 25 May 2022 16:47:42 -0400 Subject: [PATCH 06/33] removes the commented-out old lyncode.xoai packages and reload4j from the pom file. (#8372) --- pom.xml | 48 +----------------------------------------------- 1 file changed, 1 insertion(+), 47 deletions(-) diff --git a/pom.xml b/pom.xml index b2e6b1787d9..550e60ff8b6 100644 --- a/pom.xml +++ b/pom.xml @@ -382,44 +382,7 @@ oauth2-oidc-sdk 9.9.1 - - - - - - - - - - - - + io.gdcc xoai-common @@ -435,15 +398,6 @@ xoai-service-provider ${gdcc.xoai.version} - - - - - ch.qos.reload4j - reload4j - ${reload4j.version} - runtime - com.google.auto.service From 2c2e88dbe3e84052fb39c76d2c6b71838b69b154 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 25 May 2022 17:09:01 -0400 Subject: [PATCH 07/33] Adds an "if set exists" check to the set repo. (#8372) --- .../dataverse/harvest/server/OAISetServiceBean.java | 2 +- .../server/xoai/DataverseXoaiSetRepository.java | 12 ++---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAISetServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAISetServiceBean.java index f300f02f70c..6b28c8808a0 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAISetServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAISetServiceBean.java @@ -67,7 +67,7 @@ public OAISet find(Object pk) { return em.find(OAISet.class, pk); } - public boolean specExists(String spec) { + public boolean setExists(String spec) { boolean specExists = false; OAISet set = findBySpec(spec); diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java index 3b2b3f3708b..765bacea32d 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package edu.harvard.iq.dataverse.harvest.server.xoai; import io.gdcc.xoai.model.xoai.Element; @@ -76,11 +71,8 @@ public ListSetsResult retrieveSets(int offset, int length) { @Override public boolean exists(String setSpec) { - //for (Set s : this.sets) - // if (s.getSpec().equals(setSpec)) - // return true; - - return false; + // return true; + return setService.setExists(setSpec); } } From 99454c8c6f198a35cda47b4dda4cbcf9753b5473 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 25 May 2022 17:32:08 -0400 Subject: [PATCH 08/33] Exception handling for missing MetadataFormat in getItems() (#8372) --- .../server/xoai/DataverseXoaiItemRepository.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index 9a569137a43..792ba28e893 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -238,7 +238,7 @@ public ListItemsResults getItemsUntil(List filters, int offset, in @Override public ListItemsResults getItems(List filters, int offset, int length, String setSpec, Instant from, Instant until) throws OAIException { - logger.info("calling getItems; offset=" + offset + logger.fine("calling getItems; offset=" + offset + ", length=" + length + ", setSpec=" + setSpec + ", from=" + from @@ -258,12 +258,10 @@ public ListItemsResults getItems(List filters, int offset, int len MetadataFormat metadataFormat = null; for (ScopedFilter f : filters) { - + if (f.getScope().equals(Scope.MetadataFormat)) { - logger.fine("found metadata-scoped filter"); Condition condition = f.getCondition(); if (condition instanceof UsePregeneratedMetadataFormat) { - logger.fine("found pregenerated metadata condition"); metadataFormat = ((UsePregeneratedMetadataFormat) condition).getMetadataFormat(); break; } @@ -271,14 +269,12 @@ public ListItemsResults getItems(List filters, int offset, int len } if (metadataFormat == null) { - // we should throw a "cannot dissiminate format" (?) exception here; - // but let's do this for now: - metadataFormat = MetadataFormat.metadataFormat("oai_dc"); + throw new OAIException("Metadata Format is Required"); } List oaiRecords = recordService.findOaiRecordsBySetName(setSpec, from, until); - logger.info("total " + oaiRecords.size() + " returned"); + logger.fine("total " + oaiRecords.size() + " records returned"); List xoaiItems = new ArrayList<>(); if (oaiRecords != null && !oaiRecords.isEmpty()) { From 03b1372405d4592087b6887a3577ff85b6e75ddf Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Fri, 27 May 2022 16:29:11 -0400 Subject: [PATCH 09/33] Adds back a quick fix for the "proprietary json format harvesting" workaround (to be revisited; #8372) --- .../server/web/servlet/OAIServlet.java | 17 +++++-- .../xoai/DataverseXoaiItemRepository.java | 47 ++++++++++++++----- 2 files changed, 48 insertions(+), 16 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index a07e2ba220b..e46bc89a82c 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -104,9 +104,10 @@ public void init(ServletConfig config) throws ServletException { if (isDataverseOaiExtensionsSupported()) { xoaiContext = addDataverseJsonMetadataFormat(xoaiContext); } + addMetadataFormatConditions(xoaiContext); setRepository = new DataverseXoaiSetRepository(setService); - itemRepository = new DataverseXoaiItemRepository(recordService, datasetService); + itemRepository = new DataverseXoaiItemRepository(recordService, datasetService, systemConfig.getDataverseSiteUrl()+"/oai"); repositoryConfiguration = createRepositoryConfiguration(); @@ -145,9 +146,9 @@ private void addSupportedMetadataFormats(Context context) { metadataFormat.withNamespace(exporter.getXMLNameSpace()); metadataFormat.withSchemaLocation(exporter.getXMLSchemaLocation()); - UsePregeneratedMetadataFormat condition = new UsePregeneratedMetadataFormat(); - condition.withMetadataFormat(metadataFormat); - metadataFormat.withCondition(condition); + //UsePregeneratedMetadataFormat condition = new UsePregeneratedMetadataFormat(); + //condition.withMetadataFormat(metadataFormat); + //metadataFormat.withCondition(condition); } catch (ExportException ex) { metadataFormat = null; } @@ -167,6 +168,14 @@ private Context addDataverseJsonMetadataFormat(Context context) { return context; } + private void addMetadataFormatConditions(Context context) { + for (MetadataFormat metadataFormat : context.getMetadataFormats()) { + UsePregeneratedMetadataFormat condition = new UsePregeneratedMetadataFormat(); + condition.withMetadataFormat(metadataFormat); + metadataFormat.withCondition(condition); + } + } + private boolean isDataverseOaiExtensionsSupported() { return true; } diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index 792ba28e893..a96a1993d68 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -21,6 +21,7 @@ import io.gdcc.xoai.dataprovider.filter.Scope; import io.gdcc.xoai.dataprovider.model.conditions.Condition; import io.gdcc.xoai.model.oaipmh.Metadata; +import io.gdcc.xoai.xml.EchoElement; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; @@ -41,11 +42,13 @@ public class DataverseXoaiItemRepository implements ItemRepository { private OAIRecordServiceBean recordService; private DatasetServiceBean datasetService; + private String serverUrl; - public DataverseXoaiItemRepository (OAIRecordServiceBean recordService, DatasetServiceBean datasetService) { + public DataverseXoaiItemRepository (OAIRecordServiceBean recordService, DatasetServiceBean datasetService, String serverUrl) { super(); this.recordService = recordService; this.datasetService = datasetService; + this.serverUrl = serverUrl; } private List list = new ArrayList(); @@ -54,7 +57,8 @@ public DataverseXoaiItemRepository (OAIRecordServiceBean recordService, DatasetS @Override public Item getItem(String identifier) throws IdDoesNotExistException, OAIException { // I'm assuming we don't want to use this version of getItem - // that does not specify the requested metadata format - ? + // that does not specify the requested metadata format, ever + // in our implementation - ? throw new OAIException("Metadata Format is Required"); } @@ -96,10 +100,11 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws IdD // xoaiItem.getOaiRecord().setRemoved(true); break; } - - InputStream pregeneratedMetadataStream; + + Metadata metadata; + try { - pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataFormat.getPrefix()); + metadata = getDatasetMetadata(dataset, metadataFormat.getPrefix()); } catch (ExportException | IOException ex) { // Again, this is not supposed to happen in normal operations; // since by design only the datasets for which the metadata @@ -112,8 +117,6 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws IdD // instead. break; } - - Metadata metadata = Metadata.copyFromStream(pregeneratedMetadataStream); xoaiItem.withDataset(dataset).withMetadata(metadata); } } else { @@ -296,12 +299,8 @@ public ListItemsResults getItems(List filters, int offset, int len if (!oaiRecord.isRemoved()) { Dataset dataset = datasetService.findByGlobalId(oaiRecord.getGlobalId()); if (dataset != null) { - - InputStream pregeneratedMetadataStream; try { - pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataFormat.getPrefix()); - - Metadata metadata = Metadata.copyFromStream(pregeneratedMetadataStream); + Metadata metadata = getDatasetMetadata(dataset, metadataFormat.getPrefix()); xoaiItem.withDataset(dataset).withMetadata(metadata); } catch (ExportException|IOException ex) { // Again, this is not supposed to happen in normal operations; @@ -368,4 +367,28 @@ private void addExtraSets(Object xoaiItemsList, String setSpec, Instant from, In } } } + + private Metadata getDatasetMetadata(Dataset dataset, String metadataPrefix) throws ExportException, IOException { + Metadata metadata; + + if ("dataverse_json".equals(metadataPrefix)) { + // Slightly modified version of the old proprietary Json harvesting hack: + String apiUrl = customDataverseJsonApiUri(dataset.getGlobalId().asString()); + metadata = new Metadata(new EchoElement("")); + } else { + InputStream pregeneratedMetadataStream; + pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataPrefix); + + metadata = Metadata.copyFromStream(pregeneratedMetadataStream); + } + return metadata; + } + + private String customDataverseJsonApiUri(String identifier) { + String ret = serverUrl + + "/api/datasets/export?exporter=dataverse_json&persistentId=" + + identifier; + + return ret; + } } From 6d6a49b35da3c9c6c74c10549dc50a176c10b8c1 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Thu, 2 Jun 2022 19:18:02 -0400 Subject: [PATCH 10/33] a few minor fixes here and there (#8372) --- .../server/web/servlet/OAIServlet.java | 167 +++--------------- .../xoai/DataverseXoaiItemRepository.java | 4 +- .../settings/SettingsServiceBean.java | 16 +- .../iq/dataverse/util/SystemConfig.java | 27 +++ 4 files changed, 71 insertions(+), 143 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index e46bc89a82c..8024c0ade0b 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -18,14 +18,8 @@ import io.gdcc.xoai.model.oaipmh.DeletedRecord; import io.gdcc.xoai.model.oaipmh.Granularity; import io.gdcc.xoai.model.oaipmh.OAIPMH; -import io.gdcc.xoai.model.oaipmh.GetRecord; -import static io.gdcc.xoai.model.oaipmh.OAIPMH.NAMESPACE_URI; -import static io.gdcc.xoai.model.oaipmh.OAIPMH.SCHEMA_LOCATION; -import io.gdcc.xoai.model.oaipmh.Verb; -import io.gdcc.xoai.xml.XSISchema; import io.gdcc.xoai.xml.XmlWriter; -import static io.gdcc.xoai.xml.XmlWriter.defaultContext; import edu.harvard.iq.dataverse.DatasetServiceBean; import edu.harvard.iq.dataverse.DataverseServiceBean; import edu.harvard.iq.dataverse.export.ExportException; @@ -41,10 +35,8 @@ import edu.harvard.iq.dataverse.util.SystemConfig; import org.apache.commons.lang3.StringUtils; -import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.io.OutputStream; import java.util.Date; import java.util.HashMap; import java.util.logging.Logger; @@ -81,12 +73,15 @@ public class OAIServlet extends HttpServlet { private static final Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.web.servlet.OAIServlet"); protected HashMap attributesMap = new HashMap(); - private static final String OAI_PMH = "OAI-PMH"; - private static final String RESPONSEDATE_FIELD = "responseDate"; - private static final String REQUEST_FIELD = "request"; + // If we are going to stick with this solution - of providing a minimalist + // xml record containing a link to the proprietary json metadata API for + // "dataverse json harvesting", we'll probably want to create minimalistic, + // but valid schemas for this format as well. + // (although the more I'm thinking about this... these records just don't seem + // needed at all) private static final String DATAVERSE_EXTENDED_METADATA_FORMAT = "dataverse_json"; - private static final String DATAVERSE_EXTENDED_METADATA_INFO = "Custom Dataverse metadata in JSON format (Dataverse4 to Dataverse4 harvesting only)"; - private static final String DATAVERSE_EXTENDED_METADATA_SCHEMA = "JSON schema pending"; + private static final String DATAVERSE_EXTENDED_METADATA_NAMESPACE = ""; + private static final String DATAVERSE_EXTENDED_METADATA_SCHEMA = ""; private Context xoaiContext; @@ -94,7 +89,7 @@ public class OAIServlet extends HttpServlet { private ItemRepository itemRepository; private RepositoryConfiguration repositoryConfiguration; private Repository xoaiRepository; - private DataProvider dataProvider; + private DataProvider dataProvider; public void init(ServletConfig config) throws ServletException { super.init(config); @@ -146,9 +141,6 @@ private void addSupportedMetadataFormats(Context context) { metadataFormat.withNamespace(exporter.getXMLNameSpace()); metadataFormat.withSchemaLocation(exporter.getXMLSchemaLocation()); - //UsePregeneratedMetadataFormat condition = new UsePregeneratedMetadataFormat(); - //condition.withMetadataFormat(metadataFormat); - //metadataFormat.withCondition(condition); } catch (ExportException ex) { metadataFormat = null; } @@ -157,12 +149,11 @@ private void addSupportedMetadataFormats(Context context) { } } } - //return context; } private Context addDataverseJsonMetadataFormat(Context context) { MetadataFormat metadataFormat = MetadataFormat.metadataFormat(DATAVERSE_EXTENDED_METADATA_FORMAT); - metadataFormat.withNamespace(DATAVERSE_EXTENDED_METADATA_INFO); + metadataFormat.withNamespace(DATAVERSE_EXTENDED_METADATA_NAMESPACE); metadataFormat.withSchemaLocation(DATAVERSE_EXTENDED_METADATA_SCHEMA); context.withMetadataFormat(metadataFormat); return context; @@ -181,25 +172,29 @@ private boolean isDataverseOaiExtensionsSupported() { } private RepositoryConfiguration createRepositoryConfiguration() { - // TODO: - // some of the settings below - such as the max list numbers - - // need to be configurable! - - String dataverseName = dataverseService.getRootDataverseName(); - String repositoryName = StringUtils.isEmpty(dataverseName) || "Root".equals(dataverseName) ? "Test Dataverse OAI Archive" : dataverseName + " Dataverse OAI Archive"; + + String repositoryName = settingsService.getValueForKey(SettingsServiceBean.Key.oaiServerRepositoryName); + if (repositoryName == null) { + String dataverseName = dataverseService.getRootDataverseName(); + repositoryName = StringUtils.isEmpty(dataverseName) || "Root".equals(dataverseName) ? "Test Dataverse OAI Archive" : dataverseName + " Dataverse OAI Archive"; + } + // The admin email address associated with this installation: + // (Note: if the setting does not exist, we are going to assume that they + // have a reason not to want to advertise their email address, so no + // email will be shown in the output of Identify. InternetAddress internetAddress = MailUtil.parseSystemAddress(settingsService.getValueForKey(SettingsServiceBean.Key.SystemEmail)); RepositoryConfiguration repositoryConfiguration = new RepositoryConfiguration() .withRepositoryName(repositoryName) .withBaseUrl(systemConfig.getDataverseSiteUrl()+"/oai") - .withCompression("gzip") // ? - .withCompression("deflate") // ? + .withCompression("gzip") + .withCompression("deflate") .withAdminEmail(internetAddress != null ? internetAddress.getAddress() : null) .withDeleteMethod(DeletedRecord.TRANSIENT) .withGranularity(Granularity.Second) - .withMaxListIdentifiers(100) - .withMaxListRecords(100) - .withMaxListSets(100) + .withMaxListIdentifiers(systemConfig.getOaiServerMaxIdentifiers()) + .withMaxListRecords(systemConfig.getOaiServerMaxRecords()) + .withMaxListSets(systemConfig.getOaiServerMaxSets()) .withEarliestDate(new Date().toInstant()); // TODO: return repositoryConfiguration; @@ -258,24 +253,15 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp OAIPMH handle = dataProvider.handle(parametersBuilder); response.setContentType("text/xml;charset=UTF-8"); - /* if (isGetRecord(request) && !handle.hasErrors()) { - writeGetRecord(response, handle); - } else if (isListRecords(request) && !handle.hasErrors()) { - writeListRecords(response, handle); - } else { */ XmlWriter xmlWriter = new XmlWriter(response.getOutputStream()); xmlWriter.write(handle); xmlWriter.flush(); xmlWriter.close(); - /* } */ } catch (IOException ex) { logger.warning("IO exception in Get; "+ex.getMessage()); throw new ServletException ("IO Exception in Get", ex); - } /* catch (OAIException oex) { - logger.warning("OAI exception in Get; "+oex.getMessage()); - throw new ServletException ("OAI Exception in Get", oex); - } */ catch (XMLStreamException xse) { + } catch (XMLStreamException xse) { logger.warning("XML Stream exception in Get; "+xse.getMessage()); throw new ServletException ("XML Stream Exception in Get", xse); } catch (XmlWriteException xwe) { @@ -288,107 +274,6 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp } - // Custom methods for the potentially expensive GetRecord and ListRecords requests: - - /* private void writeListRecords(HttpServletResponse response, OAIPMH handle) throws IOException { - OutputStream outputStream = response.getOutputStream(); - - outputStream.write(oaiPmhResponseToString(handle).getBytes()); - - Verb verb = handle.getVerb(); - - if (verb == null) { - throw new IOException("An error or a valid response must be set"); - } - - if (!verb.getType().equals(Verb.Type.ListRecords)) { - throw new IOException("writeListRecords() called on a non-ListRecords verb"); - } - - outputStream.write(("<" + verb.getType().displayName() + ">").getBytes()); - - outputStream.flush(); - - ((XlistRecords) verb).writeToStream(outputStream); - - outputStream.write(("").getBytes()); - outputStream.write(("\n").getBytes()); - - outputStream.flush(); - outputStream.close(); - - } - - private void writeGetRecord(HttpServletResponse response, OAIPMH handle) throws IOException, XmlWriteException, XMLStreamException { - OutputStream outputStream = response.getOutputStream(); - - outputStream.write(oaiPmhResponseToString(handle).getBytes()); - - Verb verb = handle.getVerb(); - - if (verb == null) { - throw new IOException("An error or a valid response must be set"); - } - - if (!verb.getType().equals(Verb.Type.GetRecord)) { - throw new IOException("writeListRecords() called on a non-GetRecord verb"); - } - - outputStream.write(("<" + verb.getType().displayName() + ">").getBytes()); - - outputStream.flush(); - - verb.writeToStream(outputStream); - - outputStream.write(("").getBytes()); - outputStream.write(("\n").getBytes()); - - outputStream.flush(); - outputStream.close(); - - } */ - - // This function produces the string representation of the top level, - // "service" record of an OAIPMH response (i.e., the header that precedes - // the actual "payload" record, such as , , - // , etc. - - private String oaiPmhResponseToString(OAIPMH handle) { - try { - ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream(); - XmlWriter writer = new XmlWriter(byteOutputStream, defaultContext()); - - writer.writeStartElement(OAI_PMH); - writer.writeDefaultNamespace(NAMESPACE_URI); - writer.writeNamespace(XSISchema.PREFIX, XSISchema.NAMESPACE_URI); - writer.writeAttribute(XSISchema.PREFIX, XSISchema.NAMESPACE_URI, "schemaLocation", - NAMESPACE_URI + " " + SCHEMA_LOCATION); - - writer.writeElement(RESPONSEDATE_FIELD, handle.getResponseDate(), Granularity.Second); - writer.writeElement(REQUEST_FIELD, handle.getRequest()); - writer.writeEndElement(); - writer.flush(); - writer.close(); - - String ret = byteOutputStream.toString().replaceFirst("", ""); - - return ret; - } catch (Exception ex) { - logger.warning("caught exception trying to convert an OAIPMH response header to string: " + ex.getMessage()); - ex.printStackTrace(); - return null; - } - } - - private boolean isGetRecord(HttpServletRequest request) { - return "GetRecord".equals(request.getParameter("verb")); - - } - - private boolean isListRecords(HttpServletRequest request) { - return "ListRecords".equals(request.getParameter("verb")); - } - protected Context getXoaiContext () { return xoaiContext; } diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index a96a1993d68..c364571296c 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -373,8 +373,10 @@ private Metadata getDatasetMetadata(Dataset dataset, String metadataPrefix) thro if ("dataverse_json".equals(metadataPrefix)) { // Slightly modified version of the old proprietary Json harvesting hack: + // (decision pending as to whether we want to provide backward compatibility + // for older Dataverse harvesting clients) String apiUrl = customDataverseJsonApiUri(dataset.getGlobalId().asString()); - metadata = new Metadata(new EchoElement("")); + metadata = new Metadata(new EchoElement("" + apiUrl + "")); } else { InputStream pregeneratedMetadataStream; pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataPrefix); diff --git a/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java index 12ae777f3f8..9c40999829b 100644 --- a/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java @@ -522,7 +522,21 @@ Whether Harvesting (OAI) service is enabled * would also work) of never muted notifications that cannot be turned off by the users. AlwaysMuted setting overrides * Nevermuted setting warning is logged. */ - NeverMuted + NeverMuted, + /* + * The following values are for the OAI server, to limit the output of + * the ListIdentifiers, ListRecords and ListSets verbs to the number + * of records specified. Sensible defaults are going to be provided for + * these by SystemConfig. + */ + oaiServerMaxListIdentifiers, + oaiServerMaxListRecords, + oaiServerMaxListSets, + /* + * The OAI "repository name", shown by the OAI Identify verb, needs + * to be configurable as well. + */ + oaiServerRepositoryName ; @Override diff --git a/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java b/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java index bd27405fae5..64f08c5dd19 100644 --- a/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java +++ b/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java @@ -1204,4 +1204,31 @@ public Map getCurationLabels() { } return labelMap; } + + public int getOaiServerMaxIdentifiers() { + return getIntSettingOrDefault(SettingsServiceBean.Key.oaiServerMaxListIdentifiers, 100); + } + + public int getOaiServerMaxSets() { + return getIntSettingOrDefault(SettingsServiceBean.Key.oaiServerMaxListSets, 100); + } + + public int getOaiServerMaxRecords() { + return getIntSettingOrDefault(SettingsServiceBean.Key.oaiServerMaxListRecords, 10); + } + + private int getIntSettingOrDefault(SettingsServiceBean.Key key, int defaultValue) { + String settingValue = settingsService.getValueForKey(key); + if (settingValue != null) { + try { + int intFromSetting = Integer.parseInt(settingValue); + if (intFromSetting > 0) { + return intFromSetting; + } + } catch (NumberFormatException ex) { + // will use the default + } + } + return defaultValue; + } } From bf413e7b937bbb7e3e52a1d4800576bdbdfc2119 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Mon, 6 Jun 2022 17:02:29 -0400 Subject: [PATCH 11/33] Moved all the handling of custom dataverse_json metadata out of OaiHandler and GetRecord parser. (#8372) --- .../harvest/client/FastGetRecord.java | 104 +--------- .../harvest/client/HarvesterServiceBean.java | 178 ++++++++---------- 2 files changed, 90 insertions(+), 192 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/FastGetRecord.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/FastGetRecord.java index 60abc97bccd..5b3e4df331d 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/FastGetRecord.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/FastGetRecord.java @@ -72,7 +72,6 @@ public class FastGetRecord { - private static final String DATAVERSE_EXTENDED_METADATA = "dataverse_json"; private static final String XML_METADATA_TAG = "metadata"; private static final String XML_METADATA_TAG_OPEN = "<"+XML_METADATA_TAG+">"; private static final String XML_METADATA_TAG_CLOSE = ""; @@ -222,13 +221,7 @@ public void harvestRecord(String baseURL, String identifier, String metadataPref //metadataOut.println(""); /* ? */ metadataFlag = true; - } else if (line.matches(".*<"+XML_METADATA_TAG+" [^>]*>.*")) { - if (metadataPrefix.equals(DATAVERSE_EXTENDED_METADATA)) { - oaiResponseHeader = oaiResponseHeader.concat(line); - metadataWritten = true; - metadataFlag = true; - } - } + } } //System.out.println(line); @@ -380,19 +373,12 @@ public void harvestRecord(String baseURL, String identifier, String metadataPref try { StringReader reader = new StringReader(oaiResponseHeader); xmlr = xmlInputFactory.createXMLStreamReader(reader); - processOAIheader(xmlr, metadataPrefix.equals(DATAVERSE_EXTENDED_METADATA)); + processOAIheader(xmlr); } catch (XMLStreamException ex) { - //Logger.getLogger("global").log(Level.SEVERE, null, ex); if (this.errorMessage == null) { this.errorMessage = "Malformed GetRecord response; baseURL=" + baseURL + ", identifier=" + identifier + ", metadataPrefix=" + metadataPrefix; } - - // delete the temp metadata file; we won't need it: - if (savedMetadataFile != null) { - //savedMetadataFile.delete(); - } - } try { @@ -414,14 +400,8 @@ public void harvestRecord(String baseURL, String identifier, String metadataPref if (!(metadataWritten) && !(this.isDeleted())) { this.errorMessage = "Failed to parse GetRecord response; baseURL=" + baseURL + ", identifier=" + identifier + ", metadataPrefix=" + metadataPrefix; - //savedMetadataFile.delete(); - } - - if (this.isDeleted()) { - //savedMetadataFile.delete(); } - } else { this.errorMessage = "GetRecord request failed. HTTP error code "+responseCode; } @@ -445,16 +425,16 @@ private static String getRequestURL(String baseURL, return requestURL.toString(); } - private void processOAIheader (XMLStreamReader xmlr, boolean extensionMode) throws XMLStreamException, IOException { + private void processOAIheader (XMLStreamReader xmlr) throws XMLStreamException, IOException { // is this really a GetRecord response? xmlr.nextTag(); xmlr.require(XMLStreamConstants.START_ELEMENT, null, "OAI-PMH"); - processOAIPMH(xmlr, extensionMode); + processOAIPMH(xmlr); } - private void processOAIPMH (XMLStreamReader xmlr, boolean extensionMode) throws XMLStreamException, IOException { + private void processOAIPMH (XMLStreamReader xmlr) throws XMLStreamException, IOException { for (int event = xmlr.next(); event != XMLStreamConstants.END_DOCUMENT; event = xmlr.next()) { if (event == XMLStreamConstants.START_ELEMENT) { @@ -477,7 +457,7 @@ else if (xmlr.getLocalName().equals("error")) { } else if (xmlr.getLocalName().equals("GetRecord")) { - processGetRecordSection(xmlr, extensionMode); + processGetRecordSection(xmlr); } } else if (event == XMLStreamConstants.END_ELEMENT) { if (xmlr.getLocalName().equals("OAI-PMH")) return; @@ -485,11 +465,11 @@ else if (xmlr.getLocalName().equals("GetRecord")) { } } - private void processGetRecordSection (XMLStreamReader xmlr, boolean extensionMode) throws XMLStreamException, IOException { + private void processGetRecordSection (XMLStreamReader xmlr) throws XMLStreamException, IOException { for (int event = xmlr.next(); event != XMLStreamConstants.END_DOCUMENT; event = xmlr.next()) { if (event == XMLStreamConstants.START_ELEMENT) { if (xmlr.getLocalName().equals("record")) { - processRecord(xmlr, extensionMode); + processRecord(xmlr); } } else if (event == XMLStreamConstants.END_ELEMENT) { if (xmlr.getLocalName().equals("GetRecord")) return; @@ -498,7 +478,7 @@ private void processGetRecordSection (XMLStreamReader xmlr, boolean extensionMod } - private void processRecord (XMLStreamReader xmlr, boolean extensionMode) throws XMLStreamException, IOException { + private void processRecord (XMLStreamReader xmlr) throws XMLStreamException, IOException { for (int event = xmlr.next(); event != XMLStreamConstants.END_DOCUMENT; event = xmlr.next()) { if (event == XMLStreamConstants.START_ELEMENT) { if (xmlr.getLocalName().equals("header")) { @@ -506,11 +486,6 @@ private void processRecord (XMLStreamReader xmlr, boolean extensionMode) throws this.recordDeleted = true; } processHeader(xmlr); - } else if (xmlr.getLocalName().equals("metadata")) { - if (extensionMode) { - String extendedMetadataApiUrl = xmlr.getAttributeValue(null, "directApiCall"); - processMetadataExtended(extendedMetadataApiUrl); - } } } else if (event == XMLStreamConstants.END_ELEMENT) { if (xmlr.getLocalName().equals("record")) return; @@ -532,67 +507,6 @@ else if (xmlr.getLocalName().equals("setSpec")) {/*do nothing*/} } } - private void processMetadataExtended (String extendedApiUrl) throws IOException { - InputStream in = null; - int responseCode = 0; - HttpURLConnection con = null; - - - - try { - URL url = new URL(extendedApiUrl.replaceAll("&", "&")); // is this necessary? - - con = (HttpURLConnection) url.openConnection(); - con.setRequestProperty("User-Agent", "DataverseHarvester/3.0"); - responseCode = con.getResponseCode(); - } catch (MalformedURLException mue) { - throw new IOException ("Bad API URL: "+extendedApiUrl); - } catch (FileNotFoundException e) { - responseCode = HttpURLConnection.HTTP_UNAVAILABLE; - } - - - - - if (responseCode == 200) { - in = con.getInputStream(); - // TODO: - /* we should probably still support gzip/compress encoding here - ? - String contentEncoding = con.getHeaderField("Content-Encoding"); - - // support for the standard compress/gzip/deflate compression - // schemes: - - if ("compress".equals(contentEncoding)) { - ZipInputStream zis = new ZipInputStream(con.getInputStream()); - zis.getNextEntry(); - in = zis; - } else if ("gzip".equals(contentEncoding)) { - in = new GZIPInputStream(con.getInputStream()); - } else if ("deflate".equals(contentEncoding)) { - in = new InflaterInputStream(con.getInputStream()); - } ... - */ - FileOutputStream tempOut = new FileOutputStream(savedMetadataFile); - - int bufsize; - byte[] buffer = new byte[4 * 8192]; - - while ((bufsize = in.read(buffer)) != -1) { - tempOut.write(buffer, 0, bufsize); - tempOut.flush(); - } - - in.close(); - tempOut.close(); - return; - } - - throw new IOException("Failed to download extended metadata."); - - } - - // (from Gustavo's ddiServiceBean -- L.A.) // /* We had to add this method because the ref getElementText has a bug where it diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java index 397a90b0c99..86430a25ef0 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java @@ -32,7 +32,6 @@ import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerException; import org.apache.commons.lang3.mutable.MutableBoolean; -import org.apache.commons.lang3.mutable.MutableLong; import org.xml.sax.SAXException; import io.gdcc.xoai.model.oaipmh.Header; @@ -42,8 +41,13 @@ import edu.harvard.iq.dataverse.harvest.client.oai.OaiHandler; import edu.harvard.iq.dataverse.harvest.client.oai.OaiHandlerException; import edu.harvard.iq.dataverse.search.IndexServiceBean; +import java.io.FileOutputStream; import java.io.FileWriter; +import java.io.InputStream; import java.io.PrintWriter; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @@ -75,13 +79,12 @@ public class HarvesterServiceBean { IndexServiceBean indexService; private static final Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.client.HarvesterServiceBean"); - private static final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); private static final SimpleDateFormat logFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH-mm-ss"); public static final String HARVEST_RESULT_SUCCESS="success"; public static final String HARVEST_RESULT_FAILED="failed"; - private static final Long INDEXING_CONTENT_BATCH_SIZE = 10000000L; - + public static final String DATAVERSE_PROPRIETARY_METADATA_FORMAT="dataverse_json"; + public static final String DATAVERSE_PROPRIETARY_METADATA_API="/api/datasets/export?exporter="+DATAVERSE_PROPRIETARY_METADATA_FORMAT; public HarvesterServiceBean() { @@ -183,24 +186,7 @@ public void doHarvest(DataverseRequest dataverseRequest, Long harvestingClientId hdLogger.log(Level.INFO, "COMPLETED HARVEST, server=" + harvestingClientConfig.getArchiveUrl() + ", metadataPrefix=" + harvestingClientConfig.getMetadataPrefix()); hdLogger.log(Level.INFO, "Datasets created/updated: " + harvestedDatasetIds.size() + ", datasets deleted: " + deletedIdentifiers.size() + ", datasets failed: " + failedIdentifiers.size()); - // now index all the datasets we have harvested - created, modified or deleted: - /* (TODO: may not be needed at all. In Dataverse4, we may be able to get away with the normal - reindexing after every import. See the rest of the comments about batch indexing throughout - this service bean) - if (this.processedSizeThisBatch > 0) { - hdLogger.log(Level.INFO, "POST HARVEST, reindexing the remaining studies."); - if (this.harvestedDatasetIdsThisBatch != null) { - hdLogger.log(Level.INFO, this.harvestedDatasetIdsThisBatch.size()+" studies in the batch"); - } - hdLogger.log(Level.INFO, this.processedSizeThisBatch + " bytes of content"); - indexService.updateIndexList(this.harvestedDatasetIdsThisBatch); - hdLogger.log(Level.INFO, "POST HARVEST, calls to index finished."); - } else { - hdLogger.log(Level.INFO, "(All harvested content already reindexed)"); - } - */ } - //mailService.sendHarvestNotification(...getSystemEmail(), harvestingDataverse.getName(), logFileName, logTimestamp, harvestErrorOccurred.booleanValue(), harvestedDatasetIds.size(), failedIdentifiers); } catch (Throwable e) { harvestErrorOccurred.setValue(true); String message = "Exception processing harvest, server= " + harvestingClientConfig.getHarvestingUrl() + ",format=" + harvestingClientConfig.getMetadataPrefix() + " " + e.getClass().getName() + " " + e.getMessage(); @@ -235,7 +221,6 @@ private List harvestOAI(DataverseRequest dataverseRequest, HarvestingClien logBeginOaiHarvest(hdLogger, harvestingClient); List harvestedDatasetIds = new ArrayList(); - MutableLong processedSizeThisBatch = new MutableLong(0L); OaiHandler oaiHandler; try { @@ -261,9 +246,8 @@ private List harvestOAI(DataverseRequest dataverseRequest, HarvestingClien MutableBoolean getRecordErrorOccurred = new MutableBoolean(false); // Retrieve and process this record with a separate GetRecord call: - Long datasetId = processRecord(dataverseRequest, hdLogger, importCleanupLog, oaiHandler, identifier, getRecordErrorOccurred, processedSizeThisBatch, deletedIdentifiers, dateStamp); + Long datasetId = processRecord(dataverseRequest, hdLogger, importCleanupLog, oaiHandler, identifier, getRecordErrorOccurred, deletedIdentifiers, dateStamp); - hdLogger.info("Total content processed in this batch so far: "+processedSizeThisBatch); if (datasetId != null) { harvestedDatasetIds.add(datasetId); @@ -280,20 +264,6 @@ private List harvestOAI(DataverseRequest dataverseRequest, HarvestingClien //temporary: //throw new IOException("Exception occured, stopping harvest"); } - - // reindexing in batches? - this is from DVN 3; - // we may not need it anymore. - if ( processedSizeThisBatch.longValue() > INDEXING_CONTENT_BATCH_SIZE ) { - - hdLogger.log(Level.INFO, "REACHED CONTENT BATCH SIZE LIMIT; calling index ("+ harvestedDatasetIdsThisBatch.size()+" datasets in the batch)."); - //indexService.updateIndexList(this.harvestedDatasetIdsThisBatch); - hdLogger.log(Level.INFO, "REINDEX DONE."); - - - processedSizeThisBatch.setValue(0L); - harvestedDatasetIdsThisBatch = null; - } - } } catch (OaiHandlerException e) { throw new IOException("Failed to run ListIdentifiers: " + e.getMessage()); @@ -303,23 +273,34 @@ private List harvestOAI(DataverseRequest dataverseRequest, HarvestingClien return harvestedDatasetIds; - } - + } - - private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, PrintWriter importCleanupLog, OaiHandler oaiHandler, String identifier, MutableBoolean recordErrorOccurred, MutableLong processedSizeThisBatch, List deletedIdentifiers, Date dateStamp) { + private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, PrintWriter importCleanupLog, OaiHandler oaiHandler, String identifier, MutableBoolean recordErrorOccurred, List deletedIdentifiers, Date dateStamp) { String errMessage = null; Dataset harvestedDataset = null; logGetRecord(hdLogger, oaiHandler, identifier); File tempFile = null; - try { - FastGetRecord record = oaiHandler.runGetRecord(identifier); - errMessage = record.getErrorMessage(); + try { + boolean deleted = false; + + if (DATAVERSE_PROPRIETARY_METADATA_FORMAT.equals(oaiHandler.getMetadataPrefix())) { + // Make direct call to obtain the proprietary Dataverse metadata + // in JSON from the remote Dataverse server: + String extendedApiUrl = getProprietaryDataverseMetadataURL(oaiHandler.getBaseOaiUrl(), identifier); + tempFile = retrieveProprietaryDataverseMetadata(extendedApiUrl); + + } else { + FastGetRecord record = oaiHandler.runGetRecord(identifier); + errMessage = record.getErrorMessage(); + deleted = record.isDeleted(); + tempFile = record.getMetadataFile(); + } if (errMessage != null) { hdLogger.log(Level.SEVERE, "Error calling GetRecord - " + errMessage); - } else if (record.isDeleted()) { + + } else if (deleted) { hdLogger.info("Deleting harvesting dataset for "+identifier+", per the OAI server's instructions."); Dataset dataset = datasetService.getDatasetByHarvestInfo(oaiHandler.getHarvestingClient().getDataverse(), identifier); @@ -336,24 +317,21 @@ private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, P } else { hdLogger.info("Successfully retrieved GetRecord response."); - tempFile = record.getMetadataFile(); PrintWriter cleanupLog; harvestedDataset = importService.doImportHarvestedDataset(dataverseRequest, oaiHandler.getHarvestingClient(), identifier, oaiHandler.getMetadataPrefix(), - record.getMetadataFile(), + tempFile, dateStamp, importCleanupLog); hdLogger.fine("Harvest Successful for identifier " + identifier); - hdLogger.fine("Size of this record: " + record.getMetadataFile().length()); - processedSizeThisBatch.add(record.getMetadataFile().length()); + hdLogger.fine("Size of this record: " + tempFile.length()); } } catch (Throwable e) { logGetRecordException(hdLogger, oaiHandler, identifier, e); errMessage = "Caught exception while executing GetRecord on "+identifier; - //logException(e, hdLogger); } finally { if (tempFile != null) { @@ -364,14 +342,12 @@ private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, P } } - // TODO: the message below is taken from DVN3; - figure out what it means... - // // If we got an Error from the OAI server or an exception happened during import, then // set recordErrorOccurred to true (if recordErrorOccurred is being used) // otherwise throw an exception (if recordErrorOccurred is not used, i.e null) if (errMessage != null) { - if (recordErrorOccurred != null) { + if (recordErrorOccurred != null) { recordErrorOccurred.setValue(true); } else { throw new EJBException(errMessage); @@ -380,6 +356,56 @@ private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, P return harvestedDataset != null ? harvestedDataset.getId() : null; } + + File retrieveProprietaryDataverseMetadata (String remoteApiUrl) throws IOException { + InputStream in; + int responseCode = 0; + HttpURLConnection con = null; + + File tempMetadataFile = File.createTempFile("meta", ".tmp"); + + try { + URL url = new URL(remoteApiUrl); + + con = (HttpURLConnection) url.openConnection(); + con.setRequestProperty("User-Agent", "DataverseHarvester/3.0"); + responseCode = con.getResponseCode(); + } catch (MalformedURLException mue) { + throw new IOException ("Bad API URL: "+remoteApiUrl); + } + + if (responseCode == 200) { + in = con.getInputStream(); + + FileOutputStream tempOut = new FileOutputStream(tempMetadataFile); + + int bufsize; + byte[] buffer = new byte[4 * 8192]; + + while ((bufsize = in.read(buffer)) != -1) { + tempOut.write(buffer, 0, bufsize); + tempOut.flush(); + } + + in.close(); + tempOut.close(); + return tempMetadataFile; + } + + throw new IOException("Failed to download extended metadata."); + + } + + private static String getProprietaryDataverseMetadataURL(String baseURL, String identifier) { + + baseURL = baseURL.replaceAll("/oai", ""); + + StringBuilder requestURL = new StringBuilder(baseURL); + requestURL.append(DATAVERSE_PROPRIETARY_METADATA_API); + requestURL.append("&persistentId=").append(identifier); + + return requestURL.toString(); + } private void logBeginOaiHarvest(Logger hdLogger, HarvestingClient harvestingClient) { hdLogger.log(Level.INFO, "BEGIN HARVEST, oaiUrl=" @@ -448,47 +474,5 @@ private void logException(Throwable e, Logger logger) { } while ((e = e.getCause()) != null); logger.severe(fullMessage); } - - /* - some dead code below: - this functionality has been moved into OaiHandler. - TODO: test that harvesting is still working and remove. - - private ServiceProvider getServiceProvider(String baseOaiUrl, Granularity oaiGranularity) { - Context context = new Context(); - - context.withBaseUrl(baseOaiUrl); - context.withGranularity(oaiGranularity); - context.withOAIClient(new HttpOAIClient(baseOaiUrl)); - - ServiceProvider serviceProvider = new ServiceProvider(context); - return serviceProvider; - } - */ - - /** - * Creates an XOAI parameters object for the ListIdentifiers call - * - * @param metadataPrefix - * @param set - * @param from - * @return ListIdentifiersParameters - */ - /* - private ListIdentifiersParameters buildParams(String metadataPrefix, String set, Date from) { - ListIdentifiersParameters mip = ListIdentifiersParameters.request(); - mip.withMetadataPrefix(metadataPrefix); - - if (from != null) { - mip.withFrom(from); - } - - if (set != null) { - mip.withSetSpec(set); - } - return mip; - } - */ - - + } From 171f2f48b2120cfee6db09f214cf90c62af50060 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Mon, 6 Jun 2022 17:36:12 -0400 Subject: [PATCH 12/33] rearranged/cleaned up handling of OAI delete in harvesting. (#8372) --- .../harvest/client/HarvesterServiceBean.java | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java index 86430a25ef0..c2a01e44cd0 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java @@ -242,6 +242,13 @@ private List harvestOAI(DataverseRequest dataverseRequest, HarvestingClien Date dateStamp = Date.from(h.getDatestamp()); hdLogger.info("processing identifier: " + identifier + ", date: " + dateStamp); + + if (h.isDeleted()) { + hdLogger.info("Deleting harvesting dataset for " + identifier + ", per ListIdentifiers."); + + deleteHarvestedDatasetIfExists(identifier, oaiHandler.getHarvestingClient().getDataverse(), dataverseRequest, deletedIdentifiers, hdLogger); + continue; + } MutableBoolean getRecordErrorOccurred = new MutableBoolean(false); @@ -301,19 +308,9 @@ private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, P hdLogger.log(Level.SEVERE, "Error calling GetRecord - " + errMessage); } else if (deleted) { - hdLogger.info("Deleting harvesting dataset for "+identifier+", per the OAI server's instructions."); + hdLogger.info("Deleting harvesting dataset for "+identifier+", per GetRecord."); - Dataset dataset = datasetService.getDatasetByHarvestInfo(oaiHandler.getHarvestingClient().getDataverse(), identifier); - if (dataset != null) { - hdLogger.info("Deleting dataset " + dataset.getGlobalIdString()); - datasetService.deleteHarvestedDataset(dataset, dataverseRequest, hdLogger); - // TODO: - // check the status of that Delete - see if it actually succeeded - deletedIdentifiers.add(identifier); - } else { - hdLogger.info("No dataset found for "+identifier+", skipping delete. "); - } - + deleteHarvestedDatasetIfExists(identifier, oaiHandler.getHarvestingClient().getDataverse(), dataverseRequest, deletedIdentifiers, hdLogger); } else { hdLogger.info("Successfully retrieved GetRecord response."); @@ -396,6 +393,18 @@ File retrieveProprietaryDataverseMetadata (String remoteApiUrl) throws IOExcepti } + private void deleteHarvestedDatasetIfExists(String persistentIdentifier, Dataverse harvestingDataverse, DataverseRequest dataverseRequest, List deletedIdentifiers, Logger hdLogger) { + Dataset dataset = datasetService.getDatasetByHarvestInfo(harvestingDataverse, persistentIdentifier); + if (dataset != null) { + datasetService.deleteHarvestedDataset(dataset, dataverseRequest, hdLogger); + // TODO: + // check the status of that Delete - see if it actually succeeded + deletedIdentifiers.add(persistentIdentifier); + return; + } + hdLogger.info("No dataset found for " + persistentIdentifier + ", skipping delete. "); + } + private static String getProprietaryDataverseMetadataURL(String baseURL, String identifier) { baseURL = baseURL.replaceAll("/oai", ""); From 09b6441f9c5e40902942e6f8871e95343714bdfb Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 15 Jun 2022 18:54:27 -0400 Subject: [PATCH 13/33] some *partial* fixes syncing the branch with the latest gdcc/xoai snapshot (#8372) --- .../harvest/client/HarvesterServiceBean.java | 2 +- .../harvest/client/oai/OaiHandler.java | 8 +- .../server/web/servlet/OAIServlet.java | 35 ++++----- .../server/xoai/DataverseXoaiItem.java | 4 +- .../xoai/DataverseXoaiItemRepository.java | 78 +++++++------------ .../xoai/DataverseXoaiSetRepository.java | 6 +- .../UsePregeneratedMetadataFormat.java | 43 ---------- 7 files changed, 50 insertions(+), 126 deletions(-) delete mode 100644 src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/conditions/UsePregeneratedMetadataFormat.java diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java index c2a01e44cd0..3d443a24fc5 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java @@ -34,7 +34,7 @@ import org.apache.commons.lang3.mutable.MutableBoolean; import org.xml.sax.SAXException; -import io.gdcc.xoai.model.oaipmh.Header; +import io.gdcc.xoai.model.oaipmh.results.record.Header; import edu.harvard.iq.dataverse.EjbDataverseEngine; import edu.harvard.iq.dataverse.api.imports.ImportServiceBean; import edu.harvard.iq.dataverse.engine.command.DataverseRequest; diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java index e55e9726dc4..a32feeed5a7 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java @@ -1,10 +1,10 @@ package edu.harvard.iq.dataverse.harvest.client.oai; -import io.gdcc.xoai.model.oaipmh.Description; +import io.gdcc.xoai.model.oaipmh.results.Description; import io.gdcc.xoai.model.oaipmh.Granularity; -import io.gdcc.xoai.model.oaipmh.Header; -import io.gdcc.xoai.model.oaipmh.MetadataFormat; -import io.gdcc.xoai.model.oaipmh.Set; +import io.gdcc.xoai.model.oaipmh.results.record.Header; +import io.gdcc.xoai.model.oaipmh.results.MetadataFormat; +import io.gdcc.xoai.model.oaipmh.results.Set; import io.gdcc.xoai.serviceprovider.ServiceProvider; import io.gdcc.xoai.serviceprovider.client.JdkHttpOaiClient; //.HttpOAIClient; import io.gdcc.xoai.serviceprovider.exceptions.BadArgumentException; diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index 8024c0ade0b..d06c2a51009 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -5,14 +5,14 @@ */ package edu.harvard.iq.dataverse.harvest.server.web.servlet; -import io.gdcc.xoai.xmlio.exceptions.XmlWriteException; import io.gdcc.xoai.dataprovider.DataProvider; -import io.gdcc.xoai.dataprovider.builder.OAIRequestParametersBuilder; +//import io.gdcc.xoai.dataprovider.builder.OAIRequestParametersBuilder; import io.gdcc.xoai.dataprovider.repository.Repository; import io.gdcc.xoai.dataprovider.repository.RepositoryConfiguration; import io.gdcc.xoai.dataprovider.model.Context; import io.gdcc.xoai.dataprovider.model.MetadataFormat; -import io.gdcc.xoai.services.impl.SimpleResumptionTokenFormat; +import io.gdcc.xoai.dataprovider.request.RequestBuilder; +import io.gdcc.xoai.dataprovider.request.RequestBuilder.RawRequest; import io.gdcc.xoai.dataprovider.repository.ItemRepository; import io.gdcc.xoai.dataprovider.repository.SetRepository; import io.gdcc.xoai.model.oaipmh.DeletedRecord; @@ -29,7 +29,6 @@ import edu.harvard.iq.dataverse.harvest.server.OAISetServiceBean; import edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiItemRepository; import edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiSetRepository; -import edu.harvard.iq.dataverse.harvest.server.xoai.conditions.UsePregeneratedMetadataFormat; import edu.harvard.iq.dataverse.settings.SettingsServiceBean; import edu.harvard.iq.dataverse.util.MailUtil; import edu.harvard.iq.dataverse.util.SystemConfig; @@ -99,7 +98,7 @@ public void init(ServletConfig config) throws ServletException { if (isDataverseOaiExtensionsSupported()) { xoaiContext = addDataverseJsonMetadataFormat(xoaiContext); } - addMetadataFormatConditions(xoaiContext); + //addMetadataFormatConditions(xoaiContext); setRepository = new DataverseXoaiSetRepository(setService); itemRepository = new DataverseXoaiItemRepository(recordService, datasetService, systemConfig.getDataverseSiteUrl()+"/oai"); @@ -109,7 +108,7 @@ public void init(ServletConfig config) throws ServletException { xoaiRepository = new Repository() .withSetRepository(setRepository) .withItemRepository(itemRepository) - .withResumptionTokenFormatter(new SimpleResumptionTokenFormat()) + //.withResumptionTokenFormatter(new SimpleResumptionTokenFormat()) .withConfiguration(repositoryConfiguration); dataProvider = new DataProvider(getXoaiContext(), getXoaiRepository()); @@ -159,13 +158,14 @@ private Context addDataverseJsonMetadataFormat(Context context) { return context; } + /* No longer needed after the modifications on the gdcc/xoai side private void addMetadataFormatConditions(Context context) { for (MetadataFormat metadataFormat : context.getMetadataFormats()) { UsePregeneratedMetadataFormat condition = new UsePregeneratedMetadataFormat(); condition.withMetadataFormat(metadataFormat); metadataFormat.withCondition(condition); } - } + }*/ private boolean isDataverseOaiExtensionsSupported() { return true; @@ -230,7 +230,7 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) } - private void processRequest(HttpServletRequest request, HttpServletResponse response) + private void processRequest(HttpServletRequest httpServletRequest, HttpServletResponse response) throws ServletException, IOException { try { @@ -241,16 +241,17 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp return; } - OAIRequestParametersBuilder parametersBuilder = newXoaiRequest(); + //OAIRequestParametersBuilder parametersBuilder = newXoaiRequest(); + RawRequest rawRequest = RequestBuilder.buildRawRequest(httpServletRequest.getParameterMap()); - for (Object p : request.getParameterMap().keySet()) { + /*for (Object p : httpServletRequest.getParameterMap().keySet()) { String parameterName = (String)p; - String parameterValue = request.getParameter(parameterName); + String parameterValue = httpServletRequest.getParameter(parameterName); parametersBuilder = parametersBuilder.with(parameterName, parameterValue); - } + }*/ - OAIPMH handle = dataProvider.handle(parametersBuilder); + OAIPMH handle = dataProvider.handle(rawRequest); response.setContentType("text/xml;charset=UTF-8"); XmlWriter xmlWriter = new XmlWriter(response.getOutputStream()); @@ -264,9 +265,6 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp } catch (XMLStreamException xse) { logger.warning("XML Stream exception in Get; "+xse.getMessage()); throw new ServletException ("XML Stream Exception in Get", xse); - } catch (XmlWriteException xwe) { - logger.warning("XML Write exception in Get; "+xwe.getMessage()); - throw new ServletException ("XML Write Exception in Get", xwe); } catch (Exception e) { logger.warning("Unknown exception in Get; "+e.getMessage()); throw new ServletException ("Unknown servlet exception in Get.", e); @@ -282,11 +280,6 @@ protected Repository getXoaiRepository() { return xoaiRepository; } - protected OAIRequestParametersBuilder newXoaiRequest() { - return new OAIRequestParametersBuilder(); - } - - public boolean isHarvestingServerEnabled() { return systemConfig.isOAIServerEnabled(); } diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java index ecdbb8f07eb..f7c19cee328 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java @@ -2,8 +2,8 @@ import io.gdcc.xoai.dataprovider.model.Item; import io.gdcc.xoai.dataprovider.model.Set; -import io.gdcc.xoai.model.oaipmh.Metadata; -import io.gdcc.xoai.model.oaipmh.About; +import io.gdcc.xoai.model.oaipmh.results.record.Metadata; +import io.gdcc.xoai.model.oaipmh.results.record.About; import edu.harvard.iq.dataverse.Dataset; import edu.harvard.iq.dataverse.harvest.server.OAIRecord; import edu.harvard.iq.dataverse.util.StringUtil; diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index c364571296c..d6c14a4e2ab 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -1,10 +1,10 @@ package edu.harvard.iq.dataverse.harvest.server.xoai; -import io.gdcc.xoai.dataprovider.exceptions.IdDoesNotExistException; -import io.gdcc.xoai.dataprovider.exceptions.OAIException; +import io.gdcc.xoai.dataprovider.exceptions.handler.IdDoesNotExistException; +import io.gdcc.xoai.exceptions.OAIException; import io.gdcc.xoai.dataprovider.filter.ScopedFilter; -import io.gdcc.xoai.dataprovider.handlers.results.ListItemIdentifiersResult; -import io.gdcc.xoai.dataprovider.handlers.results.ListItemsResults; +//import io.gdcc.xoai.dataprovider.handlers.results.ListItemIdentifiersResult; +//import io.gdcc.xoai.dataprovider.handlers.results.ListItemsResults; import io.gdcc.xoai.dataprovider.model.Item; import io.gdcc.xoai.dataprovider.model.ItemIdentifier; import io.gdcc.xoai.dataprovider.model.Set; @@ -16,11 +16,13 @@ import edu.harvard.iq.dataverse.export.ExportService; import edu.harvard.iq.dataverse.harvest.server.OAIRecord; import edu.harvard.iq.dataverse.harvest.server.OAIRecordServiceBean; -import edu.harvard.iq.dataverse.harvest.server.xoai.conditions.UsePregeneratedMetadataFormat; import edu.harvard.iq.dataverse.util.StringUtil; +import io.gdcc.xoai.dataprovider.exceptions.handler.HandlerException; +import io.gdcc.xoai.dataprovider.exceptions.handler.NoMetadataFormatsException; import io.gdcc.xoai.dataprovider.filter.Scope; -import io.gdcc.xoai.dataprovider.model.conditions.Condition; -import io.gdcc.xoai.model.oaipmh.Metadata; +import io.gdcc.xoai.dataprovider.repository.ResultsPage; +import io.gdcc.xoai.model.oaipmh.ResumptionToken; +import io.gdcc.xoai.model.oaipmh.results.record.Metadata; import io.gdcc.xoai.xml.EchoElement; import java.io.IOException; import java.io.InputStream; @@ -55,19 +57,19 @@ public DataverseXoaiItemRepository (OAIRecordServiceBean recordService, DatasetS @Override - public Item getItem(String identifier) throws IdDoesNotExistException, OAIException { + public Item getItem(String identifier) throws IdDoesNotExistException { // I'm assuming we don't want to use this version of getItem // that does not specify the requested metadata format, ever // in our implementation - ? - throw new OAIException("Metadata Format is Required"); + throw new IdDoesNotExistException("Metadata Format is Required"); } @Override - public Item getItem(String identifier, MetadataFormat metadataFormat) throws IdDoesNotExistException, OAIException { + public Item getItem(String identifier, MetadataFormat metadataFormat) throws HandlerException { logger.fine("getItem; calling findOaiRecordsByGlobalId, identifier " + identifier); if (metadataFormat == null) { - throw new OAIException("Metadata Format is Required"); + throw new NoMetadataFormatsException("Metadata Format is Required"); } List oaiRecords = recordService.findOaiRecordsByGlobalId(identifier); @@ -136,44 +138,15 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws IdD } @Override - public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length) throws OAIException { - return getItemIdentifiers(filters, offset, length, null, null, null); - } - - @Override - public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, Instant from) throws OAIException { - return getItemIdentifiers(filters, offset, length, null, from, null); - } - - @Override - public ListItemIdentifiersResult getItemIdentifiersUntil(List filters, int offset, int length, Instant until) throws OAIException { - return getItemIdentifiers(filters, offset, length, null, null, until); - } - - @Override - public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, Instant from, Instant until) throws OAIException { - return getItemIdentifiers(filters, offset, length, null, from, until); - } - - @Override - public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, String setSpec) throws OAIException { - return getItemIdentifiers(filters, offset, length, setSpec, null, null); - } - - @Override - public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, String setSpec, Instant from) throws OAIException { - return getItemIdentifiers(filters, offset, length, setSpec, from, null); - } - - @Override - public ListItemIdentifiersResult getItemIdentifiersUntil(List filters, int offset, int length, String setSpec, Instant until) throws OAIException { - return getItemIdentifiers(filters, offset, length, setSpec, null, until); - } - - @Override - public ListItemIdentifiersResult getItemIdentifiers(List filters, int offset, int length, String setSpec, Instant from, Instant until) throws OAIException { + public ResultsPage getItemIdentifiers(List filters, MetadataFormat metadataFormat, int maxResponseLength, ResumptionToken.Value resumptionToken) throws HandlerException { + + int offset = resumptionToken.getOffset().intValue(); + String setSpec = resumptionToken.getSetSpec(); + Instant from = resumptionToken.getFrom(); + Instant until = resumptionToken.getUntil(); + logger.fine("calling getItemIdentifiers; offset=" + offset - + ", length=" + length + + ", length=" + maxResponseLength + ", setSpec=" + setSpec + ", from=" + from + ", until=" + until); @@ -185,7 +158,7 @@ public ListItemIdentifiersResult getItemIdentifiers(List filters, List xoaiItems = new ArrayList<>(); if (oaiRecords != null && !oaiRecords.isEmpty()) { - for (int i = offset; i < offset + length && i < oaiRecords.size(); i++) { + for (int i = offset; i < offset + maxResponseLength && i < oaiRecords.size(); i++) { OAIRecord record = oaiRecords.get(i); xoaiItems.add(new DataverseXoaiItem(record)); } @@ -195,13 +168,14 @@ public ListItemIdentifiersResult getItemIdentifiers(List filters, // formatted output in the header: addExtraSets(xoaiItems, setSpec, from, until); - boolean hasMore = offset + length < oaiRecords.size(); - ListItemIdentifiersResult result = new ListItemIdentifiersResult(hasMore, xoaiItems); + boolean hasMore = offset + maxResponseLength < oaiRecords.size(); + //ListItemIdentifiersResult result = new ListItemIdentifiersResult(hasMore, xoaiItems); + ResultsPage result = new ResultsPage(resumptionToken, hasMore, xoaiItems, oaiRecords.size()); logger.fine("returning result with " + xoaiItems.size() + " items."); return result; } - return new ListItemIdentifiersResult(false, xoaiItems); + return new ResultsPage(resumptionToken, false, xoaiItems, 0); } @Override diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java index 765bacea32d..f1a0ecf185f 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java @@ -2,7 +2,7 @@ import io.gdcc.xoai.model.xoai.Element; import io.gdcc.xoai.dataprovider.repository.SetRepository; -import io.gdcc.xoai.dataprovider.handlers.results.ListSetsResult; +//import io.gdcc.xoai.dataprovider.handlers.results.ListSetsResult; import io.gdcc.xoai.dataprovider.model.Set; import io.gdcc.xoai.model.xoai.XOAIMetadata; import edu.harvard.iq.dataverse.harvest.server.OAISet; @@ -47,7 +47,7 @@ public boolean supportSets() { } @Override - public ListSetsResult retrieveSets(int offset, int length) { + public List getSets() { //int offset, int length) { logger.fine("calling retrieveSets()"); List dataverseOAISets = setService.findAllNamedSets(); List XOAISets = new ArrayList(); @@ -66,7 +66,7 @@ public ListSetsResult retrieveSets(int offset, int length) { } } - return new ListSetsResult(offset + length < XOAISets.size(), XOAISets.subList(offset, Math.min(offset + length, XOAISets.size()))); + return XOAISets; } @Override diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/conditions/UsePregeneratedMetadataFormat.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/conditions/UsePregeneratedMetadataFormat.java deleted file mode 100644 index bab79315030..00000000000 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/conditions/UsePregeneratedMetadataFormat.java +++ /dev/null @@ -1,43 +0,0 @@ -package edu.harvard.iq.dataverse.harvest.server.xoai.conditions; - -import io.gdcc.xoai.dataprovider.filter.Filter; -import io.gdcc.xoai.dataprovider.filter.FilterResolver; -import io.gdcc.xoai.dataprovider.model.ItemIdentifier; -import io.gdcc.xoai.dataprovider.model.MetadataFormat; -import io.gdcc.xoai.dataprovider.model.conditions.Condition; - -/** - * The purpose of this Condition is to pass the MetadataFormat to the - * getItems() methods in the Dataverse ItemRepository, as part of a - * ScopedFilter. - * - * @author Leonid Andreev - */ -public class UsePregeneratedMetadataFormat implements Condition { - - public UsePregeneratedMetadataFormat() { - alwaysTrueFilter = new Filter() { - @Override - public boolean isItemShown(ItemIdentifier item) { - return true; - } - }; - } - - private final Filter alwaysTrueFilter; - - @Override - public Filter getFilter(FilterResolver filterResolver) { - return alwaysTrueFilter; - } - - private MetadataFormat metadataFormat; - - public void withMetadataFormat(MetadataFormat metadataFormat) { - this.metadataFormat = metadataFormat; - } - - public MetadataFormat getMetadataFormat() { - return metadataFormat; - } -} From 709bd3bb4161ef4ce35af60ad5b5b1c60f8860f8 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 15 Jun 2022 19:07:37 -0400 Subject: [PATCH 14/33] more of (still *partial*) fixes syncing the branch with the latest gdcc/xoai snapshot (#8372) --- .../xoai/DataverseXoaiItemRepository.java | 93 +++++-------------- 1 file changed, 22 insertions(+), 71 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index d6c14a4e2ab..1d50254fef9 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -138,7 +138,7 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws Han } @Override - public ResultsPage getItemIdentifiers(List filters, MetadataFormat metadataFormat, int maxResponseLength, ResumptionToken.Value resumptionToken) throws HandlerException { + public ResultsPage getItemIdentifiers(List filters, MetadataFormat metadataFormat, int maxResponseLength, ResumptionToken.Value resumptionToken) throws HandlerException { int offset = resumptionToken.getOffset().intValue(); String setSpec = resumptionToken.getSetSpec(); @@ -178,85 +178,34 @@ public ResultsPage getItemIdentifiers(List filter return new ResultsPage(resumptionToken, false, xoaiItems, 0); } + /* ResultsPage getItems( + final List filters, final MetadataFormat metadataFormat, final int maxResponseLength, + final ResumptionToken.Value resumptionToken) throws HandlerException; */ @Override - public ListItemsResults getItems(List filters, int offset, int length) throws OAIException { - return getItems(filters, offset, length, null, null, null); - } - - @Override - public ListItemsResults getItems(List filters, int offset, int length, Instant from) throws OAIException { - return getItems(filters, offset, length, null, from, null); - } - - @Override - public ListItemsResults getItemsUntil(List filters, int offset, int length, Instant until) throws OAIException { - return getItems(filters, offset, length, null, null, until); - } - - @Override - public ListItemsResults getItems(List filters, int offset, int length, Instant from, Instant until) throws OAIException { - return getItems(filters, offset, length, null, from, until); - } - - @Override - public ListItemsResults getItems(List filters, int offset, int length, String setSpec) throws OAIException { - return getItems(filters, offset, length, setSpec, null, null); - } - - @Override - public ListItemsResults getItems(List filters, int offset, int length, String setSpec, Instant from) throws OAIException { - return getItems(filters, offset, length, setSpec, from, null); - } - - @Override - public ListItemsResults getItemsUntil(List filters, int offset, int length, String setSpec, Instant until) throws OAIException { - return getItems(filters, offset, length, setSpec, null, until); - } - - @Override - public ListItemsResults getItems(List filters, int offset, int length, String setSpec, Instant from, Instant until) throws OAIException { + public ResultsPage getItems(List filters, MetadataFormat metadataFormat, int maxResponseLength, ResumptionToken.Value resumptionToken) throws HandlerException { + int offset = resumptionToken.getOffset().intValue(); + String setSpec = resumptionToken.getSetSpec(); + Instant from = resumptionToken.getFrom(); + Instant until = resumptionToken.getUntil(); + logger.fine("calling getItems; offset=" + offset - + ", length=" + length + + ", length=" + maxResponseLength + ", setSpec=" + setSpec + ", from=" + from + ", until=" + until); - - // TODO:?/WORKINPROGRESS: - // we need to know the MetadataFormat requested, in - // order to look up the pre-generated metadata stream - // and create a CopyElement Metadata object out of it. - // In the current implementation this is solved by encoding the - // MetadataFormat in a custom Condition, which results in it being - // passed to the getItems() method as a ScopedFilter. - // (or should we simply offer versions of all these methods, - // with the extra MetadataFormat argument, on the gdcc.xoai side, - // like it was done with getItem() above? - - MetadataFormat metadataFormat = null; - - for (ScopedFilter f : filters) { - - if (f.getScope().equals(Scope.MetadataFormat)) { - Condition condition = f.getCondition(); - if (condition instanceof UsePregeneratedMetadataFormat) { - metadataFormat = ((UsePregeneratedMetadataFormat) condition).getMetadataFormat(); - break; - } - } - } - + + // this is not needed, is it? if (metadataFormat == null) { - throw new OAIException("Metadata Format is Required"); + throw new NoMetadataFormatsException("Metadata Format is Required"); } List oaiRecords = recordService.findOaiRecordsBySetName(setSpec, from, until); - logger.fine("total " + oaiRecords.size() + " records returned"); - List xoaiItems = new ArrayList<>(); - if (oaiRecords != null && !oaiRecords.isEmpty()) { + if (!(oaiRecords == null || oaiRecords.isEmpty())) { + logger.fine("total " + oaiRecords.size() + " records returned"); - for (int i = offset; i < offset + length && i < oaiRecords.size(); i++) { + for (int i = offset; i < offset + maxResponseLength && i < oaiRecords.size(); i++) { OAIRecord oaiRecord = oaiRecords.get(i); DataverseXoaiItem xoaiItem = new DataverseXoaiItem(oaiRecord); @@ -302,13 +251,15 @@ public ListItemsResults getItems(List filters, int offset, int len addExtraSets(xoaiItems, setSpec, from, until); - boolean hasMore = offset + length < oaiRecords.size(); - ListItemsResults result = new ListItemsResults(hasMore, xoaiItems); + boolean hasMore = offset + maxResponseLength < oaiRecords.size(); + //ListItemsResults result = new ListItemsResults(hasMore, xoaiItems); + ResultsPage result = new ResultsPage(resumptionToken, hasMore, xoaiItems, oaiRecords.size()); logger.fine("returning result with " + xoaiItems.size() + " items."); return result; } - return new ListItemsResults(false, xoaiItems); + logger.fine("no records found"); + return new ResultsPage(resumptionToken, false, xoaiItems, 0); } private void addExtraSets(Object xoaiItemsList, String setSpec, Instant from, Instant until) { From f87bea8d17e0644714f381e77b1294b0eaece03e Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Thu, 23 Jun 2022 18:46:59 -0400 Subject: [PATCH 15/33] a few more lines to accommodate the changes in gdcc/xoai (#8372) --- .../harvest/server/web/servlet/OAIServlet.java | 13 ++++++------- .../server/xoai/DataverseXoaiItemRepository.java | 13 +++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index d06c2a51009..7fc03dc90d6 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -101,10 +101,10 @@ public void init(ServletConfig config) throws ServletException { //addMetadataFormatConditions(xoaiContext); setRepository = new DataverseXoaiSetRepository(setService); - itemRepository = new DataverseXoaiItemRepository(recordService, datasetService, systemConfig.getDataverseSiteUrl()+"/oai"); + itemRepository = new DataverseXoaiItemRepository(recordService, datasetService, systemConfig.getDataverseSiteUrl()); repositoryConfiguration = createRepositoryConfiguration(); - + xoaiRepository = new Repository() .withSetRepository(setRepository) .withItemRepository(itemRepository) @@ -182,20 +182,19 @@ private RepositoryConfiguration createRepositoryConfiguration() { // (Note: if the setting does not exist, we are going to assume that they // have a reason not to want to advertise their email address, so no // email will be shown in the output of Identify. - InternetAddress internetAddress = MailUtil.parseSystemAddress(settingsService.getValueForKey(SettingsServiceBean.Key.SystemEmail)); + InternetAddress systemEmailAddress = MailUtil.parseSystemAddress(settingsService.getValueForKey(SettingsServiceBean.Key.SystemEmail)); - RepositoryConfiguration repositoryConfiguration = new RepositoryConfiguration() + RepositoryConfiguration repositoryConfiguration = RepositoryConfiguration.defaults() .withRepositoryName(repositoryName) .withBaseUrl(systemConfig.getDataverseSiteUrl()+"/oai") .withCompression("gzip") .withCompression("deflate") - .withAdminEmail(internetAddress != null ? internetAddress.getAddress() : null) + .withAdminEmail(systemEmailAddress != null ? systemEmailAddress.getAddress() : null) .withDeleteMethod(DeletedRecord.TRANSIENT) - .withGranularity(Granularity.Second) .withMaxListIdentifiers(systemConfig.getOaiServerMaxIdentifiers()) .withMaxListRecords(systemConfig.getOaiServerMaxRecords()) .withMaxListSets(systemConfig.getOaiServerMaxSets()) - .withEarliestDate(new Date().toInstant()); // TODO: + .withEnableMetadataAttributes(true); return repositoryConfiguration; } diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index 1d50254fef9..6f246309593 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -140,7 +140,7 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws Han @Override public ResultsPage getItemIdentifiers(List filters, MetadataFormat metadataFormat, int maxResponseLength, ResumptionToken.Value resumptionToken) throws HandlerException { - int offset = resumptionToken.getOffset().intValue(); + int offset = Long.valueOf(resumptionToken.getOffset()).intValue(); String setSpec = resumptionToken.getSetSpec(); Instant from = resumptionToken.getFrom(); Instant until = resumptionToken.getUntil(); @@ -183,7 +183,7 @@ public ResultsPage getItemIdentifiers(List filters final ResumptionToken.Value resumptionToken) throws HandlerException; */ @Override public ResultsPage getItems(List filters, MetadataFormat metadataFormat, int maxResponseLength, ResumptionToken.Value resumptionToken) throws HandlerException { - int offset = resumptionToken.getOffset().intValue(); + int offset = Long.valueOf(resumptionToken.getOffset()).intValue(); String setSpec = resumptionToken.getSetSpec(); Instant from = resumptionToken.getFrom(); Instant until = resumptionToken.getUntil(); @@ -297,11 +297,12 @@ private Metadata getDatasetMetadata(Dataset dataset, String metadataPrefix) thro Metadata metadata; if ("dataverse_json".equals(metadataPrefix)) { - // Slightly modified version of the old proprietary Json harvesting hack: - // (decision pending as to whether we want to provide backward compatibility - // for older Dataverse harvesting clients) + // Solely for backward compatibility, for older Dataverse harvesting clients + // that may still be relying on harvesting "dataverse_json"; + // we will want to eventually get rid of this hack! String apiUrl = customDataverseJsonApiUri(dataset.getGlobalId().asString()); - metadata = new Metadata(new EchoElement("" + apiUrl + "")); + metadata = new Metadata(new EchoElement("custom metadata")).withAttribute("directApiCall", apiUrl); + } else { InputStream pregeneratedMetadataStream; pregeneratedMetadataStream = ExportService.getInstance().getExport(dataset, metadataPrefix); From 27683b3cef2cb3f0dae3cb9ff3ab06a3a1201d33 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Sun, 10 Jul 2022 21:25:28 -0400 Subject: [PATCH 16/33] Some more cleanup for the harvesting subsystem migration to gdcc/xoai (#8372) --- .../server/web/servlet/OAIServlet.java | 43 ++++++------------- .../xoai/DataverseXoaiItemRepository.java | 24 ++++------- .../xoai/DataverseXoaiSetRepository.java | 5 +-- 3 files changed, 23 insertions(+), 49 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index 7fc03dc90d6..8cbde519446 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -71,17 +71,21 @@ public class OAIServlet extends HttpServlet { SystemConfig systemConfig; private static final Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.web.servlet.OAIServlet"); - protected HashMap attributesMap = new HashMap(); // If we are going to stick with this solution - of providing a minimalist // xml record containing a link to the proprietary json metadata API for // "dataverse json harvesting", we'll probably want to create minimalistic, // but valid schemas for this format as well. - // (although the more I'm thinking about this... these records just don't seem - // needed at all) + // UPDATE: we are keeping this hack on the server side purely for backward + // compatibility with older (pre v6) Dataverses who may still be using the + // format. Once v6 has been around for a while, we will get rid of it completely. + // Starting this version, harvesting clients will not be making GetRecord + // calls at all when using harvesting dataverse_json; instead they will only + // be calling ListIdentifiers, and then making direct calls to the export + // API of the remote Dataverse, to obtain the records in native json. This + // is how we should have implemented this in the first place, really. private static final String DATAVERSE_EXTENDED_METADATA_FORMAT = "dataverse_json"; - private static final String DATAVERSE_EXTENDED_METADATA_NAMESPACE = ""; - private static final String DATAVERSE_EXTENDED_METADATA_SCHEMA = ""; - + private static final String DATAVERSE_EXTENDED_METADATA_NAMESPACE = "Custom Dataverse metadata in JSON format (Dataverse4 to Dataverse4 harvesting only)"; + private static final String DATAVERSE_EXTENDED_METADATA_SCHEMA = "JSON schema pending"; private Context xoaiContext; private SetRepository setRepository; @@ -98,7 +102,6 @@ public void init(ServletConfig config) throws ServletException { if (isDataverseOaiExtensionsSupported()) { xoaiContext = addDataverseJsonMetadataFormat(xoaiContext); } - //addMetadataFormatConditions(xoaiContext); setRepository = new DataverseXoaiSetRepository(setService); itemRepository = new DataverseXoaiItemRepository(recordService, datasetService, systemConfig.getDataverseSiteUrl()); @@ -108,7 +111,6 @@ public void init(ServletConfig config) throws ServletException { xoaiRepository = new Repository() .withSetRepository(setRepository) .withItemRepository(itemRepository) - //.withResumptionTokenFormatter(new SimpleResumptionTokenFormat()) .withConfiguration(repositoryConfiguration); dataProvider = new DataProvider(getXoaiContext(), getXoaiRepository()); @@ -158,15 +160,6 @@ private Context addDataverseJsonMetadataFormat(Context context) { return context; } - /* No longer needed after the modifications on the gdcc/xoai side - private void addMetadataFormatConditions(Context context) { - for (MetadataFormat metadataFormat : context.getMetadataFormats()) { - UsePregeneratedMetadataFormat condition = new UsePregeneratedMetadataFormat(); - condition.withMetadataFormat(metadataFormat); - metadataFormat.withCondition(condition); - } - }*/ - private boolean isDataverseOaiExtensionsSupported() { return true; } @@ -185,6 +178,7 @@ private RepositoryConfiguration createRepositoryConfiguration() { InternetAddress systemEmailAddress = MailUtil.parseSystemAddress(settingsService.getValueForKey(SettingsServiceBean.Key.SystemEmail)); RepositoryConfiguration repositoryConfiguration = RepositoryConfiguration.defaults() + .withEnableMetadataAttributes(true) .withRepositoryName(repositoryName) .withBaseUrl(systemConfig.getDataverseSiteUrl()+"/oai") .withCompression("gzip") @@ -193,8 +187,7 @@ private RepositoryConfiguration createRepositoryConfiguration() { .withDeleteMethod(DeletedRecord.TRANSIENT) .withMaxListIdentifiers(systemConfig.getOaiServerMaxIdentifiers()) .withMaxListRecords(systemConfig.getOaiServerMaxRecords()) - .withMaxListSets(systemConfig.getOaiServerMaxSets()) - .withEnableMetadataAttributes(true); + .withMaxListSets(systemConfig.getOaiServerMaxSets()); return repositoryConfiguration; } @@ -239,21 +232,13 @@ private void processRequest(HttpServletRequest httpServletRequest, HttpServletRe "Sorry. OAI Service is disabled on this Dataverse node."); return; } - - //OAIRequestParametersBuilder parametersBuilder = newXoaiRequest(); + RawRequest rawRequest = RequestBuilder.buildRawRequest(httpServletRequest.getParameterMap()); - /*for (Object p : httpServletRequest.getParameterMap().keySet()) { - String parameterName = (String)p; - String parameterValue = httpServletRequest.getParameter(parameterName); - parametersBuilder = parametersBuilder.with(parameterName, parameterValue); - - }*/ - OAIPMH handle = dataProvider.handle(rawRequest); response.setContentType("text/xml;charset=UTF-8"); - XmlWriter xmlWriter = new XmlWriter(response.getOutputStream()); + XmlWriter xmlWriter = new XmlWriter(response.getOutputStream(), repositoryConfiguration); xmlWriter.write(handle); xmlWriter.flush(); xmlWriter.close(); diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index 6f246309593..c9dfe65d722 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -1,10 +1,7 @@ package edu.harvard.iq.dataverse.harvest.server.xoai; import io.gdcc.xoai.dataprovider.exceptions.handler.IdDoesNotExistException; -import io.gdcc.xoai.exceptions.OAIException; import io.gdcc.xoai.dataprovider.filter.ScopedFilter; -//import io.gdcc.xoai.dataprovider.handlers.results.ListItemIdentifiersResult; -//import io.gdcc.xoai.dataprovider.handlers.results.ListItemsResults; import io.gdcc.xoai.dataprovider.model.Item; import io.gdcc.xoai.dataprovider.model.ItemIdentifier; import io.gdcc.xoai.dataprovider.model.Set; @@ -19,7 +16,6 @@ import edu.harvard.iq.dataverse.util.StringUtil; import io.gdcc.xoai.dataprovider.exceptions.handler.HandlerException; import io.gdcc.xoai.dataprovider.exceptions.handler.NoMetadataFormatsException; -import io.gdcc.xoai.dataprovider.filter.Scope; import io.gdcc.xoai.dataprovider.repository.ResultsPage; import io.gdcc.xoai.model.oaipmh.ResumptionToken; import io.gdcc.xoai.model.oaipmh.results.record.Metadata; @@ -40,7 +36,7 @@ */ public class DataverseXoaiItemRepository implements ItemRepository { - private static Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.XitemRepository"); + private static Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiItemRepository"); private OAIRecordServiceBean recordService; private DatasetServiceBean datasetService; @@ -60,7 +56,7 @@ public DataverseXoaiItemRepository (OAIRecordServiceBean recordService, DatasetS public Item getItem(String identifier) throws IdDoesNotExistException { // I'm assuming we don't want to use this version of getItem // that does not specify the requested metadata format, ever - // in our implementation - ? + // in our implementation - ? (L.A.) throw new IdDoesNotExistException("Metadata Format is Required"); } @@ -153,8 +149,6 @@ public ResultsPage getItemIdentifiers(List filters List oaiRecords = recordService.findOaiRecordsBySetName(setSpec, from, until); - //logger.fine("total " + oaiRecords.size() + " returned"); - List xoaiItems = new ArrayList<>(); if (oaiRecords != null && !oaiRecords.isEmpty()) { @@ -169,7 +163,6 @@ public ResultsPage getItemIdentifiers(List filters addExtraSets(xoaiItems, setSpec, from, until); boolean hasMore = offset + maxResponseLength < oaiRecords.size(); - //ListItemIdentifiersResult result = new ListItemIdentifiersResult(hasMore, xoaiItems); ResultsPage result = new ResultsPage(resumptionToken, hasMore, xoaiItems, oaiRecords.size()); logger.fine("returning result with " + xoaiItems.size() + " items."); return result; @@ -178,9 +171,6 @@ public ResultsPage getItemIdentifiers(List filters return new ResultsPage(resumptionToken, false, xoaiItems, 0); } - /* ResultsPage getItems( - final List filters, final MetadataFormat metadataFormat, final int maxResponseLength, - final ResumptionToken.Value resumptionToken) throws HandlerException; */ @Override public ResultsPage getItems(List filters, MetadataFormat metadataFormat, int maxResponseLength, ResumptionToken.Value resumptionToken) throws HandlerException { int offset = Long.valueOf(resumptionToken.getOffset()).intValue(); @@ -194,7 +184,8 @@ public ResultsPage getItems(List filters, MetadataFormat met + ", from=" + from + ", until=" + until); - // this is not needed, is it? + // this is not needed, is it? (the parameters should be pre-validated + // on the gdcc/xoai side by this point) if (metadataFormat == null) { throw new NoMetadataFormatsException("Metadata Format is Required"); } @@ -252,7 +243,6 @@ public ResultsPage getItems(List filters, MetadataFormat met addExtraSets(xoaiItems, setSpec, from, until); boolean hasMore = offset + maxResponseLength < oaiRecords.size(); - //ListItemsResults result = new ListItemsResults(hasMore, xoaiItems); ResultsPage result = new ResultsPage(resumptionToken, hasMore, xoaiItems, oaiRecords.size()); logger.fine("returning result with " + xoaiItems.size() + " items."); return result; @@ -300,8 +290,10 @@ private Metadata getDatasetMetadata(Dataset dataset, String metadataPrefix) thro // Solely for backward compatibility, for older Dataverse harvesting clients // that may still be relying on harvesting "dataverse_json"; // we will want to eventually get rid of this hack! - String apiUrl = customDataverseJsonApiUri(dataset.getGlobalId().asString()); - metadata = new Metadata(new EchoElement("custom metadata")).withAttribute("directApiCall", apiUrl); + // @Deprecated(since = "5.0") + metadata = new Metadata( + new EchoElement("custom metadata")) + .withAttribute("directApiCall", customDataverseJsonApiUri(dataset.getGlobalId().asString())); } else { InputStream pregeneratedMetadataStream; diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java index f1a0ecf185f..edbe1da8d69 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java @@ -2,7 +2,6 @@ import io.gdcc.xoai.model.xoai.Element; import io.gdcc.xoai.dataprovider.repository.SetRepository; -//import io.gdcc.xoai.dataprovider.handlers.results.ListSetsResult; import io.gdcc.xoai.dataprovider.model.Set; import io.gdcc.xoai.model.xoai.XOAIMetadata; import edu.harvard.iq.dataverse.harvest.server.OAISet; @@ -37,7 +36,6 @@ public void setSetService(OAISetServiceBean setService) { @Override public boolean supportSets() { - logger.fine("calling supportSets()"); List dataverseOAISets = setService.findAllNamedSets(); if (dataverseOAISets == null || dataverseOAISets.isEmpty()) { @@ -47,7 +45,7 @@ public boolean supportSets() { } @Override - public List getSets() { //int offset, int length) { + public List getSets() { logger.fine("calling retrieveSets()"); List dataverseOAISets = setService.findAllNamedSets(); List XOAISets = new ArrayList(); @@ -71,7 +69,6 @@ public List getSets() { //int offset, int length) { @Override public boolean exists(String setSpec) { - // return true; return setService.setExists(setSpec); } From 3864f1e58bbf47a123def38e48916d9be0f661ba Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Mon, 11 Jul 2022 13:47:04 -0400 Subject: [PATCH 17/33] pointing the pom file to the 5.0.0-RC1 release of gdcc/xoai! (#8372) --- modules/dataverse-parent/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/dataverse-parent/pom.xml b/modules/dataverse-parent/pom.xml index d154bad82c1..70153b71565 100644 --- a/modules/dataverse-parent/pom.xml +++ b/modules/dataverse-parent/pom.xml @@ -163,7 +163,7 @@ 4.4.14 - 5.0.0-SNAPSHOT + 5.0.0-RC1 1.15.0 @@ -304,7 +304,7 @@ Local repository for hosting jars not available from network repositories. file://${project.basedir}/local_lib - + + --> From 14fae8b0d0721914a26bf65b92c7c193ad346135 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Tue, 12 Jul 2022 22:39:47 -0400 Subject: [PATCH 18/33] removed all the logic that we used to have in the record service for manipulating the "until" date parameter to ensure inclusivity. (#8372) --- .../harvest/server/OAIRecordServiceBean.java | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAIRecordServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAIRecordServiceBean.java index a7e180ce233..4fb02a0c86c 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAIRecordServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/OAIRecordServiceBean.java @@ -323,36 +323,9 @@ public List findOaiRecordsBySetName(String setName, Instant from, Ins if (from != null) { query.setParameter("from",Date.from(from),TemporalType.TIMESTAMP); } - // In order to achieve inclusivity on the "until" matching, we need to do - // the following (if the "until" parameter is supplied): - // 1) if the supplied "until" parameter has the time portion (and is not just - // a date), we'll increment it by one second. This is because the time stamps we - // keep in the database also have fractional thousands of a second. - // So, a record may be shown as "T17:35:45", but in the database it is - // actually "17:35:45.356", so "<= 17:35:45" isn't going to work on this - // time stamp! - So we want to try "<= 17:35:45" instead. - // 2) if it's just a date, we'll increment it by a *full day*. Otherwise - // our database time stamp of 2016-10-23T17:35:45.123Z is NOT going to - // match " <= 2016-10-23" - which is really going to be interpreted as - // "2016-10-23T00:00:00.000". - // -- L.A. 4.6 if (until != null) { - // 24 * 3600 * 1000 = number of milliseconds in a day. - Date untilDate = Date.from(until); - - if (untilDate.getTime() % (24 * 3600 * 1000) == 0) { - // The supplied "until" parameter is a date, with no time - // portion. - // TODO: review/reimplement this! - - logger.fine("plain date. incrementing by one day"); - untilDate.setTime(untilDate.getTime()+(24 * 3600 * 1000)); - } else { - logger.fine("date and time. incrementing by one second"); - untilDate.setTime(untilDate.getTime()+1000); - } query.setParameter("until",untilDate,TemporalType.TIMESTAMP); } From 6ee6fdf919c7a6146f5ce1564603fbace0df4843 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Tue, 12 Jul 2022 23:09:59 -0400 Subject: [PATCH 19/33] fixed the implementation of getItem(String identifier) in the item repository (#8372) --- .../xoai/DataverseXoaiItemRepository.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index c9dfe65d722..f6ad332314d 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -53,11 +53,26 @@ public DataverseXoaiItemRepository (OAIRecordServiceBean recordService, DatasetS @Override - public Item getItem(String identifier) throws IdDoesNotExistException { - // I'm assuming we don't want to use this version of getItem - // that does not specify the requested metadata format, ever - // in our implementation - ? (L.A.) - throw new IdDoesNotExistException("Metadata Format is Required"); + public ItemIdentifier getItem(String identifier) throws IdDoesNotExistException { + // This method is called when ListMetadataFormats request specifies + // the identifier, requesting the formats available for this specific record. + // In our case, under the current implementation, we need to simply look + // up if the record exists; if it does, all the OAI formats that we serve + // should be available for this record. + + List oaiRecords = recordService.findOaiRecordsByGlobalId(identifier); + if (oaiRecords != null && !oaiRecords.isEmpty()) { + DataverseXoaiItem xoaiItem = null; + for (OAIRecord oaiRecord : oaiRecords) { + // We can return the first *active* record we find for this identifier. + if (!oaiRecord.isRemoved()) { + xoaiItem = new DataverseXoaiItem(oaiRecord); + return xoaiItem; + } + } + } + + throw new IdDoesNotExistException(); } @Override From d6d169ec90303fb08cd80a48277f9800b3464bb5 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Tue, 12 Jul 2022 23:17:43 -0400 Subject: [PATCH 20/33] removed the unnecessary xoai-common dependency from pom.xml (#8372) --- pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pom.xml b/pom.xml index 550e60ff8b6..a45c56235be 100644 --- a/pom.xml +++ b/pom.xml @@ -383,11 +383,6 @@ 9.9.1 - - io.gdcc - xoai-common - ${gdcc.xoai.version} - io.gdcc xoai-data-provider From 3c8f2259c66d7e7f93bb459fa385976c7d7e6dd7 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 13 Jul 2022 09:45:42 -0400 Subject: [PATCH 21/33] replaced the old http get-and-save fragment with some code that uses the jdk http client and stream .transferTo() (#8372) --- .../harvest/client/HarvesterServiceBean.java | 81 ++++++++++--------- 1 file changed, 43 insertions(+), 38 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java index 3d443a24fc5..7f34847cbf3 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java @@ -5,6 +5,7 @@ */ package edu.harvard.iq.dataverse.harvest.client; +import static java.net.HttpURLConnection.HTTP_OK; import edu.harvard.iq.dataverse.Dataset; import edu.harvard.iq.dataverse.DatasetServiceBean; import edu.harvard.iq.dataverse.Dataverse; @@ -17,7 +18,6 @@ import java.util.Date; import java.util.Iterator; import java.util.List; -//import java.net.URLEncoder; import java.util.logging.FileHandler; import java.util.logging.Level; import java.util.logging.Logger; @@ -28,7 +28,6 @@ import javax.ejb.Stateless; import javax.ejb.Timer; import javax.inject.Named; -//import javax.xml.bind.Unmarshaller; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerException; import org.apache.commons.lang3.mutable.MutableBoolean; @@ -45,9 +44,10 @@ import java.io.FileWriter; import java.io.InputStream; import java.io.PrintWriter; -import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.URL; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @@ -222,6 +222,7 @@ private List harvestOAI(DataverseRequest dataverseRequest, HarvestingClien List harvestedDatasetIds = new ArrayList(); OaiHandler oaiHandler; + HttpClient httpClient = null; try { oaiHandler = new OaiHandler(harvestingClient); @@ -233,7 +234,13 @@ private List harvestOAI(DataverseRequest dataverseRequest, HarvestingClien hdLogger.log(Level.SEVERE, errorMessage); throw new IOException(errorMessage); } - + + if (DATAVERSE_PROPRIETARY_METADATA_FORMAT.equals(oaiHandler.getMetadataPrefix())) { + // If we are harvesting native Dataverse json, we'll also need this + // jdk http client to make direct calls to the remote Dataverse API: + httpClient = HttpClient.newBuilder().followRedirects(HttpClient.Redirect.ALWAYS).build(); + } + try { for (Iterator

idIter = oaiHandler.runListIdentifiers(); idIter.hasNext();) { @@ -253,7 +260,8 @@ private List harvestOAI(DataverseRequest dataverseRequest, HarvestingClien MutableBoolean getRecordErrorOccurred = new MutableBoolean(false); // Retrieve and process this record with a separate GetRecord call: - Long datasetId = processRecord(dataverseRequest, hdLogger, importCleanupLog, oaiHandler, identifier, getRecordErrorOccurred, deletedIdentifiers, dateStamp); + + Long datasetId = processRecord(dataverseRequest, hdLogger, importCleanupLog, oaiHandler, identifier, getRecordErrorOccurred, deletedIdentifiers, dateStamp, httpClient); if (datasetId != null) { harvestedDatasetIds.add(datasetId); @@ -282,7 +290,7 @@ private List harvestOAI(DataverseRequest dataverseRequest, HarvestingClien } - private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, PrintWriter importCleanupLog, OaiHandler oaiHandler, String identifier, MutableBoolean recordErrorOccurred, List deletedIdentifiers, Date dateStamp) { + private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, PrintWriter importCleanupLog, OaiHandler oaiHandler, String identifier, MutableBoolean recordErrorOccurred, List deletedIdentifiers, Date dateStamp, HttpClient httpClient) { String errMessage = null; Dataset harvestedDataset = null; logGetRecord(hdLogger, oaiHandler, identifier); @@ -295,7 +303,7 @@ private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, P // Make direct call to obtain the proprietary Dataverse metadata // in JSON from the remote Dataverse server: String extendedApiUrl = getProprietaryDataverseMetadataURL(oaiHandler.getBaseOaiUrl(), identifier); - tempFile = retrieveProprietaryDataverseMetadata(extendedApiUrl); + tempFile = retrieveProprietaryDataverseMetadata(httpClient, extendedApiUrl); } else { FastGetRecord record = oaiHandler.runGetRecord(identifier); @@ -354,43 +362,40 @@ private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, P return harvestedDataset != null ? harvestedDataset.getId() : null; } - File retrieveProprietaryDataverseMetadata (String remoteApiUrl) throws IOException { - InputStream in; - int responseCode = 0; - HttpURLConnection con = null; + File retrieveProprietaryDataverseMetadata (HttpClient client, String remoteApiUrl) throws IOException { - File tempMetadataFile = File.createTempFile("meta", ".tmp"); + if (client == null) { + throw new IOException("Null Http Client, cannot make a call to obtain native metadata."); + } - try { - URL url = new URL(remoteApiUrl); - - con = (HttpURLConnection) url.openConnection(); - con.setRequestProperty("User-Agent", "DataverseHarvester/3.0"); - responseCode = con.getResponseCode(); - } catch (MalformedURLException mue) { - throw new IOException ("Bad API URL: "+remoteApiUrl); - } + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(remoteApiUrl)) + .GET() + .header("User-Agent", "DataverseHarvester/6.0") + .build(); - if (responseCode == 200) { - in = con.getInputStream(); + HttpResponse response; + + try { + response = client.send(request, HttpResponse.BodyHandlers.ofInputStream()); + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + throw new IOException("Failed to connect to the remote dataverse server to obtain native metadata"); + } - FileOutputStream tempOut = new FileOutputStream(tempMetadataFile); + int responseCode = response.statusCode(); - int bufsize; - byte[] buffer = new byte[4 * 8192]; + if (responseCode == HTTP_OK) { + File tempMetadataFile = File.createTempFile("meta", ".tmp"); - while ((bufsize = in.read(buffer)) != -1) { - tempOut.write(buffer, 0, bufsize); - tempOut.flush(); + try (InputStream inputStream = response.body(); + FileOutputStream outputStream = new FileOutputStream(tempMetadataFile);) { + inputStream.transferTo(outputStream); + return tempMetadataFile; } - - in.close(); - tempOut.close(); - return tempMetadataFile; } - - throw new IOException("Failed to download extended metadata."); - + + throw new IOException("Failed to download native metadata from the remote dataverse server."); } private void deleteHarvestedDatasetIfExists(String persistentIdentifier, Dataverse harvestingDataverse, DataverseRequest dataverseRequest, List deletedIdentifiers, Logger hdLogger) { From e64a81d18d8d68ca6efc1dcbf3c37c81244d7e54 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 13 Jul 2022 10:19:50 -0400 Subject: [PATCH 22/33] try-with-resources for the xmlwriter in the servlet (#8372) --- .../dataverse/harvest/server/web/servlet/OAIServlet.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index 8cbde519446..2b3e327e5d2 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -238,10 +238,9 @@ private void processRequest(HttpServletRequest httpServletRequest, HttpServletRe OAIPMH handle = dataProvider.handle(rawRequest); response.setContentType("text/xml;charset=UTF-8"); - XmlWriter xmlWriter = new XmlWriter(response.getOutputStream(), repositoryConfiguration); - xmlWriter.write(handle); - xmlWriter.flush(); - xmlWriter.close(); + try (XmlWriter xmlWriter = new XmlWriter(response.getOutputStream(), repositoryConfiguration);) { + xmlWriter.write(handle); + } } catch (IOException ex) { logger.warning("IO exception in Get; "+ex.getMessage()); From 088d9b8269c385ca8303fc6fdc1197d0b5d2db42 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 13 Jul 2022 10:35:41 -0400 Subject: [PATCH 23/33] less messy exception handling in the oai servlet (#8372) --- .../harvest/server/web/servlet/OAIServlet.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index 2b3e327e5d2..d3876e76cf7 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -16,7 +16,6 @@ import io.gdcc.xoai.dataprovider.repository.ItemRepository; import io.gdcc.xoai.dataprovider.repository.SetRepository; import io.gdcc.xoai.model.oaipmh.DeletedRecord; -import io.gdcc.xoai.model.oaipmh.Granularity; import io.gdcc.xoai.model.oaipmh.OAIPMH; import io.gdcc.xoai.xml.XmlWriter; @@ -32,6 +31,7 @@ import edu.harvard.iq.dataverse.settings.SettingsServiceBean; import edu.harvard.iq.dataverse.util.MailUtil; import edu.harvard.iq.dataverse.util.SystemConfig; +import io.gdcc.xoai.exceptions.OAIException; import org.apache.commons.lang3.StringUtils; @@ -220,7 +220,7 @@ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } - + private void processRequest(HttpServletRequest httpServletRequest, HttpServletResponse response) throws ServletException, IOException { @@ -242,15 +242,8 @@ private void processRequest(HttpServletRequest httpServletRequest, HttpServletRe xmlWriter.write(handle); } - } catch (IOException ex) { - logger.warning("IO exception in Get; "+ex.getMessage()); - throw new ServletException ("IO Exception in Get", ex); - } catch (XMLStreamException xse) { - logger.warning("XML Stream exception in Get; "+xse.getMessage()); - throw new ServletException ("XML Stream Exception in Get", xse); - } catch (Exception e) { - logger.warning("Unknown exception in Get; "+e.getMessage()); - throw new ServletException ("Unknown servlet exception in Get.", e); + } catch (XMLStreamException | OAIException e) { + throw new ServletException (e); } } From f81a0101ef1cdb4d6875e457da6be7886f728ccf Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 13 Jul 2022 12:04:06 -0400 Subject: [PATCH 24/33] got rid of an inefficient/unnecessary instance of .replaceAll() (#8372) --- .../harvest/client/HarvesterServiceBean.java | 20 ++++----------- .../harvest/client/oai/OaiHandler.java | 25 +++++++++++++------ 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java index 7f34847cbf3..e7156dfe9aa 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/HarvesterServiceBean.java @@ -84,7 +84,7 @@ public class HarvesterServiceBean { public static final String HARVEST_RESULT_SUCCESS="success"; public static final String HARVEST_RESULT_FAILED="failed"; public static final String DATAVERSE_PROPRIETARY_METADATA_FORMAT="dataverse_json"; - public static final String DATAVERSE_PROPRIETARY_METADATA_API="/api/datasets/export?exporter="+DATAVERSE_PROPRIETARY_METADATA_FORMAT; + public static final String DATAVERSE_PROPRIETARY_METADATA_API="/api/datasets/export?exporter="+DATAVERSE_PROPRIETARY_METADATA_FORMAT+"&persistentId="; public HarvesterServiceBean() { @@ -302,8 +302,9 @@ private Long processRecord(DataverseRequest dataverseRequest, Logger hdLogger, P if (DATAVERSE_PROPRIETARY_METADATA_FORMAT.equals(oaiHandler.getMetadataPrefix())) { // Make direct call to obtain the proprietary Dataverse metadata // in JSON from the remote Dataverse server: - String extendedApiUrl = getProprietaryDataverseMetadataURL(oaiHandler.getBaseOaiUrl(), identifier); - tempFile = retrieveProprietaryDataverseMetadata(httpClient, extendedApiUrl); + String metadataApiUrl = oaiHandler.getProprietaryDataverseMetadataURL(identifier); + logger.info("calling "+metadataApiUrl); + tempFile = retrieveProprietaryDataverseMetadata(httpClient, metadataApiUrl); } else { FastGetRecord record = oaiHandler.runGetRecord(identifier); @@ -409,18 +410,7 @@ private void deleteHarvestedDatasetIfExists(String persistentIdentifier, Dataver } hdLogger.info("No dataset found for " + persistentIdentifier + ", skipping delete. "); } - - private static String getProprietaryDataverseMetadataURL(String baseURL, String identifier) { - - baseURL = baseURL.replaceAll("/oai", ""); - - StringBuilder requestURL = new StringBuilder(baseURL); - requestURL.append(DATAVERSE_PROPRIETARY_METADATA_API); - requestURL.append("&persistentId=").append(identifier); - - return requestURL.toString(); - } - + private void logBeginOaiHarvest(Logger hdLogger, HarvestingClient harvestingClient) { hdLogger.log(Level.INFO, "BEGIN HARVEST, oaiUrl=" +harvestingClient.getHarvestingUrl() diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java b/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java index a32feeed5a7..c0a039e2d2b 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/client/oai/OaiHandler.java @@ -1,12 +1,11 @@ package edu.harvard.iq.dataverse.harvest.client.oai; -import io.gdcc.xoai.model.oaipmh.results.Description; import io.gdcc.xoai.model.oaipmh.Granularity; import io.gdcc.xoai.model.oaipmh.results.record.Header; import io.gdcc.xoai.model.oaipmh.results.MetadataFormat; import io.gdcc.xoai.model.oaipmh.results.Set; import io.gdcc.xoai.serviceprovider.ServiceProvider; -import io.gdcc.xoai.serviceprovider.client.JdkHttpOaiClient; //.HttpOAIClient; +import io.gdcc.xoai.serviceprovider.client.JdkHttpOaiClient; import io.gdcc.xoai.serviceprovider.exceptions.BadArgumentException; import io.gdcc.xoai.serviceprovider.exceptions.InvalidOAIResponse; import io.gdcc.xoai.serviceprovider.exceptions.NoSetHierarchyException; @@ -14,16 +13,15 @@ import io.gdcc.xoai.serviceprovider.model.Context; import io.gdcc.xoai.serviceprovider.parameters.ListIdentifiersParameters; import edu.harvard.iq.dataverse.harvest.client.FastGetRecord; +import static edu.harvard.iq.dataverse.harvest.client.HarvesterServiceBean.DATAVERSE_PROPRIETARY_METADATA_API; import edu.harvard.iq.dataverse.harvest.client.HarvestingClient; import java.io.IOException; import java.io.Serializable; -import java.io.UnsupportedEncodingException; import javax.xml.parsers.ParserConfigurationException; import org.apache.commons.lang3.StringUtils; import org.xml.sax.SAXException; import javax.xml.transform.TransformerException; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; @@ -70,8 +68,9 @@ public OaiHandler(HarvestingClient harvestingClient) throws OaiHandlerException this.harvestingClient = harvestingClient; } - private String baseOaiUrl; //= harvestingClient.getHarvestingUrl(); - private String metadataPrefix; // = harvestingClient.getMetadataPrefix(); + private String baseOaiUrl; + private String dataverseApiUrl; // if the remote server is a Dataverse and we access its native metadata + private String metadataPrefix; private String setName; private Date fromDate; private Boolean setListTruncated = false; @@ -120,7 +119,7 @@ public boolean isSetListTruncated() { return setListTruncated; } - private ServiceProvider getServiceProvider() throws OaiHandlerException { + public ServiceProvider getServiceProvider() throws OaiHandlerException { if (serviceProvider == null) { if (baseOaiUrl == null) { throw new OaiHandlerException("Could not instantiate Service Provider, missing OAI server URL."); @@ -277,6 +276,18 @@ private ListIdentifiersParameters buildListIdentifiersParams() throws OaiHandler return mip; } + public String getProprietaryDataverseMetadataURL(String identifier) { + + if (dataverseApiUrl == null) { + dataverseApiUrl = baseOaiUrl.replaceFirst("/oai", ""); + } + + StringBuilder requestURL = new StringBuilder(dataverseApiUrl); + requestURL.append(DATAVERSE_PROPRIETARY_METADATA_API).append(identifier); + + return requestURL.toString(); + } + public void runIdentify() { // not implemented yet // (we will need it, both for validating the remote server, From b4b8ebc31a31292a92b29c03677b09454657973a Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Wed, 13 Jul 2022 17:56:37 -0400 Subject: [PATCH 25/33] mpconfig for the oai server parameters (experimental? #8372) --- .../server/web/servlet/OAIServlet.java | 32 +++++++++++++------ .../settings/SettingsServiceBean.java | 16 +--------- .../iq/dataverse/util/SystemConfig.java | 27 ---------------- .../META-INF/microprofile-config.properties | 7 ++++ 4 files changed, 31 insertions(+), 51 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java index d3876e76cf7..5eacb1addb6 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/web/servlet/OAIServlet.java @@ -6,7 +6,6 @@ package edu.harvard.iq.dataverse.harvest.server.web.servlet; import io.gdcc.xoai.dataprovider.DataProvider; -//import io.gdcc.xoai.dataprovider.builder.OAIRequestParametersBuilder; import io.gdcc.xoai.dataprovider.repository.Repository; import io.gdcc.xoai.dataprovider.repository.RepositoryConfiguration; import io.gdcc.xoai.dataprovider.model.Context; @@ -36,10 +35,10 @@ import java.io.IOException; -import java.util.Date; -import java.util.HashMap; import java.util.logging.Logger; import javax.ejb.EJB; +import javax.inject.Inject; +import org.eclipse.microprofile.config.inject.ConfigProperty; import javax.mail.internet.InternetAddress; import javax.servlet.ServletConfig; import javax.servlet.ServletException; @@ -47,6 +46,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.stream.XMLStreamException; +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.config.ConfigProvider; /** * @@ -69,6 +70,18 @@ public class OAIServlet extends HttpServlet { @EJB SystemConfig systemConfig; + + @Inject + @ConfigProperty(name = "dataverse.oai.server.maxidentifiers", defaultValue="100") + private Integer maxListIdentifiers; + + @Inject + @ConfigProperty(name = "dataverse.oai.server.maxsets", defaultValue="100") + private Integer maxListSets; + + @Inject + @ConfigProperty(name = "dataverse.oai.server.maxrecords", defaultValue="10") + private Integer maxListRecords; private static final Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.web.servlet.OAIServlet"); // If we are going to stick with this solution - of providing a minimalist @@ -165,9 +178,10 @@ private boolean isDataverseOaiExtensionsSupported() { } private RepositoryConfiguration createRepositoryConfiguration() { - - String repositoryName = settingsService.getValueForKey(SettingsServiceBean.Key.oaiServerRepositoryName); - if (repositoryName == null) { + Config config = ConfigProvider.getConfig(); + String repositoryName = config.getOptionalValue("dataverse.oai.server.repositoryname", String.class).orElse(""); + + if (repositoryName == null || repositoryName.isEmpty()) { String dataverseName = dataverseService.getRootDataverseName(); repositoryName = StringUtils.isEmpty(dataverseName) || "Root".equals(dataverseName) ? "Test Dataverse OAI Archive" : dataverseName + " Dataverse OAI Archive"; } @@ -185,9 +199,9 @@ private RepositoryConfiguration createRepositoryConfiguration() { .withCompression("deflate") .withAdminEmail(systemEmailAddress != null ? systemEmailAddress.getAddress() : null) .withDeleteMethod(DeletedRecord.TRANSIENT) - .withMaxListIdentifiers(systemConfig.getOaiServerMaxIdentifiers()) - .withMaxListRecords(systemConfig.getOaiServerMaxRecords()) - .withMaxListSets(systemConfig.getOaiServerMaxSets()); + .withMaxListIdentifiers(maxListIdentifiers) + .withMaxListRecords(maxListRecords) + .withMaxListSets(maxListSets); return repositoryConfiguration; } diff --git a/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java index 9c40999829b..12ae777f3f8 100644 --- a/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java @@ -522,21 +522,7 @@ Whether Harvesting (OAI) service is enabled * would also work) of never muted notifications that cannot be turned off by the users. AlwaysMuted setting overrides * Nevermuted setting warning is logged. */ - NeverMuted, - /* - * The following values are for the OAI server, to limit the output of - * the ListIdentifiers, ListRecords and ListSets verbs to the number - * of records specified. Sensible defaults are going to be provided for - * these by SystemConfig. - */ - oaiServerMaxListIdentifiers, - oaiServerMaxListRecords, - oaiServerMaxListSets, - /* - * The OAI "repository name", shown by the OAI Identify verb, needs - * to be configurable as well. - */ - oaiServerRepositoryName + NeverMuted ; @Override diff --git a/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java b/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java index 64f08c5dd19..b3b8b5c7a9f 100644 --- a/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java +++ b/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java @@ -1204,31 +1204,4 @@ public Map getCurationLabels() { } return labelMap; } - - public int getOaiServerMaxIdentifiers() { - return getIntSettingOrDefault(SettingsServiceBean.Key.oaiServerMaxListIdentifiers, 100); - } - - public int getOaiServerMaxSets() { - return getIntSettingOrDefault(SettingsServiceBean.Key.oaiServerMaxListSets, 100); - } - - public int getOaiServerMaxRecords() { - return getIntSettingOrDefault(SettingsServiceBean.Key.oaiServerMaxListRecords, 10); - } - - private int getIntSettingOrDefault(SettingsServiceBean.Key key, int defaultValue) { - String settingValue = settingsService.getValueForKey(key); - if (settingValue != null) { - try { - int intFromSetting = Integer.parseInt(settingValue); - if (intFromSetting > 0) { - return intFromSetting; - } - } catch (NumberFormatException ex) { - // will use the default - } - } - return defaultValue; } -} diff --git a/src/main/resources/META-INF/microprofile-config.properties b/src/main/resources/META-INF/microprofile-config.properties index 09d71dfbf3a..8298c883403 100644 --- a/src/main/resources/META-INF/microprofile-config.properties +++ b/src/main/resources/META-INF/microprofile-config.properties @@ -3,3 +3,10 @@ dataverse.db.host=localhost dataverse.db.port=5432 dataverse.db.user=dataverse dataverse.db.name=dataverse +# OAI SERVER +dataverse.oai.server.maxidentifiers=100 +dataverse.oai.server.maxrecords=10 +dataverse.oai.server.maxsets=100 +# the OAI repository name, as shown by the Identify verb, +# can be customized via the setting below: +#dataverse.oai.server.repositoryname= From d1504be74185f99a5d1ee6256ef22278de09982b Mon Sep 17 00:00:00 2001 From: landreev Date: Thu, 14 Jul 2022 16:25:46 -0400 Subject: [PATCH 26/33] Update src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java Co-authored-by: Oliver Bertuch --- .../harvest/server/xoai/DataverseXoaiSetRepository.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java index edbe1da8d69..90def7e97ef 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java @@ -16,7 +16,7 @@ * @author Leonid Andreev */ public class DataverseXoaiSetRepository implements SetRepository { - private static Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiSetRepository"); + private static final Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiSetRepository"); private OAISetServiceBean setService; From dbf1309ac664c929deb0ff16d40ae105f64527fd Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Thu, 14 Jul 2022 16:52:39 -0400 Subject: [PATCH 27/33] more tweaks per review of the PR (#8372) --- .../harvest/server/xoai/DataverseXoaiItem.java | 10 +--------- .../server/xoai/DataverseXoaiItemRepository.java | 1 - .../server/xoai/DataverseXoaiSetRepository.java | 1 - .../edu/harvard/iq/dataverse/util/SystemConfig.java | 2 +- 4 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java index f7c19cee328..ecfd2f82369 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItem.java @@ -20,7 +20,7 @@ * You can think of it as an XOAI Item wrapper around the * Dataverse OAIRecord entity. */ -public class DataverseXoaiItem implements Item { +public final class DataverseXoaiItem implements Item { public DataverseXoaiItem(OAIRecord oaiRecord) { super(); @@ -29,7 +29,6 @@ public DataverseXoaiItem(OAIRecord oaiRecord) { if (!StringUtil.isEmpty(oaiRecord.getSetName())) { oaisets.add(new Set(oaiRecord.getSetName())); } - about = new ArrayList<>(); } private OAIRecord oaiRecord; @@ -53,13 +52,6 @@ public DataverseXoaiItem withDataset(Dataset dataset) { return this; } - private List about; - - @Override - public List getAbout() { - return about; - } - private Metadata metadata; @Override diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index f6ad332314d..81233b9ba31 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -43,7 +43,6 @@ public class DataverseXoaiItemRepository implements ItemRepository { private String serverUrl; public DataverseXoaiItemRepository (OAIRecordServiceBean recordService, DatasetServiceBean datasetService, String serverUrl) { - super(); this.recordService = recordService; this.datasetService = datasetService; this.serverUrl = serverUrl; diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java index 90def7e97ef..b4e275b6059 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiSetRepository.java @@ -21,7 +21,6 @@ public class DataverseXoaiSetRepository implements SetRepository { private OAISetServiceBean setService; public DataverseXoaiSetRepository (OAISetServiceBean setService) { - super(); this.setService = setService; } diff --git a/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java b/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java index b3b8b5c7a9f..bd27405fae5 100644 --- a/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java +++ b/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java @@ -1204,4 +1204,4 @@ public Map getCurationLabels() { } return labelMap; } - } +} From daf1446d6b1ccb1168515a4e9b8b65e80f1733f4 Mon Sep 17 00:00:00 2001 From: landreev Date: Thu, 14 Jul 2022 16:58:30 -0400 Subject: [PATCH 28/33] Update src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java Co-authored-by: Oliver Bertuch --- .../harvest/server/xoai/DataverseXoaiItemRepository.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index 81233b9ba31..a9b9638c139 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -36,7 +36,7 @@ */ public class DataverseXoaiItemRepository implements ItemRepository { - private static Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiItemRepository"); + private static final Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiItemRepository"); private OAIRecordServiceBean recordService; private DatasetServiceBean datasetService; From bbb9b222335cf09bbbd8ff760ceb2ded59f6ccca Mon Sep 17 00:00:00 2001 From: landreev Date: Thu, 14 Jul 2022 16:58:56 -0400 Subject: [PATCH 29/33] Update src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java Co-authored-by: Oliver Bertuch --- .../harvest/server/xoai/DataverseXoaiItemRepository.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index a9b9638c139..f332f662a1d 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -38,9 +38,9 @@ public class DataverseXoaiItemRepository implements ItemRepository { private static final Logger logger = Logger.getLogger("edu.harvard.iq.dataverse.harvest.server.xoai.DataverseXoaiItemRepository"); - private OAIRecordServiceBean recordService; - private DatasetServiceBean datasetService; - private String serverUrl; + private final OAIRecordServiceBean recordService; + private final DatasetServiceBean datasetService; + private final String serverUrl; public DataverseXoaiItemRepository (OAIRecordServiceBean recordService, DatasetServiceBean datasetService, String serverUrl) { this.recordService = recordService; From aea559f2e321e4d47a39af60b61b08bfb1eb8010 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Thu, 14 Jul 2022 17:05:49 -0400 Subject: [PATCH 30/33] deleted something that wasn't being used and wasn't needed. (#8372) --- .../harvest/server/xoai/DataverseXoaiItemRepository.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index f332f662a1d..cf1be0f1a5d 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -48,9 +48,6 @@ public DataverseXoaiItemRepository (OAIRecordServiceBean recordService, DatasetS this.serverUrl = serverUrl; } - private List list = new ArrayList(); - - @Override public ItemIdentifier getItem(String identifier) throws IdDoesNotExistException { // This method is called when ListMetadataFormats request specifies From b26eee4cf966f8c96d590dfc7b2cf1721f714a24 Mon Sep 17 00:00:00 2001 From: landreev Date: Thu, 14 Jul 2022 17:08:36 -0400 Subject: [PATCH 31/33] Update src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java Co-authored-by: Oliver Bertuch --- .../harvest/server/xoai/DataverseXoaiItemRepository.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index cf1be0f1a5d..d674f86760f 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -62,8 +62,7 @@ public ItemIdentifier getItem(String identifier) throws IdDoesNotExistException for (OAIRecord oaiRecord : oaiRecords) { // We can return the first *active* record we find for this identifier. if (!oaiRecord.isRemoved()) { - xoaiItem = new DataverseXoaiItem(oaiRecord); - return xoaiItem; + return new DataverseXoaiItem(oaiRecord); } } } From d5c187180f1a366be6ef99ffcaa683c94583ae29 Mon Sep 17 00:00:00 2001 From: landreev Date: Thu, 14 Jul 2022 17:40:59 -0400 Subject: [PATCH 32/33] Update src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java Co-authored-by: Oliver Bertuch --- .../harvest/server/xoai/DataverseXoaiItemRepository.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index d674f86760f..2184e349a53 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -58,7 +58,6 @@ public ItemIdentifier getItem(String identifier) throws IdDoesNotExistException List oaiRecords = recordService.findOaiRecordsByGlobalId(identifier); if (oaiRecords != null && !oaiRecords.isEmpty()) { - DataverseXoaiItem xoaiItem = null; for (OAIRecord oaiRecord : oaiRecords) { // We can return the first *active* record we find for this identifier. if (!oaiRecord.isRemoved()) { From dc74fad45d1450ae1eb4225969765b65efd31372 Mon Sep 17 00:00:00 2001 From: Leonid Andreev Date: Thu, 14 Jul 2022 22:33:28 -0400 Subject: [PATCH 33/33] moved some things around, moving duplicated code into private methods (#8372) --- .../xoai/DataverseXoaiItemRepository.java | 203 +++++++----------- 1 file changed, 75 insertions(+), 128 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java index 2184e349a53..faf3cf9ddc4 100644 --- a/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java +++ b/src/main/java/edu/harvard/iq/dataverse/harvest/server/xoai/DataverseXoaiItemRepository.java @@ -83,49 +83,7 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws Han for (OAIRecord oaiRecord : oaiRecords) { if (xoaiItem == null) { xoaiItem = new DataverseXoaiItem(oaiRecord); - - // If this is a "deleted" OAI oaiRecord - i.e., if someone - // has called GetRecord on a deleted oaiRecord (??), our - // job here is done. If it's a live oaiRecord, let's try to - // look up the dataset and open the pre-generated metadata - // stream. - - if (!oaiRecord.isRemoved()) { - Dataset dataset = datasetService.findByGlobalId(oaiRecord.getGlobalId()); - if (dataset == null) { - // This should not happen - but if there are no longer datasets - // associated with this persistent identifier, we should simply - // bail out. - // TODO: Consider an alternative - instead of throwing - // an IdDoesNotExist exception, mark the oaiRecord as - // "deleted" and serve it to the client (?). For all practical - // purposes, this is what this oaiRecord represents - it's - // still in the database as part of an OAI set; but the - // corresponding dataset no longer exists, because it - // must have been deleted. - // i.e. - // xoaiItem.getOaiRecord().setRemoved(true); - break; - } - - Metadata metadata; - - try { - metadata = getDatasetMetadata(dataset, metadataFormat.getPrefix()); - } catch (ExportException | IOException ex) { - // Again, this is not supposed to happen in normal operations; - // since by design only the datasets for which the metadata - // records have been pre-generated ("exported") should be - // served as "OAI Record". But, things happen. If for one - // reason or another that cached metadata file is no longer there, - // we are not going to serve this oaiRecord. - // TODO: see the comment above; and consider - // xoaiItem.getOaiRecord().setRemoved(true); - // instead. - break; - } - xoaiItem.withDataset(dataset).withMetadata(metadata); - } + xoaiItem = addMetadata(xoaiItem, metadataFormat); } else { // Adding extra set specs to the XOAI Item, if this oaiRecord // is part of multiple sets: @@ -145,119 +103,69 @@ public Item getItem(String identifier, MetadataFormat metadataFormat) throws Han @Override public ResultsPage getItemIdentifiers(List filters, MetadataFormat metadataFormat, int maxResponseLength, ResumptionToken.Value resumptionToken) throws HandlerException { - int offset = Long.valueOf(resumptionToken.getOffset()).intValue(); - String setSpec = resumptionToken.getSetSpec(); - Instant from = resumptionToken.getFrom(); - Instant until = resumptionToken.getUntil(); - - logger.fine("calling getItemIdentifiers; offset=" + offset - + ", length=" + maxResponseLength - + ", setSpec=" + setSpec - + ", from=" + from - + ", until=" + until); - - List oaiRecords = recordService.findOaiRecordsBySetName(setSpec, from, until); - - List xoaiItems = new ArrayList<>(); - if (oaiRecords != null && !oaiRecords.isEmpty()) { - - for (int i = offset; i < offset + maxResponseLength && i < oaiRecords.size(); i++) { - OAIRecord record = oaiRecords.get(i); - xoaiItems.add(new DataverseXoaiItem(record)); - } - - // Run a second pass, looking for records in this set that occur - // in *other* sets. Then we'll add these multiple sets to the - // formatted output in the header: - addExtraSets(xoaiItems, setSpec, from, until); - - boolean hasMore = offset + maxResponseLength < oaiRecords.size(); - ResultsPage result = new ResultsPage(resumptionToken, hasMore, xoaiItems, oaiRecords.size()); - logger.fine("returning result with " + xoaiItems.size() + " items."); - return result; - } + return (ResultsPage)getRepositoryRecords(metadataFormat, maxResponseLength, resumptionToken, false); - return new ResultsPage(resumptionToken, false, xoaiItems, 0); } - + @Override public ResultsPage getItems(List filters, MetadataFormat metadataFormat, int maxResponseLength, ResumptionToken.Value resumptionToken) throws HandlerException { + + return (ResultsPage)getRepositoryRecords(metadataFormat, maxResponseLength, resumptionToken, true); + } + + private ResultsPage getRepositoryRecords ( + MetadataFormat metadataFormat, + int maxResponseLength, + ResumptionToken.Value resumptionToken, + boolean fullItems) throws HandlerException { + int offset = Long.valueOf(resumptionToken.getOffset()).intValue(); String setSpec = resumptionToken.getSetSpec(); Instant from = resumptionToken.getFrom(); Instant until = resumptionToken.getUntil(); - logger.fine("calling getItems; offset=" + offset + boolean hasMore = false; + + logger.fine("calling " + (fullItems ? "getItems" : "getItemIdentifiers") + + "; offset=" + offset + ", length=" + maxResponseLength + ", setSpec=" + setSpec + ", from=" + from + ", until=" + until); - - // this is not needed, is it? (the parameters should be pre-validated - // on the gdcc/xoai side by this point) - if (metadataFormat == null) { - throw new NoMetadataFormatsException("Metadata Format is Required"); - } - + List oaiRecords = recordService.findOaiRecordsBySetName(setSpec, from, until); + + List xoaiItems = new ArrayList<>(); - List xoaiItems = new ArrayList<>(); - if (!(oaiRecords == null || oaiRecords.isEmpty())) { + if (oaiRecords != null && !oaiRecords.isEmpty()) { logger.fine("total " + oaiRecords.size() + " records returned"); - + for (int i = offset; i < offset + maxResponseLength && i < oaiRecords.size(); i++) { - OAIRecord oaiRecord = oaiRecords.get(i); - - DataverseXoaiItem xoaiItem = new DataverseXoaiItem(oaiRecord); - - // This may be a "deleted" OAI oaiRecord - i.e., a oaiRecord kept in - // the OAI set for a dataset that's no longer in this Dataverse. - // (it serves to tell the remote client to delete it from their - // holdings too). - // If this is the case here, our job is done with this oaiRecord. - // If not, if it's a live oaiRecord, let's try to - // look up the dataset and open the pre-generated metadata - // stream. + OAIRecord record = oaiRecords.get(i); + DataverseXoaiItem xoaiItem = new DataverseXoaiItem(record); - if (!oaiRecord.isRemoved()) { - Dataset dataset = datasetService.findByGlobalId(oaiRecord.getGlobalId()); - if (dataset != null) { - try { - Metadata metadata = getDatasetMetadata(dataset, metadataFormat.getPrefix()); - xoaiItem.withDataset(dataset).withMetadata(metadata); - } catch (ExportException|IOException ex) { - // Again, this is not supposed to happen in normal operations; - // since by design only the datasets for which the metadata - // records have been pre-generated ("exported") should be - // served as "OAI Record". But, things happen. If for one - // reason or another that cached metadata file is no longer there, - // we are not going to serve any metadata for this oaiRecord, - // BUT we are going to include it marked as "deleted" - // (because skipping it could potentially mess up the - // counts and offsets, in a resumption token scenario. - xoaiItem.getOaiRecord().setRemoved(true); - } - } else { - // If dataset (somehow) no longer exists (again, this is - // not supposed to happen), we will serve the oaiRecord, - // marked as "deleted" and without any metadata. - // We can't just skip it, because that could mess up the - // counts and offsets, in a resumption token scenario. - xoaiItem.getOaiRecord().setRemoved(true); - } + if (fullItems) { + // If we are cooking "full" Items (for the ListRecords verb), + // add the metadata to the item object (if not a deleted + // record, if available, etc.): + xoaiItem = addMetadata(xoaiItem, metadataFormat); } + xoaiItems.add(xoaiItem); } + // Run a second pass, looking for records in this set that occur + // in *other* sets. Then we'll add these multiple sets to the + // formatted output in the header: addExtraSets(xoaiItems, setSpec, from, until); - boolean hasMore = offset + maxResponseLength < oaiRecords.size(); - ResultsPage result = new ResultsPage(resumptionToken, hasMore, xoaiItems, oaiRecords.size()); + hasMore = offset + maxResponseLength < oaiRecords.size(); + + ResultsPage result = new ResultsPage(resumptionToken, hasMore, xoaiItems, oaiRecords.size()); logger.fine("returning result with " + xoaiItems.size() + " items."); return result; } - logger.fine("no records found"); return new ResultsPage(resumptionToken, false, xoaiItems, 0); } @@ -292,6 +200,45 @@ private void addExtraSets(Object xoaiItemsList, String setSpec, Instant from, In } } + private DataverseXoaiItem addMetadata(DataverseXoaiItem xoaiItem, MetadataFormat metadataFormat) { + // This may be a "deleted" record - i.e., a oaiRecord kept in + // the OAI set for a dataset that's no longer in this Dataverse. + // (it serves to tell the remote client to delete it from their + // holdings too). + // If this is the case here, there's nothing we need to do for this item. + // If not, if it's a live record, let's try to look up the dataset and + // open the pre-generated metadata stream. + + if (!xoaiItem.isDeleted()) { + Dataset dataset = datasetService.findByGlobalId(xoaiItem.getIdentifier()); + if (dataset != null) { + try { + Metadata metadata = getDatasetMetadata(dataset, metadataFormat.getPrefix()); + xoaiItem.withDataset(dataset).withMetadata(metadata); + } catch (ExportException | IOException ex) { + // This is not supposed to happen in normal operations; + // since by design only the datasets for which the metadata + // records have been pre-generated ("exported") should be + // served as "OAI Record". But, things happen. If for one + // reason or another that cached metadata file is no longer there, + // we are not going to serve any metadata for this oaiRecord, + // BUT we are going to include it marked as "deleted" + // (because skipping it could potentially mess up the + // counts and offsets, in a resumption token scenario. + xoaiItem.getOaiRecord().setRemoved(true); + } + } else { + // If dataset (somehow) no longer exists (again, this is + // not supposed to happen), we will serve the oaiRecord, + // marked as "deleted" and without any metadata. + // We can't just skip it, because that could mess up the + // counts and offsets, in a resumption token scenario. + xoaiItem.getOaiRecord().setRemoved(true); + } + } + return xoaiItem; + } + private Metadata getDatasetMetadata(Dataset dataset, String metadataPrefix) throws ExportException, IOException { Metadata metadata;