Compare commits

..

4913 Commits

Author SHA1 Message Date
Tim Donohue
16d2bbb9ef [maven-release-plugin] prepare release dspace-7.1.1 2021-12-13 12:34:56 -06:00
Tim Donohue
921bacc60f Update Sonatype settings. Increase timeout to 10mins. Disable autoclose 2021-12-13 12:00:11 -06:00
Tim Donohue
6cfbcedabb Update all versions to 7.1.1-SNAPSHOT 2021-12-13 09:42:34 -06:00
dependabot[bot]
8662d82575 Bump log4j-core from 2.13.3 to 2.15.0
Bumps log4j-core from 2.13.3 to 2.15.0.

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 09:34:54 -06:00
Tim Donohue
c2e31d08ef [maven-release-plugin] prepare release dspace-7.1 2021-10-28 13:48:56 -05:00
Tim Donohue
f025e81713 Update LICENSES_THIRD_PARTY for v7.1 2021-10-28 10:26:53 -05:00
Tim Donohue
97d0a1f128 Merge pull request #8013 from 4Science/improve-handing-of-default-bitstream-read-policies
Improve handing of default bitstream read policies
2021-10-26 12:11:22 -05:00
Tim Donohue
c3bea16ab9 Merge pull request from GHSA-cf2j-vf36-c6w8
Default groups issue
2021-10-26 11:31:42 -05:00
Tim Donohue
f21b16c255 Merge pull request #8014 from 4Science/re-enableITtest
Re-enable IT test EntityTypeRestRepositoryIT#findAllByAuthorizedExternalSource
2021-10-25 17:17:32 -05:00
Mykhaylo
d3ba3b6c71 fix failed test 2021-10-25 21:30:39 +02:00
Andrea Bollini
16cf19bed0 IT to proof that DSpace/DSpace#7928 is solved 2021-10-25 19:03:57 +02:00
Andrea Bollini
277b499a5c Fix for GHSA-cf2j-vf36-c6w8 2021-10-25 19:01:36 +02:00
Tim Donohue
70ffeaac30 Merge pull request #7941 from 4Science/CST-4503-AddingNewRelationshipsInEditItem
Adding new Relationships in Edit Item is difficult for entities with many relationships - REST
2021-10-25 10:09:05 -05:00
Andrea Bollini
0de9680781 Add tests against permission escalation 2021-10-25 16:55:24 +02:00
Mykhaylo
7c10aeccbf minor fix 2021-10-25 16:19:27 +02:00
Mykhaylo
4b21327a8e Merge branch 'main' into improve-handing-of-default-bitstream-read-policies 2021-10-25 16:18:13 +02:00
Mykhaylo
c3eb1cfed6 refactoring 2021-10-25 16:13:01 +02:00
Tim Donohue
c9e36c8659 Merge pull request #8000 from tdonohue/iiif_docker
Add docker-compose script for IIIF server
2021-10-22 12:18:12 -05:00
Tim Donohue
dbb8ce726d Merge pull request #3210 from mspalti/iiif-endpoint
IIIF REST API
2021-10-22 12:16:58 -05:00
Mykhaylo
ee857f9412 add support to enable/disable append-mode of DefaultReadGroups via conf 2021-10-22 18:40:45 +02:00
Tim Donohue
b4ff0dcf06 Update docker-compose README with details of dspace-iiif 2021-10-22 11:28:08 -05:00
Tim Donohue
6c4aa01267 Merge pull request #2248 from KingKrimmson/DS-2904_Asynchronous_Google_Analytics
DS-2904 Asynchronous & Batch Google Analytics Reporting
2021-10-22 10:13:30 -05:00
Tim Donohue
b7f15ca20d Merge pull request #8001 from paulo-graca/openaire-funding-support-abstractexternaldataprovider
Openaire funding support abstractexternaldataprovider
2021-10-22 09:47:23 -05:00
Paulo Graça
0191bf1431 make adjustments to findExternalSourcesByEntityTypeTest 2021-10-22 11:41:58 +01:00
Paulo Graça
4022099bf9 Merge branch 'main' of https://github.com/DSpace/DSpace into openaire-funding-support-abstractexternaldataprovider 2021-10-22 08:53:22 +01:00
Michael W Spalti
0d9e2d317d Minor comment change. 2021-10-21 15:35:09 -07:00
Michael W Spalti
99230934a0 Removed unused property. 2021-10-21 14:30:06 -07:00
Michael W Spalti
c6565da35c Merge branch 'main' into iiif-endpoint 2021-10-21 14:07:47 -07:00
Tim Donohue
5eacdd169e Merge pull request #8009 from tdonohue/fix_compilation_errors
Fix main branch IT compilation errors after merging #7962
2021-10-21 15:58:43 -05:00
Tim Donohue
b6ec08746e Disable broken test temporarily 2021-10-21 15:00:53 -05:00
Tim Donohue
3e05832a38 Fix two fragile tests which broke whenever configs changed 2021-10-21 13:24:22 -05:00
Michael W Spalti
ddba1cc4e8 Merge branch 'main' into iiif-endpoint 2021-10-21 10:30:41 -07:00
Michael W Spalti
c4e5725bdd Unused import. 2021-10-21 10:08:45 -07:00
Tim Donohue
96c41ff022 Fix main branch IT compilation errors after merging #7962 2021-10-21 10:24:23 -05:00
Tim Donohue
0976f05f29 Merge pull request #7962 from 4Science/CST-4509-assignAnEntityTypeToCollection
Assign an entity type to collection
2021-10-21 10:05:29 -05:00
Michael W Spalti
0198efce69 Updated classes to call ContextUtil.obtainContext with HttpServletRequest objects. 2021-10-20 16:08:53 -07:00
Michael W Spalti
79c0a9662b Merge branch 'main' into iiif-endpoint 2021-10-20 15:55:27 -07:00
Michael W Spalti
33966cc4cb Unused import in test. 2021-10-20 15:38:55 -07:00
Michael W Spalti
c7c04db576 Optional iiif configuration and javadoc. 2021-10-20 15:06:47 -07:00
Tim Donohue
4e98a91c4b Merge pull request #3371 from 4Science/CST-4469-ItemVersioning
Item Versioning
2021-10-20 11:17:48 -05:00
Paulo Graça
736d1dbeaa change to extend openaire lookup from AbstractExternalDataProvider 2021-10-19 21:57:40 +01:00
Paulo Graça
0a0cf18c36 Merge branch 'CST-4509-assignAnEntityTypeToCollection' of https://github.com/4Science/DSpace into feature-issue2816-openaire-funding-external-lookup 2021-10-19 21:52:53 +01:00
Mykhaylo
fb2288e8a2 Merge branch 'main' into CST-4469-ItemVersioning 2021-10-19 18:45:49 +02:00
Tim Donohue
3573ebd505 Merge pull request #3365 from paulo-graca/feature-issue2816-openaire-funding-external-lookup
OpenAIRE funding external source feature
2021-10-19 09:13:47 -05:00
Tim Donohue
3fc06ef400 Merge pull request #2129 from mwoodiupui/DS-3952
[DS-3952] Expose Request Copy
2021-10-19 09:09:27 -05:00
Tim Donohue
84fdc9567c Add docker-compose script for IIIF server 2021-10-18 17:06:17 -05:00
Michael W Spalti
00cd727e0f Updated to a method signature. 2021-10-18 14:08:55 -07:00
April Herron
7764ccb00f DS-2904 GA Code cleanup 2021-10-18 14:13:51 -04:00
Mykhaylo
534a16254c minor update 2021-10-18 15:42:37 +02:00
Andrea Bollini
dfead9f29e Add attributions to the main iiif classes 2021-10-16 22:02:25 +02:00
Andrea Bollini
ca82a297c5 Fix consumer to avoid early initialization of the iiif cache evict service 2021-10-16 21:52:35 +02:00
Tim Donohue
6059a57aef Merge pull request #7999 from tdonohue/docker-solr-config-update
[Docker] Ensure any updated Solr configs are copied over to existing cores
2021-10-15 16:33:45 -05:00
Tim Donohue
7226e2d7c0 Merge pull request #7990 from paulo-graca/openaire-oai-bugfix-language
Openaire 4: oai bugfixes for language and publisher
2021-10-15 15:37:57 -05:00
Tim Donohue
e6b690a5f6 Merge pull request #7973 from abollini/performance-improvements
Performance improvements
2021-10-15 14:36:19 -05:00
Tim Donohue
08de317095 Merge pull request #7996 from atmire/find_all_top_communities_performance
Find all top communities performance improvements
2021-10-15 14:35:42 -05:00
Mykhaylo
e6cfdf7df6 Implement community feedbacks 2021-10-15 17:37:19 +02:00
Tim Donohue
9f1704f91f Ensure any updated Solr configs are copied over to running cores 2021-10-15 09:57:24 -05:00
Michael Spalti
c30721b55a Adding rendering to manifest instead of sequence. 2021-10-14 13:58:28 -07:00
Michael Spalti
f19d01cb5c Added iiif consumer to default dispatcher. 2021-10-14 12:54:13 -07:00
Michael Spalti
138ae70a32 Docs update. 2021-10-14 12:53:39 -07:00
Michael Spalti
9a8ba86b5e Using dspace-api ContextUtil with iiif controller. 2021-10-14 12:52:10 -07:00
Tim Donohue
2255e91af1 Merge pull request #7955 from 4Science/CST-4507_multiple_authorizations
endpoint to find with a single call many authorizations for multiple objects and features
2021-10-14 10:19:48 -05:00
Paulo Graça
c4ffbe10be remove openaire API token placeholders 2021-10-14 12:52:02 +01:00
Marie Verdonck
a0e92a5f18 84100: Admin only files rights issue IT 2021-10-14 13:22:08 +02:00
Marie Verdonck
d6a9bca578 84100: Admin only files rights issue 2021-10-14 13:22:04 +02:00
Corrado Lombardi
3d3608cf48 [CST-4507] removed commented code 2021-10-14 12:59:57 +02:00
Paulo Graça
dec8e765b3 Merge branch 'feature-issue2816-openaire-funding-external-lookup' of github.com:paulo-graca/DSpace into feature-issue2816-openaire-funding-external-lookup 2021-10-14 11:54:47 +01:00
Paulo Graça
69f5b03073 Merge branch 'main' of https://github.com/DSpace/DSpace into feature-issue2816-openaire-funding-external-lookup 2021-10-14 11:06:28 +01:00
Mykhaylo
67ed399c7b added test to verify IllegalStateException 2021-10-14 11:39:28 +02:00
Ben Bosman
47a97b2b21 find all top communities performance 2021-10-14 10:40:00 +02:00
Michael Spalti
70de1bc61c Moved iiif to separate module. 2021-10-13 18:35:33 -07:00
Michael W Spalti
3870e362c3 Javadoc for iiif interfaces. 2021-10-13 10:22:21 -07:00
Michael W Spalti
2f74887c8f Updated iiif configuation. 2021-10-13 10:05:00 -07:00
Mykhaylo
8e408adc5d Merge branch 'main' into CST-4469-ItemVersioning 2021-10-13 12:01:25 +02:00
Mykhaylo
81b5c294dc Merge branch 'main' into CST-4503-AddingNewRelationshipsInEditItem 2021-10-13 11:58:23 +02:00
Mykhaylo
b9b6f40c8b Merge branch 'main' into CST-4509-assignAnEntityTypeToCollection 2021-10-13 11:49:38 +02:00
Tim Donohue
d9d24427af Merge pull request #7952 from atmire/w2p-83661_Port-harvest-to-scripts-and-processes
Port harvest to scripts and processes
2021-10-12 16:18:24 -05:00
Tim Donohue
c224e9435d Merge pull request #7983 from 4Science/CST-4636-RelationshipTypeEmbeddingNotWorking
RelationshipType embedding not working
2021-10-12 09:29:18 -05:00
Mykhaylo
cbdebd3e97 fix LGTM notes 2021-10-11 16:08:06 +02:00
Yana De Pauw
61025c1c95 83707: Fix parameter types of harvest script config 2021-10-11 15:57:12 +02:00
Mykhaylo
980ac528a2 Implement community feedbacks 2021-10-11 15:07:08 +02:00
Paulo Graça
a1f8c34035 Merge branch 'main' of https://github.com/DSpace/DSpace into openaire-oai-bugfix-language 2021-10-11 13:19:39 +01:00
Paulo Graça
95b3b2816d fix issue 3102 2021-10-11 13:14:55 +01:00
Michael Spalti
40e3291988 Work on test for iiif cache consumer. 2021-10-08 12:38:14 -07:00
Tim Donohue
3259b134be Merge pull request #7976 from 4Science/ImpossibleToDeleteWrkflowGroupsMigratedFromApreviousDSpaceVersion
Impossible to delete workflow groups migrated from a previous DSpace version using the old legacy workflow
2021-10-08 14:32:55 -05:00
Mykhaylo
62917409a4 add JavaDoc 2021-10-08 15:06:21 +02:00
Joost
724ea77ef7 implementing feedback 2021-10-08 12:28:30 +02:00
Mykhaylo
df7231e6b6 restore the original tests 2021-10-08 11:45:10 +02:00
Mykhaylo
f0b60cf8ce fix failed test 2021-10-08 10:13:26 +02:00
Michael Spalti
5ecca8d905 Added iiif to default consumers. 2021-10-07 12:14:16 -07:00
Michael Spalti
f15a18254e Added component annotations.
Added comment.

Fixed import.
2021-10-07 12:13:27 -07:00
Michael Spalti
f92592846d Added "org.dspace.iiif" to component scan in ApplicationConfig. 2021-10-07 11:52:10 -07:00
Michael Spalti
cca91707b9 Updated event consumer. 2021-10-07 10:49:45 -07:00
Mykhaylo
df5976f51a Merge branch 'main' into CST-4509-assignAnEntityTypeToCollection 2021-10-07 19:19:02 +02:00
Mykhaylo
bc89365621 Implement community feedbacks 2021-10-07 19:09:20 +02:00
Tim Donohue
5da7853fc0 Merge pull request #7963 from tdonohue/fix_7196
REST API items resource returns items in non-deterministic order (main port)
2021-10-07 11:15:08 -05:00
Tim Donohue
78dd106182 Merge pull request #7979 from 4Science/CST-4659
Hint fixed for dc.type
2021-10-07 11:14:37 -05:00
Tim Donohue
5d91ff2564 Merge pull request #3329 from atmire/w2p-80200_Retain_UUIDs
Fix #3330: Retain UUIDs on packager restore
2021-10-07 11:12:08 -05:00
Tim Donohue
028df96e0d Merge pull request #3322 from tysonlt/import_relationships
Import relationships via SAF (Simple Archive Format)
2021-10-06 15:00:17 -05:00
Michael Spalti
cde623c344 Moved iiif event consumer to dspace-api. 2021-10-06 12:48:22 -07:00
Mark H. Wood
db72b43f0f [DS-3952] Don't allow accept/reject of a completed request. 2021-10-06 13:19:52 -04:00
Mark H. Wood
55beed65ba [DS-3952] Don't create a RequestItem until #build() is called. 2021-10-06 13:18:57 -04:00
Mykhaylo
47712ecde3 minor fix 2021-10-06 18:36:37 +02:00
Mykhaylo
0dfee17944 added tests 2021-10-06 17:45:43 +02:00
Mykhaylo
65dc9cbb14 converted RelationshipTypeRestController in link repository 2021-10-06 17:45:07 +02:00
Mark H. Wood
1dc4f629f2 [DS-3952] Identify OA request with approver, not requester. Document OA request template. 2021-10-06 11:31:21 -04:00
Davide Negretti
c516f9c856 [CST-4659] hint fixed for dc.type 2021-10-06 17:08:53 +02:00
tysonlt
486a509050 Merge branch 'DSpace:main' into import_relationships 2021-10-05 12:36:39 +11:00
Tyson Lloyd Thwaites
11bea56988 fixed checkstyle violation 2021-10-05 12:15:37 +11:00
Mykhaylo
8bdd1138eb implemented flyway script to delete deprecated columns 2021-10-04 16:24:42 +02:00
Tyson Lloyd Thwaites
00740cc021 don't attempt to create relationships in test mode 2021-10-04 14:40:29 +11:00
Tyson Lloyd Thwaites
c01f4c1ca0 Fix broken command-line collection arg 2021-10-04 14:04:24 +11:00
Tyson Lloyd Thwaites
93bdf9add6 Removed relationships flag 2021-10-04 14:03:29 +11:00
Michael Spalti
597cf4efb5 Configuration update. 2021-10-02 13:28:16 -07:00
Michael Spalti
7905e8cc25 Updated consumer. 2021-10-02 13:27:52 -07:00
Mykhaylo
6385df9779 minor fix 2021-10-02 12:33:47 +02:00
Michael Spalti
67012de266 Added comment to dspace.cfg. 2021-10-01 15:47:50 -07:00
Michael Spalti
26456121aa Completed consumer used to manage iiif cache. 2021-10-01 15:33:25 -07:00
Michael Spalti
efc9327cae Cache add. 2021-10-01 15:03:59 -07:00
Mark H. Wood
092cfc364c [DS-3952] Enable sending admin. request to open access to requested item. 2021-10-01 14:19:37 -04:00
Mark H. Wood
7e6326619d [DS-3952] Log Velocity errors. 2021-10-01 14:17:51 -04:00
Mark H. Wood
8cbdc100df [DS-3952] Use correct template for OA request. 2021-10-01 14:16:47 -04:00
Mark H. Wood
64f900fd95 Implement Open Access request message to admin.s for Item Request. 2021-10-01 10:43:20 -04:00
Tim Donohue
ff4b1b3675 Merge pull request #7948 from tdonohue/upgrade_postgres_flyway
Upgrade to latest PostgreSQL driver 42.2.x and Flyway 6.x
2021-10-01 09:40:57 -05:00
Tim Donohue
c91c7caf1a Update to Postgres JDBC driver 42.2.24 2021-09-30 16:49:23 -05:00
Andrea Bollini
969a29f89e Avoid to search current user by email 2021-09-30 21:13:12 +02:00
Andrea Bollini
3131c50e92 Reorder authz check to prioritize the cheaper ones 2021-09-30 21:10:40 +02:00
Mark H. Wood
5787be3dae [DS-3952] Proper test for wrong authenticated user. 2021-09-30 14:42:51 -04:00
Michael Spalti
71cbf70865 Excluding OtherContent bundle from bundles that can contain iiif image resources. 2021-09-30 11:07:45 -07:00
Michael Spalti
d1c31735f4 Fixed identifiers for range canvas references. 2021-09-30 11:06:29 -07:00
Mark H. Wood
af20f0b8d8 [DS-3952] Test successful PUT more thoroughly, add tests for bad PUTs. 2021-09-30 13:42:54 -04:00
Tim Donohue
9c5c21f66a Merge pull request #7947 from atmire/w2p-81832_Solr-Search-core-fix-index-Authority-Mdv-without-vocabulary-or-pairs-type
W2p 81832 solr search core fix index authority mdv without vocabulary or pairs type
2021-09-30 10:11:12 -05:00
Mark H. Wood
f715667f36 Merge branch 'DS-3952' of github.com:mwoodiupui/DSpace into DS-3952 2021-09-30 08:40:56 -04:00
Mark H. Wood
aa9880f0f5 [DS-3952] Adopt agreed-upon URL pattern for linking back from request email. 2021-09-30 08:39:36 -04:00
Corrado Lombardi
d88e4f4b6f [CST-4507] checkstyle fix 2021-09-30 12:44:44 +02:00
Mykhaylo
16d0059bcd add support to enable/disable the versioning features via conf 2021-09-30 12:40:33 +02:00
Corrado Lombardi
5e92a5374a [CST-4507] added mandatory parameters and some little improvements in tests readability 2021-09-30 12:16:01 +02:00
Corrado Lombardi
1cd0cc3c2a [CST-4507] little code refactoring and updated test behaviour 2021-09-30 09:54:10 +02:00
Mark H. Wood
1f15e032fb [DS-3952] Item request tokens should match 32 base-16 digits, not base-36. 2021-09-29 16:32:23 -04:00
Mark H. Wood
fb7fd3b279 [DS-3952] Make PUT return codes conform to contract. 2021-09-29 13:21:04 -04:00
Mykhaylo
61a9edfe05 restore latest test and fix the bug 2021-09-29 16:34:15 +02:00
Yana De Pauw
9148fc37d8 83795: Harvest script fixes 2021-09-29 15:57:34 +02:00
Mark H. Wood
d4da4eac1d Merge branch 'main' into DS-3952 2021-09-29 07:51:58 -04:00
Mykhaylo
3fe4e2d170 fix duplicate method 2021-09-29 13:36:45 +02:00
Mykhaylo
d6d2f27483 added javaDoc 2021-09-29 13:34:46 +02:00
Mykhaylo
330e3f5838 fix pagination bug and add the JavaDocs 2021-09-29 12:03:28 +02:00
Mykhaylo
9f237b1188 added test to prove pagination bug 2021-09-29 12:00:48 +02:00
Mykhaylo
bdbafee72c fix failed tests 2021-09-29 11:42:13 +02:00
Andrea Bollini
cb55947592 Merge branch 'iiif-endpoint' of https://github.com/mspalti/DSpace into iiif-endpoint 2021-09-29 10:06:13 +02:00
Michael Spalti
aa8c64f8ab Added todo notice to cache configuration class. 2021-09-28 16:09:30 -07:00
Michael Spalti
0c48606ebe Added null check in canvas service to prevent exception in iiif metadata model. 2021-09-28 16:00:03 -07:00
Andrea Bollini
ea61bc3b83 Add test to proof behavior with restricted items 2021-09-28 23:30:17 +02:00
Andrea Bollini
a41574dbdb fix locale setting in the obtainContext method 2021-09-28 23:12:58 +02:00
Tim Donohue
e5e4bbed5f Merge pull request #7954 from atmire/w2p-83695_Issue-3291_Scripts&processes-error-handling
Scripts & processes error handling
2021-09-28 13:37:31 -05:00
Tim Donohue
fb3e610a24 Merge pull request #7950 from mwoodiupui/7935
Replace now-ignored test log4j.properties files with log4j2-test.xml
2021-09-28 12:12:24 -05:00
Mykhaylo
f6e23f2061 Implement community feedbacks 2021-09-28 19:02:51 +02:00
Paulo Graça
267f24ecf0 fix indentation - 2nd try 2021-09-28 10:49:11 +01:00
Michael Spalti
327f800c5f Fixed lgtm alerts. 2021-09-27 16:22:59 -07:00
Michael Spalti
71eb1429e0 Merge branch 'main' into iiif-endpoint 2021-09-27 15:03:22 -07:00
Michael Spalti
a4a27f0795 More updates after merging PR#1. 2021-09-27 14:11:12 -07:00
Michael Spalti
9a5a5d636f Merge branch '4Science-pr' into iiif-endpoint 2021-09-27 11:49:30 -07:00
Michael Spalti
e42b9dff99 Minor iiif.cfg updates. 2021-09-27 11:07:02 -07:00
Michael Spalti
42d82cf322 Updated imports for style check. 2021-09-27 10:26:26 -07:00
Michael Spalti
fc3e68edba Search service update. 2021-09-27 10:26:07 -07:00
Michael Spalti
da4c5774e8 Added not implemented exception for search service. 2021-09-27 10:24:59 -07:00
Paulo Graça
7c9fb86c18 Merge branch 'main' of https://github.com/DSpace/DSpace into feature-issue2816-openaire-funding-external-lookup 2021-09-27 17:29:55 +01:00
Tim Donohue
b692b9e9dd Ensure ItemDAOImpl queries are all ordered by UUID 2021-09-27 11:00:08 -05:00
Mykhaylo
bc0805017f Merge branch 'main' into CST-4509-assignAnEntityTypeToCollection 2021-09-27 16:41:30 +02:00
Andrea Bollini
5aeead4fa4 Merge pull request #7949 from tdonohue/it_cleanup
Integration Test Cleanup
2021-09-27 16:15:05 +02:00
Andrea Bollini
21032f66a5 Finalize configuration via metadata refactoring and hierarchical range support 2021-09-26 22:59:38 +02:00
Michael Spalti
84ef661cfb Updated experimentatal search plugin support to use full package name. 2021-09-26 13:07:50 -07:00
Michael Spalti
a22fe26d2f Additional documentation in iiif.cfg file. 2021-09-26 13:07:04 -07:00
Michael Spalti
3252b541f8 Updated javadocs and changed generator interface. 2021-09-26 12:46:45 -07:00
Mykhaylo
cc1e031863 Merge branch 'main' into CST-4509-assignAnEntityTypeToCollection 2021-09-26 10:47:03 +02:00
April Herron
54af86d52a DS-2904 Asynchronous Google Analytics Reporting 2021-09-24 16:56:27 -04:00
Mark H. Wood
5bd3806753 Email tests must be unauthenticated.
Authenticated creation uses session user and ignores corresponding request
parameters.
2021-09-24 14:09:48 -04:00
Mark H. Wood
59befb62aa [DS-3952] Bitstream is optional if allfiles:true. Implement and test. 2021-09-24 13:18:59 -04:00
Andrea Bollini
5916f610b3 Fix range generation and improve basic structure test 2021-09-24 19:18:45 +02:00
Mykhaylo
d498882d6f fix failed tests 2021-09-24 18:22:42 +02:00
Mykhaylo
b750e1d250 fix failed tests 2021-09-24 17:39:06 +02:00
Paulo Graça
b250134c85 xml identation fixes 2021-09-24 16:27:12 +01:00
Mykhaylo
302370db72 update flyway script 2021-09-24 16:21:30 +02:00
Mykhaylo
d02dd47bb1 implemented flyway script to add new entity type 'unset' 2021-09-24 15:13:06 +02:00
Mykhaylo
7140d4ca5c fix failed tests 2021-09-24 13:08:55 +02:00
Mykhaylo
b2996ab784 fix failed tests 2021-09-24 12:47:51 +02:00
Mykhaylo
4a5546fa34 added supported entity types for external providers 2021-09-24 12:28:45 +02:00
Mykhaylo
23ad982a6e fix failed tests 2021-09-24 11:23:47 +02:00
Mark H. Wood
7ce6333ea4 Merge remote-tracking branch 'upstream/main' into DS-3952 2021-09-23 13:53:48 -04:00
Mark H. Wood
8531e22fd4 [DS-3952] Require authenticated PUT, authenticate PUT test, authorize test PUT. 2021-09-23 13:45:51 -04:00
Mark H. Wood
2b61176255 [DS-3952] New request mapping for 32-hex-digit item request tokens, so
requests are dispatchable.

Also remove some voluminous debugging output.
2021-09-23 13:42:36 -04:00
Mykhaylo
5c52a6926f Merge branch 'main' into CST-4469-ItemVersioning 2021-09-23 12:52:13 +02:00
Mykhaylo
dee324762b minor fix 2021-09-23 12:33:11 +02:00
Mark H. Wood
c484bec18f [DS-3952] Implement PUT to accept/deny item requests. Fix errors in IT. 2021-09-22 16:27:10 -04:00
Tim Donohue
4856acde2c RelationshipTypeBuilder is cleaning up more than it should. Place it after ItemBuilder cleanup so that Items are removed prior to RelationshipTypes 2021-09-22 14:39:12 -05:00
Tim Donohue
851161cfd9 General minor code cleanup in ITs 2021-09-22 14:37:15 -05:00
Tim Donohue
6ce49eb332 Fix AuthorizationFeatureServiceIT to extend AbstractControllerIntegrationTest 2021-09-22 14:37:14 -05:00
Tim Donohue
e6fce0778c Ensure CSVMetadataImportReferenceIT cleans up Items that it creates 2021-09-22 14:37:14 -05:00
Tim Donohue
e2a95c49c5 Merge pull request #3063 from mwoodiupui/3061
Fix many warnings from errorprone
2021-09-22 14:26:08 -05:00
Paulo Graça
ecd6510e21 changing mock usage externalservice 2021-09-22 20:16:11 +01:00
Nathan Buckingham
1f552683a7 Remove unecessary deletion 2021-09-22 14:57:24 -04:00
Paulo Graça
26068b0f20 adding openaire funding unit tests 2021-09-22 19:24:54 +01:00
Mykhaylo
84315b93a0 assigne collection entity type to item during submission proccess 2021-09-22 18:09:39 +02:00
Mykhaylo
82ff056681 implemented endpoint that is able to retrieve supported entity types provided an external provider and tests 2021-09-22 18:07:23 +02:00
Andrea Bollini
d25c74f001 Intermediate commit - refactoring to rely on metadata for feature activation and configuration 2021-09-22 18:00:29 +02:00
Corrado Lombardi
c7c7c37a2b [CST-4507] endpoint to find with a single call many authorizations for multiple objects and multiple features 2021-09-22 16:27:50 +02:00
Yura
cb40adaf43 83695: End REST process execution after handling exceptions 2021-09-22 14:33:09 +02:00
Paulo Graça
5366e433bd missing escaping query from getNumberOfResults 2021-09-22 11:30:57 +01:00
Paulo Graça
74e47841f4 add DSpace license 2021-09-22 11:30:05 +01:00
Paulo Graça
77048cbe1d checkstyle fixes 2021-09-22 10:12:54 +01:00
Paulo Graça
6b4261c469 checkstyle fixes 2021-09-22 10:06:56 +01:00
Mykhaylo
a3a1019db7 implemented entityType and externalSources end points and tests 2021-09-21 18:56:39 +02:00
Paulo Graça
812cf1fad5 Merge branch 'main' of https://github.com/DSpace/DSpace into feature-issue2816-openaire-funding-external-lookup 2021-09-21 16:40:59 +01:00
Paulo Graça
ded4f334ec adding integration tests 2021-09-21 16:37:59 +01:00
Mykhaylo
6433df2d9e implemented findSubmitAuthorizedByCommunityAndEntityType end point 2021-09-21 17:33:45 +02:00
Yana De Pauw
189ea97ffb 83661: Fix license issues 2021-09-21 14:47:33 +02:00
Yana De Pauw
ed29084ccb 83661: Port harvest script to scripts and processes 2021-09-21 13:14:14 +02:00
Tyson Lloyd Thwaites
ebd2b89272 Removed processRelationships property 2021-09-21 09:44:42 +10:00
Michael Spalti
09d8981227 Updated javadoc. 2021-09-20 13:59:29 -07:00
Mark H. Wood
e5b23db673 Replace now-ignored test log4j.properties files with log4j2-test.xml. [7935] 2021-09-20 10:54:29 -04:00
Mykhaylo
496bb35eea Implement community feedbacks 2021-09-20 16:37:43 +02:00
Andrea Bollini
276fe2297f Refactor the IIIFRestRepository to avoid inheritance from DSpaceRestRepository 2021-09-20 15:01:28 +02:00
Mark H. Wood
1b366f8b74 Address review comments: missed some isEmpty fixes. [#3061] 2021-09-20 08:55:11 -04:00
Mykhaylo
25cfa7c750 implemented findByEntityType collection end point 2021-09-20 10:00:30 +02:00
Mykhaylo
ef07aabbe1 added tests for findByEntity collection end point 2021-09-20 09:54:47 +02:00
Tim Donohue
ce0c211b57 Merge pull request #7945 from tdonohue/database_force_migrate
Add 'dspace database migrate force' to manually trigger Flyway Callbacks
2021-09-17 12:44:56 -05:00
Michael Spalti
bd6fea1318 Correction to iiif cors configuration. 2021-09-16 14:50:42 -07:00
Michael Spalti
facadf47df Moved default iiif configuration to iiif.cfg. 2021-09-16 14:28:43 -07:00
Tim Donohue
6f27b82aa6 Upgrade to latest PostgreSQL driver 42.2.x and Flyway 6.x 2021-09-16 16:19:38 -05:00
Michael Spalti
5ff3bed4e2 Fixed the canvas identifier in search annotions. 2021-09-16 14:06:14 -07:00
Mark H. Wood
9f463239d2 Address new LGTM alert for removed parameter. (#3061) 2021-09-16 13:23:48 -04:00
Tim Donohue
7ce2a95f6d Merge pull request #7934 from atmire/w2p-83338_Fix-MetadataValue-Move-Patch-operation-bugs
Fix metadata value move patch operation bugs
2021-09-16 11:19:12 -05:00
Mykhaylo
87040d154f fix canDeleteVersion feature bug and removed unused dependency 2021-09-16 17:04:18 +02:00
Mykhaylo
f80ad97d95 added test to show bug in canDeleteVersion feature 2021-09-16 17:01:28 +02:00
Nathan Buckingham
6696cb7c9c Make handle something that could never be ran into 2021-09-16 10:12:46 -04:00
Nathan Buckingham
a5103dbd39 Create setup and destory to cleanup items from test file 2021-09-16 10:00:36 -04:00
Mark H. Wood
106d37404b Fix incorrect merge. (#3061) 2021-09-16 08:41:42 -04:00
Mykhaylo
30e1b076f0 implemented management of entity type in item versioning 2021-09-16 12:35:19 +02:00
Mykhaylo
39bd3aceb5 added test to verify the correct functioning of versioning items with entity type 2021-09-16 12:15:19 +02:00
Michael Spalti
0affa79216 Removed remaining use of generator bean factories. 2021-09-15 16:30:42 -07:00
Michael Spalti
2539800955 Made the search service a configurable plugin. 2021-09-15 16:29:30 -07:00
Mark H. Wood
6013062a08 Merge remote-tracking branch 'upstream/main' into 3061 2021-09-15 16:18:18 -04:00
Tim Donohue
372b9e2ce6 Add 'dspace database migrate force' to manually trigger Flyway Callbacks 2021-09-15 14:33:25 -05:00
Mark H. Wood
66e6e50cab [DS-3952] Catch up with other development. 2021-09-15 15:08:37 -04:00
Mark H. Wood
49485d7667 Merge remote-tracking branch 'upstream/main' into DS-3952 2021-09-15 15:02:24 -04:00
Mark H. Wood
99036178f4 [DS-3952] Check user input for valid email, escape the rest to avoid XSS. 2021-09-15 14:33:01 -04:00
Paulo Graça
b254c8eeea change entry id to a base64 value. A workaround solution for issue #7944 2021-09-15 17:23:14 +01:00
Paulo Graça
db22657e74 Merge branch 'main' of https://github.com/DSpace/DSpace into feature-issue2816-openaire-funding-external-lookup 2021-09-15 16:40:59 +01:00
Nathan Buckingham
2fd4625a7e Rebased main 2021-09-14 14:13:38 -04:00
Mykhaylo
96db8d2afc added javaDocs 2021-09-14 18:29:14 +02:00
Davide Negretti
1a5b7475f4 fixed NPE on item retrieving 2021-09-14 16:21:33 +02:00
Nathan Buckingham
ad148b529e w2p-80200 Added auth comment also run tests again 2021-09-14 10:15:06 -04:00
Nathan Buckingham
fcf077c685 w2p-80200 Remove unecessary comment 2021-09-14 10:15:06 -04:00
Nathan Buckingham
829fc7d112 w2p-80200 Tests for no force export and fix to spy on authorize service 2021-09-14 10:15:04 -04:00
Nathan Buckingham
85cbd4b31f w2p-80200 submodule accidentally pushed 2021-09-14 10:12:43 -04:00
Nathan Buckingham
e1f798fd82 w2p-80200 Add new tests for each dspace object, cleaned up java docs and authrorization inside of create 2021-09-14 10:12:43 -04:00
Nathan Buckingham
cdeb22ed7b Make tests more concise and remove catch blocks 2021-09-14 10:12:43 -04:00
Nathan Buckingham
b24da56ca2 remove left over comment 2021-09-14 10:12:43 -04:00
Nathan Buckingham
22c9b76950 move to dspace-api 2021-09-14 10:12:43 -04:00
Nathan Buckingham
cc63bbe02d quick fix for Item not being initialized 2021-09-14 10:12:43 -04:00
Nathan Buckingham
f0ae18645d Test file for export and import of packager 2021-09-14 10:12:43 -04:00
Chris Wilper
80211961c0 w2p-80200 Begin IT for packager export/import with UUID support 2021-09-14 10:12:43 -04:00
Nathan Buckingham
72fab65012 w2p-80200 Retain UUIDs of DSpace objects when using packager 2021-09-14 10:12:34 -04:00
Mykhaylo
75b6acc9f3 fix pagination bug 2021-09-14 15:21:41 +02:00
Mykhaylo
341c0ae640 added test to verify correct pagination after deleting of version 2021-09-14 15:20:01 +02:00
Mykhaylo
8e50f17248 implemented CanEditVersion feature and tests to to verify proper functioning 2021-09-14 13:24:55 +02:00
Mykhaylo
5aa5485a9c implemented CanDeleteVersion feature and tests to to verify proper functioning 2021-09-14 13:14:30 +02:00
Tim Donohue
d04b8d3881 Merge pull request #7924 from bbranan/registration-email-logging
When sending a user registration email fails, allow the log statement to include full error details
2021-09-13 14:31:34 -05:00
Tim Donohue
4ecc7a1a9a Merge pull request #3357 from mwoodiupui/DS-4548
[DS-4548] Rename DSpace's LogManager to LogHelper.
2021-09-13 14:25:49 -05:00
Mykhaylo
cc62552481 minor fix 2021-09-13 19:11:03 +02:00
Mykhaylo
0b91b40f54 refactored canCreateVersion feature 2021-09-13 17:48:15 +02:00
Mykhaylo
cd053ab9ed added test to verify proper functioning of canCreateVersion feature 2021-09-13 17:47:38 +02:00
Mykhaylo
7cc4b1db77 fix javaDoc 2021-09-13 17:44:02 +02:00
Mykhaylo
4cc3693867 added security on item version link end point 2021-09-13 14:39:35 +02:00
Mykhaylo
c3274d1704 renamed service methods 2021-09-12 14:22:23 +02:00
Mykhaylo
7b3db9da4f added ORDER BY id to sql query 2021-09-11 15:15:00 +02:00
Mykhaylo
25377a639b fix pagination 2021-09-11 13:32:02 +02:00
Mykhaylo
bb020e623a added other tests 2021-09-11 12:51:06 +02:00
Tim Donohue
3150b3c954 Merge pull request #7938 from TexasDigitalLibrary/DS-3919-7x
DS-3919: rename identifier-service-test.xml to identifier-service.xml (7.x)
2021-09-10 16:55:45 -05:00
Mark H. Wood
edd310f536 Address Error Prone complaints about tests. (#3061) 2021-09-10 12:51:24 -04:00
Mark H. Wood
384d46348a Another batch of Error Prone fixes. (#3061) 2021-09-10 11:32:58 -04:00
Mykhaylo
03ad1684cc fix test 2021-09-10 13:21:29 +02:00
Mykhaylo
3e7892df88 refactored version history end point 2021-09-10 13:10:51 +02:00
Mykhaylo
bea710aac6 removed itemVersionHistory link 2021-09-10 12:54:14 +02:00
Mykhaylo
f843cfd26a refactored VersionBuilder 2021-09-10 12:49:51 +02:00
Tim Donohue
1358c9cb3d Merge pull request #7939 from TexasDigitalLibrary/DS-4562-7x
DS-4562: Change maxwait default to 10 seconds (7.x)
2021-09-09 16:04:35 -05:00
nwoodward
2000cdd56b Change maxwait default to 10 seconds 2021-09-09 12:40:32 -05:00
nwoodward
806572c86d rename identifier-service-test.xml to identifier-service.xml 2021-09-09 11:13:18 -05:00
Mark H. Wood
4b96106ea3 Merge remote-tracking branch 'upstream/main' into 3061 2021-09-08 15:52:33 -04:00
Mark H. Wood
948014646a Mention bitstream ID in exception for better debugging. (3061) 2021-09-08 15:40:44 -04:00
Mark H. Wood
20816f945e Log and continue instead of throwing exception when caller stack is empty. 2021-09-08 13:40:53 -04:00
Mark H. Wood
35e280019f Collections.EMPTY_LIST is immutable, possibly causing addBitstream to throw exception. 2021-09-08 13:35:46 -04:00
Mykhaylo
527f7e3658 removed deprecated tests of VersionHistory end point 2021-09-08 18:11:22 +02:00
Mykhaylo
e6c9652883 refactored VersionHistory end point 2021-09-08 18:09:12 +02:00
Tim Donohue
e3ca5b9234 Merge pull request #7933 from tdonohue/IT_fixes
Attempt to fix random ConcurrentModificationExceptions in ITs
2021-09-08 10:48:13 -05:00
Tim Donohue
a3e6ff1b1b Merge pull request #3352 from DSpace/dependabot/maven/org.apache.ant-ant-1.10.11
Bump ant from 1.10.9 to 1.10.11
2021-09-08 09:21:57 -05:00
Mykhaylo
80e34e5349 refactored tests of version end point 2021-09-08 15:36:39 +02:00
Mykhaylo
52bfcafca1 refactored versions end point 2021-09-08 15:35:48 +02:00
Tim Donohue
7e969e1669 Delete groups and people after Collections/Communities, as Comm/Coll groups must be cleaned up first. 2021-09-07 13:48:33 -05:00
Mark H. Wood
f3175d56d5 Merge branch 'main' into 3061 2021-09-07 14:30:20 -04:00
Tim Donohue
4644b1f18c Fix order of Builder cleanup. Ensure all Items are deleted *before* Collections or Communities. 2021-09-07 12:57:29 -05:00
Tim Donohue
77f59cba80 Merge pull request #7926 from 4Science/CST-4482-updateCollectionMetadataOrRemovingTheAdministratorGroupWillNotProduceSolrReindex
update collection metadata or removing the administrator group will not produce solr reindex
2021-09-07 12:56:30 -05:00
Tim Donohue
4f9e9bce7a Merge pull request #2698 from toniprieto/DS-4034-strip-diacritics-master
DS-4034 - The "first few letters" search doesn't work with diacritics (master port)
2021-09-07 12:52:07 -05:00
Tim Donohue
209f25e17c Merge pull request #7931 from alanorth/update-spider-agents
DS-4587: Update spider agents
2021-09-07 11:42:46 -05:00
Tim Donohue
93f4f0935f Merge pull request #3370 from mwoodiupui/3369
o.d.core.AbstractHibernateDAO#uniqueResult has useless pagination arguments
2021-09-07 11:39:42 -05:00
Yura Bondarenko
f0079d7555 83338: Fix moveMetadata index caching issue 2021-09-07 13:51:32 +02:00
Yura Bondarenko
4b23d89727 83338: Add ITs for DSO metadata move operations
This commit should confirm that there's an issue with multi-op metadata move PATCH requests: DSpaceObjectServiceImpl.moveMetadata doesn't keep track of the changed order & messes up subsequent moves
2021-09-07 13:27:17 +02:00
Mykhaylo
4d913ecf36 fix test 2021-09-07 12:34:56 +02:00
Paulo Graça
cb7e51d687 add support for funding source at openaire project form 2021-09-07 11:05:06 +01:00
Mykhaylo
eadadc05d7 fix test 2021-09-07 11:56:27 +02:00
Paulo Graça
70f7c8b5ab renaming properties and improve file documentation 2021-09-07 09:22:20 +01:00
Mykhaylo
e068e94f6d implemented search 'byItemsAndType' end point for RelationshipRest repository 2021-09-06 22:13:50 +02:00
Mykhaylo
5ac2c0325d added tests for search 'byItemsAndType' end point in RelationshipRest repository 2021-09-06 22:12:08 +02:00
Mykhaylo
ab7df25d0c implemented 'byEntityType' end point in RelationshipTypeRestRepository 2021-09-06 21:40:05 +02:00
Mykhaylo
5bb9fce3b6 added tests for RelationshipType 'byEntityType' end point 2021-09-06 21:38:37 +02:00
Paulo Graça
08857aecd2 renaming properties and improve file documentation 2021-09-06 18:11:10 +01:00
Paulo Graça
d8b7c97d86 Merge branch 'main' of https://github.com/DSpace/DSpace into feature-issue2816-openaire-funding-external-lookup 2021-09-06 18:09:22 +01:00
Paulo Graça
0f60fe85ec support openaire4 types registries by default 2021-09-06 18:07:18 +01:00
Paulo Graça
dc1fb643bd remove comment 2021-09-06 18:02:36 +01:00
Mark H. Wood
5fc0f595e6 Increase test coverage. (#2129) 2021-09-06 10:40:05 -04:00
Mark H. Wood
d61539eead Remove unused helper class. (#2129) 2021-09-06 10:38:48 -04:00
Michael Spalti
05ce413ab5 Removed unused import. 2021-09-05 13:41:18 -07:00
Michael Spalti
7f22c91dbc Minor fix in sequence and an implementation comment in the manifest service. 2021-09-05 13:38:50 -07:00
Michael Spalti
813f81b3bc Javadoc updates. 2021-09-04 21:03:06 -07:00
Michael Spalti
5b75e87c7d Fixed runaway sequence. 2021-09-04 18:14:00 -07:00
Michael Spalti
39298006fb Reverted manifest thumbnail image. 2021-09-04 17:34:12 -07:00
Michael Spalti
015f1f2ac9 Fixed IT. 2021-09-04 17:10:46 -07:00
Michael Spalti
618d72b4b9 Updated range and image services. 2021-09-04 17:10:00 -07:00
Michael Spalti
4e8c8769df Service boundary and model updates. 2021-09-04 16:12:09 -07:00
Alan Orth
930d1c8f53 DS-4588: fix case-insensitive spiderdetector test
We should not use the string "FirefOx" to test the validity of our
spider user agent patterns because it is not a valid user agent in
the first place. The Mozilla Firefox browser uses patterns such as
this:

Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0

The test currently matches the following regular expression:

^firefox$

In this case, if a client *did* connect with a single-word string
such as "Firefox" or "firefox" it would definitely be a non-human
user and we should not log a statistics hit.

If the goal of the test is to check *valid* human user agents aga-
inst case-insensitive regular expression matching, then we should
use the following:

mozilla/5.0 (x11; linux x86_64; rv:91.0) gecko/20100101 firefox/91.0

Ported from #3336 to main for DSpace 7.x.
2021-09-04 22:03:43 +03:00
Alan Orth
abad6116cb DS-4587: Update the spider user agent file
This updates the included spider user agent file to the latest from
the COUNTER-Robots project. DSpace's own copy is over five years old
and is missing a bunch of new patterns, which greatly decreases the
accuracy of the Solr usage statistics.

Port of #3333 to main for DSpace 7.x.

See: https://jira.lyrasis.org/browse/DS-4587
See: https://github.com/atmire/COUNTER-Robots/releases/tag/2021-07-05
2021-09-04 21:24:16 +03:00
Andrea Bollini
9dcf2344b4 Merge pull request #2789 from the-library-code/DS-4522_Logical_item_filtering
[DS-4522] Logical item filtering (with DOI implementation)
2021-09-04 08:35:45 +02:00
Michael Spalti
6931b3ef31 Minor comment update. 2021-09-03 14:11:08 -07:00
Mark H. Wood
9dd3026c05 Missing commit broke tests. Tighten up code, #2129 2021-09-03 16:58:06 -04:00
Michael Spalti
7f4f91e979 Updated IT. 2021-09-03 13:44:32 -07:00
Michael Spalti
08ea61f654 Code cleanup with comments and missing license header. 2021-09-03 13:43:16 -07:00
Michael Spalti
e431f1687a Merge branch 'main' into iiif-endpoint 2021-09-03 12:25:40 -07:00
Michael Spalti
3edc34c451 Mostly code improvements with one functional change in how the iiif bundle is chosen. 2021-09-03 12:22:00 -07:00
Tim Donohue
0c75cb1ce9 Merge pull request #7929 from TexasDigitalLibrary/DS-3643-7x
DS-3643: Use correct license on ingest (7.x)
2021-09-03 10:19:12 -05:00
nwoodward
4511b5e9e8 use correct license when one is not supplied 2021-09-03 09:06:33 -05:00
Yura Bondarenko
8e955a75a6 83338: Fix from/to indices 2021-09-03 15:40:12 +02:00
Tyson Lloyd Thwaites
ad0c19230d Abstract relationship lookup into RelationshipUtils 2021-09-03 17:11:47 +10:00
Tyson Lloyd Thwaites
db3d4ed374 always process relationships, less noisy output 2021-09-03 17:10:53 +10:00
Tyson Lloyd Thwaites
0fa5ef914f remove relationships option (always enabled) 2021-09-03 17:07:27 +10:00
Tyson Lloyd Thwaites
3512318ce1 fix checkstyle violations 2021-09-03 17:06:31 +10:00
Michael Spalti
28b4a5fcb3 Modified search service. 2021-09-02 14:21:47 -07:00
Tim Donohue
1123e0b700 Merge pull request #3364 from mwoodiupui/3363
Allow changing an EPerson's password through the CLI
2021-09-02 15:02:02 -05:00
Tim Donohue
f92669c704 Merge pull request #7925 from atmire/Fix-configuration-dependent-ITs
Fix configuration-dependent ITs
2021-09-02 14:59:46 -05:00
Mark H. Wood
76ea271ead Address feedback. #2129 2021-09-02 11:21:47 -04:00
Mykhaylo
981e224fea added event that allow to update solr document of collection and community 2021-09-02 09:55:28 +02:00
Tim Donohue
f7ad55af4c Merge pull request #2438 from the-library-code/DS-4260-dspace7
DS-4260: Remove non-existing command from oai harvester's help
2021-09-01 15:08:11 -05:00
Yura Bondarenko
653a2e7402 Make no assumptions about metadata registry in ITs 2021-09-01 16:10:08 +02:00
Yura Bondarenko
c9e4bb8106 Make no assumptions about configured scripts in ITs 2021-09-01 16:09:39 +02:00
Mykhaylo
16d8e3372b added tests to prove bug of updating collection metadata will not produce a solr reindex 2021-08-31 12:41:47 +02:00
Bill Branan
c72a289cc8 Updates log statement to include full error details when attempt to send registration email fails
Also fixes a couple typos
2021-08-30 14:24:24 -04:00
Michael Spalti
4491837d54 Moved the iiif cors configuration to separate iiif.cfg config file. 2021-08-26 15:44:40 -07:00
Michael Spalti
cbd37eb722 Updated ITs to work with the new iiif endpoint. 2021-08-26 15:36:37 -07:00
Michael Spalti
0a8cdd5b59 Added logo url to iiif dspace configuration. 2021-08-25 16:07:24 -07:00
Michael Spalti
eff7e11daa Adding configurable log to manifest. 2021-08-25 15:52:26 -07:00
Michael Spalti
f25b51ae65 Updated java docs. 2021-08-25 10:42:17 -07:00
Mark H. Wood
5bc4d16175 [DS-3952] Add requested CORS, CSRF tests. Fix license header. 2021-08-25 10:10:50 -04:00
Mark H. Wood
6ca754ec6c [DS-3952] Check for required request attributes. 2021-08-25 07:48:15 -04:00
tysonlt
127e427bbe Changes requested in PR 3322 2021-08-25 11:45:20 +10:00
Michael W Spalti
7e02dbb882 Adding IIIF cors configuration. 2021-08-24 16:46:50 -07:00
Tim Donohue
7cb25c6121 Merge pull request #3335 from atmire/DS-3334
Update SWORD and SWORDv2 URL configuration construction
2021-08-24 11:49:36 -05:00
Mark H. Wood
d3c5f0473a Remove un-necessary IllegalArgumentException. #3363 2021-08-24 12:08:22 -04:00
Mark H. Wood
3ce4b592fc Add test for mismatch between password and confirmation. #3363 2021-08-24 11:45:06 -04:00
Mark H. Wood
8bed933d90 Clearer prompts, reject empty password, test for empty password. #3363 2021-08-24 09:40:09 -04:00
Mykhaylo
0816473c41 added check to avoide creating same versioning 2021-08-24 15:20:46 +02:00
Andrew Wood
cc1b1c314a Merge branch 'main' into DS-3334 2021-08-23 11:00:50 -04:00
Andrew Wood
032ffa6b41 DS-3335 Simplify sword url construction 2021-08-23 10:51:30 -04:00
Paulo Graça
16e621928a adding openAIREFunding valitation to IT 2021-08-23 12:05:45 +01:00
Paulo Graça
98015e469b adding openAIREFunding valitation to IT 2021-08-23 11:17:27 +01:00
Mark H. Wood
4da733baa7 Remove useless pagination arguments. #3369 2021-08-20 14:59:00 -04:00
Mykhaylo
fe4332e2ea fix failed tests 2021-08-19 17:55:55 +02:00
Mykhaylo
69e36e7037 implemented linked entities for versionhistory end point 2021-08-19 15:55:31 +02:00
Mykhaylo
bf80dc02f5 [CST-4469] extended versioning end point 2021-08-18 19:10:36 +02:00
Mark H. Wood
6f82111d75 [DS-3952] Address Checkstyle and NetBeans warnings. 2021-08-17 12:44:37 -04:00
Mark H. Wood
ab8499d17b [DS-3952] Don't require authorization. Test this properly. 2021-08-17 12:29:11 -04:00
Mark H. Wood
b59790a156 Add integration test for this feature only. #3363 2021-08-17 11:25:24 -04:00
Paulo Graça
653be5db00 new openaire funding external source feature 2021-08-17 11:44:04 +01:00
Mark H. Wood
dd40f5ff3c Add option to change user's password. #3363 2021-08-13 15:57:52 -04:00
Mark H. Wood
3f06c7e79c Document that EPerson's password, salt and algorithm setters are related. #3363 2021-08-13 15:56:26 -04:00
Mark H. Wood
f58519329e [DS-3952] Improve confusing debug log message. 2021-08-10 17:14:36 -04:00
Yura Bondarenko
6280b76355 81832: Surround getLabel/getVariant calls with try/catch 2021-08-10 09:54:20 +02:00
Yura Bondarenko
816ca59e4c 81832: Don't ignore author fields in discovery authority IT 2021-08-10 09:24:35 +02:00
Mark H. Wood
6926b49fab [DS-3952] Match ISO time zone properly. More informative message on failure. 2021-08-09 09:47:11 -04:00
Mark H. Wood
f435f933ad [DS-3952] Add auth token to request, and replace some deprecated matchers. 2021-08-09 09:27:21 -04:00
Mark H. Wood
8c7ba93913 [DS-3952] Fix incorrect request parameter names that I missed. 2021-08-09 09:26:19 -04:00
Mark H. Wood
c427a2e83f [DS-3952] Fix a broken test. Various cleanups. 2021-08-08 19:12:49 -04:00
Mark H. Wood
596df53d0a [DS-3952] Satisfy checkstyle and license plugins. 2021-08-08 14:51:22 -04:00
Mark H. Wood
8a3d23f2dd [DS-3952] More thorough Matcher, and new date matching. 2021-08-08 14:35:48 -04:00
Mark H. Wood
546efa1c8b [DS-3952] Move test back to integration, tidy, remove commented tests.
Making this one quick test into a unit test would take a lot of
stubbing and just isn't worth the effort.
2021-08-08 14:33:40 -04:00
Mark H. Wood
5f5bc3641e [DS-3952] Align property names with contract; implement POST rather than PUT. 2021-08-08 14:32:15 -04:00
Mark H. Wood
670e453286 [DS-3952] Move some tests from integration to unit testing. 2021-08-08 14:11:03 -04:00
Mark H. Wood
1e194db05b [DS-3952] Correct builder cleanup priority; remove remnant of old priority system. 2021-08-08 14:07:32 -04:00
Mark H. Wood
2fae54bfac [DS-3952] More SLF4J -> Log4Jv2 catch-up. 2021-08-08 14:06:42 -04:00
Mark H. Wood
ad4610d49f [DS-3952] Add RequestItemBuilder to the clean-up sequence. 2021-08-08 14:00:52 -04:00
Mark H. Wood
0ccfba6a1a [DS-3952] Catch up with switch to Log4J v2 -- replace SLF4J. 2021-08-08 13:58:42 -04:00
Mark H. Wood
f80546b6d7 [DS-3952] Remove unused setup/teardown; more documentation; correct assertion. 2021-08-08 13:58:38 -04:00
Mark H. Wood
09b066ca91 [DS-3952] Move request deletion from test to main. 2021-08-08 13:56:15 -04:00
Mark H. Wood
6fa5bf6548 [DS-3952] Drop dangling references that caused unfortunate coupling
with following test classes.
2021-08-08 13:54:54 -04:00
Mark H. Wood
c063434e01 [DS-3952] Fix what the tests say was broken. 2021-08-08 13:53:19 -04:00
Mark H. Wood
10dde35631 [DS-3952] Work around NPE problem in RequestItem: ensure that accept_request is set. 2021-08-08 13:40:18 -04:00
Mark H. Wood
a37c658931 [DS-3952] Debug the integration tests (unfinished). 2021-08-08 13:40:13 -04:00
Mark H. Wood
e1986ad678 [DS-3952] Switch to Spring proprietary annotations, and other cleanup. 2021-08-08 11:41:10 -04:00
Mark H. Wood
1b98d735df [DS-3952] Run test with full privileges. 2021-08-08 11:38:53 -04:00
Mark H. Wood
797e998739 [DS-3952] Use service from superclass, tighten code. 2021-08-08 11:38:53 -04:00
Mark H. Wood
fae1c5622d [DS-3952] AbstractBuilder should know about RequestItem since there is a builder for it now. 2021-08-08 11:38:46 -04:00
Mark H. Wood
1590e72f0f [DS-3952] Begin building integration tests. 2021-08-08 11:31:43 -04:00
Mark H. Wood
619e6d4eac [DS-3952] Throw a somewhat specific exception if we cannot store a request. 2021-08-08 11:10:00 -04:00
Mark H. Wood
7751b5c75f [DS-3952] Satisfy checkstyle again.
I think I have my IDE configured properly for this now.
2021-08-08 11:09:54 -04:00
Mark H. Wood
7e1bf53b40 [DS-3952] Replace standard @Inject with Spring-proprietary @Autowired for consistency. 2021-08-08 11:07:07 -04:00
Mark H. Wood
0a1babdb54 [DS-3952] First try at writability, untested. 2021-08-08 11:04:15 -04:00
Mark H. Wood
5048105cf6 [DS-3952] Conform better to established endpoint naming conventions. 2021-08-08 11:04:14 -04:00
Mark H. Wood
48dd36f165 [DS-3952] Conform to endpoint naming requirements. 2021-08-08 11:04:10 -04:00
Mark H. Wood
b3a40c198c [DS-3952] Use injected converters instead of creating ephemeral instances; rename methods for consistency with other REST code. 2021-08-08 11:02:41 -04:00
Mark H. Wood
de358067b8 [DS-3952] Fix style errors. 2021-08-08 10:55:05 -04:00
Mark H. Wood
16031a5637 [DS-3952] Better, fuller annotations; better documentation. 2021-08-08 10:52:46 -04:00
Mark H. Wood
8febfa479d [DS-3952] First attempt. It compiles. 2021-08-08 10:46:52 -04:00
Tim Donohue
d9a04c26fd Merge pull request #3360 from tdonohue/licenses_third_party_updates
Updates to LICENSES_THIRD_PARTY file after 7.0 release
2021-08-06 11:51:45 -05:00
Tim Donohue
9cf5687ceb More minor LICENSES_THIRD_PARTY cleanup 2021-08-06 11:11:11 -05:00
Tim Donohue
f68fb37530 Cleanup of LICENSES_THIRD_PARTY by improving grouping of licenses 2021-08-06 11:03:45 -05:00
Mark H. Wood
ee82706708 [DS-4548] More Checkstyle fixes. 2021-08-04 15:13:51 -04:00
Mark H. Wood
453b0b2cdf [DS-4548] Fix test failure: break circular dependency between DSpacePermissionEvaluator and ConverterService.
Also fix missing versions in deprecated dspace-rest POM.
2021-08-04 14:59:56 -04:00
Mark H. Wood
7c42e17883 [DS-4548] Fix forgotten disabled dspace-rest subproject. 2021-08-04 13:06:05 -04:00
Mark H. Wood
f4b1e4b2ff [DS-4548] Satisfy Checkstyle. 2021-08-04 12:02:21 -04:00
Mark H. Wood
b43e5dfdd8 [DS-4548] Rename DSpace's LogManager to LogHelper. 2021-08-04 11:41:18 -04:00
Tim Donohue
68f38fcdff Merge pull request #3355 from tdonohue/minor_code_cleanup
Minor code cleanup: Remove references to BTE, XMLUI and JSPUI
2021-08-03 10:13:58 -05:00
Tim Donohue
377542697c Cleanup a few more instances of JSPUI/XMLUI 2021-08-02 16:56:33 -05:00
Tim Donohue
e6898ddf77 Minor code cleanup. Remove any references to BTE, XMLUI and JSPUI from 7.x codebase 2021-08-02 16:48:54 -05:00
dependabot[bot]
7e7bee02d2 Bump ant from 1.10.9 to 1.10.11
Bumps ant from 1.10.9 to 1.10.11.

---
updated-dependencies:
- dependency-name: org.apache.ant:ant
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 16:57:14 +00:00
Michael Spalti
03df905290 Removed unused import. 2021-08-01 17:10:41 -07:00
Michael Spalti
0f9686f756 Added missing license header. 2021-08-01 12:23:59 -07:00
Michael Spalti
8acbab766d Added 3rd party licenses. 2021-08-01 12:23:38 -07:00
Michael Spalti
faa34e4b42 Merge branch 'main' into iiif-endpoint 2021-07-30 14:41:29 -07:00
Tim Donohue
3d9df39231 [maven-release-plugin] prepare for next development iteration 2021-07-29 14:09:30 -05:00
Tim Donohue
69345ff3fc [maven-release-plugin] prepare release dspace-7.0 2021-07-29 14:09:20 -05:00
Tim Donohue
af6ce04ba7 Update LICENSE files. Update POM for latest dspace-api-lang 2021-07-29 12:05:06 -05:00
Tim Donohue
70fa6aea84 Updates to README for 7.0 2021-07-29 11:31:26 -05:00
Andrew Wood
fc8f12f198 DS-3334 Update SWORD and SWORDv2 URL configuration construction 2021-07-22 14:04:33 -04:00
Tim Donohue
5e4743779a Merge pull request #3311 from DSpace/dependabot/maven/org.eclipse.jetty-jetty-server-9.4.41.v20210516
Bump jetty-server from 9.4.38.v20210224 to 9.4.41.v20210516
2021-07-21 10:23:50 -05:00
Tim Donohue
61303cdd2c Merge pull request #3316 from DSpace/dependabot/maven/dspace-rest/org.springframework.security-spring-security-core-5.3.10.RELEASE
Bump spring-security-core from 5.3.9.RELEASE to 5.3.10.RELEASE in /dspace-rest
2021-07-21 09:56:40 -05:00
dependabot[bot]
3d0af1d6cb Bump jetty-server from 9.4.38.v20210224 to 9.4.41.v20210516
Bumps [jetty-server](https://github.com/eclipse/jetty.project) from 9.4.38.v20210224 to 9.4.41.v20210516.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.38.v20210224...jetty-9.4.41.v20210516)

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-21 14:13:23 +00:00
dependabot[bot]
685539ee76 Bump spring-security-core in /dspace-rest
Bumps [spring-security-core](https://github.com/spring-projects/spring-security) from 5.3.9.RELEASE to 5.3.10.RELEASE.
- [Release notes](https://github.com/spring-projects/spring-security/releases)
- [Changelog](https://github.com/spring-projects/spring-security/blob/main/RELEASE.adoc)
- [Commits](https://github.com/spring-projects/spring-security/compare/5.3.9.RELEASE...5.3.10.RELEASE)

---
updated-dependencies:
- dependency-name: org.springframework.security:spring-security-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-21 14:12:43 +00:00
Tim Donohue
dad5e0855f Merge pull request #3294 from atmire/w2p-79734_Search-endpoint-to-find-bitsreams-of-item
Search endpoint to find bitstreams with item handle and bitstream name or sequence
2021-07-21 09:09:56 -05:00
Tim Donohue
960dca862b Merge pull request #3303 from 4Science/issue-3244
Improve logging of REST request adding MDC
2021-07-20 09:48:49 -05:00
Tim Donohue
94e18cbf12 Merge pull request #3321 from tdonohue/fix_pagination_count
Fix `/api/core/items` endpoint's `totalElements` count to avoid empty pages at end
2021-07-16 13:34:24 -05:00
Tim Donohue
065514b5f3 Add tests to prove Workflow Items and Template Items are also not counted/listed 2021-07-16 12:15:20 -05:00
Tim Donohue
5030ccd38f Merge pull request #3318 from 4Science/CST-4385-CanManageMappingsFeaturesometimesDoesNotRespondAsExpected
CanManageMappingsFeature sometimes does not respond as expected
2021-07-15 15:14:02 -05:00
Tim Donohue
6f82c79d2c Merge pull request #3293 from atmire/w2p-79618_bugfix-access-control-section-is-visible-to-non-admin-users-1124
New authorization feature - canManageGroup
2021-07-15 13:18:34 -05:00
tysonlt
16ffffc3a7 fix checkstyle violations 2021-07-15 11:32:13 +10:00
Marie Verdonck
a4dabade79 PR#3293: Check if group com/col admin can access starts with COLLECTION_ or COMMUNITY_ 2021-07-14 19:49:03 +02:00
Marie Verdonck
1d97bdeae8 PR#3293: Comment pointing to #3323 & special group check altered to use group name instead of requiring DB query to retrieve group 2021-07-14 17:49:49 +02:00
Luca Giamminonni
813dd05b75 Added missing escape in log4j2.xml and added logging.server.include-after-request property 2021-07-14 11:51:02 +02:00
tysonlt
a81a6005c0 Merge branch 'import_relationships' of https://github.com/tysonlt/DSpace into import_relationships 2021-07-14 15:14:36 +10:00
tysonlt
a9f339724c tweak comments and progress message 2021-07-14 15:14:21 +10:00
tysonlt
c01eb80f12 Merge branch 'DSpace:main' into import_relationships 2021-07-14 13:36:41 +10:00
tysonlt
e53ed6151a lookup relationship by type, allow entity lookup by meta 2021-07-14 13:01:03 +10:00
Tim Donohue
29eb77d511 Merge pull request #3320 from DSpace/issue3319-openaire-orgunit-relation
replacing relation with isFundingAgencyOfProject
2021-07-13 14:56:34 -05:00
Marie Verdonck
a3b2f69c56 PR#3294: Stop search after first matching bitstream found 2021-07-13 21:49:07 +02:00
Marie Verdonck
88b13f2935 PR#3294: Unused services removed 2021-07-13 21:01:43 +02:00
Marie Verdonck
d22b1e7a1a PR#3294: Return first bitstream at /bitstreams/search/byItemHandle regardless on whether or not permission to view + IT adjusted 2021-07-13 20:49:34 +02:00
Luca Giamminonni
a18dfed6c4 Logs improvements 2021-07-13 16:32:39 +02:00
tysonlt
4972ee3f98 populate item map with skipped items 2021-07-13 14:54:48 +10:00
tysonlt
2455171a58 support multiple relationships of the same type 2021-07-13 14:06:47 +10:00
tysonlt
c35fba249a allow item lookup by uuid, handle, or import folder name 2021-07-13 13:33:18 +10:00
tysonlt
a1a77b5492 added support for 'relationships' manifest 2021-07-13 13:03:34 +10:00
Tim Donohue
025c7a8c78 Fix total to only include archived items. 2021-07-12 16:00:02 -05:00
Tim Donohue
b60b76d29e Add test to prove pagination total is incorrect when WorkspaceItem(s) exist. 2021-07-12 15:35:57 -05:00
Tim Donohue
bdbbb999b7 Merge pull request #3314 from tdonohue/minor_it_fixes
Minor improvements to AuthenticationRestControllerIT for integration test stability
2021-07-12 09:40:01 -05:00
Tim Donohue
0237d4a5b1 Merge pull request #3265 from 4Science/CST-4121-MakeDiscoveryMoreResilientToStaleObjects
Make discovery more resilient to stale objects
2021-07-12 08:46:46 -05:00
Kim Shepherd
75c93601f8 [DS-4522] Clean up unused import 2021-07-12 13:38:18 +12:00
Kim Shepherd
4d33fb706c [DS-4522] Add a metadata match test to test for field that item doesn't contain 2021-07-12 13:19:15 +12:00
Kim Shepherd
2e6552c0c9 [DS-4522] Refactor skipFilter Boolean -> boolean (primitive) as per review 2021-07-12 13:05:19 +12:00
Kim Shepherd
713469cd80 [DS-4522] Removed operator test null item references and comments as per review 2021-07-12 12:44:10 +12:00
Michael Spalti
851bca30e3 Merge branch 'main' into iiif-endpoint 2021-07-11 06:55:13 -07:00
Michael Spalti
44de2ec5a3 Added IIIF bundle to solr stats. 2021-07-11 06:54:03 -07:00
Michael Spalti
a203d942ee Updated info models. 2021-07-11 06:53:00 -07:00
Michael Spalti
cbcf8c305e Updated cache path. 2021-07-11 06:52:16 -07:00
Michael Spalti
0a01826c4e Updated cache config and renamed classes. 2021-07-11 06:50:17 -07:00
Paulo Graça
3f69a4452c replace funder name with the proper schema 2021-07-09 10:58:02 +01:00
Paulo Graça
1981f672a5 replacing relation with isFundingAgencyOfProject 2021-07-09 10:46:02 +01:00
Mykhaylo
d239e862a7 fix CanManageMappingsFeature 2021-07-06 12:32:09 +02:00
Mykhaylo
7ac940bb38 added test that prove wrong functionality of CanManageMappingsFeature 2021-07-06 12:19:09 +02:00
Bruno Roemers
a19464d395 79618: Add license header 2021-07-05 12:50:16 +02:00
Bruno Roemers
646378cf6f 79618: Implement ManageGroupFeature 2021-07-05 12:50:16 +02:00
Bruno Roemers
a1019e02d8 79618: Create ManageGroupFeatureIT 2021-07-05 12:50:16 +02:00
Bruno Roemers
2ac78607e9 79618: Add generics 2021-07-05 12:50:16 +02:00
Yana De Pauw
e0f4484bbe Add comment 2021-07-02 13:39:41 +02:00
Yana De Pauw
2907b6c11a Merge remote-tracking branch 'upstream/main' into w2p-79734_Search-endpoint-to-find-bitsreams-of-item 2021-07-02 13:22:41 +02:00
Tim Donohue
87bb9e44f0 Merge pull request #3309 from atmire/w2p-80217_Link-to-item-thumbnail
Add endpoints for Item/Bitstream thumbnails
2021-06-30 13:56:31 -05:00
Andrea Bollini
25b4a19272 Merge branch 'main' of https://github.com/DSpace/DSpace into issue-3244 2021-06-26 17:27:26 +02:00
Tim Donohue
0297874d7d Minor IT improvements for stability. Ensure each test which logs in also logs out at the end. 2021-06-25 11:53:15 -05:00
Tim Donohue
cbed1b4768 Merge pull request #3313 from tdonohue/fix_jaxb_error
Fix JAXB build errors by disabling package annotations.
2021-06-25 11:52:23 -05:00
Tim Donohue
a4ac12e616 Fix JAXB build errors by disabling package annotations. Also make sure these classes are annotated as @Generated 2021-06-25 11:15:34 -05:00
Mykhaylo
32223c3c2c Merge branch 'main' into CST-4121-MakeDiscoveryMoreResilientToStaleObjects 2021-06-25 13:22:32 +02:00
Yura Bondarenko
c8b98f4061 Remove stray comment 2021-06-25 08:12:03 +02:00
Yura Bondarenko
fc4f64982a 80218: Expand thumbnail endpoint ITs 2021-06-25 08:12:03 +02:00
Yura Bondarenko
ef070612fa 80218: Fix leftover 'item's in BitstreamThumbnailLinkRepository 2021-06-25 08:12:03 +02:00
Yura Bondarenko
2ab5f6edb7 80218: Add ITs for bitstream thumbnail endpoint 2021-06-25 08:12:03 +02:00
Yura Bondarenko
47536c007d 80218: Implement bitstream thumbnail endpoint 2021-06-25 08:12:03 +02:00
Yura Bondarenko
b5f49f87bf 80218: Add BitstreamService#getThumbnail 2021-06-25 08:12:03 +02:00
Yura Bondarenko
bb797f7822 80217: Add ITs for item thumbnail endpoint 2021-06-25 08:12:03 +02:00
Yura Bondarenko
b3abbb525d 80217: Implement item thumbnail endpoint 2021-06-25 08:12:03 +02:00
Tim Donohue
02f84b4727 Merge pull request #3308 from atmire/w2p-80239_PDFBoxThumbnail-fix
W2p 80239 pdf box thumbnail fix
2021-06-24 16:59:01 -05:00
Tim Donohue
b6c7c75711 Merge pull request #3301 from tdonohue/upload-test-logs
Update our GitHub CI settings to upload all test output to a downloadable artifact whenever a test failure occurs.
2021-06-24 10:32:09 -05:00
Tim Donohue
4d65a2bff2 Merge pull request #3157 from mwoodiupui/DS-2058-7x
Implement curation tasks for Configurable Workflow
2021-06-24 10:26:30 -05:00
Tim Donohue
508c231f65 Merge pull request #3307 from tdonohue/remove_cacheprovider
Remove unimplemented interface CacheProvider and all references to it
2021-06-23 16:39:02 -05:00
Mykhaylo
44a7d9bd95 Implement community feedbacks 2021-06-23 17:59:21 +02:00
Tim Donohue
b6c43ae295 Add warning for production 2021-06-23 10:54:37 -05:00
Tim Donohue
5e640d2bb8 Add warning about production 2021-06-23 10:53:47 -05:00
Mark H. Wood
d83c7b7151 [DS-2058] A little more documentation touch-up. 2021-06-23 11:16:17 -04:00
Mark H. Wood
53738acf0b [DS-2058] Improve documentation as requested. 2021-06-23 10:58:49 -04:00
Tim Donohue
0cfe4d0686 Merge pull request #3304 from tdonohue/search_scope_null
Searches without a scope can trigger "Invalid UUID" error from ScopeResolver
2021-06-23 09:43:36 -05:00
Tim Donohue
62d3b850d8 Remove unimplemented interface CacheProvider and all references to it 2021-06-22 17:02:40 -05:00
Tim Donohue
418911e890 Merge pull request #3295 from DSpace/dependabot/maven/org.apache.httpcomponents-httpclient-4.5.13
Bump httpclient from 4.5.1 to 4.5.13
2021-06-22 15:41:47 -05:00
Tim Donohue
9ecfe40f41 Properly handle a null scope 2021-06-22 08:52:56 -05:00
Yura Bondarenko
a0a4ff148f Merge branch 'main' into w2p-80239_PDFBoxThumbnail-fix 2021-06-22 10:41:31 +02:00
Andrea Bollini
69c0d9cfd2 Improve logging of REST request adding MDC 2021-06-21 22:52:48 +02:00
Tim Donohue
73c809aeaa Merge pull request #3264 from 4Science/CST-4122-ExposewWithdrawnItemsToAnonymousUsersFilteringOutTheMetadata
Need a way to identify withdrawn items via REST API
2021-06-21 14:43:10 -05:00
Tim Donohue
36aa148764 Merge pull request #3297 from tdonohue/make_thumbnails_larger
Increase default thumbnail size to match with UI display settings
2021-06-21 11:04:43 -05:00
Andrea Bollini
5714a5eeff Cleanup code and add IT for the case discovery.removestale.attempts = 0 2021-06-21 17:03:52 +02:00
Tim Donohue
863282f296 Merge pull request #3300 from atmire/w2p-78245_Bugfix-to-UsageReportRestPermissionEvaluatorPlugin
Bugfix to usage report rest permission evaluator plugin
2021-06-17 15:08:33 -05:00
Tim Donohue
36853f8bc2 Only create Artifacts if a test fails 2021-06-17 12:16:15 -05:00
Tim Donohue
2d0757679e Upload test reports to workflow artifact for easier debugging of issues. 2021-06-17 11:49:56 -05:00
Mykhaylo
ca9d6c4a0a added description about new permission type STATUS 2021-06-17 14:59:54 +02:00
Mykhaylo
c2d8e9c328 Merge branch 'main' into CST-4122-ExposewWithdrawnItemsToAnonymousUsersFilteringOutTheMetadata 2021-06-17 14:52:21 +02:00
Tim Donohue
77296d4848 Merge pull request #3271 from DSpace/dependabot/maven/dspace-rest/org.springframework.security-spring-security-web-5.3.9.RELEASE
Bump spring-security-web from 5.3.3.RELEASE to 5.3.9.RELEASE in /dspace-rest
2021-06-16 15:48:58 -05:00
Tim Donohue
a1816e2054 Merge pull request #3298 from DSpace/dependabot/maven/org.apache.pdfbox-pdfbox-2.0.24
Bump pdfbox from 2.0.15 to 2.0.24
2021-06-16 15:32:56 -05:00
Tim Donohue
ab0bfb54e5 Create a SECURITY.md to document security policies 2021-06-16 12:02:34 -05:00
Tim Donohue
a250efd99c Merge pull request #3288 from 4Science/DSC-74-CanNotSaveMoreThanOneBitstreamAccessConditionsDuringSubmission
Can't save more than one bitstream's access conditions during submission
2021-06-15 14:28:54 -05:00
dependabot[bot]
06653a2db5 Bump pdfbox from 2.0.15 to 2.0.24
Bumps pdfbox from 2.0.15 to 2.0.24.

---
updated-dependencies:
- dependency-name: org.apache.pdfbox:pdfbox
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-15 15:55:35 +00:00
Tim Donohue
9140161954 Increase default thumbnail size to match with UI settings 2021-06-14 15:12:11 -05:00
Tim Donohue
128ef676b4 Merge pull request #3277 from atmire/w2p-79369_fix-error-when-permanently-deleting-item-as-collection-admin
Delete item as collection admin & related issues
2021-06-11 15:40:12 -05:00
Tim Donohue
d72029a07c Merge pull request #2756 from 4Science/DS-4149_7-x
[DS-4149] porting XOAI additional indexer
2021-06-11 14:30:18 -05:00
Mark H. Wood
13787c3a48 [DS-2058] Tidy up for Checkstyle. 2021-06-08 19:36:43 -04:00
Mark H. Wood
34bdf090f1 [DS-2058] Test with the first non-default workflow as stated, not the last. 2021-06-08 16:31:18 -04:00
Mark H. Wood
cbabb94887 [DS-2058] Document the CollectionBuilder. 2021-06-08 16:30:14 -04:00
Mark H. Wood
bda2a992fa [DS-2058] Remove now-unused injected attribute. 2021-06-08 13:56:25 -04:00
Mark H. Wood
2eb9f5d865 [DS-2058] Remove a missed added attribute, once again unused.
Some harmless cleanups remain, contrary to previous commit's comment.
2021-06-08 13:52:54 -04:00
Mark H. Wood
771368c4e0 [DS-2058] Avoid index out of bounds when no tasks match.
Also remove incorrect unit test.
2021-06-08 13:22:03 -04:00
Mark H. Wood
9c22e707a4 [DS-2058] workflow-curation has a declared namespace now. 2021-06-08 12:42:33 -04:00
Mark H. Wood
79e5aa10d5 [DS-2058] Fix misbehavior that was found in testing. 2021-06-08 09:07:48 -04:00
Mark H. Wood
aacb052856 [DS-2058] Curator should not NPE if someone forgot to set a Reporter. 2021-06-08 09:06:15 -04:00
Mark H. Wood
b980585557 [DS-2058] Finish removing workflow curation test from dspace-server-webapp.
This should completely revert the changes made to this artifact for workflow
curation.
2021-06-08 09:04:23 -04:00
Mark H. Wood
2eea17c63b [DS-2058] Move workflow curation testing to dspace-api since it has no essential connection with REST.
This patch duplicates the Spring/JUnit initializer classes from
dspace-server-webapp.  We should share a single set.  Possibly they should
live in dspace-services where the fundamental Spring support is found.
2021-06-08 09:00:30 -04:00
Mark H. Wood
7cc969829d [DS-2058] MarkerTask should be in a curation tasks directory. 2021-06-07 13:52:01 -04:00
Mark H. Wood
d43d686f01 [DS-2058] Extend and improve documentation. 2021-06-04 14:23:13 -04:00
dependabot[bot]
5eb2c519f4 Bump httpclient from 4.5.1 to 4.5.13
Bumps httpclient from 4.5.1 to 4.5.13.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-03 23:55:36 +00:00
Tim Donohue
71fb39edc9 Merge pull request #3280 from atmire/DS-3230_Browse-by-author-broken-if-author-name-has-special-character
Values escaped in browse and discover links
2021-06-03 10:28:12 -05:00
Tim Donohue
c8d38799cc Merge pull request #3285 from DSpace/fix-license-bitstream-format-description
Update license Bitstream format description
2021-06-03 10:26:11 -05:00
Marie Verdonck
30ef02d14b 79734: IT fix publicItem-embargoBitstream & refactor to avoid reusing metadata_read access on bitstream check code 2021-06-03 09:39:06 +02:00
Yana De Pauw
6feb960881 79734: Search endpoint to find bitstreams of item with item handle and sequenceID or fileName - Issue #1147 2021-05-31 17:09:18 +02:00
Mykhaylo
4953b2d56f fix bug with multi accessCondition# 2021-05-28 13:42:55 +02:00
Mykhaylo
b0e0b21bba added test to prove bug with multi accessCondition 2021-05-28 13:41:16 +02:00
benbosman
ef0723b9cf Merge branch 'DSpace:main' into w2p-78245_Bugfix-to-UsageReportRestPermissionEvaluatorPlugin 2021-05-28 12:20:23 +02:00
Samuel
d38c2e01dc DS-3230 Browse by author broken if author name has special character - use generic test names 2021-05-28 11:21:20 +02:00
Tim Donohue
ebd54fffd0 Merge pull request #3273 from tdonohue/proxy_config
Add better support for http proxying to Spring Boot
2021-05-27 08:38:31 -05:00
yura bondarenko
68ca8e380d Update license Bitstream format description 2021-05-27 15:32:01 +02:00
Andrea Bollini
0ad13bdf5f Fix plugins retrieval and bitstreams url link (issue - 3284) 2021-05-27 00:08:09 +02:00
Andrea Bollini
abe4e6996a cleanup the generation of the oaire:licenseCondition element 2021-05-26 19:25:35 +02:00
Andrea Bollini
2d2a4a77b2 Merge branch 'main' of https://github.com/DSpace/DSpace into DS-4149_7-x 2021-05-26 18:19:49 +02:00
Tim Donohue
367a8ab621 Merge pull request #3283 from mwoodiupui/3282
UI/REST linkage configuration is too sensitive to details that should be insignificant.  #3282
2021-05-26 10:25:43 -05:00
Mark H. Wood
b217d85125 Warn not to put trailing slashes on service URI stems. #3282 2021-05-26 10:47:49 -04:00
Mark H. Wood
63883e4123 [DS-2058] WIP: new test for workflow curation. 2021-05-26 09:53:16 -04:00
Mark H. Wood
b45612cadc [DS-2058] Attempt to curate workflow tasks in *all* the right places.
Workflow curation should happen at entry to a step, *before* looking for
manual tasks to send to reviewers.

Previous refactoring has split the old code into two pieces, so duplicate
the curation code to cover entry to the workflow as well as advancement
between steps.
2021-05-26 09:49:29 -04:00
Mykhaylo
2a66d68a1a added READ permission 2021-05-26 00:07:19 +02:00
Mykhaylo
64a3cc4276 Merge branch 'main' into CST-4122-ExposewWithdrawnItemsToAnonymousUsersFilteringOutTheMetadata 2021-05-25 17:45:34 +02:00
Mykhaylo
ceab663828 refactored tests 2021-05-25 16:55:35 +02:00
Mykhaylo
f549e74917 added new DSpaceRestPermission value STATUS to manage withdrawn items 2021-05-25 16:53:44 +02:00
Tim Donohue
0f927d71e0 Merge pull request #3278 from atmire/w2p-79535_bugfix-add-index-discovery-command-to-help
Add commands from script service to CLI help
2021-05-24 16:41:40 -05:00
Mark H. Wood
6d387abcb2 [DS-2058] Write, improve documentation of workflow classes in hope of understanding them better.
I suspect that in org.dspace.xmlworkflow.state.Step the word "valid" means
"conditions for transition to a different step are satisfied" or, more
concisely, "completed".
2021-05-24 12:31:33 -04:00
Tim Donohue
6f8ec029ec Merge pull request #3276 from atmire/w2p-79371_Cannot-export-metadata-csv-from-collection
Export metadata script (-i) param accepts UUID
2021-05-24 11:22:33 -05:00
Mykhaylo
f089a5258c minor refactoring 2021-05-20 16:23:39 +02:00
Samuel
a1906e83b3 DS-3230 Browse by author broken if author name has special character - repair broken tests 2021-05-20 15:52:02 +02:00
Samuel
a47f8d9476 DS-3230 Browse by author broken if author name has special character - fix 2021-05-20 13:01:55 +02:00
Samuel
8795a568e6 DS-3230 Browse by author broken if author name has special character - add tests 2021-05-20 13:01:43 +02:00
Mykhaylo
10a420605f added test to prove functionality of new parameter that disables Solr to remove stale objects 2021-05-20 11:00:52 +02:00
Mykhaylo
b42576bc89 Implement community feedbacks 2021-05-20 10:55:17 +02:00
Bruno Roemers
8a00082fec 79535: Add commands from script service to CLI help 2021-05-19 12:53:03 +02:00
Mykhaylo
b37e113249 Merge branch 'main' into CST-4121-MakeDiscoveryMoreResilientToStaleObjects 2021-05-19 11:33:05 +02:00
Bruno Roemers
01f0eb8c74 79369: Revert to 404
Are the 401 and 403 with non-admin tokens expected?
2021-05-18 19:20:23 +02:00
Bruno Roemers
a44894b733 79369: Fix test that failed because commit a105b4a7e5
It seems that the original behavior of BundleServiceImpl#delete was buggy,
because the bitstreams were being deleted despite the ORIGINAL bundle of
the item still holding a reference to it.
2021-05-18 19:02:41 +02:00
Bruno Roemers
8bee98dc97 79369: Add deleteOneArchivedTestAsOtherCollectionAdmin
Also fixed a typo that was present in the upstream code.
TODO: check if the resulting status change is expected.
2021-05-17 17:26:27 +02:00
Bruno Roemers
b349c303f8 79369: Fix RelationshipDeleteRestRepositoryIT
Also added two new tests to check the abilities of collection admins.
2021-05-17 16:41:27 +02:00
Michael Spalti
0fad27535a Merge branch 'main' into iiif-endpoint 2021-05-16 16:33:15 -07:00
Michael Spalti
77bed7571c Added trackPages parameter to solr query that was introduced in solr-ocrhighlighing v 0.6.0.
This version was released 5 days ago and is not yet available via Maven.
2021-05-16 10:28:15 -07:00
Mark H. Wood
ff4689e777 [DS-2058] Create a namespace for workflow-curation so my IDE can validate curation configurations. 2021-05-16 13:01:48 -04:00
Mark H. Wood
785cd007b4 [DS-2058] Less restrictive, more nearly correct Handle regex for workflow configuration. 2021-05-15 07:23:24 -04:00
Mark H. Wood
80158fc875 [DS-2058] More documentation, small cleanups. 2021-05-15 07:19:29 -04:00
Mark H. Wood
1585bcb268 [DS-2058] Merge curation test workflow into main workflow test configuration. 2021-05-15 07:16:51 -04:00
Tim Donohue
d6b66dbaaa Enable server.forward-headers-strategy by default and move to application.properties 2021-05-13 14:27:18 -05:00
Mark H. Wood
0e0ce0479c [DS-2058] Rename message to match the class that uses it.
Also create a new message and stop using Workflow message in DSO classes.
2021-05-13 11:53:43 -04:00
Mark H. Wood
1ca945b6c6 [DS-2058] Javadoc fixes. 2021-05-13 11:51:34 -04:00
Mark H. Wood
b688bd0145 [DS-2058] Move test scaffolding from main to test resources. 2021-05-13 11:48:51 -04:00
Tim Donohue
3c1b90d603 Merge pull request #3266 from 4Science/CST-4123-RespondWith401InSteadThan403toInvalidOrExpiredJWT
If logged in through multiple devices, a logout results should result in a 401 on other devices.
2021-05-13 10:28:03 -05:00
Andrea Bollini
28ffbea276 Merge pull request #3268 from tdonohue/small_fix_to_hal_browser_login
HAL Browser fix: Ensure we check for CSRF changes after login failure.
2021-05-13 15:14:22 +02:00
Mykhaylo
92c22926ca Merge branch 'main' into CST-4123-RespondWith401InSteadThan403toInvalidOrExpiredJWT 2021-05-13 15:08:55 +02:00
Mykhaylo
46a5bc2cab fix comments 2021-05-13 12:50:22 +02:00
Marie Verdonck
a105b4a7e5 79369: Fix for collection admin item delete with bitstream 2021-05-12 23:50:37 +02:00
Tim Donohue
678a0daa29 Merge pull request #3267 from atmire/private-and-withdrawn-filters-in-administrative-search
Private and withdrawn filters in administrative search
2021-05-12 16:27:22 -05:00
Tim Donohue
2935c2acf1 Merge pull request #3270 from atmire/issue-3269_servicemanager-beanexception-logging
Fix #3269 by logging detail when Service Manager can't find a bean
2021-05-12 16:23:47 -05:00
Marie Verdonck
7ab5cefd8e 79371: log message fix & ITs for non-valid -i params 2021-05-12 23:12:20 +02:00
Peter Nijs
23e389432c 79371: Cannot export Metadata (CSV) from Collection #1132 2021-05-12 21:56:12 +02:00
Peter Nijs
845c938329 79371: Cannot export Metadata (CSV) from Collection #1132 2021-05-12 20:35:28 +02:00
Chris Wilper
0de72692a6 #3269 Log exception details 2021-05-12 13:03:47 -04:00
dependabot[bot]
45525dcd61 Bump spring-security-web in /dspace-rest
Bumps [spring-security-web](https://github.com/spring-projects/spring-security) from 5.3.3.RELEASE to 5.3.9.RELEASE.
- [Release notes](https://github.com/spring-projects/spring-security/releases)
- [Changelog](https://github.com/spring-projects/spring-security/blob/main/RELEASE.adoc)
- [Commits](https://github.com/spring-projects/spring-security/compare/5.3.3.RELEASE...5.3.9.RELEASE)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 00:18:38 +00:00
Mark H. Wood
dffe025a35 [DS-2058] Add missing license to new package-info file. 2021-05-11 17:59:32 -04:00
Mark H. Wood
37668dccc8 [DS-2058] Clarify doc commentary. 2021-05-11 17:48:52 -04:00
Bruno Roemers
db17c16dc5 79369: WIP: Test item delete by collection admin
issue: the collection admin is not yet able to delete any associated bitstreams.
2021-05-11 18:12:42 +02:00
Bruno Roemers
c375e13f52 79369: Allow collection admins to delete item 2021-05-11 17:21:10 +02:00
Chris Wilper
9435f70a79 #3269 Log detail when Service Manager can't find bean 2021-05-10 20:01:23 -04:00
Tim Donohue
3a3cdb0f61 Ensure we check for CSRF changes after login failure. 2021-05-10 10:10:51 -05:00
Marie Verdonck
9436f1c426 javadoc for new param -> nullable 2021-05-07 16:02:03 +02:00
Antoine Snyers
3ad67676c5 Fix LineLength errors 2021-05-07 13:31:11 +02:00
Antoine Snyers
f33bf28dd4 Handle null value for config 2021-05-07 13:04:18 +02:00
Antoine Snyers
edf4214e44 Filter on standard fields without appending _keyword
Related to https://github.com/DSpace/dspace-angular/issues/1115
2021-05-07 11:49:31 +02:00
Antoine Snyers
1719024796 Add test for Private/Withdrawn "equals" filters in Administrative Search
Related to https://github.com/DSpace/dspace-angular/issues/1115
2021-05-07 10:57:25 +02:00
Mykhaylo
752eee2a57 Merge branch 'main' into CST-4121-MakeDiscoveryMoreResilientToStaleObjects 2021-05-06 18:28:29 +02:00
Tim Donohue
0b3c52d4ee Merge pull request #3241 from 4Science/CST-4060-SortOptionsAreNotReportedInTheProperOrder
Sort options are not reported in the proper order
2021-05-05 10:46:31 -05:00
Mykhaylo
7c32468425 added a fix that able to delete stale objects 2021-05-05 12:58:26 +02:00
Mykhaylo
7435ba9480 added tests to verify stale objects 2021-05-05 12:51:10 +02:00
Michael Spalti
e226ba954b Correction to annotationlist generator. 2021-05-04 19:30:31 -07:00
Michael Spalti
62a815b92b Changed incorrect inheritance. 2021-05-04 16:48:52 -07:00
Tim Donohue
78a3b4bf7f Merge pull request #3252 from 4Science/CST-4088-EmbeddedListsDontHavePaginationOptionsInTheirSelfLink
Embedded lists don't have pagination options in their self link
2021-05-04 16:03:29 -05:00
Michael Spalti
4658b97ede Merge branch 'main' into iiif-endpoint 2021-05-04 10:15:11 -07:00
Mykhaylo
d99fb55df1 user that is not admin can not see metadata of withdrawn items 2021-05-04 19:01:13 +02:00
Tim Donohue
cd79605290 Merge pull request #3240 from 4Science/CST-4059-featuresForTheEditItemPage
Features endpoint - features for the edit item page
2021-05-04 09:24:08 -05:00
Mykhaylo
0f38a8d0c8 added implementation that allows to see withdrawn items to anonynous groups 2021-05-04 11:36:11 +02:00
Mykhaylo
c1710cd95d added tests for withdrawn item 2021-05-04 11:32:47 +02:00
Tim Donohue
92d9c14415 Merge pull request #3260 from 4Science/issue-3259
Mention the Safari issue with external IdP in the local.cfg.EXAMPLE
2021-05-03 09:27:14 -05:00
Mykhaylo
fc066d9c13 fix tests 2021-05-03 11:56:15 +02:00
Mykhaylo
011eed4072 respond with 401 instead than 403 to invalid or expired JWT tokens 2021-05-03 10:43:54 +02:00
Andrea Bollini
296381b0f0 Mention the Safari issue with external IdP in the local.cfg.EXAMPLE 2021-05-01 11:34:53 +02:00
Tim Donohue
338418b3c3 Merge pull request #3180 from DSpace/dependabot/maven/org.eclipse.jetty-jetty-server-9.4.38.v20210224
Bump jetty-server from 9.4.35.v20201120 to 9.4.38.v20210224
2021-04-30 12:15:18 -05:00
Tim Donohue
ed887e8041 Merge pull request #3254 from DSpace/dependabot/maven/jackson.version-2.12.3
Bump jackson.version from 2.10.2 to 2.12.3
2021-04-29 17:17:31 -05:00
Tim Donohue
e15ca48b93 Merge pull request #3255 from DSpace/fix-readme-installation-url
Update DS7 installation url
2021-04-29 14:09:15 -05:00
Paulo Graça
1adb3be2dc Update DS7 installation url 2021-04-29 16:29:04 +01:00
Tim Donohue
f16b9428d5 Merge pull request #3242 from tdonohue/fix_shibboleth_auth
Fix broken Shibboleth Authentication & enhance tests & comments
2021-04-29 10:14:04 -05:00
Mykhaylo
5a0e068094 removed duplicate value from sortFields list in personOrOrgunit bean and fix test 2021-04-29 17:05:37 +02:00
Tim Donohue
3d9bf88a84 Merge pull request #3251 from DSpace/dependabot/maven/commons-io-commons-io-2.7
Bump commons-io from 2.6 to 2.7
2021-04-28 17:02:53 -05:00
dependabot[bot]
8ce86d2b7b Bump jetty-server from 9.4.35.v20201120 to 9.4.38.v20210224
Bumps [jetty-server](https://github.com/eclipse/jetty.project) from 9.4.35.v20201120 to 9.4.38.v20210224.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.35.v20201120...jetty-9.4.38.v20210224)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-28 21:42:08 +00:00
dependabot[bot]
1596d7c841 Bump jackson.version from 2.10.2 to 2.12.3
Bumps `jackson.version` from 2.10.2 to 2.12.3.

Updates `jackson-annotations` from 2.10.2 to 2.12.3
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `jackson-core` from 2.10.2 to 2.12.3
- [Release notes](https://github.com/FasterXML/jackson-core/releases)
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.10.2...jackson-core-2.12.3)

Updates `jackson-databind` from 2.10.2 to 2.12.3
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `jackson-jaxrs-base` from 2.10.2 to 2.12.3
- [Release notes](https://github.com/FasterXML/jackson-jaxrs-providers/releases)
- [Commits](https://github.com/FasterXML/jackson-jaxrs-providers/compare/jackson-jaxrs-providers-2.10.2...jackson-jaxrs-providers-2.12.3)

Updates `jackson-jaxrs-json-provider` from 2.10.2 to 2.12.3

Updates `jackson-module-jaxb-annotations` from 2.10.2 to 2.12.3
- [Release notes](https://github.com/FasterXML/jackson-modules-base/releases)
- [Commits](https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.10.2...jackson-modules-base-2.12.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-28 21:37:48 +00:00
Tim Donohue
bd000cc674 Merge pull request #2713 from atmire/DS-4457_Default-mail-credentials-fix
DS-4457 Avoid smtp authentication by default
2021-04-28 15:13:45 -05:00
Tim Donohue
c3cbdd15fe Merge pull request #3239 from mspalti/working_dir
Fixed itemimport working dir configuration. #3163
2021-04-27 15:05:58 -05:00
Tim Donohue
db0297d5c4 Make ITs model exact behavior of UI/Hal Browser. This pointed out a flaw in codebase logic which is fixed in this commit. 2021-04-27 12:00:39 -05:00
Mykhaylo
7c7a6e26cb fix test 2021-04-27 12:43:16 +02:00
dependabot[bot]
d0455eb579 Bump commons-io from 2.6 to 2.7
Bumps commons-io from 2.6 to 2.7.

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 16:28:09 +00:00
Mykhaylo
ba8ada13e3 fixed self link of embedded pagination 2021-04-26 17:35:08 +02:00
Mykhaylo
cb2012caf1 added test to verify that embedded lists have pagination options in their self-link 2021-04-26 17:31:09 +02:00
Tim Donohue
ea7df3b3a6 Test fix. Verify Authorization Cookie cleared after one usage. 2021-04-23 17:04:37 -05:00
Tim Donohue
f93d1ec004 Refactor HAL Browser login logic to work more like Angular UI & also ensure there's always at least one GET so that CSRF works properly 2021-04-23 15:21:33 -05:00
Tim Donohue
e5c7e0029c Minor code refactoring. Ensure auth cookie invalidation resets CSRF token & that it happens immediately on first usage of cookie 2021-04-23 15:16:44 -05:00
Tim Donohue
015e4ff609 Fix bug and add a ton of code comments to better describe how Shibboleth auth works 2021-04-21 14:27:41 -05:00
Tim Donohue
11d32b4953 Enhance Shibboleth tests to be more accurate. Add (failing) tests to prove that CSRF Token is NOT being reset after Auth via Cookie 2021-04-21 14:10:16 -05:00
Mykhaylo
d4493b24d0 minor fix 2021-04-20 11:33:11 +02:00
Mykhaylo
4acdc4fb9f implemented canManageMappingsFeature/canManageRelationshipsFeature and tests 2021-04-20 10:11:33 +02:00
Mykhaylo
3d16fca646 added tests for CanManageBitstreamBundlesFeature 2021-04-19 15:21:50 +02:00
Michael Spalti
3c5a3668fb Fixed itemimport working dir configuration. #3163 2021-04-17 15:32:04 -07:00
Michael Spalti
e4a828a39c Trial implementation of manifest caching.
Fixed style errors.
2021-04-17 15:05:42 -07:00
Mykhaylo
6e536abfb2 implemented CanManageBitstreamBundlesFeature 2021-04-16 19:11:39 +02:00
Mykhaylo
601e4020d2 Merge branch 'main' into CST-4059-featuresForTheEditItemPage 2021-04-16 10:46:44 +02:00
Mykhaylo
7cba6b17ec fix test 2021-04-16 09:32:16 +02:00
Tim Donohue
16e7fc9127 [maven-release-plugin] prepare for next development iteration 2021-04-15 16:44:11 -05:00
Tim Donohue
02a301b530 [maven-release-plugin] prepare release dspace-7.0-beta5 2021-04-15 16:44:04 -05:00
Tim Donohue
12550d1d96 Merge pull request #3238 from tdonohue/remove_cardinalities
Update Entity relationship types to remove non-zero cardinalities
2021-04-15 16:18:39 -05:00
Tim Donohue
01a31b27b5 Remove any non-zero cardinalities from relationship types until they are handled properly 2021-04-15 14:50:06 -05:00
Michael Spalti
9372c677b6 Updated logger. 2021-04-15 12:07:39 -07:00
Michael Spalti
fb1f0678cc Merge branch 'main' into iiif-endpoint 2021-04-15 11:31:18 -07:00
Tim Donohue
065c6cab8a Merge pull request #3236 from 4Science/issue-3234
Exclude swagger-jersey-jaxrs as it would include old v1 jersey depenies
2021-04-15 13:21:44 -05:00
Tim Donohue
6b08e7004c Merge pull request #3237 from tdonohue/correct_update_sequences
Remove sequences which no longer exist from 'updatesequences' command
2021-04-15 13:20:16 -05:00
Michael Spalti
9f93443cdf Merge branch 'main' into iiif-endpoint 2021-04-15 10:56:54 -07:00
Tim Donohue
a84b859704 Remove sequences which no longer exist 2021-04-15 12:07:10 -05:00
Mykhaylo
fa9a851917 added tests 2021-04-15 18:58:24 +02:00
Mykhaylo
d1026cdca9 implemented CanCreateVersionFeature and CanManageVersionsFeature 2021-04-15 18:56:41 +02:00
Mykhaylo
470268429d minor fix in test 2021-04-15 18:54:20 +02:00
Mykhaylo
2655996f02 rename ViewVersionsFeature to CanSeeVersionsFeature 2021-04-15 18:52:08 +02:00
Andrea Bollini
0148e4ffd2 Exclude swagger-jersey-jaxrs as it would include old v1 jersey dependencies 2021-04-15 18:47:20 +02:00
Tim Donohue
bd8276b7db Merge pull request #3225 from tdonohue/update_test_data
Update links to Entities test data
2021-04-14 17:04:13 -05:00
Tim Donohue
fb35aee7f0 Update Entities DB link. Add code to auto-update item-submission.xml for Entities dataset. 2021-04-14 16:00:30 -05:00
Tim Donohue
8a872745b7 Update links to Entities test data 2021-04-14 15:08:13 -05:00
Tim Donohue
f013ba257d Merge pull request #3235 from tdonohue/docker_enable_rest_to_trust_host
Ensure a REST API running in Docker always trusts requests from the host machine
2021-04-14 11:47:05 -05:00
Tim Donohue
e606ea7b23 Define a specific Docker network subnet and trust it in the local.cfg 2021-04-14 09:21:34 -05:00
Mykhaylo
d54907f3dc fix test 2021-04-14 14:44:38 +02:00
Mykhaylo
980f284302 added InvalidSearchRequestException to handle the case with an invalid sort field 2021-04-14 13:22:41 +02:00
Mykhaylo
f598a44a51 Merge branch 'main' into CST-4060-SortOptionsAreNotReportedInTheProperOrder 2021-04-13 14:43:51 +02:00
Mykhaylo
faecd9ac4a fix test 2021-04-13 13:20:11 +02:00
Mykhaylo
5d81dfe301 added tests 2021-04-13 12:55:13 +02:00
Mykhaylo
3ec9839b65 fix unit tests 2021-04-13 12:54:15 +02:00
Mykhaylo
be19c2b09e refactored the structure of sort options 2021-04-13 12:49:29 +02:00
Tim Donohue
32668b534e Merge pull request #3224 from 4Science/CST-4039
Patch Add entire array with virtual values does not work
2021-04-12 15:34:25 -05:00
Tim Donohue
56ba18ddb1 Merge pull request #3232 from tdonohue/default_submission_configs
Update/Correct default Submission Configurations for Testathon & Final release
2021-04-12 12:00:48 -05:00
Tim Donohue
2f4e177544 Update default submission configs to disable Entities by default, but add examples for our demo Entities dataset 2021-04-09 11:56:42 -05:00
Yana De Pauw
7125b958c7 78245: Bugfix to UsageReportRestPermissionEvaluatorPlugin 2021-04-09 14:40:11 +02:00
Tim Donohue
10bfce5585 Merge pull request #3192 from mwoodiupui/3190
Replace new uses of Log4J v1 with v2.  Ban v1 artifacts.  #3190.
2021-04-08 14:49:49 -05:00
Tim Donohue
b40fb1164e Merge pull request #3212 from atmire/GH-3211_tika-parsers-dependency
Fix #3211 by depending directly on tika-parsers
2021-04-08 12:25:50 -05:00
Tim Donohue
abcf52c30a Merge pull request #3223 from atmire/w2p-78174_CSRF-short-lived-token-get-endpoint
CSRF short lived token GET endpoint
2021-04-08 12:22:15 -05:00
Tim Donohue
b3a8b6e199 Merge pull request #3222 from atmire/w2p-78021_index-collection-location-on-submission-items
Collection location is not indexed for in submission items
2021-04-07 17:05:22 -05:00
Tim Donohue
ba2d6002b1 Merge pull request #3134 from atmire/tilted_rels
Designate "tilted" relationships to improve performance
2021-04-07 16:43:02 -05:00
Mark H. Wood
c2c7567836 Add Log4J 1.2 shim to 2.x in dspace-server because XOAI needs it. #3190 2021-04-07 16:38:52 -04:00
Alessandro Martelli
047c2850ce Merge branch 'main' into CST-4039
# Conflicts:
#	dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/ItemMetadataValueAddPatchOperation.java
2021-04-07 18:26:57 +02:00
Alessandro Martelli
5b90afab4e [CST-4039] Patch Add entire array with virtual values does not work 2021-04-07 18:21:31 +02:00
Alessandro Martelli
4d68fa4ad3 [CST-4039] Patch Add entire array with virtual values does not work 2021-04-07 16:47:27 +02:00
Tim Donohue
8f691a0af0 Merge pull request #3219 from tdonohue/lock_down_scripts
Restrict /api/system/scripts endpoint to admin-only
2021-04-07 09:34:11 -05:00
Mark H. Wood
e1e71855ea Merge branch 'main' into 3190 2021-04-07 10:12:28 -04:00
Mark H. Wood
88966a34e2 Merge remote-tracking branch 'upstream/main' into DS-2058-7x 2021-04-07 09:48:57 -04:00
Kevin Van de Velde
0ca07b1a9b Short lived token ip validation: Retrieve proper id for validation 2021-04-07 15:41:26 +02:00
Tim Donohue
997823c1dc Merge pull request #3189 from 4Science/removeBTE
Remove (deprecated) BTE Framework from 7.x codebase
2021-04-07 08:37:56 -05:00
Bruno Roemers
ee4e794298 78180: Rename ItemBuilder#withRelationshipType to withEntityType
Adapting to the changes in the latest upstream main branch.
2021-04-07 15:02:05 +02:00
Bruno Roemers
9a0ace4ce4 Merge branch 'main' into tilted_rels 2021-04-07 14:54:11 +02:00
Bruno Roemers
3393d6cc16 78206: Only allow access from trusted IPs 2021-04-07 14:37:17 +02:00
Bruno Roemers
9088eb0e78 78206: Make isRequestFromTrustedProxy public and add to interface 2021-04-07 11:42:44 +02:00
Bruno Roemers
cae3971459 Merge branch 'main' into w2p-78174_CSRF-short-lived-token-get-endpoint 2021-04-07 10:38:33 +02:00
Bruno Roemers
8785e5d56b 78180: Fix right tilted testIsOrgUnitOfPersonRelationshipMetadataViaREST 2021-04-07 10:30:38 +02:00
Bruno Roemers
c4e96713f0 78180: Create testIsOrgUnitOfPersonRelationshipMetadataViaREST 2021-04-07 10:28:38 +02:00
Bruno Roemers
b30a086361 78180: Rename to testIsAuthorOfPublicationRelationshipMetadataViaREST 2021-04-07 10:12:08 +02:00
Andrea Bollini
683cba643e Improve logging of date parsing issues 2021-04-07 10:02:52 +02:00
Andrea Bollini
101d4010fe Merge remote-tracking branch 'origin/main' into removeBTE 2021-04-07 10:02:22 +02:00
Bruno Roemers
a123acfea9 78021: Test that the owning collection is indexed on in-progress submissions 2021-04-06 19:04:44 +02:00
Bruno Roemers
08b80e7421 78180: WIP: Create RightTiltedRelationshipRestRepositoryIT 2021-04-06 18:54:09 +02:00
Bruno Roemers
7bcdfd8ae4 78180: Fix right tilted testGetJournalRelationshipMetadata 2021-04-06 18:43:17 +02:00
Tim Donohue
206f6bdc63 Merge pull request #3195 from 4Science/CST-3978
Added script to delete all metadata values
2021-04-06 11:38:05 -05:00
Bruno Roemers
1dcdf7e948 78180: Create RightTiltedRelationshipMetadataServiceIT and copy relevant methods for override 2021-04-06 18:29:22 +02:00
Alessandro Martelli
58d9f27b97 [CST-4039] Patch Add entire array with virtual values does not work
Created integration test
2021-04-06 18:18:30 +02:00
Bruno Roemers
44afde13ee 78180: Change signature of initJournalVolumeIssue 2021-04-06 18:16:01 +02:00
Bruno Roemers
0c118223d4 78180: Rename to LeftTiltedRelationship 2021-04-06 18:00:45 +02:00
Tim Donohue
cdc06a30dd Merge pull request #3171 from tdonohue/remove_ip_checks
Update IP-based security configurations to more sane defaults (now that CORS + CSRF are enabled)
2021-04-06 09:10:32 -05:00
Tim Donohue
5d9842762a Merge pull request #3186 from 4Science/issue-2891
Restoring sherpa and orcid support as authorities
2021-04-06 09:08:37 -05:00
Bruno Roemers
5433065c8e 78174: Move code from shortLivedToken() => shortLivedTokenResponse()
> If we ever make changes to the shortLivedToken() method itself this would affect the “shortLivedTokenViaGet()” method as well (which isn’t clear directly).
2021-04-06 11:49:25 +02:00
Bruno Roemers
5fd1c749c8 78021: Add collection to location list of in-progress submission solr document 2021-04-06 11:34:57 +02:00
Luca Giamminonni
7ba8b5900a Move bulkedit.allow-bulk-deletion property from dspace.cfg to bulkedit.cfg 2021-04-06 09:55:24 +02:00
Mark H. Wood
92548a0bfc [DS-2058] Satisfy Checkstyle 2021-04-05 19:47:02 -04:00
Mark H. Wood
80a6e2ced4 [DS-2058] Remove impossible tests of Curator state -- Curator is reset by service. 2021-04-05 16:55:47 -04:00
Michael Spalti
a82727b552 Removed unused import. 2021-04-05 10:16:09 -07:00
Michael Spalti
348a7d263e Corrected multi-word solr queries. 2021-04-04 11:53:09 -07:00
Mark H. Wood
7f94b91648 [DS-2058] Scrap integration test, make it a unit test, fake claimed tasks. 2021-04-04 10:38:26 -04:00
Michael Spalti
0efb145b8f Corrected dspace.entity.type metadata field name in utils. 2021-04-02 18:49:07 -07:00
Michael Spalti
8c3673e27e Added caching for manifests. 2021-04-02 15:20:52 -07:00
Michael Spalti
14ef8ab75b Using dspace.entity.type for iiif bundle lookup. 2021-04-02 15:12:28 -07:00
Michael Spalti
20a9c0a686 Updated IT for revised ItemBuilder. 2021-04-02 14:32:04 -07:00
Tim Donohue
eff51a5364 Merge pull request #3218 from mwoodiupui/3217
Proper Bean-like initialization of SherpaService
2021-04-02 14:14:19 -05:00
Mark H. Wood
9af1c06d11 [DS-2058] Failing attempt at an integration test. 2021-04-02 15:08:54 -04:00
Tim Donohue
f33a502c2f Ensure trim() happens before verifying IP address & correct test (this test correction fails without the code change) 2021-04-02 13:57:49 -05:00
Tim Donohue
ecfb338cbc Enhance tests of IPTable to prove it doesn't allow duplicates 2021-04-02 13:57:49 -05:00
Michael Spalti
136f0fcb5b Merge branch 'main' into iiif-endpoint 2021-04-02 10:12:59 -07:00
Michael Spalti
239de60178 Removed uncessary encoding of solr query. 2021-04-02 10:11:29 -07:00
Tim Donohue
f38d62d621 Restrict scripts endpoint to ADMIN for now as all scripts are currently Admin-only 2021-04-02 11:28:51 -05:00
Bruno Roemers
5596d4f48f 78174: Add endpoint GET /api/authn/shortlivedtokens 2021-04-02 18:26:56 +02:00
Mark H. Wood
3555cf2ef7 [DS-2058] Code cleanup, documentation. 2021-04-02 11:25:55 -04:00
Tim Donohue
7b0ed1bba8 Merge pull request #3183 from tdonohue/entity_type_storage
Rename / move 'relationship.type' metadata field to 'dspace.entity.type'
2021-04-02 09:22:17 -05:00
Mark H. Wood
e80937d625 [DS-2058] findTaskSet should *always* return a TaskSet. 2021-04-02 10:20:18 -04:00
Mark H. Wood
8a57cb0e4b [DS-2058] Catch up with removal of traditional workflow in main. 2021-04-02 10:17:44 -04:00
Mark H. Wood
d82f66b380 [DS-2058] Correct path to workflow curation configuration.
Also clean up an annoying typo in a comment.
2021-04-02 10:15:05 -04:00
Mark H. Wood
6e4b07f746 Proper initialization of SherpaService Bean. #3217 2021-04-01 16:57:38 -04:00
Tim Donohue
7b55ed8e2c Merge pull request #3148 from atmire/w2p-76284_issue-927---non-site-admin-edit-collection-authorization-group-REST
Getting 401 when Community or Collection Administrator tries to edit Collection Authorization Group
2021-04-01 13:47:03 -05:00
Raf Ponsaerts
6a66463f44 fix duplicate id 2021-04-01 16:28:37 +02:00
Raf Ponsaerts
4457bceace Merge remote-tracking branch 'dspace/main' into w2p-76284_issue-927---non-site-admin-edit-collection-authorization-group-REST 2021-04-01 16:28:09 +02:00
Mark H. Wood
774582ede1 Merge remote-tracking branch 'upstream/main' into DS-2058-7x 2021-04-01 09:59:36 -04:00
Raf Ponsaerts
e2564fbbfc Merge branch 'w2p-76284_issue-927---non-site-admin-edit-collection-authorization-group-REST' of https://github.com/atmire/DSpace into w2p-76284_issue-927---non-site-admin-edit-collection-authorization-group-REST 2021-04-01 15:57:11 +02:00
Mark H. Wood
9abfdcf097 [DS-2058] Supply more missing Javadoc 2021-04-01 09:49:34 -04:00
Raf Ponsaerts
2ac1a22515 fix tests 2021-04-01 15:21:57 +02:00
Andrea Bollini
ffcca497a8 Merge pull request #3160 from atmire/metadata-field-caching-hibernate-3-performance-test
Metadata field caching hibernate performance
2021-04-01 14:29:22 +02:00
Andrea Bollini
738bd7752d Merge pull request #3200 from atmire/w2p-77817_Index-mapped-items
Mapped Items not visible in Collection browse
2021-04-01 14:08:29 +02:00
Bruno Roemers
c498220296 78138: BUGFIX: Set tilted before virtual metadata is cached 2021-04-01 10:55:08 +02:00
Bruno Roemers
4648373cce Merge branch 'main' into tilted_rels 2021-04-01 10:20:07 +02:00
Bruno Roemers
c34aeb51d3 Revert "78138: Turn off test line that fails in multiple PRs"
This reverts commit 38bcd1da77.
2021-04-01 10:19:41 +02:00
Yura Bondarenko
e23f2980e0 77817: Add subject null check 2021-04-01 09:48:41 +02:00
Yura Bondarenko
9b748790c8 77817: Update mapped/unmapped Items in IndexEventConsumer 2021-04-01 09:44:39 +02:00
Yura Bondarenko
20dc0f6fbe Revert "77817: Mark item as modified when adding to/removing from collection"
This reverts commit d80d26db
2021-04-01 09:44:39 +02:00
Yura Bondarenko
5cd9cc7802 77817: Add integration tests 2021-04-01 09:44:39 +02:00
Yura Bondarenko
0597779b63 77817: Mark item as modified when adding to/removing from collection 2021-04-01 09:44:39 +02:00
Michael Spalti
a2929fa17b Removed word_highlighting solr core. 2021-03-31 18:54:50 -07:00
Tim Donohue
e7ce2f4383 Fix checkstyle 2021-03-31 18:12:52 -05:00
Tim Donohue
b3088fc0d3 Response to feedback. Add new proxies.trusted.include_ui_ip setting to determine whether UI IP lookup is done. More tests to prove it works 2021-03-31 17:32:02 -05:00
Tim Donohue
85062471d4 Fix bug by ensuring we only return IPv4 addresses at this time. Enhance tests in AnonymousAdditionalAuthorizationFilterIT to show it works with proxies on or off. 2021-03-31 15:36:39 -05:00
Tim Donohue
d9eea7abaa Enhance logging & comments regarding proxy settings 2021-03-31 15:36:38 -05:00
Tim Donohue
4016280c9e If trusted proxies are not configured, default to trusting UI's IP address 2021-03-31 15:36:38 -05:00
Tim Donohue
f2f7d127aa Upgrade Mockito & use "mockito-inline" to allow for mocking static methods 2021-03-31 15:36:38 -05:00
Tim Donohue
5ff6c04989 Copy CORS settings to local.cfg by default. Add test to prove CORS blocks authentication from untrusted origins 2021-03-31 15:36:33 -05:00
Tim Donohue
4efe92e23d Remove options to add IP address in JWT auth token. Fixes #2938 2021-03-31 15:34:39 -05:00
Tim Donohue
2af69dd077 Add Flyway migrations to move from relationship.type to dspace.entity.type 2021-03-31 15:07:03 -05:00
Tim Donohue
ee33a4935d Fixes to newly merged Google Scholar entity code in #3150 2021-03-31 15:07:02 -05:00
Tim Donohue
cdb59db8f5 Fix incorrect/failing test. Entity Type passed in CSV update MUST match entity type of the Item being updated. 2021-03-31 15:07:02 -05:00
Tim Donohue
9bf9c3037f Refactor tests, especially CsvImportIT to locate bug. No core logic is changed, just renaming methods/variables & adding a few more tests. 2021-03-31 15:06:58 -05:00
Tim Donohue
e88db03c51 Additional replacements where schema, element & qualifier were separate 2021-03-31 15:04:46 -05:00
Tim Donohue
4c0a38fb40 Rename / move 'relationship.type' metadata field to 'dspace.entity.type' 2021-03-31 15:01:45 -05:00
Tim Donohue
05b80bd941 Merge pull request #3213 from tdonohue/fix_failing_test
Refactor existing Metadata Schema & Field pagination tests to determine pagination dynamically
2021-03-31 14:47:48 -05:00
Tim Donohue
6c37c552c8 Merge pull request #3170 from atmire/w2p-77244_ItemMetadata-caching-bugfixes
Caching the item metadata for entities
2021-03-31 14:32:33 -05:00
Tim Donohue
5de643ba04 Merge pull request #3196 from 4Science/CST-3962
Item not indexed due to authority value not being in a controlled vocabulary
2021-03-31 14:24:55 -05:00
Tim Donohue
7b4f0c7f44 Determine metadata field count & pagination dynamically as well 2021-03-31 13:47:28 -05:00
Michael Spalti
2548eef9ae Removed unused import. 2021-03-31 11:38:15 -07:00
Michael Spalti
8fd05b1b16 Minor updates. 2021-03-31 11:01:07 -07:00
Tim Donohue
765a928fcd Merge pull request #3188 from 4Science/CST-3960-SearchLinksInFacetValuesDontContainTheConfiguration
Search links in facet values dont contain the configuration
2021-03-31 12:45:43 -05:00
Tim Donohue
b85b15f876 Fix test to determine number of schema in DB prior to checking pagination 2021-03-31 12:18:56 -05:00
Bruno Roemers
38bcd1da77 78138: Turn off test line that fails in multiple PRs 2021-03-31 15:05:02 +02:00
Bruno Roemers
4041635135 Merge branch 'main' into w2p-78138_update-tests-for-tilted-relationships 2021-03-31 14:19:36 +02:00
Bruno Roemers
0d3009d322 78138: Write test case testRelationshipMetadataViaREST 2021-03-31 13:57:41 +02:00
Raf Ponsaerts
63d21cd4f0 Partial refactor, still issues with infinite loops 2021-03-31 13:28:04 +02:00
Samuel
1b3ace654b taskid 78099 ItemMetadata caching test - feedback 2021-03-31 12:38:46 +02:00
Chris Wilper
f84b0dc9e0 #3211 Exclude tika-parsers dependencies we already use, but with different versions 2021-03-30 23:45:56 -04:00
Chris Wilper
ef62e22aa1 #3211 Change tika-core dependency to tika-parsers 2021-03-30 23:35:34 -04:00
Michael Spalti
4c9b029489 Merge branch 'iiif-endpoint' of https://github.com/mspalti/DSpace into iiif-endpoint 2021-03-30 17:43:25 -07:00
Michael Spalti
38f68abddb Minor updates to iiif services. 2021-03-30 17:36:44 -07:00
Michael Spalti
031cef8b45 Updated dspace.cfg to support iiif ITs 2021-03-30 17:35:46 -07:00
Michael Spalti
8d8e2172d0 Added word_highlighing solr core. 2021-03-30 08:07:52 -07:00
Michael Spalti
bf1451cfe0 Updated search service to use solr client libraries. 2021-03-30 08:07:52 -07:00
Michael Spalti
ec94740a9a Added exception to search service query. 2021-03-30 08:07:52 -07:00
Michael Spalti
82171dfa6a Updated dspace.cfg comment. 2021-03-30 08:07:52 -07:00
Michael Spalti
cb81aff432 Updated the image service thumbnail path. 2021-03-30 08:07:52 -07:00
Michael Spalti
952c3b603b Minor refactor manifest generator 2021-03-30 08:07:52 -07:00
Michael Spalti
4fcd6c1e41 Added sample iiif config to dspace.cfg 2021-03-30 08:07:52 -07:00
Michael Spalti
675e3c0b64 Added new method to the test BitstreamBuilder and moved iiif test package. 2021-03-30 08:07:52 -07:00
Michael Spalti
79bb86a5db Added integration tests. 2021-03-30 08:07:52 -07:00
Michael Spalti
6ed7bedaa9 Added iiif controller. 2021-03-30 08:07:52 -07:00
Michael Spalti
eaee79831b Added iiif repository. 2021-03-30 08:07:52 -07:00
Michael Spalti
ffdf6de26f Added iiif service and utility classes. 2021-03-30 08:07:52 -07:00
Michael Spalti
86bf766db1 Added classes for parsing the info.json object. 2021-03-30 08:07:52 -07:00
Michael Spalti
c746a9b43b Added factory for objectmapper. 2021-03-30 08:07:52 -07:00
Michael Spalti
8dea0807b7 Added iiif model generator classes. 2021-03-30 08:07:52 -07:00
Michael Spalti
0ea5f13498 Adding iiif-apis dependency 2021-03-30 08:07:52 -07:00
Peter Nijs
b663fb20ac 76284: Use primitive longs 2021-03-30 16:54:20 +02:00
Tim Donohue
34c1e82275 Merge pull request #3194 from atmire/w2p-77582_Issue-3113_Fix-item-handle-redirect
handle redirect for items not working - REST Implementation
2021-03-30 09:49:57 -05:00
Tim Donohue
a58257512e Merge pull request #3205 from atmire/1067-blank-qualifier
fix #1067 metadatafield with blank qualifier
2021-03-30 09:23:51 -05:00
Samuel
5d9ad392df taskid 78006 Test metadata field caching branch - PR 3160 - feedback 2021-03-30 15:06:59 +02:00
Andrea Bollini
a39e33b4c3 Add more information about the extraction step 2021-03-30 13:53:10 +02:00
Andrea Bollini
6c121659af Little javadoc cleanups 2021-03-30 13:46:36 +02:00
Andrea Bollini
18fb0ca50c Remove obsolete warnings and use of label on the server side (it is responsability of the UI) 2021-03-30 13:24:14 +02:00
Andrea Bollini
44be7c7a50 Rename Orcidv3 in a more meaningful way 2021-03-30 13:23:20 +02:00
Samuel
535f90e147 taskid 78099 ItemMetadata caching test 2021-03-30 10:42:16 +02:00
Samuel
c53c1f6909 taskid 78006 Test metadata field caching branch - PR 3160 2021-03-30 09:57:00 +02:00
Michael Spalti
8e1f0ca85b Updated search service to use solr client libraries. 2021-03-29 16:21:21 -07:00
Tim Donohue
d2386bc4ab Merge pull request #3208 from tubhh/LDAP_bugfix_groups
Corrects reading of configuration options in LDAPAuthentication
2021-03-29 11:29:27 -05:00
Raf Ponsaerts
46ea777250 Changed to primitive long for count methods in authorizeService 2021-03-29 10:21:53 +02:00
Yura Bondarenko
ec90374ff6 77582: Fix imports 2021-03-29 09:02:13 +02:00
Michael Spalti
47e835db0d Added exception to search service query. 2021-03-28 17:06:49 -07:00
Michael Spalti
b31d3ec98f Updated dspace.cfg comment. 2021-03-28 10:25:24 -07:00
yura bondarenko
01d47fb639 Add license header 2021-03-27 18:08:41 +01:00
Michael Spalti
256f89bbbe Updated the image service thumbnail path. 2021-03-26 17:45:40 -07:00
Michael Spalti
c39bd6c7c2 Minor refactor manifest generator 2021-03-26 16:37:45 -07:00
Michael Spalti
78c66f3fed Added sample iiif config to dspace.cfg 2021-03-26 16:36:54 -07:00
Tim Donohue
3560a74b34 Merge pull request #3209 from tdonohue/pin_postgres_in_Docker
Pin to Postgres 11 in Dockerfiles
2021-03-26 16:44:51 -05:00
Tim Donohue
9afe043fb7 Pin to Postgres 11 in Dockerfiles 2021-03-26 15:19:04 -05:00
Peter Nijs
dee67dcb2f 76284: non site admin edit collection authorization group REST feedback
- Merge AuthorizeSolrService into AuthorizeService
- PreAuthorize findAdminAuthorized methods
2021-03-26 17:39:38 +01:00
Yura Bondarenko
174225923a 77582: Add unit tests for HandleServiceImpl#parseHandle 2021-03-26 16:20:34 +01:00
Yura Bondarenko
a43e07f89a 77582: Rename formatHandle to parseHandle & add @Override 2021-03-26 16:20:11 +01:00
Luca Giamminonni
3f8c76dc3c Fix MetadataDeletionIT test 2021-03-26 15:46:13 +01:00
Luca Giamminonni
d421ac1b63 Added allow-bulk-deletion property to specify erasable fields via bulk deletion 2021-03-26 15:37:49 +01:00
Michael Spalti
a3a809ea6b Added new method to the test BitstreamBuilder and moved iiif test package. 2021-03-25 16:04:45 -07:00
Michael Spalti
fb72c2a4b5 Added integration tests. 2021-03-25 15:56:55 -07:00
Michael Spalti
1b6c770d23 Added iiif controller. 2021-03-25 15:54:34 -07:00
Michael Spalti
988b221e0d Added iiif repository. 2021-03-25 15:53:28 -07:00
Michael Spalti
1a6d3d4ee3 Added iiif service and utility classes. 2021-03-25 15:52:21 -07:00
Michael Spalti
1a353d4bd5 Added classes for parsing the info.json object. 2021-03-25 15:48:31 -07:00
Michael Spalti
dae544ac97 Added factory for objectmapper. 2021-03-25 15:47:15 -07:00
Michael Spalti
5ac85abc67 Added iiif model generator classes. 2021-03-25 15:44:02 -07:00
Michael Spalti
5c47af0578 Adding iiif-apis dependency 2021-03-25 15:20:06 -07:00
Tim Donohue
13d8ce6312 Merge pull request #3203 from tubhh/LDAP_bugfix
LDAP Authentication: use generic exception instead of special SQLException
2021-03-25 14:42:13 -05:00
Mykhaylo
1979a4d4fb Merge branch 'main' into CST-3960-SearchLinksInFacetValuesDontContainTheConfiguration 2021-03-25 17:05:20 +01:00
Mykhaylo
deec143f35 added tests 2021-03-25 16:51:37 +01:00
Tim Donohue
8f5c826781 Merge pull request #3198 from 4Science/CST-3980-WorkflowDiscoveryConfigurationQueryWithQueryParameterSetWithFreeTextReturnsNoResults
Workflow discovery configuration query with query parameter set with free text returns no results
2021-03-25 09:33:30 -05:00
Tim Donohue
c2108141ec Merge pull request #3206 from atmire/w2p-77810_Issue-3139_Log-REST-API-exceptions
Exceptions in DSpace 7 REST API producing log entries in DSpace log files
2021-03-25 09:26:01 -05:00
April Herron
258d0f66bd Comment fixes for tilted relationships 2021-03-25 09:38:18 -04:00
Mykhaylo
be44791006 Implement community feedbacks 2021-03-25 13:25:59 +01:00
Mykhaylo
92988b409e Merge branch 'main' into CST-3962 2021-03-25 13:20:51 +01:00
Andrea Bollini
d01ec35e69 Merge pull request #3126 from tdonohue/cleanup_solr_configs
Cleanup DSpace Solr Configs for v8 & update to Solr 8.8.1
2021-03-25 12:50:21 +01:00
Oliver Goldschmidt
2d069b019a fixes #3207: corrects reading of configuration options 2021-03-25 12:37:22 +01:00
Mykhaylo
a31383ce6f Implement community feedbacks 2021-03-25 11:47:25 +01:00
Oliver Goldschmidt
68d311ddd0 fixes style issue 2021-03-25 11:22:17 +01:00
Andrea Bollini
3b8677b994 Merge pull request #3176 from atmire/w2p-77228_Issue-2798-Missing-ITs-for-browse-by-authority-values
Missing ITs for browse by authority values fix
2021-03-25 11:14:43 +01:00
Oliver Goldschmidt
e4349db70c return to SQLException catch and testing for Nullpointers manually 2021-03-25 10:55:54 +01:00
Andrea Bollini
3b61bb1ed5 Community feedback 2021-03-24 21:28:17 +01:00
Andrea Bollini
37289b01c4 Code cleanup: remove unused submit code from dspace-api 2021-03-24 21:01:28 +01:00
Andrea Bollini
b11afd16f3 Mock the publication import service for testing 2021-03-24 20:57:42 +01:00
Andrea Bollini
e8ee8e5afb Fix misleading properties names for the CharacterSeparated provider 2021-03-24 17:16:33 +01:00
Samuel
01ff437b74 fix #1067 metadatafield with blank qualifier 2021-03-24 16:35:47 +01:00
Oliver Goldschmidt
ede3f11073 use generic exception instead of special SQLException 2021-03-24 14:24:48 +01:00
Andrea Bollini
ca70f69fb9 Make a common ancestor for the Listener and processing steps 2021-03-24 13:37:47 +01:00
Andrea Bollini
c62d06374e Cleanup submission code
Moved shared code among workspace and workflow repository to the submission service
introduced a base RestProcessingStep interface to be specialized among ListenerStep and AbstractRestProcessingStep (data processing)
removed retrieval of the Request from the service passing directly the http request that was available
added test to check the special case of steps that should be not exposed as panel (extract step)
2021-03-24 12:31:24 +01:00
Andrea Bollini
ee2f35b76e Fix type of the extract panel in the configuration 2021-03-24 11:54:00 +01:00
Andrea Bollini
847e104bb4 Switch to opencvs in the com.opencsv groupId 2021-03-24 11:52:54 +01:00
Kim Shepherd
713d91eaa2 [DS-4522] Clean up unused imports 2021-03-24 13:28:10 +13:00
Tim Donohue
e1478f6fdd Merge pull request #3191 from 4Science/CST-3961-CannotClaimPoolTasksCreatedBeforeYouWereAddedToAworkflowApprovalGroup
Cannot claim PoolTasks created before you were added to a workflow approval group
2021-03-23 08:59:56 -05:00
Kim Shepherd
3d609faf07 [DS-4522] Use more generic IdentifierNotApplicableException where applicable 2021-03-23 16:17:47 +13:00
Kim Shepherd
cc1f67734e [DS-4522] Refactor LogicalStatement.getResult() type to primitive boolean 2021-03-23 14:34:58 +13:00
Kim Shepherd
a3beda1a05 [DS-4522] Remove unused imports 2021-03-23 14:34:45 +13:00
Kim Shepherd
b51a894361 [DS-4522] Add unit tests for remaining conditions, fix service instantiation for tests 2021-03-23 13:52:02 +13:00
Tim Donohue
f4b5e9c26b Merge pull request #3168 from tdonohue/reduce_csrf_token_refreshing
Reduce frequency of CSRF Tokens being refreshed/reset
2021-03-22 10:07:04 -05:00
Tim Donohue
6b352ea45d Merge pull request #3166 from UoEMainLibrary/DS-4575-7
[DS-4575]  v.7 - Exposed more parameters for DBCP2
2021-03-22 09:12:41 -05:00
Tim Donohue
6653a5bdd7 Merge pull request #3164 from UoEMainLibrary/DS4574-7
[DS-4574] v. 7 - Upgrade DBCP2 dependency
2021-03-22 09:09:29 -05:00
Mykhaylo
0c6c1adc99 Merge branch 'main' into CST-3961-CannotClaimPoolTasksCreatedBeforeYouWereAddedToAworkflowApprovalGroup 2021-03-22 11:30:56 +01:00
Yura Bondarenko
03c8079be8 77810 - Log 5xx/4xx REST exceptions 2021-03-19 15:36:18 +01:00
Raf Ponsaerts
af226189e0 changed cleanup from general tests to after specific test 2021-03-19 10:57:00 +01:00
Tim Donohue
404b8281ee Enhance expectations in test. Document in comments why we send 2 cookies when CSRF token changes. 2021-03-18 16:05:25 -05:00
Tim Donohue
158d088fec Enhance/add JavaDocs to RestAuthenticationService 2021-03-18 16:05:25 -05:00
Tim Donohue
e0b9a488b5 Modify behavior to match tests. CSRF token only refreshes on login, logout or when sent via param. 2021-03-18 16:05:25 -05:00
Tim Donohue
e100063abc Add tests for expected behavior. CSRF token only refreshes on login, logout or when passed as a param. 2021-03-18 16:05:25 -05:00
Tim Donohue
2c4e7118e6 Merge pull request #3179 from Micheleboychuk/CST-3937-TheHALlinksForSearchEndpointsAreBrokenAndNamedInAninconsistentWay
The HAL links for search endpoints are broken and named in an inconsistent way
2021-03-18 15:48:31 -05:00
Mykhaylo
bc703129aa Revert "added item metadata in solr documets of pooltask/claimedkask"
This reverts commit 8a6fd61c99.
2021-03-18 18:40:25 +01:00
Mykhaylo
aed7ac23c6 Merge branch 'w2p-77593_workflow-items-item-metadata-indexing-issue' of https://github.com/atmire/DSpace into CST-3980-WorkflowDiscoveryConfigurationQueryWithQueryParameterSetWithFreeTextReturnsNoResults 2021-03-18 18:40:06 +01:00
Mykhaylo
8a6fd61c99 added item metadata in solr documets of pooltask/claimedkask 2021-03-18 16:47:18 +01:00
Mykhaylo
8e5c28572f added test that proves bug in discovery search with configuration = workflow 2021-03-18 16:40:04 +01:00
Raf Ponsaerts
17dd108381 changed test matching to reflect ordering 2021-03-18 13:48:20 +01:00
Mykhaylo
22457403b9 added javaDoc 2021-03-18 11:56:07 +01:00
Mykhaylo
4bf75e5a05 added fix where Item can't indexed due to authority value not being in a controlled vocabulary 2021-03-18 11:14:28 +01:00
Mykhaylo
b31cd04f52 added test that proves a bug where Item not indexed due to authority value not being in a controlled vocabulary 2021-03-18 11:11:59 +01:00
Luca Giamminonni
233202dbe4 MetadataDeletion script improvements 2021-03-17 15:22:14 +01:00
Luca Giamminonni
f6f501d37c Script to delete all the values of a specified metadata field 2021-03-17 14:51:33 +01:00
Raf Ponsaerts
7bacbe73d4 Fixed authorityKey in facet endpoint response and constructed a test for this 2021-03-17 12:42:47 +01:00
Mark H. Wood
dc487fd29d Replace new uses of Log4J v1 with v2. Ban v1 artifacts. #3190. 2021-03-17 06:04:49 -04:00
Mykhaylo
025864a149 added test that proves right functionality of workflow 2021-03-17 10:44:28 +01:00
Andrea Bollini
1cb6a2ffa0 Align test to the configuration 2021-03-17 09:32:08 +01:00
Andrea Bollini
d1f126b287 Fix dependencies for dspace-rest (legacy) 2021-03-16 22:30:02 +01:00
Andrea Bollini
49728a097e Fix checkstyle issue 2021-03-16 21:32:47 +01:00
Andrea Bollini
2eed442e06 Remove BTE and implement the metadata extraction step using the Live Import 2021-03-16 21:31:24 +01:00
Mykhaylo
3d37e1cb9b added a fix that able to add configuration in search links of facet values 2021-03-16 16:14:40 +01:00
Mykhaylo
3961503fbf added tests that prove search links in facet values don't contain the configuration 2021-03-16 16:09:28 +01:00
Raf Ponsaerts
dcaadba772 cleanup 2021-03-16 14:53:45 +01:00
Yura Bondarenko
315e29d2b1 77582: Add HandleService#formatHandle to strip prefixes from handle 2021-03-16 13:21:43 +01:00
Yura Bondarenko
f52cc59dde TEST PoolTask/ClaimedTask indexing 2021-03-16 11:26:25 +01:00
Andrea Bollini
96693199ca Remove Useless null check reported by LGTM 2021-03-16 10:29:39 +01:00
Andrea Bollini
2b31e5db8e Adapt findAll test to the new configuration 2021-03-16 10:09:49 +01:00
Kim Shepherd
0abee65424 [DS-4522] Add unit tests for Bitstream, InCollection, InCommunity, IsWithdrawn conds 2021-03-16 15:54:21 +13:00
Kim Shepherd
5a85309220 [DS-4522] Apply parameter, item, context checks as per PR review 2021-03-16 15:53:38 +13:00
Kim Shepherd
da844bc03d [DS-4522] Apply 'owning collection' fix to InCommunityCondition collection iteration 2021-03-16 15:53:07 +13:00
Kim Shepherd
a770e7996e [DS-4522] Apply bugfix to InCollectionCondition - better 'owning collection' check 2021-03-16 14:32:11 +13:00
Kim Shepherd
f74f4e3b18 [DS-4522] Remove fetchccdata.cfg include (accidentally kept during rebase vs main) 2021-03-16 13:50:06 +13:00
Kim Shepherd
692dbe7fad [DS-4522] Make LogicalStatementException unchecked as per PR review 2021-03-16 13:40:52 +13:00
Kim Shepherd
5096c66437 [DS-4522] Expand debug log message to explain what happens when filter service is null 2021-03-16 13:39:46 +13:00
Kim Shepherd
1bb5e35f04 [DS-4522] Refactor boolean canMint() to void checkMintable() as per PR review 2021-03-16 13:32:09 +13:00
Pascal-Nicolas Becker
6fbc4dbd6f DS-4522: Add missing license header 2021-03-16 13:25:30 +13:00
Kim Shepherd
4e70bce553 [DS-4522](main) Fix default configuration for curation task 2021-03-16 13:25:30 +13:00
Kim Shepherd
677623a1b7 [DS-4522](main) Unit tests for filters and DOI provider 2021-03-16 13:25:30 +13:00
Kim Shepherd
b049e65110 [DS-4522](main) Configuration (spring), providers and filters 2021-03-16 13:22:33 +13:00
Kim Shepherd
11d7b5b063 [DS-4522](main) RegisterDOI curation task (as CLI and UI control) 2021-03-16 13:19:09 +13:00
Kim Shepherd
d27dc96cbe [DS-4522](main) Item logical filters and DOI filtered provider 2021-03-16 13:19:09 +13:00
Andrea Bollini
3b3d9b9c47 Fix obvious mistake in the sherpa publisher query 2021-03-15 15:17:25 +01:00
Andrea Bollini
eb98243000 Fix sherpa response parsing issues 2021-03-15 15:17:25 +01:00
Andrea Bollini
85ea680140 Rename staff according to the current ORCID version 2021-03-15 15:17:05 +01:00
Andrea Bollini
070776557d Adapt orcid and sherpa authorities to the new APIs 2021-03-14 22:48:47 +01:00
Andrea Bollini
78ea63ea91 Restoring Sherpa and ORCID authority classes and configuration 2021-03-13 22:51:03 +01:00
Tim Donohue
2b4f22be65 Merge pull request #3181 from 4Science/CST-3946-SearchPageResultNumberBug
Search page result number bug
2021-03-12 17:05:18 -06:00
Tim Donohue
55fafe75e0 Merge pull request #3178 from Micheleboychuk/CST-3544-CollectionResourceEndPointsDontIncludePaginationInformation
Collection resource end points dont include pagination information
2021-03-12 16:04:09 -06:00
Tim Donohue
c84a349039 Merge pull request #3150 from atmire/w2p-75924_Entitytypes-in-sitemaps
DS-4283: (Google Scholar) Provide Entity Type Label/Name as part of URL path
2021-03-12 12:19:30 -06:00
Hrafn Malmquist
75e3369d39 Clarify removeAbandoned, add reference to core-hibernate.xml 2021-03-12 09:59:45 +00:00
Mykhaylo
52a3df1243 Merge branch 'main' into CST-3937-TheHALlinksForSearchEndpointsAreBrokenAndNamedInAninconsistentWay 2021-03-11 11:32:41 +01:00
j4bbi
a49ebf4f38 Update Commons Pool2 dep to 2.9.0 2021-03-11 10:28:52 +00:00
Mykhaylo
66a8b1c7df added fix that able to delete solr record 2021-03-11 10:47:35 +01:00
Mykhaylo
6b87011377 added test that proves delete of solr record 2021-03-11 10:28:47 +01:00
Tim Donohue
1ddd052a40 Merge pull request #3054 from Micheleboychuk/CST-3539
Update claimedtasks and pooltasks to support reloading of workflow actions on individual WorkflowItems
2021-03-10 09:11:02 -06:00
Mykhaylo
559b267ca2 changed single name to plural name on search methods of HAL links 2021-03-10 10:44:01 +01:00
Mykhaylo
e6576e07cd added tests to prove right functionalicy of root search end points 2021-03-09 17:33:18 +01:00
Mykhaylo
65c84f0554 added check to model plural name for search methods 2021-03-09 16:30:04 +01:00
Mykhaylo
b153194348 fixed bug that hided pagination information in the self link 2021-03-09 13:16:44 +01:00
Mykhaylo
afef66b1b8 added tests that prove the correct links during the request with pagination information 2021-03-09 13:10:19 +01:00
Yura Bondarenko
ece20cf1d4 77228: Fix browse/facet authority IT cleanup 2021-03-09 09:44:54 +01:00
Tim Donohue
5956609b81 Merge pull request #3161 from tdonohue/cleanup_config_and_messages
Cleanup unused/unnecessary Configurations and messages for 7.0
2021-03-08 08:57:10 -06:00
Mykhaylo
5fc63dc140 Merge branch 'main' into CST-3539_rebased 2021-03-08 10:15:51 +01:00
Mark H. Wood
8912d9c9ea Add much missing javadoc. Elaborate or clarify quite a bit too. [DS-2058] 2021-03-05 17:12:04 -05:00
Tim Donohue
0cd1e1b636 Remove unused JSON request handlers 2021-03-05 15:28:25 -06:00
Tim Donohue
b3fbaa4b1d Rename to RegistryUpdater so that it comes alphabetically *after* GroupServiceInitializer as Flyway runs callbacks alphabetically 2021-03-05 16:12:49 -05:00
Tim Donohue
2f33245f57 Remove unused log.init.config 2021-03-05 15:02:35 -06:00
Tim Donohue
a8d99bba15 Address feedback. Restore a few settings which are still used 2021-03-05 14:57:39 -06:00
Yura Bondarenko
379dd2d8a7 77228: Fix line length 2021-03-05 16:55:41 +01:00
j4bbi
7fc96dc148 Exposed more parameters for DBCP2 2021-03-05 13:39:34 +00:00
Yura Bondarenko
0df65bfa9b 77228: Fix authority browse/facet IT side effects 2021-03-05 12:03:45 +01:00
Bruno Roemers
52e1aa9dce 77489: Fix test TiltedRelationshipMetadataServiceIT#testGetAuthorRelationshipMetadata 2021-03-05 11:32:20 +01:00
Bruno Roemers
6f7181de4c 77489: Copy #testGetAuthorRelationshipMetadata for override 2021-03-05 11:29:27 +01:00
Yura Bondarenko
fea0a3a896 77228: Fix line length 2021-03-05 10:19:38 +01:00
Yura Bondarenko
990ae7750b 77228: Implement authority vocabulary fix for facet IT 2021-03-05 08:59:58 +01:00
Bruno Roemers
bfcaa94c76 77489: Update RelationshipMetadataServiceIT#testGetAuthorRelationshipMetadata 2021-03-04 18:36:12 +01:00
Bruno Roemers
f7f8121aeb 77489: Create TiltedRelationshipMetadataServiceIT and override #initPublicationAuthor 2021-03-04 18:11:48 +01:00
Bruno Roemers
46266f894c 77489: Create TiltedRelationshipRestRepositoryIT 2021-03-04 17:55:13 +01:00
Bruno Roemers
62e41a4d1a Merge branch 'main' into w2p-77489_tilted-relationships-tests 2021-03-04 17:22:42 +01:00
Raf Ponsaerts
5f6ae856cd Fixed browse tests 2021-03-04 15:28:38 +01:00
Samuel
3fe194ae09 taskid 77244 ItemMetadata caching bugfixes 2021-03-02 18:27:22 +01:00
Peter Nijs
f2527d9f21 77318: Google Scholar for entities: feedback 2021-03-02 14:53:09 +01:00
Yura Bondarenko
a7db90c13a 77228: Add IT for subject facet with authority value
Doesn't pass ~ no Solr results @ DiscoveryRestController#getFacetValues
2021-03-01 17:48:51 +01:00
Yura Bondarenko
52f17c3f12 77228: Match facet value by subject 2021-03-01 17:48:51 +01:00
Yura Bondarenko
c5916b136c 77228: Add IT for browse by subject with authority values
Doesn't pass ~ no Solr results @ BroweEntryLinkRepository#listBrowseEntries
2021-03-01 17:48:51 +01:00
Yura Bondarenko
b089b179b7 77228: BrowseEntryResourceMatcher#matchBrowseEntry with authority value 2021-03-01 17:43:33 +01:00
Yura Bondarenko
b41ebf9c60 77228: Overload withSubject: authority & confidence parameters 2021-03-01 17:42:20 +01:00
Yura Bondarenko
7186d07e2b 77228: Implement MetadataAuthorityService#clearCache 2021-03-01 17:40:43 +01:00
Hrafn Malmquist
fc26de9dc4 Merge branch 'main' into DS4574-7 2021-02-28 01:09:26 +00:00
j4bbi
215d3c0325 Get rid of Java7, upgrade DBCP2 dependency 2021-02-28 00:59:56 +00:00
Tim Donohue
7b9e3d70bb Upgrade to Solr 8.8.1 (from 8.7) 2021-02-26 12:29:52 -06:00
Tim Donohue
575994fab1 Apply prior feedback on further config cleanup 2021-02-26 10:03:32 -06:00
Tim Donohue
3588be22aa Remove obsolete/default Solr configs. Add some inline comments 2021-02-26 09:56:37 -06:00
Tim Donohue
76e5b50564 Remove old perl script 2021-02-25 16:55:59 -06:00
Tim Donohue
bd6c6446fc Fix broken test by adding a default key in Messages.properties 2021-02-25 16:55:05 -06:00
Tim Donohue
04d6c4484f Remove ununsed messages from Messages.properties 2021-02-25 16:55:05 -06:00
Tim Donohue
4ce58631c4 Remove unused JSPUI classes. Cleanup comments to remove mentions of XMLUI or JSPUI or removed configs 2021-02-25 16:55:05 -06:00
Tim Donohue
a55acc2379 Cleanup ununsed configurations 2021-02-25 16:55:04 -06:00
Tim Donohue
2292d89a6a Merge pull request #3107 from paulo-graca/dspace-issue-3099
OAI OpenAIRE4: changes to related identifiers and alternative identifiers
2021-02-25 11:55:30 -06:00
Tim Donohue
5d8285dc61 Merge pull request #3020 from tdonohue/upgrade_guava
Upgrade to latest Guava (v30) and Solr (v8) to resolve security alerts
2021-02-25 11:52:00 -06:00
Tim Donohue
4394d4bcca Ensure InputStream is closed 2021-02-25 10:36:04 -06:00
Tim Donohue
781456fadb Upgrade Jetty to avoid security warnings from Snyk. Also fixes GitHub security alert 2021-02-25 10:36:04 -06:00
Tim Donohue
e33b323135 Remove our custom Docker container for Solr. It's unreliable with Solr v8, and all the examples show to use docker-compose directly with official image. 2021-02-25 10:36:04 -06:00
Tim Donohue
90050c18fa Minor refactors based on feedback 2021-02-25 10:36:04 -06:00
Tim Donohue
891544a49b Docker bug fix. Ensure new Solr v8 data directories are kept between Docker restarts. 2021-02-25 10:36:03 -06:00
Tim Donohue
ea0d139c73 Add explicit dependency on Apache Tika to avoid UnsatisfiedDependencyException warnings from Spring Boot during startup 2021-02-25 10:36:03 -06:00
Tim Donohue
ffb17f0664 Fix/Workaround for https://issues.apache.org/jira/browse/SOLR-12798 . Use Tika directly for parsing instead of ContentStreamUpdateRequest (which results in "URI is too large >8192" errors in Solr v8) 2021-02-25 10:36:03 -06:00
Tim Donohue
ee46611419 Update solrconfig.xml files for Solr v8 (also minor alignment correction) 2021-02-25 10:36:03 -06:00
Tim Donohue
44aa1025ba Update Docker for Solr v8 2021-02-25 10:36:03 -06:00
Tim Donohue
022b79cb5e Upgrade to Solr 8.7.0. Fix dependency convergence issues. Minor fix to MockSolrServer for Solr 8 compatibility 2021-02-25 10:36:03 -06:00
Tim Donohue
25b00647b9 Workaround https://issues.apache.org/jira/browse/SOLR-12858 by ensuring EmbeddedSolrServer always uses GET instead of POST 2021-02-25 10:36:02 -06:00
Tim Donohue
7cabcbabbc Rename to RegistryUpdater so that it comes alphabetically *after* GroupServiceInitializer as Flyway runs callbacks alphabetically 2021-02-25 10:36:02 -06:00
Tim Donohue
d22a70611c Minor cleanup. Comment correction. Remove commented out code 2021-02-25 10:36:02 -06:00
Tim Donohue
635d341469 Upgrade to latest guava. Remove/replace outdated Lyncode builders & test-support which used old guava version. 2021-02-25 10:36:02 -06:00
Peter Nijs
28567c8daa 77250: Revert code style changes 2021-02-25 12:16:02 +01:00
Tim Donohue
b0b2cd9a6e Merge pull request #3136 from atmire/w2p-74236-access-condition
Submission embargo fix by removing group select
2021-02-24 16:29:32 -06:00
Tim Donohue
cb0a9fe663 Merge pull request #3144 from atmire/w2p-76191_Remove-Traditional-Basic-Workflow-from-codebase-and-database
Remove Traditional/Basic Workflow from codebase and database
2021-02-24 16:20:08 -06:00
Samuel
b779b91e54 Remove Traditional/Basic Workflow from codebase and database - restore in-between layer 2021-02-24 15:31:29 +01:00
Samuel
a752f7638e Remove Traditional/Basic Workflow from codebase and database - fix checkstyle issues 2021-02-23 21:36:35 +01:00
Samuel
8306d30341 Remove Traditional/Basic Workflow from codebase and database - add TODO comment to Curation 2021-02-23 20:34:16 +01:00
Samuel
1dc0a815f2 Remove Traditional/Basic Workflow from codebase and database - rename Workflow to XmlWorkflow 2021-02-23 20:31:27 +01:00
Ben Bosman
f5043f15c3 The relationship metadata is created
Also add checks based on plain metadata only
2021-02-23 13:19:03 +01:00
Ben Bosman
ceec8433c8 Checkstyle 2021-02-23 12:45:38 +01:00
Ben Bosman
5715d7d377 Marking metadata as updated after changing the relationship place 2021-02-23 12:18:40 +01:00
Ben Bosman
79830641e2 Marking metadata as updated after adding a metadata value 2021-02-23 12:11:37 +01:00
Peter Nijs
b6e223553a 76284: Add graphical community/collection structure 2021-02-22 17:55:12 +01:00
Raf Ponsaerts
4daa15d1fe Refactored ManageGroupFeature functionality 2021-02-22 12:41:28 +01:00
Peter Nijs
941da71713 77166: Manual master merge fixes 2021-02-22 10:09:04 +01:00
Peter Nijs
ccd1ea6c8d Merge remote-tracking branch 'community/main' into w2p-75924_Entitytypes-in-sitemaps 2021-02-22 10:08:06 +01:00
Bruno Roemers
c88f67ea1d Merge branch 'main' into w2p-74236-access-condition
Resolve merge conflict for https://github.com/DSpace/DSpace/pull/3136
2021-02-22 08:55:34 +01:00
Tim Donohue
4c78fce9d7 Merge pull request #3151 from atmire/w2p-76715_Bitstream-format-read-rights
Bitstream format retrieval for restricted files
2021-02-19 14:43:28 -06:00
Ben Bosman
b44fdd2de4 JavaDocs 2021-02-19 17:48:01 +01:00
Ben Bosman
73f22a00f7 Testing metadata field performance 2021-02-19 17:05:18 +01:00
Tim Donohue
2e7a933f51 Merge pull request #3106 from paulo-graca/dspace-issue-3097
OAI OpenAIRE: addressing issue 3097 with access rights
2021-02-19 09:37:50 -06:00
Ben Bosman
11efc35cae Testing metadata field performance 2021-02-19 13:08:10 +01:00
Ben Bosman
392d817ea9 Merge branch 'metadata-field-caching-hibernate-3' into metadata-field-caching-hibernate-3-performance-test 2021-02-19 12:31:32 +01:00
Ben Bosman
ef58d629b0 Testing metadata field performance 2021-02-19 12:30:55 +01:00
Andrea Bollini
23bf97f0c8 Merge pull request #3153 from tdonohue/fix_partial_db_migrations
Fix ability to run partial migrations (i.e. ./dspace database migrate [version]) during PR testing
2021-02-19 09:55:10 +01:00
Tim Donohue
80c3f98447 Merge pull request #2773 from the-library-code/DS-3940_SHERPA_v2_API_master
DS-3940 SHERPA v2 API (main port)
2021-02-18 13:30:21 -06:00
Tim Donohue
fab51daada Merge pull request #3003 from atmire/w2p-71502_deleting-items-with-min-relationship
Deleting items with min relationship
2021-02-18 09:51:03 -06:00
Mark H. Wood
37d7e69e7b [DS-2058] Make <mapping taskset='none'/> valid by defining empty dummy taskset. 2021-02-17 12:50:53 -05:00
Mark H. Wood
0e64959f6f [DS-2058] Enable autowiring and point to the configuration document. 2021-02-17 12:49:18 -05:00
Mark H. Wood
6856899467 [DS-2058] Satisfy checkstyle. 2021-02-17 12:45:08 -05:00
Mark H. Wood
f1c1ac5cf1 Merge branch 'main' into DS-2058-7x 2021-02-16 15:33:56 -05:00
Mark H. Wood
4a1148130b [DS-2058] Port to 7x. Formalize parser. Add tests. 2021-02-16 14:33:56 -05:00
Tim Donohue
b2a5853f80 Merge pull request #3154 from tdonohue/hal_browser_csrf_fixes
Ensure HAL Browser is checking for CSRF token changes during error responses
2021-02-16 09:18:43 -06:00
Marie Verdonck
aca41ea8cc Merge branch 'dspace-origin-master' into w2p-71502_deleting-items-with-min-relationship
# Conflicts:
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/ItemRestRepositoryIT.java
2021-02-15 21:39:02 +01:00
Raf Ponsaerts
825488071d Merge remote-tracking branch 'dspace/main' into w2p-76284_issue-927---non-site-admin-edit-collection-authorization-group-REST
Conflicts:
	dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionRestRepositoryIT.java
2021-02-15 15:18:46 +01:00
Paulo Graça
66cdc01349 deal with dc:identifier.* having multiple languages 2021-02-12 22:44:39 +00:00
Paulo Graça
0997b9645b comments improvement and fix dc.right processing 2021-02-12 19:49:23 +00:00
Tim Donohue
a58a1554d9 Merge pull request #3149 from 4Science/issue-3130
Deeper membership don't work due to group2groupcache be out of sync
2021-02-12 09:52:10 -06:00
Tim Donohue
9401902a14 Merge pull request #3105 from atmire/w2p-75404_self-links-contain-embeds
Self links contain embed params
2021-02-12 09:48:12 -06:00
Mark H. Wood
0a3851267f [DS-2058] Replace unwarranted assumptions about XML attribute order with named attributes 2021-02-12 10:31:38 -05:00
Mark H. Wood
a5dc6d1c34 [DS-2058] First cut at adding curation to Configurable Workflow 2021-02-12 10:31:33 -05:00
Tim Donohue
6850b8c023 Fix LGTM issue (unused variable) 2021-02-12 09:29:08 -06:00
Tim Donohue
0a54bf55cd Ensure HAL Browser is checking for CSRF token changes during error responses 2021-02-11 16:59:48 -06:00
Mark H. Wood
5cb853d92b Clean up some commentary 2021-02-11 16:42:02 -05:00
Tim Donohue
80f76b4e0a Fix ability to run partial migrations by disabling callbacks and reindex 2021-02-11 14:56:11 -06:00
Tim Donohue
7138d32eed Merge pull request #3114 from atmire/w2p-75465_change-to-embed-size
REST API changes to embed size
2021-02-11 12:57:02 -06:00
Tim Donohue
1a9df9c795 Merge pull request #3147 from tdonohue/fix_version_tag
Ensure REST API version is prepended with "DSpace"
2021-02-11 12:51:16 -06:00
Tim Donohue
1c85bed04c Merge pull request #3095 from mwoodiupui/3094
Improve IPv6 support
2021-02-11 08:44:33 -06:00
Ben Bosman
c592b6b4e4 Feedback on the PR 2021-02-11 11:15:31 +01:00
Ben Bosman
7d419b5efa Feedback on the PR 2021-02-11 11:03:39 +01:00
Andrea Bollini
bbea5d5488 #3130 fix group2groupcache issue in adding/removing subgroups via REST 2021-02-10 18:57:45 +01:00
Andrea Bollini
e310334dd4 #3130 Cleanup test and add check to proof the issue with the group2groupcache table 2021-02-10 18:56:27 +01:00
Tim Donohue
5f468770ff Merge pull request #3076 from atmire/feature-submission-forms-migration
Submission forms migration script
2021-02-10 11:19:22 -06:00
Ben Bosman
4f821ca417 Test hibernate level 1 cache 2021-02-10 15:22:33 +01:00
April Herron
06c39ad750 Implement tilted relationships to help improve performance 2021-02-10 09:20:15 -05:00
Yana De Pauw
5024f983f0 75465: Add support for multilevel embeds 2021-02-10 14:57:39 +01:00
Marie Verdonck
c03578321b PR #3076: item-submission.xml changes from #3081 in xsl transformation 2021-02-10 11:18:10 +01:00
Marie Verdonck
1e686495b2 74720: relative to absolute paths; comments & output files .migrated 2021-02-10 10:55:45 +01:00
Raf Ponsaerts
28b0f8f6cc Fixed checkstyle issues on SubmissionFormsMigration 2021-02-10 10:55:45 +01:00
Marie Verdonck
d9d68ab5e6 74720: Refactor temp file creation/deletion 2021-02-10 10:55:45 +01:00
Marie Verdonck
f3d38f7f26 74720: No more submission-forms-migrate script access via REST 2021-02-10 10:55:45 +01:00
Marie Verdonck
3ef0795ba3 74720: Create dummy DTD files for validation if not present in input dirs 2021-02-10 10:55:45 +01:00
Raf Ponsaerts
5117b63617 Minor change in order of steps in submission-process in submission-definitions 2021-02-10 10:55:45 +01:00
Marie Verdonck
0bbfc1ded5 74720: onebox => twobox in submission-forms (twobox no longer present in dspace7) 2021-02-10 10:55:45 +01:00
Marie Verdonck
f7c6bcfe9f 74720: submission-map (mapping collection-submissionProcess) from old input-forms.xml instead of item-submission.xml 2021-02-10 10:55:45 +01:00
Marie Verdonck
b0be29845d 74720: Add static steps license and upload &
add a step per form page from input-forms (static type submission-form; class DescribeStep)
2021-02-10 10:55:45 +01:00
Marie Verdonck
150c8452fd 74720: Migrate submission-process information 2021-02-10 10:55:45 +01:00
Raf Ponsaerts
ccdb4bf503 removed super from handler log calls in SubmissionFormsMigration 2021-02-10 10:55:44 +01:00
Marie Verdonck
b63643808d 74491: Feedback 2020-11-17 applied 2021-02-10 10:55:44 +01:00
Marie Verdonck
abc333bf9c 74491: Java script for transforming the xml files 2021-02-10 10:55:44 +01:00
Marie Verdonck
d239c95170 74490: item-submissions.xmml migration XSL; WIP 2021-02-10 10:55:44 +01:00
Yana De Pauw
529e8ac011 73214: Submission forms migrations #1 2021-02-10 10:55:44 +01:00
Yana De Pauw
055f68dadf 76682: Add more embed param support to self link exlusion 2021-02-10 09:04:02 +01:00
Yana De Pauw
efccc2a3f8 Merge branch 'w2p-75465_change-to-embed-size' into w2p-75404_self-links-contain-embeds 2021-02-10 08:24:05 +01:00
Mark H. Wood
c2a1287771 Restore Locale lost while merging with 'main'. #3094 2021-02-08 16:03:14 -05:00
Mark H. Wood
b00181016f Merge branch 'main' into 3094 2021-02-08 16:00:43 -05:00
Tim Donohue
d4c6bd7847 Merge pull request #3103 from tdonohue/reenable_csrf_protection
Enable Customized CSRF Protection in Spring Security for Server Webapp
2021-02-08 11:44:33 -06:00
Raf Ponsaerts
1f684b80e5 Merge branch 'w2p-76284_issue-927---non-site-admin-edit-collection-authorization-group-REST' of https://github.com/atmire/DSpace into w2p-76284_issue-927---non-site-admin-edit-collection-authorization-group-REST 2021-02-08 12:54:01 +01:00
Raf Ponsaerts
2055901867 Merge remote-tracking branch 'dspace/main' into w2p-76284_issue-927---non-site-admin-edit-collection-authorization-group-REST
Conflicts:
	dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java
2021-02-08 12:53:38 +01:00
Peter Nijs
510ee70807 75924: Fixed style issues in GenerateSitemaps 2021-02-08 12:41:56 +01:00
Peter Nijs
c2bbdfcfb2 76284: Feedback 2021-02-05 17:28:37 +01:00
Peter Nijs
6fcaf1fcdd 76715: Bitstream format cannot be retrieved if you don't have read rights on the file 2021-02-05 12:50:29 +01:00
Tim Donohue
0b00229f49 Merge pull request #3146 from atmire/security-issue-discovery
[3116] Security issue in discovery
2021-02-04 15:19:33 -06:00
Tim Donohue
f39673b1cc Ensure version is prepended with "DSpace" so it can be used in UI as generator 2021-02-04 10:29:38 -06:00
Tim Donohue
7e3b1afef1 Merge pull request #2692 from atmire/DS-4440_GDPR_anonymize-statistics-feature
DS-4440 GDPR - Anonymize statistics feature
2021-02-04 10:11:35 -06:00
Tim Donohue
a1cbc3df02 Merge pull request #3142 from tdonohue/fix_journal_config
Fix bugs in default Journal Hierarchy submission configuration
2021-02-04 08:57:47 -06:00
Ben Bosman
994062b691 #3116 Security issue in discovery
Fix in discovery indexing
2021-02-04 13:57:51 +01:00
Ben Bosman
7515fb2075 #3116 Security issue in discovery
Fix in PreAuthorize (making sure it's not ignored)
2021-02-04 13:04:54 +01:00
Raf Ponsaerts
ed26f7494c Small refactor 2021-02-04 11:10:34 +01:00
Tim Donohue
ca0786a067 Merge pull request #3145 from DSpace/dependabot/maven/org.apache.ant-ant-1.10.9
Bump ant from 1.9.15 to 1.10.9
2021-02-03 14:52:27 -06:00
dependabot[bot]
d343fe7de9 Bump ant from 1.9.15 to 1.10.9
Bumps ant from 1.9.15 to 1.10.9.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-03 19:21:38 +00:00
Kevin Van de Velde
adc98563d7 Fixing issues with the latest main merge 2021-02-03 13:10:36 +01:00
Kevin Van de Velde
6e4a641ea5 Fixing issues with the latest main merge 2021-02-03 13:07:21 +01:00
Kevin Van de Velde
dbc0281771 Merge remote-tracking branch 'upstream/main' into w2p-76191_Remove-Traditional-Basic-Workflow-from-codebase-and-database 2021-02-03 13:04:46 +01:00
Tim Donohue
412794325a Fix bugs in default configuration 2021-02-02 14:06:39 -06:00
Samuel
ce196d33be DS-4440 GDPR - Anonymize statistics feature - move tests to dspace-api 2021-02-02 10:43:02 +01:00
Peter Nijs
d0aec95b28 76284: Issue 927: 401 Community or Collection Administrator editing Collection Authorization Group REST Implementation
- implement Community and Collection admin search
- implement the CollectionAdminFeature and CommunityAdminFeature Authorization feature
2021-02-02 10:27:05 +01:00
Tim Donohue
2943a78eea Merge pull request #3137 from 4Science/issue-3055-some-renaming
Issue 3055 some renaming
2021-02-01 11:43:01 -06:00
Yana De Pauw
389030a45d Add javadocs 2021-02-01 15:31:10 +01:00
benbosman
0e8cd8fa58 Merge pull request #59 from atmire/w2p-76575_IT-for-deleting-items-and-populating-virtual-md
W2p 76575 it for deleting items and populating virtual md
2021-02-01 15:03:22 +01:00
Tim Donohue
e2ce888b14 Merge pull request #3111 from mwoodiupui/3110
Fix puzzling incorrect failure to match dspace.server.url
2021-01-29 15:46:59 -06:00
Tim Donohue
d52f23860f Merge pull request #3132 from atmire/w2p-75451_improve-REST-error-messages
Improve REST Error message for specific errors
2021-01-29 15:18:03 -06:00
Andrea Bollini
d0e059f12b Rename unit test according to the name convention 2021-01-29 22:02:57 +01:00
Andrea Bollini
c938020226 Rename ITs according to the naming convention 2021-01-29 22:02:57 +01:00
Tim Donohue
3dd393e435 Merge pull request #3133 from 4Science/DS-4443_improvements
[DS-4443] delete solr record on workspaceitem deletion (updated PR)
2021-01-29 14:21:13 -06:00
Mark H. Wood
75aa37dfb6 Move exception case to a separate test method. #3094
This now properly shows that querying an IPv6 address does not raise an exception.
2021-01-29 13:54:37 -05:00
Marie Verdonck
e32fd1fc4c 76575: ITs for deleting items and populating virtual metadata 2021-01-29 17:23:49 +01:00
Tim Donohue
70253bc1bf Resolve feedback - Ensure DSpaceAccessDeniedHandler passes exception response handling to DSpaceApiExceptionControllerAdvice dynamically. 2021-01-29 10:02:21 -06:00
Andrea Bollini
f349e7f4ce Attempt to mitigate the issue 3055 2021-01-29 16:50:38 +01:00
Mark H. Wood
945ee9af76 Satisfy checkstyle. #3094 2021-01-29 10:37:14 -05:00
Marie Verdonck
be48c56cae Merge branch 'dspace-origin-master' into w2p-76575_IT-for-deleting-items-and-populating-virtual-md
# Conflicts:
#	dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java
2021-01-29 11:09:18 +01:00
Mark H. Wood
654412eb88 Add tests. #3094 2021-01-28 16:58:46 -05:00
Mark H. Wood
8d6318d3e9 Correct misleading method javadoc. #3110 2021-01-28 15:38:16 -05:00
Mark H. Wood
f9a527fd5c Address reviews. Fix reversed parameters. Compare path elements, not whole paths. #3110 2021-01-28 15:25:08 -05:00
Tim Donohue
8b3fc1f95f Merge pull request #3131 from atmire/entities-performance-improvement-relationshipservice
Entities performance improvement in RelationshipServiceImpl
2021-01-28 14:17:06 -06:00
Tim Donohue
a1639d5982 Merge pull request #3115 from tdonohue/author_as_onebox
Switch Author field to "onebox" to allow first/last name in single entry box.
2021-01-28 14:04:30 -06:00
Tim Donohue
ab4eec8119 Merge pull request #3098 from atmire/w2p-75361_Enforce-facet-filter-operator-is-valid-value
Enforce that facet "filter-operator" is a valid value
2021-01-28 14:02:19 -06:00
Ben Bosman
a58905d8ed Test metadata value cache 2021-01-28 15:10:10 +01:00
Ben Bosman
5524021089 Test metadata value cache 2021-01-28 14:41:09 +01:00
Ben Bosman
ad2bf1f66a Note that this was never implemented 2021-01-28 09:52:51 +01:00
Bruno Roemers
2cb50b7f42 74236: Update ITs 2021-01-27 17:12:32 +01:00
Bruno Roemers
b64711253a 74236: Remove obsolete bean and IT test 2021-01-27 16:58:45 +01:00
Bruno Roemers
2109a5878d 74236: BUGFIX: StartDateLimit and EndDateLimit are both maximum dates
They do not represent a range but are independent of each other.

Also removed obsolete field selectGroupName.
2021-01-27 16:58:23 +01:00
Andrea Bollini
f5aac1eefa Fix zombie workspaceitem in the solr index, improve ITs to cover all the scenarios 2021-01-27 16:43:44 +01:00
Raf Ponsaerts
a4d114670f Small refactor to comment and made a method private 2021-01-27 12:49:06 +01:00
Marie Verdonck
8fcec01d5d 76244: Feedback PR #3093 - Exceptions to match RestContract 2021-01-27 11:01:32 +01:00
Samuel
16ae96b4c3 taskid 76191 Remove Traditional/Basic Workflow from codebase and database 2021-01-27 06:41:16 +01:00
Andrea Bollini
0978aa6ca0 Merge remote-tracking branch 'atmire/DS-4443_delete-solr-record-on-workspaceitem-deletion' into DS-4443_improvements 2021-01-26 23:19:16 +01:00
Ben Bosman
fa90057203 Entities performance improvement in RelationshipServiceImpl
If there's no max on the relationships, don't bother trying to verify whether the max would be exceeded
Don't get virtual metadata for retrieving the relationship type
2021-01-26 15:04:15 +01:00
Bruno Roemers
8f7a67e1a5 74236: WIP: Write tests 2021-01-25 23:24:56 +01:00
Bruno Roemers
5f68a227da 74236: Implement boundary checks 2021-01-25 21:35:01 +01:00
Bruno Roemers
4a2152c482 76179: Move DateMathParser to dspace-api module
DateMathParser will be needed in AccessConditionOption, so this
change is needed to avoid a circular dependency
(dspace-api -> dspace-server-webapp).
2021-01-25 16:22:32 +01:00
Kim Shepherd
1d9b9c6c41 [DS-3940] Correct typo in ExternalSourcesRestControllerIT 2021-01-22 19:02:55 +13:00
Kim Shepherd
aa16ef7179 [DS-3940] Update ExternalSourcesRestControllerIT to count for new external sources 2021-01-22 16:57:09 +13:00
Kim Shepherd
8fc804a836 [DS-3940] Remove unused import in SHERPAv2JournalDataProvider 2021-01-22 16:10:16 +13:00
Kim Shepherd
fdabd643f0 [DS-3940] Additional javadoc, integration and unit tests, service refactor 2021-01-22 15:44:05 +13:00
Kim Shepherd
7b01dcf822 [DS-3940](main) Remove version label, getter, setter from PermittedVersion 2021-01-22 15:39:54 +13:00
Kim Shepherd
0f25bd96da [DS-3940](main) Log response body in HTTP errors, err msg in submit service 2021-01-22 15:39:54 +13:00
Kim Shepherd
038500b772 [DS-3940](main) Remove versionLabel from permittedVersion - just store key 2021-01-22 15:39:54 +13:00
Kim Shepherd
50612a8334 [DS-3940](main) Rethrow IOExceptions that are caught within main try block 2021-01-22 15:39:54 +13:00
Kim Shepherd
6bed089459 [DS-3940](main) Sanitise query string (bugfix for bad method name in Pub) 2021-01-22 15:39:54 +13:00
Kim Shepherd
b53d14eeae [DS-3940](main) Sanitise query strings for SHERPA v2 API calls 2021-01-22 15:39:54 +13:00
Kim Shepherd
43d7c20fd2 [DS-3940](main) Shift spring config to DSpace config service for providers 2021-01-22 15:39:54 +13:00
Kim Shepherd
a8bdc5f09a [DS-3940](main) Add basic javadoc for new SHERPA data classes 2021-01-22 15:39:54 +13:00
Kim Shepherd
1b40dff96a [DS-3940](main) Replace '200' with HttpStatus.SC_OK in data providers 2021-01-22 15:39:54 +13:00
Kim Shepherd
e2f38fb257 [DS-3940](master) Fixes for Checkstyle failures in unit tests
(imports, whitespace after catch)
2021-01-22 15:39:54 +13:00
Kim Shepherd
7fffe96a6a [DS-3940](master) Add license headers to unit test classes 2021-01-22 15:39:54 +13:00
Kim Shepherd
54ec03d0a1 [DS-3940](master) Ensure sherpa.romeo.apikey placeholder always exists
Spring bean configuration (external-sources.xml) requires the placeholder,
even if it is null, so this change reverts the commented out api key
introduced with other v2 refactor work
2021-01-22 15:39:54 +13:00
Kim Shepherd
0b10f1971b [DS-3940](master) Better handling of empty / null results in providers 2021-01-22 15:39:54 +13:00
Kim Shepherd
c2b2545f88 [DS-3940](master) Removal of legacy v1 SHERPA classes and data providers 2021-01-22 15:39:54 +13:00
Kim Shepherd
d14699b0da [DS-3940](master) Configuration changes for new API key, URL, external svcs 2021-01-22 15:38:30 +13:00
Kim Shepherd
6abb1d96f7 [DS-3940](master) Unit tests for SHERPAResponse, SHERPAPublisherResponse 2021-01-22 15:38:30 +13:00
Kim Shepherd
dcca10c91a [DS-3940](master) Refactor external providers for journals, publishers 2021-01-22 15:38:30 +13:00
Kim Shepherd
dd10104661 [DS-3940](master) Port base SHERPA v2 changes from 6.x version 2021-01-22 15:38:30 +13:00
Tim Donohue
12ffc78452 Merge pull request #3117 from atmire/w2p-76002_change-default-discovery-config
Correct use of Default Discovery configuration
2021-01-21 11:50:50 -06:00
Tim Donohue
b0a5b55ca1 Switch author field to onebox. Update DTD to allow regex in relation-field. Other minor changes 2021-01-21 11:41:55 -06:00
Bruno Roemers
890315d312 75451: Make user exposed error messages translatable 2021-01-21 15:16:40 +01:00
Marie Verdonck
9ffef90ced 76244: Feedback PR #3093 - Exceptions 2021-01-20 16:25:14 +01:00
Tim Donohue
5c2deae4d9 Merge pull request #3004 from atmire/entities-update-item-metadata-outside-rest
Entities update item metadata outside rest
2021-01-20 08:44:27 -06:00
Tim Donohue
5a3f68e87c Merge pull request #3109 from atmire/w2p-75240_Issue-943-External-sources-limited-based-on-metadata-field
Limit externalSources per metadata field
2021-01-20 08:42:31 -06:00
Raf Ponsaerts
9804110b04 Removed testing config remnant 2021-01-19 14:41:00 +01:00
Ben Bosman
2dee4bd87d w2p-74236 Disable group selection for bitstream resource policies during submission 2021-01-19 09:07:00 +01:00
Ben Bosman
ca2c537d01 w2p-74236 Disable group selection for bitstream resource policies during submission 2021-01-18 17:00:16 +01:00
Peter Nijs
a56c442b1f 75924: Sitemaps performance and lowercase entityTypes 2021-01-18 16:18:48 +01:00
Mykhaylo
cfa8b0348b added tests 2021-01-18 15:14:07 +01:00
Ben Bosman
567a9f0567 Verify the relationship is deleted
Status 404 is needed for a relationship which doesn't exist
2021-01-15 13:24:25 +01:00
Ben Bosman
564140b0c8 Merge remote-tracking branch 'community/main' into w2p-71502_deleting-items-with-min-relationship 2021-01-15 11:39:07 +01:00
Tim Donohue
7c8de66954 Merge pull request #3066 from atmire/74271-External-sources-query-param-issue
Removal of automatically added 'query' parameter for entries subpath
2021-01-14 08:43:44 -06:00
Kevin Van de Velde
31fc4cb023 Fixing the tests & the style issues 2021-01-14 13:35:05 +01:00
Bruno Roemers
ff5d1f6808 76002: Replace "site" with "default" in DiscoveryConfigurationService 2021-01-14 11:43:30 +01:00
Yana De Pauw
a9fe4ae1d1 75409: Delete solr record on workspaceitem deletion: Test feedback V2 2021-01-13 15:24:32 +01:00
Mark H. Wood
60a453a2c1 Merge branch '3110' of github.com:mwoodiupui/DSpace into 3110 2021-01-12 16:49:11 -05:00
Mark H. Wood
0b1789ad09 Extract paths from URLs to arrays before trimming leading elements. #3110
Let exception report its constructor arguments in its message.
More comment cleanup.
2021-01-12 16:40:56 -05:00
Marie Verdonck
b77b9949ee 75922: Feedback PR #3004 2021-01-12 17:22:18 +01:00
Raf Ponsaerts
d79b27f3a2 Added docs 2021-01-12 13:30:08 +01:00
Raf Ponsaerts
8ee63b4afc Small refactor 2021-01-12 13:27:41 +01:00
Tim Donohue
909d8caeee Merge pull request #3112 from kshepherd/DS-4452_bulkedit_ignore_v7
[DS-4452] Porting correct instantiation of default ignore fields (CSV…
2021-01-11 09:16:02 -06:00
Kim Shepherd
caee3862d9 [DS-4452] Porting correct instantiation of default ignore fields (CSV) from pr/2661 2021-01-11 13:06:53 +13:00
Tim Donohue
6747bbea92 Bug Fix: CSRF token should be reset after InvalidCsrfTokenException to allow for resyncing between client & server 2021-01-08 15:56:54 -06:00
Mark H. Wood
a5a84e1758 Merge branch 'main' into 3110 2021-01-08 15:52:21 -05:00
Mark H. Wood
751d7d5fdb Compare URLs in a way that recognizes URL structure, not as simple strings. #3110
Also improve readability of some commentary.
2021-01-08 15:37:36 -05:00
Bruno Roemers
e31491e00d 75451: TEST: verify last eperson in workflow group cannot be deleted 2021-01-08 12:57:37 +01:00
Bruno Roemers
1a1557079d 75451: TEST: verify EPersonNameNotProvidedException error message in response 2021-01-08 11:10:28 +01:00
Bruno Roemers
856b2c393b 75451: Update GroupRestRepositoryIT 2021-01-08 11:10:20 +01:00
Yana De Pauw
8d78b9ca09 75465: REST API Changes to embed size 2021-01-08 09:17:24 +01:00
Bruno Roemers
ea613aa72f 75451: Make error messages public
The messages can then be used in the integration tests,
instead of hardcoding the expected response.
2021-01-08 08:46:17 +01:00
Paulo Graça
1db63c9262 fix resolveFieldType for identifier element by forcing the first element 2021-01-07 15:33:12 +00:00
benbosman
54a844e033 Merge pull request #52 from atmire/w2p-75473-Test-to-verify-implicit-virtual-metadata-is-updated
W2p 75473 test to verify implicit virtual metadata is updated
2021-01-07 13:49:03 +01:00
Paulo Graça
43893124e5 also add support for oaire:file @accessRightsURI 2021-01-07 10:41:43 +00:00
Bruno Roemers
e5bc76af04 75451: Add JavaDoc and make error message private 2021-01-07 09:57:27 +01:00
Tim Donohue
b35a3f71be Update HAL browser to use DSPACE-XSRF-TOKEN header and store token in custom MyHalBrowserCsrfToken Cookie. Minor comment fixes to TokenRepo 2021-01-06 10:24:14 -06:00
Tim Donohue
acaa1dbc64 Require POST for logout. Update CSRFTokenRepository to no longer allow server token to be read by Javascript 2021-01-06 10:24:14 -06:00
Tim Donohue
126775c665 Update dspace-shibboleth docker settings to no longer overwrite Access-Control-Expose-Headers. Instead we'll use the ones from Tomcat. 2021-01-06 10:24:13 -06:00
Tim Donohue
d084358e70 Customize CsrfTokenRepository and CsrfAuthenticationStrategy to support cross domain CSRF protection. 2021-01-06 10:24:13 -06:00
Tim Donohue
30451676ab Ensure allowed origins never end in a slash. Otherwise, you can get CORS errors even if the URL is correct. 2021-01-06 10:24:12 -06:00
Tim Donohue
f6c095f296 Add comments to dspace.cfg describing Spring Boot proxy settings which may be applicable to sites using a proxy. I found this useful when testing SameSite cookies behind a HTTPS proxy. 2021-01-06 10:24:11 -06:00
Tim Donohue
d15e603d43 Add (custom) CSRF support to HAL Browser 2021-01-06 10:24:11 -06:00
Tim Donohue
901cf6e285 Fix possible XSS issue in Hal Browser. See https://github.com/mikekelly/hal-browser/pull/97 2021-01-06 10:24:11 -06:00
Tim Donohue
b6bf9a2fb3 Add in missing Builders to enable automated cleanup for these builders 2021-01-06 10:24:10 -06:00
Tim Donohue
55c47194f4 Cleanup WebSecurityConfiguration via reorg, adding comments & removing duplicative or unneeded default configs. 2021-01-06 10:24:10 -06:00
Tim Donohue
de58a6ca03 Reenable CSRF projection with recommended Angular settings 2021-01-06 10:24:10 -06:00
Marie Verdonck
4cab1633e8 75473: Test to verify implicit virtual metadata is updated +
fix for entity type match
2021-01-06 15:02:50 +01:00
Paulo Graça
4b13a11376 support for related identifiers and alternative identifiers 2021-01-06 13:10:53 +00:00
Bruno Roemers
679f2d64ed 75451: Add EPersonNameNotProvidedException and GroupNameNotProvidedException 2021-01-06 10:39:17 +01:00
Bruno Roemers
8cd6ddf0d8 75451: BUGFIX: Add missing license header 2021-01-06 08:56:25 +01:00
Bruno Roemers
c878293b99 75451: Show custom error message when removing last user from workflow group 2021-01-05 14:48:36 +01:00
Peter Nijs
1642a5598b 75469: entityType property in ItemRest is read only 2021-01-05 14:43:32 +01:00
Paulo Graça
42a6c2ae79 addressing issue 3097 2021-01-04 15:11:14 +00:00
Yana De Pauw
01bf6caf1e 75404: [Issue 3062] Self links contain embed params 2021-01-04 11:33:46 +01:00
Peter Nijs
a0a7226a43 75470: The sitemaps use a different URI dependent on the entity type 2020-12-30 13:52:39 +01:00
Peter Nijs
088bcb64ce 75469: The REST API should return the entitytype property 2020-12-29 13:26:19 +01:00
Ben Bosman
eb47a84e01 Docs indirect relationship discovery updates 2020-12-24 10:33:45 +01:00
Raf Ponsaerts
0927a3c6ba removed unused import 2020-12-23 15:10:29 +01:00
Kristof De Langhe
74d1561357 75240: ExternalSource for collection submit 2020-12-21 14:33:39 +01:00
Raf Ponsaerts
be5e2a8479 update config 2020-12-21 14:30:22 +01:00
Raf Ponsaerts
c2527e4909 Added config for a collection submit 2020-12-21 14:30:14 +01:00
Yana De Pauw
9d487e36c1 Merge remote-tracking branch 'upstream/main' into DS-4443_delete-solr-record-on-workspaceitem-deletion 2020-12-21 10:46:10 +01:00
Tim Donohue
250c87dc16 Merge pull request #3091 from tdonohue/shib_via_docker
Create Shibboleth Docker Scripts using samltest.id for easier development
2020-12-18 16:02:54 -06:00
Tim Donohue
4ecfa4454a Merge pull request #3084 from atmire/w2p-75135_ClassCastException-fix
Discovery event consumer throwing ClassCastException on WorkspaceItem creation fix
2020-12-17 10:39:42 -06:00
Tim Donohue
d9b5d4ed1f Merge pull request #3081 from atmire/w2p-74939_2786-fix-item-submission-xml-DTD
item-submission refactor to have different step xml tags
2020-12-17 08:52:31 -06:00
Ben Bosman
7b346e7584 Bugfix indirect relationship discovery updates 2020-12-17 15:46:38 +01:00
Ben Bosman
c4d4b18150 Bugfix indirect relationship discovery updates 2020-12-17 15:04:12 +01:00
Ben Bosman
b0efee2a49 Bugfix indirect relationship discovery updates 2020-12-17 14:44:23 +01:00
Ben Bosman
fbfc352768 Bugfix indirect relationship discovery updates 2020-12-17 13:24:12 +01:00
Ben Bosman
47888e7975 Bugfix indirect relationship discovery updates 2020-12-17 13:06:21 +01:00
Marie Verdonck
11ad719730 75361: Enforce that facet "filter-operator" is a valid value + IT 2020-12-17 12:45:09 +01:00
Ben Bosman
71cfab142c Bugfix indirect relationship discovery updates 2020-12-17 12:33:55 +01:00
Ben Bosman
ea24d6168c Bugfix indirect relationship discovery updates 2020-12-17 12:23:00 +01:00
Ben Bosman
1eaf75e1bd Merge remote-tracking branch 'community/main' into entities-update-item-metadata-outside-rest-v2 2020-12-17 12:05:27 +01:00
Ben Bosman
97feeecd95 Bugfix indirect relationship discovery updates 2020-12-17 11:41:02 +01:00
Ben Bosman
098b273a85 Bugfix indirect relationship discovery updates 2020-12-17 11:24:22 +01:00
Yana De Pauw
8cd404b6a7 75323: Delete solr record on workspaceitem deletion: Test feedback 2020-12-17 10:46:47 +01:00
Ben Bosman
e3b15bfa92 Bugfix indirect relationship discovery updates 2020-12-16 14:36:28 +01:00
Kristof De Langhe
0b06620210 75240: External sources for realtion-fields in submission 2020-12-16 11:46:55 +01:00
Mark H. Wood
dcd9d2e9a5 Work-around: treat IPv6 address as non-match, not format error. #3094
Also improve documentation.
This class should be reworked to properly support IPv6.
2020-12-15 13:50:11 -05:00
Mark H. Wood
12376df5e3 Better support IPv6 by using standard JRE lookup methods. #3094
Also avoid NPE when there is no current user.
2020-12-15 13:46:23 -05:00
Mykhaylo
3b5130c5a4 added new tests and fixed old 2020-12-15 11:39:39 +01:00
Mykhaylo
fd44faa3fc Implement community feedbacks 2020-12-15 11:37:18 +01:00
Tim Donohue
65be3a5eb6 Add instructions for using dspace-angular with Shibboleth as well 2020-12-14 11:27:11 -06:00
Tim Donohue
81ae880009 Add missing license headers & ignore .conf for license header check 2020-12-14 11:27:11 -06:00
Tim Donohue
33b7f064e1 Enhance docs and minor config corrections 2020-12-14 11:27:11 -06:00
Tim Donohue
4ee7caa168 Add attribute-map.xml for samltest.id and write more detailed instructions 2020-12-14 11:27:11 -06:00
Tim Donohue
29bece98db Update to allow Apache/Shibboleth Server Name to be passed via env variable 2020-12-14 11:27:11 -06:00
Tim Donohue
f91a48c1f6 Add AJP connector to both Apache and Tomcat. Add new docker compose for shib 2020-12-14 11:27:11 -06:00
Tim Donohue
600114536f Add Apache VHost with Shib settings 2020-12-14 11:27:10 -06:00
Tim Donohue
e9cf8697df Initial framework for dspace-shibboleth docker container 2020-12-14 11:27:10 -06:00
Tim Donohue
c1e97188f9 Merge pull request #3079 from atmire/3078-EntityTypeLabelRestController-GetByLabelImprove
3078 Change EntityTypeLabelRestController get by label to return REST…
2020-12-11 13:56:28 -06:00
Tim Donohue
ab39c6482f Merge pull request #3068 from atmire/74329-Internal-server-errors-for-external-sources
Fixing internal server errors for external sources
2020-12-11 12:48:44 -06:00
Tim Donohue
8cb504f88b Merge pull request #3086 from DSpace/paulo-graca-iso-openaire-bugfix
Addressing issue #3074
2020-12-10 16:39:54 -06:00
Paulo Graça
b00e472e38 Addressing issue #3074 2020-12-10 15:49:05 +00:00
Samuel
b8b6aa0f68 DS-4440 GDPR - Anonymize statistics feature - feedback 2020-12-10 14:12:53 +01:00
Samuel
6b84d20714 DS-4440 GDPR - Anonymize statistics feature - test feedback 2020-12-10 14:12:53 +01:00
Samuel
af32b8b56d DS-4440 GDPR - Anonymize statistics feature - fix test 2020-12-10 14:12:52 +01:00
Samuel
feb6ba6d18 DS-4440 GDPR - Anonymize statistics feature - remove shard support 2020-12-10 14:12:52 +01:00
Samuel
c287062090 DS-4440 GDPR - Anonymize statistics feature - add test 2020-12-10 14:12:52 +01:00
Samuel
b581d473ff Add SolrStatisticsCore and MockSolrStatisticsCore beans 2020-12-10 14:12:52 +01:00
Samuel
ebcd1fc6cf DS-4440 GDPR - Anonymize statistics feature - add typedocs 2020-12-10 14:12:24 +01:00
Samuel
fd0051091f DS-4440 GDPR - Anonymize statistics feature - fix checkstyle issue 2020-12-10 14:12:24 +01:00
Samuel
1f73d136f2 DS-4440 GDPR - Anonymize statistics feature - feedback: default configuration 2020-12-10 14:12:24 +01:00
Samuel
5e56e82656 DS-4440 GDPR - Anonymize statistics feature - feedback: default configuration & spelling tris 2020-12-10 14:12:24 +01:00
Samuel
b80b18466d DS-4440 GDPR - Anonymize statistics feature - feedback: default configuration & spelling bis 2020-12-10 14:12:24 +01:00
Samuel
d71472fcc3 DS-4440 GDPR - Anonymize statistics feature - feedback: default configuration & spelling 2020-12-10 14:12:24 +01:00
Samuel
10f38d3fe5 DS-4440 GDPR - Anonymize statistics feature - feedback 2020-12-10 14:12:24 +01:00
Samuel
810b9c3bbc DS-4440 GDPR - Anonymize statistics feature 2020-12-10 14:12:24 +01:00
Tim Donohue
a5fba06861 Merge pull request #3085 from tdonohue/fix_oai_bean_issues
Fix issues with OAI accidentally loading the wrong ConfigurationService
2020-12-09 16:16:32 -06:00
Tim Donohue
81ab838543 Fix issues with OAI accidentally loading the wrong ConfigurationService using Autowired 2020-12-09 15:48:43 -06:00
Tim Donohue
b3083a0e02 Merge pull request #3083 from tdonohue/fix_clean_index_bug
Fix bug in cleanIndex() where not all Solr fields were returned.
2020-12-08 16:49:29 -06:00
Tim Donohue
6bf55ec9ae Fix bug in cleanIndex where not all Solr fields were returned. Make countQuery separate 2020-12-08 16:06:50 -06:00
Kristof De Langhe
83f1daa735 75135: ClassCastException fix 2020-12-08 16:57:23 +01:00
Yana De Pauw
148af699f1 Merge remote-tracking branch 'upstream/main' into 74329-Internal-server-errors-for-external-sources 2020-12-08 14:29:22 +01:00
Mark H. Wood
c2c08b3109 Restore thread-safety to see if it is needed. #3061 2020-12-08 08:07:54 -05:00
Andrew Wood
7d1e86c693 3078 Change EntityTypeLabelRestController get by label to return REST resource 2020-12-07 16:28:09 -05:00
Mark H. Wood
ac29b3ec50 Merge branch 'main' into 3061 2020-12-07 10:50:58 -05:00
Tim Donohue
6e5605453e Merge pull request #2957 from mwoodiupui/#2956
Address many deprecation warnings
2020-12-07 08:54:55 -06:00
Raf Ponsaerts
487fc1f499 Used StringUtils instead of equals 2020-12-07 13:42:51 +01:00
Peter Nijs
efbc0c63c1 74939 2786: fix item-submission.xml DTD 2020-12-07 09:50:11 +01:00
Mykhaylo
87e454a815 Implement community feedbacks 2020-12-06 12:21:04 +01:00
Mykhaylo
40ec8d7076 changed type, from Integer to int 2020-12-06 12:17:26 +01:00
Mykhaylo
c8f5ca2789 refactored test, removing the double check 2020-12-06 12:17:03 +01:00
Mykhaylo
d9299e0039 added missing test 2020-12-06 12:16:38 +01:00
Mykhaylo
10ac8c91cb fixed search method of ClaimedTask endpoint 2020-12-06 12:16:20 +01:00
Mykhaylo
da9efdff6c fixed search method of Pooltask endpoint 2020-12-06 12:15:32 +01:00
Mykhaylo
f6e0712c49 added ITs to prove the functionality of search methods 2020-12-06 12:15:05 +01:00
Mykhaylo
170ea73144 fix failed test 2020-12-06 12:14:33 +01:00
Mykhaylo
86a6819dd8 fixed tests 2020-12-06 12:12:55 +01:00
Mykhaylo
ff436491fb implemented new methods as createAndReturn for claimedTask and search methods for ClaimedTask and PoolTask 2020-12-06 12:11:09 +01:00
Andrea Bollini
755f0732ae Merge pull request #3058 from tdonohue/site_initializer_bug
Fix obvious bug in SiteServiceInitializer
2020-12-04 22:45:12 +01:00
Tim Donohue
1f551dda36 Merge pull request #2746 from atmire/circular-entities
Entities related to Entities of the same type
2020-12-04 11:36:41 -06:00
Marie Verdonck
d70e121e93 74947: Adjusting HandleDAOImplTest suffixes since this fails in CI tests:
because of an existing Collection with the same handle already existing in test DB
(problem does not occur running all tests locally)
2020-12-04 13:21:21 +01:00
Marie Verdonck
c47bd37be3 74947: Missing cleanup after post relationship creation 2020-12-04 11:13:12 +01:00
Marie Verdonck
aa09fb1074 Merge branch 'master' into circular-entities 2020-12-04 10:23:30 +01:00
Andrea Bollini
0b8675202a Merge pull request #3067 from atmire/w2p-74727_Nullpointer-workflow-item-after-submitter-delete
NullPointerException occurs when accessing WorkflowItem after deleting the Submitter
2020-12-03 17:13:57 +01:00
Mark H. Wood
6c22807619 Merge branch 'main' into #2956 2020-12-02 08:30:47 -05:00
Tim Donohue
f9258e5f20 Merge pull request #3071 from atmire/w2p-74599_Remove-LCNameDataProvider
Remove LCNameDataProvider and config from DSpace 7 REST API
2020-12-01 16:26:48 -06:00
Tim Donohue
fa68780349 Fix obvious bug in SiteServiceInitializer 2020-12-01 15:56:02 -06:00
Mark H. Wood
bf4f5c5b5d Merge remote-tracking branch 'upstream/main' into #2956 2020-12-01 16:25:24 -05:00
Mark H. Wood
33907082e2 Address one more review comment. New unit test class to test it. 2020-12-01 16:19:25 -05:00
Tim Donohue
0c5e68c5e3 Merge pull request #3034 from 4Science/CSTPER-233
Community admin should also be considered a Collection admin
2020-12-01 14:18:03 -06:00
Tim Donohue
adff448a66 Merge pull request #3002 from atmire/w2p-72348_Support-itemService-getMetadata-with-virtual-md
Support itemService.getMetadata with virtual md field
2020-12-01 12:56:17 -06:00
Mark H. Wood
83bf65a407 Satisfy checkstyle. #2956 2020-11-30 19:50:13 -05:00
Mark H. Wood
8a38b7d51c Address review comments. #2956 2020-11-30 17:26:50 -05:00
Mark H. Wood
3e16c7ed9e Merge remote-tracking branch 'upstream/main' into #2956 2020-11-30 17:24:48 -05:00
Mark H. Wood
a036b99f1c Catch correct error for replaced class, to fix test errors. Satisfy checkstyle. #3061 2020-11-30 16:21:01 -05:00
Tim Donohue
e367e76958 Merge pull request #3073 from tdonohue/fix_dependency_issues
Fix dependency convergence issues (for javassist) on main branch
2020-11-30 13:30:04 -06:00
Tim Donohue
7ce144156e Fix dependency convergence issues & fix alignment (convert tabs to spaces) 2020-11-30 12:46:33 -06:00
Tim Donohue
e7a2cbc2c9 Merge pull request #2780 from 4Science/D4CRIS-952-orcidV3
Upgrade to the ORCID v3 API
2020-11-30 11:10:08 -06:00
Tim Donohue
1e979dc44b Merge pull request #3072 from DSpace/tdonohue-correct_build
Update build.yml to not limit by branch
2020-11-30 10:15:45 -06:00
Tim Donohue
9f8d848bf2 Update build.yml to not limit by branch 2020-11-30 09:45:40 -06:00
Raf Ponsaerts
7ce7e0a52d cleaned up the lcname.url property 2020-11-30 14:39:35 +01:00
Luca Giamminonni
79ee010a7a Added tests cleanup 2020-11-26 16:36:36 +01:00
Kristof De Langhe
bd765db12c 74599: Remove LCNameDataProvider 2020-11-26 11:35:05 +01:00
Ben Bosman
d1d7ef4bb9 Merge remote-tracking branch 'community/main' into w2p-74727_Nullpointer-workflow-item-after-submitter-delete 2020-11-26 10:03:11 +01:00
Tim Donohue
a77f908949 Update build status badge & link to builds 2020-11-25 17:04:49 -06:00
Mark H. Wood
ce4ca33346 Merge branch 'main' of github.com:mwoodiupui/DSpace into 3061 2020-11-25 16:55:08 -05:00
Tim Donohue
0e7daab59c Merge pull request #3060 from tdonohue/github_ci
Add CI to GitHub via Actions (based on Travis CI config)
2020-11-25 10:18:29 -06:00
Tim Donohue
463c473c2b Rename job to "tests". Space out steps for easier readability 2020-11-25 09:16:11 -06:00
Tim Donohue
c7d8a9b259 Revert to checkout@v1 per https://community.codecov.io/t/codecov-status-stuck-at-waiting-for-status-to-be-reported-on-github/341/40 2020-11-25 07:54:41 -06:00
Mark H. Wood
f6112babc3 More errorprone warnings. #3061 2020-11-24 20:22:06 -05:00
Tim Donohue
088c77bd1f Switch to using codecov bash script (more stable) 2020-11-24 17:06:43 -06:00
Tim Donohue
d58a69cb3f Delete Travis CI configuration 2020-11-24 13:39:56 -06:00
Tim Donohue
ac73d148f9 Rename ci.yml to build.yml. Tweak Codecov configs to wait for 2 builds to complete before sending back coverage notifications. 2020-11-24 13:39:56 -06:00
Tim Donohue
97a14fb5a0 Send coverage reports to Codecov. Move comments above each step. 2020-11-24 13:39:56 -06:00
Tim Donohue
fcb15583d9 Add CI to GitHub 2020-11-24 13:39:55 -06:00
Marie Verdonck
5654dc3668 Rename after refactor RelationshipMetadataServiceTest => RelationshipMetadataServiceIT since it now inherits from AbstractIT class 2020-11-24 19:15:25 +01:00
Mark H. Wood
ea15ca58fe Address review comments. #2956 2020-11-24 11:58:10 -05:00
Mark H. Wood
51f9e78fd2 Merge remote-tracking branch 'upstream/main' into #2956 2020-11-24 11:56:18 -05:00
Mark H. Wood
65f04fcec9 First batch of errorprone fixes. #3061 2020-11-24 10:55:08 -05:00
Yana De Pauw
e54928f512 74727: NullPointerException occurs when accessing WorkflowItem after deleting the Submitter 2020-11-24 14:24:57 +01:00
Andrea Bollini
a5faac1d61 Merge pull request #3048 from tdonohue/disable_stacktrace
Disable stacktrace in error responses by default. Document how to enable for development
2020-11-23 18:55:42 +01:00
Tim Donohue
e5d587428a Merge pull request #3018 from tdonohue/update_oai_bootstrap
Upgrade OAI-PMH to Bootstrap 4 (via WebJars)
2020-11-23 11:50:19 -06:00
Andrea Bollini
2a6834b6ab Merge pull request #3029 from tdonohue/dependency_cleanup
Cleanup unused POM dependencies & minor security updates
2020-11-23 17:21:26 +01:00
Tim Donohue
6b7b5ad8d8 Merge pull request #3046 from 4Science/CSTPER-221
Metadata identifier for Communities and Collections
2020-11-23 09:21:24 -06:00
Alessandro Martelli
639b63635b [CSTPER-221] Script Flyway to populate handle metadata
Sql placeholders replacement.
2020-11-23 09:52:59 +01:00
Tim Donohue
d166d97f7c Merge pull request #3009 from atmire/w2p-72494_export-script-output-travis-test
Refactor/remove custom MultipartFileSender to use Spring Boot Range requests
2020-11-20 15:10:04 -06:00
Tim Donohue
7f323265be Merge pull request #3041 from atmire/w2p-74274_Issue-2988_Cannot-reset-pw-eperson-created-in-admin-ui
Issue 2988: EPerson Password Replacement/addition with ADD Patch Operation instead of REPLACE
2020-11-20 14:31:06 -06:00
Tim Donohue
8eeafcf866 Merge pull request #3050 from Micheleboychuk/CST-3543
Fix pagination issue in a couple of search endpoints
2020-11-20 12:31:13 -06:00
Marie Verdonck
924b178dcf 74274: Refactor check success/failed authentication 2020-11-20 17:00:45 +01:00
Marie Verdonck
8e2e564b6d 74685: Refactor RelationshipMetadataServiceTest to use Builders 2020-11-20 14:52:02 +01:00
Tim Donohue
1c86aef51a Switch patch checks to informational only
Copied over from https://github.com/DSpace/dspace-angular/pull/953
2020-11-19 16:26:25 -06:00
Andrea Bollini
dfc5723723 Merge pull request #3051 from atmire/issue-3049_root-endpoint-self-link
Added self link to root endpoint
2020-11-19 18:17:41 +01:00
Tim Donohue
4b49095ff9 Merge pull request #3036 from atmire/w2p-71780_support-csv-import-person-schema
support CSV import to schema "person"
2020-11-19 08:50:16 -06:00
Yana De Pauw
c4ed63c7a4 Fix checkstyle issue 2020-11-19 15:39:08 +01:00
Yana De Pauw
a94b2e0f3b 74329: Add max starting index to ORCID 2020-11-19 15:23:11 +01:00
Raf Ponsaerts
03c21de0eb simplified itemservice.delete in MetadataImportIT 2020-11-19 09:44:45 +01:00
Raf Ponsaerts
c442545fc1 Merge remote-tracking branch 'dspace/main' into w2p-71780_support-csv-import-person-schema
Conflicts:
	dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java
2020-11-19 09:44:19 +01:00
Yana De Pauw
1310d84e25 74329: [Issue 2981] Internal server errors when retrieving entries for externalsources 2020-11-19 09:41:57 +01:00
jonas-atmire
50703a0771 Reverting previous commit + clarification comment 2020-11-19 08:01:42 +01:00
Mark H. Wood
96742fe558 Satisfy Checkstyle. Small tidy-ups. #2956 2020-11-18 18:02:05 -05:00
Mark H. Wood
87cfac01d4 Replace deprecated JUnit and Mockito statics. #2956 2020-11-18 16:12:41 -05:00
Tim Donohue
496f18d4dd Merge pull request #3039 from atmire/w2p-74186_CSV-import-error-with-virtual-metadata-bugfix
CSV Import error with Virtual Metadata fix
2020-11-18 14:35:17 -06:00
Tim Donohue
b83b06f977 Merge pull request #3037 from atmire/csv-import-empty-value-support
Supporting CSV import removing values
2020-11-18 14:32:08 -06:00
Mark H. Wood
7d64bb6f71 Replace Class.getInstance(). #2956 2020-11-18 13:39:50 -05:00
Yana De Pauw
ac8ee7a8e6 74271: [Issue 2954] External Sources "entries" subpath should not include "query" parameter by default 2020-11-18 14:51:42 +01:00
Raf Ponsaerts
86d39a92f7 Re-added personMetadataImportTest in MetadataImportIT and deleted unused test params 2020-11-18 13:54:56 +01:00
Raf Ponsaerts
81c518cdeb Re-added the metadataImportRemovingValueTest in MetadataImportIT 2020-11-18 13:38:47 +01:00
Alessandro Martelli
65b69a2b29 [CSTPER-221] Script Flyway to populate handle metadata
Moved to sql files.
2020-11-18 10:52:27 +01:00
jonas-atmire
6dd048c68e Re-enabling of response.reset() method -> https://github.com/DSpace/DSpace/pull/3009#discussion_r525254104 2020-11-18 10:08:12 +01:00
Mark H. Wood
6d0c57fa3e Replace deprecated icu4j Normalizer with Normalizer2. #2956 2020-11-17 17:03:28 -05:00
Mark H. Wood
4afc33daef Satisfy checkstyle. 2020-11-17 16:22:33 -05:00
Mark H. Wood
e94911ba19 Replace deprecated setMetadata() that uses removed field names. #2956
Once upon a time, DSOs had dedicated fields for some metadata.  These were
moved into the Metadatavalue table long ago, but there were still methods
which used the old field names instead of proper MetadataField triplets.
2020-11-17 15:37:53 -05:00
Mark H. Wood
3e7ac5d935 Replace miscellaneous rarely-used deprecateds. [#2956] 2020-11-17 15:05:55 -05:00
Mark H. Wood
d77f6eef25 Replace deprecated org.apache.http.impl.client.DefaultHttpClient [#2956] 2020-11-17 15:05:55 -05:00
Mark H. Wood
7f53ab6bef Found a few more deprecated PosixParser, GnuParser, OptionBuilder. #2956 2020-11-17 15:05:51 -05:00
Mark H. Wood
6569089228 Remove deprecated setMetadata of CommunityService, CollectionService #2956
This introduces a new class:  a holder for metadata field names.
2020-11-17 13:53:49 -05:00
Mark H. Wood
f8221f54ce I missed one LocationUtils call. 2020-11-17 13:53:49 -05:00
Mark H. Wood
e08341faed Fix LGTM alert: pointless boxing. 2020-11-17 13:53:49 -05:00
Mark H. Wood
5838cfd9c7 Remove long-deprecated un-localized methods from LocationUtils. [#2956] 2020-11-17 13:53:49 -05:00
Mark H. Wood
22dcbf5481 Replace various deprecated PDFBox methods. [#2956] 2020-11-17 13:53:49 -05:00
Mark H. Wood
259bd4bcdd Fix anything that is documented @deprecated but not annotated @Deprecated. [#2956] 2020-11-17 13:53:49 -05:00
Mark H. Wood
0ade9e9978 Replace deprecated Class.newInstance(). [#2956] 2020-11-17 13:53:49 -05:00
Mark H. Wood
d5d3b55457 Replace deprecated constructors of boxed primitive types. [#2956] 2020-11-17 13:53:49 -05:00
Mark H. Wood
ff02474423 Fix broken test by catching an unexpected exception.
There must be an unchecked exception bubbling up through SolrServiceImpl#search.  Catching Exception (as before this PR) fixes the test failure.
2020-11-17 13:53:49 -05:00
Mark H. Wood
a5c1b780f6 Missed one more PosixParser. 2020-11-17 13:53:49 -05:00
Mark H. Wood
079bdb0e0d I missed a lot of deprecated PosixParser and OptionBuilder in the clutter of warnings (see?). 2020-11-17 13:53:49 -05:00
Mark H. Wood
47d32b72cd Better fix for configuration issue in c463b632dd24e0c017d88b36b2b6fa0f13d95fb1
Other code now depends on the 'id' of the curation script configuration bean,
so it can't be renamed.  Instead, remove the bean post processing code that
pokes 'dspace.cfg' properties into a bean which are prefixed with the bean's
'id', since nobody can remember why we do that and it causes subtle magical
problems.  It may be for Guice, which is no longer an option for DSpace.
2020-11-17 13:53:27 -05:00
Mark H. Wood
7ab6aed276 Remove deprecated getMetadata(Context, String) from CommunityService, CollectionService. 2020-11-17 13:46:10 -05:00
Mark H. Wood
8ee14c3abc Replace deprecated lang3.CharEncoding with nio.StandardCharsets. 2020-11-17 13:46:10 -05:00
Mark H. Wood
230cca287e Replace deprecated Xerces XML serializer with one from org.w3c.dom. 2020-11-17 13:46:10 -05:00
Mark H. Wood
00d9364f87 Replace deprecated Commons CLI PosixParser and OptionBuilder. 2020-11-17 13:46:10 -05:00
Mark H. Wood
34de00b47a Replace deprecated Commons Collections MultivalueMap. 2020-11-17 13:46:10 -05:00
Mark H. Wood
7395c5be8f Replace deprecated Spring @Required with @Autowired(required=true) 2020-11-17 13:46:06 -05:00
Mark H. Wood
95d0a2bf57 Remove long-deprecated ConfigurationManager. 2020-11-17 13:30:00 -05:00
Raf Ponsaerts
991ffa44a5 Altered root self link test to equals the exact url 2020-11-17 08:56:53 +01:00
Raf Ponsaerts
e51d15ebf5 Added self link to root endpoint 2020-11-13 16:24:26 +01:00
Mykhaylo
ec025828ff minor update of tests 2020-11-13 11:09:43 +01:00
Mykhaylo
a0af4b9e46 update tests 2020-11-12 11:14:07 +01:00
Raf Ponsaerts
ca653ea0b5 Merge remote-tracking branch 'dspace/main' into w2p-71780_support-csv-import-person-schema
Conflicts:
	dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportTest.java
2020-11-12 11:11:23 +01:00
Raf Ponsaerts
be5836a707 Merge remote-tracking branch 'dspace/main' into csv-import-empty-value-support
Conflicts:
	dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportTest.java
2020-11-12 11:11:00 +01:00
Raf Ponsaerts
70ff9eb718 Merge remote-tracking branch 'dspace/main' into csv-import-empty-value-support 2020-11-12 11:08:11 +01:00
Raf Ponsaerts
6c8eb146a6 Merge remote-tracking branch 'dspace/main' into w2p-71780_support-csv-import-person-schema 2020-11-12 11:07:40 +01:00
Mykhaylo
0f3186ce41 fixed wrong pagination of the search methods of ResourcePolicyRest endpoint 2020-11-11 17:01:31 +01:00
Mykhaylo
9746b5ea14 added tests that prove the wrong pagination of the search methods of ResourcePolicyRest endpoint 2020-11-11 17:00:18 +01:00
Mykhaylo
aeb6f941d3 fixed wrong pagination of the search method byMetadata of EPersonRest endpoint 2020-11-11 12:57:41 +01:00
Mykhaylo
b99f136aa3 added test that proves the wrong pagination of the search method byMetadata of EPersonRest endpoint 2020-11-11 12:55:43 +01:00
Mykhaylo
35b98db7a8 fixed wrong pagination of a search method byMetadata of GroupRest endpoint 2020-11-11 12:29:25 +01:00
Andrea Bollini
e2e13ebd06 Remove unnecessary changes and add more javadoc 2020-11-11 12:27:51 +01:00
Mykhaylo
50464dc216 added test that proves the wrong pagination of a search method of GroupRest endpoint 2020-11-11 12:26:18 +01:00
Mykhaylo
3960e57a1c fixed wrong pagination of collections 2020-11-11 11:52:25 +01:00
Mykhaylo
6f611e6868 added ITs that prove the wrong pagination of collections 2020-11-11 11:49:37 +01:00
Alessandro Martelli
e279cb3e05 [CSTPER-221] Script Flyway to populate handle metadata
Fixed Javadoc.
2020-11-11 09:28:47 +01:00
Tim Donohue
6ac06c8a23 Merge pull request #3038 from atmire/importing-new-csv-with-relationships
Importing new csv with relationships
2020-11-10 11:38:21 -06:00
Tim Donohue
4a8785b61e Disable stacktrace in error responses by default. Document how to enable. Cleanup of unused "server" settings 2020-11-10 11:01:03 -06:00
Raf Ponsaerts
a1cc44ebac Renamed MetadataImportTest to MetadataImportIT to better reflect that it is an Integration Test class 2020-11-10 14:43:53 +01:00
Alessandro Martelli
a0b5cf9075 [CSTPER-221] Fixed Unit tests 2020-11-09 17:13:22 +01:00
Alessandro Martelli
c84608e81f [CSTPER-221] Collection handle generation after creation 2020-11-09 17:06:29 +01:00
Alessandro Martelli
572a74afba [CSTPER-221] Script Flyway to populate handle metadata
For existing Collection/Community
2020-11-09 11:52:10 +01:00
Alessandro Martelli
dc08f36a94 [CSTPER-221] Fixed Authorization denied during subCommunity creation
We need to persist the newCommunity before adding the handle metadata
value. The failing test was
* CommunityRestRepositoryIT.createSubCommunityAuthorizedTest
2020-11-09 11:48:22 +01:00
Marie Verdonck
2c21703b5e Test for null value patch added back in 2020-11-09 11:39:31 +01:00
Tim Donohue
08163019fa Merge pull request #3026 from 4Science/CSTPER-212
Submission from external source rejected with 403
2020-11-06 12:29:00 -06:00
Tim Donohue
243c7b6387 Merge pull request #3042 from atmire/issue-irus-config-in-build-xml
IRUS property in build.xml when updating spiders
2020-11-06 09:53:35 -06:00
Raf Ponsaerts
c4fe9e6674 [Task 73179] added javadocs and cleaned up where necessary 2020-11-06 16:39:31 +01:00
Alessandro Martelli
ed01db6392 [CSTPER-221] MetadataConverter fixed 2020-11-06 15:55:10 +01:00
Alessandro Martelli
544828ae95 [CSTPER-212] Submission from external source rejected with 403
Test efficiency improvements.
2020-11-06 12:02:58 +01:00
Andrea Bollini
72f5ea3383 Merge pull request #3030 from atmire/Issue_2919_URI-Parameters-not-added-for-self-link
Uri parameters not added for self link
2020-11-06 08:50:05 +01:00
Andrea Bollini
9d52f01270 Solve dependencies convergence issues 2020-11-05 22:49:59 +01:00
Andrea Bollini
9d938a6282 Switch to the official orcid model maven artifact 2020-11-05 22:13:02 +01:00
Andrea Bollini
a8aab9d88b Improve ORCID testing via mock response 2020-11-05 22:10:29 +01:00
Andrea Bollini
e6000f6e5e Merge branch 'main' of https://github.com/DSpace/DSpace into D4CRIS-952-orcidV3 2020-11-05 15:49:41 +01:00
Raf Ponsaerts
2bec15c76c Made sure that IRUS properties can be read into build.xml when updating spiders 2020-11-05 13:43:39 +01:00
Tim Donohue
fb39eb49ce Merge pull request #3031 from atmire/w2p-74190_Bugfix-IRUS-Integration-Entities
Bugfix IRUS Integration with Entities
2020-11-04 13:09:59 -06:00
Jonas Van Goolen
0e296528de Update RestResourceControllerIT.java 2020-11-04 15:03:24 +01:00
Andrea Bollini
c0c2433a22 Merge pull request #3015 from tdonohue/more_lgtm_fixes
More fixes based on LGTM.com feedback
2020-11-04 12:50:38 +01:00
Raf Ponsaerts
2466731028 Rewrote the test class using builders 2020-11-03 16:38:30 +01:00
Alessandro Martelli
b878b0a7e0 [CSTPER-221] Minor changes and cleanup 2020-10-30 18:41:04 +01:00
Raf Ponsaerts
9d4151c22f deleting unused files 2020-10-30 11:13:26 +01:00
Raf Ponsaerts
eaa53c53b1 Rewrote MetadataImportTest with builders 2020-10-30 11:12:40 +01:00
Raf Ponsaerts
e33cc4735d Fixed imports for MetadataImportTest 2020-10-30 10:06:42 +01:00
Raf Ponsaerts
3df1ff5f70 [Task 71782] added test to the MetadataImport tests
Conflicts:
	dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportTest.java
2020-10-30 10:06:04 +01:00
Raf Ponsaerts
27a6173360 [Task 71782] created support to check relationship.type metadata from the csv instead of the item which won't yet exist
Conflicts:
	dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportTest.java
	dspace-api/src/test/resources/test-config.properties
2020-10-30 10:05:24 +01:00
Tim Donohue
cf5d52d60b Merge pull request #3013 from atmire/w2p-73986_Features-Endpoint---Usage-Statistics-Permissions-in-REST
Features Endpoint: Permissions to view stats, map items, see versions
2020-10-29 16:33:53 -05:00
Tim Donohue
481d69619c Merge pull request #3005 from atmire/w2p-73167_Edit-collection-permissions-in-REST-feature
Features endpoint: Edit Collection Permissions
2020-10-29 16:33:34 -05:00
Tim Donohue
ff9f59a14a Merge pull request #2993 from atmire/w2p-73207_Download-permission-features
Features endpoint: Download/RequestACopy features
2020-10-29 16:33:14 -05:00
Tim Donohue
5f74e7c434 Merge pull request #3021 from tdonohue/upgrade_commons_config
Upgrade to latest commons configuration & opencsv
2020-10-29 15:27:25 -05:00
Alessandro Martelli
28273ce292 [CSTPER-221] EZIDIdentifierProvider exclusions 2020-10-29 18:57:42 +01:00
Alessandro Martelli
ebab983618 [CSTPER-221] Validation check and MetadataConverter merge facility 2020-10-29 18:51:45 +01:00
Alessandro Martelli
b33cd12ddf [CSTPER-221] EZIDIdentifierProvider exclusions 2020-10-29 17:29:05 +01:00
Alessandro Martelli
d3c3d30c6c [CSTPER-221] Versioned handle populate metadata cleanup 2020-10-29 17:28:40 +01:00
Alessandro Martelli
e959d70cc7 [CSTPER-221] Reverted modifications to the register method 2020-10-29 16:50:44 +01:00
Alessandro Martelli
5968c9ce2a [CSTPER-221] Tests refined 2020-10-29 16:44:37 +01:00
Luca Giamminonni
d8d3aca995 Community admin should also be considered a Collection admin 2020-10-29 16:20:23 +01:00
Yana De Pauw
111a7d9148 Fix LGTM issue 2020-10-29 15:19:19 +01:00
jonas-atmire
8637378a89 Issue 2919 -> Checkstyle fix 2020-10-29 07:46:14 +01:00
jonas-atmire
dcfe58f104 Merge branch 'main' into Issue_2919_URI-Parameters-not-added-for-self-link 2020-10-28 20:33:23 +01:00
jonas-atmire
74f14540d1 Issue 2919 -> URI parameters not properly added for self-links 2020-10-28 20:32:17 +01:00
Marie Verdonck
ccb18daeb0 Git merge https://github.com/atmire/DSpace.git / master
* Conflict file: RelationshipRestRepositoryIT
2020-10-28 18:06:17 +01:00
Yana De Pauw
38e54ea21f 74190: Bugfix IRUS Integration Entities 2020-10-28 17:21:08 +01:00
Marie Verdonck
cd5be5b84f 74274: [Issue 2988]: EPersonPasswordReplaceOperation => AddOperation; eperson password can be added&replaced with this patch operation + test changes 2020-10-28 16:07:40 +01:00
Yana De Pauw
ea7d5d5b79 74186: CSV import error with virtual metadata bugfix 2020-10-28 12:29:31 +01:00
Tim Donohue
e5fec0ddf8 Minor updates to Jetty and log4j to solve security issues 2020-10-27 16:42:53 -05:00
Tim Donohue
1910c9e9ba Remove unused dependencies. Minor updates for dependency alignment 2020-10-27 16:42:34 -05:00
Alessandro Martelli
d8b7a78578 [CSTPER-221] RestMetadata applied without deleting existing ones. 2020-10-27 16:58:29 +01:00
Alessandro Martelli
2daad0b98c [CSTPER-221] DOI Collection/Community exclusion 2020-10-27 16:47:05 +01:00
Alessandro Martelli
b27d2ba322 [CSTPER-221] Handle Providers enhanced for Communities and Collections 2020-10-27 16:39:26 +01:00
Alessandro Martelli
36e6a44000 [CSTPER-221] CommunityRestRepository common code refactoring 2020-10-27 16:31:15 +01:00
Alessandro Martelli
1e54484ef5 [CSTPER-221] Integration Test
The creation of communities (toplevel and subcommunities) and the
creation of collections implies population of dc.identifier.uri
metatada.
We also prove that the logic doesn't affect the creation of other types
of entities (eperson).
2020-10-27 16:26:43 +01:00
Raf Ponsaerts
f90384dbbc Removed unnecessary config in test local.cfg 2020-10-27 13:12:22 +01:00
Raf Ponsaerts
6cdab6effd Rewrote MetadataImportTest and added a test for empty value support 2020-10-26 14:38:36 +01:00
Raf Ponsaerts
3905601e20 Merge remote-tracking branch 'dspace/main' into csv-import-empty-value-support 2020-10-26 13:28:54 +01:00
Raf Ponsaerts
2cbbbf95b3 Rewriting MetadataImportTest with builders 2020-10-26 13:27:47 +01:00
Raf Ponsaerts
86ddfc205c Merge remote-tracking branch 'dspace/main' into w2p-71780_support-csv-import-person-schema 2020-10-26 11:37:45 +01:00
Tim Donohue
ae02b261fc Merge pull request #2999 from atmire/cleanup-builder-cache-after-test
Cleaning up the cache of Builders after each test
2020-10-23 16:40:30 -05:00
Tim Donohue
86c2edcbb1 Merge pull request #3024 from atmire/w2p-74193_DSpace-version-in-root-endpoint
ROOT endpoint (/server) returns the version of DSpace
2020-10-23 16:35:53 -05:00
Alessandro Martelli
57417884ac [CSTPER-212] Submission from external source rejected with 403 2020-10-22 09:42:21 -04:00
Raf Ponsaerts
2a358bfd6f [Task 74193] altered the test for the DSpace Version on the root endpoint 2020-10-22 12:25:52 +02:00
Kristof De Langhe
e42acb9dde 74193: DSpace version in root endpoint 2020-10-22 11:18:29 +02:00
Tim Donohue
678f949350 Merge pull request #2966 from DSpace/dependabot/maven/org.apache.ant-ant-1.9.15
Bump ant from 1.9.1 to 1.9.15
2020-10-21 16:32:44 -05:00
Tim Donohue
22bcdf210c Upgrade to latest commons configuration & opencsv 2020-10-21 14:48:18 -05:00
Kevin Van de Velde
cc644e7c3f Removing unused imports 2020-10-21 15:50:44 +02:00
Kevin Van de Velde
a70e9ebf5b Enabling discovery consumer in the unit tests for the api 2020-10-21 14:02:00 +02:00
Tim Donohue
6c6b977d74 Upgrade to Bootstrap 4 (via WebJars). Cleanup unnecessary Bootstrap 3 cached files 2020-10-20 16:13:03 -05:00
Tim Donohue
89571fb289 Merge pull request #3000 from DSpace/dependabot/maven/junit-junit-4.13.1
Bump junit from 4.12 to 4.13.1
2020-10-20 10:44:32 -05:00
Tim Donohue
84c74590b8 Minor fix. Only call entry.getName() once. Store it after verifying it's valid. 2020-10-20 09:45:53 -05:00
Tim Donohue
967273fad2 Fix cross site scripting (XSS) issue by not returning "user" value 2020-10-19 16:45:58 -05:00
Tim Donohue
f973874143 Ignore two XXE warnings which are false positives. Notes inline to describe why 2020-10-19 16:43:38 -05:00
Tim Donohue
f4780dc35f Fix error where wrong variable was used. "info" was always null. 2020-10-19 16:17:32 -05:00
Tim Donohue
28f270afa4 Replace error message as doiRow was always null at this line of code 2020-10-19 16:17:22 -05:00
Tim Donohue
24054276a1 Add missing hashCode method (as equals exists) 2020-10-19 16:17:02 -05:00
Tim Donohue
786de19c5b Fix inconsistent synchronization of getter and setter in two places 2020-10-19 16:15:01 -05:00
Tim Donohue
b2c2c8e190 Fix information exposure through stack trace issue. Log error instead. 2020-10-19 16:14:49 -05:00
Tim Donohue
b6705da008 Refactor ItemImportServiceImpl to check for Zip entry location once around all code that uses it 2020-10-19 16:14:38 -05:00
Raf Ponsaerts
1ed4aaf87d fixed checkstyle 2020-10-16 12:57:50 +02:00
Raf Ponsaerts
4a2e41c5a0 Added additional tests to the FeatureITs 2020-10-16 11:04:20 +02:00
Tim Donohue
793ae8c0d5 Correct syntax for referencing related issues 2020-10-15 15:43:47 -05:00
Raf Ponsaerts
867aec4cd1 Refactor/remove custom MultipartFileSender to use Spring Boot Range requests 2020-10-15 18:31:04 +02:00
Peter Nijs
242ea65443 74062: Features Endpoint - Version Permissions in REST implementation 2020-10-15 17:13:43 +02:00
Peter Nijs
380ece2f2c 74059: Features Endpoint - Manage Mapped Item Permissions in REST implementation 2020-10-15 16:34:04 +02:00
Peter Nijs
cecb4846dc 74057: Features Endpoint - Search Statistics Permissions in REST 2020-10-15 15:30:50 +02:00
Peter Nijs
c6e50aef51 74055: Features Endpoint - Workflow Statistics Permissions in REST 2020-10-15 15:06:53 +02:00
Peter Nijs
c9463e2850 73986: Features Endpoint - Usage Statistics Permissions in REST 2020-10-14 15:39:03 +02:00
Peter Nijs
bddd4c4f9c 73178: Edit Collection Permissions in REST Feature Integration Tests - feedback 2020-10-14 15:35:26 +02:00
Ben Bosman
9895049a99 Merge remote-tracking branch 'community/main' into entities-update-item-metadata-outside-rest 2020-10-14 14:45:43 +02:00
Ben Bosman
f71a6ee5d5 Merge remote-tracking branch 'community/main' into w2p-71780_support-csv-import-person-schema
# Conflicts:
#	dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportTest.java
2020-10-14 14:21:51 +02:00
Ben Bosman
9a8f81db44 Merge conflicts 2020-10-14 13:51:46 +02:00
Ben Bosman
cca43baea4 Merge remote-tracking branch 'community/main' into w2p-71502_deleting-items-with-min-relationship
# Conflicts:
#	dspace-api/src/test/java/org/dspace/builder/WorkspaceItemBuilder.java
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/ItemRestRepositoryIT.java
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java
2020-10-14 13:47:08 +02:00
Ben Bosman
894ec569f1 Merge remote-tracking branch 'community/main' into w2p-72348_Support-itemService-getMetadata-with-virtual-md 2020-10-14 12:53:33 +02:00
Peter Nijs
04f4e1e234 73986: Features Endpoint - Usage Statistics Permissions in REST 2020-10-13 11:51:07 +02:00
dependabot[bot]
f3dbe75c15 Bump junit from 4.12 to 4.13.1
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-12 19:59:25 +00:00
Raf Ponsaerts
e41b70cfe3 Added javadoc 2020-10-12 15:32:48 +02:00
Raf Ponsaerts
ce04f78703 Cleaning up the cache of Builders after each test has ran 2020-10-12 15:21:38 +02:00
Peter Nijs
d1ee2556f3 73178: Edit Collection Permissions in REST Feature Integration Tests
- add ManageWorkflowGroupFeature, ManageSubmitterGroupFeature, ManageAdminGroupFeature
2020-10-12 13:48:23 +02:00
Raf Ponsaerts
6295540e47 Small cleanup 2020-10-12 10:51:08 +02:00
Tim Donohue
01e61aedff Ensure 'rest' overlay module is released when -Drelease specified 2020-10-10 13:44:36 -05:00
Tim Donohue
c9b4c6b773 [maven-release-plugin] prepare for next development iteration 2020-10-10 12:09:24 -05:00
Tim Donohue
5be0009a3c [maven-release-plugin] prepare release dspace-7.0-beta4.1 2020-10-10 12:09:15 -05:00
Tim Donohue
7ac94a127c Revert "Always skip Javadoc generation for assembly & overlay modules"
This reverts commit 268cd585bc.
2020-10-10 11:59:20 -05:00
Tim Donohue
99c8d12dd9 [maven-release-plugin] prepare for next development iteration 2020-10-10 11:46:38 -05:00
Tim Donohue
63d1775eaa [maven-release-plugin] prepare release dspace-7.0-beta4.1 2020-10-10 11:46:29 -05:00
Tim Donohue
268cd585bc Always skip Javadoc generation for assembly & overlay modules 2020-10-10 11:30:46 -05:00
Tim Donohue
b9e1ec1081 Additional POM corrections 2020-10-10 10:38:29 -05:00
Tim Donohue
d23dab6917 One last POM needing version correction (see previous commit) 2020-10-10 10:30:39 -05:00
Tim Donohue
4e75b821df Correct versions in POMs under [src]/dspace/ after release. Make sure [src]/dspace/ is included in release as POMs MUST be updated 2020-10-10 10:26:53 -05:00
Tim Donohue
041a714d0e [maven-release-plugin] prepare for next development iteration 2020-10-09 16:48:00 -05:00
Tim Donohue
c03a858d3a [maven-release-plugin] prepare release dspace-7.0-beta4 2020-10-09 16:47:52 -05:00
Tim Donohue
fdabb94833 Add a new -Drelease property to enable/disable modules for release. 2020-10-09 16:26:49 -05:00
Tim Donohue
095acc8777 Rollback beta4 again. One more try coming up 2020-10-09 14:26:43 -05:00
Tim Donohue
14701733eb [maven-release-plugin] prepare for next development iteration 2020-10-09 11:23:00 -05:00
Tim Donohue
63ff4c9463 [maven-release-plugin] prepare release dspace-7.0-beta4 2020-10-09 11:22:48 -05:00
Tim Donohue
dd0852425f Merge pull request #2998 from tdonohue/POM-fixes
Fixes to Parent POM to resolve release issues with Beta 4
2020-10-09 11:09:52 -05:00
Tim Donohue
95b7cd6bd9 Fixes to POM to fix release issues 2020-10-09 10:25:48 -05:00
Tim Donohue
1312f47414 rollback the release of dspace-7.0-beta4 2020-10-09 10:09:17 -05:00
Tim Donohue
d5b2fc9ea8 [maven-release-plugin] rollback the release of dspace-7.0-beta4 2020-10-09 10:02:39 -05:00
Peter Nijs
45fe8eec07 73168: Edit Collection Permissions in REST Feature Integration Tests - feedback 2020-10-09 16:58:38 +02:00
Tim Donohue
2ea30353fe [maven-release-plugin] prepare for next development iteration 2020-10-09 09:22:20 -05:00
Tim Donohue
b66159c3e4 [maven-release-plugin] prepare release dspace-7.0-beta4 2020-10-09 09:22:09 -05:00
Kevin Van de Velde
53685eb101 Merge branch 'master' into DS-4443_delete-solr-record-on-workspaceitem-deletion 2020-10-09 09:02:21 +02:00
Tim Donohue
bcfa6e873c Merge branch 'main' of https://github.com/DSpace/DSpace into main 2020-10-08 16:25:00 -05:00
Tim Donohue
a211d4e0ce Ensure Maven Central is checked first (before other repos) 2020-10-08 16:23:34 -05:00
Tim Donohue
f4e225e018 Rollback Beta 4 as it hit errors in release 2020-10-08 16:20:49 -05:00
Tim Donohue
35e0ca4751 [maven-release-plugin] prepare for next development iteration 2020-10-08 15:39:17 -05:00
Tim Donohue
100d261555 [maven-release-plugin] prepare release dspace-7.0-beta4 2020-10-08 15:39:07 -05:00
Tim Donohue
d645ec30e6 Merge pull request #2928 from atmire/w2p-72472_Delete-eperson
[DS-4036] Delete EPersons even if they are referenced
2020-10-08 12:06:46 -05:00
Ben Bosman
9ae42397bf add TODO message 2020-10-07 09:52:21 +02:00
Yana De Pauw
4103b016ec 73977: Delete eperson: community feedback part 3 2020-10-06 17:16:38 +02:00
Peter Nijs
3e8eb3b3ec 73168: Edit Collection Permissions in REST Feature Integration Tests 2020-10-05 13:52:59 +02:00
Ben Bosman
01cc856067 checkstyle 2020-10-05 10:35:23 +02:00
Ben Bosman
d6046dc7ff updated JavaDocs to explain the goal of the tests in more detail 2020-10-05 09:51:22 +02:00
Yana De Pauw
cd5c89dd68 73914: Implement feedback 2020-10-05 09:34:27 +02:00
Tim Donohue
737d3e677e Merge pull request #2978 from atmire/w2p-73047_Edit-community-permissions-REST-Feature
Features endpoint: Community / collection creation
2020-10-02 10:30:24 -05:00
Tim Donohue
6cb4b7e74a Merge pull request #2949 from tdonohue/upgrade_flyway
Upgrade to Flyway v6.5.5. Update code based on Flyway API changes
2020-10-02 09:17:07 -05:00
Yana De Pauw
6ace62112f 73914: Features Endpoint - Download Permissions in REST - Feedback 2020-10-02 10:43:18 +02:00
Tim Donohue
541903bdb0 Merge pull request #2979 from atmire/bugfix-file-mandatory
Submission bugfix for file upload mandatory
2020-10-01 14:22:11 -05:00
Peter Nijs
367ce35b4a 73173: Edit Collection Permissions in REST Feature Implementation 2020-10-01 18:54:03 +02:00
Ben Bosman
8f824c0642 for loop is not applicable 2020-10-01 16:17:26 +02:00
Yana De Pauw
d5e28e8a7c Merge remote-tracking branch 'upstream/main' into w2p-72472_Delete-eperson 2020-10-01 10:49:10 +02:00
Yana De Pauw
9b169afd35 73783: Delete eperson: community feedback part 2 2020-10-01 10:48:46 +02:00
Tim Donohue
8d57d71cb2 Merge pull request #2664 from atmire/DS-626
DS-626 : Exchange usage data with IRUS
2020-09-30 16:00:50 -05:00
Tim Donohue
05ca185f22 Remove /api per https://github.com/DSpace/dspace-angular/pull/877 2020-09-30 11:39:10 -05:00
Tim Donohue
62a4b32fe8 Update Codecov settings
This makes patch checks slightly more lenient, as they are not required.
2020-09-30 09:13:20 -05:00
Mykhaylo
850d93546a update test and OrcidRestConnector 2020-09-28 18:33:58 +02:00
Yana De Pauw
3b563e4906 73422: Delete eperson: community feedback 2020-09-28 17:31:00 +02:00
Peter Nijs
4fb4c129a9 73167: Edit Collection Permissions in REST Feature Implementation 2020-09-28 13:55:53 +02:00
Mykhaylo
3a47781193 added pooling http cliente connection manager to send to ORCID 2020-09-28 10:30:32 +02:00
Yana De Pauw
61494f4291 73210: Finish Its for RequestCopyFeature and DownloadFeature 2020-09-28 10:14:16 +02:00
Yana De Pauw
c53e211ba5 173207: Implement tests for RequestCopyFeature part 1 2020-09-25 15:18:20 +02:00
Yana De Pauw
f8e32554e6 73207: Download Permissions in REST Feature Implementation 2020-09-25 11:44:50 +02:00
Yana De Pauw
1db90a596f 73207: Download Permissions in REST Feature Implementation 2020-09-25 11:19:01 +02:00
Mykhaylo
ba4d1c20f1 fix test 2020-09-25 10:47:25 +02:00
Mykhaylo
007c8f035d added missing bean 2020-09-25 10:45:31 +02:00
Tim Donohue
bd0e20cb18 Merge pull request #2950 from tdonohue/ordered_processes
Ensure processes are ordered by ID by default.
2020-09-24 14:36:38 -05:00
Tim Donohue
2276d2ccfb Fix README instructions on running one IT class 2020-09-24 14:10:00 -05:00
Tim Donohue
569169a852 Per feedback, refactor MigrationUtils.resourceToString into getResourceAsString. Remove usage of ClassPathResource 2020-09-24 13:31:33 -05:00
Tim Donohue
71bdd8341b Ensure Flyway database table also checked by main() method. Removed some invalid comments too 2020-09-24 12:23:54 -05:00
Tim Donohue
b36849d110 Ignore license header in new Flyway upgrade scripts 2020-09-24 12:23:53 -05:00
Tim Donohue
6379c06461 Minor change to Context. Add synchronized to ensure database upgrade only triggered once 2020-09-24 12:23:53 -05:00
Tim Donohue
d137ce179f Add support for upgrading database directly from DSpace 5.x to 7.x 2020-09-24 12:23:53 -05:00
Tim Donohue
ae7ef8577b Minor fixes. Flyway migration paths now prefer slashes to dots. Add Flyway version to 'info' command. 2020-09-24 12:23:53 -05:00
Tim Donohue
a2cfa09c01 Upgrade to Flyway v6.5.5. Update code based on Flyway API changes 2020-09-24 12:23:53 -05:00
Mykhaylo
2ae8f0e9fa added mockito test to prove functionality of OrcidExternalSources 2020-09-24 18:55:37 +02:00
Tim Donohue
afb78e1e03 Merge pull request #2940 from atmire/w2p-72492_authorization-feature-for-edit-item-in-REST
Features endpoint - Edit item permissions in REST
2020-09-23 16:40:50 -05:00
Tim Donohue
88a63e7c77 Customize Codecov settings 2020-09-23 13:33:10 -05:00
Mykhaylo
50efbd29bb added dependensy to use official artifact of orcid 2020-09-23 17:52:59 +02:00
Mykhaylo
fe41f58c51 Merge branch 'main' into D4CRIS-952-orcidV3-merge 2020-09-23 16:57:14 +02:00
Tim Donohue
1272782bab Merge pull request #2971 from mwoodiupui/2970
Replace FindBugs with SpotBugs.
2020-09-22 15:06:24 -05:00
Tim Donohue
daeb6d5b31 Merge pull request #2968 from mwoodiupui/#2967
Scrap DSpaceBeanPostProcessor, InitializedService, ShutdownService.
2020-09-22 14:53:21 -05:00
Tim Donohue
8c5f1a12ca Merge pull request #2980 from tdonohue/travis_parallel_codecov
(CodeCov.io Alternative) Update Travis/Maven configs to run Unit & Integration Tests in parallel
2020-09-22 14:19:32 -05:00
Tim Donohue
21700f7eed Merge pull request #2960 from atmire/duplicate-discovery-bugfix
Bugfix to avoid duplicates in discovery consumer
2020-09-22 12:18:45 -05:00
Tim Donohue
8fa0d80589 Replace Coveralls by CodeCov.io 2020-09-21 16:18:28 -05:00
Tim Donohue
c40b60c8b9 Update testing commands in README based on changes 2020-09-21 16:18:27 -05:00
Tim Donohue
4aa71ca221 Fix Coveralls coverage reports. Cleanup and reorg of travis.yml to support 2020-09-21 16:18:27 -05:00
Tim Donohue
84e0164312 Refactor Travis configs to run unit and integration tests separately 2020-09-21 16:18:26 -05:00
Tim Donohue
9908de3979 Replace skipTests with skipUnitTests and skipIntegrationTests 2020-09-21 16:18:26 -05:00
Kristof De Langhe
87cec195ca 73161: Feature ITs JavaDocs 2020-09-21 14:39:52 +02:00
Ben Bosman
88e073d8f2 bugfix to verify whether a file is mandatory 2020-09-21 12:13:35 +02:00
Yana De Pauw
6f2c34050a Merge remote-tracking branch 'upstream/main' into DS-626 2020-09-18 15:06:16 +02:00
Yana De Pauw
9945ab1bc3 70906: Process IRUS DSpace 7 PR feedback 2020-09-18 11:52:19 +02:00
Tim Donohue
e7348159b7 Fix test to check for exact ordering of Processes 2020-09-17 11:41:55 -05:00
Tim Donohue
6a3ec14d26 Ensure processes are ordered by ID by default. 2020-09-17 11:40:14 -05:00
Tim Donohue
2e5efda2fa Merge pull request #2972 from 4Science/fix-shib-redirect
Fix shibboleth redirect to work with all allowed origins
2020-09-17 11:31:12 -05:00
Tim Donohue
74f88197c2 Merge pull request #2930 from atmire/w2p-72503_default-anonymous-access-site-object
Default Anonymous READ rights for the site object
2020-09-17 11:28:37 -05:00
Tim Donohue
1e7781e195 Merge pull request #2931 from atmire/w2p-72498_scripts-and-processes-search
Scripts and processes search
2020-09-17 08:43:16 -05:00
Yana De Pauw
f71202c8c3 Fix to tests post merge 2020-09-17 14:03:50 +02:00
Yana De Pauw
3977fe72c8 Merge remote-tracking branch 'upstream/main' into w2p-72472_Delete-eperson 2020-09-17 14:03:44 +02:00
Giuseppe Digilio
debf437ae7 Fix shibboleth redirect to work with all allowed origins 2020-09-17 10:49:55 +02:00
Mark H. Wood
88413f50d6 Replace FindBugs with SpotBugs. 2020-09-16 17:35:09 -04:00
benbosman
81f58b473f Merge pull request #32 from atmire/w2p-72774_Delete-eperson-workspace
72774: Delete eperson: workspace
2020-09-16 12:44:15 +02:00
Mark H. Wood
bcf2158f54 Remove useless null checks spotted by LGTM. 2020-09-15 14:10:12 -04:00
Peter Nijs
ad9913986c 73011: Edit item permissions community feedback 2020-09-15 17:45:08 +02:00
Mark H. Wood
a7023eff0b Scrap DSpaceBeanPostProcessor, InitializedService, ShutdownService.
These duplicate the standard @PostConstruct and @PreDestroy methods.
2020-09-15 10:56:02 -04:00
Kristof De Langhe
ff504bc66c 73161: CanCreateCollectionsIT and CanCreateCommunitiesIT 2020-09-15 13:58:42 +02:00
Kristof De Langhe
975e3baaf5 73161: Checkstyle fixes 2020-09-15 10:58:01 +02:00
dependabot[bot]
ea823190fd Bump ant from 1.9.1 to 1.9.15
Bumps ant from 1.9.1 to 1.9.15.

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-14 18:18:24 +00:00
Raf Ponsaerts
0a1aa90cda [Task 71757] added mock configuration service to the test class 2020-09-14 15:39:03 +02:00
Raf Ponsaerts
6f3719258c Merge remote-tracking branch 'dspace/main' into w2p-72498_scripts-and-processes-search
Conflicts:
	dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java
	dspace-api/src/main/java/org/dspace/scripts/service/ProcessService.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/ProcessRestRepositoryIT.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/ScriptRestRepositoryIT.java
2020-09-14 14:48:02 +02:00
Tim Donohue
e24f924654 Merge pull request #2934 from atmire/w2p-72494_Export-script-output
Scripts and processes - Script output
2020-09-11 12:57:17 -05:00
Tim Donohue
0385352151 Merge pull request #2782 from atmire/w2p-71214_Usage-reports
DSpace (Solr) Statistics - Usage Reports
2020-09-11 12:40:20 -05:00
Tim Donohue
4340b50293 Merge pull request #2792 from 4Science/draft_vocabulary
Refactoring authority framework, value pairs and controlled vocabulary
2020-09-11 09:41:49 -05:00
Raf Ponsaerts
370d15a78e [Task 73139] added javadocs to the AbstractIndexableObject 2020-09-11 11:51:25 +02:00
Raf Ponsaerts
3cd3587917 [Task 73139] added equals and hashcode methods to IndexableObjects 2020-09-11 10:41:08 +02:00
Tim Donohue
de62b50142 Merge pull request #2963 from DSpace/tdonohue-bean-name-fix
Bug fix: Bean capitalization fix
2020-09-10 16:27:29 -05:00
Tim Donohue
7c69c2ef43 Bean capitalization fix 2020-09-10 13:50:38 -05:00
Tim Donohue
5b363f43ab Merge pull request #2961 from atmire/bugfix-PR-2760
Bugfix pr 2760
2020-09-10 10:41:40 -05:00
Tim Donohue
99a0501fa5 Merge pull request #2914 from 4Science/D4CRIS-960
DS-4514 Additional Providers - Start new submission by uploading a Bibliographic File (using Live Import)
2020-09-10 10:28:19 -05:00
Pasquale Cavallo
12d06bb597 Merge branch 'main' into D4CRIS-960 2020-09-10 16:24:16 +02:00
Ben Bosman
245af53f43 Merge remote-tracking branch 'origin/master' into entities-update-item-metadata-outside-rest 2020-09-10 15:47:25 +02:00
Ben Bosman
8a73c8e555 Fix a bug introduced in https://github.com/DSpace/DSpace/pull/2760 2020-09-10 14:38:25 +02:00
Ben Bosman
6493287ca0 Fix a bug introduced in https://github.com/DSpace/DSpace/pull/2760 2020-09-10 14:10:45 +02:00
Ben Bosman
359ea40f1e Bugfix to avoid duplicates in discovery consumer 2020-09-09 12:42:51 +02:00
Kristof De Langhe
a2f3b6e86d 73047: CreateCommunityFeature and CreateCollectionFeature 2020-09-09 11:37:25 +02:00
Tim Donohue
9a0866e267 Merge pull request #2955 from tdonohue/minor_test_fix
Minor Test fix: Ensure prior data is cleaned. Fix ordering of params in assert
2020-09-08 13:57:02 -05:00
Tim Donohue
69db5b0f91 Merge pull request #2932 from atmire/w2p-72546_full-projection-tests
[DS-4485] Assure that test with full projection exists for all endpoints
2020-09-08 12:44:14 -05:00
Tim Donohue
280a4dc238 Ensure prior data is cleaned. Fix ordering of params in assert 2020-09-08 11:59:56 -05:00
Raf Ponsaerts
13b59f9522 [Task 73021] applied feedback to the scripts&processes search endpoint 2020-09-08 11:13:39 +02:00
Raf Ponsaerts
7484e47694 Merge remote-tracking branch 'dspace/main' into w2p-72494_Export-script-output 2020-09-08 09:29:52 +02:00
Raf Ponsaerts
f537eadcc3 [Task 73019] applied feedback to the export script output 2020-09-08 09:13:57 +02:00
Marie Verdonck
346ff69bcd 73025: Fix self link 2020-09-07 10:58:37 +02:00
Tim Donohue
4c8c1496b5 Merge pull request #2824 from 4Science/DS-4515_submit-external-source
DS-4515 - Start new submission via Search or ID Lookup (using Live Import)
2020-09-04 09:47:50 -05:00
Marie Verdonck
65da1216fd Valid DSO UUID check 2020-09-04 13:58:32 +02:00
Marie Verdonck
64cf386b25 72788: Feedback processed: Removed unneeded extends 2020-09-04 12:29:38 +02:00
Marie Verdonck
88fbb77aa5 72788: Feedback processed: Javadoc, moved service > util, config comment 2020-09-04 12:26:18 +02:00
Pasquale Cavallo
1b4988d9d6 remove wrong comment 2020-09-03 17:25:02 +02:00
Tim Donohue
bb6413af10 Merge pull request #2933 from atmire/w2p-72455_Cookie-Preferences-per-account
Cookie preferences & End User Agreement per account - initial registries update
2020-09-03 10:06:43 -05:00
Tim Donohue
f2f38872fc Merge pull request #2947 from atmire/w2p-72387-Workflow-minor-fixes
Workflow minor fixes
2020-09-02 16:37:52 -05:00
Tim Donohue
acf1d16f08 Merge pull request #2952 from mwoodiupui/#2951
Use getters instead of direct references that may have been uninitialized. #2951
2020-09-02 16:33:42 -05:00
Mark H. Wood
daeb55fa0c Use getters instead of direct reference that may throw NPE. #2951 2020-09-02 16:19:37 -04:00
Tim Donohue
0523167625 Merge pull request #2926 from atmire/w2p-72232_curation-task-email-parameter
Curation task email parameter changes
2020-09-02 11:14:26 -05:00
Tim Donohue
0746caf00d Update action to ignore errors 2020-09-01 09:09:20 -05:00
Yana De Pauw
548e0355ef 72774: Delete eperson: workspace 2020-09-01 11:41:17 +02:00
Tim Donohue
debecc287a Merge pull request #2899 from atmire/w2p-71752_Metadata-field-search
Metadata field search
2020-08-31 16:28:50 -05:00
Marie Verdonck
c88b6ef2e7 72788: explicit solr.commit allowed config added for Statistics tests 2020-08-31 16:30:24 +02:00
Yana De Pauw
959109a6a1 Merge remote-tracking branch 'upstream/main' into w2p-72494_Export-script-output 2020-08-28 17:03:23 +02:00
Samuel
8adc7e5c31 taskid 72455 Cookie Preferences per account - add scope notes and more realistic test value 2020-08-28 15:26:22 +02:00
Yana De Pauw
80d64e73ec 72494: Fix issue with task executor being used in tests 2020-08-28 13:07:26 +02:00
jonas-atmire
ef57561993 Merge branch 'main' into w2p-72232_curation-task-email-parameter 2020-08-28 08:55:04 +02:00
Tim Donohue
af2726831f Merge pull request #2925 from atmire/AdministratorOfFeature-fixes
72450: AdministratorOfFeature: fixes
2020-08-27 16:39:41 -05:00
Tim Donohue
c5e3b70d85 Merge pull request #2924 from atmire/w2p-72430_metadataexport-file-parameter
[Issue: 2821] Metadata export script file parameter removed from REST
2020-08-27 15:26:30 -05:00
Pasquale Cavallo
397bc1efcb Merge branch 'DS-4515_submit-external-source' of https://github.com/4Science/DSpace into DS-4515_submit-external-source 2020-08-27 16:23:13 +02:00
Pasquale Cavallo
7422dafef5 Change javadoc on ArXivIdMetadataContributor.parseValue 2020-08-27 16:22:29 +02:00
Pasquale Cavallo
46193ff16e Enable missing tests 2020-08-27 16:08:21 +02:00
Pasquale Cavallo
42d5236393 Add MultipleMetadataContributor to support multiple MetadataContributor
for each MetadataFieldConfig
2020-08-27 15:49:33 +02:00
Yana De Pauw
5718d78ab5 72751: Remove log.info line from builder 2020-08-27 15:09:44 +02:00
Yana De Pauw
e25cea2bb0 72750: Finalize Delete eperson: workflow 2020-08-27 15:00:11 +02:00
Tim Donohue
44fc6922c3 Add action to auto-label PRs with merge conflicts 2020-08-26 12:16:40 -05:00
Tim Donohue
344ec6e0e0 Merge pull request #2858 from atmire/w2p-71734_sitemaps
DS-4061 expose sitemaps and schedule automatic updates
2020-08-26 10:16:49 -05:00
Marie Verdonck
4d3fd87722 72505: Url sitemaps change - test fix 2020-08-26 15:05:18 +02:00
Pasquale Cavallo
fdc0cda30b Update pom.xml
Add comment
2020-08-26 14:27:56 +02:00
Marie Verdonck
4b86f331d4 72505: Url sitemaps fix 2020-08-26 13:52:59 +02:00
Peter Nijs
fae212d281 72517: ITs for authorization features for edit item in REST
- Fix for getItemObject() in ItemServiceImpl and CommunityServiceImpl for DELETE actions
2020-08-25 17:39:50 +02:00
Tim Donohue
58f3ae5037 Merge pull request #2691 from atmire/w2p-68820_Moving-relationships-ITs
Metadata PATCH when mixing plain text and relationship
2020-08-24 10:50:23 -05:00
Peter Nijs
d83f43f017 72516: ITs for authorization features for edit item in REST 2020-08-24 10:12:49 +02:00
Tim Donohue
c7c0c5f4bd Add CLI examples and how to change configs 2020-08-21 10:34:29 -05:00
Marie Verdonck
2f26cf7def 71752: Refactored metadatafield indexing via event > consumer 2020-08-21 16:07:07 +02:00
jonas-atmire
d32c32e4ab Additional checkstyle fixes + part of LGTM fix 2020-08-21 10:34:59 +02:00
Tim Donohue
0cfd4855ac Merge pull request #2915 from atmire/w2p-72215_metadataimport-email-parameter
[Issue: 2822] Metadata import email parameter changes
2020-08-20 16:37:55 -05:00
Yana De Pauw
7d793ec2d9 70906: Implement community feedback 2020-08-20 17:23:56 +02:00
jonas-atmire
1773b40acb Checkstyle fix 2020-08-20 14:53:31 +02:00
jonas-atmire
899f04c5ed Additional metadatafield related to the cookie preferences 2020-08-20 13:06:02 +02:00
Tim Donohue
aea90046b4 Merge pull request #2929 from ferthalangur/handle-server
Update start-handle-server
2020-08-19 12:02:59 -05:00
Samuel
5eaee53c6b taskid 72455 Cookie Preferences per account - feedback 2020-08-19 15:16:59 +02:00
jonas-atmire
1947b48a4b Fixing checkstyle warnings 2020-08-19 09:09:26 +02:00
Peter Nijs
1e19c9e1ab 72492: Implement authorization features for edit item in REST 2020-08-18 18:24:48 +02:00
Yana De Pauw
3f4015e291 72494: Scripts and processes: Export script output 2020-08-18 15:53:36 +02:00
Yana De Pauw
f995007511 Revert "managed context"
This reverts commit fd22cfe7da.
2020-08-18 15:51:56 +02:00
Yana De Pauw
7c8270f1c3 Revert "[Task 72494] added Context.Mode.MANAGED to all contexts in the RestDSpaceRunnableHandler"
This reverts commit eb79a859e0.
2020-08-18 15:46:55 +02:00
Raf Ponsaerts
4389fa33c6 [Task 72498] added javadocs 2020-08-18 11:57:15 +02:00
Raf Ponsaerts
df252c40f8 [Task 72546] bugfix on the author entries test 2020-08-18 10:50:02 +02:00
Raf Ponsaerts
40e3ae4887 [Task 72546] created tests that involve the fullprojection for various endpoints 2020-08-17 14:39:13 +02:00
Marie Verdonck
3164be125e 72505: sitemaps config feedback applied & changed base url of sitemap_index files to ui.url 2020-08-17 11:28:39 +02:00
Kevin Van de Velde
b3413b1e2b Attempt to get the tests to work for the deletion of workspaceitems 2020-08-14 16:45:47 +02:00
Kevin Van de Velde
ccca5ded9f Merge remote-tracking branch 'upstream/main' into DS-4443_delete-solr-record-on-workspaceitem-deletion 2020-08-14 16:14:26 +02:00
Raf Ponsaerts
67d04b2254 [Task 72498] implemented the Sort option for the Process Search and added tests 2020-08-14 15:26:04 +02:00
Yana De Pauw
df06b330fd 72494: Scripts and processes: Export script output 2020-08-14 13:54:10 +02:00
Raf Ponsaerts
63ca007dc2 [Task 72503] added the default Anon READ policy for the site object 2020-08-14 13:15:51 +02:00
Rob Jenson
c7ecfdbc7b Update start-handle-server
start-handle-server will not start if handle-server terminated abnormally (including system restart). Case error in the line to remove stale lock file.
2020-08-14 06:05:17 -04:00
Pasquale Cavallo
55901fe1b9 Use unicode in char separated files import 2020-08-14 11:20:15 +02:00
Raf Ponsaerts
eb79a859e0 [Task 72494] added Context.Mode.MANAGED to all contexts in the RestDSpaceRunnableHandler 2020-08-14 11:11:38 +02:00
Yana De Pauw
fd22cfe7da managed context 2020-08-14 10:58:30 +02:00
Yana De Pauw
26935f9d23 intermittent commit 2020-08-14 10:15:06 +02:00
Samuel
e1fb87773c taskid 72455 Cookie Preferences per account 2020-08-13 20:11:32 +02:00
Peter Nijs
fa2d28bb26 72492: Implement authorization features for edit item in REST 2020-08-13 17:02:17 +02:00
Pasquale Cavallo
fe6f51d246 Improve Java on ArXivImportMetadataSourceServiceImpl 2020-08-13 17:01:25 +02:00
Pasquale Cavallo
2ef44b1587 lof exception in SimpleXPathMetadataContributor 2020-08-13 16:35:21 +02:00
Pasquale Cavallo
21a31a910b Update tests 2020-08-13 16:30:43 +02:00
Pasquale Cavallo
5a8311189b add comments in endnote 2020-08-13 15:30:47 +02:00
Pasquale Cavallo
9051b54259 add exception to logger 2020-08-13 15:23:04 +02:00
Pasquale Cavallo
01dac23829 Javadoc and minor changes 2020-08-13 15:19:18 +02:00
Raf Ponsaerts
4c605cfff3 [Task 72498] rewrote ProcessQueryParameterContainer logic to have a map instead of set variables 2020-08-13 12:19:11 +02:00
Yana De Pauw
705b2b544f Delete eperson when in workflow 2020-08-13 10:25:06 +02:00
Raf Ponsaerts
68389c1863 [Task 72498] added the searchByProperty endpoint on the Process endpoints 2020-08-13 09:15:26 +02:00
Pasquale Cavallo
052e775bc5 Fix conflict on live import 2020-08-12 16:48:38 +02:00
Pasquale Cavallo
c733576f50 Fix conflict 2020-08-12 15:37:51 +02:00
Pasquale Cavallo
6db52f37fd Add javadoc and comment 2020-08-12 15:15:49 +02:00
Marie Verdonck
735c3bc791 71752: disallow combination exactName and any of query/schema/element/qualifier query params in /byFieldName search endpoint 2020-08-12 13:47:33 +02:00
Marie Verdonck
75ebc887cc 71752: /metadatafield/<exactMdString> replace with byfieldName?exactName endpoint + tests 2020-08-12 13:47:33 +02:00
Marie Verdonck
9dae6a9579 71752: Reindex metadatafields on create/update/delete + tests 2020-08-12 13:47:33 +02:00
Marie Verdonck
c046a1c8f3 71752: tests for MetadataFieldIndexFactoryImpl 2020-08-12 13:47:33 +02:00
Marie Verdonck
fdef69b6da 71752: constants for field names; code cleanup 2020-08-12 13:47:33 +02:00
Marie Verdonck
1aacdd2538 71752: endpoint metadatafield/name/{metadata-field-full-name} + tests added &
fix for search byFieldName in mdFields with query param starting with element or qualifier
2020-08-12 13:47:33 +02:00
Marie Verdonck
036e31c38d 71752: ITs for /metadatafields/search/byFieldName endpoint &
indexed MetadataFields now accessible to anon group & checkstyle
2020-08-12 13:46:54 +02:00
Marie Verdonck
3629454ec0 71752: Metadafield search byFieldName (by solr indexing mdFields) 2020-08-12 13:46:54 +02:00
Raf Ponsaerts
ec76371456 [Task 72430] applied feedback on the filename for MetadataExport 2020-08-12 10:31:16 +02:00
Pasquale Cavallo
57ae7ee7f0 Merge branch 'main' into D4CRIS-960 2020-08-11 18:13:33 +02:00
Raf Ponsaerts
cdc1d3b071 [Task 72232] added javadoc 2020-08-11 16:04:03 +02:00
Raf Ponsaerts
41b862cdd5 [Task 72487] addressed feedback regarding builders in CSVMetadataImportReferenceIT and cleared up CsvImportIT to be more descriptive 2020-08-11 15:53:39 +02:00
Pasquale Cavallo
1f1bd9ee81 Merge branch 'main' into DS-4515_submit-external-source 2020-08-11 15:16:44 +02:00
Raf Ponsaerts
5ee989c692 Merge remote-tracking branch 'dspace/main' into w2p-72215_metadataimport-email-parameter 2020-08-11 13:57:56 +02:00
jonas-atmire
40ec84d440 Remove the ignore annotation from the CurationTest 2020-08-11 11:21:50 +02:00
Yana De Pauw
435235abe4 Merge remote-tracking branch 'upstream/main' into w2p-72472_Delete-eperson 2020-08-11 10:30:04 +02:00
Raf Ponsaerts
240b327bb3 [Task 72232] altered email param usage for curation scripts when being called from cli or rest 2020-08-11 09:42:07 +02:00
Yana De Pauw
9fa1b78e2e 72450: AdministratorOfFeature: fixes 2020-08-10 15:51:04 +02:00
Yana De Pauw
0d5f5174c0 fix build issue 2020-08-10 10:51:47 +02:00
Yana De Pauw
d61f278167 Merge remote-tracking branch 'upstream/main' into feedback-processing 2020-08-10 09:31:56 +02:00
Yana De Pauw
0f90b8a871 fix typo in javadocs 2020-08-10 09:31:37 +02:00
Marie Verdonck
b4e64e5bf3 71738: Sitemap scheduler with annotations 2020-08-07 17:10:32 +02:00
Yana De Pauw
14f44386f7 72428: Update java docs 2020-08-07 16:52:22 +02:00
Kevin Van de Velde
483ec64ce0 [Issue: 2821] Metadata-export adding file name extension 2020-08-07 13:47:20 +02:00
Marie Verdonck
24534f943e Builders moved fixes 2020-08-07 12:36:12 +02:00
Yana De Pauw
0e5263e06f Fix to tests 2020-08-07 11:16:24 +02:00
Marie Verdonck
f0644f5b6b Id fix most popular items site wide 2020-08-07 10:30:54 +02:00
Marie Verdonck
fbba2302b6 Null check for dso handle 2020-08-07 10:30:54 +02:00
Marie Verdonck
94e3d3df68 Null checks for inconsistent stat data points 2020-08-07 10:30:54 +02:00
Marie Verdonck
485800a79e 71424: Label always on UsageReportPoint for UI &
Tests fixed by adding null check on targetId in EvaluatorPlugins
2020-08-07 10:30:54 +02:00
Marie Verdonck
5c7541a283 71214: self link for /statistics/usagereport endpoint 2020-08-07 10:30:54 +02:00
Marie Verdonck
9694858018 71424: permission check back to EvaluatorPlugin, exception message fix 2020-08-07 10:30:54 +02:00
Marie Verdonck
f66064f023 71424: endpoint methods moved to StatisticsRestRepository 2020-08-07 10:30:54 +02:00
Marie Verdonck
9c16b743f8 71214: checkstyle 2020-08-07 10:30:54 +02:00
Marie Verdonck
af16704b89 71214: Usage report search tests & Config for non-sharded stat solr 2020-08-07 10:30:54 +02:00
Marie Verdonck
6c68d58c90 71214: Search Usage reports endpoint & global site usage report &
exception changes, todo: search usage report endpoint tests
2020-08-07 10:30:54 +02:00
Marie Verdonck
e2d2681816 71214: Usage reports authorization + tests (need read access on dso) 2020-08-07 10:30:54 +02:00
Marie Verdonck
1bf46bca89 71214: TopCities & TopCountries usage report tests 2020-08-07 10:30:54 +02:00
Marie Verdonck
2b0a3664ca 71214: checkstyle & javadoc 2020-08-07 10:30:21 +02:00
Marie Verdonck
16df8f38f9 71214: checkstyle & Tests for TotalDownloads usage report 2020-08-07 10:30:21 +02:00
Marie Verdonck
619d4de3ad 71214: Test Fix & Usage Reports First set of Tests (TotalVisits & TotalVisitsPerMonth) 2020-08-07 10:30:21 +02:00
Marie Verdonck
d603ddf407 71214: - Usage Reports TotalVisitPerMonth fixed (facet works with range not date any more)
- settable facetMinCount to get month points with no views
- TotalDownloads added
2020-08-07 10:30:21 +02:00
Marie Verdonck
161fb9b518 71214: Usage Reports WIP:
- TotalVisits, TopCountries & TopCities done
 - TotalVisitsPerMonth Wip
 - TODO: TotalDownloads & IT
2020-08-07 10:30:21 +02:00
Tim Donohue
d1ee942bd4 Merge pull request #2911 from atmire/issue-2800-workflowgroup-collection-links
[Issue 2800] workflowgroup collection links
2020-08-06 15:52:12 -05:00
Yana De Pauw
eef3f07b92 Fix LGTM issues 2020-08-06 18:41:24 +02:00
Yana De Pauw
21e3d65ff5 Merge remote-tracking branch 'upstream/main' into DS-626 2020-08-06 17:25:07 +02:00
Yana De Pauw
b7a24fc261 72428: Metadata PATCH: feedback processing 2020-08-06 17:16:22 +02:00
Marie Verdonck
a1c9bc9061 Collection and Community Builder moved fix 2020-08-06 16:10:07 +02:00
Raf Ponsaerts
69b722a97f [Task 72430] removed the metadata export file parameter for the REST api 2020-08-06 15:56:12 +02:00
Tim Donohue
fe9a7e6a96 Merge pull request #2791 from 4Science/CST-3091
DS-4514 Start new submission by uploading a Bibliographic File (using Live Import)
2020-08-06 08:45:38 -05:00
Marie Verdonck
cff1d0a69a poolsize fix 2020-08-06 14:22:26 +02:00
Marie Verdonck
5aa01787a7 Merge branch 'dspace-origin-master' into w2p-71734_sitemaps 2020-08-06 14:20:33 +02:00
Marie Verdonck
00166862ea Revert whitespace changes 2020-08-06 14:03:48 +02:00
Marie Verdonck
3d087aa184 72426: Sitemap cron schedule configurable in dspace.cfg 2020-08-06 13:52:43 +02:00
Raf Ponsaerts
61d44087fd [Task 72222] simplified the for loop in halResource to use java8 stream 2020-08-06 12:25:11 +02:00
Raf Ponsaerts
9de632d659 Merge remote-tracking branch 'dspace/main' into issue-2800-workflowgroup-collection-links 2020-08-06 11:22:25 +02:00
Raf Ponsaerts
362064f76f [Task 72215] fixing issues after merge 2020-08-06 11:10:00 +02:00
Raf Ponsaerts
9f3c8f6519 Merge remote-tracking branch 'dspace/main' into w2p-72215_metadataimport-email-parameter
Conflicts:
	dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportTest.java
	dspace-api/src/test/java/org/dspace/app/csv/CSVMetadataImportReferenceIT.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java
2020-08-06 11:09:48 +02:00
Danilo Di Nuzzo
70c861a9e9 fix builder import 2020-08-06 10:33:43 +02:00
ddinuzzo
5e30cbe0eb Merge branch 'main' into draft_vocabulary 2020-08-06 10:20:30 +02:00
Marie Verdonck
4e48ff8de1 72387: Workflow minor fixes 2020-08-06 10:12:28 +02:00
Tim Donohue
2027b03a8d Merge pull request #2909 from atmire/w2p-71899_Support-multiple-dsoType-values
Support multiple dsoType values in discovery
2020-08-05 09:45:24 -05:00
Marie Verdonck
7677bd92e1 checkstyle 2020-08-05 16:03:59 +02:00
Marie Verdonck
0f069cc14c 72348: Fixes so getMetadata returns implicit virtual metadata 2020-08-05 15:16:54 +02:00
Marie Verdonck
1a818b304c 72348: Test getMetadata implicit virtual metadata 2020-08-05 15:12:19 +02:00
Samuel
94394d8e59 taskid 71899 Support multiple dsoType values - add typedocs 2020-08-05 12:25:05 +02:00
Tim Donohue
5eacfc07f3 Merge pull request #2897 from mwoodiupui/#2893
#2893 Move builders from dspace-server-webapp to dspace-api.
2020-08-04 13:43:07 -05:00
Mark H. Wood
e1ad520c86 Merge remote-tracking branch 'upstream/main' into #2893 2020-08-04 13:08:45 -04:00
Tim Donohue
91fd47648b Merge pull request #2910 from atmire/w2p-71855_The--authz-authorizations-search-object-endpoint-sometimes-ignores-the-feature-param
The /authz/authorizations/search/object endpoint sometimes ignores the feature param
2020-08-04 11:51:36 -05:00
Pasquale Cavallo
bdcf064660 return 400 on arxiv in no record were found 2020-08-03 15:21:30 +02:00
Pasquale Cavallo
9ee5762c34 return 400 in external source if no record were found 2020-08-03 15:20:50 +02:00
Pasquale Cavallo
774e3893f9 Add fix from DS-4530 2020-08-03 14:22:48 +02:00
Mark H. Wood
87843a0edc Merge remote-tracking branch 'upstream/main' into #2893 2020-07-31 18:12:23 -04:00
Tim Donohue
c67da0b077 Merge pull request #2913 from tdonohue/fix_master_tests
(Integration Tests) Fix response checks to no longer expect specific error messages
2020-07-31 16:57:12 -05:00
Mark H. Wood
dc198bae00 #2893 Fix new class that used old package for Builders. 2020-07-31 16:52:59 -04:00
Mark H. Wood
ea995d66aa Merge remote-tracking branch 'upstream/main' into #2893 2020-07-31 16:50:27 -04:00
Tim Donohue
9138dfea0e Fix response checks to no longer check for specific error messages 2020-07-31 15:38:25 -05:00
Mark H. Wood
442f563fcc #2893 Move several explicit dependency versions up to dependencyManagement in parent. 2020-07-31 16:30:02 -04:00
Tim Donohue
1301e43cee Merge pull request #2820 from atmire/w2p-71513_Curation-tasks-scripts-and-processes
Curation tasks using the scripts and processes functionality
2020-07-31 14:14:13 -05:00
Tim Donohue
c44613a3df Merge pull request #2908 from tdonohue/shibboleth_redirect_trusted_url
Ensure ShibbolethRestController only redirects to trusted URLs after authentication
2020-07-31 10:57:36 -05:00
Pasquale Cavallo
e35084cf23 rollback dspace.cfg changes 2020-07-31 17:13:18 +02:00
Pasquale Cavallo
1406a4c2e6 Update pom.xml, ArXivService.java, and PubmedService.java 2020-07-31 17:08:23 +02:00
Tim Donohue
f06c532662 Merge pull request #2745 from atmire/w2p-70333_remove-relationshiptypeid-from-relationship-endpoints
Removed the RelationshipTypeId from Relationship endpoints
2020-07-31 10:05:36 -05:00
Tim Donohue
1758cac23a Merge pull request #2667 from atmire/configure-missing-search-configurations
Entities Configure search configurations matching name
2020-07-31 10:03:24 -05:00
Tim Donohue
cf2f50dfe5 Add a SuppressWarnings annotation for LGTM as it doesn't detect that we fixed this. 2020-07-31 10:00:08 -05:00
Tim Donohue
58c86e2c9e Merge pull request #2728 from TexasDigitalLibrary/DS-4211
DS-4211: Set Item iterator to emptyIterator() so that it's never null (7.x)
2020-07-31 09:20:10 -05:00
Raf Ponsaerts
7ea3935709 [Task 72215] minor cleanup 2020-07-31 11:42:45 +02:00
Raf Ponsaerts
fd63d6216e [Task 72215] moved CSVMetadataImportreferenceIT to the dspace-api module and fixed tests 2020-07-31 11:39:22 +02:00
Andrea Bollini
ed58d44329 Use a more meaningful variable name 2020-07-30 18:02:53 +02:00
Andrea Bollini
bd6982bb15 Describe the structure of the map fields 2020-07-30 17:53:39 +02:00
Raf Ponsaerts
8f384deca7 [Task 72215] made sure that the script rest calls in tests are single threaded and fixed CsvImportIT tests 2020-07-30 15:58:54 +02:00
Ben Bosman
95b5cabae2 trailing whitespace 2020-07-30 09:06:53 +02:00
Mark H. Wood
a27355f79a #2893 dspace/modules/additions also needs new dependencies, updates. 2020-07-29 17:21:55 -04:00
Mark H. Wood
8ee4b7ab9d Address questions about dummy methods. This breaks tests. #2893
Merge more from dspace-server-webapp to make tests work again.
Tidy up XML layout.  Improve alignment of declared to actual dependencies.
2020-07-29 12:48:31 -04:00
Mark H. Wood
ecd8a88633 #2893 More proper use of Builders in demo test suite. 2020-07-29 12:44:09 -04:00
Mark H. Wood
e3bc495198 #2893 Tabs to spaces. 2020-07-29 12:41:16 -04:00
Ben Bosman
55bcecc21b Merge remote-tracking branch 'community/main' into w2p-68820_Moving-relationships-ITs
# Conflicts:
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/builder/WorkspaceItemBuilder.java
2020-07-29 18:03:03 +02:00
Marie Verdonck
1ba6a74887 72351: sitemaps path to config + in tests &
script extension to delete sitemaps dir > called at end of tests &
test for malicious file traversal
2020-07-29 17:56:48 +02:00
Tim Donohue
fa3e7147c4 Merge pull request #2907 from ilittle-cnri/main
Bump Handle to version 9.3.0 final.
2020-07-29 10:30:58 -05:00
Pasquale Cavallo
4c1e4432d1 Merge remote-tracking branch 'refs/remotes/origin/main'
Conflicts:
	dspace-api/src/main/java/org/dspace/submit/lookup/ArXivService.java
	dspace-api/src/main/java/org/dspace/submit/lookup/PubmedService.java
2020-07-29 15:14:07 +02:00
Pasquale Cavallo
d2e969ffee Merge remote-tracking branch 'refs/remotes/origin/main' 2020-07-29 15:06:17 +02:00
Samuel
e37600d64a taskid 71855 The /authz/authorizations/search/object endpoint sometimes ignores the feature param - feedback 2020-07-29 14:47:23 +02:00
Samuel
76d441b53f taskid 71855 The /authz/authorizations/search/object endpoint sometimes ignores the feature param 2020-07-29 13:49:20 +02:00
Raf Ponsaerts
338764b046 [Task 72222] fixed a bug with the links after the implementation of the array dynamic workflowgroup links 2020-07-29 13:00:16 +02:00
Pasquale Cavallo
107c70a6ee Add extensions supported by FileSource in Live Import 2020-07-29 12:22:22 +02:00
Samuel
88e1ecc0a9 taskid 71899 Support multiple dsoType values 2020-07-29 10:24:54 +02:00
Raf Ponsaerts
8df7e572b5 [Task 72215] small bugfix in MetadataImport scripts 2020-07-29 09:05:13 +02:00
kshepherd
202368c759 Merge pull request #2903 from tdonohue/lgtm_fixes
Add error logging & fix "Information exposure through a stack trace" error reported by LGTM
2020-07-29 12:09:04 +12:00
kshepherd
1925d0ccc3 Merge pull request #2904 from tdonohue/lgtm_fixes_2
Fixes for several LGTM reported severe bugs
2020-07-29 12:06:24 +12:00
Pasquale Cavallo
afd6436c5c Clean code 2020-07-29 01:44:25 +02:00
Pasquale Cavallo
25bed852d3 Add comment, rewrite ArxivIdMetadataContributor 2020-07-29 01:19:20 +02:00
Tim Donohue
441043587b Ensure ShibbolethRestController only redirects to trusted URLs 2020-07-28 12:55:54 -05:00
Ian Little
ddb7057973 Bump Handle to version 9.3.0 final. 2020-07-28 13:51:09 -04:00
Raf Ponsaerts
bbdc47fbbf [Task 72215] removed the eperson flag from the REST metadata import script whilst leaving cli unaltered 2020-07-28 16:16:05 +02:00
Tim Donohue
78f837c052 Use equals() for object equality checks 2020-07-27 17:09:49 -05:00
Tim Donohue
645a1800bb Fix potentially unsafe external link 2020-07-27 17:09:48 -05:00
Tim Donohue
93903de1c5 Fix possible int overflow by converting to long before multiplication 2020-07-27 17:09:48 -05:00
Tim Donohue
79e4e3b497 Escape special chars in filename which includes user input 2020-07-27 17:09:25 -05:00
Tim Donohue
c323b989d2 Escape any HTML in user provided param. 2020-07-27 14:42:56 -05:00
Tim Donohue
53df081422 Fix possible XXE attacks by disabling DTD parsing for external service requests. 2020-07-27 13:13:25 -05:00
Tim Donohue
b006b84039 Use object's reported handle instead of user provided handle 2020-07-27 12:08:47 -05:00
Tim Donohue
294bb02193 Fix HTTP Response splitting by validating URL 2020-07-27 12:00:06 -05:00
Tim Donohue
cf7daef431 Set invalidation cookie to "secure" just to avoid LGTM warning 2020-07-27 11:12:18 -05:00
Tim Donohue
dcc651945d Throw errors when possible "zip slip" detected. 2020-07-27 11:09:26 -05:00
Tim Donohue
667a362b25 Add keyword "fixes" as a reminder. Remove JIRA 2020-07-27 10:44:07 -05:00
Tim Donohue
9ae124bef0 Revert changes to StatelessAuthenticationFilter. It is supposed to be a 401 error! 2020-07-24 17:09:41 -05:00
Tim Donohue
5c54554cd9 Fix improper AuthorizeException & more info exposure errors 2020-07-24 16:33:07 -05:00
Tim Donohue
c3c683e23b Fix two other info exposure through stack trace errors 2020-07-24 16:32:31 -05:00
Mark H. Wood
7f0a6771bc #2893 Rework a dspace-api IT to use Builders as a demo. 2020-07-24 17:13:01 -04:00
Tim Donohue
eb8f937595 Limit the errors we log 2020-07-24 15:27:01 -05:00
Tim Donohue
0382f8f1e1 Merge pull request #2867 from atmire/w2p-71853_Authorizations-endpoint-should-also-recognize-Authorization-and-X-On-Behalf-Of-headers
DS-4527: Authorizations endpoint and X-On-Behalf-Of headers
2020-07-24 11:39:26 -05:00
Mark H. Wood
f6a0d76094 #2893 Discard un-needed custom LGTM build script. 2020-07-24 11:19:02 -04:00
Mark H. Wood
20a3d94a1b #2893 Re-enable test running in Travis; document changes to how-to-test. 2020-07-24 10:53:34 -04:00
Mark H. Wood
bc4663b783 #2893 try LGTM with default command again 2020-07-24 10:39:23 -04:00
Mark H. Wood
f2ad45d25d Merge branch 'main' into #2893 2020-07-24 10:38:06 -04:00
Mark H. Wood
46dc547db8 #2893 Reconfigure test building on LGTM 2020-07-24 10:33:26 -04:00
Mark H. Wood
1ec7c38675 Use skipTests not maven.test.skip so tests always built; fix dependencies. #2983 2020-07-23 21:15:25 -04:00
Tim Donohue
9a9253e091 Merge pull request #2830 from atmire/w2p-71701_Missing-parents-link-bitstream-bundle-item
Parent links for bitstream->bundle->item
2020-07-23 12:53:41 -05:00
Mark H. Wood
ca31be2859 #2983 More Checkstyle errors 2020-07-23 13:30:51 -04:00
Mark H. Wood
0076e6b37b Clean up a lot of ErrorProne and Checkstyle warnings. #2983
So I can see what else is wrong.
2020-07-23 13:00:36 -04:00
Mark H. Wood
b14f52313e Set JAVA_HOME trying to make LGTM work as UNdocumented. 2020-07-23 10:32:10 -04:00
jonas-atmire
7a269f3460 Curate.cfg properties cleanup based on PR feedback - https://github.com/DSpace/DSpace/pull/2820 2020-07-23 10:00:51 +02:00
jonas-atmire
836876508f Addition of explanation to tests + Small comment update 2020-07-23 08:59:10 +02:00
Mark H. Wood
c1139ff0a3 Trim lgtm build command some more 2020-07-22 15:42:13 -04:00
Mark H. Wood
453e1c9c91 Yet another attempt to understand undocumented LGTM build command(s) 2020-07-22 15:28:12 -04:00
Mark H. Wood
ef353a5f44 Try again to make LGTM run custom command 2020-07-22 15:22:05 -04:00
Mark H. Wood
daed71b91b Add shebang to lgtm-build in attempt to make it work. 2020-07-22 15:07:25 -04:00
Mark H. Wood
459dc2163b Fix bad LGTM default that suppresses test JARs. 2020-07-22 12:02:15 -04:00
Yana De Pauw
e36e477be4 Fixes due to merge 2020-07-22 16:35:18 +02:00
Yana De Pauw
b1672af5c3 Merge remote-tracking branch 'upstream/main' into DS-626 2020-07-22 16:35:11 +02:00
Mark H. Wood
9d6c8891ec #2893 Rebase on current main, patch recently-added class, tidy documentation. 2020-07-22 09:58:23 -04:00
Mark H. Wood
dd9c0b9999 #2893 Move builders from dspace-server-webapp to dspace-api. 2020-07-22 08:50:20 -04:00
KevinVdV
239bc5271d [Issue: 2800] Put dynamic workflowgroup links on Collections in an array 2020-07-22 11:31:51 +02:00
Tim Donohue
15d2e16ff4 Merge pull request #2828 from ilittle-cnri/master
[DS-4205] Bump Handle to version 9.3.0-SNAPSHOT
2020-07-21 17:10:43 -05:00
Tim Donohue
216bd1603a Added some inline comments to POM 2020-07-21 17:06:24 -05:00
Mykhaylo
76d2e06710 added Logger 2020-07-20 17:53:07 +02:00
Mykhaylo
575ce02077 update comments 2020-07-20 15:32:32 +02:00
Mykhaylo
5cdc55163a Implement community feedbacks 2020-07-20 13:06:46 +02:00
Andrea Bollini
b232def06e Keep the message rethrowing the exception 2020-07-18 18:26:43 +02:00
Andrea Bollini
769dd064d0 Add support and test for locales on vocabularies 2020-07-18 17:30:20 +02:00
Andrea Bollini
9863b1c6d5 Add link to the vocabularyEntryDetails search methods from the root 2020-07-18 16:07:04 +02:00
Andrea Bollini
07ffb5fbad Merge branch 'main' of https://github.com/DSpace/DSpace into draft_vocabulary 2020-07-17 19:39:18 +02:00
Andrea Bollini
8fd328855a code cleanup and fix for project in vocabulary entry details 2020-07-17 17:07:20 +02:00
Tim Donohue
6b3bd4d4b2 Merge pull request #2862 from bme-omikk/DS-4534_7x
DS-4534 fix for Anonymous as a sub-group.
2020-07-17 09:45:17 -05:00
Tim Donohue
fb9633826c Merge pull request #2386 from AlexanderS/ds4200
[DS-4200] IPMatcher: Fix netmask conversion
2020-07-17 09:40:29 -05:00
Tim Donohue
f26cfb6fcc Merge pull request #2831 from atmire/w2p-71690_ip-authentication-basics
beta4 - IP Authentication Support
2020-07-16 17:18:18 -05:00
Tim Donohue
70e550e999 Update and rename .github/workflows/pull_request_opened.yml to .github/disabled-workflows/pull_request_opened.yml 2020-07-16 14:19:15 -05:00
Istvan Vig
314fa76641 DS-4534 fix for Anonymous as a sub-group. 2020-07-16 14:50:08 +02:00
Tim Donohue
8f700cf5ce Update issue templates 2020-07-15 15:03:28 -05:00
Tim Donohue
d260f5e126 Correct comment 2020-07-15 14:57:57 -05:00
Tim Donohue
2271bb7a4e Merge pull request #2857 from DSpace/tdonohue-new-PR-action
Auto Assign new Pull Requests to "main" branch to the PR creator
2020-07-15 14:51:58 -05:00
Tim Donohue
7a3d0a4db0 Merge pull request #2861 from DSpace/tdonohue-issue-action
Automatically add new Issues to "DSpace Backlog" project board
2020-07-15 14:51:36 -05:00
Tim Donohue
626215af42 Create issue_opened.yml 2020-07-15 14:42:20 -05:00
Tim Donohue
16c47e7e9e Rename new_pull_request.yml to pull_request_opened.yml 2020-07-15 14:41:18 -05:00
Tim Donohue
afda65db72 Update configuration slightly 2020-07-15 14:40:20 -05:00
Samuel
109e75de40 taskid 71853 Authorizations endpoint should also recognize Authorization and X-On-Behalf-Of headers 2020-07-15 18:28:52 +02:00
Marie Verdonck
d64d39f536 Merge branch 'dspace-origin-master' into w2p-71734_sitemaps
# Conflicts:
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/RootRestResourceControllerIT.java
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/ShibbolethRestControllerIT.java
2020-07-15 15:53:21 +02:00
Marie Verdonck
c911a0f79a 71859: Endpoint path sitemaps changed 2020-07-15 13:27:55 +02:00
Tim Donohue
6f416d2256 Create new_pull_request.yml 2020-07-14 17:07:03 -05:00
Tim Donohue
2ed6d40bde Create initial issue templates
Starting with just a bug & feature request template
2020-07-14 16:41:29 -05:00
Tim Donohue
463d6fb5d4 Merge pull request #2823 from DSpace/dependabot/maven/commons-beanutils-commons-beanutils-1.9.4
Bump commons-beanutils from 1.9.3 to 1.9.4
2020-07-14 12:21:18 -05:00
Tim Donohue
34db84f472 Merge pull request #2854 from tdonohue/rename_master_to_main
Replace all references to `master` with `main`
2020-07-14 10:52:05 -05:00
Tim Donohue
6d6630a665 Fix another link. Replace link to issue tracker 2020-07-14 09:49:51 -05:00
Tim Donohue
61bed89a0c Rename master to main. Rename whitelist to allow list. 2020-07-14 09:44:14 -05:00
Tim Donohue
88fbf33a8b Merge pull request #2784 from 4Science/DS-4466_new
DS-4466 REST API should obtain language settings from Client
2020-07-13 11:38:26 -05:00
Raf Ponsaerts
f492415bcc [Task 71780] added support for the person schema in the csv import and added a test for it 2020-07-13 11:48:21 +02:00
Raf Ponsaerts
b65ed11bdc [Task 71757] added configurable max amount on items and reverted testing change 2020-07-10 09:12:13 +02:00
Raf Ponsaerts
048381ef87 [Task 71757] added the virtual metadata looping and item updating in the uodateItemsInRelationship method 2020-07-09 16:01:22 +02:00
Andrea Bollini
e0f1991200 Merge pull request #157 from 4Science/vocabulary_withoutparams
Refactor the ChoiceAuthority to remove the unnecessary dependency from the field and collection
2020-07-09 13:28:14 +02:00
Marie Verdonck
d0a7104e9f 71738: Automatic cron job for sitemaps 2020-07-09 10:52:05 +02:00
Marie Verdonck
0480b65219 71737: Sitemap REST IT 2020-07-08 19:10:39 +02:00
Marie Verdonck
894738a682 71736: Changes to sitemap contents 2020-07-08 15:44:58 +02:00
Marie Verdonck
56be1bbe74 71734: Sitemap REST controller 2020-07-08 14:19:54 +02:00
Raf Ponsaerts
62cfd2d5bd [Task 71761] applied feedback to the AnonymousAdditionalAuthorizationFilter and IT 2020-07-08 13:40:47 +02:00
Kristof De Langhe
3e33a866c6 71701: Checkstyle fixes 2020-07-08 12:59:36 +02:00
Kristof De Langhe
3243f19127 71701: Additional parent link tests for Bitstream and Bundle + JavaDocs 2020-07-08 12:59:36 +02:00
Kristof De Langhe
dfe33d273e 71701: item link on BundleRest + embedded parent tests for bundle and bitstream 2020-07-08 12:59:36 +02:00
Raf Ponsaerts
9184189bb0 [Task 71690] added javadoc for the tests and config 2020-07-08 10:32:53 +02:00
Raf Ponsaerts
4e129cf841 [Task 71753] implemented feedback and added tests for the ip authentication functionality 2020-07-08 10:23:08 +02:00
Pasquale Cavallo
493ab0f496 Add license header 2020-07-08 01:49:08 +02:00
Pasquale Cavallo
3f8e680557 Add comments 2020-07-08 01:09:40 +02:00
Pasquale Cavallo
dc958c9d67 Add support for multiple authors in *sv, complete implementation for RIS
and Endnote, complete IT
2020-07-08 00:06:49 +02:00
Ian Little
f34f44d7e0 Bump Handle to version 9.3.0-SNAPSHOT, now coming form CNRI maven repository. Requires bumping Jetty version also. 2020-07-07 09:52:38 -04:00
Raf Ponsaerts
e52e880045 [Task 71690] implemented the IPAuthenticationFilter 2020-07-07 14:39:40 +02:00
Pasquale Cavallo
b7949a14d7 Add endnote support and (partial) test 2020-07-06 16:35:48 +02:00
Pasquale Cavallo
af38c36bdb add JavaDoc to LiveImportDataProvider public method 2020-07-06 11:33:52 +02:00
Pasquale Cavallo
3c349cb70c RIS, CSV and TSV live import implementation 2020-07-06 11:16:08 +02:00
Tim Donohue
41dbbfedd4 Fix bugs and failed test 2020-07-03 15:16:45 -05:00
Tim Donohue
fcdee50334 Fixes to error handling
Log all errors & provide generic messages in response
2020-07-03 10:55:52 -05:00
dependabot[bot]
b524c36a53 Bump commons-beanutils from 1.9.3 to 1.9.4
Bumps commons-beanutils from 1.9.3 to 1.9.4.

Signed-off-by: dependabot[bot] <support@github.com>
2020-07-02 19:22:27 +00:00
Tim Donohue
cc7a6c30fd [maven-release-plugin] prepare for next development iteration 2020-07-02 14:22:06 -05:00
Tim Donohue
dc2151209a [maven-release-plugin] prepare release dspace-7.0-beta3 2020-07-02 14:21:56 -05:00
Andrea Bollini
675c975d29 Use a more explicit name for the storeAuthorityInMetadata method 2020-07-02 21:11:56 +02:00
Mykhaylo
861170a179 added test and fix getLocale 2020-07-02 19:55:53 +02:00
Andrea Bollini
18bc3e1fcb Refactor the ChoiceAuthority to remove the unnecessary dependency from the field and collection 2020-07-02 19:54:37 +02:00
Tim Donohue
8fd2710cdb Merge pull request #2812 from 4Science/DS-3679
DS-3679 E-Mail Configuration not valid if mail.server.username is not specified
2020-07-02 09:50:31 -05:00
Pasquale Cavallo
dbde82478b remove unused code 2020-07-02 16:22:36 +02:00
Marie Verdonck
fec04568ff 71629: checkstyle & removed unused annotations 2020-07-02 15:49:18 +02:00
Pasquale Cavallo
02953eb087 Update comment and minor fix 2020-07-02 14:45:04 +02:00
Pasquale Cavallo
03ac31dc10 Exception handling 2020-07-02 12:05:50 +02:00
Pasquale Cavallo
f71866b5e3 Add comment 2020-07-02 10:30:49 +02:00
Pasquale Cavallo
b15fa7c5b0 show ids and links in response 2020-07-02 02:32:11 +02:00
Andrea Bollini
5a0844429a Add missing javadocs 2020-07-01 23:12:34 +02:00
Tim Donohue
338bb2296f Merge pull request #2783 from atmire/w2p-71342_Authorization-for-Downloads-of-restricted-Bitstreams-1
Authorization for Downloads of restricted Bitstreams: Short lived token endpoint
2020-07-01 15:39:21 -05:00
Giuseppe Digilio
e4c98b4742 Fixed issue with DSpaceControlledVocabulary getBestMatch 2020-07-01 21:34:09 +02:00
Marie Verdonck
e7b33c5fb5 71629: fix testCurate_NoOpTask 2020-07-01 17:53:06 +02:00
Pasquale Cavallo
238317bc8d Arxiv Live import integration 2020-07-01 16:50:45 +02:00
Marie Verdonck
a437cf41c3 missing license 2020-07-01 16:20:12 +02:00
Marie Verdonck
9ef83bf185 71513: -i valid dso or all check + test &
fix so that -t plugin-key instead of entire config &
Added test voor noop curate output
2020-07-01 16:20:12 +02:00
Marie Verdonck
85e31825cc 71513: test fix from adding curate script to test script definitions 2020-07-01 16:20:12 +02:00
Marie Verdonck
79c317154e 71513: ITs for curate script 2020-07-01 16:20:12 +02:00
Marie Verdonck
351363b79e 71513: spelling 2020-07-01 16:20:12 +02:00
Marie Verdonck
107a19e909 71513: small fix and script call name change 2020-07-01 16:20:12 +02:00
Marie Verdonck
a2de3c682e 71513: curation script to DSpaceRunnable 2020-07-01 16:20:12 +02:00
Andrea Bollini
fe05166252 DS-3679 fix check for blank username 2020-07-01 12:34:09 +02:00
Andrea Bollini
8c35f6d8a3 DS-3679 improved test to show the bug with auth session 2020-07-01 12:32:32 +02:00
Peter Nijs
9044daf50e 71672: Authorization for Downloads of restricted Bitstreams
- Fix checkstyle
2020-07-01 11:50:57 +02:00
Pasquale Cavallo
eb4abb7d51 Merge branch 'CST-3091' of https://github.com/4Science/DSpace into CST-3091 2020-07-01 11:00:31 +02:00
Peter Nijs
be89cc8159 71672: Authorization for Downloads of restricted Bitstreams
- Rename url parameter "token" to "authentication-token"
2020-07-01 10:59:18 +02:00
Pasquale Cavallo
cfc53c98d2 Live import minor changes + LGTM alert fix 2020-07-01 10:52:49 +02:00
Pasquale Cavallo
808c4633f1 submit external suorce partial implementation 2020-07-01 10:36:43 +02:00
Peter Nijs
f9257dad12 Merge branch 'w2p-71342_Authorization-for-Downloads-of-restricted-Bitstreams-1' into w2p-71672_Rename-token-parameter 2020-07-01 10:35:41 +02:00
Andrea Bollini
6333fdc499 Add test to check links in the vocabulary entry details and relative fix 2020-06-30 21:43:57 +02:00
Peter Nijs
d364ac6383 71654: Authorization for Downloads of restricted Bitstreams
- Short lived tokens can't be used to login, or generate other tokens
2020-06-30 18:20:06 +02:00
nwoodward
e3351c3900 set result to empty iterator 2020-06-30 10:39:39 -05:00
Tim Donohue
cc362d8449 Merge pull request #2763 from atmire/w2p-70273_create-new-registration
DS-4027: New user registration & forgot password
2020-06-30 10:26:23 -05:00
Raf Ponsaerts
2a6731297c Fixed LGTM issue with an error String 2020-06-30 10:27:47 +02:00
Raf Ponsaerts
0555644c9a [Task 71627] addressed feedback on the new registration functionaliity 2020-06-30 08:30:01 +02:00
Andrea Bollini
2271237bc6 Add javadoc for the reload method 2020-06-29 23:48:37 +02:00
Andrea Bollini
97b018e509 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-4466_new 2020-06-29 23:42:32 +02:00
Andrea Bollini
a3a95a81f0 Merge branch 'master' of https://github.com/DSpace/DSpace into CST-3091 2020-06-29 23:38:16 +02:00
Tim Donohue
000b5c7d0d Merge pull request #2427 from xuejiangtao/master
remove the condition that is always 'true'
2020-06-29 15:42:06 -05:00
Tim Donohue
1e14ebbacf Merge pull request #2730 from TexasDigitalLibrary/DS-4342-7x
DS-4342 improve performance when retrieving items from a collection (7.x)
2020-06-29 15:26:56 -05:00
Andrea Bollini
cfe8954a6b Merge branch 'master' of https://github.com/DSpace/DSpace into draft_vocabulary 2020-06-29 16:18:16 +02:00
Andrea Bollini
ff1b40d859 remove unused attributes 2020-06-29 16:18:05 +02:00
Tim Donohue
b5c9c7ae87 Merge pull request #2794 from tdonohue/configure_lgtm
Configure LGTM for automated code reviews
2020-06-26 10:39:15 -05:00
Tim Donohue
22678a7ef5 Configure LGTM 2020-06-26 09:41:50 -05:00
Peter Nijs
27e733c1e8 71410: Authorization for Downloads of restricted Bitstreams
- Add test that the ePerson session salt isn't updated when requesting a short lived token
2020-06-26 14:20:06 +02:00
Raf Ponsaerts
0f433ed2ae [Task 71502] moved workspaceItemTest to the workspaceItemRestRepository 2020-06-26 11:17:40 +02:00
Raf Ponsaerts
2a63f0ff22 [Task 71502] added forceDelete method to the RelationshipService that won't check the cardinality of the relationships. Used this in the ItemService delete and added tests 2020-06-26 10:54:34 +02:00
Raf Ponsaerts
645f6b66c9 [Task 71502] implemented tests that prove that deleting an item with a relationship of min cardinality greater than 1 fails 2020-06-26 09:32:50 +02:00
Tim Donohue
a8c3965c0c Merge pull request #2760 from Micheleboychuk/DS-4042_ITs_WrongPatchRequest
DS-4042 Fix implementation and add integration test for wrong patch request to the submission endpoint
2020-06-25 13:23:10 -05:00
Andrea Bollini
322b56b422 Expose the vocabularyName to the submission form definition 2020-06-25 20:14:01 +02:00
Andrea Bollini
ba150b1ec7 Fix cleanup testenv 2020-06-25 19:26:52 +02:00
Andrea Bollini
a8234f2004 Fix vocabulary related links test in the root endpoint 2020-06-25 19:25:27 +02:00
Mykhaylo
21e96f937c added missing parameter 2020-06-25 19:09:25 +02:00
Mykhaylo
361610c73a Merge branch 'master' into DS-4042_ITs_WrongPatchRequest 2020-06-25 18:46:59 +02:00
Ben Bosman
612acbdc36 Entities features: update the item metadata on relationship create/delete also when not using REST
on update this is causing problems with the place changes
2020-06-25 18:10:16 +02:00
Andrea Bollini
42dd930060 Rename authority in controlledVocabulary, add related IT 2020-06-25 17:47:17 +02:00
Andrea Bollini
76181a6829 Restore test for authority as was before - no authorities for value pairs 2020-06-25 17:37:24 +02:00
Tim Donohue
b3ec83d3a5 Merge pull request #2764 from atmire/w2p-70213_CC-license
CC License support
2020-06-25 10:36:46 -05:00
Ben Bosman
b39facf1d1 Entities features: update the item metadata on relationship create/update/delete also when not using REST 2020-06-25 17:27:52 +02:00
Raf Ponsaerts
32a03eed36 [Task 71604] moved RegistrationRestControllerIT tests to RegistrationRestRepositoryIT and added extra cleanup 2020-06-25 16:17:36 +02:00
Ben Bosman
5ad45fe7b6 Entities features: update the item metadata on relationship create/update/delete also when not using REST 2020-06-25 15:37:02 +02:00
Pasquale Cavallo
014c623256 Manage empty or invalid files in multiple submission 2020-06-25 14:15:20 +02:00
Andrea Bollini
06f9eb521c Fix checkstyle issue 2020-06-25 14:02:00 +02:00
Pasquale Cavallo
c0b92196f3 Fix multifile import 2020-06-25 13:43:26 +02:00
Andrea Bollini
82aae2395f Remove unnecessary change in the MetadataAuthorityService 2020-06-25 13:33:06 +02:00
Andrea Bollini
1e49e5877e Fix injection to avoid issue with docker/double references 2020-06-25 12:33:37 +02:00
Pasquale Cavallo
9208879abf Update test 2020-06-25 11:57:05 +02:00
Kevin Van de Velde
8cadd10546 [CC License] Fixing checkstyle issues 2020-06-25 10:56:20 +02:00
Peter Nijs
46e760791a Merge remote-tracking branch 'community/master' into w2p-71342_Authorization-for-Downloads-of-restricted-Bitstreams-1 2020-06-25 10:16:57 +02:00
Kevin Van de Velde
8ca6064c88 [CC License] Adding search link to HAL output 2020-06-25 10:16:46 +02:00
Andrea Bollini
6b923e0cb5 Fix test - DSpaceControlledVocabulary now honor the pagination 2020-06-25 09:23:34 +02:00
Peter Nijs
9f77864cea 71410: Authorization for Downloads of restricted Bitstreams
- Add test that the ePerson session salt isn't updated when requesting a short lived token
2020-06-25 09:15:30 +02:00
Andrea Bollini
c69168b27d Fix test and final cleanup 2020-06-25 00:06:00 +02:00
Mykhaylo
f3844e63a4 Merge branch 'master' into DS-4515_submit-external-source 2020-06-24 17:01:03 +02:00
Pasquale Cavallo
ecefb1a302 Comment and minor improvements 2020-06-24 14:52:33 +02:00
Mykhaylo
f39ce1cf54 Added ITs 2020-06-24 12:37:09 +02:00
Mykhaylo
13727fb49a Added management of the parametr exact 2020-06-24 12:36:34 +02:00
Raf Ponsaerts
2b6f19f6be [Task 71440] added javadocs to SubmissionCCLicenseUrl 2020-06-24 11:14:40 +02:00
Mykhaylo
8c5dc56193 updated tests of VocabularyEntryDetails 2020-06-23 22:50:55 +02:00
Mykhaylo
b940e3d41a implemented search method top 2020-06-23 22:48:54 +02:00
Mykhaylo
ed5ea81241 added implementations for link child and parent repositories 2020-06-23 22:45:54 +02:00
Peter Nijs
6a88ef51b3 71410: Authorization for Downloads of restricted Bitstreams
- Don't update ePerson session salt when requesting a short lived token
2020-06-23 18:08:39 +02:00
Pasquale Cavallo
530a9d5fac Tests and minor fix 2020-06-23 17:11:56 +02:00
Raf Ponsaerts
9f9fe26549 [Task 71440] fixed checkstyle and added preAuthorize to the SubmissionCCLicenseUrlRepository 2020-06-23 15:09:45 +02:00
Mykhaylo
0c4985e1cf added implementations for getChoicesByParent and getTopChoices 2020-06-23 14:59:15 +02:00
Andrea Bollini
52797df90d Merge pull request #2781 from atmire/w2p-71356_private-bitstreams-md-accessible
Private Bitstreams should still return name, content link
2020-06-23 14:30:52 +02:00
Raf Ponsaerts
3f9a690f5f Merge remote-tracking branch 'dspace/master' into w2p-70213_CC-license 2020-06-23 14:23:59 +02:00
Raf Ponsaerts
95110d2b5a [Task 71440] changed the ModelObject for SubmissionCCLicenseUrlRest from String to SubmissionCCLicenseUrl 2020-06-23 14:23:50 +02:00
Danilo Di Nuzzo
8407a2f688 [CST-2877] fix 2020-06-23 11:54:48 +02:00
Pasquale Cavallo
3c4a463771 pubmed test data 2020-06-23 01:58:42 +02:00
Pasquale Cavallo
8ad4b0ed39 Implement FileSource in PubmedImportMetadataSourceServiceImpl 2020-06-23 01:51:59 +02:00
Tim Donohue
52ee4ec4fb Missing import in IT 2020-06-22 13:57:35 -05:00
Tim Donohue
88215a1581 Merge pull request #2648 from atmire/w2p-64428_scripts-prototype-importing-and-exporting
Scripts & processes: importing and exporting csv's
2020-06-22 12:37:26 -05:00
Danilo Di Nuzzo
2016805623 Merge branch 'DS-4466_new' of https://github.com/4science/DSpace into DS-4466_new 2020-06-22 18:29:49 +02:00
Danilo Di Nuzzo
ffad77b43b [CST-2877] fix submission multi-lang 2020-06-22 17:20:22 +02:00
Pasquale Cavallo
aef91df802 Use metadataField as unnamed bean 2020-06-22 15:43:48 +02:00
Mykhaylo
64a29b1b60 update tests 2020-06-22 14:45:44 +02:00
Mykhaylo
de8def4418 refactoring 2020-06-22 14:44:41 +02:00
Andrea Bollini
6c2ed0c0d9 Merge branch 'draft_vocabulary' of https://github.com/4Science/DSpace into draft_vocabulary 2020-06-22 12:15:35 +02:00
Andrea Bollini
73e0bd8759 Avoid to expose the authority where not needed 2020-06-22 12:15:00 +02:00
Mykhaylo
efb4f6a1be renamed embedded link in tests 2020-06-22 12:00:49 +02:00
Pasquale Cavallo
64046093d2 Bibtex file import 2020-06-22 11:46:53 +02:00
Andrea Bollini
bd2cf94376 DS-4529 External authorities endpoint doesn't support the pagination 2020-06-20 18:52:45 +02:00
Andrea Bollini
38c5667233 DS-4515 enable live import provider as external authority 2020-06-20 18:52:23 +02:00
Andrea Bollini
f50d0d6648 Add dependency needed by the pubmed live import provider 2020-06-20 18:50:36 +02:00
Andrea Bollini
5c8ff2c743 DS-4530 enforce the use of the latest override of the findOne when checking permission for embedding 2020-06-20 18:49:56 +02:00
Mykhaylo
e473f1170b added test 2020-06-19 18:47:04 +02:00
Mykhaylo
de49227b07 fix tests 2020-06-19 18:46:22 +02:00
Mykhaylo
f9f0067294 fix bug 2020-06-19 18:45:37 +02:00
Tim Donohue
69df9b0ec2 Merge pull request #2771 from Micheleboychuk/DS-4504_UpdatePerformanceFindingCollections
DS-4504 Performance issues with finding Collections a user can submit to
2020-06-19 11:09:32 -05:00
Mykhaylo
056a0fbdae VocabularyEntryRest must implement RestModel 2020-06-19 16:44:26 +02:00
Mykhaylo
cd842fd806 refactored RestResourceController 2020-06-19 16:42:10 +02:00
Mykhaylo
52dfbfd958 added VocabularyEntryResource 2020-06-19 16:40:35 +02:00
Mykhaylo
fa2769036a refactored search method byMetadataAndCollection 2020-06-19 16:36:43 +02:00
Raf Ponsaerts
891ab3f3e2 [Task 71442] fixed the tests without the additional cleanup required 2020-06-19 14:47:53 +02:00
Yana De Pauw
08abaf8b03 71440: Implement feedback 2020-06-19 14:05:14 +02:00
Kevin Van de Velde
6c91e5acf0 Authorization for file downloads: Small comment changes 2020-06-19 12:03:42 +02:00
Peter Nijs
b4b56750fd 71410: Authorization for Downloads of restricted Bitstreams
- Internal feedback
2020-06-19 10:25:17 +02:00
Raf Ponsaerts
de6bc7d8d0 [Task 71442] fixed compile error after merge 2020-06-19 10:18:28 +02:00
Raf Ponsaerts
e73686e05b Merge remote-tracking branch 'dspace/master' into w2p-70273_create-new-registration
Conflicts:
	dspace-api/src/main/java/org/dspace/app/util/AuthorizeUtil.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/security/EPersonRestPermissionEvaluatorPlugin.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java
2020-06-19 10:17:57 +02:00
Raf Ponsaerts
d212a84a4e [Task 71442] applied feedback to the new registration endpoint 2020-06-19 09:56:34 +02:00
Andrea Bollini
c23a5b64de Improve error handling and test env clenaup 2020-06-19 09:35:40 +02:00
Mykhaylo
ea9d5da764 implemented search method byMetadataAndCollection 2020-06-19 09:35:24 +02:00
Andrea Bollini
e4d61191e6 Disable test failing due to bug in the Mock library 2020-06-18 23:52:49 +02:00
Andrea Bollini
9b24517546 Fix obviously wrong implementation 2020-06-18 23:49:25 +02:00
Mykhaylo
1114903645 refactored tests 2020-06-18 22:07:43 +02:00
Mykhaylo
5376539480 missing filling list of metadata 2020-06-18 22:07:04 +02:00
Andrea Bollini
ea31ebef05 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-4466_new 2020-06-18 19:38:00 +02:00
benbosman
124117c169 Merge pull request #2778 from atmire/w2p-71143_preAuthorize-annotations
Pre authorize annotations for subresources
Merging since we have 2 approvals
2020-06-18 18:14:29 +02:00
Andrea Bollini
f093db181d Merge branch 'master' of https://github.com/DSpace/DSpace into DS-4466_new 2020-06-18 18:00:27 +02:00
benbosman
559001cf43 Removing unused import 2020-06-18 17:16:56 +02:00
benbosman
8172dd5fb0 Re-enable findByObjectAndFeatureTest
The findByObjectAndFeatureTest can be used again thanks to https://github.com/DSpace/DSpace/pull/2778/files#diff-311a7e07c257d9c869f4de1347f5f761R51
2020-06-18 17:05:31 +02:00
Andrea Bollini
e9abbc505b Add initial implementation for VocabularyEntryDetails repository 2020-06-18 12:59:02 +02:00
Andrea Bollini
61c346089e Cleanup authority service implementation 2020-06-18 12:58:28 +02:00
Raf Ponsaerts
57d63c211e [Task 71441] added javadoc and minor cleanup 2020-06-18 12:58:23 +02:00
Andrea Bollini
d38dfdb31f Add support for : in string identifier 2020-06-18 12:56:44 +02:00
Andrea Bollini
f44b28a8f5 Implement check for mandatory parameters 2020-06-18 12:56:23 +02:00
Andrea Bollini
ae60714f7d Align test with the contract 2020-06-18 12:55:58 +02:00
Andrea Bollini
94581761b9 Fix typos 2020-06-18 12:55:40 +02:00
Raf Ponsaerts
de357b581c [Task 71441] altered the processFiles endpoint and added the process filetypes endpoint with tests 2020-06-18 12:49:43 +02:00
Andrea Bollini
ec3df2e523 Fix test setup, update response code according to the contract 2020-06-18 12:42:59 +02:00
Andrea Bollini
be6f7f3bfd Update default to reflect the rest contract
the visualization is now responsability of the angular UI so it is better by default present a clean label as the hierarchy is still visible in the otherInformation
2020-06-18 12:38:12 +02:00
Andrea Bollini
3e8b2f87b6 Remove invalid test, cleanup 2020-06-18 12:28:48 +02:00
Mykhaylo
d7ce794eab fix creation of the internal maps of authorities 2020-06-18 10:14:56 +02:00
Mykhaylo
4784d34066 renamed classes 2020-06-17 18:22:13 +02:00
Peter Nijs
e7ef7d3c5e 71343: Authorization for Downloads of restricted Bitstreams #2 2020-06-17 16:23:54 +02:00
Mykhaylo
9849d6c41e fix checkstyle 2020-06-17 14:19:54 +02:00
Mykhaylo
dc2f68655f Merge branch 'CST-3088' into draft_vocabulary 2020-06-17 11:47:50 +02:00
Andrea Bollini
17c3833645 Refactoring for vocabularies, second part (Draft) 2020-06-17 10:45:34 +02:00
Tim Donohue
1896d739d0 Merge pull request #2774 from Micheleboychuk/DS-4486
DS-4486 Add support/tests for Collection/Community role-based groups for Community/Collection Admins
2020-06-16 16:41:50 -05:00
Andrea Bollini
8afa698e04 Initial refactoring for vocabularies (Draft) 2020-06-16 18:35:04 +02:00
Mykhaylo
d794c1cdf0 update tests of Vocabulary 2020-06-16 18:22:56 +02:00
Andrea Bollini
e2f79861e3 Fix wrong name 2020-06-16 17:14:44 +02:00
Marie Verdonck
c4df4f2ed7 71362: permissions for bitstream metadata READ + tests 2020-06-16 16:37:02 +02:00
Mykhaylo
d77c505a66 added ITs for ORCID 2020-06-16 16:27:27 +02:00
Andrea Bollini
2ffde8ec2c Minor cleanup 2020-06-16 11:35:48 +02:00
Pasquale Cavallo
ec348a63f1 Update ORCID to V3 2020-06-16 11:35:48 +02:00
Mykhaylo
eef6868a2f renamed methods 2020-06-16 11:09:32 +02:00
Raf Ponsaerts
31c87c2ba1 [Task 71405] fixed the Process Files endpoints and added two tests for them 2020-06-16 09:46:01 +02:00
Mykhaylo
60240b19ca added ITs for check Content-Language header 2020-06-15 16:01:04 +02:00
Mykhaylo
e2cf32dea3 added license 2020-06-15 16:00:38 +02:00
Mykhaylo
efcefef914 added ITs for language support 2020-06-15 16:00:19 +02:00
Mykhaylo
0a37c5906a refactoring 2020-06-15 16:00:03 +02:00
Mykhaylo
ec59b7d45e added Filter for set Content-Language Header of the response 2020-06-15 15:58:21 +02:00
Mykhaylo
36ef4224cd added configurations and submissions forms in italian and 2020-06-15 15:56:49 +02:00
Mykhaylo
908f4c761a added initial implementantions for languages support 2020-06-15 15:52:44 +02:00
Raf Ponsaerts
b32c461006 [Task 71405] applied community feedback to the Scripts and Processes endpoints 2020-06-15 14:58:11 +02:00
Marie Verdonck
344f664521 license added 2020-06-15 14:01:36 +02:00
Marie Verdonck
a15570b5fb 71356: Private bitstreams their metadata still accessible 2020-06-15 12:59:03 +02:00
Mykhaylo
1765d2a161 added tests 2020-06-15 11:53:50 +02:00
Mykhaylo
04d0775b21 Merge branch 'master' into DS-4486 2020-06-12 14:26:27 +02:00
Peter Nijs
48a8639902 71342: Authorization for Downloads of restricted Bitstreams #1 2020-06-12 13:56:38 +02:00
Mykhaylo
25adabe0a4 cleanup tests 2020-06-12 11:18:52 +02:00
Mykhaylo
381fe08ad0 added missing annotations 2020-06-12 11:15:56 +02:00
Mykhaylo
c3d043f2a3 renamed variable 2020-06-12 11:13:59 +02:00
Mykhaylo
4ff01ae963 added test 2020-06-12 01:07:08 +02:00
Mykhaylo
d9d698dcd1 Implement community feedbacks 2020-06-11 19:19:02 +02:00
Raf Ponsaerts
3aba1b7545 Added a way to ignore write only properties in REST objects for tests and rewrote EPersonRestRepositoryIT tests to use this 2020-06-11 15:08:03 +02:00
Mykhaylo
f5b7d5854b Implement community feedbacks 2020-06-11 11:20:48 +02:00
Mykhaylo
aa15d65817 Implement community feedbacks 2020-06-11 10:47:37 +02:00
Raf Ponsaerts
80f7bad494 [Task 71348] fixed the patch replace password for eperson with a token to now be available to anonymous calls 2020-06-11 10:23:50 +02:00
Mykhaylo
5f6775a122 added ITs for Vocabulary Entries 2020-06-10 21:30:10 +02:00
Tim Donohue
81b1e57d79 Merge pull request #2762 from atmire/w2p-70471_request-configuration-properties-in-rest
Configuration property retrieval Rest endpoint
2020-06-10 13:18:46 -05:00
Mykhaylo
e39c2a8582 added ITs for Controlled Vocabularies 2020-06-10 17:00:43 +02:00
Raf Ponsaerts
5f44fe11f7 Undo findall preauthorize annotation change on AuthorizationFeatureRestRepository 2020-06-10 13:50:17 +02:00
Raf Ponsaerts
56629fd34e [Task 71335] removed wrongly added preAuthorize on bitstreamFormatRestRepository#findAll 2020-06-10 11:53:24 +02:00
Raf Ponsaerts
faef05258a [Task 71335] removed unneeded PermissionEvaluatorPlugins and changed PreAuthorize annotations where necessary 2020-06-10 11:51:44 +02:00
Raf Ponsaerts
e464ec0f8c [Task 71272] minor cleanup to the Scripts and Processes functionality 2020-06-09 15:06:39 +02:00
Raf Ponsaerts
5d7524970c [Task 71272] applied feedback to the Scripts and Processes functionality 2020-06-09 15:04:51 +02:00
Raf Ponsaerts
4a40b8d102 [Task 71308] applied feedback to the PreAuthorize parsing in converterService feature 2020-06-09 09:25:06 +02:00
Tim Donohue
e03a3f47b3 Link to the external, new Code Testing Guide 2020-06-08 15:53:32 -05:00
Tim Donohue
e993812675 Merge pull request #2777 from DSpace/dependabot/maven/dspace-rest/spring-security.version-5.3.3.RELEASE
Bump spring-security.version from 5.3.1.RELEASE to 5.3.3.RELEASE in /dspace-rest
2020-06-08 10:08:26 -05:00
Tim Donohue
1fb4462b0a Merge pull request #2776 from tdonohue/rename_root_properties
Rename root properties in REST API v7 to match dspace.cfg configuration
2020-06-08 09:53:30 -05:00
Raf Ponsaerts
fdaddd934f [Task 71271] applied fixes after merge and applied community feedback to the new registration endpoints 2020-06-08 16:24:19 +02:00
Raf Ponsaerts
9ccdff521c Merge remote-tracking branch 'dspace/master' into w2p-70273_create-new-registration
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java
2020-06-08 15:21:09 +02:00
Raf Ponsaerts
7be0928139 [Task 71143] fixed checkstyle 2020-06-08 15:12:40 +02:00
Raf Ponsaerts
49d40598f0 [Task 71143] implemented the PreAuthorize check in ConverterService for the findOne of a BaseObjectRest when the toRest method is called 2020-06-08 13:04:59 +02:00
dependabot[bot]
3839079f73 Bump spring-security.version in /dspace-rest
Bumps `spring-security.version` from 5.3.1.RELEASE to 5.3.3.RELEASE.

Updates `spring-security-core` from 5.3.1.RELEASE to 5.3.3.RELEASE
- [Release notes](https://github.com/spring-projects/spring-security/releases)
- [Commits](https://github.com/spring-projects/spring-security/compare/5.3.1.RELEASE...5.3.3.RELEASE)

Updates `spring-security-web` from 5.3.1.RELEASE to 5.3.3.RELEASE
- [Release notes](https://github.com/spring-projects/spring-security/releases)
- [Commits](https://github.com/spring-projects/spring-security/compare/5.3.1.RELEASE...5.3.3.RELEASE)

Updates `spring-security-config` from 5.3.1.RELEASE to 5.3.3.RELEASE
- [Release notes](https://github.com/spring-projects/spring-security/releases)
- [Commits](https://github.com/spring-projects/spring-security/compare/5.3.1.RELEASE...5.3.3.RELEASE)

Signed-off-by: dependabot[bot] <support@github.com>
2020-06-06 05:34:27 +00:00
Mykhaylo
41ca123ae4 Merge branch 'master' into DS-4486 2020-06-05 17:48:03 +02:00
Peter Nijs
a7aeb102d4 71220: Configuration properties endpoint - PR feedback
- fixes after merging with latest master
2020-06-05 17:28:24 +02:00
Mykhaylo
26f6a7d0d8 Implement community feedbacks 2020-06-05 17:13:37 +02:00
Raf Ponsaerts
397a156186 [Task 71143] Intermediate work on PreAuthorize annotation parsing 2020-06-05 13:56:39 +02:00
Tim Donohue
3a1522c2b7 Merge pull request #2766 from Micheleboychuk/DS-4495_HAL_link
DS-4495 Restricted endpoints are sometimes the only HAL link path to public endpoints
2020-06-04 10:33:26 -05:00
Tim Donohue
3fc20eb2db Merge pull request #2769 from tdonohue/update_hal_browser_dependencies
Update HAL Browser Dependencies with latest JQuery, Toastr
2020-06-04 10:29:43 -05:00
Yana De Pauw
099caaf86f 71266: Community feedback #1 2020-06-04 16:38:37 +02:00
Peter Nijs
24ede371ca Merge remote-tracking branch 'community/master' into w2p-70471_request-configuration-properties-in-rest 2020-06-04 15:36:02 +02:00
Yana De Pauw
ad316f0d5e Merge remote-tracking branch 'upstream/master' into w2p-70213_CC-license 2020-06-04 14:36:45 +02:00
Peter Nijs
4e61be497e 71220: Configuration properties endpoint - PR feedback 2020-06-04 14:04:41 +02:00
Mykhaylo
746fa4fd27 splitted links in their owner repository 2020-06-03 21:41:21 +02:00
Mykhaylo
a338526583 Implement community feedbacks 2020-06-03 15:39:42 +02:00
Raf Ponsaerts
4ea4f91129 [Task 71213] applied feedback to the new registration creation functionality 2020-06-03 14:42:40 +02:00
Tim Donohue
bf790e072b Rename root properties in REST API to match dspace.cfg configuration names 2020-06-02 17:01:48 -05:00
Raf Ponsaerts
6c0ee98fa6 SPEL parsing of the preAuthorize annotation in converterService work 2020-06-02 14:56:00 +02:00
Tim Donohue
c6c490622c Merge pull request #2772 from tdonohue/correct_ui_default_port
Fixes to Docker and default "dspace.ui.url" per Angular CLI update
2020-06-01 10:52:16 -05:00
Tim Donohue
46ffa51f71 Fix typo 2020-06-01 09:40:28 -05:00
Tim Donohue
8989b5a9cc Bug fixes to Docker configuration 2020-05-29 16:50:19 -05:00
Raf Ponsaerts
47b75f313e Fixed checkstyle 2020-05-29 15:52:09 +02:00
Kevin Van de Velde
3610867105 Add missing test from https://github.com/DSpace/DSpace/pull/2770 2020-05-29 13:19:49 +02:00
Yana De Pauw
72ac350250 Remove unused import 2020-05-29 13:19:20 +02:00
Yana De Pauw
614ad3d054 71199: Fix PR issues 2020-05-29 11:51:26 +02:00
Tim Donohue
fcdbc1727a Fix/update license header checking configuration in Maven 2020-05-28 16:21:04 -05:00
Mykhaylo
34b61f3b98 added ITs to prove that admins of community/collection can manage their own groups 2020-05-28 19:07:50 +02:00
Yana De Pauw
1c921d316f Merge remote-tracking branch 'upstream/master' into w2p-70213_CC-license 2020-05-28 17:02:49 +02:00
Raf Ponsaerts
8652e95686 [Task 70911] added required parameter e check in the MetadataImport setup and cleanup 2020-05-28 15:48:03 +02:00
Raf Ponsaerts
f19bf96bd2 [Task 70911] applied feedback to the MetadataExport and MetadataImport scripts as well as general Process functionality feedback 2020-05-28 15:30:52 +02:00
Raf Ponsaerts
ce9ba1263b Added more descriptive log to the ProcessRestRepository#delete method 2020-05-28 11:40:01 +02:00
Raf Ponsaerts
8045194cc3 [Task 70911] applied feedback on the Process endpoints 2020-05-28 10:29:09 +02:00
Raf Ponsaerts
bc7cf1484c Fixes after master merge 2020-05-28 09:41:58 +02:00
Raf Ponsaerts
2a554cbd14 Merge remote-tracking branch 'dspace/master' into w2p-64428_scripts-prototype-importing-and-exporting
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/ScriptProcessesController.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ScriptRestRepository.java
2020-05-28 09:23:19 +02:00
Tim Donohue
43f0d30bd2 Updates to Docker configuration for Angular CLI and port 4000 2020-05-27 16:43:00 -05:00
Tim Donohue
a7c8c2dbd6 Correct default port of dspace.ui.url to be 4000 2020-05-27 16:32:39 -05:00
Mykhaylo
6df58917b4 added ITs to prove that admins of community/collection can manage submitters 2020-05-27 18:56:51 +02:00
Kevin Van de Velde
df01297539 Submission CC license: Adding overrides & removing unused class 2020-05-27 17:11:52 +02:00
Yana De Pauw
9ef1f5f8eb Update bitstream link 2020-05-27 16:42:22 +02:00
Yana De Pauw
ffce2e4299 70815: Angular feedback - add self link 2020-05-27 13:25:56 +02:00
Mykhaylo
141284e7fa added ITs for search method byMetadata by community admin and by collection admin 2020-05-27 11:25:01 +02:00
Mykhaylo
9493834f59 added implementations for support for Collection/Community role-based groups for Community/Collection Admins 2020-05-27 11:21:08 +02:00
Raf Ponsaerts
e068abb87f undo unnecessary changes 2020-05-27 10:43:31 +02:00
Raf Ponsaerts
ee120b415f [Task 71143] initial implementation of the preauthorize annotations in the converterservice 2020-05-27 10:41:28 +02:00
Mykhaylo
41b91ea5b1 Merge branch 'master' into DS-4504_UpdatePerformanceFindingCollections 2020-05-25 16:21:34 +02:00
Mykhaylo
22a34ff368 added ITs for methods findAuthorizedByCommunity and findAuthorized 2020-05-25 14:36:04 +02:00
Mykhaylo
5139bb881d updated findAuthorizedByCommunity and findAuthorized with Solr query 2020-05-22 22:41:56 +02:00
Mykhaylo
66992cfe19 added solr plugin to index collection submitters 2020-05-22 22:29:54 +02:00
benbosman
19ba3ddaeb Merge pull request #2726 from atmire/w2p-69976_subresource-permissions
Subresources should obey access restrictions
2020-05-22 18:10:47 +02:00
Mykhaylo
bda1fb815b Merge branch 'master' into DS-4042_ITs_WrongPatchRequest 2020-05-22 14:56:25 +02:00
Tim Donohue
4bfc78283c Correct code alignment in client.js 2020-05-21 16:35:39 -05:00
Tim Donohue
4872bc9636 Switch to pulling in toastr via WebJars instead of via CDN 2020-05-21 16:06:07 -05:00
Tim Donohue
4a54aadf99 Switch to using WebJARs to dynamically pull in JQuery 3.5.1 2020-05-21 15:52:10 -05:00
Tim Donohue
cb1b975df1 Fix bug in login form after upgrade to JQuery 3.5.1 2020-05-21 15:05:29 -05:00
Tim Donohue
7aadfec5b0 Upgrade to JQuery v3.5.1 2020-05-21 15:05:29 -05:00
Tim Donohue
7e0a0793a2 Fix headers in files borrowed from HAL Browser. These should retain original licensing 2020-05-21 15:05:23 -05:00
Tim Donohue
1376563b37 Merge pull request #2765 from tdonohue/authentication_test_cleanup
Add JavaDocs to JWTTokenHolder, cleanup and enhance related Tests
2020-05-21 10:06:44 -05:00
Mykhaylo
6f5d6625b4 added the class that has responsible to add to the root endpoint the links to standard nested endpoint, plus IT 2020-05-21 13:12:03 +02:00
Tim Donohue
ed3c2e39c7 Add unit test for token invalidation 2020-05-20 11:21:32 -05:00
Tim Donohue
e5f136b569 Test cleanup & minor enhancement 2020-05-20 11:21:04 -05:00
Tim Donohue
6bb3f340d8 Add Javadocs and comments 2020-05-20 11:20:41 -05:00
Tim Donohue
9dd0e697de Merge pull request #2735 from tdonohue/DS-4473
DS-4473: Configurable whitelist for Access-Control-Allow-Origin, add support for Access-Control-Allow-Credentials
2020-05-20 10:39:56 -05:00
Tim Donohue
03de94ecb2 Merge pull request #2759 from Micheleboychuk/DS-4499-CleanupTestEnviroment
DS-4499 Fix cleanup of test environment in earlier Integration Test
2020-05-20 10:30:27 -05:00
Mykhaylo
76ff785b07 added implementation for delete section 2020-05-20 16:02:32 +02:00
Mykhaylo
ccfbbfce99 added IT patchDeleteSection 2020-05-20 15:55:13 +02:00
Mykhaylo
9404e24c4e fix: wrong calling toString 2020-05-20 15:51:12 +02:00
Mykhaylo
ab0aec4698 move bean to the right file 2020-05-20 15:30:53 +02:00
Mykhaylo
98f2447cbb Implement community feedbacks 2020-05-20 13:13:36 +02:00
Kevin Van de Velde
bfa83b7599 Disabling the CC License step in the default configuration 2020-05-20 13:09:33 +02:00
Mykhaylo
212985bed6 refactoring doPatchProcessing of UploadStep 2020-05-20 13:02:08 +02:00
Mykhaylo
f33bfac195 added ITs for upload patch request 2020-05-20 12:54:08 +02:00
Tim Donohue
ef7b76abe7 Add support for configurable Access-Control-Allow-Credentials header 2020-05-19 11:01:57 -05:00
Raf Ponsaerts
68b91aa8f0 Applied feedback to the subresource permissions functionality 2020-05-19 15:56:07 +02:00
Raf Ponsaerts
2a0971d8fb [Task 70937] fixes after merge 2020-05-19 14:27:40 +02:00
Raf Ponsaerts
d75c9d3cae Merge remote-tracking branch 'dspace/master' into w2p-70273_create-new-registration
Conflicts:
	dspace-api/src/main/java/org/dspace/app/util/AuthorizeUtil.java
2020-05-19 14:27:24 +02:00
Raf Ponsaerts
d3cc506b26 [Task 70937] removed the canLogin parameter from the AuthorizeUtil#authorizeUpdatePassword method 2020-05-19 13:42:24 +02:00
Yana De Pauw
60c4a0777f Implement feedback 2020-05-18 17:50:01 +02:00
Raf Ponsaerts
34bf7dd76b [Task 70927] applied feedback on the subresources permissions functionality 2020-05-18 15:54:38 +02:00
Raf Ponsaerts
5b0bf29fd4 Cleanup comment 2020-05-18 14:52:13 +02:00
Raf Ponsaerts
fa741eb188 [Task 70911] applied feedback to the Scripts and Processes functionality 2020-05-18 14:48:39 +02:00
Mykhaylo
3a1982656a this method should also check metadata with qualdrop_value 2020-05-14 10:48:15 +02:00
Mykhaylo
7b7e7cd14e added IT for patch request on metadata with qualdrop_value 2020-05-14 10:44:14 +02:00
Mykhaylo
d462aa7676 Implement community feedbacks 2020-05-13 19:10:17 +02:00
Mykhaylo
4ab860578d Implement community feedbacks 2020-05-13 18:36:42 +02:00
Raf Ponsaerts
262d81a33f [Task 70871] implemented default preauthorize setting 2020-05-13 14:50:42 +02:00
Raf Ponsaerts
ea538d619b [Task 70871] fixed tests after master merge 2020-05-13 13:13:54 +02:00
Raf Ponsaerts
adfce8e9f3 Fixed issues after master merge 2020-05-13 09:40:01 +02:00
Raf Ponsaerts
50c340a8b3 Merge remote-tracking branch 'dspace/master' into w2p-69976_subresource-permissions
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/RestResourceController.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/WorkflowDefinitionCollectionsLinkRepository.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/WorkflowDefinitionStepsLinkRepository.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/WorkflowStepActionsLinkRepository.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/converter/ConverterService.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/VersionsLinkRepository.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionRestRepositoryIT.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/converter/ConverterServiceIT.java
2020-05-13 09:39:42 +02:00
Tim Donohue
1f07d465a2 Correct the default allowed-origins in rest.cfg. Enhance comments in rest.cfg & Application 2020-05-12 15:32:54 -05:00
Tim Donohue
d3d4ff9094 Allow multiple comma-separated values via Apache Commons Config (which treats them as an array) 2020-05-12 15:32:54 -05:00
Raf Ponsaerts
2a8fe67858 Trying Travis Tests 2020-05-12 13:24:56 +02:00
Mykhaylo
02a9a3f514 Merge master into DS-4499-CleanupTestEnviroment 2020-05-12 10:31:29 +02:00
Mykhaylo
8c5ff93bd9 removed a note 2020-05-12 10:04:43 +02:00
Tim Donohue
aaa5f09a68 Merge pull request #2740 from atmire/w2p-70131_login-as-eperson
Assume login feature
2020-05-11 09:39:35 -05:00
Mykhaylo
6fbc15486d dc.source metadata is not present in the upload section, so we con not apply patch remove request 2020-05-11 14:52:02 +02:00
Peter Nijs
7fcb782230 70824: Configuration properties endpoint feedback 2020-05-11 12:56:27 +02:00
Mykhaylo
f0ec92dafb refactoring of the cleanup method in Builder classes 2020-05-11 12:53:05 +02:00
Raf Ponsaerts
8ff77a9e6d [Task 70808] added javadoc 2020-05-11 11:51:38 +02:00
Raf Ponsaerts
ea47ef0c92 [Task 70808] applied feedback to the registration implementation 2020-05-11 11:49:57 +02:00
Raf Ponsaerts
b18b52a621 [Task 70808] added javadocs 2020-05-11 08:59:47 +02:00
Raf Ponsaerts
d7cbe8c90a Updated javadoc on StatelessAuthenticationFilter#getAuthentication 2020-05-11 08:33:39 +02:00
Andrea Bollini
ea746e2aeb Merge pull request #2747 from atmire/w2p-70402_Manage-account-profile
Account profile management
2020-05-10 13:52:06 +02:00
Raf Ponsaerts
2ff63a9a59 Testing Travis execution to find errors 2020-05-08 15:53:01 +02:00
Raf Ponsaerts
3dc9f511d4 [Task 70808] changed the link the mail to include the token in the url instead of as a parameter 2020-05-08 15:43:18 +02:00
Yana De Pauw
b5bbc72ece 70815: Angular feedback 2020-05-08 12:57:07 +02:00
Mykhaylo
7fc6f6cc32 refactoring of some builder classes 2020-05-08 11:48:37 +02:00
Marie Verdonck
36914e1d85 Revert format changes - EPersonRestRepository 2020-05-08 10:27:31 +02:00
Raf Ponsaerts
ece341e7ba Removed unused AuthorizationFeature variable 2020-05-08 10:21:31 +02:00
Marie Verdonck
b93145d2d3 Revert format changes 2020-05-08 10:17:09 +02:00
Mykhaylo
6c24ff84ad added deleteAdminGroup method for cleanup in CommunityBuilder 2020-05-07 23:16:18 +02:00
Mykhaylo
47411d8614 cleanup of CollectionGroupRestControllerIT and CommunityAdminGroupRestControllerIT 2020-05-07 19:48:19 +02:00
Mykhaylo
95d089a306 cleanup of CollectionRestRepositoryIT and ItemRestRepositoryIT 2020-05-07 13:26:45 +02:00
Raf Ponsaerts
e2347e3971 Fixed the solr tests in dspace-api 2020-05-07 12:03:34 +02:00
Mykhaylo
a2e617521a cleanup of test environment in WorkspaceItemRestRepositoryIT and WorkflowItemRestRepositoryIT 2020-05-07 11:03:50 +02:00
Raf Ponsaerts
cb6c5ccccc [Task 70763] applied community feedback to the LoginOnBehalfOf feature 2020-05-07 09:31:17 +02:00
Mykhaylo
f91724dbff cleanup of test environment 2020-05-07 09:23:04 +02:00
Mykhaylo
3b22efd05d refactored RelationshipRestRepositoryIT 2020-05-06 17:20:34 +02:00
Raf Ponsaerts
026c2308ec [Task 70750] made the Bitstream findAll endpoint not implemented 2020-05-06 16:38:27 +02:00
Mykhaylo
a975daa1db removed unused dipendensies 2020-05-06 15:35:50 +02:00
Mykhaylo
8c9e809f8f added context.restoreAuthSystemState() and delete static methods 2020-05-06 15:34:25 +02:00
Mykhaylo
c21ef22290 fixed error 2020-05-06 14:23:35 +02:00
Mykhaylo
1c4a43c36e added context.restoreAuthSystemState(), where was missing 2020-05-06 13:43:23 +02:00
Marie Verdonck
92cc64c30a 70701: Process PR feedback 2020-05-06 11:54:26 +02:00
Raf Ponsaerts
5e212192af [Task 70050] fixes after master merge 2020-05-06 11:49:39 +02:00
Raf Ponsaerts
9e6a746404 Merge remote-tracking branch 'dspace/master' into w2p-64428_scripts-prototype-importing-and-exporting
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/ScriptProcessesController.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/model/ParameterRest.java
2020-05-06 11:49:23 +02:00
Raf Ponsaerts
861cdfb2b8 [Task 70080] applied feedback to the scripts prototype 2020-05-06 11:02:47 +02:00
Luigi Andrea Pascarelli
5dd25b1c0b [DS-4149] resolve checkstyle violations 2020-05-05 13:36:02 +02:00
Luigi Andrea Pascarelli
5238b4a5a1 [DS-4149] added licenseCondition element 2020-05-05 12:55:59 +02:00
Raf Ponsaerts
fc91b0b858 Fixed checkstyle in the EPersonRestRepositoryIT class 2020-05-05 11:59:05 +02:00
Mykhaylo
741357ece7 Merge branch 'master' into DS-4042_ITs_WrongPatchRequest 2020-05-05 09:47:03 +02:00
Ben Bosman
14a91bfb38 support empty values in the CSV deleting the data 2020-05-05 09:42:59 +02:00
Peter Nijs
f85a5b3c4d 70603: Make the configuration properties endpoint conform to the contract 2020-05-04 17:56:14 +02:00
Tim Donohue
793473663f Merge pull request #2751 from tdonohue/fix_bug_running_individual_tests
Fix bug running individual tests on `master`
2020-05-04 10:26:21 -05:00
Peter Nijs
d8bda5c721 70471: Add configuration properties endpoint 2020-05-04 11:19:27 +02:00
Mykhaylo
6ef11e4919 added the missing parameter 2020-05-04 09:18:22 +02:00
Tim Donohue
e4ab84e29b Merge pull request #2727 from atmire/workflow-item-read-rights
Administer Workflow (Abort WorkflowItem, Delete WorkflowItem)
2020-05-01 09:48:53 -05:00
Tim Donohue
2cff30e59b Merge pull request #2720 from tdonohue/fix_security_alerts_for_spring
Upgrade backend to Spring Boot v2.2.6, Spring v5.2.5, Spring HATEOAS v1.0.3
2020-04-30 16:23:30 -05:00
Mykhaylo
676648568d fix return http status for wrong patch request to the submission 2020-04-30 18:58:52 +02:00
Mykhaylo
91d70d85ce added ITs to prove that patch request with wrong path or metadata must return 422 2020-04-30 17:40:29 +02:00
Raf Ponsaerts
247b965dd4 Reorder structure of DiscoveryIT#init method 2020-04-29 14:46:59 +02:00
Raf Ponsaerts
b59aeecf0e Added extra cleanup to the EPersonRestRepositoryIT and optimized test in RegistrationRestControllerIT 2020-04-29 14:03:03 +02:00
Yana De Pauw
8e0b22ad6c 70415: jurisdiction 2020-04-29 11:17:17 +02:00
Yana De Pauw
b271ae6621 70338: Cleanup CC license code 2020-04-28 17:17:48 +02:00
Antoine Snyers
bf54ae6af0 Add JavaDocs 2020-04-28 11:47:03 +02:00
Tim Donohue
a2ff1375b1 Update README test instructions. Were outdated 2020-04-27 10:35:50 -05:00
Tim Donohue
9575b23949 Fix bug with testing. dspace-rest should only be used when enabled. Remove it from coverage reports. 2020-04-27 10:35:16 -05:00
Raf Ponsaerts
94d9f62358 [Task 70399] added context authorizations modifications for eperson post with token and added its to verify functionality 2020-04-27 14:52:00 +02:00
Raf Ponsaerts
4913c5a9e9 [DS-4443] changed asserts to equals and fixed test run 2020-04-27 10:33:46 +02:00
Kevin Van de Velde
36264cca50 Submission CreativeCommons license rest evaluator plugin addition so that it plays nicely with the access restrictions 2020-04-23 14:57:54 +02:00
Yana De Pauw
a27b64c88f 70506: CC license (REST): Patch submission (Remove) 2020-04-22 18:00:43 +02:00
Tim Donohue
e89b8d3943 Checkstyle fixes to previous updates 2020-04-22 10:32:32 -05:00
Tim Donohue
eb9ae8e14d Upgrade to latest version of Spring dependencies (as new versions have been released) 2020-04-22 10:25:13 -05:00
Tim Donohue
75d65b0f70 Spring HATEOAS updates for new code (after rebase on master) 2020-04-22 09:45:20 -05:00
Tim Donohue
ee0d6f03bd Rename DSpaceRelProvider to DSpaceLinkRelationProvider to match HATEOAS classes 2020-04-22 09:44:40 -05:00
Tim Donohue
edcefe1885 Fix dependency convergence issue between dspace-rest and dspace-oai 2020-04-22 09:11:08 -05:00
Tim Donohue
9219657ede Fix dependencies in /dspace/modules/server. Minor dependency reordering 2020-04-22 09:11:07 -05:00
Tim Donohue
88855a8fe1 Minor update to recent code based on update to Spring Boot 2020-04-22 09:11:07 -05:00
Tim Donohue
c571e0927a Fix broken/incorrect mock statement 2020-04-22 09:11:07 -05:00
Tim Donohue
3804b35854 Checkstyle fixes 2020-04-22 09:11:07 -05:00
Tim Donohue
967b9debd0 Replacement for Identifiable interface, which was removed in Spring HATEOAS v1. Ensure any BaseObjectRest is referenced by identifier like previously. 2020-04-22 09:11:07 -05:00
Tim Donohue
5feeb89d13 Remove jsonpath from Parent POM dependencies. It strangely causes JSONPath NoClassDefFoundErrors in Spring HATEOAS during runtime. Removing from Parent POM (but leaving in dspace-server-webapp) resolves those errors. 2020-04-22 09:11:07 -05:00
Tim Donohue
48c5e6953f Cleanup: Reorder/organize POM properties 2020-04-22 09:11:07 -05:00
Tim Donohue
32f5d62963 Ensure getRel() always uses value() to obtain String value 2020-04-22 09:11:06 -05:00
Tim Donohue
95e25f2fcc Pin version of Jetty to same version used in Solr. Update IT settings 2020-04-22 09:11:06 -05:00
Tim Donohue
7967871033 Correct Spring Security version for REST API. Realign related dependencies 2020-04-22 09:11:06 -05:00
Tim Donohue
4503cf800b Fix compilation errors in Tests 2020-04-22 09:11:06 -05:00
Tim Donohue
5420408c82 Updating code to Spring HATEOAS v1.0 compatibility 2020-04-22 09:11:06 -05:00
Tim Donohue
3d4eb91efb Upgrade Spring v5.2.4, Spring Boot v2.2.5, HAL Browser v3.2.5, Mockito 3.1.0 2020-04-22 09:11:05 -05:00
Yana De Pauw
09c0f62561 70505: Patch submission (Add): Bugfixing & tests 2020-04-22 14:39:53 +02:00
Luigi Andrea Pascarelli
541eae4d37 [DS-4149] porting additional indexer OAI 2020-04-22 13:08:45 +02:00
Raf Ponsaerts
3c28c65501 [Task 70478] applied feedback to the login as feature 2020-04-22 12:56:42 +02:00
Raf Ponsaerts
cf61ae987e [Task 70478] applied feedback to the login as eperson functionality and tests 2020-04-22 09:11:28 +02:00
Tim Donohue
42e5c0a862 [maven-release-plugin] prepare for next development iteration 2020-04-21 10:19:34 -05:00
Tim Donohue
7567824e97 [maven-release-plugin] prepare release dspace-7.0-beta2.1 2020-04-21 10:19:24 -05:00
Tim Donohue
84d49a219c Merge pull request #2750 from Micheleboychuk/DS-4487
This is an alternative PR for DS-4487 that also include test to proof the issue and solution
2020-04-21 10:01:17 -05:00
Tim Donohue
73eaf508fd Add in missing context.restoreAuthSystemState(); 2020-04-21 09:03:56 -05:00
Mykhaylo
b3823d4c38 avoid concurrent modification exception 2020-04-21 14:16:03 +02:00
Mykhaylo
f2a761b85c test to show the bug DS-4487 2020-04-21 14:13:39 +02:00
Tim Donohue
b36565361e [maven-release-plugin] prepare for next development iteration 2020-04-20 11:28:42 -05:00
Tim Donohue
9ef0cbaab8 [maven-release-plugin] prepare release dspace-7.0-beta2 2020-04-20 11:28:32 -05:00
Raf Ponsaerts
c7f6a46296 [Task 70419] fixed a bug where the RelationshipService creation did not check the max cardinality properly 2020-04-20 17:18:27 +02:00
Tim Donohue
854ef8abee Merge pull request #2748 from tdonohue/fix_broken_pagination
[HIGH PRIORITY] Fix broken pagination in Browse endpoints
2020-04-20 09:29:30 -05:00
Yana De Pauw
0920de7b21 70404: CC license (REST): Patch submission (Add) 2020-04-20 12:57:49 +02:00
Raf Ponsaerts
cb8b5c8efc [Task 70399] created the POST EPerson endpoint with token and added tests 2020-04-20 11:31:34 +02:00
Tim Donohue
fbd8757a77 Fix pagination bug by replacing params if they already exist 2020-04-17 16:18:02 -05:00
Tim Donohue
c4ab6e77f5 Create EmbeddedPageHeaderTest to prove pagination bug exists in getLinks() method 2020-04-17 16:01:58 -05:00
Raf Ponsaerts
fee24e3f96 [Task 70398] implementing change password with token patch and added ITs for the functionality 2020-04-17 14:14:25 +02:00
Yana De Pauw
5800bef325 70403: Add javadocs, undo line adjustments, LicenseMetadataValue changes 2020-04-17 13:13:40 +02:00
benbosman
6c91e98f48 Merge pull request #19 from atmire/w2p-70401_count-queries-circular-entities
W2p 70401 count queries circular entities
2020-04-17 12:02:31 +02:00
Antoine Snyers
3263d7f137 Return workflow items for the workflowAdmin configuration 2020-04-17 10:24:03 +02:00
Tim Donohue
f9822a728e Merge pull request #2722 from atmire/w2p-69349_edit-community-assign-roles
Edit Community/Collection - Assign Roles/Groups
2020-04-16 11:36:09 -05:00
Yana De Pauw
b30f9d9338 70403: CC license (REST): New submission section 2020-04-16 16:51:02 +02:00
Raf Ponsaerts
802e641a3b Fix test issues after master merge 2020-04-16 13:43:45 +02:00
Raf Ponsaerts
dd00ab2bd3 Merge remote-tracking branch 'dspace/master' into w2p-69349_edit-community-assign-roles 2020-04-16 11:12:15 +02:00
Raf Ponsaerts
5bff87e4ee [Task 70401] fixed the RelationshipService#countByItemAndRelationshipType to keep the isLeft parameter into account 2020-04-16 09:42:04 +02:00
Raf Ponsaerts
85e3bd0c52 [Task 70401] adding failing IT to prove that count is wrong with parent and child OrgUnits in the findByLabel 2020-04-16 08:49:06 +02:00
Marie Verdonck
bb1d5bd47a 70402: Tests for replace /metadata PATCH of own metadata at /eperson/epersons/<id> 2020-04-15 13:12:51 +02:00
Marie Verdonck
5727d090a9 70402: authorization logic via pre-authorize, in EPersonRestPermissionEvaluatorPlugin 2020-04-15 13:11:15 +02:00
Raf Ponsaerts
7da7ff0378 [Task 70397] added EPersonRegistrationFeature and added ITs 2020-04-15 12:57:51 +02:00
Marie Verdonck
738b8c4329 70402: authorization logic in EPersonRestRepository#Patch 2020-04-15 12:42:13 +02:00
Raf Ponsaerts
f07c382441 [Task 70382] added the search findByToken method for Registrations and added ITs 2020-04-15 10:31:29 +02:00
Yana De Pauw
794ee9fb9f 70337: Search CC License 2020-04-14 15:59:21 +02:00
Raf Ponsaerts
153786cac5 [Task 70131] added X-On-Behalf-Of to allowedHeaders 2020-04-14 14:41:54 +02:00
Raf Ponsaerts
f14097c9db [Task 70387] applied feedback to the IT in CollectionGroupRestControllerIT 2020-04-14 13:02:07 +02:00
Raf Ponsaerts
44d3d2bcc3 [Task 70273] added POST endpoint for new registration creation and IT 2020-04-14 11:58:50 +02:00
Kevin Van de Velde
5638c631d7 Undoing some changes that aren't needed 2020-04-10 15:50:59 +02:00
Yana De Pauw
f51a12d010 70334: CC license (REST): Initial fineOne endpoint 2020-04-10 10:27:32 +02:00
Tim Donohue
8ad01b2ddf Merge pull request #2736 from Micheleboychuk/DS-4412-ITs_toProveThatUsersInAdministratorsGroupGetFullAdminRights
DS-4412 Create Integration Tests to prove that users in the Administrators group get full Admin Rights
2020-04-09 16:14:05 -05:00
Mykhaylo
ffdd4a8474 renamed AdministratorOf in AdministratorOfFeature 2020-04-09 19:45:56 +02:00
Tim Donohue
c529d18880 Merge pull request #2719 from atmire/w2p-69741_Refactoring-Rest-Converters
REST API should respect "metadata.hide" configurations
2020-04-09 11:29:53 -05:00
Raf Ponsaerts
63c14b3ccb [Task 70333] removed the RelationshipTypeId from Relationship endpoints 2020-04-09 16:15:12 +02:00
Raf Ponsaerts
b0baab079a undo typo 2020-04-09 15:28:44 +02:00
Raf Ponsaerts
a74f11e11a Fixed checkstyle 2020-04-09 15:28:01 +02:00
Raf Ponsaerts
16675e405f Merge remote-tracking branch 'dspace/master' into w2p-69349_edit-community-assign-roles
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/GroupRestController.java
2020-04-09 15:04:34 +02:00
Raf Ponsaerts
5afb016bee [Task 70353] applied feedback to the community and collection groups 2020-04-09 15:02:37 +02:00
Yana De Pauw
18c8efd951 70332: Implement feedback 2020-04-09 14:26:39 +02:00
Kevin Van de Velde
3667ce4b40 Removing some outdated comments & added a missing override 2020-04-09 14:12:35 +02:00
Raf Ponsaerts
c88af9f2ce [Task 70231] Added orgUnit x orgUnit relationshiptype and test to prove the labels in a circular relationship 2020-04-09 14:08:59 +02:00
Raf Ponsaerts
7de471ddaf [Task 70232] moved createReadGroup to the collectionService and used this in both the Repository class and the IT class 2020-04-09 10:10:18 +02:00
Yana De Pauw
109be79edd 70236: Update log messages 2020-04-09 09:38:58 +02:00
Tim Donohue
1470406183 Merge pull request #2723 from atmire/Manage-groups-2
Group/EPerson management: Delete, retrieve parent object & patch support
2020-04-08 14:37:14 -05:00
Yana De Pauw
6e0396e6ad 70213: Initial findAll endpoint & backend 2020-04-08 15:14:18 +02:00
Antoine Snyers
d231304355 Rewrite authorization and remove try-finally blocks 2020-04-08 14:02:55 +02:00
Raf Ponsaerts
14a8b720bc [Task 70232] applied feedback with regards to the collection and community groups 2020-04-08 13:18:13 +02:00
Kevin Van de Velde
fb1a90b7dc Removing enter in a file that we didn't need to modify 2020-04-07 11:18:31 +02:00
Tim Donohue
1c514b8c4f Merge pull request #2737 from tdonohue/DS-4476
Upgrade version of m-enforcer-plugin to fix DS-4476
2020-04-06 10:12:20 -05:00
Antoine Snyers
e62d912b11 Replace GroupService by GroupBuilder in a couple tests 2020-04-06 15:51:44 +02:00
Ben Bosman
10b3b20292 Support for a relationship from type A to type A (parent/child of same type) 2020-04-06 14:00:44 +02:00
Antoine Snyers
b49c86ac49 Whitespace fix 2020-04-06 11:14:58 +02:00
Raf Ponsaerts
4031e41a5d [Task 70080] applied feedback to the scripts and processes functionality 2020-04-06 10:41:51 +02:00
Antoine Snyers
1f3e7f732b Allow the parent object link for members of the group 2020-04-06 10:12:02 +02:00
Mykhaylo
4522618531 renamed class AdministratorFeature to AdministratorOf and added description 2020-04-06 09:40:22 +02:00
Raf Ponsaerts
935a2df27e [DS-4443] moved test to dspace-api. Succeeds in a single run, fails in full test run 2020-04-06 09:09:59 +02:00
Tim Donohue
20ab631541 Upgrade version of m-enforcer-plugin to fix DS-4476 2020-04-03 14:57:31 -05:00
Mykhaylo
a4a9126620 added IT for Administrator feature 2020-04-03 17:31:34 +02:00
Mykhaylo
09b2f0e17a added javadoc 2020-04-03 17:28:53 +02:00
Antoine Snyers
fd573bc094 Checkstyle fix 2020-04-03 16:57:20 +02:00
Antoine Snyers
37abae898a Add license 2020-04-03 16:14:17 +02:00
Mykhaylo
bd0055d563 added ITs for Administrator feature 2020-04-03 14:59:41 +02:00
Antoine Snyers
5d37956b7a Remove ResourceNotFoundException from GroupParentObjectLinkRepository
This caused 404 responses in endpoints that used this link.
2020-04-03 14:47:52 +02:00
Antoine Snyers
d411ef0b40 Merge remote-tracking branch 'upstream/master' into Manage-groups-2 2020-04-03 14:06:04 +02:00
Antoine Snyers
17daf34c47 Update tests, imports, fields and javadoc 2020-04-03 13:59:40 +02:00
Raf Ponsaerts
3389a2c857 [Task 70178] applied feedback to the LoginAs feature 2020-04-03 12:59:32 +02:00
Raf Ponsaerts
d5d1edffb4 [DS-4443] fixed the solr record deletion after workspaceitem removal and added a test for it 2020-04-03 11:11:58 +02:00
Tim Donohue
c2421d136c Merge pull request #2732 from tdonohue/config_override_spring_properties
Allow DSpace's ConfigurationService to override Spring Boot properties
2020-04-02 14:32:18 -05:00
Mykhaylo
1d6f6ef02b added IT to prove that an eperson has same rights when is part of admin group 2020-04-02 18:39:18 +02:00
Mykhaylo
ce2f965b9c implemented Administrator feature 2020-04-02 18:33:27 +02:00
Raf Ponsaerts
563d3f1241 [Task 70148] processed community feedback on Subresource permissions 2020-04-02 16:25:24 +02:00
Raf Ponsaerts
1f6e1e067b [Task 70140] implemented loginOnBehalfOfFeature and tests, cleaned up unneeded code in StatelessAuthenticationFilter 2020-04-02 15:31:13 +02:00
Antoine Snyers
3dc413c366 Make a separate bean for workflowAdmin and clarify the comments in the ITs 2020-04-02 14:29:29 +02:00
Raf Ponsaerts
f11707b83a [Task 69975] applied further feedback to the Collection Groups 2020-04-02 11:35:37 +02:00
Raf Ponsaerts
f3ff763e48 [Task 70144] applied further feedback on the CollectionBuilder 2020-04-02 09:44:14 +02:00
Antoine Snyers
af523ea822 Rearrange imports 2020-04-02 09:19:37 +02:00
Tim Donohue
b40ba0c0e5 Update default configs / comments to document how to use local.cfg to override Spring Boot 2020-04-01 15:22:31 -05:00
Tim Donohue
55fe1a2705 Allow DSpace's ConfigurationService to override Spring Boot properties 2020-04-01 15:22:00 -05:00
Tim Donohue
a80fe4ec13 Merge pull request #2729 from atmire/max-file-size
refactoring max file size
2020-04-01 13:12:34 -05:00
Ben Bosman
bbb3af2a36 Merge remote-tracking branch 'community/master' into w2p-68820_Moving-relationships-ITs 2020-04-01 16:58:29 +02:00
nicholas
5d714a174e include limit and offset when retrieving items for a collection 2020-04-01 09:22:29 -05:00
Raf Ponsaerts
91242285bc [Task 70131] cleanup and futher implement login as feature 2020-04-01 16:20:26 +02:00
Raf Ponsaerts
0f981d2c2b [Task 70144] applied feedback with regards to the collectionGroups and added workflowgroup/workflowRole links to the collections 2020-04-01 15:47:11 +02:00
Antoine Snyers
03427d1cdd Update javadoc 2020-04-01 15:35:36 +02:00
Antoine Snyers
c9b9c7adf3 Let metadata patches for permanent groups work & adjust tests 2020-04-01 15:31:26 +02:00
Raf Ponsaerts
c12d83fb76 [Task 70131] intermediate fixes error handling 2020-04-01 13:37:55 +02:00
Antoine Snyers
d33732ce28 Merge remote-tracking branch 'upstream/master' into Manage-groups-2 2020-04-01 12:58:11 +02:00
Antoine Snyers
eff40c4f82 Update javadoc 2020-04-01 12:40:04 +02:00
Ben Bosman
a74eacefda refactorign max file size: https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/web/servlet/MultipartProperties.html 2020-04-01 12:14:17 +02:00
Antoine Snyers
102a2e8d6a Merge remote-tracking branch 'upstream/master' into workflow-item-read-rights 2020-04-01 11:53:46 +02:00
Raf Ponsaerts
4698ebcdbc [Task 70131] added support for the login as feature and added simple test 2020-03-31 15:55:36 +02:00
Antoine Snyers
40fd23aee9 Update imports 2020-03-31 13:33:45 +02:00
Yana De Pauw
7de0baab8f Fix checkstyle issue 2020-03-31 12:58:36 +02:00
Yana De Pauw
ae4125054e Merge remote-tracking branch 'upstream/master' into w2p-69741_Refactoring-Rest-Converters
Conflicts:
	dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionRestRepositoryIT.java
2020-03-31 12:58:23 +02:00
Raf Ponsaerts
ca1918ddae [Task 69975] fixed checkstyle 2020-03-31 11:57:23 +02:00
Raf Ponsaerts
17d1b20086 Merge remote-tracking branch 'dspace/master' into w2p-69349_edit-community-assign-roles
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityRestRepository.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/CommunityRestRepositoryIT.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/matcher/CollectionMatcher.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/matcher/CommunityMatcher.java
2020-03-31 11:57:04 +02:00
Yana De Pauw
3c86e46b81 Remove test config for metadata hide 2020-03-31 11:37:26 +02:00
Antoine Snyers
db1ce66b9a Add license to new java file 2020-03-31 11:20:32 +02:00
Raf Ponsaerts
34d8bd33bc [Task 70087] fixed checkstyle after master merge 2020-03-31 10:13:04 +02:00
Raf Ponsaerts
1abdf556bd Merge remote-tracking branch 'dspace/master' into w2p-69976_subresource-permissions
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityCollectionLinkRepository.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityRestRepository.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunitySubcommunityLinkRepository.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionRestRepositoryIT.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/CommunityRestRepositoryIT.java
2020-03-31 10:12:38 +02:00
Tim Donohue
2334a87e3a Merge pull request #2707 from Micheleboychuk/DS-4122_comcol_permissions
DS-4122 Create Integration Tests to prove access restricted Communities/Collections cannot be accessed anonymously
2020-03-30 09:31:03 -05:00
Raf Ponsaerts
c8ea153eb0 [Task 69975] deleting all default read groups after collection deletion in tests 2020-03-30 16:26:51 +02:00
Ben Bosman
165e392910 layout changes 2020-03-30 15:39:03 +02:00
Raf Ponsaerts
5656e35674 [Task 70087] added ITs for the subresource permissions 2020-03-30 14:37:00 +02:00
Raf Ponsaerts
95f1124de5 [Task 70080] implemented generics and DSpaceRunnableClass definition on Spring level and fixed ITs 2020-03-30 11:36:42 +02:00
Tim Donohue
8bcbfd692d Merge pull request #2724 from tdonohue/licensing_updates
Update to LICENSE and NOTICE per LYRASIS merger
2020-03-27 12:15:06 -05:00
Tim Donohue
16ea2b123e Update to LICENSE and NOTICE per LYRASIS merger 2020-03-27 11:11:04 -05:00
Tim Donohue
b6b2e6c800 Merge pull request #2651 from 4Science/dspace-7-shibboleth
Dspace 7 shibboleth (REST)
2020-03-27 09:52:11 -05:00
Raf Ponsaerts
0232916dc5 [Task 70080] applying feedback to scripts and processes splitting config and runnable 2020-03-27 15:03:05 +01:00
Raf Ponsaerts
3492b6d8bc [Task 70058] fixed the tests and checkstyle 2020-03-27 10:05:13 +01:00
Raf Ponsaerts
7e5db83464 [Task 70058] fixed the majority of the tests 2020-03-27 09:10:09 +01:00
Tim Donohue
bfa007cd5d Merge pull request #2721 from DSpace/pull_request_template
Create an initial PR template for DSpace 7
2020-03-26 12:10:32 -05:00
Tim Donohue
77001f9bd4 Merge pull request #2716 from Micheleboychuk/DS-4411-newlyCreatedUsersHaveNoSpecialRights
DS-4411 Create Integration Tests to prove newly created users have no special rights
2020-03-26 12:06:47 -05:00
Raf Ponsaerts
e79caf9970 [Task 70058] start fixing tests + refactor toRestPage methods in utils to properly handle and skip null values 2020-03-26 13:05:03 +01:00
Antoine Snyers
63bacbde32 Add an integration test for the workflowAdmin configuration 2020-03-26 09:52:06 +01:00
Raf Ponsaerts
d36fffa348 [Task 70058] added permisson evaluators for several BaseObjectRest objects 2020-03-26 08:19:09 +01:00
Tim Donohue
df7e523456 Formatting changes & grammar correction 2020-03-25 10:22:30 -05:00
Tim Donohue
c122e9bb5c Fix misspelling 2020-03-25 10:16:22 -05:00
Tim Donohue
807297d00a Reorganize changes/suggestions. Simplify language 2020-03-25 10:03:26 -05:00
Raf Ponsaerts
8099fce15a Merge remote-tracking branch 'dspace/master' into w2p-69349_edit-community-assign-roles 2020-03-25 14:59:43 +01:00
Andrea Bollini
61680db9f9 Add mention about PR size in the checklist 2020-03-25 14:54:50 +01:00
Andrea Bollini
f97834d035 Add extra check and more layout for our template 2020-03-25 14:52:09 +01:00
Antoine Snyers
224d252f1a Add comments to discovery.xml config and move constants to plugin class 2020-03-25 14:13:03 +01:00
Raf Ponsaerts
e4a6331699 [Task 69976] start fixing tests and permission checks 2020-03-25 14:01:51 +01:00
Giuseppe Digilio
671faf3569 Fixed checkstyle violations 2020-03-25 10:28:40 +01:00
Raf Ponsaerts
984de8434d [Task 69976] moved uppercase instance to RestObjectPermissionEvaluatorPlugin and hid null values from the paged list 2020-03-25 09:30:21 +01:00
Tim Donohue
29910ee6c9 Create an initial PR template for DSpace 7 2020-03-24 15:28:20 -05:00
Giuseppe Digilio
0d7ba9b841 Merge remote-tracking branch 'origin/master' into dspace-7-shibboleth 2020-03-24 21:25:50 +01:00
Tim Donohue
15aacd0234 Merge pull request #2715 from atmire/w2p-69710_port-longname-mandatory
[Scripts & processes] Adding mandatory / longname options to rest output
2020-03-24 14:30:03 -05:00
Raf Ponsaerts
60afa23106 [Task 69975] fixed tests 2020-03-24 16:27:47 +01:00
Raf Ponsaerts
f5ccb432f2 [Task 69976] initial implementation of extra permission check for subresources 2020-03-24 14:44:34 +01:00
Antoine Snyers
516c7b39a9 Make patch completely unprocessable for specific groups 2020-03-24 13:51:29 +01:00
Andrea Bollini
94706cfcc2 Fix checkstyle issue after update to 8.30, move comments closer to the relevant code 2020-03-24 12:21:29 +01:00
Andrea Bollini
ef4a33b584 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-4122_comcol_permissions 2020-03-24 12:18:16 +01:00
Mykhaylo
db7f9c5c08 fix checkstyle issue 2020-03-24 12:16:36 +01:00
Raf Ponsaerts
6a7f998385 Intermediate Commit 2020-03-24 12:06:29 +01:00
Raf Ponsaerts
e6c8c3d45c Merge remote-tracking branch 'dspace/master' into w2p-69349_edit-community-assign-roles 2020-03-24 11:00:45 +01:00
Mykhaylo
2e8fef4d71 added a comment 2020-03-24 10:41:37 +01:00
Yana De Pauw
9df42b3dea Merge remote-tracking branch 'upstream/master' into w2p-69741_Refactoring-Rest-Converters
Conflicts:
	dspace-server-webapp/src/test/java/org/dspace/app/rest/ItemRestRepositoryIT.java
2020-03-23 16:10:53 +01:00
Raf Ponsaerts
25ca31f8cf [Task 69724] Scripts&Processes: cleanup and javadoc 2020-03-23 14:44:55 +01:00
Raf Ponsaerts
e9d56e7c41 [Task 69724] Scripts&Processes: split configuration and runnable 2020-03-23 14:13:11 +01:00
Tim Donohue
0039b309d1 Merge pull request #2663 from 4Science/DS-4413_authz
Initial implementation of the authorizations endpoints
2020-03-23 07:37:41 -05:00
Raf Ponsaerts
c5285109e9 Merge remote-tracking branch 'dspace/master' into w2p-64428_scripts-prototype-importing-and-exporting
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/link/process/ProcessResourceHalLinkFactory.java
2020-03-23 11:32:01 +01:00
Andrea Bollini
c9bca71bbf Add extra check to verify that the returned feature is the expected one 2020-03-23 11:30:58 +01:00
Antoine Snyers
7e5a2f3698 Make delete unprocessable for specific groups 2020-03-23 11:29:35 +01:00
Antoine Snyers
e47ad74e35 Implement the GroupNameReplaceOperation 2020-03-23 10:23:54 +01:00
Yana De Pauw
9a03eb8d6d 69944: ITs for metadata.hide 2020-03-23 10:06:41 +01:00
Andrea Bollini
95504b4121 Fix checkstyle issues 2020-03-20 21:46:48 +01:00
Andrea Bollini
5e2fc68fbd Code cleanup - removed unused special group lists 2020-03-20 19:04:09 +01:00
Andrea Bollini
8cced80df3 Merge branch 'master' of https://github.com/DSpace/DSpace into authz 2020-03-20 18:35:42 +01:00
Andrea Bollini
59b7716725 Add expected embedded in the search test 2020-03-20 18:28:30 +01:00
Raf Ponsaerts
f5fb694e85 [Task 69689] added and fixed tests for the Collection Groups 2020-03-20 16:52:11 +01:00
Tim Donohue
eeb12583d5 Merge pull request #2680 from atmire/w2p-68732_list-version-history
Read only versioning endpoints
2020-03-20 10:37:20 -05:00
Tim Donohue
01067fa941 Merge pull request #2718 from 4Science/fix_checkstyle830
Fix checkstyle issues after merge 8.30
2020-03-20 07:28:10 -05:00
Raf Ponsaerts
0541a25d2f Fixed various tests 2020-03-20 13:08:27 +01:00
Andrea Bollini
efacb481c1 Fix checkstyle issues after merge 8.30 2020-03-20 12:24:14 +01:00
Antoine Snyers
227317bbe0 Test for Unprocessable status for permanent group names 2020-03-20 11:37:36 +01:00
Raf Ponsaerts
27d09d1f66 Intermediate Commit 2020-03-20 11:29:16 +01:00
Raf Ponsaerts
541a9d7ce4 checkstyle fixes 2020-03-20 11:00:07 +01:00
Raf Ponsaerts
1d4781a772 Merge remote-tracking branch 'dspace/master' into w2p-68732_list-version-history
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemRestRepository.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java
2020-03-20 10:59:55 +01:00
Antoine Snyers
c2ea8a0eeb Test for Unprocessable status and adjust code style 2020-03-20 10:04:13 +01:00
Raf Ponsaerts
a73e4cbd37 [Task 69916] submitter name exposure change 2020-03-20 09:44:56 +01:00
Raf Ponsaerts
2d048d7df8 Intermediate Commit 2020-03-20 08:25:13 +01:00
Andrea Bollini
8c234d1a5c Merge pull request #2711 from tdonohue/upgrade_checkstyle
Upgrade to Checkstyle v8.30
2020-03-19 14:24:37 +01:00
Yana De Pauw
1b5761f2b9 69741: Restrict metadata exposure acccording to hidden metadata configuration 2020-03-19 13:40:24 +01:00
Antoine Snyers
cc471c4f50 Add the SolrServiceWorkspaceWorkflowRestrictionPlugin and the workflowAdmin bean
This moves some workspace and workflow specific code from SolrServiceImpl to
the new SolrServiceWorkspaceWorkflowRestrictionPlugin. This also updates the
SolrServiceResourceRestrictionPlugin to restrict those records based on read
rights as well.
2020-03-18 15:54:49 +01:00
Tim Donohue
084d307575 Merge pull request #2717 from 4Science/DS-4462-7_x
[DS-4462] fix CREATEDATE format using the correct specifiers
2020-03-18 09:52:52 -05:00
Raf Ponsaerts
b5c8afefee [Task 69689] fixed the workflow groups endpoints 2020-03-18 15:17:34 +01:00
Mykhaylo Boychuk
9ce5c58626 Implement community feedback 2020-03-17 17:46:04 +01:00
Ben Bosman
932664650c Using token since workspace security is now in place 2020-03-17 17:24:11 +01:00
Ben Bosman
d4cc5f4587 Using token since workspace security is now in place 2020-03-17 16:41:10 +01:00
Raf Ponsaerts
2f741081d0 [Task 69689] added various endpoints for Group management 2020-03-17 16:28:30 +01:00
Ben Bosman
9dc0c1ad3d Merge remote-tracking branch 'community/master' into w2p-68820_Moving-relationships-ITs 2020-03-17 15:50:59 +01:00
Tim Donohue
6b418d6abc Merge pull request #2675 from Micheleboychuk/revisitSecurityLayerOfSubmission-DS-4043
DS-4043 Revisit security layer of submission
2020-03-17 09:08:54 -05:00
Mykhaylo
56a5a0369e newly created account hasn't groups 2020-03-17 10:26:05 +01:00
Luigi Andrea Pascarelli
26d4e569ec [DS-4462] fix CREATEDATE format using the correct specifiers 2020-03-16 18:46:12 +01:00
Andrea Bollini
f0210c5a46 encapsulate the logic to switch current user in the context class 2020-03-16 18:36:38 +01:00
Mykhaylo
3d668d7134 added IT in ItemOwningCollectionUpdateRestControllerIT 2020-03-16 18:26:22 +01:00
Mykhaylo
a7ea0f6e16 normal user must be able to check the configuration 2020-03-16 18:19:21 +01:00
Mykhaylo Boychuk
5698cfd4bd Merge branch 'master' into DS-4411-newlyCreatedUsersHaveNoSpecialRights 2020-03-16 18:06:02 +01:00
Mykhaylo
e1b4712e73 Merge branch 'master' into DS-4411-newlyCreatedUsersHaveNoSpecialRights 2020-03-16 18:00:16 +01:00
Mykhaylo
8a6246038b fix typo, use the normal user token 2020-03-16 15:59:47 +01:00
Antoine Snyers
65a1a2d15e GET /api/eperson/groups/<:uuid>/object 2020-03-16 10:55:27 +01:00
Mykhaylo
8bdd0a3dae Merge branch 'master' into revisitSecurityLayerOfSubmission-DS-4043 2020-03-14 00:45:35 +01:00
Mykhaylo
676558ad89 fixed output message of RuntimeException 2020-03-13 23:05:05 +01:00
Giuseppe Digilio
0951d0ae07 Added comments for authentication-shibboleth.lazysession.loginurl in authentication-shibboleth.cfg 2020-03-13 19:40:43 +01:00
Giuseppe Digilio
1a3bce8eab Added methods to test shibboleth url using port 2020-03-13 19:33:13 +01:00
Giuseppe Digilio
2044d33908 Use configurationService to set default authentication-shibboleth.lazysession.loginurl in getShibURL method 2020-03-13 19:31:50 +01:00
Giuseppe Digilio
d665125788 Added port to getBaseUrl 2020-03-13 19:30:45 +01:00
Raf Ponsaerts
4ebb94e520 [Task 69710] added longname and mandatory to parametermatcher 2020-03-13 15:57:34 +01:00
Antoine Snyers
de79405b74 DELETE /api/eperson/groups/<:uuid> 2020-03-13 15:38:49 +01:00
Raf Ponsaerts
4c959d407b [Task 69710] implemented mandatory and longname for parameterRest objects 2020-03-13 15:35:59 +01:00
Raf Ponsaerts
ff63e6b464 [Task 69684] added javadoc and fixed that dc.title can't be set for AdminGroup 2020-03-13 14:38:43 +01:00
Raf Ponsaerts
b19c4022ac Javadocs 2020-03-13 13:43:54 +01:00
Raf Ponsaerts
32d48ecff7 [Task 69638] removed the VersionController, made it into the LinkRepository plus added framework to disallow linksto be created 2020-03-13 13:38:51 +01:00
Giuseppe Digilio
3989987a41 Merge remote-tracking branch 'origin/master' into dspace-7-shibboleth 2020-03-13 12:52:19 +01:00
Mykhaylo
5d98bcd911 Implement community feedback 2020-03-12 22:21:17 +01:00
Tim Donohue
380bc34e5a Merge pull request #2686 from atmire/Manage-groups
Manage groups and EPeople
2020-03-12 14:07:12 -05:00
Tim Donohue
390264894c Merge pull request #2706 from atmire/w2p-69316_Add-2-facets--withdrawn-and-discoverable
Discovery index for private and withdrawn items
2020-03-12 13:47:02 -05:00
Ben Bosman
c5bf6ec80d Renaming discoverableAndUndiscoverableItems to administrativeView 2020-03-12 17:50:23 +01:00
Mykhaylo
46e532218c Merge branch 'master' into revisitSecurityLayerOfSubmission-DS-4043 2020-03-12 17:45:50 +01:00
Ben Bosman
82df51f06e JavaDocs fix 2020-03-12 17:35:43 +01:00
Tim Donohue
33b33c0b52 Merge pull request #2689 from Micheleboychuk/DS-4278
DS-4278 Submitters can edit all metadata
2020-03-12 11:23:49 -05:00
Chris Wilper
c0cb7a5f48 DS-4457 Avoid smtp authentication by default 2020-03-12 11:54:17 -04:00
Raf Ponsaerts
d072654ae6 [Task 69638] made the controller check the property, added tests, added extra check on the resource link addition 2020-03-12 16:19:23 +01:00
Tim Donohue
4ab134b632 Merge pull request #2685 from atmire/w2p-68726_Workflow-IT-in-rest
Workflow step definitions: action validation
2020-03-12 09:47:30 -05:00
Tim Donohue
a0a2c9950a Explain why submitter cannot use PATCH on in progress item 2020-03-12 09:37:42 -05:00
Yana De Pauw
e7702b14e0 69673: rename /groups to /subgroups 2020-03-12 15:32:02 +01:00
Raf Ponsaerts
c98bd13129 Merge remote-tracking branch 'dspace/master' into w2p-68732_list-version-history
Conflicts:
	dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkflowItemRestRepositoryIT.java
	dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java
2020-03-12 13:44:21 +01:00
Mykhaylo
9bf24e7ffa added attribute param in IT and added check that allow READ request 2020-03-12 12:03:58 +01:00
Samuel
f3aef56149 Discovery index for private and withdrawn items - feedback 2020-03-12 11:50:23 +01:00
Yana De Pauw
dc42d3e9b4 69609: Process IRUS DSpace 7 PR feedback 2020-03-12 11:37:03 +01:00
Marie Verdonck
65943dc0d6 Process feedback: Exception messages, renamed method & comment fix restored 2020-03-12 10:52:05 +01:00
Tim Donohue
4b54c6fc3c Fix new checkstyle failures for "CustomImportOrder: Extra separation in import group before.." 2020-03-11 15:34:48 -05:00
Mykhaylo
e22bb5d94d removed attribute param("projection","full") from IT 2020-03-11 16:58:40 +01:00
Tim Donohue
8a1e97d5f7 Upgrade to checkstyle v8.30, and minor changes to checkstyle.xml to support that version 2020-03-11 10:51:11 -05:00
Mykhaylo
37d5b13dd5 Merge branch 'revisitSecurityLayerOfSubmission-DS-4043' of https://github.com/Micheleboychuk/DSpace into revisitSecurityLayerOfSubmission-DS-4043 2020-03-11 14:46:28 +01:00
Mykhaylo
3017333024 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-4278
# Conflicts:
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java
2020-03-11 14:39:47 +01:00
Mykhaylo
0c4cfd997a added one IT to BitstreamControllerIT 2020-03-11 12:28:47 +01:00
Yana De Pauw
886d2fe4de Merge remote-tracking branch 'upstream/master' into DS-626 2020-03-11 11:51:23 +01:00
Mykhaylo
488e8369b1 fixed checkstyle errors 2020-03-11 11:17:02 +01:00
Tim Donohue
ddfb4f832d Merge pull request #2708 from anis-moubarik/mets-xslt-upgrade
[DS-4404] Explicitly initialize TransformerFactory with the Saxon transformer in OAI
2020-03-10 15:25:10 -05:00
Yana De Pauw
7f5a178036 69409: Implement community feedback 2020-03-10 18:13:09 +01:00
Andrea Bollini
2e7a12e166 Fix unnoted merge conflict by git 2020-03-10 18:00:52 +01:00
Tim Donohue
323990a3fc Merge pull request #2701 from atmire/w2p-69114_workflow-action-expose-from-claimed-pooled-task
Expose the action and step as an embed on workflow related objects
2020-03-10 11:17:11 -05:00
Raf Ponsaerts
37d32d5863 Added javadoc to the StepLinkRepositories 2020-03-10 15:03:38 +01:00
Raf Ponsaerts
8f78381ae9 [Task 69349] changed communityAdmin check and added tests 2020-03-10 14:26:35 +01:00
Yana De Pauw
542a40ac1c 69428: workflow groups getCollection fix 2020-03-10 13:57:23 +01:00
Mykhaylo
87bc6a24ea Merge branch 'master' of https://github.com/DSpace/DSpace into DS-4122_comcol_permissions
# Conflicts:
#	dspace-api/src/test/data/dspaceFolder/config/spring/api/workflow.xml
#	dspace-api/src/test/java/org/dspace/xmlworkflow/XmlWorkflowFactoryTest.java
#	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java
#	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityRestRepository.java
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/ItemOwningCollectionUpdateRestControllerIT.java
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/builder/CommunityBuilder.java
2020-03-10 13:18:51 +01:00
Raf Ponsaerts
02cb339bb8 [Task 69349] fixed community and collection tests with new embed parameter instead of full projection 2020-03-10 11:49:13 +01:00
Anis
06daae307c Update the test as well 2020-03-10 12:44:35 +02:00
Anis
ab265f6c63 Explicitly initialize TransofmerFactory with the Saxon transformer in OAI 2020-03-10 12:13:05 +02:00
Mykhaylo
524fcf212a added ITs to prove newly created users have no special rights 2020-03-10 10:02:32 +01:00
Andrea Bollini
82d4908d62 Merge branch 'master' of https://github.com/DSpace/DSpace into authz 2020-03-10 09:58:20 +01:00
Raf Ponsaerts
b5bfbce1ea Merge remote-tracking branch 'dspace/master' into w2p-69349_edit-community-assign-roles 2020-03-10 09:31:44 +01:00
Raf Ponsaerts
7c15049da1 [Task 69349] working implementation adminGroups get, post, delete. Tests unfinished 2020-03-09 16:43:38 +01:00
Tim Donohue
2adb3143ce Merge pull request #2670 from atmire/DS-4433_Specify-embeds
DS-4433 Specify embeds
2020-03-09 10:04:00 -05:00
Tim Donohue
1bc6e97286 Merge pull request #2705 from tdonohue/keep_line_endings_sh_bat
Ensure *.sh and *.bat files keep line endings by default
2020-03-09 08:48:34 -05:00
Ben Bosman
0ac969b751 taskid 69316 Add 2 facets: withdrawn and discoverable 2020-03-09 11:40:32 +01:00
Andrea Bollini
4192b09d10 Add test for null object in isAuthorized 2020-03-08 19:21:27 +01:00
Andrea Bollini
616323a887 Add test for the AuthorizationFeatureService 2020-03-08 19:11:43 +01:00
Andrea Bollini
ace118a722 Fix special groups scenario 2020-03-08 17:43:28 +01:00
Andrea Bollini
db2257e6bf Add test related to the specialGroups 2020-03-08 17:41:52 +01:00
Andrea Bollini
d63493905b Javadoc cleanup, force projection in test that need it 2020-03-08 16:42:01 +01:00
Tim Donohue
66d5834429 Ensure *.sh and *.bat files keep line endings by default 2020-03-06 15:50:13 -06:00
Samuel
bdc6cb9026 taskid 69316 Add 2 facets: withdrawn and discoverable - fix checkstyle 2020-03-06 17:16:20 +01:00
Samuel
8a3e2573ec taskid 69316 Add 2 facets: withdrawn and discoverable tris 2020-03-06 16:19:24 +01:00
Samuel
cb38cb9141 taskid 69316 Add 2 facets: withdrawn and discoverable bis 2020-03-06 14:51:35 +01:00
Samuel
82069b3f52 taskid 69316 Add 2 facets: withdrawn and discoverable 2020-03-06 14:46:47 +01:00
Raf Ponsaerts
ef386fb5cb [Task 69343] added comments to the properties in rest.cfg 2020-03-06 14:30:27 +01:00
Yana De Pauw
3802095643 Merge remote-tracking branch 'upstream/master' into Manage-groups 2020-03-06 11:45:58 +01:00
Raf Ponsaerts
e0577e7322 [Task 69343] applied the feedback with regards to the specific embed functionality 2020-03-06 11:16:59 +01:00
Marie Verdonck
222d769d37 reinstated indents of master 2020-03-06 10:55:56 +01:00
Marie Verdonck
f0863a0505 only do step of workflow whose action is being tested 2020-03-06 10:40:10 +01:00
Mykhaylo
1f9f8510b4 added check for IndexableDSpaceObject & fix minor bugs 2020-03-05 22:29:35 +01:00
Yana De Pauw
5c6be96c9b Change FindByEmail no parameter test to BadRequest 2020-03-05 18:32:27 +01:00
Yana De Pauw
73798fe0b6 Merge branch 'master' into Manage-groups 2020-03-05 17:31:40 +01:00
Andrea Bollini
8e975bc228 Rename FindableObjectRepository in ReloadableEntityObjectRepository 2020-03-05 17:31:27 +01:00
Yana De Pauw
8e6ce081d6 Merge branch 'w2p-68781_Manage-groups-READ-only' into Manage-groups 2020-03-05 17:31:17 +01:00
Yana De Pauw
183a92c413 68781: Change eperson/uuid/groups to only return direct groups 2020-03-05 16:06:58 +01:00
Mykhaylo
b838ce4a6e DS-4043 Revisit security layer of submission 2020-03-05 11:18:58 +01:00
Yana De Pauw
3b1ef6ef0a 68781: Re-add findByEmail 2020-03-05 11:16:36 +01:00
Mykhaylo
1fdb728672 Merge branch 'master' of https://github.com/DSpace/DSpace into revisitSecurityLayerOfSubmission-DS-4043 2020-03-05 10:52:23 +01:00
benbosman
50847855b2 Merge pull request #18 from atmire/w2p-69256_workflow-steps-expose-from-claimed-and-pooled-tasks
[Task 69256] made the Step into a link/embed on ClaimedTasks, PoolTas…
2020-03-05 10:31:56 +01:00
Mykhaylo
0d8f494863 added IT that prove newly created account has no groups 2020-03-05 09:42:05 +01:00
Tim Donohue
7382afb85a Merge pull request #2627 from anis-moubarik/mets-xslt-upgrade
[DS-4404] Upgrade Mets crosswalk for oai to xslt 2.0
2020-03-04 14:21:59 -06:00
Tim Donohue
b0f9900c4b Merge pull request #2665 from Micheleboychuk/resourcepolicy-DS-4418
DS-4418 remove uuid from resource policy rest
2020-03-04 12:58:32 -06:00
Tim Donohue
d0ced1d94f Merge pull request #2688 from Micheleboychuk/ITforBitstream-DS-4124
DS-4124: Add ITs to prove access restricted Bitstreams cannot be accessed anonymously
2020-03-04 12:52:17 -06:00
Tim Donohue
315baa1b1e Merge pull request #2687 from Micheleboychuk/ITtoProveAccessRestrictedItem-DS-4123
DS-4123: ITs to prove access restricted Items cannot be accessed anonymously
2020-03-04 12:46:21 -06:00
Raf Ponsaerts
d7e91e8e4c [Task 69256] made the Step into a link/embed on ClaimedTasks, PoolTasks and WorkflowItems 2020-03-04 17:01:14 +01:00
benbosman
3c01cc2a80 Merge pull request #17 from atmire/w2p-69133_refactoring-and-its-specific-embeds-refactor
W2p 69133 refactoring and its specific embeds refactor
2020-03-04 13:06:23 +01:00
Raf Ponsaerts
20fa413ad8 [Task 69284] fully refactored the SpecificLevelProjection and tests 2020-03-04 12:01:06 +01:00
kshepherd
08e6d247b1 Merge pull request #2454 from tdonohue/DS-4073
DS-4073 fix. FindByValue should pass in value, not qualifier.
2020-03-04 10:22:10 +13:00
Tim Donohue
8fb5d1e90e [maven-release-plugin] prepare for next development iteration 2020-03-03 12:08:09 -06:00
Tim Donohue
80cd821f20 [maven-release-plugin] prepare release dspace-7.0-beta1 2020-03-03 12:07:57 -06:00
Raf Ponsaerts
767274b98b [Task 69271] fixes after master merge 2020-03-03 14:26:39 +01:00
Raf Ponsaerts
0829cf5b51 Merge remote-tracking branch 'dspace/master' into w2p-68732_list-version-history 2020-03-03 13:17:00 +01:00
Raf Ponsaerts
fe664b3f6c Example of different implementation for specificLevelEmbed 2020-03-03 13:06:07 +01:00
Raf Ponsaerts
39c792caf0 [Task 69270] applied the feedback with regards to the projections.xml, spring-dspace-core-services.xml and test comments 2020-03-03 11:27:11 +01:00
Tim Donohue
3e3356d785 Merge pull request #2697 from tdonohue/disable_old_rest
DS-4303: Disable "dspace-rest" from default build. Add more deprecation warnings
2020-03-02 15:21:09 -06:00
Toni Prieto
8fb214c061 change import order 2020-03-02 18:46:55 +01:00
Mykhaylo
2b13edb143 fix typo in solr field name 2020-03-02 18:44:32 +01:00
Toni Prieto
c2df412e94 Remove unused import 2020-03-02 18:02:50 +01:00
Toni Prieto
db09fac216 Add StripDiacritics to OrderFormat classes for author and text and normalize the starts_with param text submitted 2020-03-02 17:09:06 +01:00
Mykhaylo
e42382b4ab Merge branch 'revisitSecurityLayerOfSubmission-DS-4043' of https://github.com/Micheleboychuk/DSpace into revisitSecurityLayerOfSubmission-DS-4043
# Conflicts:
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java
2020-03-02 17:00:51 +01:00
Mykhaylo
a19f24beba Merge branch 'resourcepolicy-DS-4418' of https://github.com/Micheleboychuk/DSpace into revisitSecurityLayerOfSubmission-DS-4043
# Conflicts:
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java
2020-03-02 16:43:10 +01:00
Mykhaylo
5ac981f877 Merge branch 'ITtoProveAccessRestrictedItem-DS-4123' of https://github.com/Micheleboychuk/DSpace into ITforBitstream-DS-4124 2020-03-02 15:00:41 +01:00
Mykhaylo
f7a9d9262e code cleanup - community feedback 2020-03-02 14:59:18 +01:00
Raf Ponsaerts
53149bb65b [Task 69114] exposed the action as an embed on claimedtasks 2020-03-02 13:32:09 +01:00
Mykhaylo
1639ac749c Merge branch 'ITtoProveAccessRestrictedItem-DS-4123' of https://github.com/Micheleboychuk/DSpace into DS-4278 2020-03-02 11:39:16 +01:00
Raf Ponsaerts
e659c199d8 [Task 69133] added tests for Projections level and specific embed; applied small refactors to beans 2020-03-02 11:06:14 +01:00
Mykhaylo
ac61bd0cac Merge branch 'master' of https://github.com/DSpace/DSpace into ITtoProveAccessRestrictedItem-DS-4123
# Conflicts:
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/builder/CommunityBuilder.java
2020-03-02 10:08:18 +01:00
Mykhaylo
be3d51cd82 Merge branch 'master' of https://github.com/DSpace/DSpace into resourcepolicy-DS-4418 2020-03-02 09:44:50 +01:00
Tim Donohue
a7954aa697 Ensure Travis CI always builds/tests dspace-rest 2020-02-28 13:06:08 -06:00
Tim Donohue
501233f4ed Additional deprecation warnings in key places of dspace-rest 2020-02-28 12:23:54 -06:00
Tim Donohue
e02883afe2 Update Dockerfiles per disabled dspace-rest module 2020-02-28 12:23:29 -06:00
Tim Donohue
d14d6ecaae Disable dspace-rest by default 2020-02-28 12:23:10 -06:00
Mykhaylo Boychuk
90688555b8 code cleanup - community feedback 2020-02-28 18:03:18 +01:00
Tim Donohue
880ed67732 Merge pull request #2673 from atmire/w2p-68607_add-link-to-parent-community
[DS-3532] Breadcrumbs in header
2020-02-28 10:36:02 -06:00
Mykhaylo Boychuk
353b12034c code cleanup - community feedback 2020-02-28 16:50:01 +01:00
Mykhaylo Boychuk
bece88f977 implemented plugin for indexing parent object of Community/Collection/Item 2020-02-28 16:19:34 +01:00
Mykhaylo Boychuk
f7a12ab3d3 added indexing for ADMIN policies 2020-02-28 16:16:18 +01:00
Mykhaylo Boychuk
b15001b54e added Solr query inside findAll() for Community/Collection Repositories 2020-02-28 16:12:58 +01:00
Mykhaylo Boychuk
67a48dbd71 implemented Solr query for CommunityCollectionLinkRepository 2020-02-28 16:07:27 +01:00
Mykhaylo Boychuk
38b89d85ae implemented Solr query for SubCommunityLinkRepository 2020-02-28 16:05:54 +01:00
Mykhaylo Boychuk
3bbe68cc73 added ITs to prove access restricted Communities/Collections cannot be accessed anonymously 2020-02-28 16:01:26 +01:00
Raf Ponsaerts
af5abeb524 Merge remote-tracking branch 'origin/w2p-68607_add-link-to-parent-community' into w2p-69133_refactoring-and-its-specific-embeds 2020-02-28 15:36:03 +01:00
Raf Ponsaerts
ba76270bea Merge remote-tracking branch 'origin/DS-4433_Specify-embeds-Continued-2' into w2p-69133_refactoring-and-its-specific-embeds 2020-02-28 15:35:08 +01:00
Raf Ponsaerts
ccf8aa905c Merge remote-tracking branch 'dspace/master' into w2p-68607_add-link-to-parent-community
Conflicts:
	dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java
2020-02-28 15:12:04 +01:00
Raf Ponsaerts
2a54bfab40 [Task 69156] applied feedback to the breadcrumbs tests 2020-02-28 14:34:32 +01:00
Tim Donohue
9f0ba4914a Merge pull request #2684 from atmire/DS-4438_ProjectionsForPOSTRequests
DS-4438 Respect client-provided projections for non-GETs
2020-02-27 11:40:47 -06:00
Andrea Bollini
0403f45dc1 improve the comments clarifying the null scenario 2020-02-27 15:40:14 +01:00
Andrea Bollini
9e08df614a add description to the features 2020-02-27 15:39:50 +01:00
Andrea Bollini
cb83c4c161 Clarify the reason of the sleep time 2020-02-27 15:31:10 +01:00
Andrea Bollini
be410e2cb8 improve comments about all the managed scenarios 2020-02-27 15:19:34 +01:00
Raf Ponsaerts
abf82a3f46 [Task 69130] applied feedback to the breadcrumbs functionality 2020-02-27 15:01:21 +01:00
Kevin Van de Velde
d33115fde9 Merge branch 'master' into w2p-68726_Workflow-IT-in-rest 2020-02-26 16:29:40 +01:00
Mykhaylo Boychuk
61e927ed94 refactored tests 2020-02-26 11:23:53 +01:00
Mykhaylo Boychuk
00fe4b6bcb added check to prove that community/collection are public 2020-02-25 18:32:32 +01:00
Mykhaylo Boychuk
3bc6346a5b added ITs to prove access restricted for /api/core/communities/<:uuid>/collections 2020-02-25 18:28:17 +01:00
Mykhaylo Boychuk
ee3d379176 added matcher for Collection 2020-02-25 18:26:53 +01:00
Yana De Pauw
9b442743b6 69108: Fix comments 2020-02-25 13:32:28 +01:00
Mykhaylo Boychuk
1b0e21496a added ITs to prove access restricted for /api/core/communities/<:uuid>/subcommunities 2020-02-25 12:23:06 +01:00
benbosman
373e8e1603 Merge pull request #2646 from atmire/workflow-step-definitions
Workflow step definitions
We're at +2 and Tim's feedback has been processed
2020-02-25 11:55:53 +01:00
Raf Ponsaerts
06f5199ec7 Re-adding javadoc to the CollectionParentCommunityLinkRepository 2020-02-25 11:38:16 +01:00
Yana De Pauw
af2f1ee15b 68919: Add replace tests 2020-02-25 11:30:43 +01:00
Raf Ponsaerts
b963622191 Merge remote-tracking branch 'dspace/master' into w2p-68607_add-link-to-parent-community 2020-02-25 11:19:25 +01:00
Raf Ponsaerts
c1d7edafbe [Task 68945] processed feedback on breadcrumbs ITs 2020-02-25 11:18:08 +01:00
Marie Verdonck
ba6792a43c is(HttpStatus.SC_BAD_REQUEST) to isBadRequest() 2020-02-25 10:40:16 +01:00
Marie Verdonck
3f43e3e807 is(HttpStatus.SC_BAD_REQUEST) to isBadRequest() 2020-02-25 10:38:28 +01:00
Mykhaylo Boychuk
da48afa6b5 added ITs to prove access restricted for /api/core/communities/<:uuid> 2020-02-25 09:13:43 +01:00
Tim Donohue
9910d89caa Merge pull request #2690 from tdonohue/update_oai
DS-4380:  Update XOAI (OAI-PMH) for full JDK11 compatibility
2020-02-24 11:24:06 -06:00
Yana De Pauw
f940a9facb Fix broken tests and checkstyles 2020-02-24 17:43:54 +01:00
Tim Donohue
d78f3c393b Minor refactor to make it easier to debug OAI Solr connection problems. Update to new config format 2020-02-24 10:35:14 -06:00
Tim Donohue
8cceea8f06 Upgrade to XOAI 3.3.0 for JDK11 compatibility. 2020-02-24 10:35:05 -06:00
Marie Verdonck
928987b393 Merge branch 'workflow-step-definitions' into w2p-68726_Workflow-IT-in-rest 2020-02-24 15:52:48 +01:00
Marie Verdonck
8a83d344f5 checkstyle 2020-02-24 15:52:37 +01:00
Samuel
abb88985d0 taskid 68861-68862 Manage groups (REST) - Create groups and manage group2group - Manage group2eperson and EPerson 2020-02-24 15:43:17 +01:00
Yana De Pauw
e53bc8af28 68781: Update groups and epersons GETS based on REST contract 2020-02-24 15:43:17 +01:00
Yana De Pauw
0691330d84 68851: Add test to Remove metadata through PATCH 2020-02-24 15:23:53 +01:00
Marie Verdonck
de10769595 Merge branch 'workflow-step-definitions' into w2p-68726_Workflow-IT-in-rest 2020-02-24 15:11:05 +01:00
Marie Verdonck
c4548d3c61 missing licenses 2020-02-24 15:10:46 +01:00
Marie Verdonck
d3680b1a36 Merge branch 'workflow-step-definitions' into w2p-68726_Workflow-IT-in-rest 2020-02-24 14:33:43 +01:00
Marie Verdonck
ffc1505f01 LinkRepositories so that subresources paths work without projection=full (for workflowdefinitions/defaultWorkflow/steps and /workflowsteps/editstep/actions) 2020-02-24 14:29:04 +01:00
Marie Verdonck
e0acfbc6e4 constant for expected http status 2020-02-24 13:27:08 +01:00
Marie Verdonck
d395be6a3e test fix after master merge 2020-02-24 13:24:07 +01:00
Marie Verdonck
ff30538dad Merge remote-tracking branch 'dspace-origin/master' into workflow-step-definitions
# Conflicts:
#	dspace-api/src/test/java/org/dspace/xmlworkflow/XmlWorkflowFactoryTest.java
2020-02-24 12:55:58 +01:00
Yana De Pauw
6748d63bba 68850: Add tests for adding authors on different places on workspace item 2020-02-24 12:52:07 +01:00
Giuseppe Digilio
a49bf4b343 Replace ConfigurationManager with ConfigurationService 2020-02-24 10:15:50 +01:00
Giuseppe Digilio
0fee734a2a Fixed default value of authentication-shibboleth.lazysession.loginurl 2020-02-24 10:15:11 +01:00
Giuseppe Digilio
8cbe3e1f30 Added getBaseUrl to Utils 2020-02-24 10:02:49 +01:00
Mykhaylo Boychuk
2209d76dfd added check for prevent access to item, if it in workspace 2020-02-23 19:20:40 +01:00
Mykhaylo Boychuk
5d9b600e08 added ITs to prove restricted access for submitter to editing metadata fields from the submission forms, if he use the /api/core/items endpoint 2020-02-23 19:15:00 +01:00
Andrea Bollini
22a2b12aa8 DS-4418 extra javadoc and clarified the name of the path operations over bitstream's policies 2020-02-22 22:35:22 +01:00
Andrea Bollini
adfe2b6959 Move the getBaseObjectRestFromUri method to the Utils class and add javadoc 2020-02-22 17:26:46 +01:00
Andrea Bollini
61cd471079 remove unused field 2020-02-22 17:04:29 +01:00
Andrea Bollini
81b9a18e81 Enable additional test for bad request 2020-02-22 17:02:53 +01:00
Andrea Bollini
2726bc6277 Merge branch 'master' of https://github.com/DSpace/DSpace into authz 2020-02-22 16:52:13 +01:00
Andrea Bollini
d797ab0407 track the reset of the local.cfg file 2020-02-22 16:40:47 +01:00
Andrea Bollini
6acfd30d15 Code cleanup and improved documentation 2020-02-22 16:40:08 +01:00
Andrea Bollini
de8e3ec93b Add IT to proof that the AuthorizeConfiguration support the config reload 2020-02-22 15:39:20 +01:00
Kristof De Langhe
a66b5225ad 68820: PatchMetadataIT JavaDocs + header 2020-02-21 17:27:25 +01:00
Andrew Wood
738365d94f DS-4438 Update ITs check for projections from POST request 2020-02-21 11:26:18 -05:00
Kristof De Langhe
42e0f2fb23 68820: Moving relationships in workspace items ITs 2020-02-21 14:18:54 +01:00
Mykhaylo Boychuk
04df6f9d89 Merge branch 'master' of https://github.com/DSpace/DSpace into resourcepolicy-DS-4418 2020-02-21 09:52:50 +01:00
Raf Ponsaerts
d79deb6e1e [DS-3532] added javadoc to the linkRestRepositories for ParentCommunity Linking 2020-02-21 08:58:38 +01:00
Tim Donohue
d2c6582899 Minor spelling corrections 2020-02-20 15:19:06 -06:00
Chris Wilper
b0510dc486 drop unnecessary test object 2020-02-20 14:38:52 -05:00
Andrea Bollini
d64609df22 DS-4418 improve javadoc, cleanup dependencies 2020-02-20 19:48:38 +01:00
Andrew Wood
13daed22ab DS-4438 Update projections refrence and ITs 2020-02-20 13:13:12 -05:00
Mykhaylo Boychuk
edf5e57233 Fix double check in IT the findBySubmitter must be used 2020-02-20 18:51:52 +01:00
Tim Donohue
057cd30936 Merge pull request #2668 from Micheleboychuk/missingParameterException-DS-4428
DS-4428 missing parameter exception
2020-02-20 10:38:24 -06:00
Tim Donohue
453c69132b Merge pull request #2669 from tdonohue/DS-4380_errorprone_fixes
DS-4380 : Fix errorprone test warnings after JDK11 upgrade
2020-02-20 10:36:56 -06:00
Tim Donohue
81ae8b1738 Merge pull request #2674 from tdonohue/DS-4434_fix_context_behavior
[DS-4434] Fix Context.commit() and Context.isValid() behavior. Add more tests
2020-02-20 10:28:10 -06:00
Kristof De Langhe
6514183f45 Merge branch 'master' into w2p-68820_Moving-relationships-ITs
Conflicts:
	dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java
2020-02-20 17:23:42 +01:00
Mykhaylo Boychuk
1daa462741 IT to prove access restricted Bitstreams cannot be accessed anonymously 2020-02-20 17:15:57 +01:00
Mykhaylo Boychuk
9a0a5078de refactor tests 2020-02-20 16:01:22 +01:00
Giuseppe Digilio
a28cb7551c Merge remote-tracking branch 'origin/master' into dspace-7-shibboleth 2020-02-20 14:40:41 +01:00
Kevin Van de Velde
c434124a38 Merge branch 'workflow-step-definitions' into w2p-68726_Workflow-IT-in-rest 2020-02-20 12:17:46 +01:00
Ben Bosman
9534a0b3aa Fix imports 2020-02-20 09:56:15 +01:00
Ben Bosman
533570538a Add docs, Change max embeds 2020-02-20 09:53:55 +01:00
Ben Bosman
48c6bcb88b Add previously processed links 2020-02-20 09:53:32 +01:00
Tim Donohue
808316599e Minor test correction. Use example.com for test emails as its guarranteed undeliverable 2020-02-19 16:56:32 -06:00
Tim Donohue
280ccac20c Fix Objects.toString() calls to return empty string if null 2020-02-19 16:51:28 -06:00
Andrea Bollini
4ce509133d Merge remote-tracking branch 'origin/master' into revisitSecurityLayerOfSubmission-DS-4043 2020-02-19 22:18:30 +01:00
Andrea Bollini
dbf5012298 Merge remote-tracking branch 'origin/master' into missingParameterException-DS-4428 2020-02-19 22:10:53 +01:00
Andrea Bollini
91db234849 Merge remote-tracking branch 'origin/master' into missingParameterException-DS-4428 2020-02-19 19:11:58 +01:00
Chris Wilper
95ee328862 DS-4438 Respect client-provided projection when creating item in workspace 2020-02-19 13:01:41 -05:00
Tim Donohue
b33e5834a9 Merge pull request #2682 from atmire/DefaultFullProjectionForNewSubmissions
Default to full projection for workspace item POSTs
2020-02-19 11:13:36 -06:00
Chris Wilper
fa4678c745 Default to full projection for workspace item POSTs (workaround; angular currently expects embeds here) 2020-02-19 10:04:20 -05:00
Marie Verdonck
570f77d1a6 68860: test fixes after merging latest dspace-origin/master 2020-02-19 15:28:35 +01:00
Marie Verdonck
701144b105 68860: test fixes after merging latest dspace-origin/master 2020-02-19 15:14:29 +01:00
Ben Bosman
71c5cc678f When moving metadata, make sure virtual metadata is handled correctly 2020-02-19 14:50:26 +01:00
Ben Bosman
c6e3758a40 Cast to RestAddressableModel 2020-02-19 14:32:50 +01:00
Yana De Pauw
148f9b2365 68781: Update groups and epersons GETS based on REST contract 2020-02-19 14:00:13 +01:00
benbosman
e0282d1fb3 Merge pull request #2591 from atmire/DS-4389-improving-patch-system-framework
Ds 4389 improving patch system framework Part 1
2020-02-19 11:56:42 +01:00
Mykhaylo Boychuk
40ee6e54f7 turn on check to verify admin of collection/community 2020-02-19 11:33:45 +01:00
Mykhaylo Boychuk
fad08adcb8 added IT to prove access restricted Items cannot be accessed anonymously 2020-02-19 11:29:02 +01:00
Raf Ponsaerts
5a96aab872 [Task 68857] added javadoc to the Version functionality classes 2020-02-19 11:06:36 +01:00
Marie Verdonck
50daac5937 Merge remote-tracking branch 'dspace-origin/master' into w2p-68726_Workflow-IT-in-rest 2020-02-19 10:51:43 +01:00
Marie Verdonck
15abc3aeb5 68860: latest changes from workflow-step-definitions &
some exceptions restored except generic exception in upload so UnprocessableEntityException can be thrown in WorkflowItemRestRepository &
checkIfEditMetadataAllowedInCurrentStep works with xmlWorkflowItem instead of id
2020-02-19 10:49:20 +01:00
Kevin Van de Velde
c498838e39 Merge remote-tracking branch 'upstream/master' into workflow-step-definitions 2020-02-19 09:39:21 +01:00
Marie Verdonck
4a12c658f6 68825: checkstyle 2020-02-18 18:42:39 +01:00
Marie Verdonck
64900a8791 68825: only allow patch/upload in workflow if claimed task w edit_metadata option 2020-02-18 16:54:43 +01:00
Raf Ponsaerts
2686403985 [Task 68810] added search by ItemUUID to workspace and workflowitem endpoints as well as added tests for them 2020-02-18 15:59:36 +01:00
Ben Bosman
cc2534ddd3 When moving metadata, make sure virtual metadata is handled correctly 2020-02-18 14:41:48 +01:00
Ben Bosman
243b0c077f When moving metadata, make sure virtual metadata is handled correctly 2020-02-18 13:29:31 +01:00
Ben Bosman
b8bca78e50 When moving metadata, make sure virtual metadata is handled correctly 2020-02-18 12:50:55 +01:00
Raf Ponsaerts
284507dd07 [Task 68810] added tests to the versioning ITs 2020-02-18 11:42:19 +01:00
Marie Verdonck
743d35f098 68821: check if submit button is in valid options for current action in workflow + previously @ignore tests now work as expected 2020-02-18 11:33:48 +01:00
Andrea Bollini
1d64d8932b DS-4413 exclude uniqueType from the json output 2020-02-18 08:17:42 +01:00
Andrea Bollini
3524f10ccc DS-4413 fix checkstyle and ITs after projection and IndexableObject refactoring 2020-02-17 23:10:38 +01:00
Marie Verdonck
8845c02145 68726: checkstyle 2020-02-17 18:32:14 +01:00
Marie Verdonck
347606b6f1 68726: Workflow action options tests 2020-02-17 16:03:18 +01:00
Kevin Van de Velde
4512ed5024 Removing obsolete "extends Object" from ResourcePatch 2020-02-17 14:17:33 +01:00
Raf Ponsaerts
d069889fc3 Fixes to versioning functionality after master merge 2020-02-17 13:34:12 +01:00
Raf Ponsaerts
97b69a1582 Merge remote-tracking branch 'dspace/master' into w2p-68732_list-version-history
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/model/ItemRest.java
2020-02-17 13:33:49 +01:00
Marie Verdonck
1c489fbf85 DS-4389: checkstyle 2020-02-17 13:30:20 +01:00
Marie Verdonck
a6e3298d19 DS-4389: ResourceNotFoundException if ResourcePolicy can't be retrieved 2020-02-17 12:14:22 +01:00
Mykhaylo Boychuk
8ed4f6d54c fixed unit test, should return 400 BADREQUEST 2020-02-17 12:02:35 +01:00
Marie Verdonck
e94168e099 DS-4389: Changes after merging latest master 2020-02-17 11:32:26 +01:00
Mykhaylo Boychuk
427d96af07 fixed QueryMethodParameterConversion should return 400 2020-02-17 11:07:59 +01:00
Marie Verdonck
e75d17f6a4 Merge remote-tracking branch 'dspace-origin/master' into DS-4389-improving-patch-system-framework
# Conflicts:
#	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java
#	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java
2020-02-17 10:07:38 +01:00
Mykhaylo Boychuk
67b564af7e fixed exception for upload method 2020-02-17 09:43:50 +01:00
Mykhaylo Boychuk
00c9bcea90 implemented permissionEvaluatorPlugin for workspaceitem 2020-02-17 09:39:41 +01:00
Raf Ponsaerts
ee280019b9 Applied feedback to the versions functionality 2020-02-17 09:38:58 +01:00
Mykhaylo Boychuk
5a5ae6d401 added unit tests for the security layer of the submission 2020-02-17 09:29:44 +01:00
Andrea Bollini
9a7f9e7ada Merge branch 'master' of https://github.com/DSpace/DSpace into authz 2020-02-17 00:53:52 +01:00
Andrea Bollini
4f20954e9d DS-4413 fix checkstyle and add ITs for the withdraw, reinstate and cclicense feature 2020-02-16 16:59:29 +01:00
Andrea Bollini
214d7dfc9b DS-4413 complete implementation of the authz infrastructure and ITs 2020-02-16 00:38:58 +01:00
Marie Verdonck
1bee20c732 [DS-4389] Refactored new ResourcePolicy Patch system to work like the improved patch system (ResourcePolicy from DS-4398) 2020-02-14 18:56:01 +01:00
Tim Donohue
a5fe08c158 Minor spelling/grammar fixes 2020-02-14 09:39:04 -06:00
Tim Donohue
5e953f8bde Merge pull request #2656 from atmire/w2p-65257_Collection-item-template-crud
Collection item template updates
2020-02-14 09:24:11 -06:00
Tim Donohue
73f8dc100e Do not reuse global Context for cleanup actions...it may already be closed 2020-02-14 08:57:36 -06:00
Tim Donohue
7f879a2086 Add tests for HibernateDBConnection. Fix failing ContexTest methods. Bug fixes found via Tests 2020-02-14 08:57:36 -06:00
Tim Donohue
6a14699bd1 Add more Tests for Context. Bug fixes based on that. Enhance javadocs in HibernateDBConnection 2020-02-14 08:57:35 -06:00
Raf Ponsaerts
b4992cad3e Fixed checkstyle in ItemTemplateRestController 2020-02-14 15:33:07 +01:00
Raf Ponsaerts
cbd6870d72 [Task 68537] implemented feedback with regards to javadoc and annotations for the TemplateItem functionality 2020-02-14 14:16:56 +01:00
Raf Ponsaerts
580f6d7ad8 [Task 68537] fixed the templateItemOf link 2020-02-14 14:16:56 +01:00
Raf Ponsaerts
3e736e130a [Task 68537] applied feedback and fixes to the itemtemplate endpoints 2020-02-14 14:16:56 +01:00
Raf Ponsaerts
7322d983c4 Fixed tests on the ItemTemplate endpoints after rebasing on master 2020-02-14 14:16:56 +01:00
Raf Ponsaerts
36f2f0aa97 [Task 68059] removed superfluous information and links from templateItem endpoints and added/fixed tests 2020-02-14 14:16:55 +01:00
Peter Nijs
5e7da85197 67526: CRUD on Collection Item template
- Make the output of /core/collections/{id}/itemtemplate equal to /core/items/{id}
2020-02-14 14:13:38 +01:00
Raf Ponsaerts
f853db306b [Task 68732] implemented Versioning and added tests 2020-02-14 14:05:01 +01:00
Ben Bosman
aaca3a35d1 Also fixing relation field config 2020-02-14 10:07:10 +01:00
Kevin Van de Velde
7c7422e4cf Fixing the dspace.url references in the new patch classes 2020-02-14 09:57:04 +01:00
Raf Ponsaerts
6447176f02 Fixed headers and checkstyle for parentCommunity link functionality 2020-02-14 09:27:21 +01:00
Kevin Van de Velde
ffc1d37f8e Merge branch 'master' into DS-4389-improving-patch-system-framework 2020-02-14 09:14:20 +01:00
Tim Donohue
fb8ef5044b Fix checkstyle errors 2020-02-13 15:31:47 -06:00
Tim Donohue
4f9fb7d339 Minor fix to test cleanup 2020-02-13 15:31:47 -06:00
Tim Donohue
e69a63c5a7 Fix a number of errorprone warnings in tests. 2020-02-13 15:31:47 -06:00
Tim Donohue
db09a70d8f Fix deprecation of ObjectUtils.toString 2020-02-13 15:31:46 -06:00
Tim Donohue
3ae9009dbd Fixes to various errorprone warnings in tests 2020-02-13 15:31:46 -06:00
Tim Donohue
14586eb594 Fix errorprone warnings (UnusedVariable, out of order params) 2020-02-13 15:31:46 -06:00
Tim Donohue
82c90ca15c Fix errorprone warning https://errorprone.info/bugpattern/StringSplitter 2020-02-13 15:31:45 -06:00
Tim Donohue
f73b2b5fea Fix deprecation warnings 2020-02-13 15:31:45 -06:00
Tim Donohue
408acc2b90 Fix deprecation warning 2020-02-13 15:31:45 -06:00
Tim Donohue
1b40e6d6e9 Minor test class refactors to remove errorprone warnings. 2020-02-13 15:31:45 -06:00
Tim Donohue
f50156d320 Refactor to remove deprecation warning for ObjectUtils.equals 2020-02-13 15:31:45 -06:00
Tim Donohue
657319b02c Rename IntegrationTest to end in IT. 2020-02-13 15:31:45 -06:00
Tim Donohue
820722d2e6 Merge pull request #2657 from tdonohue/DS-4257_url_config_cleanup
[DS-4257] dspace.url and dspace.baseUrl config cleanup
2020-02-13 14:52:14 -06:00
Tim Donohue
19f1e60b67 Merge pull request #2654 from tdonohue/DS-4380_jdk11
DS-4380 : Upgrading 7.x to JDK11.  Remove JMockit (replace with Mockito)
2020-02-13 14:37:28 -06:00
Tim Donohue
7fe454d1a5 Upgrade Hibernate for full JDK11 compatibility. See https://hibernate.org/orm/releases/5.4/ 2020-02-13 13:43:50 -06:00
Tim Donohue
33bae06be6 Fix illegal reflective access from old version of Axiom. Also fix Geronimo warnings in builds. 2020-02-13 13:43:50 -06:00
Tim Donohue
b6b70b2c9c Fix build warning about "patterns were never triggered in this artifact exclusion filter" 2020-02-13 13:43:50 -06:00
Tim Donohue
29e5dcc5a9 Upgrade Dockerfiles and docker-compose files to all use JDK11. Remove JDK from names (JDK8 no longer supported) 2020-02-13 13:43:50 -06:00
Tim Donohue
7c335c8170 Updates to all maven plugin versions. General POM cleanup. 2020-02-13 13:43:50 -06:00
Tim Donohue
2d6b207b4f Comment out restlet <repository>. Old URL works again. Seems to have been only temporarily unavailable. 2020-02-13 13:43:50 -06:00
Tim Donohue
3894b9c7fc Move xml-maven-plugin to parent POM. It is already accessing XMLs outside of dspace-api. 2020-02-13 13:43:50 -06:00
Tim Donohue
447b7722f0 Test fixes after rebase. Remove unnecessary new code. 2020-02-13 13:43:49 -06:00
Tim Donohue
576f699e08 Minor code cleanup / import fixes 2020-02-13 13:43:49 -06:00
Tim Donohue
ecdba21a71 Workaround for trautonen/coveralls-maven-plugin#112 2020-02-13 13:43:49 -06:00
Tim Donohue
4537897e17 Final removal of JMockit. Move last tests to Mockito. Cleanup unused tests & resources 2020-02-13 13:43:49 -06:00
Tim Donohue
eb8c0cc605 Move context.complete() call to avoid closing passed in context 2020-02-13 13:43:49 -06:00
Tim Donohue
ebfc5dfb1f Refactor to no longer use JMockit mocks. 2020-02-13 13:43:49 -06:00
Tim Donohue
40f053751b Refactor AuthorizeUtil to NOT cache services (in static final variables). This allows authorization to be more easily mocked/overridden in tests. 2020-02-13 13:43:49 -06:00
Tim Donohue
50be2508ab Move JMockit init for Maven 2020-02-13 13:43:49 -06:00
Tim Donohue
b53be1f471 Refactor MockSolrLoggerServiceImpl to use Mockito. Remove FakeDatabaseReader 2020-02-13 13:43:49 -06:00
Tim Donohue
9b990f1834 Refactor to use Mockito (or no mocks) 2020-02-13 13:43:49 -06:00
Tim Donohue
7deed9040f Update to use Mockito. Other minor changes 2020-02-13 13:43:49 -06:00
Tim Donohue
33a2e94d44 Refactor to use Mockito (mostly) 2020-02-13 13:43:48 -06:00
Tim Donohue
0118c2bbd3 Refactor to use Mockito 2020-02-13 13:43:48 -06:00
Tim Donohue
6248867de7 Refactor tests to use Mockito instead of JMockit 2020-02-13 13:43:48 -06:00
Tim Donohue
eb53950660 Correct location of MockitoJUnitRunner (new package) 2020-02-13 13:43:48 -06:00
Tim Donohue
93c39cf318 Refactor (most) tests to use Mockito instead of JMockit 2020-02-13 13:43:48 -06:00
Tim Donohue
3ab37aafb9 Refactor tests to use Mockito instead of JMockit 2020-02-13 13:43:48 -06:00
Tim Donohue
e97218616d Implement destroy properly & fix an incorrect test 2020-02-13 13:43:48 -06:00
Tim Donohue
8c7127ed8c Refactor tests to use Mockito 2020-02-13 13:43:48 -06:00
Tim Donohue
412c8a1ec8 Refactor tests to use Mockito instead of JMockit 2020-02-13 13:43:48 -06:00
Tim Donohue
d6a4bf21b9 Remove stubs that Mockito says are not used. Then remove duplicative tests. 2020-02-13 13:43:48 -06:00
Tim Donohue
cfde3e905b Switch CommunityTest to mostly using Mockito (exceptions for Util classes) 2020-02-13 13:43:48 -06:00
Tim Donohue
db18ddfb5a Update dependencies. Fixes Maven issues with initializing dspace.dir 2020-02-13 13:43:48 -06:00
Tim Donohue
78fb4cfe82 Remove MockUtil and replace with handling NPE that can occur when running Util in test mode. 2020-02-13 13:43:47 -06:00
Tim Donohue
7700d6a3b5 Replace jmockit with mockito in dspace-services. Correct tests 2020-02-13 13:43:47 -06:00
Tim Donohue
6a8516e957 Enable Mockito to mock/spy final classes & methods 2020-02-13 13:43:47 -06:00
Tim Donohue
f9709c0d8e Fix test to no longer overwrite test configs. 2020-02-13 13:43:47 -06:00
Tim Donohue
3e4937a2ba Ensure "dspace.dir" is explicitly set for tests. Implicit no longer works. 2020-02-13 13:43:47 -06:00
Tim Donohue
27e275e237 Reinitialize jmockit for all tests 2020-02-13 13:43:47 -06:00
Tim Donohue
1982ceb076 Fix errors reported by latest version of ErrorProne 2020-02-13 13:43:47 -06:00
Tim Donohue
f3e4bfa29a Reenable ErrorProne on JDK11 2020-02-13 13:43:47 -06:00
Tim Donohue
da19d7c360 Update Travis CI to use JDK11. Minor comment changes 2020-02-13 13:43:47 -06:00
Tim Donohue
ef6e32f435 Base dependency updates for JDK11, based on cwilper's PR#2611 2020-02-13 13:43:47 -06:00
Tim Donohue
3c43dbdcdd Replace dspace.url with dspace.server.url in recent code comments 2020-02-13 13:42:36 -06:00
Tim Donohue
b116c55714 Refactor code to remove the need for a "hostname" configuration. 2020-02-13 13:40:35 -06:00
Tim Donohue
d455d7df87 Fix minor test & checkstyle failures 2020-02-13 13:40:34 -06:00
Tim Donohue
c55f29de6a Replace dspace.hostname with dspace.ui.hostname. Enhance descriptions of how/where configs are used 2020-02-13 13:40:34 -06:00
Tim Donohue
e8180f11cb Replace all usages of dspace.url with either dspace.ui.url or dspace.server.url (depending on use case) 2020-02-13 13:40:33 -06:00
Tim Donohue
5e3e9b8f9d Replace all usages of dspace.baseUrl with either dspace.server.url or dspace.ui.url (depending on use case) 2020-02-13 13:40:23 -06:00
Tim Donohue
f64553e31c Remove final references to old dspace.restUrl config 2020-02-13 13:36:00 -06:00
Ben Bosman
3107a1dee1 Also renaming personOrOrganization to personOrOrgunit 2020-02-13 18:31:58 +01:00
Chris Wilper
45b45d39aa DS-4433 Add support to request specific embeds 2020-02-13 12:03:09 -05:00
Tim Donohue
9de65efa8c Merge pull request #2625 from atmire/DS-3533_Projections-Continued
DS-3533 Projections continued
2020-02-13 10:41:01 -06:00
Raf Ponsaerts
61400e1145 Added parentCommunity to test matchers for collections and communities 2020-02-13 16:17:22 +01:00
Raf Ponsaerts
fc1744c322 Merge branch 'DS-3533_Projections-Continued' into w2p-68607_add-link-to-parent-community 2020-02-13 15:42:28 +01:00
Raf Ponsaerts
0d95937c9b intermediate 2020-02-13 15:41:43 +01:00
Chris Wilper
fe8e069aa7 DS-3533 Address PR feedback 2020-02-13 09:17:05 -05:00
Chris Wilper
7206456f30 Merge branch 'master' into DS-3533_Projections-Continued
Manually resolved conflicts, including removing CollectionDefaultAccessConditionsLinkRepository
because that subresource is no longer expected to be on collections.
2020-02-12 16:48:32 -05:00
Mykhaylo Boychuk
10fbf2eae7 restore upload as mandatory as by dspace default configuration 2020-02-12 22:08:25 +01:00
Marie Verdonck
207f745512 [DS-2646]: test and checkstyle fixes 2020-02-12 18:29:08 +01:00
Mykhaylo Boychuk
7664c2da94 removed attributes groupUuid/epersonUuid from resourcePolicyRest 2020-02-12 18:01:13 +01:00
Mykhaylo Boychuk
c5bf2b2346 added unit test for addAccessCondition and removeAccessCondition 2020-02-12 18:01:13 +01:00
Mykhaylo Boychuk
5adb1ce549 fix unit test from 422 to 400 2020-02-12 17:30:37 +01:00
Mykhaylo Boychuk
496b88093d fixed handle missing servlet request parameter 2020-02-12 17:30:37 +01:00
Mykhaylo Boychuk
cbe07eb15a fix javadoc 2020-02-12 17:30:36 +01:00
Mykhaylo Boychuk
4e080150cb fixed unit tests: missing parameters should return 400 BAD REQUEST 2020-02-12 17:30:36 +01:00
Mykhaylo Boychuk
0a9d4cd4c1 DS-4428 fix bad request 2020-02-12 17:30:36 +01:00
Mykhaylo Boychuk
c71c52bb46 DS-4428 enable tests for bad request 2020-02-12 17:30:36 +01:00
Marie Verdonck
0c9e50ca72 [DS-2646]: /workflowdefintions/<:name>/steps fixed + new tests &
endpoint result names changed to without Resource
2020-02-12 16:46:14 +01:00
Tim Donohue
14445d599c Merge pull request #2604 from Micheleboychuk/resourcepolicies
DS-4398 initial implementation of the resource policies endpoint
2020-02-12 09:39:39 -06:00
Chris Wilper
0c73f333d7 DS-4427 Update tests based on new embed expectations 2020-02-12 09:37:42 -05:00
Chris Wilper
1acd62ed96 DS-3533 Add javadoc for new method 2020-02-12 08:41:18 -05:00
Chris Wilper
c9d6797396 DS-4427 Re-enable embedding for link repositories in favor of embed level limiting 2020-02-12 08:36:45 -05:00
Chris Wilper
b4e8851b12 DS-3533 Fix test issue and imports 2020-02-12 07:10:32 -05:00
Chris Wilper
dd55ad3609 DS-3533 Increase max embed level to 3 and fix tests 2020-02-11 13:25:08 -05:00
Andrew Wood
08ee6e5c76 DS-3533 Refactor projection embeds ITs to match new style 2020-02-11 10:16:31 -05:00
Raf Ponsaerts
2241b591f7 [Task 68608] added ITs for the parent communities and owning collections 2020-02-11 16:10:42 +01:00
Marie Verdonck
2e8042e97d 68726: Integration tests of Workflow in rest api - WIP,
some unexpected results in edit and final edit step, @ignore tests for now
2020-02-11 13:08:12 +01:00
Yana De Pauw
7e099a9b29 Fix tests for upgraded mockito version 2020-02-11 13:03:37 +01:00
Raf Ponsaerts
fa07bc27d0 Merge branch 'DS-3533_Projections-Continued' into w2p-68607_add-link-to-parent-community 2020-02-11 12:44:37 +01:00
Raf Ponsaerts
90073abfb7 [Task 68534] applied feedback to the metadata import and export script and wrote tests for them 2020-02-11 12:41:48 +01:00
Ben Bosman
b70c660b65 Configure missing search configurations 2020-02-11 10:15:21 +01:00
Chris Wilper
e6e5da191d DS-4427 Only embed up to one level 2020-02-10 16:36:00 -05:00
Chris Wilper
8e7646f5f5 DS-3533 Fix incorrect comment noted by Tim 2020-02-10 11:25:53 -05:00
Marie Verdonck
c1193c6890 [DS-2646]: test fix 2020-02-10 16:25:26 +01:00
Chris Wilper
414d4dc248 DS-3533 Begin consolidating embedded/link tests per dso type 2020-02-10 10:15:52 -05:00
Marie Verdonck
1f8e440793 [DS-2646]: checkstyle 2020-02-10 15:18:58 +01:00
Raf Ponsaerts
ea509448a9 [Task 68608] test setup for parent community IT 2020-02-10 14:32:16 +01:00
Marie Verdonck
e35e5a6b3a [DS-2646]: /workflowdefinitions/<:name>/collections via @LinkRest (Controller to LinkRepository)
and /steps set embedOptional to true
> /workflowdefinitions/<:name> has links of subresources, but no embeds
2020-02-10 14:27:49 +01:00
Philip Vissenaekens
0615c5dec9 Merge remote-tracking branch 'upstream/master' into DS-626
# Conflicts:
#	dspace/config/spring/api/core-factory-services.xml
#	dspace/config/spring/api/core-services.xml
#	dspace/src/main/config/build.xml
2020-02-10 13:44:54 +01:00
Philip Vissenaekens
f3003fbf84 68214: cleaned up stats.cfg 2020-02-10 13:41:50 +01:00
Yana De Pauw
25362cb704 68716: fix typo in script class name 2020-02-10 11:58:12 +01:00
Yana De Pauw
c665ecf2c6 68716: Implement feedback 2020-02-10 11:53:40 +01:00
Marie Verdonck
2fd967744c [DS-2646]: Workflow Endpoints now need authenticated access + tests:
WorkflowDefinition, WorkflowActions & WorkflowSteps Endpoints
2020-02-10 11:05:52 +01:00
Andrea Bollini
0201ef1055 Initial implementation of the authorizations endpoints 2020-02-09 15:56:42 +01:00
Andrew Wood
b77b4f0336 DS-3533 Create test for embeds and links against DSO REST ITs 2020-02-07 15:37:05 -05:00
Chris Wilper
b1e7e9f2aa DS-3533 Disable embedding of authority entryValues as a direct subresource 2020-02-07 15:36:13 -05:00
Chris Wilper
4a5cbb3678 DS-3533 Make authority entries subresource embeddable 2020-02-07 15:32:40 -05:00
Raf Ponsaerts
0faeaabdef [Task 68607] added links to the parentCommunity for collections and communities on their respective endpoints 2020-02-07 15:38:25 +01:00
Giuseppe Digilio
c65bb086ef Fixed checkstyle violations 2020-02-07 14:49:43 +01:00
Chris Wilper
afdefcbeed DS-3533 Drop unused import 2020-02-06 14:56:01 -05:00
Mykhaylo Boychuk
b4798511b4 update test to access single resource policy owned by Anonymous group
resource policy endpoints are now restricted to authenticated people according to the reviewed contract
2020-02-06 17:14:52 +01:00
Mykhaylo Boychuk
dc06efbb83 added unit test to retrieve a resource policy attached to the Anonymous group with/without using authentication 2020-02-06 15:52:58 +01:00
Giuseppe Digilio
cc439d3471 Fixed the default value of authentication-shibboleth.lazysession.loginurl param 2020-02-06 15:20:51 +01:00
Giuseppe Digilio
82f2f60fc9 Added integration test fo ShibbolethRestController 2020-02-06 15:15:54 +01:00
Giuseppe Digilio
7b3db78e4b Added more integration test for shibboleth authentication 2020-02-06 15:15:36 +01:00
Chris Wilper
b1d54273de DS-3533 Adjust javadocs 2020-02-06 09:12:03 -05:00
Chris Wilper
241289a2f9 DS-3533 Fix formatting 2020-02-06 08:52:12 -05:00
Chris Wilper
d2d03bca9e DS-3533 Run test with admin perms since permission is now checked 2020-02-06 08:52:12 -05:00
Andrew Wood
58ad460e74 DS-3533 Fix BrowsesResourceControllerIT test 2020-02-06 08:52:12 -05:00
Chris Wilper
e0f0483b5d DS-3533 Fix expectation browseEntries -> entries 2020-02-06 08:52:12 -05:00
Andrew Wood
7f45d1defc DS-3533 Rest IT fixes 2020-02-06 08:52:12 -05:00
Chris Wilper
c84939e57d DS-3533 Fix ConverterService tests based on new expectations 2020-02-06 08:52:12 -05:00
Chris Wilper
e6e0360e8f DS-3533 Drop extends; not a link repository 2020-02-06 08:52:12 -05:00
Chris Wilper
6ef0e165dc DS-3533 Drop linkClass; unused 2020-02-06 08:52:12 -05:00
Chris Wilper
7d3885f939 DS-3533 Drop embed/linkOptional properties from LinkRest 2020-02-06 08:52:12 -05:00
Andrew Wood
169cd502a2 DS-3533 Consistency: Use same json for paged subresources
This ensures that when a subresource is a paged collection,
the json is constructed in the same way, whether it is embedded
in its parent, or requested separately.
2020-02-06 08:49:35 -05:00
Chris Wilper
c71090a04f DS-3533 Request embeds for relevant ITs 2020-02-06 08:49:27 -05:00
Mykhaylo Boychuk
3e0db7a7a1 Forbid anonymous users to search by gorup 2020-02-06 10:40:26 +01:00
Mykhaylo Boychuk
434774f1f6 Add test to verify that anonymous users cannot search by group 2020-02-06 10:37:12 +01:00
Chris Wilper
0fded8de83 DS-3533 Permit embedding group in eperson 2020-02-05 13:19:23 -05:00
Chris Wilper
2019e095db DS-3533 Avoid embedding subresources that may nest (groups in groups, communities in communities) 2020-02-05 13:19:23 -05:00
Chris Wilper
d4c0bbde52 DS-3533 Consistency: Use link repo to GET bitstream bundle subresource 2020-02-05 13:19:23 -05:00
Chris Wilper
d67aeb41d9 DS-3533 Fix collection license subresource authorization 2020-02-05 13:19:23 -05:00
Chris Wilper
fc9512a495 DS-3533 Make group subresource embeds optional 2020-02-05 13:19:23 -05:00
Chris Wilper
876a1fad1d DS-3533 Consistency: Use link repo for eperson groups 2020-02-05 13:19:23 -05:00
Chris Wilper
8c2953c66d DS-3533 Consistency: Use link repo for mapped items 2020-02-05 13:19:23 -05:00
Chris Wilper
10dcd35880 DS-3533 Consistency: Return NOT FOUND when resource not found for subresource request 2020-02-05 13:19:23 -05:00
Chris Wilper
17180337d7 DS-3533 Consistency: Use link repo for mapped collections 2020-02-05 13:19:23 -05:00
Chris Wilper
3a56f002e5 DS-3533 Make community subresource embeds optional 2020-02-05 13:19:23 -05:00
Chris Wilper
3cdb947098 DS-3533 Get optional pageable from one place 2020-02-05 13:19:23 -05:00
Chris Wilper
20a00db673 DS-3533 Make collection subresource embeds optional 2020-02-05 13:19:23 -05:00
Chris Wilper
2865ff9171 DS-3533 Rename for consistency among link repos 2020-02-05 13:19:23 -05:00
Chris Wilper
de71486e6b DS-3533 Consistency: Return NO CONTENT when link repo returns null 2020-02-05 13:19:23 -05:00
Chris Wilper
460ada4098 DS-3533 Require read access to get subresources 2020-02-05 13:19:22 -05:00
Chris Wilper
f98e011738 DS-3533 Make bitstream subresource embeds optional 2020-02-05 13:19:22 -05:00
Chris Wilper
2884a80958 DS-3533 Make bundle subresource embeds optional 2020-02-05 13:19:22 -05:00
Chris Wilper
2f018c6f89 DS-3533 Make item subresource embeds optional 2020-02-05 13:19:22 -05:00
Chris Wilper
fb36d4bd7b DS-3533 Fix test to match new expectation 2020-02-05 13:19:22 -05:00
Chris Wilper
e331d5557e DS-3533 Include optional links by default 2020-02-05 13:19:22 -05:00
Chris Wilper
7637857505 DS-3533 Drop "list" projection; no longer relevant 2020-02-05 13:19:22 -05:00
Chris Wilper
37692eb120 DS-3533 Correct javadocs 2020-02-05 13:19:22 -05:00
Raf Ponsaerts
e0c1e14330 DS-3533 Update javadocs 2020-02-05 13:19:22 -05:00
Raf Ponsaerts
f8eb5843f2 DS-3533 Disable embeds by default 2020-02-05 13:19:22 -05:00
Andrea Bollini
03238bcbb5 Community feedback: improved javadoc and naming 2020-02-05 19:02:42 +01:00
Yana De Pauw
21621ae6d2 Merge branch 'w2p-67668_Porting-IRUS-patch-to-DSpace-7' of https://github.com/atmire/DSpace into w2p-67668_Porting-IRUS-patch-to-DSpace-7 2020-02-05 12:01:37 +01:00
Yana De Pauw
7a37080c98 Fixing RetryOpenUrl and tests due to scriptservice change 2020-02-05 12:01:17 +01:00
Giuseppe Digilio
6230a88b8a Added inline comment 2020-02-05 11:50:18 +01:00
Giuseppe Digilio
0336e83124 Added setSecure option to authetication cookie 2020-02-05 11:49:59 +01:00
Yana De Pauw
b473cc1b40 Update to the script service to ensure scripts are reloaded every time 2020-02-05 10:21:24 +01:00
Mykhaylo Boychuk
325f992936 uniform naming and code cleanup 2020-02-04 15:24:43 +01:00
Mykhaylo Boychuk
6248acd8fa fix findByResourceUuid query 2020-02-04 15:22:23 +01:00
Mykhaylo Boychuk
8c3f572c0b remove references to default bitstream policies to avoid infinite loop 2020-02-04 15:18:00 +01:00
Julius Gruber
707168dd1e Dspace bat file (#2544)
* First test

* Minor changes to bat file

* Removed files not to part of  the PR

* Added config files

* Removed buildpath.bat

* Changed bat file

* Enabled shibooleth in config

* Removed unnecessary comment from bat file

* Linux dspace script made similar to dspace bat file

* Removed authentication.cfg from this PR

* Now really removed authentication.cfg from this PR

* Remove OAI from classpath

Co-authored-by: Tim Donohue <tim.donohue@lyrasis.org>
2020-02-03 11:18:57 -06:00
Tim Donohue
9dbda4e2e1 Merge pull request #2650 from atmire/default-webui.submit.upload.required
Default webui.submit.upload.required
2020-02-03 10:55:44 -06:00
Kevin Van de Velde
f732577425 Merge branch 'master' into workflow-step-definitions 2020-02-03 13:15:57 +01:00
Kevin Van de Velde
bda2e51041 Fixing configuration in the workflow-actions.xml test file 2020-02-03 13:15:30 +01:00
Philip Vissenaekens
2365ef521d 68214: cleaned up stats.cfg, provided configuration for the COUNTER robots list and disabled the IRUS integration by default 2020-01-31 17:44:02 +01:00
Tim Donohue
205cb103dc Merge pull request #2658 from atmire/w2p-68458_Indexing-Performance-is-very-slow-since-refactor--ITs-take-twice-as-long
[DS-4425] Indexing Performance is very slow since refactor. ITs take twice as long
2020-01-31 09:26:03 -06:00
Marie Verdonck
6680d233e2 [DS-2646]: checkstyle fix 2020-01-31 16:03:36 +01:00
Samuel
274ca1fcb2 taskid 68458 optimize performance - IndexEventConsumer change 2020-01-31 13:14:44 +01:00
Marie Verdonck
1820659a80 [DS-2646]: api/config/workflowdefinitions/defaultWorkflow/collections :
returns all non-mapped collections & all collections specifically mapped to defaultWorkflow
& Exception comment
2020-01-31 13:11:40 +01:00
Marie Verdonck
aaa9d5ed29 [DS-2646]: javadoc & SUBMIT_EDIT_METADATA to ProcessingAction 2020-01-31 13:10:42 +01:00
Yana De Pauw
0ee7ec9bef 67668: Refactoring code, adding tests and typedocs 2020-01-31 12:16:07 +01:00
Marie Verdonck
8b51ba692d Merge remote-tracking branch 'dspace-origin/master' into workflow-step-definitions 2020-01-31 11:55:48 +01:00
Kevin Van de Velde
d9acb5ba8a Enabling the patchItemMetadataAuthorized() test 2020-01-30 11:56:58 +01:00
Kevin Van de Velde
a9c8a3b49e Merge branch 'master' into DS-4389-improving-patch-system-framework 2020-01-30 10:46:58 +01:00
benbosman
48cf744040 Merge pull request #2420 from KevinVdV/DS-4239-migrate-workflow-xml-to-spring
[DS-4239] Migrate the workflow.xml to spring
Merging since there are 2 approvals and it's a dependency for https://github.com/DSpace/DSpace/pull/2646
2020-01-29 09:19:00 +01:00
Tim Donohue
75ea08f077 Merge pull request #2632 from mwoodiupui/DS-4409
[DS-4409] Remove GeoIP download Ant target, reconfigure for external provision
2020-01-23 11:23:09 -06:00
Mykhaylo Boychuk
f6d6d14add added some checks in resourcePolicyMatcher 2020-01-23 17:54:37 +01:00
Tim Donohue
61a685f792 Merge pull request #2496 from mwoodiupui/DS-2378
[DS-2378] Remove support for multiple ServiceManagers
2020-01-23 10:20:39 -06:00
Tim Donohue
07370e7f08 Merge pull request #2644 from paulo-graca/patch-5
Fix for DS-4422
2020-01-23 09:46:46 -06:00
Mykhaylo Boychuk
ed14f0c33b added unit test for method findByResource 2020-01-23 16:00:45 +01:00
Giuseppe Digilio
c63b88141c Merge remote-tracking branch 'origin/master' into dspace-7-shibboleth 2020-01-23 14:15:00 +01:00
Tim Donohue
1db367f437 Merge pull request #2641 from atmire/w2p-67817_RelationshipTypeRestController-minor-change
relationship type rest controller bug fix
2020-01-22 09:39:16 -06:00
Marie Verdonck
f8ab7def82 68373: test fix by setting webui.submit.upload.required=false &
extra tests for file upload when upload.required = true
2020-01-22 15:23:31 +01:00
Kevin Van de Velde
5265ebd382 Removing commented out code 2020-01-22 14:53:42 +01:00
Raf Ponsaerts
130db9531d [Task 68380] added files and file endpoints to the Process endpoints 2020-01-22 14:14:01 +01:00
Tim Donohue
60d9f15aec Merge pull request #2640 from paulo-graca/patch-4
Fix for DS-4420 OpenAIREv4 XSLT Warning in Spring Boot
2020-01-21 09:37:18 -06:00
Kevin Van de Velde
20d9b330d0 Fixing merge issue in the workflow-actions.xml file 2020-01-21 12:49:29 +01:00
Giuseppe Digilio
4bb4b539d6 use invalidateAuthenticationCookie method 2020-01-21 11:17:36 +01:00
Kevin Van de Velde
25dd5162b0 Merge branch 'DS-4239-migrate-workflow-xml-to-spring' into workflow-step-definitions 2020-01-21 09:30:07 +01:00
Giuseppe Digilio
4dba383606 replace Boolean type with primitive type 2020-01-20 17:22:36 +01:00
Kevin Van de Velde
5ba7a16e5a [DS-4239] Migrate the workflow.xml to spring: Aligning the workflow.xml from the test to the one in default config 2020-01-20 13:57:41 +01:00
Raf Ponsaerts
2d9e688d95 [Task 68281] applied feedback to the metadata-import and metadata-export scripts 2020-01-20 11:43:14 +01:00
Tim Donohue
903ff57994 Merge pull request #2643 from tdonohue/fix_solr_dockerfile
[Docker] Fix Solr Dockerfile. Pull DSpace Solr configs from 'dspace' image
2020-01-17 16:37:57 -06:00
Tim Donohue
d39027f9d6 Update comment to note why we are pinning to Solr 7 2020-01-17 15:33:14 -06:00
Tim Donohue
54dd0496b3 Make sure DSpace Solr schemas/configs are owned by solr user 2020-01-17 15:17:20 -06:00
Paulo Graça
f34562bb19 Fix for https://jira.lyrasis.org/browse/DS-4422 2020-01-17 14:55:20 +00:00
Ben Bosman
bcd89e9145 JavaDoc for new params 2020-01-17 15:26:36 +01:00
Yana De Pauw
74274ccafc 68273: Making types for which IRUS events should be sent configurable 2020-01-17 13:33:34 +01:00
Giuseppe Digilio
8531f43266 Merge remote-tracking branch 'origin/master' into dspace-7-shibboleth 2020-01-17 12:21:48 +01:00
Kevin Van de Velde
5b2f50060d [DS-4239] Migrate the workflow.xml to spring: Bugfixes to the optional select reviewer workflow 2020-01-17 10:07:56 +01:00
Giuseppe Digilio
0910916903 Revert "use authorization cookie only to check" 2020-01-17 09:14:33 +01:00
Tim Donohue
7f918a5986 Update/enhance README 2020-01-16 16:46:28 -06:00
Tim Donohue
7babc754cf Fix Solr Dockerfile by pulling Solr configs from main dspace image 2020-01-16 16:46:28 -06:00
Tim Donohue
6c864d678c Merge pull request #2642 from tdonohue/fix_broken_build
[HIGH PRIORITY] Fix Maven build where restlet dependency not found for solr-cell
2020-01-16 16:45:27 -06:00
Tim Donohue
31b960d4e1 Merge pull request #2612 from atmire/DS-4287-indexableobject-refactor
[DS 4287] Refactoring the IndexableObject & SolrServiceImpl
2020-01-16 16:21:57 -06:00
Tim Donohue
ad7d22cba7 Update repository to use HTTPS 2020-01-16 16:12:21 -06:00
Tim Donohue
6424b5d12d Fix Maven build where restlet dependency not found for solr-cell 2020-01-16 16:01:17 -06:00
Paulo Graça
81a5204e74 Fix for DS-4420 [Received] OpenAIREv4 XSLT Warning in Spring Boot 2020-01-16 16:05:37 +00:00
Ben Bosman
b7d407fe40 Merge remote-tracking branch 'community/master' into w2p-67817_RelationshipTypeRestController-minor-change 2020-01-16 16:30:23 +01:00
Giuseppe Digilio
1e919f9934 Added WWW-Authenticate header to authn/status response 2020-01-16 15:02:02 +01:00
Marie Verdonck
c171140371 68274: /workflowdefinitions/<:definition-name>/steps endpoint as embedded resource and collections link 2020-01-16 14:19:11 +01:00
Tim Donohue
c6641f5d1b Merge pull request #2638 from atmire/w2p-68148_bug-in-viewevents
Bug in ViewEvents
2020-01-15 10:24:58 -06:00
Tim Donohue
6e9d459e00 Merge pull request #2637 from tdonohue/version_updates
Minor dependency updates to resolve GitHub security alerts
2020-01-15 10:22:44 -06:00
Mykhaylo Boychuk
5c93722d67 Implement community feedbacks 2020-01-15 15:34:13 +01:00
Mykhaylo Boychuk
8fce3d109a added javadoc and rename some methods 2020-01-15 15:31:31 +01:00
Raf Ponsaerts
182a8f01f3 Applied feedback to the MetadataExport and MetadataImport scripts 2020-01-15 13:49:31 +01:00
Marie Verdonck
b76933e7c1 68274: /api/config/workflowdefinitions/<:definition-name>/steps endpoint and link 2020-01-14 13:06:27 +01:00
Mykhaylo Boychuk
dc9fe87987 Implemented unit test 2020-01-13 16:30:56 +01:00
Mykhaylo Boychuk
7d5ed97676 added javadoc 2020-01-13 16:27:36 +01:00
Kevin Van de Velde
5236534847 [DS-4287] Refactoring the IndexableObject & SolrServiceImpl: Fixing some tests 2020-01-13 13:09:18 +01:00
Marie Verdonck
2c5acf0cfb 68253: GET /api/config/workflowsteps/<:step-name> IT 2020-01-13 12:45:54 +01:00
Mykhaylo Boychuk
74cfc838d6 Merge branch 'master' of https://github.com/DSpace/DSpace into resourcepolicies 2020-01-13 09:36:20 +01:00
Mykhaylo Boychuk
92f632d08f Implement community feedbacks 2020-01-11 11:49:32 +01:00
Mykhaylo Boychuk
8d66d7f534 added javadoc 2020-01-11 11:41:21 +01:00
Mykhaylo Boychuk
7808834e9c renamed the class and add javadoc 2020-01-11 11:33:07 +01:00
Mark H. Wood
aa4f2898c6 [DS-4409] Leave GeoLite database location unconfigured by default. 2020-01-10 11:46:08 -05:00
Marie Verdonck
766d021a1a 68253: GET /api/config/workflowsteps/<:step-name> endpoint 2020-01-10 17:01:33 +01:00
Giuseppe Digilio
e884cc3d8c fix attemptAuthentication method on ShibbolethAuthenticationFilter 2020-01-10 14:53:03 +01:00
Giuseppe Digilio
50cf9b742f add attemptAuthentication method to ShibbolethAuthenticationFilter 2020-01-10 14:39:54 +01:00
Giuseppe Digilio
ba9d2095dc Revert "Check session salt in shib auth"
This reverts commit 462f20a338.
2020-01-10 14:33:05 +01:00
Kevin Van de Velde
f112d93cd5 Merge branch 'master' into DS-4287-indexableobject-refactor 2020-01-10 10:48:55 +01:00
Kevin Van de Velde
2c5ed44f81 [DS-4287] Refactoring the IndexableObject & SolrServiceImpl: Additional comments, some more narrowing of generics, additional error catching & cleaner way to resolve permissions 2020-01-10 10:33:56 +01:00
Giuseppe Digilio
462f20a338 Check session salt in shib auth 2020-01-10 10:25:58 +01:00
Giuseppe Digilio
a32d11eb85 Revert check 2020-01-10 10:20:21 +01:00
Giuseppe Digilio
15d6b18ebf fix check user and password blank 2020-01-10 10:09:19 +01:00
Giuseppe Digilio
5530e7b7a3 Add checck to user and password blank 2020-01-10 09:49:55 +01:00
Mark H. Wood
ad03a97660 [DS04409] There is another set of mock/fake classes for dspace-server-webapp. Activate them. 2020-01-09 16:13:38 -05:00
Giuseppe Digilio
beb975281d Invalidate authentication cookie once used 2020-01-09 19:02:31 +01:00
Giuseppe Digilio
4210605503 fix use authorization cookie only to check 2020-01-09 18:36:41 +01:00
Giuseppe Digilio
15087db2b6 use authorization cookie only to check 2020-01-09 18:25:10 +01:00
Tim Donohue
053eb1be3c Merge pull request #2635 from tdonohue/docker_wait_on_db
[Docker] Ensure dspace container waits until db is accepting connections before starting Tomcat
2020-01-09 11:23:53 -06:00
Giuseppe Digilio
2a1cb37bbd Revert "add context commit after invalidating token"
This reverts commit 64bc25f7c9.
2020-01-09 18:19:06 +01:00
Giuseppe Digilio
64bc25f7c9 add context commit after invalidating token 2020-01-09 18:04:42 +01:00
Giuseppe Digilio
bf1e9780d4 Invalidate authorization cookie on logout 2020-01-09 16:29:55 +01:00
Giuseppe Digilio
bbfc373bdc Fixed checkstyle violations 2020-01-09 15:58:17 +01:00
Giuseppe Digilio
44210f92ed Fixed AuthenticationRestControllerIT 2020-01-09 15:20:34 +01:00
Raf Ponsaerts
24f5cf0896 Fixed tests in CSVMetadataImportReferenceTest and script bean issues 2020-01-09 15:03:42 +01:00
Marie Verdonck
22b1f6231d 68155: xmlWorkflowFactory autowired where possible & WorkflowAction.name > id 2020-01-09 14:24:37 +01:00
Yana De Pauw
a1009276c3 67668: psql fix 2020-01-09 13:58:31 +01:00
Yana De Pauw
c6ce9aaf10 67668: Fix to the postgres sql file 2020-01-09 13:45:47 +01:00
Giuseppe Digilio
1e1de3c2e9 Add authorization cookie only in ShibbolethAuthenticationFilter 2020-01-09 13:41:43 +01:00
Yana De Pauw
46a3407642 67688: Add IRUS patch to DSpace 7 2020-01-09 13:19:43 +01:00
Giuseppe Digilio
e5074004f4 Revert "Retrieve token from cookie only when checking an authenticated eperson"
This reverts commit 10bbf8079b.
2020-01-09 13:11:22 +01:00
Giuseppe Digilio
10bbf8079b Retrieve token from cookie only when checking an authenticated eperson 2020-01-09 12:08:55 +01:00
Tim Donohue
6a1c170fe6 Minor updates to Spring configs for Spring Security v5 2020-01-08 16:10:12 -06:00
Tim Donohue
676fbb1450 Fix CVE-2019-0201 and CVE-2019-17531 2020-01-08 14:30:31 -06:00
Tim Donohue
9bb75570b0 Fix CVE-2019-17195 2020-01-08 14:29:58 -06:00
Tim Donohue
899b697e5f Fix warning about missing <version> tag 2020-01-08 14:29:18 -06:00
Tim Donohue
33d3b67f98 Fix CVE-2016-5007 2020-01-08 14:28:35 -06:00
Tim Donohue
2839fef6d4 Fix warning about new groupId for hibernate-validator-cdi 2020-01-08 14:27:43 -06:00
Giuseppe Digilio
4ce3c8cbda Fixed checkstyle violations 2020-01-08 18:38:41 +01:00
Tim Donohue
a0ca6e2fad Merge pull request #2619 from atmire/DS-4351-upgrade-dependencies
DS-4351 upgrade dependencies
2020-01-08 10:18:46 -06:00
Peter Nijs
516a1e298a 68148: Bug in ViewEvents
- Remove 'id' field from the ViewEventRest
2020-01-08 14:53:07 +01:00
Marie Verdonck
4f0b48b4ff 68155: SUBMIT_CANCEL option removed from SelectReviewerAction 2020-01-08 14:13:40 +01:00
Kevin Van de Velde
34b7663c89 [DS-4351] upgrade dependencies: Excluding byte-buddy instead of pinning on a version & removing some duplicate dependencies 2020-01-08 14:11:05 +01:00
Marie Verdonck
50eb5be31c 68150: resolve collection handles to collection in XmlWorkflowFactory & forgotten exception 2020-01-08 11:55:19 +01:00
Mark H. Wood
692bbd9449 [DS-4409] Don't use live GeoLite database for testing -- there might not be one. 2020-01-07 16:23:17 -05:00
Tim Donohue
da3a48ed04 Minor fix. Discard any output of TCP connection command, so we don't see initial connection errors. 2020-01-07 14:44:20 -06:00
Tim Donohue
d84cde2cc3 Ensure dspace container waits until db is accepting connections 2020-01-07 12:20:06 -06:00
Mykhaylo Boychuk
32c775445f added patchOperations for name and description 2020-01-07 11:44:53 +01:00
Mykhaylo Boychuk
64a2caed73 added patchOperatins for startDate and endDate 2020-01-07 11:36:46 +01:00
Mykhaylo Boychuk
d2ed1925c3 added unit tests for patch 2020-01-07 11:25:04 +01:00
Mykhaylo Boychuk
6be3b6a95e added methods withEndDate(), withDescriptions, withName for ResourcePolicyBuilder 2020-01-07 11:14:14 +01:00
Marie Verdonck
2c6c51752e 68155: /api/config/workflowactions/<:action-name> endpoint + tests 2020-01-06 16:50:02 +01:00
Kevin Van de Velde
977b3f409d [DS-4351] upgrade dependencies: Fixing a display issue in HAl & resolving a warning with slf4j on tomcat startup 2020-01-06 15:52:21 +01:00
Raf Ponsaerts
a208058d38 Working on fixes test issues 2020-01-06 14:12:08 +01:00
Raf Ponsaerts
248e67f9a3 Merge remote-tracking branch 'dspace/master' into w2p-64428_scripts-prototype-importing-and-exporting
Conflicts:
	dspace-api/src/main/java/org/dspace/app/launcher/ScriptLauncher.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/ScriptProcessesController.java
	dspace-server-webapp/src/main/java/org/dspace/app/rest/scripts/handler/impl/RestDSpaceRunnableHandler.java
	dspace-server-webapp/src/test/java/org/dspace/app/scripts/handler/impl/TestDSpaceRunnableHandler.java
2020-01-06 14:11:55 +01:00
Marie Verdonck
a254ae31e2 68150: /workflowdefinitions/defaultWorkflow/collections now returns all non-mapped collections and now returns paginated result + tests 2020-01-06 12:50:52 +01:00
Mykhaylo Boychuk
20f0ac3d22 Added permission evaluator plagin for patch in ResourcePolicy 2020-01-05 19:58:03 +01:00
Mark H. Wood
e018386175 [DS-4409] Remove GeoIP download Ant target, reconfigure for external provision. 2020-01-03 16:31:27 -05:00
Peter Nijs
87515d6deb 68007: Refactoring the IndexableObject & SolrServiceImpl 2020-01-03 17:54:25 +01:00
Marie Verdonck
7ed292e754 68150: fix and tests for pagination for api/config/workflowdefinitions 2020-01-03 17:11:26 +01:00
Ben Bosman
575e672fba webui.submit.upload.required should default to true 2020-01-03 13:57:25 +01:00
Marie Verdonck
d8dc4f113c 67998: non-numbered handle config so can't accidentally be created 2020-01-03 12:39:06 +01:00
Ben Bosman
1bb451db41 webui.submit.upload.required should default to true 2020-01-03 12:10:12 +01:00
Ben Bosman
f935faade1 webui.submit.upload.required should default to true 2020-01-03 10:59:11 +01:00
Ben Bosman
a962c35a81 webui.submit.upload.required should default to true 2020-01-03 09:40:37 +01:00
Giuseppe Digilio
787e2bbc97 Merge remote-tracking branch 'origin/master' into dspace-7-shibboleth 2020-01-02 18:28:30 +01:00
Ben Bosman
d2876e29dc webui.submit.upload.required should default to true 2020-01-02 18:28:22 +01:00
Marie Verdonck
9dd433412a 67998: tested config handle moved, since other non-collection dso already create at that handle 2020-01-02 17:40:18 +01:00
Marie Verdonck
414b82f9cb 67998: feedback exceptions 2020-01-02 17:05:19 +01:00
Kevin Van de Velde
b96138e3da Merge remote-tracking branch 'upstream/master' into DS-4351-upgrade-dependencies 2020-01-02 15:20:14 +01:00
Kevin Van de Velde
169f3d7e8e [DS-4239] Migrate the workflow.xml to spring: Fixing import issue 2020-01-02 10:41:04 +01:00
Kevin Van de Velde
a6eb614332 [DS-4239] Migrate the workflow.xml to spring: Adding some additional tests 2020-01-02 10:25:16 +01:00
Andrea Bollini
03623259dc Implement add, replace, delete operations for startDate 2019-12-30 18:06:30 +01:00
Mykhaylo Boychuk
b9f0f877bb Add ITs for patch operations, fix cast errors 2019-12-30 16:44:16 +01:00
Mykhaylo Boychuk
0604cf415a Merge branch 'resourcepolicies' of https://github.com/abollini/dspace into resourcepolicy_auth
merge resourcepolicy with resourcepolicy_auth
2019-12-24 11:47:08 +01:00
Andrea Bollini
a4fab8db03 Draft patch operations for ResourcePolicies 2019-12-24 11:11:06 +01:00
Andrea Bollini
613ceb8e5c Merge branch 'resourcepolicy_auth' into resourcepolicies 2019-12-24 08:42:06 +01:00
Mykhaylo Boychuk
d5313ca12e add property @PreAuthorize for methods createAndReturn and delete 2019-12-23 17:59:28 +01:00
Mykhaylo Boychuk
e88f6f9d8e Implemented unit tests for methods create and delete 2019-12-23 17:58:08 +01:00
Mykhaylo Boychuk
8ac971a63b Merge branch 'master' of https://github.com/DSpace/DSpace into resourcepolicies 2019-12-23 12:30:46 +01:00
Marie Verdonck
2521fa5107 67998: Merged in w2p-67996, altered XmlWorkflowFactoryTest to destroy created comcol 2019-12-23 12:09:02 +01:00
Mykhaylo Boychuk
d56b3b8013 Implement community feedbacks 2019-12-23 11:23:42 +01:00
Tim Donohue
c8bbe99e37 Merge pull request #2592 from paulo-graca/rcaap-openaire4-oai_openaire-support
OpenAIRE4 oai_openaire metadata format support
2019-12-20 14:33:31 -06:00
Tim Donohue
acb94e20f1 Merge pull request #2607 from atmire/w2p-67450_Discovery-clean-index-fix_7
[DS-4393] Discovery clean index fix
2019-12-20 13:58:28 -06:00
Tim Donohue
611258c0c8 Merge pull request #2580 from mspalti/discoveryAdmin
[DS-3906] REST endpoint for discovering withdrawn and private items.
2019-12-20 13:54:45 -06:00
Tim Donohue
0227b89a2c Merge pull request #2597 from atmire/DS-4391_fix_nonincoming_bitstream_gets
DS-4391 Get modified date from the right store
2019-12-20 13:52:25 -06:00
Kevin Van de Velde
a5ca3813b7 DS-4351 Upgrade spring (boot) & hibernate to newer versions: Removing unused mock 2019-12-20 17:03:45 +01:00
Kevin Van de Velde
0d41de5bf7 DS-4351 Upgrade spring (boot) & hibernate to newer versions: Removing unused mock 2019-12-20 16:38:52 +01:00
Kevin Van de Velde
98c483f7ca Merge branch 'master' into DS-4351-upgrade-dependencies 2019-12-20 11:48:47 +01:00
Marie Verdonck
59ef4ef065 Merge branch 'w2p-67996-workflow-junit-tests' into workflow-step-definitions 2019-12-20 11:22:59 +01:00
Marie Verdonck
7ef537507f - Merged with KevinVdV/DSpace/DS-4239-migrate-workflow-xml-to-spring
- Changed all implementations of XmlWorkflowFactoryImpl to work with new mapping
- Moved their java doc to XmlWorkflowFactory
- Removed/Changed exceptions
- Altered tests in WorkflowDefinitionRestRepositoryIT to work with changes

Merge remote-tracking branch 'github-kevin/DS-4239-migrate-workflow-xml-to-spring' into workflow-step-definitions

# Conflicts:
#	dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowFactoryImpl.java
#	dspace-api/src/main/java/org/dspace/xmlworkflow/factory/XmlWorkflowFactory.java
2019-12-20 11:21:17 +01:00
Paulo Graça
d08fe3e4f5 remove openaire4 unused beans 2019-12-19 16:38:14 +00:00
Marie Verdonck
500fe6641d 67993: Tests for changes in workflow config 2019-12-19 16:26:25 +01:00
Kevin Van de Velde
96c084c4c2 Removing wrongly added @Ignore annotations 2019-12-19 14:44:14 +01:00
Marie Verdonck
39c727a803 67694: forgot to log error stack itself 2019-12-19 10:50:02 +01:00
Paulo Graça
c5e8cdac96 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-18 17:03:02 +00:00
Paulo Graça
817b8b1f45 changing the relation type to fetch the required funding sub fields 2019-12-18 16:53:41 +00:00
Paulo Graça
7814a9a1df adding comments for each template 2019-12-18 16:52:19 +00:00
Tim Donohue
ded7243a76 Merge pull request #2629 from paulo-graca/rcaap-openaire4-relationships
OpenAIRE4 missing relationships on registries
2019-12-18 09:39:53 -06:00
Paulo Graça
859eebf624 openaire4 transformer configuration 2019-12-18 14:23:03 +00:00
Paulo Graça
6970f4278a adding comments 2019-12-18 14:22:25 +00:00
Paulo Graça
1f07232d2b adding required openaire4 relationships 2019-12-18 11:44:55 +00:00
Paulo Graça
754d02378e fixing missing funder relationship 2019-12-18 11:38:15 +00:00
Paulo Graça
5aa76ce908 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-17 18:07:40 +00:00
Tim Donohue
124bc38a2c Merge pull request #2621 from paulo-graca/rcaap-openaire4-miscfixes
OpenAIRE4 adding missing field person.identifier
2019-12-17 11:50:32 -06:00
Tim Donohue
7bdb5a28d8 Merge pull request #2608 from paulo-graca/rcaap-openaire4-submissionform
OpenAIRE 4 submission forms
2019-12-17 11:47:15 -06:00
Paulo Graça
e3ac9a7874 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-miscfixes 2019-12-17 17:19:51 +00:00
Paulo Graça
f42f1c2a64 removing extra Turkish entry 2019-12-17 16:01:07 +00:00
Paulo Graça
c28b576975 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-submissionform 2019-12-17 15:58:47 +00:00
Paulo Graça
b892e883ed support for subjects and publihsers 2019-12-17 15:55:11 +00:00
Paulo Graça
784ef4b3ae Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-17 15:53:57 +00:00
Marie Verdonck
943b3f1356 67694: isDefault fix, workflowdefinitions IT, exception handling 2019-12-17 16:31:31 +01:00
Tim Donohue
e205009feb Merge pull request #2628 from atmire/w2p-67824_Entity-type-request-by-label
EntityType by label endpoint and integration tests
2019-12-17 09:21:00 -06:00
Paulo Graça
5fa561cf89 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-miscfixes 2019-12-17 14:26:56 +00:00
Paulo Graça
93ed485c7a changing comment 2019-12-17 10:24:29 +00:00
Paulo Graça
822d1bb02d Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-17 10:21:10 +00:00
Paulo Graça
ff61bb1521 replacing openAIRECreator with personOrOrganization 2019-12-17 10:18:51 +00:00
Paulo Graça
8ef8ff378f Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-submissionform 2019-12-17 10:15:29 +00:00
Marie Verdonck
8a3479e753 67694: Exception handling improvements and /search moved to repository 2019-12-17 11:08:17 +01:00
Tim Donohue
b610dd53c7 Merge pull request #2622 from atmire/default-entity-relationship-types
Default Entities relationship types used for the demos
2019-12-16 13:33:44 -06:00
Tim Donohue
023b143b95 Merge pull request #2618 from atmire/entities-submission-config
Entities submission config
2019-12-16 13:31:30 -06:00
Tim Donohue
da8488c7de Merge pull request #2614 from atmire/feature-external-sources-entities-post-workspace-item
Creating a workspace item from an external source
2019-12-16 13:28:44 -06:00
Paulo Graça
129a411a25 remove oai_openaire metadata format from the default context 2019-12-16 17:06:51 +00:00
Paulo Graça
f3673b132d removing trailling whitespaces 2019-12-16 15:34:44 +00:00
Paulo Graça
0d427faa20 adding a specific filter for openaire4 2019-12-16 15:32:14 +00:00
Paulo Graça
a696d6ec43 removing 'configuration' word from openaire configuration naming and fixing wrong element and qualifier names 2019-12-16 12:06:59 +00:00
Kevin Van de Velde
f4304673ed Merge branch 'master' into DS-4239-migrate-workflow-xml-to-spring 2019-12-16 13:00:54 +01:00
Paulo Graça
dbf9054182 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-submissionform 2019-12-16 11:56:02 +00:00
Marie Verdonck
5831f4cbde 67824: EntityType by label endpoint and integration tests 2019-12-16 12:48:34 +01:00
Paulo Graça
a502b190f5 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-16 11:27:20 +00:00
Paulo Graça
1e0743c251 fixing errors with earlier transformation/normalization 2019-12-16 11:27:03 +00:00
benbosman
fd8e8fc76e Merge pull request #2615 from atmire/get-entity-type-performance
Get entity type performance improvement
2019-12-16 11:25:43 +01:00
benbosman
5edae495f4 Merge pull request #2617 from atmire/DS-4401
DS-4401 Enforce relational place ordering when place direction is known
2019-12-16 11:24:29 +01:00
Mykhaylo Boychuk
63701ce239 implemented method delete() 2019-12-16 10:01:08 +01:00
Mykhaylo Boychuk
5f2235e434 implemented unit test deleteOne 2019-12-16 09:59:01 +01:00
Mykhaylo Boychuk
8e8b1762e2 add Jackson(Access.OnlyRead) property to method getType, and fix method createAndReturn 2019-12-16 09:57:55 +01:00
Mykhaylo Boychuk
edb7a0f2e3 added method createAndReturn 2019-12-14 19:28:13 +01:00
Mykhaylo Boychuk
2810a815e4 added static method delete by id in ResourcePolicyBuilder 2019-12-14 18:58:04 +01:00
Mykhaylo Boychuk
bf05290b0c Implemented unit test for method createAndReturn 2019-12-14 18:42:20 +01:00
Paulo Graça
dcaad7584b modifying default values and add more openaire4 support 2019-12-13 16:31:22 +00:00
Raf Ponsaerts
525a586e53 Applied feedback to the external sources entities post workspace item feature 2019-12-13 16:23:02 +01:00
Anis
29432d80f4 forgot doc namespace 2019-12-13 14:57:13 +02:00
Anis
8f10cf534c upgrade mets xslt version to 2.0 2019-12-13 14:23:54 +02:00
Paulo Graça
4fc7ce6072 adding support for entities and other elements like: creator, contributors, fundingReference, dates 2019-12-12 16:00:27 +00:00
Paulo Graça
bd5efcd4e9 removing unsed filter 2019-12-12 15:58:26 +00:00
Paulo Graça
ea2e3e2a02 Changing XOAI dependency to version that solves an existing bug 2019-12-12 15:57:25 +00:00
Paulo Graça
255a77c4a6 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-12 13:28:46 +00:00
Paulo Graça
51cda8668e adding a new dspace url as a field element 2019-12-12 13:28:37 +00:00
Marie Verdonck
6084fae357 67694: checkstyle and licenses 2019-12-12 10:42:04 +01:00
Andrew Wood
c76994a3a0 DS-4401 apply place ordering in findByLabel for RelationshipRestRepository 2019-12-11 14:48:32 -05:00
Tim Donohue
884e1f8d73 Merge pull request #2623 from tdonohue/update_entities_sample_data
[Docker] Update DSpace 7 Entities sample data SQL and assetstore
2019-12-11 10:17:24 -06:00
Tim Donohue
f1ba87474f Update Entities sample data SQL and assetstore 2019-12-11 09:43:55 -06:00
Raf Ponsaerts
2f870cbe78 [Task 67817] cleaned up code 2019-12-11 16:07:38 +01:00
Raf Ponsaerts
35e9e3ed5d [Task 67817] first fix for the relationshiptypes for entitytype endpoint 2019-12-11 15:23:17 +01:00
Ben Bosman
ea914a42ae Default Entities relationship types used for the demos 2019-12-11 14:52:15 +01:00
Marie Verdonck
58870b079d 67694: new /api/config/workflowsdefintions endpoints:
/api/config/workflowdefinitions/<:definition-name>
/api/config/workflowdefinitions
/api/config/workflowdefinitions/search/findByCollection?uuid=<:collection-uuid>
/api/config/workflowdefinitions/<:definition-name>/collections

Signed-off-by: Marie Verdonck <maria.verdonck@atmire.com>
2019-12-11 13:58:24 +01:00
Marie Verdonck
76853f8dd6 Merge remote-tracking branch 'dspace-origin/master' into DS-4389-improving-patch-system-framework
# Conflicts:
#	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java
2019-12-11 09:55:07 +01:00
Kevin Van de Velde
2dd5512286 Merge pull request #2600 from atmire/DS-4317_bundles-in-REST-continued
Ds 4317 bundles in rest continued
2019-12-11 09:53:09 +01:00
Paulo Graça
992d65df4f Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-10 18:22:42 +00:00
Paulo Graça
351c3debac adding a catch all person.identifier field 2019-12-10 17:55:08 +00:00
Paulo Graça
cbfc5c826d moving openAIRE submission steps to just before the sample item 2019-12-10 17:46:04 +00:00
Ben Bosman
35d743601a Entities submission configuration 2019-12-10 18:39:03 +01:00
Paulo Graça
713f0caa89 removing form-value-pairs for language iso 3 and replacing with the default also adding portuguese to the default languages list 2019-12-10 17:35:59 +00:00
Paulo Graça
d687ff3390 enhancing comments and rename bean from openAIREAuthor to a more generic personOrOrganization 2019-12-10 17:34:44 +00:00
Paulo Graça
12700203a8 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-submissionform 2019-12-10 17:12:43 +00:00
Marie Verdonck
ce2662c58d DS-4389 improving patch system framework - Minor feedback changes PR 2591 2019-12-10 17:40:15 +01:00
Raf Ponsaerts
e295a76c70 [Task 66428] Applied feedback to the MetadataImport and Export scripts and framework 2019-12-10 16:13:54 +01:00
Kevin Van de Velde
1c6d262c03 DS-4351 Upgrade spring (boot) & hibernate to newer versions: Fixing issues with the latest master merge 2019-12-10 15:58:11 +01:00
Ben Bosman
eda9a8fcaa Entities submission configuration 2019-12-10 15:47:46 +01:00
Ben Bosman
7130e5d3d2 Entities submission configuration 2019-12-10 15:05:44 +01:00
Ben Bosman
f26d0475ac Entities submission configuration 2019-12-10 14:55:48 +01:00
Kevin Van de Velde
5bf433f71b DS-4351 Upgrade spring (boot) & hibernate to newer versions: Fixing issues with the latest master merge & fixing the tests 2019-12-10 14:16:54 +01:00
benbosman
40128ab632 Merge pull request #2599 from atmire/w2p-66086_delete-relationships-relationshiptype-copyleft-copyright-variables
Delete item with relationships: configure defaults
2019-12-10 13:27:09 +01:00
Mykhaylo Boychuk
b917a479e9 Implement community feedbacks 2019-12-10 12:59:15 +01:00
Andrew Wood
f6d17aa0ba DS-4401 Enforce relational place ordering when place direction is known 2019-12-09 16:04:55 -05:00
Paulo Graça
fa5882fc7d Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-09 17:26:02 +00:00
Paulo Graça
0505ed9aa8 virtual metadata default settings and oai_openaire4 default transformation 2019-12-09 17:25:52 +00:00
Mykhaylo Boychuk
0178c6b490 created:
Class:
		- DSpaceObjectRestPermissionEvaluatorPlugin
		- DSpaceObjectUtils - this class contain the method that permit to find some DSpaceObject by UUID
2019-12-09 16:30:07 +01:00
Kevin Van de Velde
3e74b20d8e Merge branch 'master' into DS-4351-upgrade-dependencies 2019-12-09 15:32:26 +01:00
Kevin Van de Velde
8d4ebac101 DS-4351 Upgrade spring (boot) & hibernate to newer versions: Restore datasource 2019-12-09 14:25:04 +01:00
Tim Donohue
1b533d5d0c Merge pull request #2613 from atmire/avoid-lang-ANY-virtual-metadata
Avoid setting the virtual metadata language to ANY (*)
2019-12-06 09:43:12 -06:00
Raf Ponsaerts
3b8b3db22c Fixed Travis failure on EntityServiceImplTest 2019-12-06 14:17:27 +01:00
Paulo Graça
a0edc14bcc Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-06 11:41:08 +00:00
Paulo Graça
4c914c147b reverting virtual metadata 2019-12-06 11:32:16 +00:00
Paulo Graça
b7847c0268 reverting errors 2019-12-06 11:30:04 +00:00
Paulo Graça
9f647bb6ca Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-submissionform 2019-12-06 11:26:30 +00:00
Paulo Graça
7ec0733de0 reverting virtual metadata changes (they will be moved to oai_openaire PR) 2019-12-06 11:26:17 +00:00
Paulo Graça
929262e9a6 Indentation fix and allowing openAIRE specific discovery search configurations 2019-12-06 11:25:11 +00:00
Paulo Graça
e348cf031a setting name variants parameter 2019-12-06 11:21:26 +00:00
Raf Ponsaerts
78c1773fac Merge remote-tracking branch 'dspace/master' into feature-external-sources-entities-post-workspace-item 2019-12-06 10:36:23 +01:00
Raf Ponsaerts
5585d27991 Refactored the UriListHandler and its implementations and supported the workspace item creation from ExternalDataObjects 2019-12-06 10:36:12 +01:00
Ben Bosman
533b0b9838 Avoid setting the virtual metadata language to ANY (*) 2019-12-06 09:48:12 +01:00
Tim Donohue
dd0ab630e0 Merge pull request #2590 from atmire/feature-external-sources-entities-post
Feature: Creating an archived item from an external source
2019-12-05 14:52:42 -06:00
Kevin Van de Velde
84775128b1 Adding missing MetadataExportServiceImpl to the core-services.xml file 2019-12-05 15:59:52 +01:00
Ben Bosman
bd14a517f2 Avoid setting the virtual metadata language to ANY (*) 2019-12-05 15:06:17 +01:00
Raf Ponsaerts
30eb596224 Removed redundant admin check in ExternalSourceEntryUriListHandler 2019-12-05 14:49:00 +01:00
Raf Ponsaerts
43f9e9c545 Applied feedback to the ExternalSourceEntryUriListHandler 2019-12-05 13:50:49 +01:00
Raf Ponsaerts
b0cdb3907d Renamed copyLeft and copyRight, added defaults for them in the test Relationship-types file and added a test for the place check after deleting a relationship and keeping the virtual metadata 2019-12-05 11:03:11 +01:00
Michael W Spalti
7b36453c58 Minor update in discovery.xml 2019-12-04 12:46:36 -08:00
Michael W Spalti
00ac347361 Merge remote-tracking branch 'upstream/master' into discoveryAdmin 2019-12-04 12:25:48 -08:00
Michael W Spalti
4b64105962 Added check for commuity/collection admins to solr plugin for private items. 2019-12-04 11:54:55 -08:00
Michael W Spalti
9c5f1c1e11 Renamed discovery configuration and added error message. 2019-12-04 10:31:50 -08:00
Paulo Graça
dd570ead94 new filter 2019-12-04 17:35:34 +00:00
Paulo Graça
da216d12bf field descriptions 2019-12-04 17:34:58 +00:00
Paulo Graça
a138dff22f Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-submissionform 2019-12-04 09:53:38 +00:00
Paulo Graça
58c48d1190 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-04 09:52:16 +00:00
Michael W Spalti
50794b6015 Fixed style check error. 2019-12-03 18:06:24 -08:00
Michael W Spalti
9e320da6b1 Removes browse for private and withdrawn items, removes the includeUnDiscoverable boolean from SearchService methods, adds solr plugin to prevent non-admin discovery of private items. 2019-12-03 17:19:50 -08:00
Tim Donohue
cb5e71cb18 Merge pull request #2610 from atmire/w2p-67600_bug-update-relationships
Updating Relationships through JSON put causes place alterations to be broken
2019-12-03 15:30:14 -06:00
Tim Donohue
f9098ae126 Merge pull request #2576 from paulo-graca/rcaap-openaire4-fields
OpenAIRE 4 required fields
2019-12-03 15:26:05 -06:00
Paulo Graça
dd27fe758f Removing relationships loading for each item - leaving the refactored code 2019-12-03 17:55:22 +00:00
Paulo Graça
019a6c42a3 Removing relationships loading for each item - leaving the refactored code 2019-12-03 17:54:48 +00:00
Paulo Graça
e24921502d Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-12-03 17:50:25 +00:00
Paulo Graça
d4a59d8214 initial virtual metadata 2019-12-03 15:50:52 +00:00
Paulo Graça
5e163f3beb new openaire discovery search filters 2019-12-03 15:21:51 +00:00
Paulo Graça
4ceed51567 OpenAIRE default discovery settings 2019-12-03 15:09:16 +00:00
Paulo Graça
db1408b796 OpenAIRE default discovery settings 2019-12-03 15:07:37 +00:00
Paulo Graça
73fb573742 address submission forms changes 2019-12-03 12:06:31 +00:00
Mykhaylo Boychuk
fbdee987c9 added the following unit test:
- findOneAccessGrantToAdminTest()
        - findOneAccessGrantToSomeOneUserTest()
2019-12-03 12:53:43 +01:00
Raf Ponsaerts
bf3796874d Fixed the bug in the PUT endpoint for Relationships 2019-12-03 10:20:23 +01:00
Raf Ponsaerts
3c917619f3 Made a test to prove that the PUT on Relationships with JSON fails 2019-12-03 09:50:57 +01:00
Mykhaylo Boychuk
27735d7126 created:
class:
        - resourcePolicyRestPermissionEvaluatorPlugin
    method:
       - boolean hasDSpasePermission(Authentication authentication, Serializable targetId, String targetType, DSpaceRestPermission permission)
       - boolean isMyResoursePolicy(Context context, EPerson eperson, Integer id)  - this one checks if the resourcePolicy, that I'm searching, is of the authenticated person
       - ResourcePolicy findOneById (DAO)
2019-12-02 16:15:32 +01:00
Raf Ponsaerts
daeab74815 Added proper authorization handling for the ExternalSources item create endpoint 2019-12-02 12:07:49 +01:00
Raf Ponsaerts
5b16e21980 Merge branch 'feature-external-sources-entities-post' of https://github.com/atmire/DSpace into feature-external-sources-entities-post 2019-12-02 11:27:25 +01:00
Raf Ponsaerts
664c970da9 Fixed minor bug in the UriList parsing and added IT tests 2019-12-02 11:27:12 +01:00
Mykhaylo Boychuk
5eff3c6295 I added the following unit tests:
- findOneForbiddenTest()
- searchResoucesPolicyByEPersonUuidForbiddenTest()
- searchResoucesPoliciesByResourceUuidForbiddenTest()
- searchResoucesPolicyByGroupUuidForbiddenTest()
2019-12-01 11:49:27 +01:00
Marie Verdonck
b781ae5560 [DS-4389] (Improving patch system framework) Rename of package since there are no more factories 2019-11-29 15:47:58 +01:00
Kevin Van de Velde
4c9a30bb14 [DS 4287] Refactoring the IndexableObject & SolrServiceImpl to become more expandable 2019-11-29 14:26:50 +01:00
Paulo Graça
dbfbc853bf changing case for identifiers 2019-11-29 10:55:44 +00:00
Mykhaylo Boychuk
3c7d59a8a4 DS-4398 fix checkstyle issues 2019-11-29 11:44:03 +01:00
Paulo Graça
3afd0d8d02 changing form names and adding references into item-submission and indentation 2019-11-29 10:40:54 +00:00
Paulo Graça
90b0862453 initial openaire on default item submission forms 2019-11-28 17:31:09 +00:00
Mykhaylo Boychuk
b236b8e487 Merge branch 'master' of https://github.com/DSpace/DSpace into resourcepolicies
# Conflicts:
#	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResourcePolicyRestRepository.java
2019-11-28 17:33:18 +01:00
Paulo Graça
3c8d906539 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-fields 2019-11-28 16:05:26 +00:00
Paulo Graça
a8bf0f7efa comments 2019-11-28 16:04:51 +00:00
Paulo Graça
9c53334088 Initial openaire submission forms 2019-11-28 15:45:29 +00:00
Ben Bosman
4fda5c1354 improving performance of the getType function, it's not a virtual field 2019-11-28 14:16:04 +01:00
Mykhaylo Boychuk
f0eb9cb3d9 DS-4398 initial implementation of the resource policies endpoint
DONE
- sync implementation of findAll with the contract
- add ITs for implemented methods

TODO
- enforce security in access resource policy details
- method to create a resource policy
- method to patch a resource policy
2019-11-28 13:20:43 +01:00
Paulo Graça
e24fa61c8e indentation fix 2019-11-28 10:39:30 +00:00
Kevin Van de Velde
a5cd7b8fb4 Merge remote-tracking branch 'upstream/master' into DS-4317_bundles-in-REST-continued 2019-11-28 10:44:58 +01:00
Kevin Van de Velde
219b086979 Merge branch 'master' into DS-4317_bundles-in-REST-continued 2019-11-28 10:39:25 +01:00
Kevin Van de Velde
2bcd6013eb [DS 4389] Improving patch system framework: Fixing merge issues with master 2019-11-28 10:33:32 +01:00
Tim Donohue
9c17f1706b Merge pull request #2575 from paulo-graca/rcaap-openaire4-relationships
OpenAIRE 4 Entities and Relationships
2019-11-27 09:04:16 -06:00
Paulo Graça
b0016fc245 remove trailing whitespaces 2019-11-27 14:37:13 +00:00
Paulo Graça
12b468a366 remove trailing whitespaces 2019-11-27 13:56:53 +00:00
Kevin Van de Velde
62461febe1 Merge branch 'master' into DS-4389-improving-patch-system-framework 2019-11-27 14:55:16 +01:00
Paulo Graça
fdd6caf9ab Removing types of publication ids from schema and change the generic authorid to scopus-author-id 2019-11-27 13:50:38 +00:00
Paulo Graça
d5854256d3 reset dublin-core-types file 2019-11-27 13:15:55 +00:00
Paulo Graça
e4661ebb54 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-fields 2019-11-27 12:04:47 +00:00
Paulo Graça
a5d999dbd8 remove trailing whitespaces 2019-11-27 12:03:30 +00:00
Paulo Graça
dacc74c0a3 comments 2019-11-27 11:58:51 +00:00
Kevin Van de Velde
5133266cad Fixing a merge issue 2019-11-27 12:45:34 +01:00
Kevin Van de Velde
75b508d4ea Merge branch 'master' into feature-external-sources-entities-post 2019-11-27 11:46:47 +01:00
Kristof De Langhe
a4006cd17e 67450: Discovery clean index fix 2019-11-27 11:43:19 +01:00
Paulo Graça
28deccf57e Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-11-27 10:01:04 +00:00
Paulo Graça
f1baeb5ad1 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-relationships 2019-11-26 17:32:24 +00:00
Paulo Graça
08262593b7 openaire entities and relationships 2019-11-26 17:32:14 +00:00
Paulo Graça
4c160a4725 Moving relationships into /config/entities folder 2019-11-26 17:27:09 +00:00
Tim Donohue
b2657cdc4e Merge pull request #2577 from atmire/w2p-65267_delete-in-relationshipservice
Delete item with relationships
2019-11-26 11:06:00 -06:00
Tim Donohue
60eb7aa7b2 Merge pull request #2598 from atmire/w2p-66436_projects-discovery-configuration
Entities: Projects discovery configuration
2019-11-26 11:02:27 -06:00
Tim Donohue
f4d51cc905 Merge pull request #2560 from atmire/feature-external-sources
Feature: external sources
2019-11-26 10:51:58 -06:00
Peter Nijs
0fd4831466 Merge branch 'w2p-65267_delete-in-relationshipservice' into w2p-66086_delete-relationships-relationshiptype-copyleft-copyright-variables 2019-11-26 17:33:40 +01:00
Peter Nijs
d12f999c49 Merge remote-tracking branch 'dspace/master' into w2p-65267_delete-in-relationshipservice manual fix 2019-11-26 17:28:52 +01:00
Peter Nijs
736d30f48a Merge remote-tracking branch 'dspace/master' into w2p-65267_delete-in-relationshipservice 2019-11-26 17:28:22 +01:00
Kevin Van de Velde
cba7b3dc3a Merge pull request #2579 from atmire/w2p-65257_Collection-item-template-crud
CRUD for collection item template
2019-11-26 16:39:40 +01:00
Kevin Van de Velde
9102945aae Restoring the original capitalization of the "sherpa.romeo.apiKey" configuration value 2019-11-26 16:33:56 +01:00
jonas-atmire
4c011a7918 Removal of unused variable 2019-11-26 15:56:54 +01:00
Raf Ponsaerts
3471498018 Small improvements to the external sources feature 2019-11-26 14:03:28 +01:00
Raf Ponsaerts
967b598b99 Fixed import in ExternalDataServiceImpl 2019-11-26 13:53:35 +01:00
Raf Ponsaerts
92e8f98216 Merge branch 'feature-external-sources' into feature-external-sources-entities-post 2019-11-26 13:30:47 +01:00
Raf Ponsaerts
3596913505 Fixed checkstyle and removed unused variables in ExternalSourceRestRepository 2019-11-26 13:29:46 +01:00
Raf Ponsaerts
3dac3e8911 Merge branch 'feature-external-sources' into feature-external-sources-entities-post 2019-11-26 13:27:03 +01:00
Raf Ponsaerts
031ceffeaa Refactored javadoc on MetadataValue, refactored package, altered property in external-services.xml 2019-11-26 13:26:35 +01:00
Raf Ponsaerts
196894e46e Refactored Mockmetadata to MetadataValueDTO and fixed checkstyle 2019-11-26 13:20:36 +01:00
Raf Ponsaerts
c85f88d737 Merge branch 'feature-external-sources' into feature-external-sources-entities-post
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java
2019-11-26 13:20:03 +01:00
Paulo Graça
9f7438394d Replacing Organization with OrgUnit 2019-11-26 11:49:03 +00:00
benbosman
295ee3fd0b removing line breaks 2019-11-26 11:07:05 +01:00
Raf Ponsaerts
7a935f4f8b Integrating projections into feature-external-sources 2019-11-26 10:48:14 +01:00
Peter Nijs
076e3c17d3 Merge remote-tracking branch 'dspace/master' into w2p-65257_Collection-item-template-crud manual fixes 2019-11-26 10:16:12 +01:00
Peter Nijs
ef3d3a4158 Merge remote-tracking branch 'dspace/master' into w2p-65257_Collection-item-template-crud 2019-11-26 10:14:52 +01:00
Raf Ponsaerts
070480418b Merge remote-tracking branch 'dspace/master' into feature-external-sources 2019-11-26 09:29:07 +01:00
Raf Ponsaerts
57894bb8b6 [Task 66453] applied feedback to the variable naming and properties for external sources feature 2019-11-26 09:27:03 +01:00
Paulo Graça
192cd265b6 Merge branch 'rcaap-openaire4-fields' of https://github.com/paulo-graca/DSpace into rcaap-openaire4-fields 2019-11-25 17:01:38 +00:00
Paulo Graça
b1e16c71fa revert test parameters 2019-11-25 16:08:44 +00:00
Paulo Graça
f7e1bf6896 moving DC fields and identifiers into proper Schemas 2019-11-25 16:05:40 +00:00
Paulo Graça
7bbc2c57ad Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-fields 2019-11-25 14:14:13 +00:00
Paulo Graça
e6e4ccb942 Changing Relationships to Entities node element 2019-11-25 14:13:52 +00:00
Paulo Graça
532d8434c8 Initial oai_openaire metadata format support with entities 2019-11-25 13:31:04 +00:00
Paulo Graça
e1d13f074f Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-11-25 12:01:55 +00:00
Paulo Graça
46d4f5e30a Initial oai_openaire metadata format support with entities 2019-11-25 12:01:40 +00:00
benbosman
012d88db17 Merge pull request #2547 from atmire/DS-3533_Projections
DS-3533 projections support
2019-11-25 11:37:02 +01:00
Raf Ponsaerts
7c7aedfed4 Refactored the findOne and findAll methods to work through the RestResourceController instead of a custom one 2019-11-25 11:34:26 +01:00
Chris Wilper
ff3930a734 Merge branch 'master' into DS-3533_Projections 2019-11-24 12:51:33 -05:00
Chris Wilper
ccf047cd63 DS-4391 Get modified date from the right store
This also tightens up the contract and improves javadocs a bit,
so callers know what to expect.
2019-11-23 07:18:39 -05:00
Giuseppe Digilio
ccb0efd2ea use X-Requested-With header if Referer is empty 2019-11-22 17:07:41 +01:00
Giuseppe Digilio
8ce9c2d98f Chack if authentication cookie is present in Authentication Data 2019-11-22 17:07:36 +01:00
Giuseppe Digilio
85e253bb9f Added shibboleth authentication filter 2019-11-22 17:07:29 +01:00
Giuseppe Digilio
705c887998 Added login filter to /api/authn/shibboleth 2019-11-22 17:07:23 +01:00
Giuseppe Digilio
abbf3f7361 Handle redirect to client after shibboleth authentication succeded 2019-11-22 17:07:13 +01:00
Giuseppe Digilio
13482c2eb7 Added a cookie with JWT to response 2019-11-22 17:07:00 +01:00
Tim Donohue
3b578c6766 Merge pull request #2596 from atmire/DS-4390_scripts-bug-scriptlauncher
[DS-4390] rewrote ScriptLauncher to include scripts from other config…
2019-11-22 09:31:23 -06:00
Raf Ponsaerts
9ceb8cd10e [Task 66437] added project discovery config 2019-11-22 15:42:24 +01:00
Raf Ponsaerts
64180c6041 [Task 66436] added Project discovery configuration to the discovery.xml 2019-11-22 14:31:58 +01:00
Raf Ponsaerts
e87dd5a8b7 [DS-4390] fixed test failure and cleaned up ScriptRestRepository from DSpaceRunnable logic, moved to ScriptService instead 2019-11-22 14:15:26 +01:00
Raf Ponsaerts
02d98b2760 [DS-4390] undid MultipartFileException 2019-11-22 13:35:33 +01:00
Raf Ponsaerts
959dacad6a [DS-4390] cleaned up Integer in scriptlauncher 2019-11-22 13:27:15 +01:00
Peter Nijs
76347b0cf0 66458: Use shared UUID regex instead of object's own one 2019-11-22 13:27:01 +01:00
Raf Ponsaerts
9be226e6d3 [DS-4390] cleanup retrieval of DSpaceRunnable by name and cleanup in ScriptLauncher.java 2019-11-22 13:24:46 +01:00
Raf Ponsaerts
71b1360cbf [DS-4390] rewrote ScriptLauncher to include scripts from other config to be checked as well as fixing tests 2019-11-22 11:06:12 +01:00
Raf Ponsaerts
4e0b97fb88 Processing feedback on external sources PR 2019-11-22 09:44:46 +01:00
Peter Nijs
4cc7cec563 Merge remote-tracking branch 'dspace/master' into w2p-65257_Collection-item-template-crud 2019-11-22 09:43:35 +01:00
Tim Donohue
4240ade8ca Merge pull request #2594 from atmire/w2p-66396_bug-in-get-collections
Bug in GET collections
2019-11-21 15:16:53 -06:00
Tim Donohue
abf6a36fe3 Merge pull request #2529 from atmire/w2p-64334_scripts-prototype
Scripts and processes endpoint
2019-11-21 15:06:35 -06:00
Tim Donohue
ecfdc2b627 Merge pull request #2548 from atmire/DS-4317_bundles-in-REST
Ds 4317 bundles in rest
2019-11-21 14:51:56 -06:00
Raf Ponsaerts
9733bd3441 Merged master into this branch and fixed tests/issues with metadata-import 2019-11-21 15:19:05 +01:00
Raf Ponsaerts
08c7da4446 Implementing file import and export scripts 2019-11-21 13:22:09 +01:00
Marie Verdonck
6f822dbb98 DS-4317 - bundles in REST: Redefined RequestMapping to use constants defined in Rest classes 2019-11-21 12:10:15 +01:00
Marie Verdonck
7148f7cd0b DS-4317 - bundles in REST: Redefining RequestMapping of Controllers to be unique and to use constants defined in Rest classes 2019-11-21 11:43:11 +01:00
Raf Ponsaerts
bc9fc2f066 Fixed the CollectionDAOImpl#findAll method to only return one entry per Collection even if it has multiple language values for the dc.title metadata field 2019-11-21 11:07:51 +01:00
Raf Ponsaerts
9e6fe1c9a2 [Task 66396] added a test that proves that the collection endpoint returns the same collection multiple times if it has different language fields for dc.title 2019-11-21 10:12:33 +01:00
Peter Nijs
ebd6ee73fb 65257: fix typo in error message 2019-11-21 09:56:28 +01:00
Raf Ponsaerts
0ea677914f Refactored the naming and the request mapping of the Scripts Controller to be less ambiguous and less confusing 2019-11-21 09:26:24 +01:00
Paulo Graça
67c467ade4 Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-oai_openaire-support 2019-11-20 15:49:15 +00:00
Paulo Graça
646651a6d9 Filtering Entities on the default context 2019-11-20 15:48:50 +00:00
Tim Donohue
d99ccc6bfc Merge pull request #2551 from atmire/w2p-65568_bugs-place-management-creating-relationships
Entities bug-fixes in place management
2019-11-20 09:07:31 -06:00
Kevin Van de Velde
78da4b53fc Merge remote-tracking branch 'upstream/master' into DS-4389-improving-patch-system-framework 2019-11-20 16:02:12 +01:00
Raf Ponsaerts
623451dd3e [Task 66408] applied community feedback to the Relationship Delete methods 2019-11-20 14:19:54 +01:00
Kevin Van de Velde
6daad55762 Patch refactor: The supports method now accepts an object instead of a DSpaceObject, else other objects aren't supported for these patches. Also adding missing @Override annotations 2019-11-20 14:16:03 +01:00
Raf Ponsaerts
bb4eef94f2 [Task 65568] added a testGetNextLeftPlace test in the RelationshipMetadataServiceTest 2019-11-20 13:28:49 +01:00
Tim Donohue
41fa29e5b0 Merge pull request #2585 from atmire/DS-4386_nullpointer-exception-item-put-endpoint-authenticated-user
[DS-4386] fixed the nullpointer issue when an authenticated non-admin…
2019-11-19 15:59:28 -06:00
Tim Donohue
09646aabde Merge pull request #2589 from atmire/search-relationships-total-fix
Entities: Search relationships total fix
2019-11-19 15:54:32 -06:00
Chris Wilper
0a36fc13f1 DS-3533 Make MetadataConverter a DSpaceCoverter, supporting projections 2019-11-19 12:45:09 -05:00
Tim Donohue
7b90332049 Merge pull request #2568 from atmire/DS-4379_Omit-metadatvalue-rels
DS-4379 Stop adding relations as metadata for new items
2019-11-19 09:24:35 -06:00
Tim Donohue
64702f5745 Merge pull request #2561 from atmire/w2p-65570_Configuring-whether-name-variants-should-be-used
Entities: configuring whether name variants should be used
2019-11-19 09:23:14 -06:00
Paulo Graça
3eff84a4bd Separate citation elements into qualifiers 2019-11-19 12:03:45 +00:00
Ben Bosman
d225489cab Travis trigger 2019-11-19 13:01:58 +01:00
Ben Bosman
864ea1d591 fixing total calculation 2019-11-19 11:31:57 +01:00
Ben Bosman
4415ea2237 whitespace 2019-11-19 10:56:16 +01:00
Ben Bosman
7109a357ed IT for fixing total calculation 2019-11-19 09:55:39 +01:00
Ben Bosman
02df6154e4 fixing total calculation 2019-11-19 09:47:56 +01:00
Raf Ponsaerts
3dfa695dbf [DS-4386] added a context.restoreAuthSystemState to the update test 2019-11-19 09:41:23 +01:00
Marie Verdonck
1deb82f0e3 66183: feedback processed:
- Split DSOMetadataOperation in separate operation classed
- supports() also checks operation.getOp()
- ResourcePatchOperation removed
- removed some unneeded null checks
- DspaceObjectMetadataOperation.performPatchOperation() exceptions thrown without changes
- All services autowired, not via factories
2019-11-18 14:05:27 +01:00
Paulo Graça
ec7b037a6f Merge branch 'master' of github.com:DSpace/DSpace into rcaap-openaire4-fields 2019-11-18 12:15:22 +00:00
kshepherd
6add401f81 Merge pull request #2587 from tdonohue/Docker_one_path_for_server_webapp
[Docker Fix] Ensure the "server" webapp runs on ONLY one path in Docker
2019-11-17 12:15:19 +13:00
Tim Donohue
238232bbfd Ensure the "server" webapp runs on one path in Docker 2019-11-15 15:08:42 -06:00
Tim Donohue
ad325a0679 Merge pull request #2586 from tdonohue/fix_script_line_endings
[Docker Build Fix]: Ensure bin scripts ALWAYS have correct line endings
2019-11-15 12:48:32 -06:00
Tim Donohue
a8cb5359d6 Ensure bin scripts ALWAYS have correct line endings 2019-11-15 11:43:18 -06:00
Raf Ponsaerts
2b97950b4c [DS-4386] fixed the nullpointer issue when an authenticated non-admin user tries to update an item using the Item PUT endpoint 2019-11-15 11:35:17 +01:00
Tim Donohue
dea19f8412 Merge pull request #2582 from mwoodiupui/DS-4385
[DS-4385] Replace <prerequisites> with enforcer rules in POM
2019-11-14 13:00:01 -06:00
Marie Verdonck
454745b91a Merge branch 'master' into DS-4317_bundles-in-REST
# Conflicts:
#	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamRestRepository.java
2019-11-14 18:37:30 +01:00
Mark H. Wood
84ab9252b4 [DS-4385] Move Maven minimum version to enforcer plugin. 2019-11-14 11:46:23 -05:00
Chris Wilper
18ea0a2434 DS-3533 Add projection-related tests, resolve minor functional issues, and improve javadocs 2019-11-14 09:32:40 -05:00
Peter Nijs
6e56c8bad1 65956: Cleanup and preauthorize fix for CRUD on Collection Item template 2019-11-14 15:25:34 +01:00
Marie Verdonck
69327477a7 Bundles in REST: Feedback implemented:
- Renaming: BundleController > BundleUploadBitstreamController, ItemController > ItemAddBundleController
 - Moved: BitstreamRestController#getBundle() & #move() to new BitstreamBundleController class
 - Javadocs added to all three
 - Correction @RequestMapping of BundleUploadBitstreamController
2019-11-14 15:24:52 +01:00
Raf Ponsaerts
fcd6429ec0 [Task 66086] implemented a configuration on the RelationshipType object to determine whether metadata should be copied left or right or not at all when deleting a relationship 2019-11-14 11:18:47 +01:00
Michael W Spalti
9d45a1d89f Formatting corrections. 2019-11-13 17:49:53 -08:00
Michael W Spalti
b6849e51a6 Fixing tests for travis (currently unable to test on local machine) 2019-11-13 17:33:25 -08:00
Michael W Spalti
2113317946 [DS-3906] REST endpoint for discovering withdrawn and private items. 2019-11-13 16:35:49 -08:00
Marie Verdonck
ac57139d10 66075: Improvements from feedback:
- DspaceObjectMetadataOperation.performPatchOperation()
  > Logic split into seperate methods
- DspaceObjectMetadataOperation.replace()
  > Split into method per case
2019-11-13 19:01:18 +01:00
Paulo Graça
d0047c8d65 adjust MetadatafieldRestRepositoryIT.findall test to cover more metadatafield results 2019-11-13 14:50:40 +00:00
Paulo Graça
a1d4123352 adjust MetadatafieldRestRepositoryIT.findall test to cover more metadatafield results 2019-11-13 14:12:50 +00:00
Raf Ponsaerts
4c1f4e422c [Task 66031] wrote javadocs or ProcessRestPermissionEvaluatorPlugin, cleaned up ProcessRestRepository 2019-11-13 14:13:42 +01:00
Marie Verdonck
57c23f3e82 66075: added back existingValue checks to non-boolean replace operations,
the set functionality should be in an ADDoperation (not yet implemented)
- EPersonCertificateReplaceOperation, EPersonLoginReplaceOperation, ItemDiscoverableReplaceOperation, ItemWithdrawReplaceOperation
    > Check for existing not required since boolean type value
- EPersonEmailReplaceOperation
    > added back null-check in checkModelForExistingValue
- EPersonPasswordReplaceOperation
    > added checkModelForExistingValue which checks if ePersonService has non-null pw hash, because getPassword is protected

- Test added for password replace with no existing pw
2019-11-13 12:40:51 +01:00
Marie Verdonck
505daf5bbb 66075: Feedback improvements 2:
DspaceObjectMetadataOperation
 - JsonPatchConverter removed
 - SQL exceptions thrown as is, others to DSpaceBadRequestException
 - DspaceObjectMetadataOperation.remove()
    > UnprocessableEntityException with exceptionalities
    > Already parsed value used in second parse

PatchOperation
 - M no longer extends DSO
 - supports in child classes with R objectToMatch

ItemWithdrawReplaceOperation
 - one try-catch block with relevant exception handling
2019-11-13 11:15:00 +01:00
Peter Nijs
37e7bda2d5 65956: add link to itemtemplate on collections 2019-11-12 16:13:36 +01:00
Paulo Graça
607859ec3e fixing wrong element 2019-11-12 14:14:01 +00:00
Peter Nijs
5e409ae0be Merge remote-tracking branch 'dspace/master' into w2p-65267_delete-in-relationshipservice manual fixes 2019-11-12 14:12:49 +01:00
Peter Nijs
61da3d13ab Merge remote-tracking branch 'dspace/master' into w2p-65267_delete-in-relationshipservice 2019-11-12 14:12:03 +01:00
Paulo Graça
077ee4edab Indentation 2019-11-12 11:44:02 +00:00
Paulo Graça
182606d67e Indentation 2019-11-12 11:38:44 +00:00
Paulo Graça
4f33932cb4 New identifiers for Persons, Organizations and Publications 2019-11-12 11:35:41 +00:00
Raf Ponsaerts
1f2549c1e1 Added ProcessRestPermissionEvaluatorPlugin and changed authorization to be checked with the annotation on the ProcessRestRepository#findOne method 2019-11-12 11:41:59 +01:00
Ben Bosman
082dd94aef docs 2019-11-12 10:58:33 +01:00
Paulo Graça
ca84156658 OpenAIRE 4 fields 2019-11-12 09:37:33 +00:00
Paulo Graça
f26cff1bd7 OpenAIRE 4 Entities and Relationships 2019-11-12 09:30:50 +00:00
Raf Ponsaerts
a3381be1bf Fixed issue in findNextRightPlaceByRightItem and added a test for it. Also wrote additional docs 2019-11-12 10:08:49 +01:00
Peter Nijs
0683cdae3c 65956: CRUD on Collection Item template feedback
- manual changes after rebase
- javadoc clarification
2019-11-12 09:51:18 +01:00
Ben Bosman
cd938c9f35 explaining tests 2019-11-12 09:39:16 +01:00
Ben Bosman
9900c3c196 explaining tests 2019-11-12 09:09:20 +01:00
Chris Wilper
1ca24c1eba DS-3533 Begin projection/converter tests 2019-11-10 23:49:57 -05:00
Chris Wilper
5e4ddcdeb9 DS-3533 Fix typo 2019-11-10 08:45:33 -05:00
Chris Wilper
d0661d144e DS-3533 Cache method link annotation info to improve performance 2019-11-09 23:17:27 -05:00
Chris Wilper
f7d9175728 Merge branch 'master' into DS-3533_Projections 2019-11-09 21:36:06 -05:00
Chris Wilper
66108a7532 DS-3533 Fix failure to link when embedding from link repo 2019-11-09 10:39:50 -05:00
Chris Wilper
c556c379f5 DS-3533 Fix incorrect embedded page details when provided by link repo 2019-11-09 09:57:18 -05:00
Ben Bosman
fed1828912 explaining tests 2019-11-08 18:30:13 +01:00
Ben Bosman
7d2eb90af6 fixes for incorrect virtual metadata 2019-11-08 18:06:16 +01:00
Ben Bosman
7f0ffa8586 JavaDocs 2019-11-08 17:49:42 +01:00
Ben Bosman
b030397ba9 fixes for incorrect virtual metadata 2019-11-08 17:27:16 +01:00
Peter Nijs
0919bad5be 65956: CRUD on Collection Item template feedback
- rename classes
2019-11-08 16:50:28 +01:00
Peter Nijs
46efec9ee4 65543: CRUD on Collection Item template
- add javadocs
2019-11-08 16:50:28 +01:00
Peter Nijs
499f718ae2 65543: CRUD on Collection Item template
- implement contract changes
- correct permission
- add javadocs
2019-11-08 16:50:28 +01:00
Peter Nijs
dab2022629 65543: Collection item template
- Moved corresponding repository endpoints
2019-11-08 16:41:48 +01:00
Peter Nijs
99522b2e96 65543: Collection item template
- Moved endpoints
2019-11-08 16:41:48 +01:00
Peter Nijs
3f552078b9 65257: update and delete for collection template items 2019-11-08 16:41:48 +01:00
Peter Nijs
f20687ad36 65257: create and read for collection template items 2019-11-08 16:36:22 +01:00
Tim Donohue
c7d3c3e18c Merge pull request #2562 from atmire/w2p-65247_Create-Read-on-Collection-and-Community-logo
CRUD on Collection & Community logo
2019-11-08 09:16:38 -06:00
Peter Nijs
dcf99fc15b 65996: Feedback collection and community logo
- Return Rest objects from Repositories
- Made controller name more specific
2019-11-08 14:37:34 +01:00
Marie Verdonck
7a847db62b Feedback on PR 2561 2019-11-08 09:02:39 +01:00
Andrea Bollini
ed947ae169 Merge pull request #2573 from 4Science/fix-missing-spring-expression
Fix build - spring-expression is required at runtime
2019-11-08 00:29:44 +01:00
Andrea Bollini
32d94fa31d Fix build - spring-expression is required at runtime 2019-11-08 00:25:29 +01:00
Tim Donohue
fa7489222a Merge pull request #2572 from tdonohue/another_master_fix
(HIGH PRIORITY) Ensure test-jar is only a dependency if tests are enabled
2019-11-07 16:30:51 -06:00
Tim Donohue
3fbdd70a4f Ensure test-jar is only a dependency if tests are enabled 2019-11-07 15:51:32 -06:00
Tim Donohue
cc440791ae Merge pull request #2571 from tdonohue/fix_broken_master
(HIGH PRIORITY) Fix broken master builds
2019-11-07 15:31:04 -06:00
Tim Donohue
9d770718c4 Remove unused dspace-xmlui-lang dependency 2019-11-07 14:56:27 -06:00
Tim Donohue
4b0870bc9e Fix broken master build. Only include server test-jar when running tests 2019-11-07 14:55:38 -06:00
Marie Verdonck
c56216e46b 65985: bundle delete improvements (from feedback) 2019-11-07 17:24:15 +01:00
Tim Donohue
caef38c241 Merge pull request #2553 from atmire/DS-4358-tests-in-modules
DS-4358 tests in modules
2019-11-07 10:02:27 -06:00
Chris Wilper
1d914b74c7 DS-3533 Simplify and normalize code 2019-11-07 10:52:32 -05:00
Peter Nijs
dca93b5228 65571: REST changes to delete of an item
- fix RelationshipDeleteRestRepositoryIT test failures
    - fix issue with deleting a collection with ResourcePolicies
- remove a redundant itemService from ItemRestRepository
- implement input validation on the copyVirtualMetadata parameter
    - add test for this
- use Object.deepEquals() for array comparison
- documented deleteMultipleRelationshipsCopyVirtualMetadata()
2019-11-07 14:43:11 +01:00
Marie Verdonck
f93da1fb0c 65997: checkstyle 2019-11-07 12:37:49 +01:00
Marie Verdonck
efe178a351 65997: COPY metadata patch functionality 2019-11-07 11:50:44 +01:00
Chris Wilper
7eb1508387 DS-3533 Apply projections uniformly 2019-11-07 05:30:17 -05:00
Marie Verdonck
c54903006d 65997: Fix metadata patch replace case 4 (replace attribute of single md)
TODO: implement COPY metadata patch
2019-11-07 10:26:54 +01:00
Marie Verdonck
8af15603ef 65997: ReplacePatchOperation function moved to subclasses &
EPersonOperationFactory removed, no longer useful
TODO: fix failing tests of replace in two operations
2019-11-06 20:12:49 +01:00
Raf Ponsaerts
28b1e4b121 Inprogress evaluating feedback with regards to comments in RelationshipServiceImpl and the place tests 2019-11-06 16:06:41 +01:00
Raf Ponsaerts
f1adf4f375 Removed the ProcessRestController class and instead refactored the ProcessRestRepository, ProcessRest and ProcessResource to now be compliant with the RestResourceController's framework 2019-11-06 15:18:55 +01:00
Peter Nijs
ca37eee3fe 65571: REST changes to delete of an item
- Copy relationship data on item delete
2019-11-06 14:44:08 +01:00
jonas-atmire
d379552e2c Updating returned object for 'setLogo' to its 'Rest' version to be inline with other RestRepository methods 2019-11-06 12:49:17 +01:00
Samuel
f372176dd0 [DS-4358] Tests in modules: feedback - fix build 2019-11-06 12:06:24 +01:00
Samuel
fad5a0247c [DS-4358] Tests in modules: feedback - modules/server pom 2019-11-06 11:34:32 +01:00
Marie Verdonck
e8fe89581f 65997: ReplacePatchOperation function moved to subclasses &
EPersonOperationFactory removed, no longer useful
2019-11-06 11:00:26 +01:00
Kevin Van de Velde
727f97aa44 [DS-4317] Bundles in rest: Moving BitstreamBundleController to the existing BitstreamRestController 2019-11-06 10:47:44 +01:00
Kevin Van de Velde
5c3dd61382 [DS-4317] Bundles in rest: Fixing style issue & renaming the "BitstreamController" to the "BitstreamBundleController" as the RequestMapping maps to /api/content/bitstreams/uuid/bundle and not /api/content/bitstream/uuid 2019-11-06 10:29:18 +01:00
Samuel
8ccd816b9e [DS-4358] Tests in modules: feedback 2019-11-05 17:36:34 +01:00
Chris Wilper
adbc730a36 DS-4379 Stop adding relations as metadata for new items 2019-11-05 10:55:19 -05:00
Kevin Van de Velde
cca64996be [DS-4317] Bundles in rest: Renaming method that moves bitstreams in a bundle 2019-11-05 13:58:03 +01:00
Marie Verdonck
40a08746d9 65997: Overrides added, javadocs, unused classes removed 2019-11-05 09:59:33 +01:00
Marie Verdonck
f8529f3200 [w2p-65997] Patch framework improvements: Internal feedback #1 2019-11-04 18:11:48 +01:00
Marie Verdonck
840106ba63 [DS-4317] DELETE /api/core/bundles/<:uuid> endpoint functionality
> deletes bundle with given uuid and all its bitstreams

> with IT cases and javadoc
2019-11-04 15:47:51 +01:00
Marie Verdonck
b0738b576d Code for moving bitstreams to a different bundle moved to BundleService 2019-11-04 13:21:29 +01:00
Chris Wilper
640c9071ef DS-3533 Add javadocs for new classes 2019-11-01 14:23:23 -04:00
Chris Wilper
71c81d28cf DS-3533 Fix checkstyle issues 2019-10-31 14:52:06 -04:00
Chris Wilper
b67a67c2b8 DS-3533 Use list projection for ItemRestRepository.findALl 2019-10-31 10:31:30 -04:00
Chris Wilper
f4737bb74b DS-3533 Provide item relationships via link repository 2019-10-31 10:31:30 -04:00
Chris Wilper
32098c4ffb DS-3533 Use list projection when embedding a page from a link repository 2019-10-31 10:30:56 -04:00
Chris Wilper
6f5f4da745 DS-3533 Add projections 2019-10-31 10:30:51 -04:00
Marie Verdonck
64ee1d72b6 65944: Patch framework refactoring finished, all tests ok 2019-10-31 13:34:48 +01:00
Marie Verdonck
032ae2ad94 65944: Patch framework refactoring; TODO fix /metadata PATCH handling 2019-10-30 17:40:52 +01:00
Samuel
52661fed8c DS-4351 Upgrade spring (boot) & hibernate to newer versions - taskid 65955 internal questions - fix Q6 2019-10-30 15:53:49 +01:00
Samuel
930951445f DS-4351 Upgrade spring (boot) & hibernate to newer versions - taskid 65955 internal questions - fix Q2 2019-10-30 15:53:49 +01:00
Raf Ponsaerts
a1ed84d072 Applied feedback to the external sources entity post feature in ExternalDataService and ExternalSourceEntryUriListHandler 2019-10-30 09:17:18 +01:00
Marie Verdonck
e56e71a903 65942: Test fix since implementation changed as well 2019-10-29 13:21:26 +01:00
Marie Verdonck
68342ae10c 65942: Merge branch 'master' into w2p-65568_bugs-place-management-creating-relationships
# Conflicts:
#	dspace-api/src/main/java/org/dspace/content/dao/RelationshipDAO.java
2019-10-29 12:37:02 +01:00
Alexander Sulfrian
57df5a3f98 DS-4275: Fix case of resourcepolicies endpoint
The endpoint is specified in lowercase in the REST contract.
2019-10-29 11:24:40 +01:00
Kevin Van de Velde
d056d8df53 [DS-4317] Bundles in rest: Merging lasted master style fixes 2019-10-29 10:56:27 +01:00
Kevin Van de Velde
1087de26bf Merge branch 'master' into DS-4317_bundles-in-REST 2019-10-29 10:25:35 +01:00
Raf Ponsaerts
f3efe500b1 [Task 65902] implemented functionality to create an archived item from the urilist call to the items endpoint with an ExternalSourceEntry in the uriList 2019-10-29 10:12:20 +01:00
Raf Ponsaerts
c90e52f429 Fixed checkstyle issue in MockMetadataConverter 2019-10-28 09:21:50 +01:00
Samuel
e2c353d75e DS-4351 Upgrade spring (boot) & hibernate to newer versions 2019-10-25 18:21:49 +02:00
Raf Ponsaerts
d66c3da752 Fixed MockMetadataConverter issue where multiple metadatavalues for a single metadatafield would get lost due to sorting issues 2019-10-25 16:40:02 +02:00
Peter Nijs
822b6b7361 65788: CRUD on Collection & Community logo feedback 2019-10-25 14:03:46 +02:00
Peter Nijs
f84624fb59 Merge remote-tracking branch 'dspace/master' into w2p-65247_Create-Read-on-Collection-and-Community-logo 2019-10-25 13:45:32 +02:00
Peter Nijs
a31dc75c3e 65268: changes to delete of a relationship 2019-10-25 11:51:43 +02:00
Andrea Bollini
0fbe314890 Merge pull request #2503 from atmire/DS-4337-bitstream-bitstreamformat-relation-endpoints
DS-4337 implement bitstream-bitstreamformat relation endpoints
2019-10-24 17:05:49 +02:00
jonas-atmire
0ab96d5c58 Removal of superfluous method. Handled by allowing a null file to be sent, and sending back an error if that is the case 2019-10-24 14:04:14 +02:00
Tim Donohue
9dbfe5d32b Merge pull request #2535 from atmire/DS-4224-paginated-methods-for-relationships
Ds 4224 paginated methods for relationships
2019-10-23 13:49:29 -05:00
Kevin Van de Velde
4cb2f83432 [DS-4358] Tests in modules: Fixing an issue where the server webapp wouldn't start anymore 2019-10-22 13:15:57 +02:00
Raf Ponsaerts
4f351aa28f Added DSpaceCommandLineParameterTest class 2019-10-22 12:03:06 +02:00
Kevin Van de Velde
1dc8cf7f32 [DS-4337] Bitstream format PUT endpoint javadoc update 2019-10-22 11:19:37 +02:00
Kevin Van de Velde
11745fe69f External sources: Cleaning up some unused variables / comments 2019-10-22 10:02:05 +02:00
Raf Ponsaerts
bdb8f2603c [Task 65768] added proper implementation for getNumerOfResults for test DataProvider and fixed checkstyle 2019-10-22 09:49:37 +02:00
Raf Ponsaerts
e2cc3a9391 Evaluated feedback on scripts and processes endpoints and model classes. Added javadoc, fixed tests and made improvements to various parts of the Scripts and processes feature 2019-10-21 16:31:04 +02:00
Raf Ponsaerts
e51b06a4b7 [Task 65768] implemented the getNumberOfResults method on the ExternalDataService and used this in the ExternalDataRestRepositories for an accurate pagination on the search methods 2019-10-21 11:53:49 +02:00
Tim Donohue
827311cb66 Merge pull request #2554 from 4Science/DS-4367
DS-4367 remove unnecessary dspace.restUrl and fix default configuration
2019-10-18 10:04:06 -05:00
Andrea Bollini
d38baea57d DS-4367 add IT for root endpoint properties 2019-10-18 12:41:03 +02:00
benbosman
810634f2a5 Travis build trigger 2019-10-18 11:12:03 +02:00
Andrea Bollini
fbd5f444df DS-4367 fix property used in test initialization 2019-10-18 11:06:28 +02:00
benbosman
30ad7676ef Merge pull request #2528 from atmire/authority-control-bugfixes
Authority control bugfixes
2019-10-18 11:03:24 +02:00
Raf Ponsaerts
91e763d7a1 Removed the config setting in the destroy method of the AuthorityRestRepositoryIT class 2019-10-18 10:28:55 +02:00
Andrea Bollini
7648e099ae DS-4367 fix comments about baseUrl 2019-10-17 17:58:39 +02:00
Andrea Bollini
b26222f278 DS-4367 remove unnecessary dspace.restUrl and fix default configuration 2019-10-17 17:51:24 +02:00
Raf Ponsaerts
9bb2e7e526 Implemented the External Sources feature 2019-10-17 14:50:17 +02:00
Peter Nijs
8640337224 65542: CRUD on Collection & Community logo: Feedback 2019-10-17 12:36:23 +02:00
Andrew Wood
4882a7914d DS-4224 Comply with community master 2019-10-16 15:54:27 -04:00
Andrew Wood
a4c0b62b52 DS-4224 Improve paging impl for Entities 2019-10-16 15:54:27 -04:00
Andrew Wood
d82fb48878 DS-4224 Improve code style consistency 2019-10-16 15:54:27 -04:00
Andrew Wood
c2aa03d9f5 DS-4224 Catch up with master 2019-10-16 15:54:27 -04:00
Andrew Wood
a15ceb71e8 DS-4224 Adjust stylings and improve jdocs 2019-10-16 15:54:27 -04:00
Andrew Wood
9bc63b7eed DS-4224 Relationship paging refactor 2019-10-16 15:54:26 -04:00
Andrew Wood
83ba0936c7 DS-4224 Improve related test and add additional test 2019-10-16 15:54:26 -04:00
Raf Ponsaerts
febe98f43f Implemented the Relationship logic in the submissionforms endpoint 2019-10-16 15:54:26 -04:00
Raf Ponsaerts
3aa75eaeeb Implemented feedback and testing on item bitstreams post endpoint 2019-10-16 15:54:26 -04:00
Andrew Wood
58e986d08d DS-4224 Update unit test to comply with refactoring 2019-10-16 15:54:26 -04:00
Samuel
6da844941d DS-4096 paginated methods for relationships 2019-10-16 15:54:26 -04:00
Raf Ponsaerts
72e2b87226 Fix after merge 2019-10-16 14:40:50 +02:00
Raf Ponsaerts
901b6aecec Merge remote-tracking branch 'dspace/master' into w2p-65568_bugs-place-management-creating-relationships
Conflicts:
	dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java
2019-10-16 14:38:30 +02:00
Raf Ponsaerts
4d4535d3a2 [Task 65681] updated RelationshipSeviceImplTes 2019-10-16 14:18:42 +02:00
Samuel
aa3100583f taskid 65539 Testing for non source modules: cleanup - added documentation 2019-10-15 18:46:08 +02:00
benbosman
f8e42eb5e5 Merge pull request #2527 from atmire/w2p-64809_Updating-indexing-method
Discovery indexing: Ensuring discovery configuration is used during indexing
2019-10-15 18:05:03 +02:00
Ben Bosman
01aac84699 JavaDoc 2019-10-15 16:44:54 +02:00
benbosman
f7d9e0c1cd Merge pull request #2522 from atmire/DS-4226-CSV_Import_Entities_Improvments
DS-4226 Improvements to Entity validation first pass
2019-10-15 16:26:50 +02:00
Samuel
b60cb236a3 DS-4337 implement bitstream-bitstreamformat relation endpoints - feedback bis 2019-10-15 15:58:18 +02:00
Peter Nijs
a64fb7a29d 65491: Journal JUnit tests for Changes to delete in RelationshipService 2019-10-15 15:11:31 +02:00
Raf Ponsaerts
b0b886d16f [Task 65568] updated javadoc and comments 2019-10-15 13:48:44 +02:00
Raf Ponsaerts
6c762d52fe Fixes after master merge 2019-10-15 13:15:15 +02:00
Raf Ponsaerts
31a28e0ffa Merge remote-tracking branch 'dspace/master' into w2p-65568_bugs-place-management-creating-relationships
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java
2019-10-15 12:03:07 +02:00
Raf Ponsaerts
27d5853d8e [Task 65568] implemented tests and fixed checkstyle 2019-10-15 08:48:52 +02:00
Marie Verdonck
df7ee6410c w2p-65570 - Tests modified for name variants configuration check 2019-10-14 13:51:02 +02:00
Marie Verdonck
9994dd8d7c w2p-65570 - Configuring whether name variants should be used 2019-10-14 13:49:55 +02:00
Raf Ponsaerts
15555a1afe [Task 65568] initial fixes and test fixes 2019-10-14 13:35:17 +02:00
Samuel
99fbbe1749 DS-4337 implement bitstream-bitstreamformat relation endpoints - feedback 2019-10-11 18:13:14 +02:00
Samuel
661d9c41c9 added license headers 2019-10-11 17:19:16 +02:00
Raf Ponsaerts
4e87687b47 applied naming feedback and comments on ChoiceAuthorityService and AuthorityRestRepositoryIT 2019-10-11 16:13:08 +02:00
Kevin Van de Velde
86b7989efe [DS-4317] Bundles in rest: Processing feedback 2019-10-11 11:21:13 +02:00
Tim Donohue
a5d4924cc2 Merge pull request #2489 from mspalti/DS-4153_createandreturn
[DS-4153] Added repository createAndReturn that accepts parent id
2019-10-10 10:37:27 -05:00
Samuel
cd1e6ba278 DS-4337 implement bitstream-bitstreamformat relation endpoints - feedback 2019-10-10 17:30:22 +02:00
benbosman
ad29df9756 Merge pull request #2546 from atmire/DS-4360_statistics-endpoint-searchevents-link-fix
[DS-4360] fixed construction of the SearchEvents link on the statistics endpoint
2019-10-10 17:15:08 +02:00
benbosman
96490e5570 Merge pull request #2545 from atmire/DS-4359_issue-entity-type-null
[DS-4359] added nullcheck in EntityServiceImpl#getAllRelationshipTypes
2019-10-10 17:13:15 +02:00
Andrea Bollini
e922227f29 Merge pull request #2486 from atmire/w2p-62967_multiple-title-community-endpoint-issue
Issue when community has multiple dc.title values
2019-10-10 16:51:44 +02:00
Peter Nijs
3b2e9e30d3 65487: tests for changes to delete in RelationshipService 2019-10-10 16:27:44 +02:00
Raf Ponsaerts
f63b81b440 [DS-4360] fixed construction of the SearchEvents link on the /statistics endpoint 2019-10-10 14:22:36 +02:00
Raf Ponsaerts
15a4202472 [DS-4359] added nullcheck in EntityServiceImpl#getAllRelationshipTypes 2019-10-10 14:08:30 +02:00
Michael W Spalti
2d6b97b539 Fixed checkstyle error for unused import. 2019-10-09 17:09:25 -07:00
Michael W Spalti
573b2a514c Added optional RequestParam and updated internal post method to accept parent parameter. 2019-10-09 16:36:54 -07:00
Tim Donohue
6986b211e1 Merge pull request #2491 from atmire/oai-harvesting-setup
Oai harvesting setup
2019-10-09 15:44:13 -05:00
Andrew Wood
0773f79d5c DS-4226 Add validation for multi typeName reference case improve test improve languaged used 2019-10-09 11:18:33 -04:00
Andrew Wood
a5af5c130a DS-4226 Conform with changes from community master 2019-10-09 11:18:33 -04:00
Andrew Wood
51555e4f28 DS-4226 Fix ambigious bug 2019-10-09 11:18:33 -04:00
Andrew Wood
3739b718eb DS-4226 Improvements to Entity validation first pass 2019-10-09 11:18:33 -04:00
Samuel
b6150874f6 taskid 65494 Testing for non source modules: Additions tests 2019-10-08 15:20:58 +02:00
Samuel
bf9c1c0e18 taskid 65493 Testing for non source modules: Internal test 2019-10-08 14:49:20 +02:00
Tim Donohue
74ec72add1 Merge pull request #2541 from Georgetown-University-Libraries/ds4356
[DS-4356] Document Dockerfile Manual Build Steps (README change)
2019-10-07 10:36:17 -05:00
Raf Ponsaerts
2202195cfc Altered wrongly defined URL in CollectionHarvesterSettingsControllerIT 2019-10-07 16:07:23 +02:00
Peter Nijs
60489c2c02 65251: replace and delete a logo for collections and communities 2019-10-07 13:26:16 +02:00
Raf Ponsaerts
0e05a79db7 [Task 65267] implemented the RelationshipService delete endpoint changes 2019-10-07 12:53:03 +02:00
Kristof De Langhe
64ac844e9e 64640: Message fix + Missing JavaDocs 2019-10-07 11:07:32 +02:00
Terry Brady
8f4b34b071 Merge branch 'ds4356' of https://github.com/Georgetown-University-Libraries/DSpace into ds4356 2019-10-04 15:23:08 -07:00
Terry Brady
8fbc4e0034 clarify cd instructions 2019-10-04 15:22:10 -07:00
Terry Brady
6a5ca55579 document docker build instructions 2019-10-04 15:09:57 -07:00
Terry Brady
e7933ee7b5 document docker build instructions 2019-10-04 15:09:23 -07:00
Tim Donohue
6cbe99bddf Merge pull request #2539 from Georgetown-University-Libraries/ds4355r7
[DS-4355] 7x: Re-scope .dockerignore file
2019-10-04 22:35:53 +02:00
Tim Donohue
f40ddceecc Merge pull request #2538 from tdonohue/docker-db-before-tomcat
Docker bug fix: Ensure database is initialized before starting Tomcat
2019-10-04 22:26:41 +02:00
Terry Brady
29c5a1f264 additional exclude 2019-10-04 13:23:17 -07:00
Terry Brady
62401e673a fix .dockerigore 2019-10-04 13:12:04 -07:00
Tim Donohue
e547af0cbc Ensure database is initialized before starting Tomcat 2019-10-04 14:43:28 -05:00
Tim Donohue
0c172efbc3 Merge pull request #2533 from terrywbrady/ds4349m
[DS-4349] 7x: Migrate Postgres Dockerfiles into code base
2019-10-04 21:06:00 +02:00
Terry Brady
b53906fbc2 Merge branch 'master' into ds4349m 2019-10-04 10:58:40 -07:00
Tim Donohue
dc0e23653a Merge pull request #2530 from terrywbrady/ds4346mV2
[DS-4346] 7x: V2: Add default docker-compose file to code base
2019-10-04 19:12:02 +02:00
Raf Ponsaerts
f28acee6bf Added tests for Community endpoint pagination 2019-10-04 15:14:25 +02:00
Peter Nijs
918839fdea 65247: tests for uploading a logo for collections and communities 2019-10-04 13:36:56 +02:00
Tim Donohue
4f76f7f683 Merge pull request #2536 from paulo-graca/patch-2
Fixing exception error when using UUID on Harvesting
2019-10-03 19:20:03 +02:00
Peter Nijs
51d86d420b 65247: add support for uploading a logo for collections and communities 2019-10-03 15:46:08 +02:00
Peter Nijs
23c10854b2 65247: add support for uploading a logo for collections and communities 2019-10-03 15:44:46 +02:00
Paulo Graça
5d86c10717 Replacing Collection ID references with UUIDs 2019-10-03 13:54:22 +01:00
Ben Bosman
bc38bcdc86 JavaDocs 2019-10-03 13:12:52 +02:00
Kevin Van de Velde
4b92af8239 [DS-4351] Upgrade spring (boot) & hibernate to newer versions 2019-10-03 09:41:51 +02:00
Samuel
dd5dfd6d77 taskid 65007 Get SolrServiceIndexPlugin to work - dependencies 2019-10-02 17:55:57 +02:00
Tim Donohue
e638c47622 Merge pull request #2488 from atmire/feature-name-variants
Rename properties and support for name variants
2019-10-02 16:57:45 +02:00
Samuel
d360232b2f taskid 65253 Testing for non source modules - add test profiles 2019-10-02 12:22:46 +02:00
Ben Bosman
53ff1afea5 comments 2019-10-02 10:37:33 +02:00
Raf Ponsaerts
85b88b05a6 Applied feedback 2019-10-02 09:34:27 +02:00
Terry Brady
02043d41e9 update README for angular compose 2019-10-01 23:52:30 -07:00
Terry Brady
086bd36dc9 update README 2019-10-01 18:20:13 -07:00
Terry Brady
7da196cbbc refine angular compose and readme 2019-10-01 16:31:49 -07:00
Terry Brady
417104629a Clarify pull/build in README 2019-10-01 15:33:23 -07:00
Terry Brady
32ae484a50 Add docker-compose README 2019-10-01 10:52:41 -07:00
Samuel
48daaed59f taskid 65253 Testing for non source modules 2019-10-01 17:10:06 +02:00
Yana De Pauw
5c8f6bb805 65188: Add typedocs 2019-10-01 11:54:06 +02:00
Terry Brady
af878788ef add docker-compose README files 2019-09-30 22:40:20 -07:00
Terry Brady
851a39cf61 add solr readme 2019-09-30 22:21:17 -07:00
Terry Brady
81242ab7f7 add license to script files 2019-09-30 13:44:04 -07:00
Terry Brady
120a873a2d add license to dockerfiles 2019-09-30 13:27:34 -07:00
Terry Brady
577ec17634 add .dockerignore 2019-09-30 13:15:11 -07:00
Terry Brady
61f13807c0 add postgres dockerfiles 2019-09-30 13:13:44 -07:00
Terry Brady
a8f25fec49 fix license header 2019-09-30 12:53:37 -07:00
Terry Brady
cd6d849c17 Add angular option 2019-09-30 11:45:04 -07:00
Yana De Pauw
0b97fe9293 65188: Implement feedback 2019-09-30 13:48:32 +02:00
Raf Ponsaerts
b06bd5e786 Added comments and added pagination test for community findall 2019-09-30 09:49:42 +02:00
Terry Brady
3e97876cb9 rm angular container 2019-09-29 10:50:04 -07:00
Raf Ponsaerts
56fc8d5741 Applied feedback 2019-09-27 16:13:42 +02:00
Raf Ponsaerts
2b014833c5 Added javadoc 2019-09-27 11:26:52 +02:00
Raf Ponsaerts
fa023db4ee Added tests and various fixes 2019-09-27 10:09:43 +02:00
Raf Ponsaerts
eaf91b6af7 added another clear 2019-09-26 12:48:20 +02:00
Raf Ponsaerts
017ba13710 Added a method to clear controller in cas 2019-09-26 10:54:10 +02:00
Raf Ponsaerts
1392b62d83 Added method to clear config 2019-09-26 09:31:19 +02:00
benbosman
f65c8523a8 Merge pull request #2502 from atmire/w2p-64649_endpoints-to-collect-statistics
Endpoints to collect Statistics
2019-09-25 15:55:40 +02:00
Kristof De Langhe
09039d1f20 64640: BundleRestRepository IT, JavaDocs and CheckStyle fixes 2019-09-25 15:24:20 +02:00
Raf Ponsaerts
04d14efe5f Applied feedback 2019-09-25 15:10:19 +02:00
Kristof De Langhe
04a7a31797 64640: Move PATCH request for bitstreams in bundles 2019-09-25 12:36:06 +02:00
Raf Ponsaerts
82e6cef95b Fixed the duplication of communities if muliple dc title fields with different languages 2019-09-24 14:06:22 +02:00
kshepherd
c44fd4c5ce Merge pull request #2524 from Georgetown-University-Libraries/ds4347
[DS-4347] remove solr from ant step in docker build
2019-09-24 09:24:17 +12:00
Terry Brady
3d8c6cfb3d remove solr from ant step in docker build 2019-09-23 13:42:46 -07:00
Terry Brady
6b6cda3eaa remove solr from ant step in docker build 2019-09-23 13:34:37 -07:00
Terry Brady
69de77790c fix tag name 2019-09-23 13:31:56 -07:00
Terry Brady
cd3dc07958 correct license headers 2019-09-23 13:09:12 -07:00
Terry Brady
1985cb11d9 Create docker compose files in the code base 2019-09-23 13:05:24 -07:00
Yana De Pauw
6c807f8a62 65105: Implement feedback 2019-09-23 11:45:31 +02:00
Raf Ponsaerts
3df6f84387 Applied feedback 2019-09-20 15:25:24 +02:00
Raf Ponsaerts
6797ae0b9c [Task 64894] fixed the self link 2019-09-20 14:18:33 +02:00
Raf Ponsaerts
17a2eaa0a3 [Task 64807] fixed SolrAuthorAuthority in the IT 2019-09-20 14:05:43 +02:00
Raf Ponsaerts
cbc3768ca5 Added authorization check on the ScriptRestRepository.findOne method 2019-09-19 16:26:25 +02:00
Michael W Spalti
48697d32dc Restoring the authorization system in integration tests for community and collection repositories. 2019-09-18 12:38:24 -07:00
Raf Ponsaerts
97c5292f3a [Task 65095] fixed typo in link 2019-09-18 16:24:23 +02:00
Raf Ponsaerts
a6c5046045 Re-enabled test 2019-09-18 16:04:12 +02:00
Raf Ponsaerts
73b42de798 [Task 64808] returning null instead of empty choice 2019-09-18 12:54:56 +02:00
Raf Ponsaerts
be2624b666 [Task 64993] applied feedback 2019-09-18 10:37:26 +02:00
kshepherd
c7ddf85f4f Merge pull request #2508 from mwoodiupui/DS-4338
[DS-4338] Remove final smidgeon of Solr source code.
2019-09-18 09:47:50 +12:00
Ben Bosman
bdb16b2543 IT fixes 2019-09-17 14:55:35 +02:00
Raf Ponsaerts
9a026956d7 Applied feedback 2019-09-17 13:51:12 +02:00
Raf Ponsaerts
2de90e0f54 [Task 64911] added RelationshipMetadataService test 2019-09-17 11:49:20 +02:00
Michael W Spalti
8c492e128e Updated several integration tests to turn on auth system. 2019-09-16 14:40:28 -07:00
Tim Donohue
33b0e04d09 Merge pull request #2393 from mwoodiupui/DS-3695-upgrade
[DS-3695] Solr 7 fixes for upgrading to DSpace 7
2019-09-16 22:08:53 +02:00
Yana De Pauw
6462ab15af 64638: Retrieving and updating bundle of a bitstream 2019-09-16 17:54:19 +02:00
Raf Ponsaerts
b6a6f11a8a [Task 64926] applied feedback and change request to response code and id on scripts 2019-09-16 13:16:45 +02:00
Raf Ponsaerts
0279155af7 Adding javadoc and log cleanup 2019-09-16 11:47:59 +02:00
Raf Ponsaerts
9675df2d68 [Task 64926] applied the feedback 2019-09-16 09:01:41 +02:00
benbosman
3c833ed1ad Merge pull request #2498 from atmire/w2p-64721_Rename-discovery-config-for-Entities
[DS-4325]: Rename Discovery configuration for Entities
2019-09-13 17:58:48 +02:00
benbosman
336a6b177b Merge pull request #2499 from atmire/w2p-64645_Removal-of-filtered-discovery-page
Removal of filtered-discovery-page in REST
2019-09-13 09:35:58 +02:00
Mark H. Wood
7ad2aacd49 [DS-3695] Repair merge conflict. 2019-09-12 15:56:37 -04:00
Mark H. Wood
44b3375983 Merge remote-tracking branch 'upstream/master' into DS-3695-upgrade 2019-09-12 15:12:45 -04:00
Mark H. Wood
bf7a813618 Merge pull request #2495 from mwoodiupui/DS-3695-simple
[D-3695] Upgrade to Solr 7:  support sharded statistics simply
2019-09-12 10:54:45 -04:00
Raf Ponsaerts
28c8129811 [Task 64894] fixed the link and AccessDeniedException mistake through reflection call for findRel 2019-09-12 14:15:04 +02:00
Raf Ponsaerts
52aac9df70 [Task 64808] fixed certain tests 2019-09-12 11:42:41 +02:00
Raf Ponsaerts
31184a8670 Added ignores back to authority tests 2019-09-11 15:28:13 +02:00
Raf Ponsaerts
61b584b8f3 [Task 64893] added self link to entries endpoint 2019-09-11 15:24:39 +02:00
Raf Ponsaerts
bf33dbf5c8 [Task 64807] enabled MockAuthoritySolrService in the REST IT 2019-09-11 12:40:28 +02:00
Yana De Pauw
bf68914a19 64499: Add bundle link to bitstream 2019-09-10 11:34:43 +02:00
Michael W Spalti
830351af11 Updated error messages and added new integration tests for collection repository. 2019-09-09 15:22:53 -07:00
Kristof De Langhe
b1f31cef9c 64809: Checkstyle fixes 2019-09-09 17:39:59 +02:00
Ben Bosman
46e86326b8 Change method names to make them easier to understand 2019-09-09 14:44:43 +02:00
Kristof De Langhe
ba39f6e4fb 64809: Update discovery configuration indexing 2019-09-09 14:40:48 +02:00
benbosman
cb7db98fcf Merge pull request #2471 from atmire/w2p-63043_CSV-placeholder-support
DS-4316: Indirect entity refs during csv import
2019-09-09 14:35:09 +02:00
kshepherd
8786f415a1 Merge pull request #2480 from terrywbrady/dspace-cli7
[DS-4321] master: docker image dspace/dspace-cli:dspace-7_x
2019-09-07 11:47:20 +12:00
Terry Brady
341a3fb2b2 simplify package exclusions 2019-09-06 16:06:37 -07:00
Terry Brady
c3640959a6 update ant archive 2019-09-06 14:58:10 -07:00
Terry Brady
8d0c3c291c Merge pull request #2509 from J4bbi/master
[DS-4336] Point Ant to archived, stable URL
2019-09-06 12:25:11 -07:00
j4bbi
991fe4f5b6 Point Ant to archived, stable URL 2019-09-06 19:51:55 +01:00
Tim Donohue
84df078380 Merge pull request #2504 from Georgetown-University-Libraries/ds4336r7
[DS-4336] Update ant version in Docker Build (master)
2019-09-06 18:06:27 +02:00
Mark H. Wood
2268abd83b [DS-4338] Remove final smidgeon of Solr source code. 2019-09-05 16:24:25 -04:00
Andrew Wood
42d6183828 w2p-63043 Populate row map in case of pre existing reference 2019-09-05 14:42:03 -04:00
Terry Brady
ad600a431c DS-4336 2019-09-05 11:04:21 -07:00
Terry Brady
e94da8fadb Update ant version 2019-09-05 10:38:24 -07:00
Andrew Wood
591df53e7a w2p-63043 Minor tweeks to testing enviorment and edge case correction 2019-09-05 11:30:50 -04:00
Raf Ponsaerts
97e322a21d Applied feedback with regards to view and searchevents 2019-09-05 13:49:07 +02:00
Raf Ponsaerts
14a72b5c39 Implemented separate controller for Statistics 2019-09-05 12:52:10 +02:00
Ben Bosman
e8662d7e2a Change method names to make them easier to understand
Add javadocs to complex private methods
2019-09-05 09:59:11 +02:00
Ben Bosman
0e45859336 Change method names to make them easier to understand
Add javadocs to complex private methods
2019-09-05 09:28:06 +02:00
Ben Bosman
a9217c8ca0 mock authority control solr 2019-09-04 15:17:43 +02:00
Ben Bosman
1d08e15254 solr authority 2019-09-04 13:22:56 +02:00
Ben Bosman
2665cc2c72 disabling features which don't work 2019-09-04 13:11:46 +02:00
Ben Bosman
b44ed7085d expanding the ITs 2019-09-04 12:12:05 +02:00
Ben Bosman
262e14fc74 exact amount expectations 2019-09-04 11:49:06 +02:00
Raf Ponsaerts
53a4043e03 [Task 64789] added nullcheck for metadata configs 2019-09-04 10:16:51 +02:00
Raf Ponsaerts
821e917ace [Task 64789] fixed empty response from update on harvest collections and refactored code 2019-09-04 10:04:57 +02:00
Raf Ponsaerts
e26d5fe113 Merge remote-tracking branch 'dspace/master' into oai-harvesting-setup
Conflicts:
	dspace-server-webapp/src/main/java/org/dspace/app/rest/model/hateoas/CollectionResource.java
2019-09-04 09:45:04 +02:00
Raf Ponsaerts
a73ba83db0 Created basic IT 2019-09-04 09:23:47 +02:00
Terry Brady
17fb867a62 update mvn build calls 2019-09-03 10:46:31 -07:00
Raf Ponsaerts
a0e18d57f0 Merge remote-tracking branch 'dspace/master' into feature-name-variants
Conflicts:
	dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java
2019-09-03 14:23:38 +02:00
Raf Ponsaerts
2c02568475 Added the harvester link to the CollectionResource 2019-09-03 11:50:00 +02:00
Terry Brady
50bfa62091 scope maven build 2019-09-02 18:54:41 -07:00
Terry Brady
d4df7b3c07 update comment 2019-09-02 18:42:59 -07:00
Yana De Pauw
e9154e9bf9 64639: Support creation of new bitstreams in bundles 2019-09-02 16:22:35 +02:00
Raf Ponsaerts
ebd63b1283 Created endpoints to collect View and Search statistics 2019-09-02 13:39:11 +02:00
Raf Ponsaerts
ec3b07e500 Changes type to typeName to avoid confusing, fixed checkstyle 2019-09-02 12:43:32 +02:00
Yana De Pauw
d4343eafb1 Merge branch 'master' into DS-4317_bundles-in-REST 2019-09-02 10:34:14 +02:00
Andrew Wood
c4626c1a49 w2p-63043 Improve error reporting when resolving references during metadata import 2019-08-30 15:35:40 -04:00
Yana De Pauw
509acb22a9 64645: Removal of filtered-discovery-page in REST 2019-08-30 18:03:46 +02:00
Ben Bosman
5864b53555 authority control bigfixes 2019-08-30 17:59:06 +02:00
Kristof De Langhe
d8a7852388 64721: Entity configuration changes 2019-08-30 13:11:35 +02:00
Tim Donohue
41a6f86dcc Merge pull request #2497 from atmire/DS-4251_test-csv-file-fix
[DS-4251] made sure that the test.csv file gets deleted
2019-08-28 17:28:41 +02:00
Tim Donohue
d2e224591c Use filename also in run command 2019-08-28 10:04:02 -05:00
Andrew Wood
e3cf391448 w2p-63043 Add additional IT for metadataImport 2019-08-28 09:54:15 -04:00
Raf Ponsaerts
598c28c6d6 [DS-4251] made sure that the test.csv file gets deleted and doesn't stay in the project structure after running tests 2019-08-28 08:34:32 +02:00
Tim Donohue
3139104997 Merge pull request #2472 from atmire/w2p-63533_changes-to-dtd-and-api-relationship-submission
support for defining relationship lookups in the submission forms
2019-08-27 23:27:17 +02:00
Andrew Wood
d67afa957e w2p-63043 Improve java docs for metadataImport 2019-08-27 12:19:57 -04:00
Andrew Wood
02559516d7 w2p-63043 remove stale spring rest webapp 2019-08-27 11:23:25 -04:00
Andrew Wood
28e2c7e13c Merge remote-tracking branch 'community/master' into w2p-63043_CSV-placeholder-support 2019-08-27 11:22:15 -04:00
Andrew Wood
17d977205f w2p-63043 Correct line reprocessing bug when value is empty 2019-08-27 11:11:08 -04:00
Yana De Pauw
6acddef596 64498: Add test to retrieve bistreams from bundle 2019-08-27 13:17:19 +02:00
Mark H. Wood
84803770c0 [DS-2378] Copy a blob of test code from deleted TestSpringServiceManager. 2019-08-26 16:17:00 -04:00
Mark H. Wood
21235b45c4 Merge remote-tracking branch 'upstream/master' into DS-3695-simple 2019-08-26 15:04:09 -04:00
Mark H. Wood
f4d7c35108 [DS-3695] Add statistics shard configset, fix various errors, improve logging. 2019-08-26 13:54:44 -04:00
Yana De Pauw
b52f7be3de 64495: Add unit tests for bundle + fix issues 2019-08-26 17:02:12 +02:00
Tim Donohue
30b2ea01a8 Merge pull request #2455 from tdonohue/fix_OAI_date_test
Another attempt at fixing Date test in `OAIpmhIT` integration test
2019-08-26 16:21:11 +02:00
Tim Donohue
4760d579d4 Correct return value to be nowToNearestSecond. 2019-08-26 08:55:09 -05:00
Tim Donohue
cd07247112 Fix occasional date mismatches by rounding to nearest second. 2019-08-26 08:55:07 -05:00
Mark H. Wood
de3c46bd5f [DS-2378] Pass 2: fold SpringServiceManager into DSpaceServiceManager and simplify. 2019-08-25 14:51:00 -04:00
Mark H. Wood
7811bb8966 [DS-2378] First pass: collapse loops to single SpringServiceManager.
Also tidy the code, make better use of logger.
2019-08-24 07:06:29 -04:00
Andrea Bollini
fe77a0a200 Merge pull request #2492 from tdonohue/clarify_sequence_id
Clarify purpose of Bitstream's Sequence ID
2019-08-23 17:15:41 +02:00
Jelle Pelgrims
54cec441c9 Add endpoint to add bundle to item 2019-08-23 12:42:16 +02:00
Jelle Pelgrims
601ed8a5f4 Fix tests for recent item changes
The item matcher didn't match anymore because it was still looking
for the bitstream link, which isn't there anymore because the item
only holds bundles now (see commit 48ea95bc). The tests were changed
to look for a bundle link.

Other than that a few tests were also specifically looking for a
bitstream link to see if a bitstream was correctly created. These
links were changed to bundle links, since a new bitstream should
be added to a new bundle by default (if there are no bundles yet)
during creation.
2019-08-23 08:44:23 +02:00
Tim Donohue
16117bf132 Clarify purpose of Sequence ID 2019-08-22 16:48:07 -05:00
Tim Donohue
018b18e214 Merge pull request #2473 from atmire/w2p-63475_implement-upload-bitstream-to-archived-item
implement upload bitstream to archived item
2019-08-22 18:39:12 +02:00
Ben Bosman
f264cff0ec unused import 2019-08-22 17:58:22 +02:00
Ben Bosman
a325221a7e Making the sequence ID read-only 2019-08-22 17:30:30 +02:00
Jelle Pelgrims
466e42d0f9 Add utility class for URL mapping Regexes
Added a utility class so that the URL mapping regexes (mostly used
in RestResourceController) can be reused in other controllers.
2019-08-22 16:51:54 +02:00
Jelle Pelgrims
5daf5be97d Add integration tests for bundle GET endpoint 2019-08-22 11:43:09 +02:00
Jelle Pelgrims
8c60fbb3e2 Fix CollectionharvestSettingsController permissions 2019-08-21 11:19:21 +02:00
Jelle Pelgrims
f5561a2dfc Add small changes 2019-08-21 11:11:16 +02:00
Jelle Pelgrims
0f4ea91834 Clean up code added in previous commits 2019-08-21 10:35:23 +02:00
Jelle Pelgrims
591f32bfe3 Finish GET endpoints 2019-08-20 16:21:20 +02:00
Jelle Pelgrims
712b4a4abf Rename code matching '[mM]apping[a-zA-Z]*' to '[mM]apped[a-zA-Z]*'
Rename 'mappingCollection' and similar code to 'mappedCollection', in order
to resolve Tim Donohue's feedback on the pull request.
2019-08-20 10:10:47 -04:00
Marie Verdonck
668b6551b0 Undo HALResource change, all tests run locally 2019-08-20 10:10:47 -04:00
Marie Verdonck
f6bf8b09fd Non-code changes, just whitelines 2019-08-20 10:10:47 -04:00
Marie Verdonck
1bd0f96a1a Error & Status for non-successful POST/DELETE mappedCollections requests
- POST /api/core/items/<:uuid>/mappedCollections
 > 405: item is a template item
 > 422: specified collection not found or is owningCollection of item
- DELETE /api/core/items/<:uuid>/mappedCollections/<:collection_uuid>
 > 405: item is a template item
 > 422: specified collection not found or is owningCollection of item
2019-08-20 10:10:47 -04:00
Samuel
f555692126 DS-4097 name change from mappingCollections to mappedCollections + data change to uri-list 2019-08-20 10:10:47 -04:00
Raf Ponsaerts
b42dafe166 Implemented the Item Mapper functionality 2019-08-20 10:10:46 -04:00
Andrew Wood
e5ec0164f7 w2p-63043 Improve documentation 2019-08-20 10:09:40 -04:00
Andrew Wood
55cc060b13 w2p-63043 Improve related query performance and improve affiliated test 2019-08-20 10:09:40 -04:00
Andrew Wood
e40a209113 DS-4316 Add tests for indirect entity refs during csv import 2019-08-20 10:09:40 -04:00
Andrew Wood
7220cecfa6 DS-4316 Support indirect entity refs during csv import 2019-08-20 10:09:40 -04:00
Andrew Wood
f9886529f5 DS-4316 Support querying MetadataValues by field and value 2019-08-20 10:09:40 -04:00
Jelle Pelgrims
48ea95bc15 Replace bitstreams in ItemRest with bundles
The list of bitstreams in ItemRest is now replaced with a list of
bundles. The bitstreams can now be accessed through the bundles.
2019-08-20 11:13:24 +02:00
Jelle Pelgrims
21116ec7eb Add initial class structure for bundles endpoint 2019-08-20 10:29:47 +02:00
Jelle Pelgrims
3b7eca366e Add comments explaining changes 2019-08-19 09:01:44 +02:00
Ben Bosman
68fc698f4b JavaDocs 2019-08-16 11:32:54 +02:00
Raf Ponsaerts
6e95aae040 Fixed issue with spaces in parameters causing UUIDs to not get recognized 2019-08-16 10:35:52 +02:00
Raf Ponsaerts
62596b1eaa Fixed feedback 2019-08-16 10:10:49 +02:00
Michael W Spalti
0ee78acba3 [DS-4153] Added repository create method that takes a parameter for the parent object.
Implementions are added to the collection and community repository classes.
2019-08-15 13:18:54 -07:00
Mark H. Wood
0eef0b0859 [DS-3695] Add missing libraries reported by Michael Spalti, Chris Wilper. 2019-08-15 11:30:58 -04:00
Mark H. Wood
e103a9305d [DS-3695] Merge damage: method was split, making local variable inaccessible. 2019-08-15 10:51:28 -04:00
Mark H. Wood
9046ecfcb4 Merge branch 'master' into DS-3695-upgrade 2019-08-15 10:23:53 -04:00
Mark H. Wood
8878b3a313 [DS-3695] Ask Solr what cores it has, instead of assuming that we know where they are in the filesystem.
(Solr might not even be installed on the same host.)
2019-08-15 10:16:10 -04:00
Raf Ponsaerts
c7327b6a14 Added javadoc 2019-08-14 13:34:04 +02:00
Jelle Pelgrims
ed17587170 Rename leftwardLabel and rightwardLabel
Renamed the leftwardLabel and rightwardlabel for Relationship to
leftwardValue and rightwardValue. Renamed the same values for
RelationshipType to leftwardType and rightwardType.
2019-08-13 15:30:49 +02:00
Ben Bosman
fcac5ecb56 Exception handling 2019-08-13 13:53:59 +02:00
Jelle Pelgrims
1831c4f92d Fix small issues 2019-08-13 13:06:51 +02:00
Jelle Pelgrims
d2470286a6 Add endpoint to retrieve collection harvest settings 2019-08-13 12:48:14 +02:00
Raf Ponsaerts
c890570b12 [Task 64334] implemented the scripts prototype 2019-08-13 12:33:35 +02:00
Jelle Pelgrims
d401af5f99 Update javadoc author tag email 2019-08-09 09:36:02 +02:00
Jelle Pelgrims
38679befd8 Implement fixes/tweaks and add javadocs 2019-08-09 09:19:00 +02:00
Tim Donohue
fc31a0cbe3 Merge pull request #2485 from mwoodiupui/DS-3422
[DS-3422] Remove XMLUI and JSPUI from the official distribution
2019-08-08 22:40:31 +02:00
Mark H. Wood
1dceb56b44 [DS-3422] Remove obsolete XMLUI configuration. 2019-08-08 15:10:46 -04:00
Jelle Pelgrims
8265964ebd Fix duplicate community issue for findAllNoParent function 2019-08-08 13:09:40 +02:00
Jelle Pelgrims
e46551e84c Add integration test for collection endpoint ordering 2019-08-08 12:46:32 +02:00
Ben Bosman
718340e3d3 wording fixes 2019-08-08 10:41:58 +02:00
Jelle Pelgrims
5b175bb62f Merge branch 'master' into w2p-62967_multiple-title-community-endpoint-issue 2019-08-08 09:52:10 +02:00
Jelle Pelgrims
234ef08eac Add integration test for harvester metadata format endpoint 2019-08-08 09:25:00 +02:00
Mark H. Wood
4dfa7a370a [DS-3695] Remove Solr core updating targets from Ant configuration. 2019-08-07 16:23:00 -04:00
Raf Ponsaerts
7eeb9f944b Fixed tests 2019-08-07 15:56:36 +02:00
Jelle Pelgrims
99bc1b7e0f Add endpoint for harvesting configurations 2019-08-07 14:12:37 +02:00
Jelle Pelgrims
e8fd1e0e37 Revert previous commit 2019-08-07 11:30:23 +02:00
Jelle Pelgrims
6bf6336f11 Fix issue causing tests to fail 2019-08-07 11:24:23 +02:00
Jelle Pelgrims
07a8e33ab5 Add integration test for harvest settings verification 2019-08-07 10:34:28 +02:00
Jelle Pelgrims
361f48bea1 Add settings verification to harvest settings endpoint 2019-08-07 09:58:50 +02:00
Jelle Pelgrims
c2cd25d6d0 Merge branch 'feature-name-variants' of https://github.com/atmire/DSpace into feature-name-variants
# Conflicts:
#	dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java
#	dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java
2019-08-07 09:52:42 +02:00
Tim Donohue
a4b4045d2e Merge pull request #2479 from mwoodiupui/DS-4110_7x
[DS-4110] fix issue in legacy id cleanup of stats records
2019-08-06 21:55:48 +02:00
Terry Brady
6da64a2f60 dspace-cli dockerfile 2019-08-06 11:34:05 -07:00
Terry Brady
6b93dfb89d dspace-cli dockerfile 2019-08-06 11:27:23 -07:00
Mark H. Wood
589aa0f576 [DS-4110] Port #2292 to master (v7) 2019-08-06 14:19:48 -04:00
Terry Brady
bd0b1b7abf dspace-cli dockerfile 2019-08-06 11:19:48 -07:00
Ben Bosman
afc9e5bd89 checkstyle 2019-08-06 18:42:25 +02:00
Ben Bosman
664dc0077c wording fixes 2019-08-06 17:37:46 +02:00
Ben Bosman
8f7c7da569 leftwards label vs left item 2019-08-06 17:29:56 +02:00
Ben Bosman
744dae41aa checkstyle 2019-08-06 16:54:09 +02:00
Ben Bosman
42eccd32c3 Process PR feedback 2019-08-06 16:24:36 +02:00
Ben Bosman
f6e5687385 Process PR feedback 2019-08-06 15:59:12 +02:00
Ben Bosman
cafb26bcb7 Ensure mandatory fields are present 2019-08-06 15:42:41 +02:00
Ben Bosman
af6eac966d Ensure mandatory fields are present 2019-08-06 15:34:54 +02:00
Jelle Pelgrims
3c31fdf648 Rename relationship type left and right labels
Renamed the columns 'left_label' and 'right_label' in the table
'relationship_type' to 'leftward_label' and 'rightward_label'.
Also renamed all instances of [l|L]eftLabel and [r|R]ightLabel
to [l|L]eftwardLabel and [r|R]ightwardLabel, respectively.
2019-08-06 13:59:58 +02:00
Raf Ponsaerts
d7a1015f70 Finished IT for name variants 2019-08-06 13:45:25 +02:00
Jelle Pelgrims
251d264378 Implemented changes 2019-08-06 11:56:31 +02:00
Jelle Pelgrims
db24de2ef0 Merge branch 'feature-name-variants' of https://github.com/atmire/DSpace into feature-name-variants 2019-08-06 09:07:57 +02:00
Jelle Pelgrims
535847d12f Rename database column names for leftward/rightwardLabel 2019-08-06 09:03:46 +02:00
Jelle Pelgrims
0c6f53758d Fix checkstyle errors 2019-08-06 08:48:54 +02:00
Raf Ponsaerts
f17fcc2f42 intermediary commit 2019-08-06 08:41:27 +02:00
Jelle Pelgrims
0bb2135a8e Add Integration tests for harvest settings endpoint 2019-08-06 08:41:11 +02:00
Tim Donohue
7eb73b9072 Merge pull request #2477 from AlexanderS/travis-trusty
Travis CI: Continue to use Ubuntu Trusty 14.04
2019-08-05 19:07:12 +02:00
Tim Donohue
cb50d88980 Merge pull request #2282 from atmire/DS-4097_item-mapper-squashed-final
Implemented the Item Mapper functionality
2019-08-05 18:56:08 +02:00
Alexander Sulfrian
e1b7a88225 Travis CI: Continue to use Ubuntu Trusty 14.04
Ubuntu Xenial 16.04 does not support OracleJDK8 anymore.
2019-08-05 17:14:45 +02:00
Jelle Pelgrims
73865a904b Refactor harvest settings endpoint after manual testing 2019-08-05 14:32:58 +02:00
Jelle Pelgrims
ad59842dd0 Add endpoint to update collection harvest settings 2019-08-05 13:41:39 +02:00
Raf Ponsaerts
1866ed2a96 Moved RelationshipMetadata logic to a new service 2019-08-05 10:40:27 +02:00
Ben Bosman
969158783f process feedback + PR 69
Adding JavaDoc
Processing https://github.com/DSpace/Rest7Contract/pull/69
2019-08-05 10:02:44 +02:00
Raf Ponsaerts
9b3d9e1fa0 Implemented feedback 2019-08-02 14:09:42 +02:00
Jelle Pelgrims
763d9ce8e6 Rename code matching '[mM]apping[a-zA-Z]*' to '[mM]apped[a-zA-Z]*'
Rename 'mappingCollection' and similar code to 'mappedCollection', in order
to resolve Tim Donohue's feedback on the pull request.
2019-08-02 13:13:48 +02:00
Jelle Pelgrims
e51aebf09d Merge branch 'master' into DS-4097_item-mapper-squashed-final 2019-08-02 11:27:46 +02:00
Jelle Pelgrims
be7f13316e Refactor RelationshipRestRepository Integration tests
Refactor the integration tests for the RelationshipRestRepository
to reduce the amount of code duplication. Many tests contained code
to create a number of variables to be used in the test, this code
was pretty much the same for every test. I refactored the integration
test class so that all variables used in multiple tests are now declared
at the top and are initialized in an @Before function. Test-specific
variables are unchanged.
2019-08-02 11:07:37 +02:00
Jelle Pelgrims
0377e0a605 Refactor PUT endpoint json parsing to make use of objectmapper 2019-08-01 15:30:04 +02:00
Jelle Pelgrims
c40dabf9c6 Fix two small issues 2019-08-01 14:36:10 +02:00
Jelle Pelgrims
bb85c4f3ad Add tests for relationship name variant 2019-08-01 13:57:16 +02:00
Jelle Pelgrims
bbb6dca621 Update PUT & POST endpoints for relationships to support name variants 2019-08-01 10:35:32 +02:00
Jelle Pelgrims
172e5ec863 Add leftWard/rightWard-Label to Relationship
Modified the Relationship so that it also has a leftWardLabel and a
rightWardLabel for storing alternative labels (name variants). Also
created an sql migration to add two columns for these labels to the
relationship table.
2019-07-31 11:57:09 +02:00
Raf Ponsaerts
db1a885604 Merged DSpace/master into w2p-63475_implement-upload-bitstream-to-archived-item 2019-07-31 11:36:55 +02:00
Raf Ponsaerts
f622ef1d2a Merge remote-tracking branch 'dspace/master' into w2p-63475_implement-upload-bitstream-to-archived-item 2019-07-31 11:17:32 +02:00
Raf Ponsaerts
5e8f355536 Merged DSpace/master into w2p-63533_changes-to-dtd-and-api-relationship-submission 2019-07-31 10:00:14 +02:00
Raf Ponsaerts
e678977f27 Merge remote-tracking branch 'dspace/master' into w2p-63533_changes-to-dtd-and-api-relationship-submission 2019-07-31 09:32:24 +02:00
Tim Donohue
d896fed7a7 Merge pull request #2394 from ilittle-cnri/DS-1477-update-handle-server
[DS-4205] Upgrade to Handle Server v9
2019-07-25 22:12:54 +02:00
Ian Little
65e1d2c7dc Merge branch 'master' into DS-1477-update-handle-server
# Conflicts:
#	dspace-api/pom.xml
#	pom.xml
2019-07-25 14:03:29 -04:00
Tim Donohue
a11d4423b6 Merge pull request #2459 from tdonohue/rename_spring_rest
[DS-4257] (One Webapp Phase 2) Rename "dspace-spring-rest" to "dspace-server-webapp"
2019-07-25 17:05:55 +02:00
Ben Bosman
c97a48339c selectableRelationships should only be included if they are present 2019-07-25 15:08:03 +02:00
Ben Bosman
a1e47b8bda Merge remote-tracking branch 'community/master' into w2p-63533_changes-to-dtd-and-api-relationship-submission 2019-07-25 14:16:00 +02:00
Raf Ponsaerts
c70c1d3030 [Task 63947] applied feedback on SubmissionForm matcher 2019-07-25 12:57:41 +02:00
Raf Ponsaerts
2c4d7e656e [Task 63946] applied the feedback 2019-07-25 10:53:48 +02:00
Raf Ponsaerts
a1f653bdd6 [Task 63747] added IT for the relationship config 2019-07-24 14:25:43 +02:00
Raf Ponsaerts
2966bc919d Added the setting of name when no properties are present in the item bitstream upload 2019-07-24 09:59:21 +02:00
Raf Ponsaerts
22de7a80d9 [Task 63822] applied feedback where possible 2019-07-24 09:53:13 +02:00
Raf Ponsaerts
17a51e985b [Task 63533] Made sure that the relationship section in the submission forms is only shown in the response when it's a relationship field 2019-07-24 08:38:28 +02:00
Tim Donohue
8dc1d27598 Correct sample URLs in tests 2019-07-19 16:35:53 -05:00
Tim Donohue
739ff181cc Rename "dspace-spring-rest" to "dspace-server-webapp" 2019-07-19 16:35:53 -05:00
Tim Donohue
4155108745 Merge pull request #1992 from mwoodiupui/DS-3872
[DS-3872] More powerful email template language, and a richer set of substituents
2019-07-19 22:28:07 +02:00
Mark H. Wood
86b90dc490 [DS-3872] From review: fix quoting in template, handle 0 arguments. 2019-07-18 16:11:36 -04:00
Andrea Bollini
c17c15ff22 Merge pull request #2442 from atmire/DS-4266-bitstream-format-crud
[DS-4266] bitstream format crud
2019-07-18 16:14:00 +02:00
Jelle Pelgrims
d92aab0597 Add tests for multiple community title issue, along with temporary solution 2019-07-17 14:38:43 +02:00
Kevin Van de Velde
5297c88292 Test that supportLevel is not changed 2019-07-17 11:36:37 +02:00
Raf Ponsaerts
e557f01360 Refined the SelectableMetadata representation 2019-07-16 11:07:43 +02:00
Raf Ponsaerts
f166e8981f Implemented the Relationship logic in the submissionforms endpoint 2019-07-16 09:33:19 +02:00
Raf Ponsaerts
d8beea83bd Changed endpoint mapping and fixed tests accordingly 2019-07-15 11:45:06 +02:00
Raf Ponsaerts
4d3e2a6fbf [DS-4097] added javadocs to the requested classes 2019-07-15 11:45:06 +02:00
Marie Verdonck
3dc50a1277 Undo HALResource change, all tests run locally 2019-07-15 11:45:06 +02:00
Marie Verdonck
35316f6d2f Non-code changes, just whitelines 2019-07-15 11:45:06 +02:00
Marie Verdonck
a7e2a79774 restored auth system everywhere and size check for items in MappedItems call ($._embedded.mappingItems) 2019-07-15 11:45:06 +02:00
Marie Verdonck
c727471309 - Unit tests for findByCollectionMapping (incl Pagination) & countByCollectionMapping 2019-07-15 11:45:06 +02:00
Marie Verdonck
59b0ce470a Tests for new expected exceptions in MappingCollection endpoint
POST/DELETE:
 405: item is a template item
 422: specified collection not found or owningCollection of the item
2019-07-15 11:45:06 +02:00
Marie Verdonck
3fd522bf2b POST mappedCollections does not work now if given collection is owningCollection of item
> Throws exception, error status 405
2019-07-15 11:45:06 +02:00
Marie Verdonck
5be2b9628f Error & Status for non-successful POST/DELETE mappedCollections requests
- POST /api/core/items/<:uuid>/mappedCollections
 > 405: item is a template item
 > 422: specified collection not found or is owningCollection of item
- DELETE /api/core/items/<:uuid>/mappedCollections/<:collection_uuid>
 > 405: item is a template item
 > 422: specified collection not found or is owningCollection of item
2019-07-15 11:45:05 +02:00
Samuel
e420c71098 DS-4097 name change from mappingCollections to mappedCollections + data change to uri-list 2019-07-15 11:44:13 +02:00
Raf Ponsaerts
4215e91964 Implemented the Item Mapper functionality 2019-07-15 11:44:12 +02:00
Tim Donohue
1812099674 Merge pull request #2443 from atmire/w2p-62610_metadata-schema-registries-for-entity-types-squashed-2
DS-4223 Metadata Schemas for configurable entities
2019-07-12 19:21:21 +02:00
Raf Ponsaerts
3ff164c0fe Implemented feedback and testing on item bitstreams post endpoint 2019-07-12 11:39:09 +02:00
Tim Donohue
d7bdfa92c0 Merge pull request #2467 from atmire/DS-4298_upload-endpoint-uuid-broken
[DS-4298] changed the PathVariable for the upload method with uuid to…
2019-07-11 23:17:57 +02:00
Mark H. Wood
87d2f071e2 Merge branch 'master' into DS-3872 2019-07-11 11:54:35 -04:00
Tim Donohue
e2ea244eb3 Merge pull request #2283 from atmire/DS-4096-updating-owning-collections2
DS-4096: updating owning collections
2019-07-10 23:39:42 +02:00
Tim Donohue
30494e0fc5 Merge pull request #2429 from 4Science/DS-4210
DS-4210 Deposit on collection without workflow seems to fail (405 but succeed)
2019-07-10 23:20:45 +02:00
Tim Donohue
f4cd6997d9 Merge pull request #2446 from atmire/DS-4244_Entities-unit-tests
DS-4244 Add configurable entities unit tests
2019-07-10 23:13:20 +02:00
Raf Ponsaerts
70b394b57f Implemented the upload of a bitstream to an archived item 2019-07-10 14:43:20 +02:00
Raf Ponsaerts
41c7003d43 [DS-4298] changed the PathVariable for the upload method with uuid to be called 'uuid' 2019-07-10 08:55:39 +02:00
Tim Donohue
1dece5ead3 Merge pull request #2457 from atmire/delete-relationship-it-squashed
Delete relationship Integration Test
2019-07-09 23:55:07 +02:00
Yana De Pauw
705cc80a91 63419: Bitstream format registry feedback 2019-07-09 18:05:28 +02:00
Raf Ponsaerts
c1288daf19 Reinstated a sanity check 2019-07-09 12:45:12 +02:00
Raf Ponsaerts
5a810644e1 [Task 63533] applied feedback 2019-07-09 10:42:39 +02:00
benbosman
e2c1ab5a17 Merge pull request #2456 from atmire/DS-4084_remove-leftid-rightid-relationship
[DS-4084] - Relationships should link to Items via REST API
2019-07-09 09:15:07 +02:00
Raf Ponsaerts
d8970ff9c4 Merged master into DS-4084_remove-leftid-rightid-relationship 2019-07-09 07:43:13 +02:00
Tim Donohue
74299e87a3 Merge pull request #2397 from mwoodiupui/DS-3823
[DS-3823] Our extensive EHCache configuration is ignored
2019-07-08 21:01:16 +02:00
Raf Ponsaerts
a846d2dc10 [Task 63533] made a working implementation for the submission-forms.xml 2019-07-08 15:15:12 +02:00
Yana De Pauw
bf0bc5b732 Add javadocs 2019-07-08 14:14:39 +02:00
benbosman
f6e16f9156 Merge pull request #2450 from atmire/w2p-62955_change-endpoint-to-search-relationships-by-label-update
Relationship search by label
2019-07-08 10:55:20 +02:00
Raf Ponsaerts
112078e858 Added javadoc 2019-07-04 15:00:17 +02:00
Mark H. Wood
eee406bccf Merge pull request #2466 from mwoodiupui/DS-1443-again
[DS-1443] Export Community/Collection structure with structure-builder
2019-07-03 13:51:55 -04:00
Mark H. Wood
5c02705a81 [DS-1443] Somebody replaced DC_SCHEMA with DC.getName(). 2019-07-03 12:59:29 -04:00
Mark H. Wood
180ce285aa Merge pull request #2421 from mwoodiupui/DS-1443-again
[DS-1443] Export structure with structure-builder
Since this is essentially the same as a PR already having two approvals, and has been reviewed again in its present form, I'm merging it.
2019-07-03 11:41:28 -04:00
Andrew Wood
c7aded19a8 DS-4244 Improve comments for relationship concept unit test 2019-07-01 15:28:19 -04:00
Raf Ponsaerts
0555186e82 Added inline comments to the RelationshipRestRepositoryIT#findRelationshipByLabelTest 2019-07-01 13:32:11 +02:00
Kevin Van de Velde
4f5e051c2d Merge branch 'master' into DS-4096-updating-owning-collections2 2019-06-28 13:00:28 +02:00
Tim Donohue
4d8777c24e Merge pull request #2448 from AlexanderS/minor-code-cleanup
Some minor code cleanup in the tests
2019-06-27 18:30:51 +02:00
Tim Donohue
4f2519d36d Merge pull request #2458 from tdonohue/lost_commit
DS-2376: Catch exception from encrypted PDF instead of expecting to test for it. (Bug fix follow-up)
2019-06-27 17:27:23 +02:00
Mark H. Wood
998c3109d0 Catch exception from encrypted PDF instead of expecting to test for it. 2019-06-27 09:52:33 -05:00
Tim Donohue
f29f2fe2b6 Merge pull request #2425 from tdonohue/security_updates
Minor dependency updates for `master` (pre-7.0)
2019-06-27 16:44:43 +02:00
Andrea Bollini
705c6e95d5 Remove unnecessary debugging sysout 2019-06-27 16:05:49 +02:00
Ben Bosman
dc38da9ef5 Squashed commit of the following:
commit fc632442c0f0fabf6738b515d629997644a40096
Author: Ben Bosman <ben@atmire.com>
Date:   Thu Jun 27 09:20:03 2019 +0200

    IT on delete, counting relationships per item
2019-06-27 11:07:35 +02:00
Ben Bosman
ee8d40cef2 IT on delete, counting relationships per item 2019-06-27 09:15:36 +02:00
Ben Bosman
e945a3e560 merge with master 2019-06-25 14:17:53 +02:00
Ben Bosman
8392429c89 merge with master 2019-06-25 13:48:07 +02:00
Ben Bosman
c51e28ed0f Merge remote-tracking branch 'community/master' into DS-4084_remove-leftid-rightid-relationship 2019-06-25 13:47:11 +02:00
Ben Bosman
0b4aef01b5 Travis trigger 2019-06-25 13:23:33 +02:00
Ben Bosman
488b0f9e6b Merge remote-tracking branch 'community/master' into w2p-62955_change-endpoint-to-search-relationships-by-label-update 2019-06-25 11:22:00 +02:00
Mark H. Wood
590d563197 [DS-3872] Finish removing autoconfigure from Application. 2019-06-24 17:23:18 -04:00
Mark H. Wood
5724b21149 [DS-3872] Remove outdated, redundant Commons Lang3 dependency. 2019-06-24 17:17:42 -04:00
Mark H. Wood
dd84ef0ce6 [DS-3872] More thorough documentation of header control. 2019-06-24 17:16:52 -04:00
Mark H. Wood
03377c24bd [DS-3872] Move exlcusion of Spring's Velocity autoconfig to where the others are. 2019-06-24 17:15:41 -04:00
Tim Donohue
05b721584d Merge pull request #2432 from 4Science/DS-4252
DS-4252 Discovery re-index doesn't work without -b
2019-06-24 19:50:59 +02:00
Tim Donohue
0b0931d96d Upgrade Spring per security notice 2019-06-24 12:15:10 -05:00
Tim Donohue
59f55180d3 Upgrade PDFBox per security notice. Remove BouncyCastle optional dependency (DSpace doesn't support encrypted PDFs) 2019-06-24 12:13:50 -05:00
Tim Donohue
b75c4e1a02 Security update for checkstyle 2019-06-24 12:13:50 -05:00
Tim Donohue
9d6b75466b Security update for jackson-databind 2019-06-24 12:13:50 -05:00
Tim Donohue
7680a3dd49 DS-4073 fix. FindByValue should pass in value, not qualifier. 2019-06-24 10:10:49 -05:00
Kevin Van de Velde
46a3b5d20d Merge branch 'master' into DS-4266-bitstream-format-crud 2019-06-24 15:58:09 +02:00
Tim Donohue
b56b47629a Merge pull request #2440 from atmire/w2p-62574_PUT-relationships-modify-left-or-right-item-squashed
DS-4230 - PUT contract in relationships
2019-06-21 18:53:25 +02:00
Tim Donohue
f02c44c655 Merge pull request #2403 from atmire/DS-4217_PatchBadRequestException-name-refactor-and-fix-BadRequestException-errors
[DS-4217] applied the name refactor and rewrote BadRequestException t…
2019-06-21 18:13:31 +02:00
Raf Ponsaerts
0afb8d3203 Fixed tests 2019-06-21 14:17:42 +02:00
Andrea Bollini
971b28448f Merge pull request #2444 from 4Science/DS-4269
DS-4269 Incorrect hal pagination links in the browses endpoint
2019-06-20 17:06:46 +02:00
Andrea Bollini
f8a66833d7 revert unnecessary change 2019-06-20 16:37:33 +02:00
Andrea Bollini
4cd9d6ce6e Merge branch 'master' of https://github.com/DSpace/DSpace into DS-4210 2019-06-20 16:09:03 +02:00
Raf Ponsaerts
a15213bf6e Merged w2p-62955_change-endpoint-to-search-relationships-by-label-update into w2p-63107_merge-branches 2019-06-20 09:54:48 +02:00
Raf Ponsaerts
95ae7c0cbb Merge branch 'w2p-62574_PUT-relationships-modify-left-or-right-item-squashed' into w2p-63107_merge-branches 2019-06-20 09:29:56 +02:00
kshepherd
01ea800143 Merge pull request #2224 from mwoodiupui/DS-4032
[DS-4032] RequestItem.isAccept_request() can NPE if setAccept_request() was never called.
2019-06-19 22:41:04 +02:00
Raf Ponsaerts
f57d5113fe Fixed tests and checkstyle 2019-06-19 09:32:58 +02:00
Raf Ponsaerts
f0e4701c18 Added support for not passing a DSO parameter to the search endpoint 2019-06-19 08:04:01 +02:00
Raf Ponsaerts
a1995347fe Implemented the search method on the relationships endpoint
Conflicts:
	dspace-spring-rest/src/main/java/org/dspace/app/rest/model/RelationshipRestWrapper.java
	dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java
	dspace-spring-rest/src/test/java/org/dspace/app/rest/RelationshipTypeRestControllerIT.java
2019-06-19 08:03:35 +02:00
Alexander Sulfrian
7dcc9fcf29 Inner class can be static
Inner classes, that does not reference the enclosing class, can be static.
2019-06-18 21:36:45 +02:00
Alexander Sulfrian
b007793ea0 IOUtil.copy without Charset is deprecated 2019-06-18 21:36:45 +02:00
Alexander Sulfrian
8ea6b21a73 Replace createSQLQuery with createNativeQuery
Since hibernate 5.2 createSQLQuery is deprecated in favor of createNativeQuery.
2019-06-18 19:54:18 +02:00
Alexander Sulfrian
1a4dae950c Remove shadowing variables
authorizeService and context are already defined in the AbstractUnitTest.
2019-06-18 19:54:17 +02:00
Alexander Sulfrian
63803e8314 Replace commons-io Charsets with StandardCharsets
org.apache.commons.io.Charsets is deprecated in favor of
java.nio.charset.StandardCharsets.
2019-06-18 19:54:17 +02:00
Alexander Sulfrian
324c8c8d44 Add missing @Override 2019-06-18 19:54:17 +02:00
Alexander Sulfrian
0679801945 Fix order of arguments of assertEquals 2019-06-18 19:54:04 +02:00
Andrew Wood
2a32c7ec02 DS-4244 Add entity and relationship unit tests 2019-06-17 09:20:45 -04:00
Raf Ponsaerts
99bba2ab63 DS-4244 Add RelationshipTypeTest
Refactored the RelationshipTypeTest to be more compliant with the JUnit tests
2019-06-17 09:20:31 -04:00
Raf Ponsaerts
cf2e443037 Removed the leftid and rightid properties from the Relationship response 2019-06-17 10:09:23 +02:00
Ben Bosman
65c3039c1d Support for requesting a specification configuration using e.g. /rest/api/discover/search/objects?configuration=publicationConfiguration 2019-06-13 15:49:40 +02:00
Ben Bosman
bb97672020 Discovery configuration specific to Publication 2019-06-13 15:04:03 +02:00
Raf Ponsaerts
bef7afae8c [DS-4266] fixed the lazy loading issue on bitstreamFormat 2019-06-12 13:04:23 +02:00
Tim Donohue
62de82fee0 Merge pull request #2437 from AlexanderS/fix-hal-login-form
[DS-4259] HAL login form does not support special characters
2019-06-11 20:44:00 +02:00
Andrea Bollini
e2f4eafd0f DS-4270 fix typo 2019-06-11 03:05:31 +02:00
Andrea Bollini
22cd4cf090 DS-4269 fix links issue when there were not parameters 2019-06-11 03:04:44 +02:00
Andrea Bollini
cd1ed182f0 DS-4269 improve IT for pagination links issue 2019-06-11 02:44:20 +02:00
Andrea Bollini
4b9b020669 DS-4269 IT to reproduce the bug in pagination links 2019-06-11 02:16:16 +02:00
Andrea Bollini
aa7c206e0b DS-4210 improve cleanup of workspace and workflow items 2019-06-11 01:25:52 +02:00
Andrea Bollini
8f1092e895 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-4210 2019-06-10 21:50:26 +02:00
Raf Ponsaerts
7fbf902de0 [DS-4217] changed all invalidrequest to DSpaceBadRequestExceptions 2019-06-07 12:36:32 +02:00
Raf Ponsaerts
99eae45db0 [DS-4217] added comment to test method 2019-06-07 11:11:28 +02:00
Ben Bosman
91651acc7a updated for schema.org metadata 2019-06-06 11:46:14 +02:00
Ben Bosman
8ae365724d updated for schema.org metadata 2019-06-06 10:57:06 +02:00
Ben Bosman
3290c49f48 Squashed commit of the following:
commit 182b9db8784b7c98f629d04ae91ca19abdd2cc71
Author: Ben Bosman <ben@atmire.com>
Date:   Wed Jun 5 17:35:15 2019 +0200

    whitespace fixes

commit ffce348b698b96c47995d962a5892566cd317e1e
Author: Ben Bosman <ben@atmire.com>
Date:   Wed Jun 5 17:31:14 2019 +0200

    whitespace fixes

commit a1aeb273ff598305609013f82afd7126e2286f07
Author: Ben Bosman <ben@atmire.com>
Date:   Wed Jun 5 16:58:33 2019 +0200

    merging https://github.com/DSpace/DSpace/pull/2116

commit e89ace0c3cdb5c28c3d59bab6334c514513667d5
Merge: 568aa0d5c a7a8545cd
Author: Ben Bosman <ben@atmire.com>
Date:   Wed Jun 5 16:56:35 2019 +0200

    Merge remote-tracking branch 'community/master' into w2p-62610_metadata-schema-registries-for-entity-types-squashed

    # Conflicts:
    #	dspace-api/src/main/java/org/dspace/storage/rdbms/DatabaseRegistryUpdater.java

commit 568aa0d5c9ea86cb31bf825f330a5e4c044a1653
Author: Ben Bosman <ben@atmire.com>
Date:   Wed Jun 5 14:57:20 2019 +0200

    configuring dates as date facets

commit 6390487d45a8e83e02d1e312ced319ed59525377
Author: Ben Bosman <ben@atmire.com>
Date:   Wed Jun 5 12:08:45 2019 +0200

    updated for schema.org metadata - removed collection mapping

commit 171ee9b201eabfa74d2375ef1e0fdba2ea85c404
Author: Ben Bosman <ben@atmire.com>
Date:   Wed Jun 5 12:03:54 2019 +0200

    Squashed commit of the following:

    commit 25fac292281741afe3eb8c7fad5cfff91965461d
    Author: Ben Bosman <ben@atmire.com>
    Date:   Tue Jun 4 13:34:58 2019 +0200

        updated for schema.org metadata

    commit c62fcb75e7ac21f3dc41aa34bed597a4d701e932
    Author: Raf Ponsaerts <raf.ponsaerts@atmire.com>
    Date:   Tue Jun 4 11:46:51 2019 +0200

        [Task 62732] updated the virtual-metadata config

    commit 9ade3f90c011a04e6eb79d91d0f82cc305f941dd
    Author: Ben Bosman <ben@atmire.com>
    Date:   Tue Jun 4 11:35:46 2019 +0200

        discovery config update

    commit eef08d7617be5ead9626829b0320bcb610d8cb40
    Author: Ben Bosman <ben@atmire.com>
    Date:   Mon Jun 3 15:12:59 2019 +0200

        new types for entities

    commit 434722b809cab29ff8e3b95eb04ed644008afc38
    Author: Ben Bosman <ben@atmire.com>
    Date:   Mon Jun 3 14:55:05 2019 +0200

        restored eperson types

    commit ef97353de6a9c07e91d4680cb9b1e5fb539b94d7
    Author: Marie Verdonck <maria.verdonck@atmire.com>
    Date:   Wed May 29 16:28:12 2019 +0200

        Discovery config for entities Organization; PublicationIssue;
           PublicationVolume; Periodical

        Signed-off-by: Marie Verdonck <maria.verdonck@atmire.com>

    commit 2c02d863c66174917bcf4309f370e5c2d56f4260
    Author: Ben Bosman <ben@atmire.com>
    Date:   Tue May 28 18:52:46 2019 +0200

        journal volume name

    commit ceb5a2d34fed3647f92997b6a0b1f06b34cdfa7c
    Author: Ben Bosman <ben@atmire.com>
    Date:   Tue May 28 18:10:20 2019 +0200

        sort by date accessioned

    commit 62751138875b130d3c512453199e0ba5b4a9451f
    Author: Marie Verdonck <maria.verdonck@atmire.com>
    Date:   Tue May 28 15:40:22 2019 +0200

        Discovery configuration for Person Entity

    commit 62622ccbc66bbebc4a297b216507461f3a1f37de
    Author: Marie Verdonck <maria.verdonck@atmire.com>
    Date:   Tue May 28 14:25:18 2019 +0200

        Submission-forms changed for new metadata mapping
        - Not yet mapped with replacement fields commented

    commit 2f6338d1e85352097f398281685e7800e00a5e87
    Author: Ben Bosman <ben@atmire.com>
    Date:   Tue May 28 11:07:48 2019 +0200

        fixes to submission forms

    commit 9aeebf61a8e180e3ee6b90001385eae3d7921f35
    Author: Ben Bosman <ben@atmire.com>
    Date:   Tue May 28 11:02:54 2019 +0200

        fixes to submission forms

    commit 9055ae6d8ed4b686c879853ea8ca761950d27f87
    Author: Marie Verdonck <maria.verdonck@atmire.com>
    Date:   Tue May 28 10:47:31 2019 +0200

        Equivalents found in dublin-core-types, list so far:
        * person-types.xml & eperson-types.xml > schema-person-types.xml
            * eperson.firstname > person.givenName
            * eperson.lastname > person.familyName
            * eperson.phone > persone.telephone
            * eperson.language > person.knowsLanguage
            * person.identifier.email > person.email
            * person.identifier.orcid > NOT FOUND
            * person.identifier.birthdate > person.birthDate
            * person.identifier.staffid > NOT FOUND
            * person.identifier.jobtitle > person.jobTitle
            * person.contributor.other > NOT FOUND
        * journalVolume-types.xml > schema-publicationVolume-types.xml
            * journalvolume.issuedate > creativework.datePublished
            * journalvolume.identifier.volume > publicationVolume.volumeNumber
            * journalvolume.identifier.name > NOT FOUND
            * journalvolume.identifier.description > dc.description
        * orgunit-types.xml > schema-organization-types.xml
            * orgunit.identifier.name > organization.legalName
            * orgunit.identifier.id > NOT FOUND
            * orgunit.identifier.dateestablished >organisation.foundingDate
            * orgunit.identifier.city > organisation.address.addressLocality
            * orgunit.identifier.country > organisation.address.addressCountry
            * orgunit.identifier.description > dc.description
        * project-types.xml > schema-project-types.xml

        ‘Project’ is still in ‘Pending’ https://pending.schema.org/
            * project.identifier.name > dc.title
            * project.identifier.id > dc.identifier
            * project.identifier.status > NOT FOUND
            * project.identifier.startdate > NOT FOUND
            * project.identifier.expectedcompletion > NOT FOUND
            * project.identifier.keyword > dc.subject
            * project.identifier.description > dc.description
            * project.contributor.other > dc.contributor.other
            * project.contributor.author > dc.contributor.author
        * journalissue-types.xml > schema-publicationIssue-types.xml
            * journalissue.issuedate > creativework.datePublished
            * journalissue.identifier.number > publicationissue.issueNumber
            * journalissue.identifier.name > dc.title
            * journalissue.identifier.description > dc.description
            * journalissue.identifier.keyword > creativework.keywords
        * journal-types > schema-periodical-types.xml
            * journal.contributor.editor > creativework.editor
            * journal.publisher > creativework.publisher
            * journal.identifier.issn > creativeworkseries.issn
            * journal.identifier.name > dc.title
            * journal.identifier.description > dc.description
            * journal.title > NOT FOUND

    commit 1578da3a76fa29567a63e64b587898a24004dbf4
    Author: Marie Verdonck <maria.verdonck@atmire.com>
    Date:   Mon May 27 15:38:54 2019 +0200

        Metadata registries for entity types (partially) mapped and replaced by schema.org values
        Non-mapped values logged in new files
        - person-types.xml & eperson-types.xml > schema-person-types.xml
        - journalVolume-types.xml > schema-publicationVolume-types.xml
        - orgunit-types.xml > schema-organization-types.xml
        - project-types.xml > schema-project-types.xml
        - journalissue-types.xml > schema-publicationIssue-types.xml
        - journal-types > schema-periodical-types.xmlnon-direct parent thing.name)
2019-06-05 17:45:08 +02:00
benbosman
a7a8545cd5 Merge pull request #2116 from mwoodiupui/DS-3953
[DS-3953] Externalize hard-coded list of metadata registry files in updater
2019-06-05 16:52:24 +02:00
Kevin Van de Velde
8d97f23375 [DS-4266] CRUD support for bitstream formats: Code style cleanup 2019-06-05 11:46:00 +02:00
Marie Verdonck
6a65cd2ad3 Error handling and cleanup:
- setAllValuesOfRest() SQLException now meaningful message
- metadataConverter never used, so removed
- id comparison check flipped so no NullPointer when no id in json in body,
but meaningful message
2019-06-04 13:15:20 +02:00
Marie Verdonck
f3cfe49a97 Removing non-code changes (indentation) 2019-06-04 10:35:55 +02:00
Mark H. Wood
55dbcb96cd [DS=3953] Configuration comment to explain how these properties are used. 2019-06-02 08:25:25 -04:00
Mark H. Wood
b6eb0b7d85 Merge branch 'DS-3953' of github.com:mwoodiupui/DSpace into DS-3953 2019-06-02 08:19:40 -04:00
Marie Verdonck
1f40ae51ad 400 - DSpaceBadRequestException when nonvalid supportLevel in rest call for
POST /api/core/bitstreamformats
PUT /api/core/bitstreamformats/<:id>

Implementation & Tests for create/update
2019-05-31 15:32:16 +02:00
Raf Ponsaerts
db8f203f01 [DS-4217] fixed compilation failure after rebase and wrote tests for the DSpaceBadRequestException
Signed-off-by: Marie Verdonck <maria.verdonck@atmire.com>
2019-05-31 15:00:43 +02:00
Raf Ponsaerts
d6b5abd694 [DS-4217] applied the name refactor and rewrote BadRequestException to use this class instead
Signed-off-by: Marie Verdonck <maria.verdonck@atmire.com>
2019-05-31 15:00:19 +02:00
Marie Verdonck
15f6f9e9b8 Tests for full CRUD functionality on bitstreamformat registry endpoint:
POST /api/core/bitstreamformats
PUT /api/core/bitstreamformats/<:id>
DELETE /api/core/bitstreamformats/<:id>

Signed-off-by: Marie Verdonck <maria.verdonck@atmire.com>
2019-05-31 14:50:52 +02:00
Marie Verdonck
44f8a8ef9f Thown sql exception with message & checkstyle 2019-05-31 14:49:59 +02:00
Marie Verdonck
c79006dca1 unused import, checkstyle violation 2019-05-31 14:49:12 +02:00
Marie Verdonck
e4f1ed698a comments removed & if supportlevel is -1 (not given), set to UNKNOWN 2019-05-31 14:48:29 +02:00
Marie Verdonck
198b97de6d getSupportLevelString removed and usage replaced with getSupportLevelText 2019-05-31 14:47:05 +02:00
Marie Verdonck
47ece82445 Codechanges ignoring whitespaces and empty lines of following commits:
Squashed commit of the following:

commit d65609c
Author: Ben Bosman <ben@atmire.com>
Date:   Thu May 30 11:18:46 2019 +0200

    travis build fixes

commit 62aeb94
Author: Ben Bosman <ben@atmire.com>
Date:   Thu May 30 10:53:48 2019 +0200

    license broken

commit 1d2e2ed
Author: Ben Bosman <ben@atmire.com>
Date:   Thu May 30 10:33:54 2019 +0200

    update comments

commit 552005f
Author: Ben Bosman <ben@atmire.com>
Date:   Thu May 30 10:22:31 2019 +0200

    removed unnecessary method

commit af149e7
Author: Marie Verdonck <maria.verdonck@atmire.com>
Date:   Wed May 29 17:47:27 2019 +0200

    Reduced complexity in relationship rest controller & tests (PUT)
    - No need for id integer check, pathvariable expects only integers
    - Tests added for exception cases:
       > Invalid relationship id (non-existent) > 404 - Not found
       > Invalid item id in body > 422 - Unprocesseable
    - Test verification andExpect() more efficient

commit 3c37d20
Author: Marie Verdonck <maria.verdonck@atmire.com>
Date:   Wed May 29 10:43:19 2019 +0200

    Tests for the endpoints: PUT /api/core/relationships/:id/leftItem
                             PUT /api/core/relationships/:id/rightItem

commit a58c611
Author: Marie Verdonck <maria.verdonck@atmire.com>
Date:   Tue May 28 10:18:19 2019 +0200

    Back to original isAllowedToModify method; regex for relationship id in mapping &
    - No need to check for leftItem=rightItem, is allowed
    - No need to check if relationship already exists, DB will prevent duplicates

commit 2424c5c
Author: Marie Verdonck <maria.verdonck@atmire.com>
Date:   Mon May 27 13:53:50 2019 +0200

    Changes in the PUT on relationships, new endpoints:
    - PUT /api/core/relationships/:id/leftItem
    - PUT /api/core/relationships/:id/rightItem

    > 403 Forbidden  - if not enough write rights (see below)
    > 422 Unprocesseable Entity -  if relationship id NaN or invalid item in body
    > 404 Resource Not Found if - relationship with given id not found

    Needed permissions:
    Replace left: right.WRITE OR (left.WRITE AND old-left.WRITE)
    Replace right: left.WRITE OR (right.WRITE AND old-right.WRITE)
2019-05-31 10:14:24 +02:00
Andrea Bollini
eef6055ead Fix wrong cleanup query 2019-05-30 14:55:46 +02:00
Andrea Bollini
b9b0fcd45f Merge branch 'master' of https://github.com/DSpace/DSpace into DS-4252 2019-05-30 14:47:16 +02:00
Ben Bosman
38f1468f42 Squashed commit of the following:
commit d65609c66e4dd54c5a8af2fc18d952c958c0f69b
Author: Ben Bosman <ben@atmire.com>
Date:   Thu May 30 11:18:46 2019 +0200

    travis build fixes

commit 62aeb9463d9c74070540ad1eb247bb539dae8cf9
Author: Ben Bosman <ben@atmire.com>
Date:   Thu May 30 10:53:48 2019 +0200

    license broken

commit 1d2e2edb085433f79aa2abe58cdc4d4065dbfc81
Author: Ben Bosman <ben@atmire.com>
Date:   Thu May 30 10:33:54 2019 +0200

    update comments

commit 552005fc2f1c912220d0f62e94c3045e9f772be2
Author: Ben Bosman <ben@atmire.com>
Date:   Thu May 30 10:22:31 2019 +0200

    removed unnecessary method

commit af149e7871f30e4bc17f7eeccf8655fe9d80cdf7
Author: Marie Verdonck <maria.verdonck@atmire.com>
Date:   Wed May 29 17:47:27 2019 +0200

    Reduced complexity in relationship rest controller & tests (PUT)
    - No need for id integer check, pathvariable expects only integers
    - Tests added for exception cases:
       > Invalid relationship id (non-existent) > 404 - Not found
       > Invalid item id in body > 422 - Unprocesseable
    - Test verification andExpect() more efficient

commit 3c37d208cbe609f5182470ce8302ec25de00939f
Author: Marie Verdonck <maria.verdonck@atmire.com>
Date:   Wed May 29 10:43:19 2019 +0200

    Tests for the endpoints: PUT /api/core/relationships/:id/leftItem
                             PUT /api/core/relationships/:id/rightItem

commit a58c611ad7a648b28933fb39840866def42384e6
Author: Marie Verdonck <maria.verdonck@atmire.com>
Date:   Tue May 28 10:18:19 2019 +0200

    Back to original isAllowedToModify method; regex for relationship id in mapping &
    - No need to check for leftItem=rightItem, is allowed
    - No need to check if relationship already exists, DB will prevent duplicates

commit 2424c5c71b63122263aec08e110cf7bb4b19cc5d
Author: Marie Verdonck <maria.verdonck@atmire.com>
Date:   Mon May 27 13:53:50 2019 +0200

    Changes in the PUT on relationships, new endpoints:
    - PUT /api/core/relationships/:id/leftItem
    - PUT /api/core/relationships/:id/rightItem

    > 403 Forbidden  - if not enough write rights (see below)
    > 422 Unprocesseable Entity -  if relationship id NaN or invalid item in body
    > 404 Resource Not Found if - relationship with given id not found

    Needed permissions:
    Replace left: right.WRITE OR (left.WRITE AND old-left.WRITE)
    Replace right: left.WRITE OR (right.WRITE AND old-right.WRITE)

    Signed-off-by: Marie Verdonck <maria.verdonck@atmire.com>
2019-05-30 11:48:20 +02:00
Marie Verdonck
e3ac8f98b1 Full CRUD on bitstreamformat registry endpoint; added:
POST /api/core/bitstreamformats
PUT /api/core/bitstreamformats/<:id>
DELETE /api/core/bitstreamformats/<:id>

Signed-off-by: Marie Verdonck <maria.verdonck@atmire.com>
2019-05-29 14:36:21 +02:00
Andrea Bollini
970955d722 DS-4210 Fix response code for created object via URI-LIST without further details 2019-05-28 10:55:03 +02:00
Andrea Bollini
ae671d27ab Merge branch 'master' of https://github.com/DSpace/DSpace into DS-4210 2019-05-28 10:52:10 +02:00
Pascal-Nicolas Becker
36e04fba95 DS-4260: Remove non-existing command from oai harvester's help 2019-05-25 11:53:02 +02:00
Alexander Sulfrian
812b459cf5 HAL: Use submit button in login form
This enables some automatic features of the browsers, f.e. the form will be
submitted when you press the return key in the username or password field.
2019-05-24 18:53:10 +02:00
Alexander Sulfrian
2111d03ffb HAL: Encode username and password in login form 2019-05-24 18:52:57 +02:00
Mark H. Wood
ce03072495 [DS-3823] Explain the existence and use of CacheSnooper. 2019-05-24 08:44:25 -04:00
Mark H. Wood
17daf04f21 [DS-3872] Re-remove factored-out code that was un-removed by a botched rebase. 2019-05-22 13:45:16 -04:00
Mark H. Wood
62acad25a3 [DS-3872] Add many inexplicably missing imports after rebase. 2019-05-22 12:10:14 -04:00
Mark H. Wood
ff5962cfa6 [DS-3872] Make config visible to introspector; enable testing arbitrary templates; remove more MessageFormat. 2019-05-22 11:18:16 -04:00
Mark H. Wood
db8a5effb3 [DS-3872] Avoid collision with other Velocity users by making resources local to the engine instance.
Also misc. clarifications and cleanups, drop unused new method.
2019-05-22 11:18:16 -04:00
Mark H. Wood
a579f8fe92 [DS-3872] Spring Boot looks for Velocity and tries to initialize it as v1. Suppress this. 2019-05-22 11:18:16 -04:00
Mark H. Wood
cb3edadf1f [DS-3872] Load template file into string resource repository, let Velocity figure out how to parse it. 2019-05-22 11:08:05 -04:00
Mark H. Wood
9f7b3e53df [DS-3872] Align commons-lang3 transitive dependencies. 2019-05-22 11:08:05 -04:00
Mark H. Wood
60f72fb90a [DS-3872] Checkstyle fixes lost in rebasing. 2019-05-22 11:08:05 -04:00
Mark H. Wood
d94264bc79 [DS-3872] Support 'charset' header; remove old code I had missed. 2019-05-22 11:08:04 -04:00
Mark H. Wood
66191be2aa [DS-3872] Restore ability to set Subject: from template text. 2019-05-22 11:08:04 -04:00
Mark H. Wood
b75c5e1bab [DS-3872] Convert MessageFormat email templates to VTL. 2019-05-22 11:08:04 -04:00
Mark H. Wood
3bea69ae82 [DS-3872] Upgrade to Velocity v2. 2019-05-22 11:08:04 -04:00
Mark H. Wood
5bfe44f93f Begin patching in Velocity 2019-05-22 11:08:04 -04:00
Tim Donohue
68a068db37 Merge pull request #2435 from tdonohue/fix_broken_IT
Fix race condition in IT on "master"
2019-05-21 12:49:50 -05:00
Tim Donohue
81040975ed Convert Mock into a Spy of currently loaded bean 2019-05-21 12:15:37 -05:00
Tim Donohue
73c2e9d2d6 Merge pull request #2265 from tdonohue/one_webapp_backend_redux
DS-4257: DSpace 7 backend as one webapp (RESTv7, SWORD, SWORDv2, OAI, RDF)
2019-05-21 11:02:58 -05:00
xuejiangtao
9766fe131d remove the last if statement to avoid the dead code 2019-05-21 21:52:36 +08:00
Kevin Van de Velde
e3199d76a7 [DS-4096] Updating owning collections: Additional checks to prevent moving to an items current owning collection and making sure that an item is archived or withdrawn 2019-05-21 09:55:44 +02:00
Raf Ponsaerts
15de4f2901 [DS-4217] fixed compilation failure after rebase and wrote tests for the DSpaceBadRequestException 2019-05-21 09:44:29 +02:00
Raf Ponsaerts
bd63a69d09 [DS-4217] applied the name refactor and rewrote BadRequestException to use this class instead 2019-05-21 09:44:24 +02:00
xuejiangtao
6ad6186375 add default return statement 2019-05-20 22:54:45 +08:00
Marie Verdonck
af13e51d0e Max length of line rule 2019-05-20 12:04:37 +02:00
Marie Verdonck
3aea69f9a7 Reason behind context.commit in RestController 2019-05-20 12:04:01 +02:00
Marie Verdonck
69a392a5cd Better exception/error handling for invalid collection uri in PUT /api/core/items/<:uuid>/owningCollection 2019-05-20 10:47:44 +02:00
Andrea Bollini
4194443185 DS-4252 Discovery re-index doesn't work without -b 2019-05-19 22:45:12 +02:00
Tim Donohue
aebd0f9ce6 [maven-release-plugin] prepare for next development iteration 2019-05-17 15:34:13 -05:00
Tim Donohue
44e7b3aca6 [maven-release-plugin] prepare release dspace-7.0-preview-1 2019-05-17 15:34:04 -05:00
Tim Donohue
2b9d726214 Merge pull request #2430 from atmire/DS-4253-discovery-oom-fix
DS-4253 Avoid oom during discovery reindex
2019-05-17 10:05:32 -05:00
Samuel
f7e1489bf3 DS-4096 change data to uri-list 2019-05-17 10:08:06 +02:00
Chris Wilper
7238f42cf4 DS-4253 Avoid oom during discovery reindex 2019-05-16 16:35:30 -04:00
Samuel
e403afbd52 Merge branch 'master' into DS-4096-updating-owning-collections2 2019-05-16 18:15:19 +02:00
Mark H. Wood
d89186a192 Merge pull request #2392 from mwoodiupui/DS-3658
[DS-3658] Configure ReindexerThread disable reindex
2019-05-15 13:04:03 -04:00
Mark H. Wood
d48aae5baa [DS-3658] Remove JSPUI comment mistakenly reintroduced by comment fix. 2019-05-15 11:41:22 -04:00
xuejiangtao
ee2db20185 Merge pull request #1 from xuejiangtao/xuejiangtao-patch-1
remove the condition that is always 'true'
2019-05-15 23:27:16 +08:00
xuejiangtao
003daf0a05 remove the condition that is always 'true' 2019-05-15 23:26:02 +08:00
Mark H. Wood
8afb630fcc Merge branch 'master' into DS-3658 2019-05-15 11:15:17 -04:00
Mark H. Wood
43444c84b7 [DS-3658] Accept abollini's fix to configuration comments, with minor adjustments. 2019-05-15 11:10:09 -04:00
Raf Ponsaerts
d0dcfe2699 [DS-4217] fixed compilation failure after rebase and wrote tests for the DSpaceBadRequestException 2019-05-14 09:01:12 +02:00
Raf Ponsaerts
50db4b8fc7 [DS-4217] applied the name refactor and rewrote BadRequestException to use this class instead 2019-05-13 14:56:15 +02:00
Tim Donohue
4d35e0fe28 Exclude old version of Jena from SWORDv2 to resolve conflicts with RDF. Add note about upgrading Jena for future. 2019-05-10 15:25:08 -05:00
Tim Donohue
11842b5485 Restore dependency that was accidentally removed 2019-05-10 15:25:08 -05:00
Terry Brady
7bf2d45d14 simplify dockerfile overrides 2019-05-10 15:25:08 -05:00
Terry Brady
4b94208676 fix ROOT 2019-05-10 15:25:08 -05:00
Terry Brady
10b25af158 handle root 2019-05-10 15:25:08 -05:00
Terry Brady
07029b9caf fix ROOT ref 2019-05-10 15:25:07 -05:00
Terry Brady
efea77fb7d simplify dockerfile for onewebapp 2019-05-10 15:25:07 -05:00
Tim Donohue
f89eebc714 Dependency bug fix. Avoid pulling in Spring Boot logging & other unnecessary dependencies 2019-05-10 15:25:07 -05:00
Tim Donohue
4938eb7f42 Configuration fixes. Add missing oai.cfg properties. Default dspace.baseUrl to single webapp path. 2019-05-10 15:25:07 -05:00
Tim Donohue
4fd0044ff8 Bug Fix. Ensure proper "baseUrl" is reported from each OAI context. Add IT to prove it works 2019-05-10 15:25:07 -05:00
Tim Donohue
ea4e05d8b8 Embed RDF into Boot webapp. Add basic ITs to prove it works. 2019-05-10 15:25:07 -05:00
Tim Donohue
20e4da56d3 Remove OAI Integration Tests, framework & stubs. These ITs were moved to Spring Boot in previous commit. 2019-05-10 15:25:07 -05:00
Tim Donohue
8c05914c04 Fix CommunityRestRepositoryIT tests that were not cleaning up after themselves 2019-05-10 15:25:07 -05:00
Tim Donohue
379968d12c Migrate existing OAI IntegrationTests to OAIpmhIT class in Spring Boot. Disable existing ITs (will be removed) 2019-05-10 15:01:48 -05:00
Tim Donohue
805e35743b Enhance inline comments in application.properties 2019-05-10 15:01:48 -05:00
Tim Donohue
f782a1ca3e OAI fixes: Update JTwig for compatibility with Spring Boot. Ensure static files are loaded properly 2019-05-10 15:01:48 -05:00
Tim Donohue
7c83a58a20 Minor bug fix to OAI-PMH found via ITs in previous commit 2019-05-10 15:01:48 -05:00
Tim Donohue
89400609aa Embed OAI-PMH into Boot webapp. Add basic ITs to prove it works. 2019-05-10 15:01:48 -05:00
Tim Donohue
cb86effb38 Correct comments to be more accurate 2019-05-10 15:01:48 -05:00
Tim Donohue
27512ad382 Correct location of SWORD ITs 2019-05-10 15:01:48 -05:00
Tim Donohue
06f8a2a6e2 More ITs for SWORDv2. Ensure all SWORDv2 endpoints have a sanity test. 2019-05-10 15:01:48 -05:00
Tim Donohue
ca5ac68e2d Embed SWORDv2 into Boot webapp. Add basic IT to prove it works. 2019-05-10 15:01:48 -05:00
Tim Donohue
46a50aeded Add basic validation tests for all SWORDv1 endpoints 2019-05-10 15:01:47 -05:00
Tim Donohue
6f51195e6c Ensure SWORD integration tests only run if SWORDWebConfig is loaded 2019-05-10 15:01:47 -05:00
Tim Donohue
56f7cb11bc Remove maven-war-plugin from SWORD POM. It's not needed anymore 2019-05-10 15:01:47 -05:00
Tim Donohue
8e3d12a34d Add basic Integration Tests for SWORDv1 endpoint using new AbstractWebClientIntegrationTest 2019-05-10 15:01:47 -05:00
Tim Donohue
adf68447e1 Make SWORD module configurable via sword-server.cfg. Remove obsolete web.xml 2019-05-10 15:01:47 -05:00
Tim Donohue
fa61b737db Refactor Application startup to load DSpace configs early in boot process. Also fixes DS-3492 2019-05-10 15:01:47 -05:00
Tim Donohue
7f3877c7bc Create SWORDWebConfig to replace SWORD's web.xml. Fix compilation error in servlet 2019-05-10 15:01:47 -05:00
Tim Donohue
1b143aa5cd Change SWORDv1 to a JAR dependency. Add as RESTv7 dependency 2019-05-10 15:01:47 -05:00
Tim Donohue
af16e6e780 Remove SWORD overlay folders/files 2019-05-10 15:01:47 -05:00
Tim Donohue
5eb338d9b7 Update RESTv7 to ComponentScan for webapp configs under org.dspace.app.configuration 2019-05-10 15:01:47 -05:00
Tim Donohue
f1073f0af0 Update RESTv7 to only use Spring Security on /api path 2019-05-10 15:01:47 -05:00
Mark H. Wood
27d811f5e5 [DS-3953] Add new data for configurable entities. 2019-05-10 11:55:19 -04:00
Mark H. Wood
b72c4218f4 [DS-3953] Expose list of metadata namespace files as configuration. 2019-05-10 11:55:19 -04:00
Tim Donohue
8f472d9197 Merge pull request #2376 from DSpace/configurable_entities
Adding Configurable "Entities" to DSpace 7 (Part 1: Architecture, Configuration, Search, Display)
2019-05-09 15:56:41 -05:00
Tim Donohue
ba267ce72b Merge pull request #2422 from atmire/entities-feedback-2019-05-07
Entities feedback 2019 05 07
2019-05-09 12:54:03 -05:00
Tim Donohue
be4c2f9ad5 Merge branch 'configurable_entities' into entities-feedback-2019-05-07 2019-05-09 12:09:42 -05:00
Tim Donohue
8097589db5 Merge pull request #2418 from atmire/entities-feedback-2019-04
Configurable entities feedback
2019-05-09 12:01:37 -05:00
Ben Bosman
858bf72fa9 Merge remote-tracking branch 'origin/w2p-62187_IT-changes' into entities-feedback-2019-05-07
# Conflicts:
#	dspace-spring-rest/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java
2019-05-08 16:47:16 +02:00
Raf Ponsaerts
b76aacc626 Added the expect status code in test 2019-05-08 16:23:01 +02:00
Raf Ponsaerts
5c035fe6a6 Refacted the RelationshipRestRepositoryIT to now use a builder instead of the EPersonService when creating a user 2019-05-08 13:12:14 +02:00
Ben Bosman
be9d80c410 Temporarily disabled for https://github.com/DSpace/Rest7Contract/pull/57#discussion_r272605397 2019-05-07 19:54:20 +02:00
Ben Bosman
3f42590fb2 Temporarily disabled for https://github.com/DSpace/Rest7Contract/pull/57#discussion_r272605397 2019-05-07 18:52:58 +02:00
Ben Bosman
5895f08337 Temporarily disabled for https://github.com/DSpace/Rest7Contract/pull/57#discussion_r272605397 2019-05-07 18:27:51 +02:00
Ben Bosman
b5e29a36b8 reordered tests to first verify the normal import, and hereafter verify updating (for logic while reading the IT) 2019-05-07 17:48:38 +02:00
Ben Bosman
bee7313f8a Merge remote-tracking branch 'origin/w2p-62146_initialize-entities-it-changes' into entities-feedback-2019-05-07 2019-05-07 17:47:04 +02:00
Mark H. Wood
1458d8f1b2 [DS-1443] Define required "options" as required; ensure that usage output is flushed. 2019-05-07 11:00:58 -04:00
Raf Ponsaerts
b98943ff64 Fixed checkstyle 2019-05-07 10:32:35 +02:00
Raf Ponsaerts
71cd11b558 Implemented the InitializeEntitiesIT changes 2019-05-07 09:59:32 +02:00
Raf Ponsaerts
aac6b12de9 Additional pagination tests 2019-05-07 09:19:48 +02:00
Mark H. Wood
2a914e1499 [DS-1443] Recreate this patch atop current (7x) master. 2019-05-06 16:18:53 -04:00
Raf Ponsaerts
a3334bd10e Added inline comments to the RelatinshipRestRepositoryIT 2019-05-06 15:48:38 +02:00
Kevin Van de Velde
5006653277 [DS-4239] Migrate the workflow.xml to spring 2019-05-03 12:10:06 +02:00
benbosman
4ccf73ebb6 Merge pull request #2414 from atmire/entities-feedback-2019-04-29
feedback on configurable entities
2019-05-02 17:10:46 +02:00
benbosman
cd8226cc97 Merge pull request #2419 from atmire/w2p-62057_configurable-entities-feedback
configurable entities feedback
2019-05-02 17:10:03 +02:00
Andrea Bollini
8556441f43 DS-4210 fix the bug (still problems on the test) 2019-05-02 16:03:42 +02:00
Raf Ponsaerts
6e21bcdad1 Implemented feedback 2019-05-02 15:08:08 +02:00
Andrea Bollini
eedd6ed36d DS-4210 demonstate the bug: Deposit on collection without workflow seems to fail (405 but succeed) 2019-05-02 14:27:51 +02:00
Raf Ponsaerts
4c6e939e57 Implemented feedback 2019-05-02 13:26:30 +02:00
Raf Ponsaerts
7dfd34036c Implemented feedback 2019-04-30 15:51:28 +02:00
Andrea Bollini
fc05d2dab0 Merge pull request #2411 from atmire/refactoring-instanceof
Small improvements to configurable entities
2019-04-30 09:59:40 +02:00
Ben Bosman
62ca358f33 support for displaying an org unit as author of a publication 2019-04-29 18:15:14 +02:00
Ben Bosman
9a40fd817c store place in relation virtual metadata 2019-04-29 17:59:38 +02:00
Ben Bosman
ccbf681f96 feedback on configurable entities 2019-04-29 15:42:57 +02:00
Ben Bosman
20705e1da1 feedback on configurable entities 2019-04-29 11:54:29 +02:00
Ben Bosman
6707dfb2e6 feedback on configurable entities 2019-04-29 11:50:45 +02:00
benbosman
0bb9880d2c Merge pull request #2413 from atmire/override
override
2019-04-29 11:44:19 +02:00
Ben Bosman
70e34edfef override 2019-04-29 11:13:55 +02:00
Mark H. Wood
3789b36ff5 [DS-3695] Add a tool to correct statistics core exports by supplying missing 'uid' values. 2019-04-26 15:03:38 -04:00
Tim Donohue
51aa22cdb9 Merge pull request #2409 from atmire/rename-VirtualBean-VirtualMetadataPopularConfiguration
Rename virtual bean virtual metadata configuration
2019-04-26 10:44:16 -05:00
Ben Bosman
8f56970c33 order of imports 2019-04-26 09:34:37 +02:00
Ben Bosman
09c9d851a5 JavaDoc 2019-04-26 09:32:29 +02:00
Ben Bosman
b331b26f80 Avoid creating a new context 2019-04-25 17:01:23 +02:00
Ben Bosman
b2d28fcf83 Avoid creating a new context 2019-04-25 16:44:16 +02:00
Ben Bosman
7b9f08e7ad JavaDoc 2019-04-25 15:52:57 +02:00
Ben Bosman
658708832a Missing @Override 2019-04-25 15:48:30 +02:00
Ben Bosman
dcf9240f42 Refactoring instanceof 2019-04-25 15:45:24 +02:00
benbosman
d1cd9c4a9b Merge pull request #2408 from atmire/Missing-override
Missing @Override
2019-04-25 15:35:23 +02:00
Ben Bosman
ec8109a67e Missing @Override 2019-04-25 15:34:44 +02:00
Ben Bosman
5a69301212 Rename VirtualBean to VirtualMetadataPopularConfiguration 2019-04-25 15:15:39 +02:00
Ben Bosman
72afed29b8 Rename VirtualBean to VirtualMetadataPopularConfiguration 2019-04-25 15:01:11 +02:00
Ben Bosman
07ce7da613 Merge remote-tracking branch 'community/configurable_entities' into configurable_entities 2019-04-25 14:37:23 +02:00
Ben Bosman
0898e33319 An additional use case in the comments 2019-04-25 14:36:53 +02:00
benbosman
bba8feff5b Merge pull request #2407 from atmire/w2p-62018_update-configurable_entities-with-master
update configurable entities with master
2019-04-25 14:06:34 +02:00
Raf Ponsaerts
d97ea343e4 Merged dspace/master into dspace/configurable_entities 2019-04-25 13:30:25 +02:00
Tim Donohue
afc6682bfb Merge pull request #2391 from 4Science/DS-4166_mydspace
DS-4166 Index workspace, workflow and tasks in SOLR
2019-04-24 10:03:35 -05:00
Tim Donohue
1bf1131237 Merge pull request #2404 from atmire/w2p-61912_initialize-entities-update
DS-4218 - Support for second "initialize-entities"
2019-04-24 10:02:27 -05:00
Ben Bosman
c83ae49e7f Feedback on PR-2404
Missing context complete, this was lost in the previous commit from this PR
2019-04-24 09:50:11 +02:00
Tim Donohue
b30e1cc6f9 Merge pull request #2216 from tomdesair/DS-4006_EPerson-Group-Relation-and-Embeds
DS-4006: Embed membership groups on EPerson REST object
2019-04-23 16:23:53 -05:00
benbosman
fe0a67ca43 Merge pull request #15 from AlexanderS/w2p-61912_initialize-entities-update
Small indentation fix
2019-04-18 12:54:41 +02:00
Alexander Sulfrian
f8b0eac67a Fix indentation 2019-04-18 12:15:17 +02:00
Raf Ponsaerts
22b297b207 Added IT for the updated InitializeEntities script 2019-04-18 08:47:33 +02:00
Raf Ponsaerts
cfd4e0b435 Updated the InitializeEntities implementation and added a unique constraint to RelationshipType table based on types and labels 2019-04-17 13:41:24 +02:00
Andrea Bollini
5338a88892 DS-4166 community feedback: postpone support for highlighting over authority controlled metadata 2019-04-16 22:37:02 +02:00
Tim Donohue
fada353a06 Checkstyle fix 2019-04-16 13:00:39 -05:00
Tim Donohue
0065bd4950 Update version of Handle dependency 2019-04-16 12:10:49 -05:00
Tim Donohue
b0bff18b53 Merge pull request #2257 from mspalti/eperson_update
[DS-4062] Endpoint to allow logged in EPerson to change password or other profile information.
2019-04-15 16:08:21 -05:00
Michael W Spalti
4fe26b914e [DS-4062] Updated task and workflow plugins to implement the new permission method. 2019-04-12 17:15:20 -07:00
Michael W Spalti
ca02d36933 [DS-4062] Added support for eperson updates by the currently logged in user.
Removed misplaced factory call.

Removed misplaced factory call.

Added exception and updated signature for the eperson repository patch method.

Removed patch endpoint from the authentication controller and modifed eperson repository to use Spring PreAuthorize annotation and the eperson permission evaluator plugin.

[DS-4062] Removed unused autowired bean from DSpaceRestRepository.

No longer needed after the previous refactor to remove endpoint.

[DS-4062] Removed unused import.

[DS-4062] The EPersonRestRepository updated to hasPermission annontation only.

Also limiting (experimentally) some eperson patch operations to administrators.

Added adminstartor restriction for netid patch operation.

Removed support for patching eperson profile metadata.

Removed support for patching eperson profile metadata.

Added eperson email patch operation.

Updated permission plugins to support patch requests per suggestion by @tomdesair.

Updated eperson authentication plugin and added unit test.

Added the new PreAuthorize annotations for patch.

Added the missing header reported by checkstyle.

Changed order of static imports in unit test to pass checkstyle.

Added integration test to verify that a non-admin user cannot update another eperson password.
2019-04-12 16:25:37 -07:00
benbosman
489ed8350b Merge pull request #2401 from atmire/entities-feedback
Entities feedback
2019-04-09 17:25:32 +02:00
Ben Bosman
62c0f0714d Feedback on PR-2376 2019-04-09 16:01:56 +02:00
Mark H. Wood
9a1124809c [DS-3823] Simple CLI tool to display cache layout and some settings. 2019-04-09 09:40:29 -04:00
Ben Bosman
a23a8821e6 Feedback on PR-2376 2019-04-09 15:16:17 +02:00
benbosman
2ed91c616c Merge pull request #2400 from atmire/w2p-61605_move-virtual-metadata-to-separate-spring-file
Moved the virtual metadata populator xml logic to a separate file
2019-04-09 15:04:13 +02:00
Raf Ponsaerts
750bdecbc0 Moved the virtual metadata populator xml logic to a separate file 2019-04-09 14:16:37 +02:00
Andrea Bollini
84eabcbf91 DS-4166 community feedback: renamed FindableObjectService in IndexableObjectService 2019-04-09 11:50:02 +02:00
benbosman
b0c6b912b3 Merge pull request #2399 from atmire/w2p-61536_update-configurable-entities-with-latest-master
update configurable entities with latest master
2019-04-08 17:12:27 +02:00
Raf Ponsaerts
92cb9730fb Changed the URI parsing to better fit a generic approach on Repository level 2019-04-08 16:16:13 +02:00
Raf Ponsaerts
4f3885738a Fixed tests and refactored the way priorities work in the builders 2019-04-08 14:56:23 +02:00
Mark H. Wood
b9ca1deb42 [DS-3823] Give distinct names to the services and Hibernate cache managers. 2019-04-05 16:55:28 -04:00
Raf Ponsaerts
4fc6ebc28c Intermediary Commit 2019-04-05 15:46:18 +02:00
Raf Ponsaerts
211e8f72a1 Merged dspace/master into configurable_entities 2019-04-05 13:45:01 +02:00
Andrea Bollini
f8cedefa29 DS-4166 community feedback: improved javadocs and comments 2019-04-05 13:30:36 +02:00
Andrea Bollini
20a0e42098 DS-4166 fix configuration of the submitter facet 2019-04-05 08:46:15 +02:00
Andrea Bollini
d23ebd66c0 DS-4166 fix configuration of the namedresourcetype facet 2019-04-04 15:53:18 +02:00
Andrea Bollini
504cb3c5cf DS-4166 community feedback: merge -i and -item_uuid options 2019-04-04 13:09:02 +02:00
Andrea Bollini
6fd5a76837 DS-4166 community feedback: code cleanup 2019-04-04 12:56:55 +02:00
Tim Donohue
e17e8eea08 Merge pull request #2388 from atmire/configurable_entities
DS-4121: Refactor Entities ITs
2019-04-02 10:23:05 -05:00
Ian Little
12e7178220 Merge branch 'master' into DS-1477-update-handle-server 2019-04-02 11:15:15 -04:00
Mark H. Wood
4a5ea2913d [DS-3695] Another OAI date field needs formatting. 2019-04-01 15:11:39 -04:00
Mark H. Wood
57e076e781 [DS-3695] Remove unused dynamicField definitions. 2019-04-01 14:24:29 -04:00
Mark H. Wood
be8fe275fd [DS-3695] Fields indexed as dates need formatting as Solr expects. 2019-04-01 13:58:24 -04:00
Alexander Sulfrian
8b1a75d309 IPMatcher: Add test to verify parsing of netmask 2019-04-01 18:49:27 +02:00
Tim Donohue
1e6497f1d6 Merge pull request #2379 from AndrewZWood/DS-4194
DS-4194 Use lazy fetching iterator for long query results
2019-03-29 15:08:25 -05:00
Ian Little
d2f8db798f Fix hostip issue in make-handle-config script. 2019-03-29 14:48:21 -04:00
Ian Little
f845e5fbcd Include optional handle dependency that is needed for running the server. 2019-03-29 14:47:54 -04:00
Ian Little
d17a9072d4 Update Handle server version. 2019-03-29 10:42:38 -04:00
Tim Donohue
77928c2560 Add info about how/when auto-reindexing takes place 2019-03-28 12:57:02 -04:00
Andrew Wood
0324787e35 DS-3658 Document new property reflect default behavior in value 2019-03-28 12:57:02 -04:00
Andrew Wood
2dd14a06ba DS-3658 Configure ReindexerThread disable reindex 2019-03-28 12:57:02 -04:00
Andrea Bollini
5e3164bd06 DS-4166 community feedback: use a more appropriate exception 2019-03-28 15:38:39 +01:00
Andrea Bollini
8de7a50f5b DS-4166 community feedback: report about not existing uuid 2019-03-28 15:20:49 +01:00
Andrea Bollini
a8190fe27a DS-3851 add test and fix for invalid task claiming 2019-03-28 14:42:03 +01:00
Andrea Bollini
30899b0e55 DS-4166 move IndexableObject to the discovery package 2019-03-28 13:20:47 +01:00
Andrea Bollini
eba97f4080 Merge branch 'master' of https://github.com/DSpace/DSpace into mydspace_clean 2019-03-28 13:15:21 +01:00
Alexander Sulfrian
d8ca94d304 IPMatcher: Fix netmask conversion 2019-03-28 12:16:25 +01:00
Andrea Bollini
689ac4e3bd DS-4166 community feedback: implement the IndexableObject interface only where really needed 2019-03-28 12:06:22 +01:00
Yana De Pauw
b71b6e9f1b Fix check style issues in RelationShipTypeBuilder 2019-03-28 11:13:35 +01:00
Andrea Bollini
1252075ac9 DS-4166 community feedback: remove multithreads indexing support 2019-03-28 09:02:58 +01:00
Andrea Bollini
cc11f49556 DS-4166 community feedback: remove unused methods and configurations 2019-03-28 09:02:16 +01:00
Andrea Bollini
272f21a8dd DS-4166 community feedback: improve documentation 2019-03-28 00:22:43 +01:00
Andrea Bollini
006b938c4a DS-4166 community feedback: use dedicated fields for workspace/workflow searches 2019-03-28 00:09:13 +01:00
Andrea Bollini
d25463fedb Merge pull request #2312 from 4Science/DS-3851_workflow_new
DS-3851 Endpoint to interact with the workflow
2019-03-28 00:05:08 +01:00
Andrea Bollini
15f6ced31a DS-3851 community feedback: typo 2019-03-27 22:43:30 +01:00
Andrea Bollini
b98d8f4d21 DS-4166 community feedback: rename resultObject to indexableObject in the discover REST result 2019-03-27 20:51:01 +01:00
Andrea Bollini
4b85bf4c56 DS-4166 community feedback: rename BrowsableObject to IndexableObject 2019-03-27 20:31:22 +01:00
Yana De Pauw
13ce03c8c7 Refactor Entity ITs to not use the xml file but builders 2019-03-27 13:19:28 +01:00
benbosman
85480b9ec7 Merge pull request #2383 from atmire/Feedback-PR-2376
Feedback on PR-2376
2019-03-26 13:00:18 +01:00
Andrea Bollini
8c28d5136e DS-3851 community feedback: deal properly with wrong requests 2019-03-26 12:56:48 +01:00
Ben Bosman
b828e56bb8 Squashed feedback on PR-2376 2019-03-25 14:10:28 +01:00
Tim Donohue
7f2e696949 Merge remote-tracking branch 'upstream/master' into configurable_entities 2019-03-22 19:54:03 +00:00
Terry Brady
0cc2226b25 Merge pull request #2373 from the-library-code/DS-4189
DS-4189 Enhance configuration by environment variables
2019-03-22 15:48:10 -04:00
Tim Donohue
f56996634b Merge branch 'master' into configurable_entities 2019-03-22 19:12:19 +00:00
Terry Brady
aa2a5f8b6e Update config-definition.xml 2019-03-22 15:12:14 -04:00
Tim Donohue
a857932393 Merge pull request #2058 from mwoodiupui/DS-3695
[DS-3695] Upgrade Solr to 7.3.1.
2019-03-22 10:47:43 -05:00
Mark H. Wood
62928cedb6 [DS-3695] Remove unused 'solr.server.version' POM property. 2019-03-22 11:20:47 -04:00
Terry Brady
808f04852b Update DSpaceEnvironmentConfiguration.java 2019-03-21 14:34:35 -04:00
Terry Brady
a39495bef5 Add replacement for dash and dot 2019-03-21 14:13:32 -04:00
Andrew Wood
51cd8fa46a DS-4194 Use lazy fetching iterator for long query results 2019-03-20 16:29:22 -04:00
Pascal-Nicolas Becker
1cfc53db5c DS-4189 Enhance configuration by environment variables 2019-03-18 02:22:23 +01:00
Andrea Bollini
5d997e6cde DS-3851 manually solve unnoted merge conflict 2019-03-15 22:21:45 +01:00
Andrea Bollini
1df2d35c1f Merge branch 'master' of https://github.com/DSpace/DSpace into DS-3851_workflow_new 2019-03-15 22:05:53 +01:00
Tim Donohue
b4e7d62725 Merge pull request #2375 from atmire/w2p-61144_place-in-metadata
Configurable Entities - Item metadata place
2019-03-15 11:48:10 -05:00
Tim Donohue
828861a871 Merge pull request #2331 from atmire/w2p-58898_place-column-calculation-error
Mixing entities and plain-text values
2019-03-15 10:58:34 -05:00
Raf Ponsaerts
00a4863178 Removed the jsonIgnore from place attribute in MetadataValueRest and fixed IT 2019-03-15 14:34:29 +01:00
benbosman
02d8e5f750 Merge pull request #13 from atmire/w2p-58898_place-column-calculation-error-prepare-merge
W2p 58898 place column calculation error prepare merge
2019-03-15 13:56:39 +01:00
Raf Ponsaerts
9678dbf573 Merged configurable_entities into w2p-58898_place-column-calculation-error-prepare-merge 2019-03-15 13:27:24 +01:00
Andrea Bollini
eee2929e51 DS-3851 remove unused import 2019-03-15 00:42:16 +01:00
Andrea Bollini
b481fbae17 DS-3851 community feedback: remove unused variable 2019-03-14 23:57:25 +01:00
Andrea Bollini
19606943b1 DS-3851 community feedback: code cleanup 2019-03-14 23:49:35 +01:00
Raf Ponsaerts
13f9c8e1e5 Merged dspace/master into w2p-58898_place-column-calculation-error-prepare-merge 2019-03-14 15:08:42 +01:00
Tim Donohue
7e4e22d472 Merge pull request #2367 from tdonohue/coveralls-refactor
Refactor Coveralls.io plugin to only run after successful build/test in Travis CI
2019-03-13 16:19:48 -05:00
Tim Donohue
b891f3190d Merge pull request #2208 from atmire/DS-4014_CORS-headers-missing-when-generic-exception-is-thrown
[DS-4014] added a catch in the DSpaceApiExceptionControllerAdvice for…
2019-03-13 14:38:14 -05:00
Tim Donohue
c87cd80ac3 Merge pull request #2372 from atmire/configurable_entities-prepare-for-merge
Configurable entities prepare for merge
2019-03-13 10:23:50 -05:00
Raf Ponsaerts
65fb4674a0 Merged master into configurable_entities-prepare-for-merge 2019-03-13 14:34:13 +01:00
Raf Ponsaerts
970b66edb2 Applied feedback; implemented context authorisation logic in tests 2019-03-13 13:10:49 +01:00
Andrea Bollini
3e22142aa7 DS-3851 cleanup the BrowsableObject interface 2019-03-12 23:31:17 +01:00
Andrea Bollini
e883c95de8 DS-3851 cleanup the BrowsableObject interface 2019-03-12 22:17:22 +01:00
Tim Donohue
e48fef5f62 Merge pull request #2332 from atmire/w2p-57159_permission-to-create-relations
Relationship CRUD
2019-03-12 08:17:13 -05:00
Tim Donohue
39e04c2223 Refactor Coveralls plugin to only run after successful build/test. Build can be limited to one step, too. 2019-03-11 19:09:13 +00:00
Tim Donohue
efbffe4ea5 Merge pull request #2313 from atmire/DS-3908_Metadata_patch_support
DS-3908 Metadata patch support
2019-03-08 11:38:08 -06:00
Chris Wilper
337daef738 DS-3908 Restore authz state as early as possible in tests 2019-03-07 12:32:23 -05:00
Chris Wilper
2171b7ff83 DS-3908 Address minor checkstyle issues 2019-03-07 10:35:17 -05:00
Chris Wilper
21fe803b53 DS-3908 Restore auth system state where appropriate 2019-03-07 09:59:19 -05:00
Chris Wilper
96d544d075 DS-3908 Improve javadocs 2019-03-07 09:54:24 -05:00
Andrea Bollini
000c47e7a3 DS-3851 demostrate that admins cannot manipulate tasks 2019-03-07 15:28:55 +01:00
Chris Wilper
229b9f1039 Merge branch 'master' into DS-3908_Metadata_patch_support 2019-03-07 08:32:57 -05:00
Andrea Bollini
cae9a6baa8 DS-4166 fix converter for authority based filter 2019-03-07 09:17:44 +01:00
Andrea Bollini
499fdcd61c DS-4166 renamed BrowsableDSpaceObject in BrowsableObject 2019-03-07 01:11:14 +01:00
Andrea Bollini
6a5838461a Merge branch 'DS-3851_workflow_new' of https://github.com/4Science/DSpace into DS-4166_mydspace 2019-03-07 00:49:46 +01:00
Andrea Bollini
0a54d4cf1e DS-3851 Add ITs for unauthorized approve/reject and improve error handling 2019-03-06 23:54:40 +01:00
Andrea Bollini
1c0e29bc64 DS-3851 raise events in the service layer 2019-03-06 22:44:25 +01:00
Andrea Bollini
a596a5cabf DS-3851 use MediaTypes constant from spring 2019-03-06 22:42:44 +01:00
Andrea Bollini
23bbf45048 DS-3851 remove unused methods 2019-03-06 22:13:26 +01:00
Andrea Bollini
d751d5dc59 DS-3851 add fixme to remember the need to remove getWorkflow group methods 2019-03-06 22:13:09 +01:00
Andrea Bollini
65d3495e18 DS-3851 raise events in the service layer 2019-03-06 19:36:24 +01:00
Andrea Bollini
15c4a33d77 DS-3851 add fixme notice for future refactoring of the uri-list processing 2019-03-06 19:35:36 +01:00
Andrea Bollini
ef10d47156 DS-3851 Add native support for pagination in the findBySubmitter 2019-03-06 18:00:30 +01:00
Andrea Bollini
434c0fa748 DS-3851 add IT to pass through a whole workflow 2019-03-06 17:04:25 +01:00
Andrea Bollini
4475eca5b2 DS-3851 code cleanup: community feedback 2019-03-06 15:51:00 +01:00
Raf Ponsaerts
6056bf94e0 Added the comment to the context.turnOffAuthorizationSystem 2019-03-06 14:54:01 +01:00
Raf Ponsaerts
e3fc9a52a7 Merge branch 'w2p-57159_permission-to-create-relations' into w2p-58898_place-column-calculation-error 2019-03-06 14:46:40 +01:00
Tom Desair
aa0a2a3b05 Remove unused import 2019-03-06 08:17:49 +01:00
Tom Desair
10fc1afaa3 Fix ignored delete EPerson test 2019-03-05 23:36:44 +01:00
Tom Desair
bfc91292d2 DS-4014: Correct status code for AccessDeniedException with authorized users 2019-03-05 23:35:49 +01:00
Raf Ponsaerts
15faacc70c [DS-4014] changed the exception handling to now look for the ResponseStatus on the Exception Class, if it doesn't exist we simply return a 500. AccessDeniedException does not have a ResponseStatus annotation but it has to be handled correctly, therefor a specific catch clause is required 2019-03-05 23:13:14 +01:00
Raf Ponsaerts
df1e464939 [DS-4014] fixed tests and added more exception catches 2019-03-05 23:13:14 +01:00
Raf Ponsaerts
7c122e55aa [DS-4014] added a catch in the DSpaceApiExceptionControllerAdvice for a generic exception and throws a 500 with cors headers available 2019-03-05 23:13:14 +01:00
Tom Desair
0961c5040d DS-4006: Added explicit check for "groups" link in Group Rest object 2019-03-05 22:36:13 +01:00
Tom Desair
aef31c8d37 DS-4006: Embed membership groups on EPerson REST object 2019-03-05 22:11:46 +01:00
Terry Brady
d7ec9e537a Merge pull request #2348 from Georgetown-University-Libraries/ds4167
[DS-4167] Migrate update-sequences.sql to `database` command
2019-03-05 10:56:44 -08:00
Raf Ponsaerts
033790e1b2 Added missing context.restoreAuthSystemState 2019-03-05 14:17:08 +01:00
Andrea Bollini
7f94383719 DS-4166 Fix SearchMatcher to be more strict 2019-03-03 22:12:49 +01:00
Andrea Bollini
e929c39fb2 DS-4166 add ITs for workspace/workflow discover configuration 2019-03-03 19:51:57 +01:00
Giuseppe
d5b4963e26 Update submission-forms.xml
Replaced twobox field with tag field
2019-02-28 17:31:09 +01:00
Andrea Bollini
b3423770dd DS-4166 restore official name to the configuration parameter 2019-02-28 15:56:45 +01:00
Mark H. Wood
999e912909 Merge pull request #2180 from mwoodiupui/DS-3989
[DS-3989] Always capture curation task output.
2019-02-27 16:12:07 -05:00
Andrea Bollini
9d378143a1 DS-4166 restore code removed by incident rebasing the PR 2019-02-26 14:47:51 +01:00
Chris Wilper
185766d8d2 DS-3908 Add DSO metadata PATCH tests 2019-02-25 19:26:40 -05:00
Chris Wilper
1ad0c88c3c DS-3908 Add PATCH support for DSO metadata 2019-02-25 19:26:40 -05:00
Terry Brady
4b6611353f Merge pull request #2354 from Georgetown-University-Libraries/ds4173
[DS-4173] Docker build - set build dir owner to dspace
2019-02-25 14:35:08 -08:00
Terry Brady
644970eba4 set build dir owner to dspace 2019-02-25 08:38:18 -08:00
Andrea Bollini
ff298b393f DS-4166 fix existing discover tests 2019-02-25 10:03:15 +01:00
Andrea Bollini
c56e41aec2 DS-4166 Index workspace, workflow and tasks in SOLR 2019-02-25 10:03:15 +01:00
Andrea Bollini
1e3e37d11e DS-3851 code cleanup: community feedback 2019-02-24 21:06:52 +01:00
Andrea Bollini
b0f8f828b7 Fix issue with the Builder comparator and cleanup of workflowgroups 2019-02-24 19:36:40 +01:00
Andrea Bollini
b7b3a74f85 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-3851_workflow_new 2019-02-24 16:41:52 +01:00
Andrea Bollini
5b98f05e70 DS-3851 fix priority of Metadata Schema and MetadataField builder 2019-02-24 15:37:14 +01:00
Andrea Bollini
7ad47ad705 DS-3851 code cleanup: community feedback 2019-02-24 15:29:23 +01:00
Andrea Bollini
4858aa75d2 DS-3851 fix bugs discovered by ITs 2019-02-24 14:22:10 +01:00
Andrea Bollini
dbddc2f06a DS-3851 add ITs for the task repositories endpoints 2019-02-24 14:21:16 +01:00
Andrea Bollini
ea2ce38677 max upload must be set in the application.properties 2019-02-23 22:33:00 +01:00
Tim Donohue
cc21394276 Merge pull request #2287 from atmire/DS-4107_Metadata_as_map
DS-4107 Represent DSO metadata as a map in REST
2019-02-21 14:17:30 -06:00
Andrea Bollini
8c0a94e689 DS-3851 add ITs for the workflowitems endpoint 2019-02-21 15:52:10 +01:00
Andrea Bollini
3c8186e7c0 typo in the comment 2019-02-21 15:11:06 +01:00
Andrea Bollini
3c9626a5ef DS-3851 force a predictable order to simplify testing 2019-02-21 15:10:23 +01:00
Andrea Bollini
9f44be85a3 Allow to configure max upload 2019-02-21 15:07:54 +01:00
Raf Ponsaerts
800f254677 Merge branch 'w2p-57159_permission-to-create-relations' of https://github.com/atmire/DSpace into w2p-57159_permission-to-create-relations 2019-02-21 09:21:52 +01:00
Raf Ponsaerts
65a94cdda7 Implemented an IT for the text/uri-list parsing 2019-02-21 09:21:11 +01:00
Andrea Bollini
70091e59b8 DS-3851 partially remove legacy workflow to simplify testing
First tests for the workflow endpoint
2019-02-20 23:11:04 +01:00
Terry Brady
ac83a4edef Merge pull request #2344 from terrywbrady/ds4126m
[DS-4126] master: Optimize docker builds
2019-02-20 13:16:01 -08:00
Chris Wilper
0609a6f0b7 DS-4107 Improve javadocs 2019-02-20 14:48:24 -05:00
Chris Wilper
60ea589296 DS-4107 Represent DSO metadata as a map in REST 2019-02-20 14:48:20 -05:00
Terry Brady
35ca48e17a Merge pull request #15 from mwoodiupui/DS-4167
[DS-4167] Fix various problems with Oracle script.
2019-02-20 09:02:11 -08:00
Terry Brady
653bfceac8 Merge branch 'ds4167' into DS-4167 2019-02-20 09:02:00 -08:00
Terry Brady
35e98f0d4b v1 oracle sql 2019-02-20 08:40:34 -08:00
Ben Bosman
1989cd9ff4 JavaDoc 2019-02-20 17:26:43 +01:00
Mark H. Wood
3302835650 [DS-4167] Fix various problems with Oracle script. 2019-02-20 11:23:21 -05:00
Raf Ponsaerts
91caed0cf6 Refactored tests 2019-02-20 14:39:32 +01:00
Raf Ponsaerts
a0ebd616f2 Processed feedback 2019-02-20 13:11:39 +01:00
Raf Ponsaerts
7f194dfa95 Applied feedback 2019-02-20 11:28:34 +01:00
Raf Ponsaerts
53580fa228 Merged w2p-57159_permission-to-create-relations into w2p-58898_place-column-calculation-error 2019-02-20 09:31:40 +01:00
Terry Brady
7773b46aca update sql 2019-02-19 10:16:21 -08:00
Terry Brady
89c1cc7729 remove /org 2019-02-19 07:34:56 -08:00
Terry Brady
f829b7df5a remove dspace/etc from build steps 2019-02-19 07:11:23 -08:00
Terry Brady
4ac06271c8 attempt to fix headers 2019-02-19 06:53:30 -08:00
Terry Brady
22cc5469a2 simplify string extract from stream 2019-02-19 06:30:25 -08:00
Terry Brady
5f47771e4e remove /etc directory 2019-02-19 06:26:28 -08:00
Terry Brady
e421a7c7c7 apply review feedback 2019-02-19 06:26:12 -08:00
Andrea Bollini
d3d3b57133 DS-3802 switch to the local LateObjectEvaluator 2019-02-19 08:48:39 +01:00
Andrea Bollini
c7c204091f Revert "Rely on Spring LateObjectEvaluator instead than our custom porting"
This reverts commit 821d106439.
2019-02-19 08:24:17 +01:00
Raf Ponsaerts
37c3ab9e17 Applied feedback 2019-02-18 09:23:39 +01:00
Terry Brady
b6f73682a3 Migrate postgres update-sequences.sql 2019-02-15 15:33:39 -08:00
Mark H. Wood
59bf702500 [DS-3695] Record string value of object ID in usage statistics. 2019-02-15 14:08:18 -05:00
Mark H. Wood
501ea5b6a6 Revert "[DS-3695] Add missing query defaults in a method I overlooked."
This reverts commit 6ecc3b2351.
2019-02-15 12:04:15 -05:00
Mark H. Wood
4b59ef27fc Revert "[DS-3695] Replace removed default schema settings with query parameters."
This reverts commit 69fcb0ebce.
2019-02-15 12:01:05 -05:00
Mark H. Wood
0194f557c0 [DS-3695] Re-introduce configured default match operator, since I found to where they moved it. Default search field was already configured. 2019-02-15 11:59:08 -05:00
Mark H. Wood
caf95d5acb Merge pull request #2347 from mwoodiupui/DS-4163-7
[DS-4163] OAI exception on empty list
2019-02-14 13:49:37 -05:00
ssolim
0b12168218 XOAI.java skip empty list and dont add it to solr 2019-02-14 13:24:46 -05:00
Tim Donohue
44a3111e41 Merge pull request #2291 from atmire/manage_metadata_registry
Manage metadata registry
2019-02-14 11:19:05 -06:00
Andrea Bollini
6dd560bd92 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-3851_workflow_new 2019-02-14 15:00:07 +01:00
Mark H. Wood
dd8a7c1fea [DS-3695] Remove commented elements and comments not about DSpace from solrconfig.xml. 2019-02-14 08:57:27 -05:00
Terry Brady
e6860e3724 Set solr.server to maatch docker config 2019-02-13 12:29:22 -08:00
Mark H. Wood
01b9707347 [DS-3695] Placate the style checker, and simplify a try block. 2019-02-13 14:39:11 -05:00
Mark H. Wood
8c971d9acd [DS-3695] Solr UUID field wants a *String* value. 2019-02-13 13:56:37 -05:00
Mark H. Wood
6ecc3b2351 [DS-3695] Add missing query defaults in a method I overlooked. 2019-02-13 13:54:53 -05:00
Mark H. Wood
cd2e6a7878 [DS-3695] Add license boilerplate to new Docker configuration 2019-02-13 12:41:12 -05:00
Mark H. Wood
589b719895 Merge pull request #14 from Georgetown-University-Libraries/mwoodiupui-DS-3695
Dockerfile support for external solr
2019-02-13 11:47:43 -05:00
Mark H. Wood
c1800427bd Merge branch 'DS-3695' into mwoodiupui-DS-3695 2019-02-13 11:39:03 -05:00
Terry Brady
cb3276b02e remove core.properties names 2019-02-13 08:28:33 -08:00
Mark H. Wood
69fcb0ebce [DS-3695] Replace removed default schema settings with query parameters. 2019-02-13 11:27:09 -05:00
Mark H. Wood
732bc7d92f [DS-3695] Tell developers where to find the example schema, for
comments and examples of what you can do here.
2019-02-13 11:27:09 -05:00
Mark H. Wood
e9296ac8a8 [DS-3695] All tests should start with an empty Solr. 2019-02-13 11:27:09 -05:00
Mark H. Wood
cd5911a68f [DS-3695] Add docValues to all *PointField by default to support faceting.
Some of these may be unnecessary, but I don't know on which we facet.
2019-02-13 11:27:09 -05:00
Mark H. Wood
ad50b73fd9 [DS-3695] Give the Solr admin. a clue about the purpose of each core. 2019-02-13 11:27:09 -05:00
Mark H. Wood
70b5d6bf4f [DS-3695] Reintroduce "ignored" fieldType, even though the field is
probably not used.
2019-02-13 11:27:09 -05:00
Mark H. Wood
0fa69a7f09 [DS-3695] Whoops, missed a few Trie*Field references. 2019-02-13 11:27:09 -05:00
Mark H. Wood
3bcb2edd1c [DS-3695] Remove redundant types, irrelevant attributes; tidy layout. 2019-02-13 11:27:09 -05:00
Mark H. Wood
094db7217a [DS-3695] Remove unused "fieldType"s, dusty old comments from stock
sample schema.  Tidy indentation, break very long elements into
multiple lines.
2019-02-13 11:27:09 -05:00
Mark H. Wood
687f04e269 [DS-3695] Rip out big handfuls of unused fieldtypes, commentary about
Solr not DSpace.  Break loooong tags into attribute-per-line format.
2019-02-13 11:27:09 -05:00
Mark H. Wood
0f83c7fe8b [DS-3695] We no longer control Solr's logging. 2019-02-13 11:27:09 -05:00
Mark H. Wood
17ffe721da [DS-3695] See bf4ead40575f0b180fd6840373ef17d98a6e778e. We *do* configure Solr for testing. 2019-02-13 11:27:09 -05:00
Mark H. Wood
bb350ca420 [DS-3695] Upgrade indexes all the way to 7_x. 2019-02-13 11:27:09 -05:00
Mark H. Wood
919ce45338 [DS-3695] We no longer configure Solr itself. 2019-02-13 11:27:09 -05:00
Mark H. Wood
da9d5c7452 [DS-3695] Remaining minimal changes to make all cores load in Solr 7. 2019-02-13 11:27:09 -05:00
Mark H. Wood
bce42a47f6 [DS-3695] Cure failing IT: the test was wrong. 2019-02-13 11:27:09 -05:00
Mark H. Wood
5db8a6a889 [DS-3695] Make 'search' core load in stock Solr 7.2.1.
This should work without altering Solr, across Solr releases, as long
as Solr ships the necessary additional analyzers in /contrib.
2019-02-13 11:27:09 -05:00
Mark H. Wood
38a88d8afb [DS-3695] Start ripping out Solr server. 2019-02-13 11:27:09 -05:00
Mark H. Wood
975ebb0b5b [DS-3695] Document what I puzzled out ot MockSolrServer, and small cleanups. 2019-02-13 11:27:09 -05:00
Tim Donohue
e928b94d07 Fix Solr startup errors by downgrading to 7.3.1 2019-02-13 11:27:09 -05:00
Mark H. Wood
63c43eab15 [DS-3695] Exclude Jetty from solr-core and solr-cell: Solr and Spring
Boot are fighting over versions.
2019-02-13 11:27:09 -05:00
Mark H. Wood
070c21a113 [DS-3695] Switch new class from SolrServer to SolrClient. 2019-02-13 11:27:09 -05:00
Mark H. Wood
e210e3ca35 [DS-3695] Complete botched conflict fixup. 2019-02-13 11:27:09 -05:00
Tim Donohue
0c7f3c0e90 Update to Solr 7.5. Sync dependencies and cleanup spring-rest POM 2019-02-13 11:27:09 -05:00
Tim Donohue
8323ccd051 Disable Solr autoconfiguration in Spring Boot. Minor config cleanup 2019-02-13 11:27:09 -05:00
Tim Donohue
205db5c6f8 Revert Spring Boot updates until DS-3802 is solved. Solr core only for testing. 2019-02-13 11:27:09 -05:00
Tim Donohue
174a77cde0 Fix minor compilation errors in OAI 2019-02-13 11:27:09 -05:00
Mark H. Wood
85c09cbb55 [DS-3695] Start work on dspace-spring-rest 2019-02-13 11:27:09 -05:00
Mark H. Wood
f09287c56b [DS-3695] Rip out lots of Solr config. that is no longer defined in v7. 2019-02-13 11:27:09 -05:00
Mark H. Wood
8a76b77e66 [DS-3695] Upgrade Solr *client* to 7.3.0. 2019-02-13 11:27:09 -05:00
Tim Donohue
db707750fe Merge pull request #2333 from kshepherd/DS-4136_oai_import_master
[DS-4136] Master port: Improve OAI import performance for a large install
2019-02-13 09:15:32 -06:00
Raf Ponsaerts
d450b59899 Applied feedback and added tests 2019-02-13 13:08:30 +01:00
Terry Brady
7115173d61 Support Docker testing of externalized solr 2019-02-12 18:46:02 -08:00
Kim Shepherd
7cde38d229 [DS-4136] Tidy up comments, only display per-1k msg if batch size !1000 2019-02-13 13:03:37 +13:00
Terry Brady
ed41d852b1 Merge branch 'DS-3695' of https://github.com/mwoodiupui/DSpace into mwoodiupui-DS-3695 2019-02-12 14:50:33 -08:00
Mark H. Wood
8c222b9826 [DS-3695] All tests should start with an empty Solr. 2019-02-11 10:59:07 -05:00
Mark H. Wood
6254cedd21 [DS-3695] Add docValues to all *PointField by default to support faceting.
Some of these may be unnecessary, but I don't know on which we facet.
2019-02-08 14:01:16 -05:00
Mark H. Wood
0fc979a2ad [DS-3695] Give the Solr admin. a clue about the purpose of each core. 2019-02-08 11:09:09 -05:00
Raf Ponsaerts
93d982dfc8 Applied feedback and fixed test cases 2019-02-08 09:37:03 +01:00
Tim Donohue
e517ba49a5 English grammar corrections 2019-02-08 09:36:29 +01:00
Tim Donohue
d7c5e224e1 More minor corrections to English 2019-02-08 09:36:29 +01:00
Tim Donohue
d0db6e533a Minor improvements to English in error messages. 2019-02-08 09:36:29 +01:00
Samuel
34127e4e0f Added support for the CRUD operations on the MetadataField and MetadataSchema REST endpoints - feedback 2019-02-08 09:36:29 +01:00
Samuel
0a7a8aab8e Added support for the CRUD operations on the MetadataField and MetadataSchema REST endpoints - feedback 2019-02-08 09:36:28 +01:00
Samuel
42942978a8 Added support for the CRUD operations on the MetadataField and MetadataSchema REST endpoints 2019-02-08 09:36:02 +01:00
Mark H. Wood
be453a0e55 [DS-3695] Reintroduce "ignored" fieldType, even though the field is
probably not used.
2019-02-07 16:23:27 -05:00
Mark H. Wood
77328c388d [DS-3695] Whoops, missed a few Trie*Field references. 2019-02-07 15:44:34 -05:00
Mark H. Wood
13c0b9b227 [DS-3695] Remove redundant types, irrelevant attributes; tidy layout. 2019-02-07 15:33:29 -05:00
Tim Donohue
211545a9d0 Merge pull request #2290 from atmire/rest_item_crud
Added support for the CRUD operations on the Item rest endpoint
2019-02-07 13:43:44 -06:00
Tim Donohue
2b1b10100a Merge pull request #2343 from atmire/DS-4164_error-handling-bug-in-open-search-controller
[DS-4164] fixed the bug in the error handling
2019-02-07 12:03:27 -06:00
Mark H. Wood
416732921c [DS-3695] Remove unused "fieldType"s, dusty old comments from stock
sample schema.  Tidy indentation, break very long elements into
multiple lines.
2019-02-07 09:48:08 -05:00
Raf Ponsaerts
aa4125c9e9 Removed the name check from the DspaceObjectRestEqualityUtils 2019-02-07 15:39:15 +01:00
Ben Bosman
15eb85eb08 Check for null values
Use typed Maps
2019-02-07 12:55:02 +01:00
Terry Brady
d90e60a92b Sync docker solr web.xml with web.xml 2019-02-06 15:28:53 -08:00
Terry Brady
d489636641 Migrate PR2307 2019-02-06 10:24:35 -08:00
Raf Ponsaerts
78f7066c94 [DS-4164] fixed the bug in the error handling 2019-02-06 16:19:10 +01:00
Ben Bosman
f2b3f7027c Support relationships using a uri-list: merge 2019-02-06 16:12:47 +01:00
Mark H. Wood
8fb1ac5bd6 [DS-3695] Rip out big handfuls of unused fieldtypes, commentary about
Solr not DSpace.  Break loooong tags into attribute-per-line format.
2019-02-06 09:45:14 -05:00
Ben Bosman
fb2e0d556e Merge branch 'w2p-57159_permission-to-create-relations' into w2p-58898_place-column-calculation-error
# Conflicts:
#	dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DSpaceRestRepository.java
#	dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java
#	dspace-spring-rest/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java
2019-02-06 14:47:19 +01:00
Kevin Van de Velde
05cb949655 Small changes in how exceptions are handled in the ItemRestRepository, DSpaceRestRepository classes 2019-02-06 14:21:37 +01:00
Raf Ponsaerts
47d7021350 Added owningCollection as parameter to the POST Item endpoint and removed this from ItemRest. Also added documentation for several public methods. 2019-02-06 14:21:36 +01:00
Kevin Van de Velde
02ff91259f [DS-4108] Rest api item CRUD: Updating item metadata 2019-02-06 14:20:21 +01:00
Ben Bosman
864f6f1237 Support relationnships using a uri-list 2019-02-06 14:19:12 +01:00
Raf Ponsaerts
db8f6f1bb8 Fixed the 500 internal server error when calling item delete endpoint with invalid UUID 2019-02-06 14:19:10 +01:00
Raf Ponsaerts
2e446bf9a3 Added admin access to item delete and wrote tests 2019-02-06 14:19:10 +01:00
Raf Ponsaerts
ac283df61d Implemented the create method in the ItemRestRepository 2019-02-06 14:19:10 +01:00
Mark H. Wood
241fdbb538 [DS-3695] We no longer control Solr's logging. 2019-02-04 15:15:48 -05:00
Mark H. Wood
cb17cb1b7f [DS-3695] See bf4ead40575f0b180fd6840373ef17d98a6e778e. We *do* configure Solr for testing. 2019-02-04 14:58:43 -05:00
Mark H. Wood
8c26a9a78e [DS-3695] Upgrade indexes all the way to 7_x. 2019-02-04 14:58:43 -05:00
Mark H. Wood
ba0edff464 [DS-3695] We no longer configure Solr itself. 2019-02-04 14:58:43 -05:00
Mark H. Wood
f2cfab2d8d [DS-3695] Remaining minimal changes to make all cores load in Solr 7. 2019-02-04 14:58:43 -05:00
Mark H. Wood
fa9cc7c958 [DS-3695] Cure failing IT: the test was wrong. 2019-02-04 14:58:43 -05:00
Mark H. Wood
c375fe1762 [DS-3695] Make 'search' core load in stock Solr 7.2.1.
This should work without altering Solr, across Solr releases, as long
as Solr ships the necessary additional analyzers in /contrib.
2019-02-04 14:58:43 -05:00
Mark H. Wood
0792ba77ed [DS-3695] Start ripping out Solr server. 2019-02-04 14:58:43 -05:00
Mark H. Wood
3e8e1aa60f [DS-3695] Document what I puzzled out ot MockSolrServer, and small cleanups. 2019-02-04 14:58:43 -05:00
Tim Donohue
cc38ec872a Fix Solr startup errors by downgrading to 7.3.1 2019-02-04 14:58:43 -05:00
Mark H. Wood
9d0483c146 [DS-3695] Exclude Jetty from solr-core and solr-cell: Solr and Spring
Boot are fighting over versions.
2019-02-04 14:58:43 -05:00
Mark H. Wood
8d5de13987 [DS-3695] Switch new class from SolrServer to SolrClient. 2019-02-04 14:58:43 -05:00
Mark H. Wood
ee3b60c45e [DS-3695] Complete botched conflict fixup. 2019-02-04 14:58:43 -05:00
Tim Donohue
3504397031 Update to Solr 7.5. Sync dependencies and cleanup spring-rest POM 2019-02-04 14:58:43 -05:00
Tim Donohue
5e78f408f3 Disable Solr autoconfiguration in Spring Boot. Minor config cleanup 2019-02-04 14:58:43 -05:00
Tim Donohue
ece64480a0 Revert Spring Boot updates until DS-3802 is solved. Solr core only for testing. 2019-02-04 14:58:43 -05:00
Tim Donohue
01b80025b7 Fix minor compilation errors in OAI 2019-02-04 14:58:43 -05:00
Mark H. Wood
32a3c74164 [DS-3695] Start work on dspace-spring-rest 2019-02-04 14:58:43 -05:00
Mark H. Wood
3aa6b89487 [DS-3695] Rip out lots of Solr config. that is no longer defined in v7. 2019-02-04 14:58:43 -05:00
Mark H. Wood
7b9bd509a2 [DS-3695] Upgrade Solr *client* to 7.3.0. 2019-02-04 14:58:43 -05:00
Tim Donohue
3e5c9426aa Merge pull request #2277 from atmire/rest_comm_coll_management
Added support for the CRUD operations on the Collection and Community…
2019-02-04 09:13:03 -06:00
Raf Ponsaerts
2db2b70e82 Altered permissions on the Collection and Community Repositories and added ITs 2019-02-04 10:11:52 +01:00
Andrea Bollini
8c35296cdf Merge pull request #2337 from Georgetown-University-Libraries/ds4150
[DS-4150] Ensure dspace.restUrl is supported out of the box for DSpace 7 Docker
2019-01-31 16:57:50 +01:00
kshepherd
ed4f63c0b4 Merge pull request #2338 from DSpace/README-running-tests
Add Notes on running Tests to README
2019-01-31 11:00:42 +13:00
Tim Donohue
1957f36988 Notes on running tests 2019-01-30 15:24:37 -06:00
Ben Bosman
855b3f9556 getValues should not return null values 2019-01-29 16:22:26 +01:00
Ben Bosman
e99252c16f Merge branch 'w2p-57159_permission-to-create-relations' into w2p-58898_place-column-calculation-error 2019-01-29 14:52:05 +01:00
Ben Bosman
0a91360061 Merge remote-tracking branch 'community/configurable_entities' into w2p-57159_permission-to-create-relations
# Conflicts:
#	dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java
2019-01-29 14:31:15 +01:00
benbosman
c72d731f93 Merge pull request #2302 from atmire/w2p-57441_modified-behavior-retrieving-relations
Retrieving relations per relationship type
2019-01-29 14:25:35 +01:00
benbosman
a663f05ad5 Merge pull request #2324 from atmire/discovery-config-relations
Discovery config relations
2019-01-29 14:20:53 +01:00
Ben Bosman
e01e133765 wording 2019-01-29 13:07:49 +01:00
Ben Bosman
887a0999bd wording 2019-01-29 12:20:49 +01:00
Ben Bosman
2dc03adc58 better readable code 2019-01-29 11:11:48 +01:00
Ben Bosman
96f08e4414 Merge branch 'w2p-59343_support-ordered-metadata' into w2p-58898_place-column-calculation-error
# Conflicts:
#	dspace-spring-rest/src/main/java/org/dspace/app/rest/repository/DSpaceRestRepository.java
2019-01-29 10:41:05 +01:00
Ben Bosman
765e14b007 Verify order of virtual and real metadata 2019-01-29 10:39:55 +01:00
Ben Bosman
f8497ff392 JavaDoc 2019-01-29 10:26:25 +01:00
Ben Bosman
7abc5b01e2 Merge remote-tracking branch 'origin/w2p-57159_permission-to-create-relations' into w2p-58898_place-column-calculation-error
# Conflicts:
#	dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java
#	dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java
2019-01-29 09:58:22 +01:00
Terry Brady
da1346ef53 Match dspace.restUrl to module name 2019-01-28 10:05:48 -08:00
Raf Ponsaerts
7dc59a03a2 Fixed nullpointer issue in th comparator 2019-01-28 15:35:56 +01:00
Raf Ponsaerts
a62a66ec41 removed the ItemService from the DspaceObjectService 2019-01-28 14:10:36 +01:00
Raf Ponsaerts
b908df263c [Task 59343] sorted the list of metadatavalues and forced the itemconverter to use the itemservice 2019-01-28 13:24:35 +01:00
Raf Ponsaerts
7d961db6ce Applied feedback 2019-01-28 11:49:19 +01:00
benbosman
54a626892a indentation 2019-01-25 09:10:19 +01:00
Ben Bosman
e768866292 Merge branch 'w2p-58898_place-column-calculation-error' into w2p-59343_support-ordered-metadata 2019-01-24 15:22:13 +01:00
Ben Bosman
d7610ccf6e Resolving merge conflict 2019-01-24 14:19:09 +01:00
Ben Bosman
1311c40cb7 Merge remote-tracking branch 'origin/w2p-57159_permission-to-create-relations' into w2p-58898_place-column-calculation-error
# Conflicts:
#	dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java
#	dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java
#	dspace-api/src/main/java/org/dspace/content/service/ItemService.java
#	dspace-api/src/main/java/org/dspace/content/virtual/Collected.java
#	dspace-api/src/main/java/org/dspace/content/virtual/UUIDValue.java
#	dspace-spring-rest/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java
#	dspace/config/spring/api/core-services.xml
2019-01-24 13:59:36 +01:00
Ben Bosman
257b14bc54 Merge branch 'w2p-58898_place-column-calculation-error' into w2p-59343_support-ordered-metadata 2019-01-24 13:51:52 +01:00
Ben Bosman
dac5ca467c Merge branch 'configurable_entities_temp_2' into w2p-58898_place-column-calculation-error 2019-01-24 13:48:33 +01:00
Ben Bosman
816c7d0772 Merge branch 'configurable_entities_comm' into w2p-58898_place-column-calculation-error 2019-01-24 13:34:16 +01:00
Ben Bosman
391c5b4dc6 Sort metadata values part 1 2019-01-24 13:33:13 +01:00
Ben Bosman
51de4cd87c JavaDocs and boolean name update 2019-01-24 13:26:35 +01:00
Raf Ponsaerts
1ed01310b0 Implemented the additional getMetadata function with the boolean 2019-01-24 10:06:42 +01:00
Ben Bosman
8557f44673 Merge branch 'configurable_entities_temp_2' into w2p-57159_permission-to-create-relations 2019-01-23 12:03:54 +01:00
Ben Bosman
025c77ee70 authorization for updating the place of both items 2019-01-23 12:01:50 +01:00
Ben Bosman
1ac514d4fb Merge branch 'configurable_entities_temp_2' into discovery-config-relations 2019-01-23 09:04:32 +01:00
benbosman
ccaca1aaaa indentation fix 2019-01-22 17:32:31 +01:00
Ben Bosman
a52b850080 temp disable ITs 2019-01-22 16:24:29 +01:00
Raf Ponsaerts
4847620a4c Fixed issues and wrote IT tests 2019-01-22 14:58:43 +01:00
Raf Ponsaerts
7e14562139 Merged configurable_entities into w2p-57159_permission-to-create-relations 2019-01-22 12:50:44 +01:00
Ben Bosman
461b5ee21a typing error 2019-01-22 11:15:28 +01:00
Raf Ponsaerts
86f3f9e9c3 Fixed tests and place calculation 2019-01-22 09:53:52 +01:00
Tim Donohue
f387ab18c0 Merge remote-tracking branch 'upstream/master' into configurable_entities 2019-01-21 20:02:17 +00:00
Yana De Pauw
e34b4e5448 Update item move rest contract and update tests 2019-01-21 12:47:28 +01:00
Raf Ponsaerts
f2c2b768f7 Fixed test failure 2019-01-21 10:14:09 +01:00
Raf Ponsaerts
bfc1b39ea2 Merged configurable_entities into w2p-58898_place-column-calculation-error 2019-01-21 09:19:01 +01:00
Kim Shepherd
929312d7e8 [DS-4136] tidy up commented out (old) configurationService instantiation in main() 2019-01-19 10:40:21 +13:00
Kim Shepherd
6d40a57df7 [DS-4136] Apply same changes as dspace 6.x version (PR #2320); replace xoai services configurationservice with proper DSpace configuration service; and replace all instances of legacy configuration manager with proper DSpace configuration service 2019-01-19 10:33:00 +13:00
Kim Shepherd
e7f39c23b2 WIP commit for oai master port 2019-01-18 07:30:47 +13:00
Giuseppe Digilio
48d90660ab Fixes after check on angular app 2019-01-17 17:15:04 +01:00
Raf Ponsaerts
0f6148db77 Fixed RunTimeException messages and addressed nullpointer error 2019-01-16 09:39:14 +01:00
Raf Ponsaerts
ae96aeafd4 Applied community feedback, javadocs 2019-01-15 15:49:42 +01:00
Ben Bosman
269fdd2852 additional filters in default configuration 2019-01-15 12:44:29 +01:00
Raf Ponsaerts
a757a6661e Fixed the relationship place ordering and MetadataValue place ordering 2019-01-15 11:51:48 +01:00
Ben Bosman
6ee687a4ae metadata attributes place, authority, confidence in rest 2019-01-15 08:50:52 +01:00
kshepherd
07d6846234 Merge pull request #2327 from J4bbi/ds4142_master
[DS-4142] master: update maven jdks for docker
2019-01-15 09:54:23 +13:00
Hrafn Malmquist
9b6e97fd24 update maven jdks for docker 2019-01-14 17:28:32 +00:00
Raf Ponsaerts
865b4256b9 Made sure that the itemService.update is called so that the metadata and relationship places get updated upon creation/deletion of a relationship 2019-01-14 15:53:24 +01:00
Raf Ponsaerts
7f225f1ad5 Fixed the place attribute not being set to the virtual metadata 2019-01-14 15:29:54 +01:00
Ben Bosman
6d40600dbb Merge branch 'configurable_entities' into discovery-config-relations
# Conflicts:
#	dspace/config/spring/api/discovery.xml
2019-01-14 14:23:34 +01:00
kshepherd
04d11924a5 Merge pull request #2323 from kshepherd/DS-4104_google_scholar_date_crosswalk_master
[DS-4104] Apply Google Scholar date crosswalk fix to master
2019-01-14 11:33:53 +13:00
Kim Shepherd
74fc3e97bb [DS-4104] Apply Google Scholar date crosswalk fix to master, porting from PR#2294 dspace 6 version 2019-01-14 09:20:43 +13:00
kshepherd
51550079c4 Merge pull request #2311 from mwoodiupui/DS-4087
[DS-4087] 'dspace structure-builder' errors are too hard to interpret
2019-01-13 13:22:13 +13:00
Raf Ponsaerts
3d011c5411 Applied fixes to catch clauses and added more docs 2019-01-11 15:01:59 +01:00
Raf Ponsaerts
b96cf91ef8 Applied community feedback and fixed tests 2019-01-11 09:38:21 +01:00
Raf Ponsaerts
612c8e315c Made the PUT and POST relationship endpoints now use relationshipType parameter instead of the relationshipType in the body 2019-01-07 10:54:17 +01:00
Terry Brady
6e02e145f0 Merge pull request #2314 from tdonohue/DS-4129
DS-4129: Remove unnecessary HarvestConsumer
2019-01-03 16:04:17 -08:00
Tim Donohue
33eedeaba8 DS-4129: Remove unnecessary HarvestConsumer 2019-01-03 16:13:05 +00:00
kshepherd
cd5d1b038d Merge pull request #2298 from kshepherd/DS-4113_clean_plugin
[DS-4113] Configure clean plugin in parent pom to also clean sub-modules
2019-01-03 18:09:55 +13:00
Andrea Bollini
67602275bd Merge branch 'master' of https://github.com/DSpace/DSpace into DS-3851_workflow 2019-01-02 13:57:26 +01:00
Andrea Bollini
821d106439 Rely on Spring LateObjectEvaluator instead than our custom porting 2019-01-02 13:57:14 +01:00
Andrea Bollini
bf0139d5e9 Disable IT for basic workflow 2019-01-02 12:24:34 +01:00
Andrea Bollini
8a2ae7e891 Add javadocs: community feedback from https://github.com/4Science/DSpace/pull/37 2019-01-02 12:13:56 +01:00
Andrea Bollini
b3b1c8786e Fix H2 sql for xml workflow 2019-01-01 18:04:35 +01:00
Andrea Bollini
f84e951106 Add support for xmlworkflow in H2 database (Oracle sql as is) 2019-01-01 17:09:04 +01:00
Andrea Bollini
69f7c7588d Enable configuration workflow by default 2019-01-01 17:08:17 +01:00
Andrea Bollini
c8e11e6700 Merge remote-tracking branch 'origin/master' into DS-3851_workflow 2019-01-01 13:00:11 +01:00
Mark H. Wood
7b2b923390 [DS-4087] Small improvements to message texts. 2018-12-31 09:31:07 -05:00
Mark H. Wood
f255521c8e [DS-4087] First pass at better error reporting. 2018-12-30 18:37:00 -05:00
Andrea Bollini
1a7b22a784 Merge pull request #2293 from tdonohue/REST-IT-refactor
Super Speedy REST API v7 Integration Tests
2018-12-25 16:48:18 +01:00
benbosman
0692701f7a Merge pull request #2270 from atmire/virtual-metadata-update
Entities Virtual metadata update
2018-12-21 12:49:05 +01:00
Ben Bosman
c9bbbfde1f merge conflict 2018-12-20 11:26:05 +01:00
Ben Bosman
37fc3ee409 Merge remote-tracking branch 'community/configurable_entities' into w2p-57441_modified-behavior-retrieving-relations
# Conflicts:
#	dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java
#	dspace-api/src/main/java/org/dspace/content/dao/RelationshipTypeDAO.java
#	dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipTypeDAOImpl.java
#	dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java
#	dspace-api/src/main/java/org/dspace/content/service/RelationshipTypeService.java
2018-12-20 11:10:06 +01:00
Tim Donohue
f3f784c6ec Merge pull request #2269 from atmire/w2p-57712_merging-csv-functionality
Entities csv import fixes for creating relations
2018-12-19 14:05:56 -06:00
Samuel
fb1a8b8c33 Added support for the CRUD operations on the Collection and Community REST endpoints - remove owningCommunity field from CommunityRest and CollectionRest 2018-12-19 14:05:22 +01:00
Tim Donohue
035832cfdd Merge pull request #2288 from atmire/w2p-57718_relationships-link-to-items
[DS-4084] - Relationships should link to Items via REST API
2018-12-18 14:18:35 -06:00
Samuel
e283f43467 Added support for the CRUD operations on the Collection and Community REST endpoints - send parentCommunity as request parameter 2018-12-18 11:09:12 +01:00
Ben Bosman
32c9585ede checkstyle 2018-12-18 10:55:22 +01:00
Ben Bosman
0d678aca58 JavaDoc 2018-12-18 10:35:30 +01:00
Ben Bosman
fe437ad88d checkstyle 2018-12-18 10:29:47 +01:00
Ben Bosman
dc6bd487e0 checkstyle 2018-12-18 10:29:04 +01:00
Ben Bosman
b050db1cae JavaDoc updates 2018-12-18 10:17:12 +01:00
Ben Bosman
efd579f054 typing error 2018-12-18 09:58:57 +01:00
Ben Bosman
1b0f00df18 Comment on relationship.type 2018-12-18 09:42:48 +01:00
Tim Donohue
dfd3ba4e38 Ensure BitstreamContent tests start with an empty Solr Statistics core 2018-12-17 21:04:56 +00:00
Tim Donohue
78e3e00e7f Rename OpenSearch tests to end in "IT" since they are Integration Tests. 2018-12-17 21:04:15 +00:00
Tim Donohue
7fe7da4813 Fix OpenSearch test issues by ensure OpenSearchServiceImpl doesn't cache configs & that Tests specify the config setting they expect. 2018-12-17 20:40:46 +00:00
Tim Donohue
74aa295787 Refactor MockSolrLoggerServiceImpl to initialize FakeDatabaseReader before every method 2018-12-17 18:44:27 +00:00
Tim Donohue
e0175bd198 Improve logging messages of SolrLogger service/listener. Debugging is otherwise impossible 2018-12-17 18:44:27 +00:00
Tim Donohue
f0ff442959 Stop using MockSolrServer directly and use the Solr Statistics Service 2018-12-17 18:44:27 +00:00
Tim Donohue
b05eec3b92 Cache default EPersons (for reuse). Fix EPersonRestRepository tests to not rely on default EPersons as heavily. 2018-12-17 18:44:27 +00:00
Tim Donohue
c305879b51 Remove @DirtiesContext and allow reuse of Spring ApplicationContext & DSpace Kernel 2018-12-17 18:44:27 +00:00
Tim Donohue
c2803a7f69 Ensure full stacktrace is logged for Integration Tests 2018-12-17 18:44:27 +00:00
Tim Donohue
ff1f46aedb Externalize DSpaceKernelInitializer so that it can be used by Integration Tests to start Kernel 2018-12-17 18:44:27 +00:00
Tim Donohue
942f2e7b92 Remove unnecessary (default) annotations. Comment what each annotation does. 2018-12-17 18:44:27 +00:00
Ben Bosman
39bf016eb8 Merging configurable_entities branch 2018-12-17 13:45:04 +01:00
Ben Bosman
1776f892e0 Merge remote-tracking branch 'community/configurable_entities' into w2p-57441_modified-behavior-retrieving-relations 2018-12-17 12:18:43 +01:00
Ben Bosman
10c610bf73 Merge branch 'w2p-57712_merging-csv-functionality' into virtual-metadata-update 2018-12-17 10:08:25 +01:00
Ben Bosman
6fca857429 Merge remote-tracking branch 'community/configurable_entities' into w2p-57712_merging-csv-functionality 2018-12-17 09:55:59 +01:00
Ben Bosman
feaa5d1adb Merge remote-tracking branch 'community/configurable_entities' into w2p-57718_relationships-link-to-items 2018-12-17 09:39:52 +01:00
Tim Donohue
21fe950593 Merge pull request #2299 from tdonohue/remove_xmlui_spring_configs
Remove obsolete XMLUI spring configs (from master)
2018-12-14 10:41:35 -06:00
Raf Ponsaerts
4e51fd0c86 Added support for the leftItem and rightItem through the parameters 2018-12-14 17:20:45 +01:00
Tim Donohue
33268e8980 Remove obsolete XMLUI spring configs 2018-12-14 16:09:19 +00:00
Tim Donohue
c3f2fa7f47 Increase memory available to Unit/Integration Tests 2018-12-14 15:29:04 +00:00
Tim Donohue
04475e42eb Merge pull request #2286 from tdonohue/temp_memory_issue_fix
[Configurable Entities] Temporary fix for Integration Test memory issues
2018-12-14 09:27:24 -06:00
Raf Ponsaerts
240636e978 Created new IT and fixed checkstyle 2018-12-14 14:53:11 +01:00
Raf Ponsaerts
2f0fb32c8c Fixed typo 2018-12-14 13:27:29 +01:00
Raf Ponsaerts
e932075d03 Added documentation and @Override where applicable 2018-12-14 13:26:16 +01:00
Raf Ponsaerts
3123c1dd61 Wrote documentation for the spring beans 2018-12-14 09:54:26 +01:00
Andrea Bollini
43bfdbb3ff Merge pull request #2253 from tantz001/DS-4050
DS-4050 Search method returns 204 NoContent or 200 for empty page if no result.
2018-12-13 22:54:01 +01:00
Andrea Bollini
c4ab55f6f5 Merge pull request #2128 from tubhh/dspace7_opensearch
DSpace7 opensearch
2018-12-13 22:48:35 +01:00
Kim Shepherd
20904f897d [DS-4113] Configure clean plugin in parent pom to also clean sub-modules 2018-12-14 10:17:11 +13:00
Raf Ponsaerts
d95c378edc Implemented the feedback 2018-12-13 15:45:15 +01:00
Oliver Goldschmidt
67046598c1 fixes typo 2018-12-13 09:34:40 +01:00
Oliver Goldschmidt
8ccb41a205 Merge branch 'master' of https://github.com/DSpace/DSpace into dspace7_opensearch 2018-12-13 09:33:46 +01:00
Andrea Bollini
7ccd99c97c Merge pull request #2173 from ppmdo/DS-3904
DS-3904 - Add support for startsWith parameters in the browse endpoint
2018-12-12 22:52:44 +01:00
Raf Ponsaerts
314e96a6ac Merged the merging-csv-functionality branch into virtual-metadata-update 2018-12-12 10:54:16 +01:00
Tim Donohue
1b2cc563d7 Increase memory available to Unit/Integration Tests 2018-12-11 15:32:11 +00:00
Raf Ponsaerts
4171729f84 Wrote IT test for CSV import and fixed a small error 2018-12-11 09:30:13 +01:00
Raf Ponsaerts
8024242fd1 Added @Override to applicable methods 2018-12-10 09:56:43 +01:00
Tim Donohue
0feb1748a0 Merge pull request #2284 from AlexanderS/ds3914-master
DS-3914: Fix community defiliation (master)
2018-12-07 09:37:06 -06:00
Raf Ponsaerts
6e16a3ed62 Applied community feedback 2018-12-07 16:09:29 +01:00
Alexander Sulfrian
e02174bad8 CommunityFiliator: Some cleanup
This removes the loops for checking if a community is contained in a list of
communities. Community.equals() does the same check, so we simply can use
contains().
2018-12-07 11:22:01 +01:00
Alexander Sulfrian
5ecc473311 DS-3914: Fix community defiliation
This fixes in issue in the defiliate method of the community filiator. The
child and parent relations should be managed using the provided methods of the
Community.

This changes the visibility of Community.removeSubCommunity() to public, but
Community.removeParentCommunity() was public before already.
2018-12-07 11:19:06 +01:00
Raf Ponsaerts
7d07a1e6f9 Merged branch configurable_entities into w2p-57712_merging-csv-functionality 2018-12-07 10:38:19 +01:00
Tim Donohue
09faec3f17 Update Entities code to use log4j2 and commons-lang v3 (per master merge) 2018-12-06 17:43:15 +00:00
Tim Donohue
ceed829800 Merge branch 'master' into configurable_entities 2018-12-06 17:05:31 +00:00
Kevin Van de Velde
783ec4bffe [DS-4096] Alter the moving item between collections to use PUT instead of POST 2018-12-06 11:02:00 +01:00
Yana De Pauw
a55a5fd795 [DS-4096] Add new endpoint to update the owning collection of an item and adding ITs to test the behaviour 2018-12-06 11:01:57 +01:00
Mark H. Wood
8df33db457 [DS-3989] Fix code from DS-3990 that was (expectedly) broken by DS-3989. 2018-12-05 16:13:24 -05:00
Mark H. Wood
844ef85583 [DS-3989] Placate Checkstyle. 2018-12-05 15:41:37 -05:00
Mark H. Wood
1d3a58958e [DS-3989] Update new method for Commons Configuration v2. 2018-12-05 15:41:37 -05:00
Mark H. Wood
1e5bcd47ce [DS-3989] Clarify help for --reporter option. 2018-12-05 15:41:37 -05:00
Mark H. Wood
c795c8b4b4 [DS-3989] Clarify submission task configuration. 2018-12-05 15:41:37 -05:00
Mark H. Wood
85db4fe2bb [DS-3989] Commit testing task. 2018-12-05 15:41:37 -05:00
Mark H. Wood
6084f892b2 [DS-3989] Remove unworkable task-id logging; ensure closure of Reporter. 2018-12-05 15:41:37 -05:00
Mark H. Wood
ff8a5fac97 [DS-3989] Add configuration for the Reporter plugin. 2018-12-05 15:41:37 -05:00
Mark H. Wood
dbcb1f291c [DS-3989] Fix invalid date format. 2018-12-05 15:41:37 -05:00
Mark H. Wood
d9c80d8afc [DS-3989] Fix checkstyle issues. 2018-12-05 15:41:37 -05:00
Mark H. Wood
9f64b9aa95 [DS-3989] Fix license blocks for new classes. 2018-12-05 15:41:37 -05:00
Mark H. Wood
de33ece1c9 [DS-3989] Pull report writing out through a pluggable interface, provide log and file plugins 2018-12-05 15:41:37 -05:00
Mark H. Wood
ab224b2508 [DS-3989] Integration test for Curator's reporting. 2018-12-05 15:41:37 -05:00
Mark H. Wood
1478ab36fa [DS-3989] Let tests set multiple values on a configuration property. 2018-12-05 15:41:37 -05:00
Mark H. Wood
d6d0e67017 [DS-3989] Placate Checkstyle: unused import. 2018-12-05 15:41:37 -05:00
Mark H. Wood
f23fef032f [DS-3989] Fix the date format. 2018-12-05 15:41:37 -05:00
Mark H. Wood
94ed795d00 [DS-3989] Accumulate reports; implement arbitrary output paths, not just standard output. 2018-12-05 15:41:37 -05:00
Mark H. Wood
301f804d44 Merge pull request #2279 from mwoodiupui/DS-4094
[DS-4094] DiscoveryRestController and DiscoveryRestRepository log as ScopeResolver
2018-12-05 15:23:58 -05:00
Mark H. Wood
90a9df75ef [DS-4094] Use correct logging categories; fix incorrect argument in a couple of messages. 2018-12-04 16:11:44 -05:00
Ivan Masár
6bbcc08e59 fix checkstyle broken by previous commit (sorry) 2018-12-03 22:44:36 +01:00
Santiago Tettamanti
733ef18184 DS-4019 Added a check for null when the group of a policy is obtained in getMostRecentModificationDate() and willChangeStatus() methods from XOAI.java class 2018-12-03 22:03:50 +01:00
Raf Ponsaerts
d77dd7fa4f Added support for the CRUD operations on the Collection and Community REST endpoints 2018-12-03 15:40:42 +01:00
Mark H. Wood
495ccdee21 Merge pull request #2168 from mwoodiupui/DS-3980
[DS-3980] Defend against bad MIME type in Email.addAttachment
2018-11-30 11:53:25 -05:00
Pascal-Nicolas Becker
3890c11bf7 [DS-4036] Resolving merge conflicts. 2018-11-30 13:05:03 +01:00
Pascal-Nicolas Becker
a3d37c3b5b [DS-4036] Resolving changes requested enduring review. 2018-11-30 13:04:50 +01:00
marsa
9a41e6fece [DS-4036] Delete EPersons even if they are referenced
DSpace references EPersons in different database tables like the
submitter of an item or like the EPerson that gets special rights
granted in the resourcepolicy table. This PR changes DSpace so it can
handle references that are set null instead of referencing an actual
EPerson. This is important to be able to delete EPersons which is
demanded by several data protection laws like GDPR in the European
Union.
2018-11-30 11:43:08 +01:00
Raf Ponsaerts
4c1fdfc49c Added a license header 2018-11-29 15:45:32 +01:00
Raf Ponsaerts
dcf21c04cf [Task 57718] added the leftItem and rightItem links to the relationship endpoint return 2018-11-29 15:25:48 +01:00
Raf Ponsaerts
699fb42683 [Task 57441] fixed the label vs id conflicting issue 2018-11-29 13:56:38 +01:00
Mark H. Wood
769398d6fb Merge pull request #2181 from mwoodiupui/DS-3990
[DS-3990] Curation task runs need per-run parameters.
2018-11-28 11:52:33 -05:00
Raf Ponsaerts
8f81f28607 [Task 57160] implemented CRUD methods on relationship endpoint 2018-11-28 14:17:11 +01:00
Tim Donohue
9bc1f1ce69 Merge pull request #2274 from DSpace/elasticsearch_cleanup
DS-3455: Delete elasticsearch-statistics-mapping.json (ElasticSearch was removed)
2018-11-27 07:58:57 -08:00
Raf Ponsaerts
13fea6312e Cleaned up and fix license headers 2018-11-27 09:37:17 +01:00
Raf Ponsaerts
41ff37de1b [Task 57441] fixed pagination on the /label endpoint 2018-11-27 08:33:10 +01:00
Tim Donohue
58c01c500c Delete elasticsearch-statistics-mapping.json 2018-11-26 16:30:46 -06:00
Tim Donohue
1d9a4edcc0 Merge pull request #2266 from mwoodiupui/DS-4077
[DS-4077] filter-media error on WordFilter -- remove old, failing WordFilter
2018-11-26 09:24:48 -08:00
Tim Donohue
b44cf37d9d Merge pull request #2267 from atmire/w2p-57442_relation-enum-metadataschema
DS-4083 Move all Schema constants to a new MetadataSchemaEnum class
2018-11-26 09:03:21 -08:00
Raf Ponsaerts
c6dfae90de intermediary commit 2018-11-26 09:02:30 +01:00
Raf Ponsaerts
925b83bc02 [Task 57441] Implemented the requested endpoints, except for one todo 2018-11-22 16:05:27 +01:00
Raf Ponsaerts
fc8e3744b6 Merged w2p-56183_additional-relationshiptype-endpoints into w2p-57441_modified-behavior-retrieving-relations and fixed checkstyle, license headers 2018-11-22 13:41:06 +01:00
Raf Ponsaerts
0b4dc28dfa Merge branch 'w2p-56182_additional-endpoint-relations' into w2p-57441_modified-behavior-retrieving-relations 2018-11-22 13:10:27 +01:00
Raf Ponsaerts
e7b6aded69 Fixed tests and added license headers 2018-11-22 10:41:45 +01:00
Pablo Prieto
30f8b61ad0 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-3904 2018-11-21 21:24:39 -06:00
Pablo Prieto
6600839fa4 Fixed ITs 2018-11-21 21:23:00 -06:00
Pablo Prieto
8ebb6a1a41 Added handling of empty querystring. Added startsWithandPage test. 2018-11-21 18:58:09 -06:00
Mark H. Wood
7613a204ed [DS-3990] Trim parameter name, value; remove unused test code. 2018-11-21 11:10:42 -05:00
Raf Ponsaerts
912a1f0be6 Merged entities-PR2 into virtual-metadata-update 2018-11-21 15:47:08 +01:00
Raf Ponsaerts
38250f94ad Fixed checkstyle 2018-11-21 11:37:14 +01:00
Raf Ponsaerts
34a2b92754 Merged entities-PR2 into w2p-57712_merging-csv-functionality 2018-11-21 11:02:28 +01:00
Raf Ponsaerts
b905f69d63 Refactored the usages of MetadataSchema.DC to use the enum instead 2018-11-21 09:35:11 +01:00
Mark H. Wood
aeee597101 [DS-4077] Remove traces of tm-extractors. 2018-11-20 19:55:02 -05:00
Mark H. Wood
5114f21da8 [DS-4077] Remove old, failing WordFilter; use PoiWordFilter instead. 2018-11-20 18:58:41 -05:00
Tim Donohue
52f1cf1fdc Merge pull request #2246 from atmire/entities-PR2
Initial entities PR
2018-11-20 16:05:34 -06:00
Raf Ponsaerts
b8d6fa2fba [Task 57442] Added the MetadataSchemaEnum with DC and RELATION, rewrote methods using relation String 2018-11-20 15:51:41 +01:00
Raf Ponsaerts
cfeabe349c [Task 57188] added the logic for the advanced place column calculation. Enforced that all virtual metadata are valid metadatafields 2018-11-20 14:32:12 +01:00
Raf Ponsaerts
0ba6d75a30 Constructed a RelationshipMetadataValue object and refactored the getRelationshipMetadata methods in the ItemServiceImpl to use this object instead of it's parent MetadataValue 2018-11-19 16:14:51 +01:00
benbosman
ad7bd23038 Additional search filter 2018-11-16 17:39:36 +01:00
Raf Ponsaerts
3a972ba5b9 Added config for virtual metadata fields on the journalIssue and Publication item pages 2018-11-16 15:17:23 +01:00
Raf Ponsaerts
a755f296bf Added relation.isJournalOfPublication metadata field on the publication with config and addition of a new uuidvalue bean 2018-11-16 11:14:28 +01:00
Raf Ponsaerts
255de21271 [Task 57187] added the relationship ID after the virtual:: in the metadata field authority 2018-11-16 10:10:02 +01:00
Tim Donohue
76470f4eec Merge pull request #2262 from tdonohue/DS-4078
DS-4078: Bitstreams should keep their formats when being versioned. (Master port)
2018-11-15 11:35:55 -06:00
Tim Donohue
f3245e7c88 DS-4078: Bitstreams should keep their formats when being versioned. 2018-11-15 16:28:14 +00:00
Tim Donohue
5eeb40e530 Merge pull request #2258 from atmire/w2p-57063_http-vs-https-request-url
Make the REST URL configurable instead of relying on the request.getUrl
2018-11-15 10:20:48 -06:00
Raf Ponsaerts
8e8bb65f75 Removed a problematic context.close() 2018-11-15 15:13:16 +01:00
Raf Ponsaerts
01c1c0cddf [Task 57265] added the request search filters 2018-11-15 12:50:01 +01:00
Raf Ponsaerts
7b2233a9b7 [Task 57186] added useForPlace property to the beans and added setters and getters to the interface. defaulting to false. Added this property to the isAuthorOfPublication config 2018-11-15 10:45:45 +01:00
Raf Ponsaerts
86cd0c7025 [Task 57103] added javadoc 2018-11-15 09:27:56 +01:00
Raf Ponsaerts
353d4c9d60 [Task 57103] implemented the support for related beans and added the option for config to supply virtual metadata throughout many nested relations 2018-11-14 16:06:33 +01:00
Pablo Prieto
7d5e12a793 Added QueryString null handling. 2018-11-13 18:40:28 -06:00
Raf Ponsaerts
37ffda5d21 Made sure that the delete and create functions in relationshipservice update the place attributes accordingly. Fixed checkstyle and added license header. Changed cacheable functions to false in relationshipDAO 2018-11-12 15:56:28 +01:00
Raf Ponsaerts
5de574d65a Merged w2p-57104_csv-import-delete-functionality into w2p-57107_mixing-entities-and-plaintest-values 2018-11-12 13:14:40 +01:00
Raf Ponsaerts
b226666113 Added loops to set places on left and right places for relationships on create and delete 2018-11-12 13:11:43 +01:00
Raf Ponsaerts
b3a4a196d8 [Task 57107] changed the functionality of the VirtualMetadataPopulator to now support a bean 2018-11-12 12:43:10 +01:00
Ben Bosman
45afa91d0e Removed setter since it's no longer used 2018-11-12 09:32:40 +01:00
Ben Bosman
c30e548533 use only one extraction of the UUID 2018-11-12 09:26:18 +01:00
Tim Donohue
94aeb7c18a Merge pull request #2241 from mwoodiupui/DS-3135-again
[DS-3135] Replace log4j 1.2, which is EOL
2018-11-09 10:34:10 -06:00
Oliver Goldschmidt
e53af97a31 fixes checkstyle issue 2018-11-09 16:39:17 +01:00
Mark H. Wood
9e1c16990f [DS-3135] Remove leftover comment (and surrounding empty niladic constructor). 2018-11-09 09:02:59 -05:00
Mark H. Wood
18868370de [DS-3135] Remove commented-out attempt by logged code to tell logging framework its configuration path. 2018-11-09 09:02:59 -05:00
Mark H. Wood
468725346f Remove system property pointing to logging config. Instead just let
framework do its default search, which should find the config. on the
classpath.
2018-11-09 09:02:59 -05:00
Mark H. Wood
3929a5d7ac [DS-3135] Remove questionable loglevel fiddling; conform to webapp descriptor schema. 2018-11-09 09:02:59 -05:00
Mark H. Wood
e671680ae4 [DS-3135] Let Spring configure Log4J; correct logging config in Ant script. 2018-11-09 09:02:59 -05:00
Mark H. Wood
eff018aace [DS-3135] Squash another unused import for Checkstyle. 2018-11-09 09:02:59 -05:00
Mark H. Wood
38e1d0a8d4 [DS-3135] Set the log4jConfiguration context parameter properly. 2018-11-09 09:02:59 -05:00
Mark H. Wood
5b66fdf5db [DS-3135] Clean out temporary exclusions; tidy indentation. 2018-11-09 09:02:59 -05:00
Mark H. Wood
2925a3a3bf [DS-3135] Finish converting log4j2 configuration; make it work for Solr; tweak Ant usage. 2018-11-09 09:02:59 -05:00
Mark H. Wood
b668860a2b [DS-3135] Don't configure Solr with ConfigureLog4jListener which no longer exists. 2018-11-09 09:02:59 -05:00
Mark H. Wood
9133d289ed [DS-3135] Satisfy Checkstyle by removing unused includes; tighten up the code a little. 2018-11-09 09:02:59 -05:00
Mark H. Wood
959b5122b7 [DS-3135] Squash one more log4j1 dependency. 2018-11-09 09:02:59 -05:00
Mark H. Wood
f3505ed22b [DS-3135] Still more dependency cleanup. 2018-11-09 09:02:59 -05:00
Mark H. Wood
3f904dc4ec [DS-3135] Tell Log4J where to find its configuration. 2018-11-09 09:02:59 -05:00
Mark H. Wood
5cbe4fefb5 [DS-3135] Correct Log4J configuration file name. 2018-11-09 09:02:58 -05:00
Mark H. Wood
bb10bfe01a [DS-3135] More dependency cleanup 2018-11-09 09:02:58 -05:00
Mark H. Wood
9be54714d3 [DS-3135] More dependency fixes. 2018-11-09 09:02:58 -05:00
Mark H. Wood
f5d325b36b [DS-3135] Fix new class that uses old log4j. 2018-11-09 09:02:58 -05:00
Mark H. Wood
f48d005e2c [DS-3135] log4j 2 needs new configuration -- start with the command line tools 2018-11-09 09:02:58 -05:00
Patrick Trottier
538b0046e5 Change to version 2.6.2 of log4j
To ensure compatibility with Spring Boot v1.4.4
2018-11-09 09:02:58 -05:00
Patrick Trottier
8eb074b11f Fix dependency convergence 2018-11-09 09:02:58 -05:00
Patrick Trottier
a3db6f727c Fix import statement 2018-11-09 09:02:58 -05:00
Patrick Trottier
7996283d3c Fix files not conforming to code style 2018-11-09 09:02:58 -05:00
Patrick Trottier
56dd50d283 Additional refactoring for log4jv2 2018-11-09 09:02:58 -05:00
Patrick Trottier
7bd47362b6 Refactor additional loggers for log4jv2 2018-11-09 09:02:58 -05:00
Patrick Trottier
bb2dde22b1 Convert getLogger() and Log4J imports for Log4J 2 2018-11-09 09:01:25 -05:00
Patrick Trottier
a49486310a Update POMs to version 2.10.0 2018-11-09 08:58:56 -05:00
Patrick Trottier
a5a00816cc Additional refactoring for log4jv2 2018-11-09 08:58:56 -05:00
Patrick Trottier
00088c9739 Fix dependency convergence and use POM property for log4j version 2018-11-09 08:56:44 -05:00
Patrick Trottier
3b10caef0d Fix reference to log4jv2 2018-11-09 08:56:44 -05:00
Patrick Trottier
bda4fa0ba7 Refactor additional loggers for log4jv2 2018-11-09 08:56:44 -05:00
Patrick Trottier
35b5c6c321 Remove bean declaration for log4v1 service 2018-11-09 08:53:12 -05:00
Patrick Trottier
7f589a5ad6 Refactor import statements 2018-11-09 08:53:12 -05:00
Patrick Trottier
1eed2698ae Remove trailing whitespace in EventListenerExample 2018-11-09 08:51:47 -05:00
Patrick Trottier
b72fff4a25 Remove code related to log4j1 2018-11-09 08:51:47 -05:00
Patrick Trottier
1e3231967f Add Log4J LogManager to EventListenerExample 2018-11-09 08:41:42 -05:00
Patrick Trottier
7f4b4e9f8a Convert getLogger() and Log4J imports for Log4J 2 2018-11-09 08:41:42 -05:00
Patrick Trottier
fb4e7ae9cb Update POMs to version 2.10.0 2018-11-08 16:03:30 -05:00
Tim Donohue
195213d528 Merge pull request #2244 from tdonohue/commons_config_v2
DS-4056: Upgrade to Commons Configuration v2 (and Commons Lang v3)
2018-11-08 15:00:03 -06:00
Tim Donohue
34edf302b7 Remove unnecessary PropertyPlaceholderConfigurer 2018-11-08 20:35:58 +00:00
Tim Donohue
4d882bec60 Remove unnecessary exclusion 2018-11-08 20:35:58 +00:00
Tim Donohue
200cede397 Upgrade to commons-lang3 to avoid dependency conv issues. 2018-11-08 20:35:57 +00:00
Tim Donohue
b4eac9e5ff Update config-definition.xml to be v2 compatible 2018-11-08 20:35:57 +00:00
Tim Donohue
3ec449f3df Update dspace-api code to Commons Config v2 2018-11-08 20:35:54 +00:00
Tim Donohue
79d027776e Add Spring PropertySource integration + tests to prove it works 2018-11-08 20:33:28 +00:00
Tim Donohue
673d4b9d36 Replace DSpaceConfigurationFactoryBean with ConfigurationPropertiesFactoryBean 2018-11-08 20:33:28 +00:00
Tim Donohue
c810efccb3 Add / enhance unit tests to prove functionality unchanged after upgrade 2018-11-08 20:33:28 +00:00
Tim Donohue
cb913fd24f Initial upgrade of dspace-services to Commons Config v2 2018-11-08 20:33:28 +00:00
Tim Donohue
d364f351e6 Merge pull request #2259 from Georgetown-University-Libraries/ds4075
[DS-4075] correct command line usage for solr-upgrade-statistics-6x
2018-11-08 13:52:57 -06:00
Raf Ponsaerts
b37d0e2167 Applied community feedback 2018-11-08 14:28:58 +01:00
Terry Brady
68dca061b0 correct usage 2018-11-07 15:20:36 -08:00
Tim Donohue
af305d154a Merge pull request #1810 from Georgetown-University-Libraries/ds3602m
[DS-3602] Incremental Update of Legacy Id fields in Solr Statistics
2018-11-07 16:07:41 -06:00
Raf Ponsaerts
445e42ccc2 Merge branch 'w2p-57104_csv-import-error' into w2p-57104_csv-import-delete-functionality 2018-11-06 15:30:20 +01:00
Raf Ponsaerts
bfd0bd7362 [Task 57104] adding delete functionality for the csv import 2018-11-06 15:30:13 +01:00
Raf Ponsaerts
d8ced6aa7d Made sure that the relation.X name is always added to the item for every relationship that it has 2018-11-06 11:34:50 +01:00
Raf Ponsaerts
d90f4e63f5 [Task 56183] added the additional relationshiptype endpoint on the entitytype 2018-11-05 14:02:44 +01:00
Raf Ponsaerts
b81593c41c [Task 57104] added support for multiple relation import 2018-11-05 11:43:46 +01:00
Raf Ponsaerts
75358b2bdd Reverted the changes to the DSpaceCSVTest, bulkedit.cfg and thumbnail size in dspace.cfg 2018-11-05 10:51:08 +01:00
Raf Ponsaerts
0ee618385b [Task 56182] Added the endpoint to search across an items relationships by a label of the relationshiptype 2018-11-05 09:25:56 +01:00
Oliver Goldschmidt
53e548e4a9 remove OpenSearch path from config as its not configurable any more 2018-11-02 16:09:31 +01:00
Terry Brady
91f779aa8c handle shard corrupt multivals 2018-11-01 17:34:30 -07:00
Tim Donohue
218fdcbaf0 Merge pull request #2207 from tomdesair/Authentication_X-Forwarded-For
DS-4074: Only use X-Forwarded-For value from known proxies
2018-11-01 14:55:51 -05:00
Terry Brady
defa4671d8 more checkstyle fix 2018-11-01 10:39:40 -07:00
Bill Tantzen
8ec4780625 DS-4050 Search method returns 204 NoContent or 200 with an empty page if no result. 2018-11-01 12:31:16 -05:00
Terry Brady
a6276da8b0 checkstyle fixes 2018-11-01 10:13:20 -07:00
Terry Brady
ed94b9ce9e Update dspace/config/launcher.xml
upgrade launcher labels
2018-11-01 09:04:18 -07:00
Terry Brady
fa00fec49f Merge pull request #14 from Georgetown-University-Libraries/ds3602m1
Add string "-unmigrated" to ids that cannot be mapped
2018-10-31 16:20:22 -07:00
Terry Brady
fed22f30bf add unmigrated 2018-10-31 16:10:53 -07:00
Terry Brady
30c522f896 Merge pull request #13 from Georgetown-University-Libraries/ds3602m1
Remove DSpace Mig from Query, clarify command name
2018-10-31 15:50:19 -07:00
Terry Brady
b9b383bb05 rem comment 2018-10-31 15:47:14 -07:00
Terry Brady
3255206212 simplify not queries 2018-10-31 15:09:17 -07:00
Terry Brady
6c989433e1 try new query 2018-10-31 15:03:51 -07:00
Tim Donohue
74149ba247 Fix checkstyle failure (after rebase) 2018-10-31 15:29:34 -05:00
Terry Brady
9d5b59b46f Merge branch 'master' into ds3602m 2018-10-31 13:05:39 -07:00
Tim Donohue
9fee00445e Merge branch 'master' into Authentication_X-Forwarded-For 2018-10-31 14:55:53 -05:00
Tim Donohue
1f15bb874e Merge pull request #2206 from atmire/DS-4010_query-parameter-on-discover-endpoint-bug
[DS-4010] Removed the escaping on the query parameter for the discove…
2018-10-31 14:13:45 -05:00
Raf Ponsaerts
9e99c911c6 Added information into the exception message 2018-10-31 15:28:33 +01:00
Raf Ponsaerts
b5c3af6aa5 CSV Import fixes 2018-10-31 13:41:36 +01:00
Raf Ponsaerts
3c10296d0c [Task 57063] made the REST URL configurable instead of relying on the request.getUrl method to return the correct information 2018-10-31 10:17:48 +01:00
Tom Desair
b622781f5d DS-3542: Added unit tests for ClientInfoServiceImpl 2018-10-29 23:02:34 +01:00
Tim Donohue
f984cd17c1 Merge pull request #2249 from tdonohue/statistics_schema_uuid
Fix DS-4066 by update all IDs to string type in Solr Statistics schema
2018-10-29 16:31:29 -05:00
Tim Donohue
b283d5d9e4 Fix DS-4066 by update all IDs to string type in schema 2018-10-29 17:07:54 +00:00
Oliver Goldschmidt
0a9f5efcdc adds some tests 2018-10-29 13:53:51 +01:00
Oliver Goldschmidt
c08fb4af1d removes wrong line from comment 2018-10-29 13:53:20 +01:00
Oliver Goldschmidt
110f6c2a8d ignore test instead of having it commented out 2018-10-29 09:31:33 +01:00
Mark H. Wood
003831f4f6 Merge pull request #2247 from mwoodiupui/DS-3433
[DS-3433] Don't scare the admin. when an email Session is not found in JNDI
2018-10-26 12:08:07 -04:00
Raf Ponsaerts
eb0ea9a6bf Added relevant JavaDocs to public methods in altered classes 2018-10-26 08:48:33 +02:00
Tim Donohue
0c6c9afbd4 Merge pull request #2235 from tdonohue/dependency-cleanup
DS-4041: Update to Servlet Spec version 3.1.0 in all dependencies
2018-10-25 15:02:51 -05:00
Mark H. Wood
9c242087a7 [DS-3433] Silence exceptions when named Session not found or there is no JNDI initial context. 2018-10-25 15:34:21 -04:00
Tim Donohue
d5e22ec1af Merge pull request #2167 from mwoodiupui/DS-3970
[DS-3970] Unused, nonexistent configuration property referenced in confusing startup message
2018-10-25 12:18:58 -05:00
Raf Ponsaerts
af94859404 Added JavaDoc to public methods in new classes where necessary 2018-10-25 14:55:21 +02:00
Raf Ponsaerts
031642ddc1 Made relation.* searchable again 2018-10-24 15:24:03 +02:00
Raf Ponsaerts
b0216cb918 Test fixes and checkstyle fixes 2018-10-24 14:12:23 +02:00
Raf Ponsaerts
f223f1c067 DSpace 7 Entities 2018-10-24 10:24:09 +02:00
Tim Donohue
bd9bd233b7 Merge pull request #2239 from 4Science/inputform-rows
DS-3937 Add support for styling and rows in the submission-forms.xml
2018-10-23 11:49:33 -05:00
Tim Donohue
cb1a35a524 Merge pull request #2243 from mwoodiupui/DS-4031-7x
[DS-4031] Updated link to DRIVER guidelines -- 7_x.
2018-10-18 11:43:59 -05:00
Mark H. Wood
992c775058 [DS-4031] Updated link to DRIVER guidelines. 2018-10-18 09:41:13 -04:00
Andrea Bollini
e92852faca Merge pull request #2215 from mspalti/repositorypatch
DS-4021: Updated patch operations for Item repository and added patch endpoints for EPerson.
2018-10-18 11:28:31 +02:00
Pablo Prieto
819a42b69e Fixed Integration Tests 2018-10-17 23:32:39 -05:00
Terry Brady
826babb48e Merge pull request #2214 from terrywbrady/ds4012
[DS-4012] Support Multiple Dockerfiles in one branch
2018-10-17 11:29:57 -07:00
Andrea Bollini
d55189a4f2 Add javadoc to the matcher class 2018-10-17 16:58:04 +02:00
Tim Donohue
499f496d62 Merge branch 'dependency-cleanup' of github.com:tdonohue/DSpace into dependency-cleanup 2018-10-17 09:54:56 -05:00
Tim Donohue
6dc6102325 Update all web.xml files to use Servlet 3.1. Requires minor reorg in older webapps. 2018-10-17 09:53:46 -05:00
Andrea Bollini
8b0db601b0 Improved javadoc about new submission conf concepts 2018-10-17 16:50:41 +02:00
Michael W Spalti
f9861ec5ca [DS-4021] Corrected minor typo in integration test. 2018-10-15 13:22:43 -07:00
Michael W Spalti
f890f1705c [DS-4021] Updated integration tests.
Merge branch 'repositorypatch' of https://github.com/mspalti/DSpace into repositorypatch
2018-10-15 12:43:11 -07:00
Oliver Goldschmidt
b702582fb2 removes unnecessary import 2018-10-15 17:04:27 +02:00
Oliver Goldschmidt
fa3af00e4d removes unnecessary init method 2018-10-12 16:55:00 +02:00
Tim Donohue
0d59219ead Merge pull request #2232 from antzsch/ds4032-create-eperson-group
Add the ability to create EPerson Group via REST.
2018-10-12 09:47:59 -05:00
Oliver Goldschmidt
d421942321 fixes style issue 2018-10-12 10:10:13 +02:00
Oliver Goldschmidt
c7cde57c3a removing unnecessary settings in test configuration 2018-10-12 09:38:57 +02:00
Oliver Goldschmidt
0c6690aa82 cleaning up 2018-10-12 09:36:15 +02:00
Andrea Bollini
5b43bebf17 Merge pull request #2238 from tantz001/DS-3916
/api/config/submissiondefinitions/traditional/collections should return empty list rather than 204 [was#2189]
2018-10-12 00:34:05 +02:00
Michael W Spalti
837814b596 [DS-4021] Added a bit of IOC that helps to assure consistent checks before applying patch replace operations. 2018-10-11 14:54:29 -07:00
Andrea Bollini
3c0c4565df Merge pull request #2228 from ppmdo/DS-4024
Create top level community via REST [DS-4024]
2018-10-11 23:22:55 +02:00
Bill Tantzen
e2608f79bf return null/204 when endpoints return null (or empty list) and a single item is requested; return empty list/200 when endpoints return null (or empty list) and an array of items is requested. 2018-10-11 11:05:35 -05:00
Tim Donohue
d6d7a620c2 Merge pull request #2187 from 4Science/DS-3580_workspaceitem
DS-3850 Create new submissions from files or identifiers
2018-10-11 08:59:27 -05:00
Bill Tantzen
e64101a5e9 modified two additional ITs reflecting the changes to RestResourceController 2018-10-11 07:41:56 -05:00
Oliver Goldschmidt
ac788aacee fixes style issues in tests 2018-10-11 09:57:54 +02:00
Tim Donohue
4652bb8cab Dependency fixes for OAI-PMH using Servlet API 3.1 2018-10-10 18:32:18 +00:00
Michael W Spalti
ed8f245e7d [DS-4021] Replace patch operations on a non-existent value now result in a PatchBadRequestException.
Added missing license headers.

Added FIXME.
2018-10-10 10:38:01 -07:00
Andrea Bollini
d794c20385 DS-3937 remove unused methods, improve javadoc and testing 2018-10-10 19:29:40 +02:00
Bill Tantzen
77f4b9db6e minor format changes 2018-10-10 11:18:03 -05:00
Bill Tantzen
2f1f45f8a8 /api/config/submissiondefinitions/traditional/collections should return empty list rather than 204 #2189 2018-10-10 11:09:28 -05:00
Terry Brady
4c5b82c95a review comments 2018-10-10 08:28:02 -07:00
Oliver Goldschmidt
50490370d9 introduces tests for OpenSearchController 2018-10-10 16:38:43 +02:00
Andrea Bollini
e58870eb8f Merge branch 'DS-3580_workspaceitem' of https://github.com/4Science/DSpace into inputform-rows 2018-10-10 11:45:02 +02:00
Andrea Bollini
b6a35ebaf7 DS-3580 simplify the interface retrieving the filename from the multipartfile upload
Add additional Javadoc
Better align the interface with the Angular implementation
2018-10-10 11:35:36 +02:00
Michael W Spalti
7e4194b3a4 [DS-4021] Replace patch operations on a non-existent value now result in a PatchBadRequestException.
Added missing license headers.
2018-10-09 15:18:23 -07:00
Michael W Spalti
a9bf1d869d [DS-4021] Patch processing now operates on the rest model and commits changes after successful completion of all patch operations.
Also added new integration tests.

Minor changes to error handling and comments.

[DS-4021] Updated tests and javadocs.

Also updated the string comparison in EPersonRestRespository that triggers the update of the netid after a patch operation is complete.
2018-10-09 11:04:34 -07:00
Stefan
0f0066b0c0 Spilt the createAndRunTest() method in several methods in dependcy of the context what they test and code cleanup. 2018-10-09 19:04:58 +02:00
Andrea Bollini
dc51e4c059 Merge branch 'DS-3580_workspaceitem' of https://github.com/4Science/DSpace into inputform-rows 2018-10-09 19:02:27 +02:00
Pablo Prieto
a2e7069d1c Fixed missing @Test on ITs
Modified CommunityMatcher to use the generic CommunityMetadataMatcher
2018-10-08 23:19:53 -05:00
Pablo Prieto
486b1fb41d Added POST method on Communities endpoint to create a Top-Level Community
Wrote integration tests for admin, anonymous and normal eperson use cases
2018-10-08 23:09:04 -05:00
Andrea Bollini
e4874ae356 Merge branch 'master' of https://github.com/DSpace/DSpace into workspace-IT 2018-10-08 23:20:38 +02:00
Andrea Bollini
2458b5d621 DS-3850 ITs for metadata update, file upload, file update 2018-10-08 22:30:22 +02:00
Andrea Bollini
89ebd2c154 Make LicenseOperation more client friendly 2018-10-08 22:29:31 +02:00
Tim Donohue
3fd7cc903d Fix dependency convergence errors with OAI and SWORDv2 2018-10-08 20:07:44 +00:00
Tim Donohue
d3ee089d2e Update our DummyHttpServletRequest to Servlet Spec 3.1.0 2018-10-08 12:40:07 -05:00
Tim Donohue
447bea2921 Update to using Servlet API spec 3.1.0 in all modules 2018-10-08 17:11:37 +00:00
Tim Donohue
754915b8aa Remove duplicate dependency in dspace-api 2018-10-08 17:01:55 +00:00
Andrea Bollini
4a0b636b3d DS-3850 add ITs for create, bulkcreate, metadata patch 2018-10-07 22:23:40 +02:00
Andrea Bollini
2d2afd886c Set the status when the errors information are available 2018-10-07 22:21:17 +02:00
Andrea Bollini
951d039830 Fix bulk creation via file upload 2018-10-07 22:20:45 +02:00
Andrea Bollini
1bb1fd44a4 Fix javadoc misunderstanding 2018-10-06 21:02:53 +02:00
Andrea Bollini
a8863fd6a0 Add missing method to support bulk creation of objects via file upload 2018-10-06 13:08:58 +02:00
Andrea Bollini
9e85421ab4 Add javadocs 2018-10-06 13:06:47 +02:00
Andrea Bollini
c466d10c6a DS-3850 Integration Test for workspaceitem endpoint (find and delete methods)
Add predictable order to the workflowitem find query (by workspaceItemId instead than item uuid)
2018-10-05 22:36:50 +02:00
Stefan
79b950c8e4 Restrict the endpoint with an @PreAuthorize annotation 2018-10-05 18:28:29 +02:00
Stefan
f432568b31 Cleaning up the code and implement more test cases for the group creation. 2018-10-05 15:29:16 +02:00
Stefan
cc7bcf6007 Add the ability to create EPerson Group via REST. 2018-10-05 12:30:19 +02:00
Pablo Prieto
40ca9f6150 Added URL parameter parsing for Browse Endpoint 2018-10-05 00:21:49 -05:00
Pablo Prieto
267677a023 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-3904 2018-10-03 21:01:34 -05:00
Mark H. Wood
8db86e12f8 [DS-4032] Replace 'Boolean' with 'boolean' to avoid NPE. 2018-10-02 14:20:29 -04:00
Michael W Spalti
ef8b0c642d [DS-4021] This commit includes code formatting and comment changes.
Also a few minor modifications to patch operations.

Minor code format changes.

Final code formatting changes for EPersonRestRepositoryIT.
2018-10-02 11:02:51 -07:00
Tim Donohue
a3437d4217 Merge pull request #2188 from atmire/DS-3991_HAL-browser-download
[DS-3991] made sure that the halbrowser now correctly downloads files
2018-10-02 10:04:57 -05:00
Michael W Spalti
1f091bd6bd DS-4021 Reintroduce abstract and implementation classes for patch operations.
Prior to this commit, the factory implementations used only path and value, ignoring the operation name. This commit reintroduces default implementations operations (add, move, remove, replace) and working implementations for eperson and item replace operations. The factory methods are now designed to be used specifically for replace operations. As needed, new factory methods can be added.
2018-10-01 23:16:05 -07:00
Raf Ponsaerts
aacb7b0ee3 [DS-3991] changed the default name of a downloaded file to content in the client.js 2018-10-02 08:09:02 +02:00
Michael W Spalti
ca697e8064 [DS-4021] Added patch method for EPerson.
Implements patch operations for password, canLogin, requireCertificate and netid. Includes integration tests.
2018-10-01 14:04:59 -07:00
Oliver Goldschmidt
f9bfd5ed6d Merge branch 'master' of https://github.com/DSpace/DSpace into dspace7_opensearch 2018-10-01 15:37:29 +02:00
Raf Ponsaerts
7e1ca49bcf [DS-4010] fixed test case 2018-10-01 15:15:31 +02:00
Raf Ponsaerts
06b4e5d12a [DS-4010] added IT tests for the query functionality on the discover endpoint 2018-10-01 13:59:29 +02:00
Michael W Spalti
d51493a1a3 Rolling back indentation changes in ItemRestRepositoryIT.
Reverting indentation changes in ItemRestRepositoryIT.

More updates to indentation.

Corrected line length errors in ItemRestRepositoryIT.

Final formatting updates for ItemRestRepositoryIT.
2018-09-27 18:40:59 -07:00
Michael W Spalti
65c7bbb6f6 Updated respository patch classes and ItemRestRepository. 2018-09-27 13:01:23 -07:00
Terry Brady
0b991a4d13 Create default and test image variants 2018-09-27 07:15:14 -07:00
Terry Brady
e0d10d7eec support mult dockerfiles per branch 2018-09-26 14:34:53 -07:00
Tom Desair
bd464e03f5 DS-3542: Only trust X-Forwared-For headers from trusted proxies 2018-09-26 22:13:03 +02:00
Raf Ponsaerts
47dc9482c6 [DS-4010] added IT test for the discoverQuery with a query parameter containing dc.date.issued 2018-09-25 14:14:51 +02:00
Raf Ponsaerts
df5816dff9 Revert "Revert "[DS-4010] added a catch for the search error and throw illegalarguement instead so that the exception handling picks it up easily and returns a proper error response with headers included""
This reverts commit ea42765849.
2018-09-21 15:25:24 +02:00
Raf Ponsaerts
ea42765849 Revert "[DS-4010] added a catch for the search error and throw illegalarguement instead so that the exception handling picks it up easily and returns a proper error response with headers included"
This reverts commit b192552888.
2018-09-21 14:38:55 +02:00
Raf Ponsaerts
b192552888 [DS-4010] added a catch for the search error and throw illegalarguement instead so that the exception handling picks it up easily and returns a proper error response with headers included 2018-09-21 14:07:01 +02:00
Raf Ponsaerts
aa4f3bb60b [Task 55655] set the status to Bad Request if the query entered wasn't valid and the searchservice threw an exception 2018-09-21 13:20:02 +02:00
Raf Ponsaerts
26a55312b3 [DS-4010] Fixed the tests 2018-09-18 08:49:38 +02:00
Raf Ponsaerts
a73b980955 [DS-4010] removed the comments that don't represent the code anymore 2018-09-17 16:50:01 +02:00
Tim Donohue
b0e076ddb1 Merge pull request #2205 from AlexanderS/DS-3664-master
[DS-3664] ImageMagick: Only execute "identify" on first page
2018-09-17 09:40:29 -05:00
Raf Ponsaerts
b3abd7743c [DS-4010] Removed the escaping on the query parameter for the discover endpoint 2018-09-17 15:58:11 +02:00
Alexander Sulfrian
4f53075317 ImageMagick: Only execute "identify" on first page
The Info object used to get the color format runs "identify" on the supplied
input file. If the file has many pages, this process might require some time.
"identify" supports the same syntax for the input file like the other
ImageMagick tools and we can simply restrict the pages by changing the input
file name.

This fixes DS-3664.
2018-09-17 15:10:33 +02:00
Andrea Bollini
7aed10c1b1 DS-3937 Add support for styling and rows in the submission-forms.xml 2018-09-11 20:45:08 +02:00
Mark H. Wood
0340cd73ad [DS-3990] Add simple unit test. 2018-09-09 17:19:39 -04:00
Mark H. Wood
43d01f283f [DS-3990] Dummy task to test properties and parameters. 2018-09-09 12:40:49 -04:00
Tim Donohue
705e0fabbd Merge pull request #2111 from atmire/DS-3741-hibernate-deprecation-fix-applied-feedback
DS-3741 hibernate deprecation fix applied feedback
2018-09-06 14:28:40 -05:00
Terry Brady
d4dbd3894a fix exist/doesn't exist 2018-09-06 11:23:56 -07:00
Raf Ponsaerts
0c58803a44 [DS-3741] restored the findByMetadataQuery method in a slightly altered version 2018-09-06 14:46:22 +02:00
Mark H. Wood
2c47e9b149 [DS-3990] Satisfy Checkstyle (tested this time)-: 2018-09-06 08:44:06 -04:00
Mark H. Wood
af27fde95b [DS-3990] Satisfy Checkstyle. 2018-09-06 08:42:13 -04:00
Mark H. Wood
e980811d4e [DS-3990] CLI access to task run parameters. 2018-09-06 07:01:46 -04:00
Raf Ponsaerts
349eebb834 [DS-3991] removed the xmlui content disposition threshold property 2018-08-30 07:55:59 +02:00
Raf Ponsaerts
287dce21fc [DS-3991] altered the disposition rules in the BitstreamContentRestController and MultiPartFileSender 2018-08-30 07:55:59 +02:00
Raf Ponsaerts
c56c1d38ef [DS-3991] made sure that the halbrowser now correctly downloads files through the bitstreamcontent repository 2018-08-30 07:55:10 +02:00
Mark H. Wood
173b7f4fce [DS-3990] Invent curation run parameters. 2018-08-28 10:46:00 -04:00
Luigi Andrea Pascarelli
25e3a69b8f DS-3851 Configurable Workflow endpoints 2018-08-27 20:20:24 +02:00
Luigi Andrea Pascarelli
c0066d2a2f DS-3850 Create new submissions from files or identifiers 2018-08-26 10:42:14 +02:00
Tim Donohue
66b89a786d Merge pull request #1976 from atmire/DS-3542_Spring-permission-evaluator
DS-3542 Spring security authorizations 2
2018-08-23 14:26:30 -05:00
Tim Donohue
d43aba5131 Merge pull request #2179 from 4Science/DS-3905_2
DS-3905 Implement a generic uuid lookup endpoint (DSpaceObjectService based)
2018-08-23 12:29:45 -05:00
Raf Ponsaerts
928ae19d1d Applied the feedback 2018-08-23 14:41:54 +02:00
Raf Ponsaerts
02fb1f4077 [DS-3741] removed unecessary import in comments and removed unused parameter of method 2018-08-23 14:41:54 +02:00
Raf Ponsaerts
154177db49 [DS-3741] fixed limit-offset switch in method call 2018-08-23 14:41:54 +02:00
Raf Ponsaerts
d0889f858c [DS-3741] fixed checkstyle 2018-08-23 14:41:54 +02:00
Raf Ponsaerts
ae53acfcb7 [DS-3741] Fixed findByMetadataQuery in ItemDAOImpl 2018-08-23 14:41:54 +02:00
Raf Ponsaerts
07a76d394b [DS-3741] added documentation to the AbstractHibernateDAO class 2018-08-23 14:41:53 +02:00
Raf Ponsaerts
b95a55d3d0 Applied the community feedback regarding the PR 2018-08-23 14:41:53 +02:00
Raf Ponsaerts
a12c22a767 Removed a bunch of unnecessary code in comments 2018-08-23 14:41:53 +02:00
Raf Ponsaerts
a33f5de0df [DS 3741] fixed checkstyle in DAOImpl classes 2018-08-23 14:41:53 +02:00
Tom Desair
db0a898c42 DS-3741: Added dspace-api/target/generated-sources/annotations to Coveralls source directories 2018-08-23 14:41:12 +02:00
Raf Ponsaerts
0491247c6d [DS-3741] fixes after cherry-picking 2018-08-23 14:41:12 +02:00
Raf Ponsaerts
1745640bbc [DS-3741] fixed wrong and/or usage and wrote the last query" 2018-08-23 14:40:32 +02:00
Raf Ponsaerts
877b84fda6 [DS-3741] fixed the two resultTransformer queries 2018-08-23 14:40:09 +02:00
Raf Ponsaerts
6f5b9cddc6 [DS-3741] cleaned up code in comments 2018-08-23 14:40:08 +02:00
Raf Ponsaerts
7385ce5b04 [DS-3741] All DSpace test cases succeed, 3 DAO functions left unwritten 2018-08-23 14:39:24 +02:00
Tom Desair
e69ebcfe82 DS-3741: Changed setTimestamp to setParameter + added subquery example 2018-08-23 14:38:58 +02:00
Raf Ponsaerts
e16857ce9e [DS-3741] fixes after cherry-pick 2018-08-23 14:38:58 +02:00
Andrea Bollini
ccb81d5091 Use the RestModel getTypePlural convenient method 2018-08-22 22:23:33 +02:00
Andrea Bollini
7c691d8086 Add addition test to cover the residual DSpaceObject types 2018-08-22 21:26:18 +02:00
Andrea Bollini
23f4ebc6c2 Move to a DSpaceService lookup strategy (DBMS) 2018-08-22 21:25:55 +02:00
Tom Desair
cad1b5a10e DS-3542: Fixes after rebase 2018-08-22 15:49:33 +02:00
Tom Desair
798264c001 DS-3542: Restore DSpaceRestRepository methods with authorizations checking 2018-08-22 14:34:44 +02:00
Tom Desair
5d257f4423 DS-3542: Correct DSO Admin level check 2018-08-22 14:34:44 +02:00
Tom Desair
93bac51ead DS-3542: Added custom DSpace AuthenticationEntryPoint in order to return 401 status 2018-08-22 14:34:43 +02:00
Tom Desair
44a0f9b2de DS-3542: Renamed EPERSON Spring security grant to AUTHENTICATED 2018-08-22 14:34:43 +02:00
Tom Desair
0dede9eacb DS-3542: Spring Authorization - @Preauthorization 2018-08-22 14:34:33 +02:00
Yana De Pauw
302c877d21 DS-3542: Spring Authorization - @Preauthorization 2018-08-22 14:32:40 +02:00
frederic
295d6d6ba1 DS-3542: Spring permission evaluator for REST API 2018-08-22 14:03:26 +02:00
Tim Donohue
238ede5f9d Merge pull request #2010 from mohideen/patch-1
DS-3885. Minor fix on CommunityServiceImpl.java
2018-08-21 15:57:25 -05:00
Pablo Prieto
c0f31e889f CheckStyle Fixes 2018-08-17 16:01:49 -05:00
Pablo Prieto
cd94bbd0ee Checkstyle errors fixed
Added ITs for startsWith + Scope
2018-08-17 12:15:42 -05:00
Andrea Bollini
14338cc183 DS-3905 Implement a generic uuid lookup endpoint
Refactor common code from the IdentifierRestController in a generic DSpaceObject converter
Added ITs
Add handling of standard Spring Bind exception to conform with REST return code (422) usage
2018-08-17 12:20:34 +02:00
Pablo Prieto
c02a5aa778 Wrote Integration Tests 2018-08-16 18:55:50 -05:00
Pablo Prieto
de29b6af46 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-3904 2018-08-16 15:17:19 -05:00
Tim Donohue
3f7e2363c7 Merge pull request #2126 from 4Science/DS-3735
DS-3735 DS-3924 DS-3737 Implement CREATE, DELETE and some search methods for the EPersons endpoint
2018-08-16 15:07:25 -05:00
Pablo Prieto
322460827c Merge branch 'master' of https://github.com/DSpace/DSpace into DS-3904 2018-08-16 00:40:29 -05:00
Pablo Prieto
e25a732e6b Implemented startsWith for Items 2018-08-16 00:35:19 -05:00
Pablo Prieto
cbaad2e714 Implemented method for Browser Entries 2018-08-13 16:52:04 -05:00
Mark H. Wood
7bb8a8e9c4 [DS-3980] Conform to coding standard. 2018-08-13 15:23:18 -04:00
Mark H. Wood
81b41a2b78 [DS-3980] Replace absurd MIME types with 'application/octet-stream'. 2018-08-13 14:42:56 -04:00
Mark H. Wood
07c7fee64f [DS-3970] Remove confusing log message. 2018-08-13 12:55:13 -04:00
Andrea Bollini
0361ed77a5 Use better variable name and remove not thrown exception declaration 2018-08-11 10:08:58 +02:00
Tim Donohue
e65f94da0c Merge pull request #2135 from terrywbradyC9/dockerMaster
[DS-3967] 7x - Migrate Dockerfile to DSpace/DSpace
2018-08-10 09:51:50 -05:00
Tim Donohue
cb3b4d20cd Merge pull request #2163 from atmire/DS-3489_Search-REST-endpoint-Angular-alignment-rebased-on-master
DS-3489: search rest endpoint angular alignment rebased on master
2018-08-09 16:09:35 -05:00
Tim Donohue
063219add8 Merge pull request #2108 from ppmdo/DS-3910
DS-3910 Delete method on item endpoint
2018-08-09 11:03:39 -05:00
Raf Ponsaerts
6dbe089861 [DS-3489] fixed tests and travis failure 2018-08-09 10:22:26 +02:00
Raf Ponsaerts
587a807bec Removed facetLimit checks in the facetEntryMatcher since this is configurable and should never be hardcoded in tests 2018-08-09 10:22:26 +02:00
Raf Ponsaerts
a979392150 [DS-3489] editted the facet limit to be better handable for Angular 2018-08-09 10:22:26 +02:00
Raf Ponsaerts
db6c9faf83 Fixed rebase conflits 2018-08-09 10:22:06 +02:00
Pablo Prieto
84c123a547 Changed createTemplateItem to collection.withTemplateItem() to keep code coherency.
Applied changes to ItemRestRepositoryIT to work using withTemplateItem
2018-08-07 18:21:42 -05:00
Pablo Prieto
a25a046ffa Merge branch 'master' of https://github.com/DSpace/DSpace into DS-3910 2018-08-07 17:46:10 -05:00
Tim Donohue
544536ccef Merge pull request #2158 from Georgetown-University-Libraries/ds3795m
[DS-3795] Manage versions of some buggy transitive dependencies. (for master)
2018-08-07 12:48:43 -05:00
Tim Donohue
ac1ea060ef Merge duplicate dependencies up in Parent POM 2018-08-07 16:48:32 +00:00
Tim Donohue
d5b0b8b43a Merge pull request #2159 from tdonohue/ds3993-master
DS-3933 Updated Pubmed endpoints from http:// to https:// (for master)
2018-08-07 11:35:24 -05:00
Hendrik Geßner
dac12e1233 DS-3933 Updated Pubmed endpoints from http:// to https://. 2018-08-07 15:32:29 +00:00
Tim Donohue
500b2648a1 Merge pull request #2156 from Georgetown-University-Libraries/ds3700m
DS-3700: MediaFilterServiceImpl forgot to close an input stream (for master)
2018-08-07 10:25:12 -05:00
Tim Donohue
99aa4e0cfb Fix dependency convergence issues in new REST API. Add in a few missing changes. 2018-08-07 15:18:23 +00:00
Terry Brady
97a1180f6b fix ver override 2018-08-06 15:45:55 -07:00
Terry Brady
4a604488a7 fix migration/copy errs 2018-08-06 15:35:14 -07:00
Terry Brady
cc6bf1a343 Merge branch 'master' into ds3795m 2018-08-06 15:02:21 -07:00
Terry Brady
19172012b4 port pr2082 2018-08-06 15:00:02 -07:00
Tim Donohue
b159aa901a Merge pull request #2157 from Georgetown-University-Libraries/ds3629m
Ds 3629 listing of all groups misses pagination - XMLUI (for master)
2018-08-06 16:44:48 -05:00
Tim Donohue
a85228bd24 Merge pull request #2059 from MW3000/DS-3693-port-to-master-add-plugin-to-index-filenames-and-file-descriptions-for-files-in-ORIGINAL-bundle
[DS-3693] Port pull request #1838 to master
2018-08-06 16:42:35 -05:00
Tim Donohue
90d0bbccee Merge pull request #2144 from Georgetown-University-Libraries/ds3377m
[DS-3377] Solr queries too long (change search GET requests to POST) (for master)
2018-08-06 16:36:45 -05:00
Tim Donohue
2760c95099 Merge pull request #2155 from Georgetown-University-Libraries/ds3768m
DS-3768 Fixes the harvest solr parse error by (for master)
2018-08-06 16:24:44 -05:00
Tim Donohue
643f0fcde7 Merge pull request #2154 from Georgetown-University-Libraries/ds3310m
[DS-3310] Fix authentication problem in SwordV2 implementation (for master)
2018-08-06 16:19:34 -05:00
Tim Donohue
950c97bf6e Merge pull request #2153 from Georgetown-University-Libraries/ds3856m
DS-3856 - foreignkey-constraint community2community_child_comm_id_fkey (for master)
2018-08-06 16:15:09 -05:00
Tim Donohue
c038d76ced Merge pull request #2151 from Georgetown-University-Libraries/ds3822m
[DS-3822] Don't guess XML structure during ingest (for master)
2018-08-06 16:12:09 -05:00
Tim Donohue
ea9efd7fa3 Merge pull request #2152 from Georgetown-University-Libraries/ds3707m
DS-3707, DS-3715: Fixes to item level embargo/privacy in OAI-PMH (for master)
2018-08-06 16:09:45 -05:00
Tim Donohue
cbd5980368 Merge pull request #2150 from Georgetown-University-Libraries/ds3769m
DS-3769 Set the right hibernate property of … (for master)
2018-08-06 15:48:56 -05:00
Tim Donohue
3c4d5042fb Add in a single missing METHOD.POST 2018-08-06 20:46:20 +00:00
Tim Donohue
74f47de1e2 Add in missing javadocs. Revert small, accidental change. 2018-08-06 20:43:41 +00:00
Terry Brady
1b68a02dd7 Merge branch 'master' into DS-3693-port-to-master-add-plugin-to-index-filenames-and-file-descriptions-for-files-in-ORIGINAL-bundle 2018-08-06 13:23:52 -07:00
Terry Brady
79709ef76a port PR1864 2018-08-06 13:13:23 -07:00
Tim Donohue
21b628a792 Merge pull request #2149 from Georgetown-University-Libraries/ds3702m
DS-3702 & DS-3703: Rebuild the old behavior of bitstreams during vers… (for master)
2018-08-06 15:13:07 -05:00
Terry Brady
c4cf5b3c8d Merge pull request #2054 from tdonohue/DS-3447-ORCID-v2-master-port
DS-3447: ORCID v2 integration (port to master from PR#2039)
2018-08-06 13:08:31 -07:00
Tim Donohue
49947808a2 Merge pull request #2148 from Georgetown-University-Libraries/ds3680m
DS-3681: Refactoring of DSpaceAuthorityIndexer (for master)
2018-08-06 15:00:56 -05:00
Tim Donohue
8bf8a9fa69 Merge pull request #2147 from Georgetown-University-Libraries/ds3616m
DS-3616] Fix nested vocabulary search (master)
2018-08-06 14:51:28 -05:00
Tim Donohue
527dd1f64a Merge pull request #2146 from Georgetown-University-Libraries/ds3522m
DS-3522: Ensure Submission Policies are removed in XMLWorkflow (for master)
2018-08-06 14:46:16 -05:00
Tim Donohue
794dbfd550 Merge pull request #2145 from Georgetown-University-Libraries/ds3498m
DS-3498 quick fix. Disable full text snippets in search results & add warning (for master)
2018-08-06 14:43:12 -05:00
Tim Donohue
64493d24ca Merge pull request #2143 from Georgetown-University-Libraries/ds3332m
[DS-3332] Handle resolver is hardcoded in org.dspace.handle.UpdateHandlePrefix (for master)
2018-08-06 14:23:23 -05:00
Tim Donohue
c65755653b Merge pull request #2142 from Georgetown-University-Libraries/ds2675m
DS-2675: Bugfixing: Jump to value general errors with order (for master)
2018-08-06 14:14:27 -05:00
Terry Brady
f159c70d1c modify method signature 2018-08-06 12:09:56 -07:00
Terry Brady
1ab41bb4d1 checkstyle fix 2018-08-06 12:06:01 -07:00
Terry Brady
b9a7204420 port 1848 to master 2018-08-06 12:02:05 -07:00
Terry Brady
5437f7f8b9 port pr1890 minus jspui 2018-08-06 11:43:45 -07:00
Terry Brady
d396cf3490 checkstyle fix 2018-08-06 11:37:25 -07:00
Terry Brady
0b33907f5e port pr 1910 2018-08-06 11:33:49 -07:00
Terry Brady
0ced11c0af port pr1973 2018-08-06 11:25:22 -07:00
Terry Brady
33edc9530e checkstyle fix 2018-08-06 11:07:58 -07:00
Terry Brady
06ca8809e1 port PR 1867 2018-08-06 10:17:52 -07:00
Terry Brady
15d100050c port 1941 2018-08-03 23:28:33 -07:00
Terry Brady
ebb738e3e2 port pr1891 2018-08-03 23:24:06 -07:00
Terry Brady
9747d051a5 fix checkstyle 2018-08-03 23:18:18 -07:00
Terry Brady
7af1958d7e port pr1883 2018-08-03 23:12:38 -07:00
Terry Brady
fe648a678e port pr1835 2018-08-03 22:57:27 -07:00
Terry Brady
dfd0250ac1 port pr1770 2018-08-03 22:27:32 -07:00
Terry Brady
32399ac00b port pr 1779 2018-08-03 22:23:07 -07:00
Terry Brady
9bcaa07bce checkstyle fix 2018-08-03 22:16:53 -07:00
Terry Brady
c1590ce15e port pr2069 2018-08-03 17:53:03 -07:00
Terry Brady
220c8a5a48 checkstyle fix 2018-08-03 17:47:31 -07:00
Terry Brady
58855cd632 port pr2045 2018-08-03 17:40:56 -07:00
Terry Brady
77d67537f7 port pr1839 minus xmlui 2018-08-03 17:15:23 -07:00
Terry Brady
3eaaa5bb96 port pr1730 minus xmlui 2018-08-03 16:50:22 -07:00
Pablo Prieto
cb7c2519a3 Merge branch 'DS-3910' of https://github.com/ppmdo/DSpace into DS-3910 2018-08-03 16:56:06 -05:00
Pablo Prieto
ef67916563 Added JavaDoc for createTemplateItem 2018-08-03 16:54:56 -05:00
Tim Donohue
3eb16056c6 Merge pull request #2109 from atmire/DS-3489_Search-REST-query-filter-operator-and-facet-prefix
DS-3489: Search API query filter operator and facet prefix
2018-08-03 15:20:52 -05:00
Pablo
c076c99686 Merge branch 'master' into DS-3910 2018-08-02 11:15:11 -05:00
Terry Brady
5ba8bdd42b usage comment for docker local.cfg 2018-08-01 19:03:09 -07:00
Terry Brady
8f61b926bc move Dockerfile 2018-08-01 15:59:31 -07:00
Oliver Goldschmidt
b00bae2c23 improves error display for disabled opensearch and invalid format 2018-08-01 11:13:13 +02:00
Raf Ponsaerts
5b717bfa35 [DS-3489] added and finalized javadocs 2018-07-27 13:11:16 +02:00
Terry Brady
308dbe95e2 add usage 2018-07-25 17:58:15 -07:00
Terry Brady
27545eb088 DSpace 7 Docker migrate 2018-07-25 16:49:06 -07:00
Mark H. Wood
628c1250c2 Merge pull request #2031 from mwoodiupui/DS-3895
[DS-3895] Bitstream size can't be referenced in HQL queries
2018-07-25 11:54:08 -04:00
Oliver Goldschmidt
f3bdbe43cf support enable/disable of OpenSearch module from config file 2018-07-23 10:53:50 +02:00
Oliver Goldschmidt
d903daadce turn on opensearch in local.cfg, adopts new URL path in default configuration 2018-07-23 10:17:18 +02:00
Oliver Goldschmidt
be02e510e2 Merge branch 'master' of https://github.com/DSpace/DSpace into dspace7_opensearch 2018-07-20 19:35:41 +02:00
Oliver Goldschmidt
38f094caa8 adds rpp and start parameter 2018-07-20 19:28:46 +02:00
Raf Ponsaerts
bfac8d1d4b [DS-3489] adding javadocs and addressed a few issues 2018-07-19 15:50:40 +02:00
Oliver Goldschmidt
26d6ca9bac adds first draft of OpenSearchContoller 2018-07-19 12:05:19 +02:00
Andrea Bollini
92845557ff Provide javadoc for public and reusable methods 2018-07-19 12:01:05 +02:00
Andrea Bollini
9214ffa732 Create EPerson (draft) 2018-07-19 11:16:58 +02:00
Andrea Bollini
38a6e7ad9b Implement the delete eperson method 2018-07-19 11:16:58 +02:00
Andrea Bollini
9f2ca2633f IT for delete eperson 2018-07-19 11:16:58 +02:00
Andrea Bollini
ac342b4819 Implement the search methods 2018-07-19 11:16:58 +02:00
Andrea Bollini
a2569fe905 Declare eperson search methods mandatory parameters 2018-07-19 11:16:58 +02:00
Andrea Bollini
e248893e2f Add eperson search methods 2018-07-19 11:16:58 +02:00
Andrea Bollini
353eed6f60 Add IT for eperson search methods 2018-07-19 11:16:58 +02:00
Andrea Bollini
f807cc38a3 Fix authz issue on epersons endpoint 2018-07-19 11:16:58 +02:00
Andrea Bollini
516d6af6f4 Highlight authz issue on epersons endpoint 2018-07-19 11:16:50 +02:00
Pablo Prieto
e55846b212 Minor changes based on review. 2018-07-18 11:41:03 -05:00
Tim Donohue
8fb56be144 Merge pull request #1931 from atmire/DS-3782_upgrade-commons-collections-to-version-4
DS-3782 upgrade commons collections to version 4
2018-07-18 11:01:18 -05:00
Tim Donohue
2ede483e2b Add comment to POM about v3 dependency 2018-07-18 10:34:14 -05:00
Tom Desair
5a9edd1b70 DS-3782: Compilation error 2018-07-18 17:12:04 +02:00
Tom Desair
de33709364 DS-3782: Restore lines that should not be modified 2018-07-18 16:44:41 +02:00
Raf Ponsaerts
8ffbec58ca [DS-3782] Upgrade Commons Collections to version 4 2018-07-18 15:53:11 +02:00
Oliver Goldschmidt
eefb535214 setting DSpace classes to debug mode by default 2018-07-18 10:30:16 +02:00
Andrea Bollini
eb2b4184ef Merge pull request #2064 from mspalti/DS-3909
DS-3909: Adding withdraw, reinstate, and isDiscoverable support to item repository.
2018-07-18 00:01:05 +02:00
Chris Herron
b7b7ef3f81 DS-3873 Limit the usage of PDFBoxThumbnail to PDFs 2018-07-17 14:02:31 -04:00
Andrea Bollini
c8a08e4bb9 Code clean & include test about authz issues 2018-07-17 19:33:57 +02:00
Andrea Bollini
6b78459b68 Avoid to hide the internal exceptions 2018-07-17 19:32:44 +02:00
Andrea Bollini
7328d49962 Introduce support for withdrawn in ItemBuilder 2018-07-17 19:31:41 +02:00
Andrea Bollini
bf9d63c363 Merge branch 'master' of https://github.com/DSpace/DSpace into DS-3909 2018-07-17 17:29:55 +02:00
Mark H. Wood
ee71a93a53 [DS-3953] Expose list of metadata namespace files as configuration. 2018-07-13 12:42:44 -04:00
Pablo Prieto
23c2f1a7ca Style corrections 2018-07-12 15:50:22 -05:00
Pablo Prieto
6eb2829b4a Amend 2018-07-12 13:28:20 -05:00
Pablo Prieto
005535fcbf Revert "Removed local configurations"
This reverts commit 71347a3faf.
2018-07-12 13:13:52 -05:00
Pablo Prieto
b38aa1723c Merge branch 'DS-3910' of https://github.com/ppmdo/DSpace into DS-3910 2018-07-12 12:55:36 -05:00
Pablo Prieto
71347a3faf Removed local configurations 2018-07-12 12:54:29 -05:00
Pablo Prieto
7b6ce941df Moved createTemplateItem method to CollectionBuilder class.
Correction: WorkspaceItemBuilder extends AbstractBuiilder
2018-07-12 12:46:46 -05:00
Tim Donohue
25a83f3b3f Merge pull request #2025 from 4Science/DS-3892
DS-3892 add the findBySchema name method
2018-07-12 08:58:10 -05:00
Tim Donohue
82de7bb125 Merge pull request #2107 from KingKrimmson/DS-3939-master
DS-3939 OAI-Harvester, skip item and continue if handle is missing
2018-07-09 09:56:21 -05:00
Tom Desair
91218ed36c DS-3489: Fixing tests after rebase part 2 2018-07-04 14:22:09 +02:00
Pablo Prieto
9ab8904bf2 WorskspaceItemBuilder amend 2018-07-02 16:25:36 -05:00
Chris Herron
ddbe928cd3 DS-3939 OAI-Harvester, skip item and continue if handle is missing 2018-07-02 12:45:57 -04:00
Tom Desair
ad1a3310f0 DS-3489: Fixing tests after rebase part 1 2018-07-02 17:31:02 +02:00
Pablo Prieto
fe2030d024 Working Implementation
Wrote additional integration tests
Created WorkspaceItemBuilder
2018-06-29 16:51:11 -05:00
Tom Desair
3dc2024265 DS-3489: Fix test 2018-06-29 17:18:31 +02:00
Tom Desair
4acde3df79 DS-3489: Integration test for facet prefix 2018-06-29 17:01:26 +02:00
Raf Ponsaerts
db0a3cd756 [DS-3489] finished implementing the search query filter operator. Also fixed a not equals issue in standard dspace 2018-06-29 16:42:52 +02:00
Tom Desair
4d0382766c DS-3489: Add support for facet prefix 2018-06-29 16:35:03 +02:00
Raf Ponsaerts
b805baddf5 [DS-3489] currently have most of the functionality, need to export the enum to xml still 2018-06-29 16:34:17 +02:00
Raf Ponsaerts
e98af34e21 [DS-3489] currently have most of the functionality, need to export the enum to xml still 2018-06-29 16:31:22 +02:00
Pablo Prieto
a487fb7d58 Working method to DELETE on /api/core/items
Wrote integration tests
2018-06-28 19:12:24 -05:00
Terry Brady
06ed982031 Merge pull request #1974 from atmire/DS-3819_Return-303-when-Shibboleth-redirect-is-needed
DS-3819: Return HTTP redirect when login URL is supported
2018-06-28 09:57:42 -06:00
Tom Desair
a921a86422 DS-3819: Test fixes 2018-06-28 14:46:02 +02:00
Yana De Pauw
5a1202222f DS-3819: Add button for authentication method with location parameter when multiple authentication methods are present 2018-06-28 13:21:58 +02:00
Tom Desair
55f5571e1d [DS-3819] Revert back to 401 status and move login URL to WWW-Authenticate header 2018-06-28 13:21:57 +02:00
Tom Desair
93549cab24 DS-3819: Correct response code and added Shibboleth Special Groups test 2018-06-28 13:21:54 +02:00
Tom Desair
ecce5fe9b2 DS-3819: Return HTTP redirect when login URL is supported 2018-06-28 13:21:09 +02:00
Pablo Prieto
3a51c7a962 Added method 2018-06-27 19:03:25 -05:00
Andrea Bollini
7d03da0fea DS-3892 refactor common code and align IT class name with our convention 2018-06-22 09:52:04 +02:00
Andrea Bollini
43eda56269 Merge pull request #2077 from 4Science/DS-3838
DS-3838 return 204 for successful logout
2018-06-21 16:56:17 +02:00
Andrea Bollini
f00d31e370 Align comment with the actual code/expectation 2018-06-21 16:05:36 +02:00
Andrea Bollini
b15a0027b7 Merge pull request #2073 from 4Science/minor-fixes
DS-3923 manage null return in Search Methods
2018-06-21 15:51:43 +02:00
Michael W Spalti
52401d0719 [DS-3909] Implements ItemRepository patch method for withdrawal and discoverable (using a proposed helper class).
[DS-3909] Added base class and item implementation for patch requests.

[DS-3090] Added new Spring component for the ItemPatch implementation and autowired it into ItemRestRepository.

[DS-3909] Added new exception for item operation path and corrected a few exception messages.

[DS-3909] Modified integration tests and test builders.

[DS-3909] Integration tests for withdraw and reinstate would not complete without adding REMOVE, ADD, and WRITE permissions to the collection and item mocks.  New builder methods added to set permissions.

[DS-3909] Some cleanup in integration test builder methods.

[DS-3090] Removed unused imports.

[DS-3909] Corrections to patch operation paths and values.

[DS-3909] Updates to exceptions and code documentation.

[DS-3090] Added test for missing value in withdrawal request.

[D-3909] Added exception for missing boolean value in discoverable operations.

[DS-3909] Corrected formatting error.

[DS-3909] Changed default error response for operation processing in AbstractResourcePatch to PatchBadRequestException.

[DS-3909] Code comments and javadoc.

[DS-3909] Minor changes to method visibility and documentation.

[DS-3909] Added copy operation to mirror JsonPatchConverter and change visibility of the sub-class replace method.

[DS-3909] Updating PR change requests.

[DS-3909] Minor corrections to ItemPatch.

[3909] Javadoc updates.

[DS-3909] Removed test code that is not necessary when tests are ran as admin user.

Also added ResourceNotFoundException to controller patch method.

[DS-3909] Minor formating correction.

[DS-3909] Removed unused field from ItemBuilder.
2018-06-16 14:43:51 -07:00
Andrea Bollini
40fc109c7c DS-3838 return 204 for successful logout 2018-06-09 21:29:22 +02:00
Andrea Bollini
d5d2fe0e68 Complete ITs and implementation 2018-06-09 18:06:04 +02:00
Andrea Bollini
18046604a7 Improve support for Parameter in search methods 2018-06-09 18:05:04 +02:00
Andrea Bollini
bc2d9e0706 Fix findBySchema implementation for undefined schema 2018-06-09 16:34:24 +02:00
Andrea Bollini
7f68244c4e Add test for search methods 2018-06-09 16:34:24 +02:00
Andrea Bollini
6b74ef5544 Add priority to force cleanup in a specfic order 2018-06-09 16:34:24 +02:00
Andrea Bollini
a87baf6edb Fix checkstyle issues 2018-06-09 16:34:24 +02:00
Andrea Bollini
7e6d1a58ec DS-3892 add the findBySchema name method 2018-06-09 16:34:23 +02:00
Andrea Bollini
6af5349e74 DS-3923 manage null return in Search Methods 2018-06-01 07:13:08 +02:00
Andrea Bollini
af758212f7 Cleanup license header 2018-06-01 07:13:08 +02:00
Andrea Bollini
a6c1113165 Exclude rebel.xml configuration from license:check 2018-05-31 21:11:51 +02:00
Andrea Bollini
27ee3a13f0 Fix NPE when a valid JWT related to a deleted eperson is presented 2018-05-31 21:11:51 +02:00
Andrea Bollini
7157c43bc1 Fix admin eperson in test 2018-05-31 21:11:36 +02:00
Michael W Spalti
416fc80010 [DS-3909] Corrects UUID bug in RestResourceController. 2018-05-30 13:35:41 -07:00
Raf Ponsaerts
d1f8c56be5 Fixed a bug which caused the query OR without quotes to crash 2018-05-18 11:56:11 +02:00
Martin Walk
388858de14 Adapt integration tests to added search filters 2018-05-15 10:43:06 +02:00
Tim Donohue
e6d5254eff Temporary POM exclusion to avoid dependency conflict 2018-05-14 16:39:15 -05:00
Raf Ponsaerts
5c7e5ee4e2 Added the tests for the facet min/max values on the search/xx endpoint 2018-05-14 16:18:55 +02:00
Martin Walk
e29b72d228 Trigger Travis build 2018-05-14 15:06:07 +02:00
Martin Walk
5970b3ccfa Please the Checkstyle plugin 2018-05-14 14:41:58 +02:00
Martin Walk
5f52704ce5 Try to please the Checkstyle plugin :) 2018-05-14 14:18:21 +02:00
Raf Ponsaerts
7acaa69c95 Implemented the expose min-max on the facets in the search/xx endpoints 2018-05-14 13:50:15 +02:00
Martin Walk
3b62f4de86 Port pull request #1838 to master 2018-05-14 13:48:17 +02:00
Raf Ponsaerts
6b57003e34 Working on the min-max facet implementation 2018-05-14 08:29:52 +02:00
Tim Donohue
032a76ddb8 DS-3447: ORCID v2 integration (port to master from PR#2039) 2018-05-10 16:38:10 -05:00
Tom Desair
e62d63f343 DS-3489: Fix bugs to address test failures 2018-04-30 11:53:51 +02:00
Tom Desair
f2e2d01560 DS-3489: Improvements on /search/discover/facets 2018-04-30 11:53:36 +02:00
Tom Desair
b0e7994520 DS-3489: Fix search result object pagination links 2018-04-30 11:53:36 +02:00
Raf Ponsaerts
bc581e64e0 [DS-3489] updated the /api/discover/search endpoint to be more compatible with angular's expectations 2018-04-30 11:53:27 +02:00
Raf Ponsaerts
519f0a812c [DS-3489] added the facetLimit property to the buildFacetQueries for dates, reversed the order of the returned list to show the oldest pair first 2018-04-30 11:48:00 +02:00
Raf Ponsaerts
e36ded0244 [DS-3489] updated the /api/discover/search endpoint to be more compatible with angular's expectations 2018-04-30 11:47:59 +02:00
Mark H. Wood
24575d8ba1 [DS-3895] Rename Bitstream.getSize() to getSizeBytes(). 2018-04-23 13:29:31 -04:00
Mohamed Mohideen Abdul Rasheed
6d1b695ca5 Minor fix on CommunityServiceImpl.java
Update methods should call clearModified.
2018-03-29 15:46:02 -04:00
Terry W Brady
287cc56476 Port 6x to 7x 2017-07-14 09:46:23 -07:00
2753 changed files with 247352 additions and 83792 deletions

35
.codecov.yml Normal file
View File

@@ -0,0 +1,35 @@
# DSpace configuration for Codecov.io coverage reports
# These override the default YAML settings at
# https://docs.codecov.io/docs/codecov-yaml#section-default-yaml
# Can be validated via instructions at:
# https://docs.codecov.io/docs/codecov-yaml#validate-your-repository-yaml
# Tell Codecov not to send a coverage notification until (at least) 2 builds are completed
# Since we run Unit & Integration tests in parallel, this lets Codecov know that coverage
# needs to be merged across those builds
codecov:
notify:
after_n_builds: 2
# Settings related to code coverage analysis
coverage:
status:
# Configuration for project-level checks. This checks how the PR changes overall coverage.
project:
default:
# For each PR, auto compare coverage to previous commit.
# Require that overall (project) coverage does NOT drop more than 0.5%
target: auto
threshold: 0.5%
# Configuration for patch-level checks. This checks the relative coverage of the new PR code ONLY.
patch:
default:
# Enable informational mode, which just provides info to reviewers & always passes
# https://docs.codecov.io/docs/commit-status#section-informational
informational: true
# Turn PR comments "off". This feature adds the code coverage summary as a
# comment on each PR. See https://docs.codecov.io/docs/pull-request-comments
# However, this same info is available from the Codecov checks in the PR's
# "Checks" tab in GitHub. So, the comment is unnecessary.
comment: false

11
.dockerignore Normal file
View File

@@ -0,0 +1,11 @@
.git/
.idea/
.settings/
*/target/
dspace/modules/*/target/
Dockerfile.*
dspace/src/main/docker/dspace-postgres-pgcrypto
dspace/src/main/docker/dspace-postgres-pgcrypto-curl
dspace/src/main/docker/solr
dspace/src/main/docker/README.md
dspace/src/main/docker-compose/

6
.gitattributes vendored
View File

@@ -1,6 +1,12 @@
# Auto detect text files and perform LF normalization
* text=auto
# Ensure Unix files always keep Unix line endings
*.sh text eol=lf
# Ensure Windows files always keep Windows line endings
*.bat text eol=crlf
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain

22
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,22 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug, needs triage
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is. Include the version(s) of DSpace where you've seen this problem. Link to examples if they are public.
**To Reproduce**
Steps to reproduce the behavior:
1. Do this
2. Then this...
**Expected behavior**
A clear and concise description of what you expected to happen.
**Related work**
Link to any related tickets or PRs here.

View File

@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest a new feature for this project
title: ''
labels: new feature, needs triage
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives or workarounds you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -0,0 +1,26 @@
# This workflow runs whenever a new pull request is created
# TEMPORARILY DISABLED. Unfortunately this doesn't work for PRs created from forked repositories (which is how we tend to create PRs).
# There is no known workaround yet. See https://github.community/t/how-to-use-github-token-for-prs-from-forks/16818
name: Pull Request opened
# Only run for newly opened PRs against the "main" branch
on:
pull_request:
types: [opened]
branches:
- main
jobs:
automation:
runs-on: ubuntu-latest
steps:
# Assign the PR to whomever created it. This is useful for visualizing assignments on project boards
# See https://github.com/marketplace/actions/pull-request-assigner
- name: Assign PR to creator
uses: thomaseizinger/assign-pr-creator-action@v1.0.0
# Note, this authentication token is created automatically
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# Ignore errors. It is possible the PR was created by someone who cannot be assigned
continue-on-error: true

26
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,26 @@
## References
_Add references/links to any related issues or PRs. These may include:_
* Fixes #[issue-number]
* Related to [REST Contract](https://github.com/DSpace/Rest7Contract)
## Description
Short summary of changes (1-2 sentences).
## Instructions for Reviewers
Please add a more detailed description of the changes made by your PR. At a minimum, providing a bulleted list of changes in your PR is helpful to reviewers.
List of changes in this PR:
* First, ...
* Second, ...
**Include guidance for how to test or review your PR.** This may include: steps to reproduce a bug, screenshots or description of a new feature, or reasons behind specific changes.
## Checklist
_This checklist provides a reminder of what we are going to look for when reviewing your PR. You need not complete this checklist prior to creating your PR (draft PRs are always welcome). If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!_
- [ ] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
- [ ] My PR passes Checkstyle validation based on the [Code Style Guide](https://wiki.lyrasis.org/display/DSPACE/Code+Style+Guide).
- [ ] My PR includes Javadoc for _all new (or modified) public methods and classes_. It also includes Javadoc for large or complex private methods.
- [ ] My PR passes all tests and includes new/updated Unit or Integration Tests based on the [Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code+Testing+Guide).
- [ ] If my PR includes new, third-party dependencies (in any `pom.xml`), I've made sure their licenses align with the [DSpace BSD License](https://github.com/DSpace/DSpace/blob/main/LICENSE) based on the [Licensing of Contributions](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines#CodeContributionGuidelines-LicensingofContributions) documentation.
- [ ] If my PR modifies the REST API, I've linked to the REST Contract page (or open PR) related to this change.

77
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,77 @@
# DSpace Continuous Integration/Build via GitHub Actions
# Concepts borrowed from
# https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-java-with-maven
name: Build
# Run this Build for all pushes / PRs to current branch
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-latest
env:
# Give Maven 1GB of memory to work with
# Suppress all Maven "downloading" messages in Travis logs (see https://stackoverflow.com/a/35653426)
# This also slightly speeds builds, as there is less logging
MAVEN_OPTS: "-Xmx1024M -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
strategy:
# Create a matrix of two separate configurations for Unit vs Integration Tests
# This will ensure those tasks are run in parallel
matrix:
include:
# NOTE: Unit Tests include deprecated REST API v6 (as it has unit tests)
- type: "Unit Tests"
mvnflags: "-DskipUnitTests=false -Pdspace-rest"
resultsdir: "**/target/surefire-reports/**"
# NOTE: ITs skip all code validation checks, as they are already done by Unit Test job.
# - enforcer.skip => Skip maven-enforcer-plugin rules
# - checkstyle.skip => Skip all checkstyle checks by maven-checkstyle-plugin
# - license.skip => Skip all license header checks by license-maven-plugin
# - xml.skip => Skip all XML/XSLT validation by xml-maven-plugin
- type: "Integration Tests"
mvnflags: "-DskipIntegrationTests=false -Denforcer.skip=true -Dcheckstyle.skip=true -Dlicense.skip=true -Dxml.skip=true"
resultsdir: "**/target/failsafe-reports/**"
# Do NOT exit immediately if one matrix job fails
# This ensures ITs continue running even if Unit Tests fail, or visa versa
fail-fast: false
# These are the actual CI steps to perform per job
steps:
# https://github.com/actions/checkout
- name: Checkout codebase
uses: actions/checkout@v1
# https://github.com/actions/setup-java
- name: Install JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
# https://github.com/actions/cache
- name: Cache Maven dependencies
uses: actions/cache@v2
with:
# Cache entire ~/.m2/repository
path: ~/.m2/repository
# Cache key is hash of all pom.xml files. Therefore any changes to POMs will invalidate cache
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
# Run parallel Maven builds based on the above 'strategy.matrix'
- name: Run Maven ${{ matrix.type }}
env:
TEST_FLAGS: ${{ matrix.mvnflags }}
run: mvn install -B -V -P-assembly -Pcoverage-report $TEST_FLAGS
# If previous step failed, save results of tests to downloadable artifact for this job
# (This artifact is downloadable at the bottom of any job's summary page)
- name: Upload Results of ${{ matrix.type }} to Artifact
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.type }} results
path: ${{ matrix.resultsdir }}
retention-days: 7
# https://github.com/codecov/codecov-action
- name: Upload coverage to Codecov.io
uses: codecov/codecov-action@v1

29
.github/workflows/issue_opened.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
# This workflow runs whenever a new issue is created
name: Issue opened
on:
issues:
types: [opened]
jobs:
automation:
runs-on: ubuntu-latest
steps:
# Add the new issue to a project board, if it needs triage
# See https://github.com/marketplace/actions/create-project-card-action
- name: Add issue to project board
# Only add to project board if issue is flagged as "needs triage" or has no labels
# NOTE: By default we flag new issues as "needs triage" in our issue template
if: (contains(github.event.issue.labels.*.name, 'needs triage') || join(github.event.issue.labels.*.name) == '')
uses: technote-space/create-project-card-action@v1
# Note, the authentication token below is an ORG level Secret.
# It must be created/recreated manually via a personal access token with "public_repo" and "admin:org" permissions
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token#permissions-for-the-github_token
# This is necessary because the "DSpace Backlog" project is an org level project (i.e. not repo specific)
with:
GITHUB_TOKEN: ${{ secrets.ORG_PROJECT_TOKEN }}
PROJECT: DSpace Backlog
COLUMN: Triage
CHECK_ORG_PROJECT: true
# Ignore errors.
continue-on-error: true

View File

@@ -0,0 +1,25 @@
# This workflow checks open PRs for merge conflicts and labels them when conflicts are found
name: Check for merge conflicts
# Run whenever the "main" branch is updated
# NOTE: This means merge conflicts are only checked for when a PR is merged to main.
on:
push:
branches:
- main
jobs:
triage:
runs-on: ubuntu-latest
steps:
# See: https://github.com/mschilde/auto-label-merge-conflicts/
- name: Auto-label PRs with merge conflicts
uses: mschilde/auto-label-merge-conflicts@v2.0
# Add "merge conflict" label if a merge conflict is detected. Remove it when resolved.
# Note, the authentication token is created automatically
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token
with:
CONFLICT_LABEL_NAME: 'merge conflict'
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Ignore errors
continue-on-error: true

2
.gitignore vendored
View File

@@ -19,7 +19,7 @@ tags
overlays/
## Ignore project files created by NetBeans
nbproject/private/
nbproject/
build/
nbbuild/
dist/

9
.lgtm.yml Normal file
View File

@@ -0,0 +1,9 @@
# LGTM Settings (https://lgtm.com/)
# For reference, see https://lgtm.com/help/lgtm/lgtm.yml-configuration-file
# or template at https://lgtm.com/static/downloads/lgtm.template.yml
extraction:
java:
index:
# Specify the Java version required to build the project
java_version: 11

View File

@@ -1,44 +0,0 @@
language: java
sudo: false
env:
# Give Maven 1GB of memory to work with
- MAVEN_OPTS=-Xmx1024M
jdk:
# DS-3384 Oracle JDK 8 has DocLint enabled by default.
# Let's use this to catch any newly introduced DocLint issues.
- oraclejdk8
## Should we run into any problems with oraclejdk8 on Travis, we may try the following workaround.
## https://docs.travis-ci.com/user/languages/java#Testing-Against-Multiple-JDKs
## https://github.com/travis-ci/travis-ci/issues/3259#issuecomment-130860338
#addons:
# apt:
# packages:
# - oracle-java8-installer
# Install prerequisites for building Mirage2 more rapidly
before_install:
# Remove outdated settings.xml from Travis builds. Workaround for https://github.com/travis-ci/travis-ci/issues/4629
- rm ~/.m2/settings.xml
# Skip install stage, as we'll do it below
install: "echo 'Skipping install stage, dependencies will be downloaded during build and test stages.'"
# Two stage Build and Test
# 1. Install & Unit Test APIs
# 2. Assemble DSpace
script:
# 1. [Install & Unit Test] Check source code licenses and run source code Unit Tests
# license:check => Validate all source code license headers
# -Dmaven.test.skip=false => Enable DSpace Unit Tests
# -DskipITs=false => Enable DSpace Integration Tests
# -P !assembly => Skip normal assembly (as it can be memory intensive)
# -B => Maven batch/non-interactive mode (recommended for CI)
# -V => Display Maven version info before build
# -Dsurefire.rerunFailingTestsCount=2 => try again for flakey tests, and keep track of/report on number of retries
- "mvn clean install license:check -Dmaven.test.skip=false -DskipITs=false -P !assembly -B -V -Dsurefire.rerunFailingTestsCount=2"
# 2. [Assemble DSpace] Ensure overlay & assembly process works (from [src]/dspace/)
# -P !assembly => SKIP the actual building of [src]/dspace/dspace-installer (as it can be memory intensive)
- "cd dspace && mvn package -P !assembly -B -V -Dsurefire.rerunFailingTestsCount=2"

63
Dockerfile Normal file
View File

@@ -0,0 +1,63 @@
# This image will be published as dspace/dspace
# See https://github.com/DSpace/DSpace/tree/main/dspace/src/main/docker for usage details
#
# This version is JDK11 compatible
# - tomcat:8-jdk11
# - ANT 1.10.7
# - maven:3-jdk-11 (see dspace-dependencies)
# - note: default tag for branch: dspace/dspace: dspace/dspace:dspace-7_x
# Step 1 - Run Maven Build
FROM dspace/dspace-dependencies:dspace-7_x as build
ARG TARGET_DIR=dspace-installer
WORKDIR /app
# The dspace-install directory will be written to /install
RUN mkdir /install \
&& chown -Rv dspace: /install \
&& chown -Rv dspace: /app
USER dspace
# Copy the DSpace source code into the workdir (excluding .dockerignore contents)
ADD --chown=dspace . /app/
COPY dspace/src/main/docker/local.cfg /app/local.cfg
# Build DSpace (note: this build doesn't include the optional, deprecated "dspace-rest" webapp)
# Copy the dspace-install directory to /install. Clean up the build to keep the docker image small
RUN mvn package && \
mv /app/dspace/target/${TARGET_DIR}/* /install && \
mvn clean
# Step 2 - Run Ant Deploy
FROM tomcat:8-jdk11 as ant_build
ARG TARGET_DIR=dspace-installer
COPY --from=build /install /dspace-src
WORKDIR /dspace-src
# Create the initial install deployment using ANT
ENV ANT_VERSION 1.10.7
ENV ANT_HOME /tmp/ant-$ANT_VERSION
ENV PATH $ANT_HOME/bin:$PATH
RUN mkdir $ANT_HOME && \
wget -qO- "https://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C $ANT_HOME
RUN ant init_installation update_configs update_code update_webapps
# Step 3 - Run tomcat
# Create a new tomcat image that does not retain the the build directory contents
FROM tomcat:8-jdk11
ENV DSPACE_INSTALL=/dspace
COPY --from=ant_build /dspace $DSPACE_INSTALL
EXPOSE 8080 8009
ENV JAVA_OPTS=-Xmx2000m
# Run the "server" webapp off the /server path (e.g. http://localhost:8080/server/)
RUN ln -s $DSPACE_INSTALL/webapps/server /usr/local/tomcat/webapps/server
# If you wish to run "server" webapp off the ROOT path, then comment out the above RUN, and uncomment the below RUN.
# You also MUST update the URL in dspace/src/main/docker/local.cfg
# Please note that server webapp should only run on one path at a time.
#RUN mv /usr/local/tomcat/webapps/ROOT /usr/local/tomcat/webapps/ROOT.bk && \
# ln -s $DSPACE_INSTALL/webapps/server /usr/local/tomcat/webapps/ROOT

53
Dockerfile.cli Normal file
View File

@@ -0,0 +1,53 @@
# This image will be published as dspace/dspace-cli
# See https://github.com/DSpace/DSpace/tree/main/dspace/src/main/docker for usage details
#
# This version is JDK11 compatible
# - openjdk:11
# - ANT 1.10.7
# - maven:3-jdk-11 (see dspace-dependencies)
# - note: default tag for branch: dspace/dspace-cli: dspace/dspace-cli:dspace-7_x
# Step 1 - Run Maven Build
FROM dspace/dspace-dependencies:dspace-7_x as build
ARG TARGET_DIR=dspace-installer
WORKDIR /app
# The dspace-install directory will be written to /install
RUN mkdir /install \
&& chown -Rv dspace: /install \
&& chown -Rv dspace: /app
USER dspace
# Copy the DSpace source code into the workdir (excluding .dockerignore contents)
ADD --chown=dspace . /app/
COPY dspace/src/main/docker/local.cfg /app/local.cfg
# Build DSpace. Copy the dspace-install directory to /install. Clean up the build to keep the docker image small
RUN mvn package && \
mv /app/dspace/target/${TARGET_DIR}/* /install && \
mvn clean
# Step 2 - Run Ant Deploy
FROM openjdk:11 as ant_build
ARG TARGET_DIR=dspace-installer
COPY --from=build /install /dspace-src
WORKDIR /dspace-src
# Create the initial install deployment using ANT
ENV ANT_VERSION 1.10.7
ENV ANT_HOME /tmp/ant-$ANT_VERSION
ENV PATH $ANT_HOME/bin:$PATH
RUN mkdir $ANT_HOME && \
wget -qO- "https://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C $ANT_HOME
RUN ant init_installation update_configs update_code
# Step 3 - Run jdk
# Create a new tomcat image that does not retain the the build directory contents
FROM openjdk:11
ENV DSPACE_INSTALL=/dspace
COPY --from=ant_build /dspace $DSPACE_INSTALL
ENV JAVA_OPTS=-Xmx1000m

27
Dockerfile.dependencies Normal file
View File

@@ -0,0 +1,27 @@
# This image will be published as dspace/dspace-dependencies
# The purpose of this image is to make the build for dspace/dspace run faster
#
# This version is JDK11 compatible
# - maven:3-jdk-11
# Step 1 - Run Maven Build
FROM maven:3-jdk-11 as build
ARG TARGET_DIR=dspace-installer
WORKDIR /app
RUN useradd dspace \
&& mkdir /home/dspace \
&& chown -Rv dspace: /home/dspace
USER dspace
# Copy the DSpace source code into the workdir (excluding .dockerignore contents)
ADD --chown=dspace . /app/
COPY dspace/src/main/docker/local.cfg /app/local.cfg
# Trigger the installation of all maven dependencies
RUN mvn package
# Clear the contents of the /app directory (including all maven builds), so no artifacts remain.
# This ensures when dspace:dspace is built, it will just the Maven local cache (.m2) for dependencies
USER root
RUN rm -rf /app/*

77
Dockerfile.test Normal file
View File

@@ -0,0 +1,77 @@
# This image will be published as dspace/dspace
# See https://github.com/DSpace/DSpace/tree/main/dspace/src/main/docker for usage details
#
# This version is JDK11 compatible
# - tomcat:8-jdk11
# - ANT 1.10.7
# - maven:3-jdk-11 (see dspace-dependencies)
# - note: default tag for branch: dspace/dspace: dspace/dspace:dspace-7_x-test
#
# This image is meant for TESTING/DEVELOPMENT ONLY as it deploys the old v6 REST API under HTTP (not HTTPS)
# Step 1 - Run Maven Build
FROM dspace/dspace-dependencies:dspace-7_x as build
ARG TARGET_DIR=dspace-installer
WORKDIR /app
# The dspace-install directory will be written to /install
RUN mkdir /install \
&& chown -Rv dspace: /install \
&& chown -Rv dspace: /app
USER dspace
# Copy the DSpace source code into the workdir (excluding .dockerignore contents)
ADD --chown=dspace . /app/
COPY dspace/src/main/docker/local.cfg /app/local.cfg
# Build DSpace (including the optional, deprecated "dspace-rest" webapp)
# Copy the dspace-install directory to /install. Clean up the build to keep the docker image small
RUN mvn package -Pdspace-rest && \
mv /app/dspace/target/${TARGET_DIR}/* /install && \
mvn clean
# Step 2 - Run Ant Deploy
FROM tomcat:8-jdk11 as ant_build
ARG TARGET_DIR=dspace-installer
COPY --from=build /install /dspace-src
WORKDIR /dspace-src
# Create the initial install deployment using ANT
ENV ANT_VERSION 1.10.7
ENV ANT_HOME /tmp/ant-$ANT_VERSION
ENV PATH $ANT_HOME/bin:$PATH
RUN mkdir $ANT_HOME && \
wget -qO- "https://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VERSION-bin.tar.gz" | tar -zx --strip-components=1 -C $ANT_HOME
RUN ant init_installation update_configs update_code update_webapps
# Step 3 - Run tomcat
# Create a new tomcat image that does not retain the the build directory contents
FROM tomcat:8-jdk11
ENV DSPACE_INSTALL=/dspace
ENV TOMCAT_INSTALL=/usr/local/tomcat
COPY --from=ant_build /dspace $DSPACE_INSTALL
# Enable the AJP connector in Tomcat's server.xml
# NOTE: secretRequired="false" should only be used when AJP is NOT accessible from an external network. But, secretRequired="true" isn't supported by mod_proxy_ajp until Apache 2.5
RUN sed -i '/Service name="Catalina".*/a \\n <Connector protocol="AJP/1.3" port="8009" address="0.0.0.0" redirectPort="8443" URIEncoding="UTF-8" secretRequired="false" />' $TOMCAT_INSTALL/conf/server.xml
# Expose Tomcat port and AJP port
EXPOSE 8080 8009
ENV JAVA_OPTS=-Xmx2000m
# Run the "server" webapp off the /server path (e.g. http://localhost:8080/server/)
# and the v6.x (deprecated) REST API off the "/rest" path
RUN ln -s $DSPACE_INSTALL/webapps/server /usr/local/tomcat/webapps/server && \
ln -s $DSPACE_INSTALL/webapps/rest /usr/local/tomcat/webapps/rest
# If you wish to run "server" webapp off the ROOT path, then comment out the above RUN, and uncomment the below RUN.
# You also MUST update the URL in dspace/src/main/docker/local.cfg
# Please note that server webapp should only run on one path at a time.
#RUN mv /usr/local/tomcat/webapps/ROOT /usr/local/tomcat/webapps/ROOT.bk && \
# ln -s $DSPACE_INSTALL/webapps/server /usr/local/tomcat/webapps/ROOT && \
# ln -s $DSPACE_INSTALL/webapps/rest /usr/local/tomcat/webapps/rest
# Overwrite the v6.x (deprecated) REST API's web.xml, so that we can run it on HTTP (defaults to requiring HTTPS)
COPY dspace/src/main/docker/test/rest_web.xml $DSPACE_INSTALL/webapps/rest/WEB-INF/web.xml
RUN sed -i -e "s|\${dspace.dir}|$DSPACE_INSTALL|" $DSPACE_INSTALL/webapps/rest/WEB-INF/web.xml

11
LICENSE
View File

@@ -1,7 +1,6 @@
DSpace source code license:
DSpace source code BSD License:
Copyright (c) 2002-2016, DuraSpace. All rights reserved.
Copyright (c) 2002-2021, LYRASIS. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
@@ -34,7 +33,7 @@ DAMAGE.
DSpace uses third-party libraries which may be distributed under
different licenses to the above. Information about these licenses
is detailed in the LICENSES_THIRD_PARTY file at the root of the source
tree. You must agree to the terms of these licenses, in addition to
different licenses to the above. Information about these licenses
is detailed in the LICENSES_THIRD_PARTY file at the root of the source
tree. You must agree to the terms of these licenses, in addition to
the above DSpace source code license, in order to use this software.

View File

@@ -1,385 +1,528 @@
DSpace uses third-party libraries which may be distributed under different
DSpace uses third-party libraries which may be distributed under different
licenses. We have listed all of these third party libraries and their licenses
below. This file can be regenerated at any time by simply running:
mvn clean verify -Dthird.party.licenses=true
You must agree to the terms of these licenses, in addition to the DSpace
You must agree to the terms of these licenses, in addition to the DSpace
source code license, in order to use this software.
---------------------------------------------------
Third party Java libraries listed by License type.
PLEASE NOTE: Some dependencies may be listed under multiple licenses if they
are dual-licensed. This is especially true of anything listed as
"GNU General Public Library" below, as DSpace actually does NOT allow for any
are dual-licensed. This is especially true of anything listed as
"GNU General Public Library" below, as DSpace actually does NOT allow for any
dependencies that are solely released under GPL terms. For more info see:
https://wiki.duraspace.org/display/DSPACE/Code+Contribution+Guidelines
https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
---------------------------------------------------
Apache Software License, Version 2.0:
* Ant-Contrib Tasks (ant-contrib:ant-contrib:1.0b3 - http://ant-contrib.sourceforge.net)
* Code Generation Library (cglib:cglib:2.2.2 - http://cglib.sourceforge.net/)
* AWS SDK for Java - Core (com.amazonaws:aws-java-sdk-core:1.10.50 - https://aws.amazon.com/sdkforjava)
* AWS Java SDK for AWS KMS (com.amazonaws:aws-java-sdk-kms:1.10.50 - https://aws.amazon.com/sdkforjava)
* AWS Java SDK for Amazon S3 (com.amazonaws:aws-java-sdk-s3:1.10.50 - https://aws.amazon.com/sdkforjava)
* HPPC Collections (com.carrotsearch:hppc:0.5.2 - http://labs.carrotsearch.com/hppc.html/hppc)
* metadata-extractor (com.drewnoakes:metadata-extractor:2.6.2 - http://code.google.com/p/metadata-extractor/)
* Jackson-annotations (com.fasterxml.jackson.core:jackson-annotations:2.5.4 - http://github.com/FasterXML/jackson)
* Jackson-annotations (com.fasterxml.jackson.core:jackson-annotations:2.7.0 - http://github.com/FasterXML/jackson)
* Jackson-core (com.fasterxml.jackson.core:jackson-core:2.5.4 - https://github.com/FasterXML/jackson)
* Jackson-core (com.fasterxml.jackson.core:jackson-core:2.7.0 - https://github.com/FasterXML/jackson-core)
* jackson-databind (com.fasterxml.jackson.core:jackson-databind:2.5.4 - http://github.com/FasterXML/jackson)
* jackson-databind (com.fasterxml.jackson.core:jackson-databind:2.7.0 - http://github.com/FasterXML/jackson)
* Jackson-JAXRS-base (com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.5.4 - http://wiki.fasterxml.com/JacksonHome/jackson-jaxrs-base)
* Jackson-JAXRS-JSON (com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.5.4 - http://wiki.fasterxml.com/JacksonHome/jackson-jaxrs-json-provider)
* Jackson-module-JAXB-annotations (com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.5.4 - http://wiki.fasterxml.com/JacksonJAXBAnnotations)
* Google APIs Client Library for Java (com.google.api-client:google-api-client:1.21.0 - https://github.com/google/google-api-java-client/google-api-client)
* Google Analytics API v3-rev123-1.21.0 (com.google.apis:google-api-services-analytics:v3-rev123-1.21.0 - http://nexus.sonatype.org/oss-repository-hosting.html/google-api-services-analytics)
* jcommander (com.beust:jcommander:1.78 - https://jcommander.org)
* HPPC Collections (com.carrotsearch:hppc:0.8.1 - http://labs.carrotsearch.com/hppc.html/hppc)
* parso (com.epam:parso:2.0.11 - https://github.com/epam/parso)
* ClassMate (com.fasterxml:classmate:1.3.0 - http://github.com/cowtowncoder/java-classmate)
* Jackson-annotations (com.fasterxml.jackson.core:jackson-annotations:2.12.3 - http://github.com/FasterXML/jackson)
* Jackson-core (com.fasterxml.jackson.core:jackson-core:2.12.3 - https://github.com/FasterXML/jackson-core)
* jackson-databind (com.fasterxml.jackson.core:jackson-databind:2.12.3 - http://github.com/FasterXML/jackson)
* Jackson dataformat: Smile (com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.11.2 - http://github.com/FasterXML/jackson-dataformats-binary)
* Jackson datatype: jdk8 (com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.3 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8)
* Jackson datatype: JSR310 (com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.3 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310)
* Jackson-module-parameter-names (com.fasterxml.jackson.module:jackson-module-parameter-names:2.10.3 - https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names)
* Woodstox (com.fasterxml.woodstox:woodstox-core:5.0.3 - https://github.com/FasterXML/woodstox)
* zjsonpatch (com.flipkart.zjsonpatch:zjsonpatch:0.4.6 - https://github.com/flipkart-incubator/zjsonpatch/)
* Caffeine cache (com.github.ben-manes.caffeine:caffeine:2.8.4 - https://github.com/ben-manes/caffeine)
* Open JSON (com.github.openjson:openjson:1.0.12 - https://github.com/openjson/openjson)
* JCIP Annotations under Apache License (com.github.stephenc.jcip:jcip-annotations:1.0-1 - http://stephenc.github.com/jcip-annotations)
* Google APIs Client Library for Java (com.google.api-client:google-api-client:1.23.0 - https://github.com/google/google-api-java-client/google-api-client)
* Google Analytics API v3-rev145-1.23.0 (com.google.apis:google-api-services-analytics:v3-rev145-1.23.0 - http://nexus.sonatype.org/oss-repository-hosting.html/google-api-services-analytics)
* FindBugs-jsr305 (com.google.code.findbugs:jsr305:3.0.1 - http://findbugs.sourceforge.net/)
* Gson (com.google.code.gson:gson:2.6.1 - https://github.com/google/gson/gson)
* Guava: Google Core Libraries for Java (com.google.guava:guava:14.0.1 - http://code.google.com/p/guava-libraries/guava)
* Guava: Google Core Libraries for Java (com.google.guava:guava:19.0 - https://github.com/google/guava/guava)
* Gson (com.google.code.gson:gson:2.8.6 - https://github.com/google/gson/gson)
* error-prone annotations (com.google.errorprone:error_prone_annotations:2.3.4 - http://nexus.sonatype.org/oss-repository-hosting.html/error_prone_parent/error_prone_annotations)
* Guava InternalFutureFailureAccess and InternalFutures (com.google.guava:failureaccess:1.0.1 - https://github.com/google/guava/failureaccess)
* Guava: Google Core Libraries for Java (com.google.guava:guava:30.0-jre - https://github.com/google/guava/guava)
* Guava: Google Core Libraries for Java (JDK5 Backport) (com.google.guava:guava-jdk5:17.0 - http://code.google.com/p/guava-libraries/guava-jdk5)
* Google HTTP Client Library for Java (com.google.http-client:google-http-client:1.21.0 - https://github.com/google/google-http-java-client/google-http-client)
* Jackson 2 extensions to the Google HTTP Client Library for Java. (com.google.http-client:google-http-client-jackson2:1.21.0 - https://github.com/google/google-http-java-client/google-http-client-jackson2)
* Google OAuth Client Library for Java (com.google.oauth-client:google-oauth-client:1.21.0 - https://github.com/google/google-oauth-java-client/google-oauth-client)
* ConcurrentLinkedHashMap (com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.2 - http://code.google.com/p/concurrentlinkedhashmap)
* ISO Parser (com.googlecode.mp4parser:isoparser:1.0-RC-1 - http://code.google.com/p/mp4parser/)
* Guava ListenableFuture only (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava - https://github.com/google/guava/listenablefuture)
* Google HTTP Client Library for Java (com.google.http-client:google-http-client:1.23.0 - https://github.com/google/google-http-java-client/google-http-client)
* Jackson 2 extensions to the Google HTTP Client Library for Java. (com.google.http-client:google-http-client-jackson2:1.23.0 - https://github.com/google/google-http-java-client/google-http-client-jackson2)
* J2ObjC Annotations (com.google.j2objc:j2objc-annotations:1.3 - https://github.com/google/j2objc/)
* Google OAuth Client Library for Java (com.google.oauth-client:google-oauth-client:1.23.0 - https://github.com/google/google-oauth-java-client/google-oauth-client)
* ConcurrentLinkedHashMap (com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2 - http://code.google.com/p/concurrentlinkedhashmap)
* JSON.simple (com.googlecode.json-simple:json-simple:1.1.1 - http://code.google.com/p/json-simple/)
* Jackcess (com.healthmarketscience.jackcess:jackcess:3.0.1 - https://jackcess.sourceforge.io)
* Jackcess Encrypt (com.healthmarketscience.jackcess:jackcess-encrypt:3.0.0 - http://jackcessencrypt.sf.net)
* project ':json-path' (com.jayway.jsonpath:json-path:2.4.0 - https://github.com/jayway/JsonPath)
* project ':json-path-assert' (com.jayway.jsonpath:json-path-assert:2.4.0 - https://github.com/jayway/JsonPath)
* Disruptor Framework (com.lmax:disruptor:3.4.2 - http://lmax-exchange.github.com/disruptor)
* builder-commons (com.lyncode:builder-commons:1.0.2 - http://nexus.sonatype.org/oss-repository-hosting.html/builder-commons)
* Jtwig Core (com.lyncode:jtwig-core:2.0.1 - http://www.lyncode.com/jtwig-core)
* Jtwig Core Functions (com.lyncode:jtwig-functions:2.0.1 - http://www.lyncode.com/jtwig-functions)
* Jtwig Spring (com.lyncode:jtwig-spring:2.0.1 - http://www.lyncode.com/jtwig-spring)
* Test Support (com.lyncode:test-support:1.0.3 - http://nexus.sonatype.org/oss-repository-hosting.html/test-support)
* Spatial4J (com.spatial4j:spatial4j:0.4.1 - https://github.com/spatial4j/spatial4j)
* Apache Commons BeanUtils (commons-beanutils:commons-beanutils:1.9.2 - http://commons.apache.org/proper/commons-beanutils/)
* Apache Commons CLI (commons-cli:commons-cli:1.3.1 - http://commons.apache.org/proper/commons-cli/)
* MaxMind DB Reader (com.maxmind.db:maxmind-db:1.2.2 - http://dev.maxmind.com/)
* MaxMind GeoIP2 API (com.maxmind.geoip2:geoip2:2.11.0 - http://dev.maxmind.com/geoip/geoip2/web-services)
* Nimbus JOSE+JWT (com.nimbusds:nimbus-jose-jwt:7.9 - https://bitbucket.org/connect2id/nimbus-jose-jwt)
* opencsv (com.opencsv:opencsv:5.2 - http://opencsv.sf.net)
* java-libpst (com.pff:java-libpst:0.9.3 - https://github.com/rjohnsondev/java-libpst)
* rome (com.rometools:rome:1.12.2 - http://rometools.com/rome)
* rome-utils (com.rometools:rome-utils:1.12.2 - http://rometools.com/rome-utils)
* fastinfoset (com.sun.xml.fastinfoset:FastInfoset:1.2.15 - http://fi.java.net)
* T-Digest (com.tdunning:t-digest:3.1 - https://github.com/tdunning/t-digest)
* JSON library from Android SDK (com.vaadin.external.google:android-json:0.0.20131108.vaadin1 - http://developer.android.com/sdk)
* HikariCP (com.zaxxer:HikariCP-java7:2.4.13 - https://github.com/brettwooldridge/HikariCP)
* SparseBitSet (com.zaxxer:SparseBitSet:1.2 - https://github.com/brettwooldridge/SparseBitSet)
* Apache Commons BeanUtils (commons-beanutils:commons-beanutils:1.9.4 - https://commons.apache.org/proper/commons-beanutils/)
* Apache Commons CLI (commons-cli:commons-cli:1.4 - http://commons.apache.org/proper/commons-cli/)
* Apache Commons Codec (commons-codec:commons-codec:1.10 - http://commons.apache.org/proper/commons-codec/)
* Apache Commons Collections (commons-collections:commons-collections:3.2.2 - http://commons.apache.org/collections/)
* Apache Commons Configuration (commons-configuration:commons-configuration:1.10 - http://commons.apache.org/configuration/)
* Commons Digester (commons-digester:commons-digester:1.8.1 - http://commons.apache.org/digester/)
* Apache Commons FileUpload (commons-fileupload:commons-fileupload:1.3.1 - http://commons.apache.org/proper/commons-fileupload/)
* HttpClient (commons-httpclient:commons-httpclient:3.1 - http://jakarta.apache.org/httpcomponents/httpclient-3.x/)
* Commons IO (commons-io:commons-io:2.4 - http://commons.apache.org/io/)
* commons-jexl (commons-jexl:commons-jexl:1.0 - no url defined)
* Commons JXPath (commons-jxpath:commons-jxpath:1.3 - http://commons.apache.org/jxpath/)
* Apache Commons FileUpload (commons-fileupload:commons-fileupload:1.3.3 - http://commons.apache.org/proper/commons-fileupload/)
* Apache Commons IO (commons-io:commons-io:2.7 - https://commons.apache.org/proper/commons-io/)
* Commons Lang (commons-lang:commons-lang:2.6 - http://commons.apache.org/lang/)
* Apache Commons Logging (commons-logging:commons-logging:1.2 - http://commons.apache.org/proper/commons-logging/)
* Apache Commons Validator (commons-validator:commons-validator:1.5.0 - http://commons.apache.org/proper/commons-validator/)
* GeoJson POJOs for Jackson (de.grundid.opendatalab:geojson-jackson:1.14 - https://github.com/opendatalab-de/geojson-jackson)
* Boilerpipe -- Boilerplate Removal and Fulltext Extraction from HTML pages (de.l3s.boilerpipe:boilerpipe:1.1.0 - http://code.google.com/p/boilerpipe/)
* The Netty Project (io.netty:netty:3.7.0.Final - http://netty.io/)
* jakarta-regexp (jakarta-regexp:jakarta-regexp:1.4 - no url defined)
* SentimentAnalysisParser (edu.usc.ir:sentiment-analysis-parser:0.1 - https://github.com/USCDataScience/SentimentAnalysisParser)
* OpenAIRE Funders Model (eu.openaire:funders-model:2.0.0 - https://api.openaire.eu)
* Metrics Core (io.dropwizard.metrics:metrics-core:4.1.5 - https://metrics.dropwizard.io/metrics-core)
* Graphite Integration for Metrics (io.dropwizard.metrics:metrics-graphite:4.1.5 - https://metrics.dropwizard.io/metrics-graphite)
* Metrics Integration for Jetty 9.3 and higher (io.dropwizard.metrics:metrics-jetty9:4.1.5 - https://metrics.dropwizard.io/metrics-jetty9)
* Metrics Integration with JMX (io.dropwizard.metrics:metrics-jmx:4.1.5 - https://metrics.dropwizard.io/metrics-jmx)
* JVM Integration for Metrics (io.dropwizard.metrics:metrics-jvm:4.1.5 - https://metrics.dropwizard.io/metrics-jvm)
* Netty (io.netty:netty:3.10.6.Final - http://netty.io/)
* Netty/Buffer (io.netty:netty-buffer:4.1.50.Final - https://netty.io/netty-buffer/)
* Netty/Codec (io.netty:netty-codec:4.1.50.Final - https://netty.io/netty-codec/)
* Netty/Common (io.netty:netty-common:4.1.50.Final - https://netty.io/netty-common/)
* Netty/Handler (io.netty:netty-handler:4.1.50.Final - https://netty.io/netty-handler/)
* Netty/Resolver (io.netty:netty-resolver:4.1.50.Final - https://netty.io/netty-resolver/)
* Netty/Transport (io.netty:netty-transport:4.1.50.Final - https://netty.io/netty-transport/)
* Netty/Transport/Native/Epoll (io.netty:netty-transport-native-epoll:4.1.50.Final - https://netty.io/netty-transport-native-epoll/)
* Netty/Transport/Native/Unix/Common (io.netty:netty-transport-native-unix-common:4.1.50.Final - https://netty.io/netty-transport-native-unix-common/)
* OpenTracing API (io.opentracing:opentracing-api:0.33.0 - https://github.com/opentracing/opentracing-java/opentracing-api)
* OpenTracing-noop (io.opentracing:opentracing-noop:0.33.0 - https://github.com/opentracing/opentracing-java/opentracing-noop)
* OpenTracing-util (io.opentracing:opentracing-util:0.33.0 - https://github.com/opentracing/opentracing-java/opentracing-util)
* Google S2 geometry library (io.sgr:s2-geometry-library-java:1.0.0 - https://github.com/sgr-io/s2-geometry-library-java)
* Jakarta Bean Validation API (jakarta.validation:jakarta.validation-api:2.0.2 - https://beanvalidation.org)
* JSR107 API and SPI (javax.cache:cache-api:1.1.0 - https://github.com/jsr107/jsr107spec)
* javax.inject (javax.inject:javax.inject:1 - http://code.google.com/p/atinject/)
* Bean Validation API (javax.validation:validation-api:1.1.0.Final - http://beanvalidation.org)
* Bean Validation API (javax.validation:validation-api:2.0.1.Final - http://beanvalidation.org)
* jdbm (jdbm:jdbm:1.0 - no url defined)
* Joda time (joda-time:joda-time:2.2 - http://joda-time.sourceforge.net)
* Joda-Time (joda-time:joda-time:2.9.2 - http://www.joda.org/joda-time/)
* Apache Log4j (log4j:log4j:1.2.17 - http://logging.apache.org/log4j/1.2/)
* Byte Buddy (without dependencies) (net.bytebuddy:byte-buddy:1.10.2 - https://bytebuddy.net/byte-buddy)
* Byte Buddy (without dependencies) (net.bytebuddy:byte-buddy:1.10.20 - https://bytebuddy.net/byte-buddy)
* Byte Buddy agent (net.bytebuddy:byte-buddy-agent:1.10.20 - https://bytebuddy.net/byte-buddy-agent)
* eigenbase-properties (net.hydromatic:eigenbase-properties:1.1.5 - http://github.com/julianhyde/eigenbase-properties)
* Java Native Access (net.java.dev.jna:jna:5.5.0 - https://github.com/java-native-access/jna)
* "Java Concurrency in Practice" book annotations (net.jcip:jcip-annotations:1.0 - http://jcip.net/)
* Ehcache Core (net.sf.ehcache:ehcache-core:2.4.3 - http://ehcache.org)
* opencsv (net.sf.opencsv:opencsv:2.3 - http://opencsv.sf.net)
* Abdera Client (org.apache.abdera:abdera-client:1.1.3 - http://abdera.apache.org/abdera-client)
* ASM based accessors helper used by json-smart (net.minidev:accessors-smart:1.2 - http://www.minidev.net/)
* JSON Small and Fast Parser (net.minidev:json-smart:2.3 - http://www.minidev.net/)
* ehcache (net.sf.ehcache:ehcache:2.10.6 - http://ehcache.org)
* Ehcache Core (net.sf.ehcache:ehcache-core:2.6.11 - http://ehcache.org)
* Abdera Core (org.apache.abdera:abdera-core:1.1.3 - http://abdera.apache.org/abdera-core)
* I18N Libraries (org.apache.abdera:abdera-i18n:1.1.3 - http://abdera.apache.org)
* Abdera Parser (org.apache.abdera:abdera-parser:1.1.3 - http://abdera.apache.org/abdera-parser)
* org.apache.tools.ant (org.apache.ant:ant:1.7.0 - http://ant.apache.org/ant/)
* ant-launcher (org.apache.ant:ant-launcher:1.7.0 - http://ant.apache.org/ant-launcher/)
* Avalon Framework API (org.apache.avalon.framework:avalon-framework-api:4.3.1 - http://www.apache.org/excalibur/avalon-framework/avalon-framework-api/)
* Avalon Framework Implementation (org.apache.avalon.framework:avalon-framework-impl:4.3.1 - http://www.apache.org/excalibur/avalon-framework/avalon-framework-impl/)
* Cocoon Configuration API (org.apache.cocoon:cocoon-configuration-api:1.0.2 - http://cocoon.apache.org/subprojects/configuration/1.0/configuration-api/1.0/)
* Cocoon Core (org.apache.cocoon:cocoon-core:2.2.0 - http://cocoon.apache.org/2.2/core-modules/core/2.2/)
* Cocoon Expression Language API (org.apache.cocoon:cocoon-expression-language-api:1.0.0 - http://cocoon.apache.org/2.2/core-modules/expression-language-api/1.0/)
* Cocoon Expression Language Implementation. (org.apache.cocoon:cocoon-expression-language-impl:1.0.0 - http://cocoon.apache.org/2.2/core-modules/expression-language-impl/1.0/)
* Cocoon Flowscript Block Implementation (org.apache.cocoon:cocoon-flowscript-impl:1.0.0 - http://cocoon.apache.org/2.2/blocks/flowscript/1.0/)
* Cocoon Linkrewriter Block Implementation (org.apache.cocoon:cocoon-linkrewriter-impl:1.0.0 - http://cocoon.apache.org/2.2/blocks/linkrewriter/1.0/)
* Cocoon Pipeline API (org.apache.cocoon:cocoon-pipeline-api:1.0.0 - http://cocoon.apache.org/2.2/core-modules/pipeline-api/1.0/)
* Cocoon Pipeline Components (org.apache.cocoon:cocoon-pipeline-components:1.0.0 - http://cocoon.apache.org/2.2/core-modules/pipeline-components/1.0/)
* Cocoon Pipeline Implementation (org.apache.cocoon:cocoon-pipeline-impl:1.0.0 - http://cocoon.apache.org/2.2/core-modules/pipeline-impl/1.0/)
* Cocoon Servlet Service Components (org.apache.cocoon:cocoon-servlet-service-components:1.0.0 - http://cocoon.apache.org/subprojects/servlet-service/1.0/servlet-service-components/1.0/)
* Cocoon Sitemap API (org.apache.cocoon:cocoon-sitemap-api:1.0.0 - http://cocoon.apache.org/2.2/core-modules/sitemap-api/1.0/)
* Cocoon Sitemap Components (org.apache.cocoon:cocoon-sitemap-components:1.0.0 - http://cocoon.apache.org/2.2/core-modules/sitemap-components/1.0/)
* Cocoon Sitemap Implementation (org.apache.cocoon:cocoon-sitemap-impl:1.0.0 - http://cocoon.apache.org/2.2/core-modules/sitemap-impl/1.0/)
* Cocoon Spring Configurator (org.apache.cocoon:cocoon-spring-configurator:1.0.2 - http://cocoon.apache.org/cocoon-spring-configurator)
* Cocoon Store Implementation (org.apache.cocoon:cocoon-store-impl:1.0.0 - http://cocoon.apache.org/2.2/core-modules/store-impl/1.0/)
* Cocoon Template Framework Block Implementation (org.apache.cocoon:cocoon-template-impl:1.1.0 - http://cocoon.apache.org/2.2/blocks/template/1.0/)
* Cocoon Thread API (org.apache.cocoon:cocoon-thread-api:1.0.0 - http://cocoon.apache.org/2.2/core-modules/thread-api/1.0/)
* Cocoon Thread Implementation (org.apache.cocoon:cocoon-thread-impl:1.0.0 - http://cocoon.apache.org/2.2/core-modules/thread-impl/1.0/)
* Cocoon Util (org.apache.cocoon:cocoon-util:1.0.0 - http://cocoon.apache.org/2.2/core-modules/util/1.0/)
* Cocoon XML API (org.apache.cocoon:cocoon-xml-api:1.0.0 - http://cocoon.apache.org/2.2/core-modules/xml-api/1.0/)
* Cocoon XML Implementation (org.apache.cocoon:cocoon-xml-impl:1.0.0 - http://cocoon.apache.org/2.2/core-modules/xml-impl/1.0/)
* Cocoon XML Resolver (org.apache.cocoon:cocoon-xml-resolver:1.0.0 - http://cocoon.apache.org/2.2/core-modules/xml-resolver/1.0/)
* Cocoon XML Utilities (org.apache.cocoon:cocoon-xml-util:1.0.0 - http://cocoon.apache.org/2.2/core-modules/xml-util/1.0/)
* Apache Commons Compress (org.apache.commons:commons-compress:1.7 - http://commons.apache.org/proper/commons-compress/)
* Apache Commons CSV (org.apache.commons:commons-csv:1.0 - http://commons.apache.org/proper/commons-csv/)
* Apache Commons DBCP (org.apache.commons:commons-dbcp2:2.1.1 - http://commons.apache.org/dbcp/)
* Apache Commons Lang (org.apache.commons:commons-lang3:3.3.2 - http://commons.apache.org/proper/commons-lang/)
* Apache Commons Pool (org.apache.commons:commons-pool2:2.4.2 - http://commons.apache.org/proper/commons-pool/)
* Excalibur Pool API (org.apache.excalibur.components:excalibur-pool-api:2.2.1 - http://www.apache.org/excalibur/excalibur-components-modules/excalibur-pool-modules/excalibur-pool-api/)
* Excalibur Sourceresolve (org.apache.excalibur.components:excalibur-sourceresolve:2.2.3 - http://www.apache.org/excalibur/excalibur-sourceresolve/)
* Excalibur Store (org.apache.excalibur.components:excalibur-store:2.2.1 - http://www.apache.org/excalibur/excalibur-components-modules/excalibur-store/)
* Excalibur XML Utilities (org.apache.excalibur.components:excalibur-xmlutil:2.2.1 - http://www.apache.org/excalibur/excalibur-components-modules/excalibur-xmlutil/)
* Excalibur Instrument API (org.apache.excalibur.containerkit:excalibur-instrument-api:2.2.1 - http://www.apache.org/excalibur/excalibur-containerkit/excalibur-instrument-modules/excalibur-instrument-api/)
* Excalibur Logger (org.apache.excalibur.containerkit:excalibur-logger:2.2.1 - http://www.apache.org/excalibur/excalibur-containerkit/excalibur-logger/)
* Activation 1.1 (org.apache.geronimo.specs:geronimo-activation_1.1_spec:1.1 - http://geronimo.apache.org/maven/specs/geronimo-activation_1.1_spec/1.1)
* JavaMail 1.4 (org.apache.geronimo.specs:geronimo-javamail_1.4_spec:1.7.1 - http://geronimo.apache.org/maven/specs/geronimo-javamail_1.4_spec/1.7.1)
* Streaming API for XML (STAX API 1.0) (org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:1.0.1 - http://geronimo.apache.org/specs/geronimo-stax-api_1.0_spec)
* Apache Hadoop Annotations (org.apache.hadoop:hadoop-annotations:2.2.0 - no url defined)
* Apache Hadoop Auth (org.apache.hadoop:hadoop-auth:2.2.0 - no url defined)
* Apache Hadoop Common (org.apache.hadoop:hadoop-common:2.2.0 - no url defined)
* Apache Hadoop HDFS (org.apache.hadoop:hadoop-hdfs:2.2.0 - no url defined)
* Apache HttpClient (org.apache.httpcomponents:httpclient:4.5.1 - http://hc.apache.org/httpcomponents-client)
* Apache Ant Core (org.apache.ant:ant:1.10.11 - https://ant.apache.org/)
* Apache Ant Launcher (org.apache.ant:ant-launcher:1.10.11 - https://ant.apache.org/)
* Apache Commons BCEL (org.apache.bcel:bcel:6.4.0 - https://commons.apache.org/proper/commons-bcel)
* Calcite Core (org.apache.calcite:calcite-core:1.18.0 - https://calcite.apache.org/calcite-core)
* Calcite Linq4j (org.apache.calcite:calcite-linq4j:1.18.0 - https://calcite.apache.org/calcite-linq4j)
* Apache Calcite Avatica (org.apache.calcite.avatica:avatica-core:1.13.0 - https://calcite.apache.org/avatica/avatica-core)
* Apache Commons Collections (org.apache.commons:commons-collections4:4.1 - http://commons.apache.org/proper/commons-collections/)
* Apache Commons Compress (org.apache.commons:commons-compress:1.20 - https://commons.apache.org/proper/commons-compress/)
* Apache Commons Configuration (org.apache.commons:commons-configuration2:2.7 - https://commons.apache.org/proper/commons-configuration/)
* Apache Commons CSV (org.apache.commons:commons-csv:1.8 - https://commons.apache.org/proper/commons-csv/)
* Apache Commons DBCP (org.apache.commons:commons-dbcp2:2.8.0 - https://commons.apache.org/dbcp/)
* Apache Commons Exec (org.apache.commons:commons-exec:1.3 - http://commons.apache.org/proper/commons-exec/)
* Apache Commons Lang (org.apache.commons:commons-lang3:3.7 - http://commons.apache.org/proper/commons-lang/)
* Apache Commons Math (org.apache.commons:commons-math3:3.6.1 - http://commons.apache.org/proper/commons-math/)
* Apache Commons Pool (org.apache.commons:commons-pool2:2.9.0 - https://commons.apache.org/proper/commons-pool/)
* Apache Commons Text (org.apache.commons:commons-text:1.8 - https://commons.apache.org/proper/commons-text)
* Curator Client (org.apache.curator:curator-client:2.13.0 - http://curator.apache.org/curator-client)
* Curator Framework (org.apache.curator:curator-framework:2.13.0 - http://curator.apache.org/curator-framework)
* Curator Recipes (org.apache.curator:curator-recipes:2.13.0 - http://curator.apache.org/curator-recipes)
* Apache CXF Core (org.apache.cxf:cxf-core:3.3.6 - https://cxf.apache.org)
* Apache CXF Runtime JAX-RS Frontend (org.apache.cxf:cxf-rt-frontend-jaxrs:3.3.6 - https://cxf.apache.org)
* Apache CXF JAX-RS Client (org.apache.cxf:cxf-rt-rs-client:3.3.6 - https://cxf.apache.org)
* Apache CXF Runtime Security functionality (org.apache.cxf:cxf-rt-security:3.3.6 - https://cxf.apache.org)
* Apache CXF Runtime HTTP Transport (org.apache.cxf:cxf-rt-transports-http:3.3.6 - https://cxf.apache.org)
* JTA 1.1 (org.apache.geronimo.specs:geronimo-jta_1.1_spec:1.1.1 - http://geronimo.apache.org/specs/geronimo-jta_1.1_spec)
* Web Services Metadata 2.0 (org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.3 - http://geronimo.apache.org/maven/specs/geronimo-ws-metadata_2.0_spec/1.1.3)
* Apache Hadoop Annotations (org.apache.hadoop:hadoop-annotations:3.2.0 - no url defined)
* Apache Hadoop Auth (org.apache.hadoop:hadoop-auth:3.2.0 - no url defined)
* Apache Hadoop Common (org.apache.hadoop:hadoop-common:3.2.0 - no url defined)
* Apache Hadoop HDFS Client (org.apache.hadoop:hadoop-hdfs-client:3.2.0 - no url defined)
* htrace-core4 (org.apache.htrace:htrace-core4:4.1.0-incubating - http://incubator.apache.org/projects/htrace.html)
* Apache HttpClient (org.apache.httpcomponents:httpclient:4.5.13 - http://hc.apache.org/httpcomponents-client)
* Apache HttpClient Cache (org.apache.httpcomponents:httpclient-cache:4.2.6 - http://hc.apache.org/httpcomponents-client)
* Apache HttpCore (org.apache.httpcomponents:httpcore:4.4.4 - http://hc.apache.org/httpcomponents-core-ga)
* Apache HttpClient Mime (org.apache.httpcomponents:httpmime:4.3.1 - http://hc.apache.org/httpcomponents-client)
* Apache JAMES Mime4j (Core) (org.apache.james:apache-mime4j-core:0.7.2 - http://james.apache.org/mime4j/apache-mime4j-core)
* Apache JAMES Mime4j (DOM) (org.apache.james:apache-mime4j-dom:0.7.2 - http://james.apache.org/mime4j/apache-mime4j-dom)
* Apache HttpClient Mime (org.apache.httpcomponents:httpmime:4.5.12 - http://hc.apache.org/httpcomponents-client)
* Apache James :: Mime4j :: Core (org.apache.james:apache-mime4j-core:0.8.3 - http://james.apache.org/mime4j/apache-mime4j-core)
* Apache James :: Mime4j :: DOM (org.apache.james:apache-mime4j-dom:0.8.3 - http://james.apache.org/mime4j/apache-mime4j-dom)
* Apache Jena - Libraries POM (org.apache.jena:apache-jena-libs:2.13.0 - http://jena.apache.org/apache-jena-libs/)
* Apache Jena - ARQ (SPARQL 1.1 Query Engine) (org.apache.jena:jena-arq:2.13.0 - http://jena.apache.org/jena-arq/)
* Apache Jena - Core (org.apache.jena:jena-core:2.13.0 - http://jena.apache.org/jena-core/)
* Apache Jena - IRI (org.apache.jena:jena-iri:1.1.2 - http://jena.apache.org/jena-iri/)
* Apache Jena - TDB (Native Triple Store) (org.apache.jena:jena-tdb:1.1.2 - http://jena.apache.org/jena-tdb/)
* Lucene Common Analyzers (org.apache.lucene:lucene-analyzers-common:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-analyzers-common)
* Lucene Common Analyzers (org.apache.lucene:lucene-analyzers-common:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-analyzers-common)
* Lucene ICU Analysis Components (org.apache.lucene:lucene-analyzers-icu:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-analyzers-icu)
* Lucene Kuromoji Japanese Morphological Analyzer (org.apache.lucene:lucene-analyzers-kuromoji:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-analyzers-kuromoji)
* Lucene Morfologik Polish Lemmatizer (org.apache.lucene:lucene-analyzers-morfologik:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-analyzers-morfologik)
* Lucene Phonetic Filters (org.apache.lucene:lucene-analyzers-phonetic:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-analyzers-phonetic)
* Lucene Smart Chinese Analyzer (org.apache.lucene:lucene-analyzers-smartcn:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-analyzers-smartcn)
* Lucene Stempel Analyzer (org.apache.lucene:lucene-analyzers-stempel:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-analyzers-stempel)
* Lucene codecs (org.apache.lucene:lucene-codecs:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-codecs)
* Lucene Core (org.apache.lucene:lucene-core:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-core)
* Lucene Core (org.apache.lucene:lucene-core:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-core)
* Lucene Expressions (org.apache.lucene:lucene-expressions:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-expressions)
* Lucene Grouping (org.apache.lucene:lucene-grouping:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-grouping)
* Lucene Grouping (org.apache.lucene:lucene-grouping:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-grouping)
* Lucene Highlighter (org.apache.lucene:lucene-highlighter:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-highlighter)
* Lucene Highlighter (org.apache.lucene:lucene-highlighter:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-highlighter)
* Lucene Join (org.apache.lucene:lucene-join:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-join)
* Lucene Join (org.apache.lucene:lucene-join:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-join)
* Lucene Memory (org.apache.lucene:lucene-memory:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-memory)
* Lucene Memory (org.apache.lucene:lucene-memory:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-memory)
* Lucene Miscellaneous (org.apache.lucene:lucene-misc:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-misc)
* Lucene Miscellaneous (org.apache.lucene:lucene-misc:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-misc)
* Lucene Queries (org.apache.lucene:lucene-queries:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-queries)
* Lucene Queries (org.apache.lucene:lucene-queries:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-queries)
* Lucene QueryParsers (org.apache.lucene:lucene-queryparser:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-queryparser)
* Lucene QueryParsers (org.apache.lucene:lucene-queryparser:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-queryparser)
* Lucene Sandbox (org.apache.lucene:lucene-sandbox:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-sandbox)
* Lucene Spatial (org.apache.lucene:lucene-spatial:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-spatial)
* Lucene Spatial (org.apache.lucene:lucene-spatial:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-spatial)
* Lucene Suggest (org.apache.lucene:lucene-suggest:4.10.2 - http://lucene.apache.org/lucene-parent/lucene-suggest)
* Lucene Suggest (org.apache.lucene:lucene-suggest:4.10.4 - http://lucene.apache.org/lucene-parent/lucene-suggest)
* Apache FontBox (org.apache.pdfbox:fontbox:2.0.2 - http://pdfbox.apache.org/)
* Apache JempBox (org.apache.pdfbox:jempbox:1.8.4 - http://www.apache.org/pdfbox-parent/jempbox/)
* Apache PDFBox (org.apache.pdfbox:pdfbox:2.0.2 - http://www.apache.org/pdfbox-parent/pdfbox/)
* Apache POI (org.apache.poi:poi:3.13 - http://poi.apache.org/)
* Apache POI (org.apache.poi:poi-ooxml:3.13 - http://poi.apache.org/)
* Apache POI (org.apache.poi:poi-ooxml-schemas:3.10.1 - http://poi.apache.org/)
* Apache POI (org.apache.poi:poi-ooxml-schemas:3.13 - http://poi.apache.org/)
* Apache POI (org.apache.poi:poi-scratchpad:3.13 - http://poi.apache.org/)
* Apache Solr Search Server (org.apache.solr:solr:4.10.4 - http://lucene.apache.org/solr-parent/solr)
* Apache Solr Analysis Extras (org.apache.solr:solr-analysis-extras:4.10.4 - http://lucene.apache.org/solr-parent/solr-analysis-extras)
* Apache Solr Content Extraction Library (org.apache.solr:solr-cell:4.10.4 - http://lucene.apache.org/solr-parent/solr-cell)
* Apache Solr Core (org.apache.solr:solr-core:4.10.4 - http://lucene.apache.org/solr-parent/solr-core)
* Apache Solr Solrj (org.apache.solr:solr-solrj:4.10.4 - http://lucene.apache.org/solr-parent/solr-solrj)
* Kerby-kerb core (org.apache.kerby:kerb-core:1.0.1 - http://directory.apache.org/kerby/kerby-kerb/kerb-core)
* Kerby-kerb Util (org.apache.kerby:kerb-util:1.0.1 - http://directory.apache.org/kerby/kerby-kerb/kerb-util)
* Kerby ASN1 Project (org.apache.kerby:kerby-asn1:1.0.1 - http://directory.apache.org/kerby/kerby-common/kerby-asn1)
* Kerby PKIX Project (org.apache.kerby:kerby-pkix:1.0.1 - http://directory.apache.org/kerby/kerby-pkix)
* Apache Log4j 1.x Compatibility API (org.apache.logging.log4j:log4j-1.2-api:2.13.3 - https://logging.apache.org/log4j/2.x/log4j-1.2-api/)
* Apache Log4j API (org.apache.logging.log4j:log4j-api:2.13.3 - https://logging.apache.org/log4j/2.x/log4j-api/)
* Apache Log4j Core (org.apache.logging.log4j:log4j-core:2.13.3 - https://logging.apache.org/log4j/2.x/log4j-core/)
* Apache Log4j JUL Adapter (org.apache.logging.log4j:log4j-jul:2.13.3 - https://logging.apache.org/log4j/2.x/log4j-jul/)
* Apache Log4j SLF4J Binding (org.apache.logging.log4j:log4j-slf4j-impl:2.13.3 - https://logging.apache.org/log4j/2.x/log4j-slf4j-impl/)
* Apache Log4j Web (org.apache.logging.log4j:log4j-web:2.13.3 - https://logging.apache.org/log4j/2.x/log4j-web/)
* Lucene Common Analyzers (org.apache.lucene:lucene-analyzers-common:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-analyzers-common)
* Lucene ICU Analysis Components (org.apache.lucene:lucene-analyzers-icu:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-analyzers-icu)
* Lucene Kuromoji Japanese Morphological Analyzer (org.apache.lucene:lucene-analyzers-kuromoji:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-analyzers-kuromoji)
* Lucene Nori Korean Morphological Analyzer (org.apache.lucene:lucene-analyzers-nori:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-analyzers-nori)
* Lucene Phonetic Filters (org.apache.lucene:lucene-analyzers-phonetic:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-analyzers-phonetic)
* Lucene Smart Chinese Analyzer (org.apache.lucene:lucene-analyzers-smartcn:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-analyzers-smartcn)
* Lucene Stempel Analyzer (org.apache.lucene:lucene-analyzers-stempel:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-analyzers-stempel)
* Lucene Memory (org.apache.lucene:lucene-backward-codecs:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-backward-codecs)
* Lucene Classification (org.apache.lucene:lucene-classification:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-classification)
* Lucene codecs (org.apache.lucene:lucene-codecs:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-codecs)
* Lucene Core (org.apache.lucene:lucene-core:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-core)
* Lucene Expressions (org.apache.lucene:lucene-expressions:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-expressions)
* Lucene Grouping (org.apache.lucene:lucene-grouping:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-grouping)
* Lucene Highlighter (org.apache.lucene:lucene-highlighter:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-highlighter)
* Lucene Join (org.apache.lucene:lucene-join:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-join)
* Lucene Memory (org.apache.lucene:lucene-memory:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-memory)
* Lucene Miscellaneous (org.apache.lucene:lucene-misc:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-misc)
* Lucene Queries (org.apache.lucene:lucene-queries:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-queries)
* Lucene QueryParsers (org.apache.lucene:lucene-queryparser:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-queryparser)
* Lucene Sandbox (org.apache.lucene:lucene-sandbox:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-sandbox)
* Lucene Spatial Extras (org.apache.lucene:lucene-spatial-extras:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-spatial-extras)
* Lucene Spatial 3D (org.apache.lucene:lucene-spatial3d:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-spatial3d)
* Lucene Suggest (org.apache.lucene:lucene-suggest:8.8.1 - https://lucene.apache.org/lucene-parent/lucene-suggest)
* Apache OpenNLP Tools (org.apache.opennlp:opennlp-tools:1.9.2 - https://www.apache.org/opennlp/opennlp-tools/)
* Apache FontBox (org.apache.pdfbox:fontbox:2.0.24 - http://pdfbox.apache.org/)
* PDFBox JBIG2 ImageIO plugin (org.apache.pdfbox:jbig2-imageio:3.0.3 - https://www.apache.org/jbig2-imageio/)
* Apache JempBox (org.apache.pdfbox:jempbox:1.8.16 - http://www.apache.org/pdfbox-parent/jempbox/)
* Apache PDFBox (org.apache.pdfbox:pdfbox:2.0.24 - https://www.apache.org/pdfbox-parent/pdfbox/)
* Apache PDFBox tools (org.apache.pdfbox:pdfbox-tools:2.0.19 - https://www.apache.org/pdfbox-parent/pdfbox-tools/)
* Apache Preflight (org.apache.pdfbox:preflight:2.0.19 - https://www.apache.org/pdfbox-parent/preflight/)
* Apache XmpBox (org.apache.pdfbox:xmpbox:2.0.19 - https://www.apache.org/pdfbox-parent/xmpbox/)
* Apache POI (org.apache.poi:poi:3.17 - http://poi.apache.org/)
* Apache POI (org.apache.poi:poi-ooxml:3.17 - http://poi.apache.org/)
* Apache POI (org.apache.poi:poi-ooxml-schemas:3.17 - http://poi.apache.org/)
* Apache POI (org.apache.poi:poi-scratchpad:3.17 - http://poi.apache.org/)
* Apache SIS features (org.apache.sis.core:sis-feature:1.0 - http://sis.apache.org/core/sis-feature)
* Apache SIS metadata (org.apache.sis.core:sis-metadata:1.0 - http://sis.apache.org/core/sis-metadata)
* Apache SIS referencing (org.apache.sis.core:sis-referencing:1.0 - http://sis.apache.org/core/sis-referencing)
* Apache SIS utilities (org.apache.sis.core:sis-utility:1.0 - http://sis.apache.org/core/sis-utility)
* Apache SIS netCDF storage (org.apache.sis.storage:sis-netcdf:1.0 - http://sis.apache.org/storage/sis-netcdf)
* Apache SIS common storage (org.apache.sis.storage:sis-storage:1.0 - http://sis.apache.org/storage/sis-storage)
* Apache Solr Content Extraction Library (org.apache.solr:solr-cell:8.8.1 - https://lucene.apache.org/solr-parent/solr-cell)
* Apache Solr Core (org.apache.solr:solr-core:8.8.1 - https://lucene.apache.org/solr-parent/solr-core)
* Apache Solr Solrj (org.apache.solr:solr-solrj:8.8.1 - https://lucene.apache.org/solr-parent/solr-solrj)
* Apache Standard Taglib Implementation (org.apache.taglibs:taglibs-standard-impl:1.2.5 - http://tomcat.apache.org/taglibs/standard-1.2.5/taglibs-standard-impl)
* Apache Standard Taglib Specification API (org.apache.taglibs:taglibs-standard-spec:1.2.5 - http://tomcat.apache.org/taglibs/standard-1.2.5/taglibs-standard-spec)
* Apache Thrift (org.apache.thrift:libthrift:0.9.2 - http://thrift.apache.org)
* Apache Tika core (org.apache.tika:tika-core:1.5 - http://tika.apache.org/)
* Apache Tika parsers (org.apache.tika:tika-parsers:1.5 - http://tika.apache.org/)
* Apache Tika XMP (org.apache.tika:tika-xmp:1.5 - http://tika.apache.org/)
* Axiom API (org.apache.ws.commons.axiom:axiom-api:1.2.14 - http://ws.apache.org/axiom/)
* Axiom Impl (org.apache.ws.commons.axiom:axiom-impl:1.2.14 - http://ws.apache.org/axiom/)
* XmlBeans (org.apache.xmlbeans:xmlbeans:2.6.0 - http://xmlbeans.apache.org)
* zookeeper (org.apache.zookeeper:zookeeper:3.4.6 - no url defined)
* Evo Inflector (org.atteo:evo-inflector:1.2.1 - http://atteo.org/static/evo-inflector)
* Apache Tika core (org.apache.tika:tika-core:1.24.1 - http://tika.apache.org/)
* Apache Tika Java-7 Components (org.apache.tika:tika-java7:1.24.1 - http://tika.apache.org/)
* Apache Tika parsers (org.apache.tika:tika-parsers:1.24.1 - http://tika.apache.org/)
* Apache Tika XMP (org.apache.tika:tika-xmp:1.24.1 - http://tika.apache.org/)
* tomcat-embed-core (org.apache.tomcat.embed:tomcat-embed-core:9.0.33 - https://tomcat.apache.org/)
* tomcat-embed-el (org.apache.tomcat.embed:tomcat-embed-el:9.0.33 - https://tomcat.apache.org/)
* tomcat-embed-websocket (org.apache.tomcat.embed:tomcat-embed-websocket:9.0.33 - https://tomcat.apache.org/)
* Apache Velocity - Engine (org.apache.velocity:velocity-engine-core:2.0 - http://velocity.apache.org/engine/devel/velocity-engine-core/)
* Axiom API (org.apache.ws.commons.axiom:axiom-api:1.2.22 - http://ws.apache.org/axiom/)
* LLOM (org.apache.ws.commons.axiom:axiom-impl:1.2.22 - http://ws.apache.org/axiom/implementations/axiom-impl/)
* Abdera Model (FOM) Implementation (org.apache.ws.commons.axiom:fom-impl:1.2.22 - http://ws.apache.org/axiom/implementations/fom-impl/)
* XmlSchema Core (org.apache.ws.xmlschema:xmlschema-core:2.2.5 - https://ws.apache.org/commons/xmlschema20/xmlschema-core/)
* XmlBeans (org.apache.xmlbeans:xmlbeans:3.1.0 - https://xmlbeans.apache.org/)
* zookeeper (org.apache.zookeeper:zookeeper:3.4.14 - no url defined)
* Apache ZooKeeper - Jute (org.apache.zookeeper:zookeeper-jute:3.6.2 - http://zookeeper.apache.org/zookeeper-jute)
* AssertJ fluent assertions (org.assertj:assertj-core:3.13.2 - http://assertj.org/assertj-core)
* Evo Inflector (org.atteo:evo-inflector:1.2.2 - http://atteo.org/static/evo-inflector)
* jose4j (org.bitbucket.b_c:jose4j:0.6.5 - https://bitbucket.org/b_c/jose4j/)
* TagSoup (org.ccil.cowan.tagsoup:tagsoup:1.2.1 - http://home.ccil.org/~cowan/XML/tagsoup/)
* Jackson (org.codehaus.jackson:jackson-core-asl:1.9.13 - http://jackson.codehaus.org)
* Data Mapper for Jackson (org.codehaus.jackson:jackson-mapper-asl:1.9.13 - http://jackson.codehaus.org)
* Woodstox (org.codehaus.woodstox:woodstox-core-asl:4.1.4 - http://woodstox.codehaus.org)
* Woodstox (org.codehaus.woodstox:wstx-asl:3.2.0 - http://woodstox.codehaus.org)
* Woodstox (org.codehaus.woodstox:wstx-asl:3.2.7 - http://woodstox.codehaus.org)
* flyway-core (org.flywaydb:flyway-core:4.0.3 - https://flywaydb.org/flyway-core)
* Ogg and Vorbis for Java, Core (org.gagravarr:vorbis-java-core:0.1 - https://github.com/Gagravarr/VorbisJava)
* Apache Tika plugin for Ogg, Vorbis and FLAC (org.gagravarr:vorbis-java-tika:0.1 - https://github.com/Gagravarr/VorbisJava)
* Javassist (org.javassist:javassist:3.18.1-GA - http://www.javassist.org/)
* Woodstox (org.codehaus.woodstox:woodstox-core-asl:4.4.1 - http://woodstox.codehaus.org)
* jems (org.dmfs:jems:1.18 - https://github.com/dmfs/jems)
* rfc3986-uri (org.dmfs:rfc3986-uri:0.8.1 - https://github.com/dmfs/uri-toolkit)
* Jetty :: Apache JSP Implementation (org.eclipse.jetty:apache-jsp:9.4.15.v20190215 - http://www.eclipse.org/jetty)
* Apache :: JSTL module (org.eclipse.jetty:apache-jstl:9.4.15.v20190215 - http://tomcat.apache.org/taglibs/standard/)
* Jetty :: ALPN :: Client (org.eclipse.jetty:jetty-alpn-client:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-alpn-parent/jetty-alpn-client)
* Jetty :: ALPN :: JDK9 Client Implementation (org.eclipse.jetty:jetty-alpn-java-client:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-alpn-parent/jetty-alpn-java-client)
* Jetty :: ALPN :: JDK9 Server Implementation (org.eclipse.jetty:jetty-alpn-java-server:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-alpn-parent/jetty-alpn-java-server)
* Jetty :: ALPN :: Server (org.eclipse.jetty:jetty-alpn-server:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-alpn-parent/jetty-alpn-server)
* Jetty :: Servlet Annotations (org.eclipse.jetty:jetty-annotations:9.4.15.v20190215 - http://www.eclipse.org/jetty)
* Jetty :: Asynchronous HTTP Client (org.eclipse.jetty:jetty-client:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-client)
* Jetty :: Continuation (org.eclipse.jetty:jetty-continuation:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-continuation)
* Jetty :: Deployers (org.eclipse.jetty:jetty-deploy:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-deploy)
* Jetty :: Http Utility (org.eclipse.jetty:jetty-http:9.4.41.v20210516 - https://eclipse.org/jetty/jetty-http)
* Jetty :: IO Utility (org.eclipse.jetty:jetty-io:9.4.41.v20210516 - https://eclipse.org/jetty/jetty-io)
* Jetty :: JMX Management (org.eclipse.jetty:jetty-jmx:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-jmx)
* Jetty :: JNDI Naming (org.eclipse.jetty:jetty-jndi:9.4.15.v20190215 - http://www.eclipse.org/jetty)
* Jetty :: Plus (org.eclipse.jetty:jetty-plus:9.4.15.v20190215 - http://www.eclipse.org/jetty)
* Jetty :: Rewrite Handler (org.eclipse.jetty:jetty-rewrite:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-rewrite)
* Jetty :: Security (org.eclipse.jetty:jetty-security:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-security)
* Jetty :: Server Core (org.eclipse.jetty:jetty-server:9.4.41.v20210516 - https://eclipse.org/jetty/jetty-server)
* Jetty :: Servlet Handling (org.eclipse.jetty:jetty-servlet:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-servlet)
* Jetty :: Utility Servlets and Filters (org.eclipse.jetty:jetty-servlets:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-servlets)
* Jetty :: Utilities (org.eclipse.jetty:jetty-util:9.4.41.v20210516 - https://eclipse.org/jetty/jetty-util)
* Jetty :: Webapp Application Support (org.eclipse.jetty:jetty-webapp:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-webapp)
* Jetty :: XML utilities (org.eclipse.jetty:jetty-xml:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-xml)
* Jetty :: HTTP2 :: Client (org.eclipse.jetty.http2:http2-client:9.4.34.v20201102 - https://eclipse.org/jetty/http2-parent/http2-client)
* Jetty :: HTTP2 :: Common (org.eclipse.jetty.http2:http2-common:9.4.34.v20201102 - https://eclipse.org/jetty/http2-parent/http2-common)
* Jetty :: HTTP2 :: HPACK (org.eclipse.jetty.http2:http2-hpack:9.4.34.v20201102 - https://eclipse.org/jetty/http2-parent/http2-hpack)
* Jetty :: HTTP2 :: HTTP Client Transport (org.eclipse.jetty.http2:http2-http-client-transport:9.4.34.v20201102 - https://eclipse.org/jetty/http2-parent/http2-http-client-transport)
* Jetty :: HTTP2 :: Server (org.eclipse.jetty.http2:http2-server:9.4.34.v20201102 - https://eclipse.org/jetty/http2-parent/http2-server)
* Jetty :: Schemas (org.eclipse.jetty.toolchain:jetty-schemas:3.1.2 - https://eclipse.org/jetty/jetty-schemas)
* Ehcache (org.ehcache:ehcache:3.4.0 - http://ehcache.org)
* flyway-core (org.flywaydb:flyway-core:6.5.7 - https://flywaydb.org/flyway-core)
* Ogg and Vorbis for Java, Core (org.gagravarr:vorbis-java-core:0.8 - https://github.com/Gagravarr/VorbisJava)
* Apache Tika plugin for Ogg, Vorbis and FLAC (org.gagravarr:vorbis-java-tika:0.8 - https://github.com/Gagravarr/VorbisJava)
* jersey-core-client (org.glassfish.jersey.core:jersey-client:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
* jersey-core-common (org.glassfish.jersey.core:jersey-common:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-common)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
* Hibernate Validator Engine (org.hibernate.validator:hibernate-validator:6.0.18.Final - http://hibernate.org/validator/hibernate-validator)
* Hibernate Validator Portable Extension (org.hibernate.validator:hibernate-validator-cdi:6.0.18.Final - http://hibernate.org/validator/hibernate-validator-cdi)
* Javassist (org.javassist:javassist:3.25.0-GA - http://www.javassist.org/)
* Java Annotation Indexer (org.jboss:jandex:2.1.1.Final - http://www.jboss.org/jandex)
* JBoss Logging 3 (org.jboss.logging:jboss-logging:3.3.2.Final - http://www.jboss.org)
* JDOM (org.jdom:jdom:1.1.3 - http://www.jdom.org)
* JDOM (org.jdom:jdom2:2.0.6 - http://www.jdom.org)
* jtwig-core (org.jtwig:jtwig-core:5.87.0.RELEASE - http://jtwig.org)
* jtwig-reflection (org.jtwig:jtwig-reflection:5.87.0.RELEASE - http://jtwig.org)
* jtwig-spring (org.jtwig:jtwig-spring:5.87.0.RELEASE - http://jtwig.org)
* jtwig-spring-boot-starter (org.jtwig:jtwig-spring-boot-starter:5.87.0.RELEASE - http://jtwig.org)
* jtwig-web (org.jtwig:jtwig-web:5.87.0.RELEASE - http://jtwig.org)
* Spatial4J (org.locationtech.spatial4j:spatial4j:0.7 - https://projects.eclipse.org/projects/locationtech.spatial4j)
* MortBay :: Apache EL :: API and Implementation (org.mortbay.jasper:apache-el:8.5.35.1 - https://github.com/jetty-project/jasper-jsp/apache-el)
* MortBay :: Apache Jasper :: JSP Implementation (org.mortbay.jasper:apache-jsp:8.5.35.1 - https://github.com/jetty-project/jasper-jsp/apache-jsp)
* Jetty Server (org.mortbay.jetty:jetty:6.1.26 - http://www.eclipse.org/jetty/jetty-parent/project/modules/jetty)
* Jetty Servlet Tester (org.mortbay.jetty:jetty-servlet-tester:6.1.26 - http://www.eclipse.org/jetty/jetty-parent/project/jetty-servlet-tester)
* Jetty Utilities (org.mortbay.jetty:jetty-util:6.1.26 - http://www.eclipse.org/jetty/jetty-parent/project/jetty-util)
* Servlet Specification API (org.mortbay.jetty:servlet-api:2.5-20081211 - http://jetty.mortbay.org/servlet-api)
* Noggit (org.noggit:noggit:0.5 - http://noggit.org)
* Objenesis (org.objenesis:objenesis:2.1 - http://objenesis.org)
* parboiled-core (org.parboiled:parboiled-core:1.1.6 - http://parboiled.org)
* parboiled-java (org.parboiled:parboiled-java:1.1.6 - http://parboiled.org)
* org.restlet (org.restlet.jee:org.restlet:2.1.1 - no url defined)
* org.restlet.ext.servlet (org.restlet.jee:org.restlet.ext.servlet:2.1.1 - no url defined)
* Objenesis (org.objenesis:objenesis:3.1 - http://objenesis.org)
* parboiled-core (org.parboiled:parboiled-core:1.3.1 - http://parboiled.org)
* parboiled-java (org.parboiled:parboiled-java:1.3.1 - http://parboiled.org)
* quartz (org.quartz-scheduler:quartz:2.3.2 - http://www.quartz-scheduler.org/quartz)
* rome-modules (org.rometools:rome-modules:1.0 - http://www.rometools.org)
* Spring AOP (org.springframework:spring-aop:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring AOP (org.springframework:spring-aop:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Beans (org.springframework:spring-beans:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Beans (org.springframework:spring-beans:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Context (org.springframework:spring-context:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Context (org.springframework:spring-context:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Context Support (org.springframework:spring-context-support:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Core (org.springframework:spring-core:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Core (org.springframework:spring-core:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Expression Language (SpEL) (org.springframework:spring-expression:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Expression Language (SpEL) (org.springframework:spring-expression:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring JDBC (org.springframework:spring-jdbc:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring JDBC (org.springframework:spring-jdbc:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Object/Relational Mapping (org.springframework:spring-orm:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Object/Relational Mapping (org.springframework:spring-orm:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring TestContext Framework (org.springframework:spring-test:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Transaction (org.springframework:spring-tx:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Transaction (org.springframework:spring-tx:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Web (org.springframework:spring-web:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Web (org.springframework:spring-web:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Web MVC (org.springframework:spring-webmvc:3.2.16.RELEASE - https://github.com/SpringSource/spring-framework)
* Spring Web MVC (org.springframework:spring-webmvc:3.2.5.RELEASE - https://github.com/SpringSource/spring-framework)
* spring-security-config (org.springframework.security:spring-security-config:3.2.9.RELEASE - http://spring.io/spring-security)
* spring-security-core (org.springframework.security:spring-security-core:3.2.9.RELEASE - http://spring.io/spring-security)
* spring-security-web (org.springframework.security:spring-security-web:3.2.9.RELEASE - http://spring.io/spring-security)
* SWORD Java API, GUI and CLI (org.swordapp:sword-common:1.1 - http://nexus.sonatype.org/oss-repository-hosting.html/sword-common)
* RRD4J (org.rrd4j:rrd4j:3.5 - https://github.com/rrd4j/rrd4j/)
* JSONassert (org.skyscreamer:jsonassert:1.5.0 - https://github.com/skyscreamer/JSONassert)
* Spring AOP (org.springframework:spring-aop:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Beans (org.springframework:spring-beans:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Context (org.springframework:spring-context:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Context Support (org.springframework:spring-context-support:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Core (org.springframework:spring-core:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Expression Language (SpEL) (org.springframework:spring-expression:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Commons Logging Bridge (org.springframework:spring-jcl:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring JDBC (org.springframework:spring-jdbc:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Object/Relational Mapping (org.springframework:spring-orm:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring TestContext Framework (org.springframework:spring-test:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Transaction (org.springframework:spring-tx:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Web (org.springframework:spring-web:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Web MVC (org.springframework:spring-webmvc:5.2.5.RELEASE - https://github.com/spring-projects/spring-framework)
* Spring Boot (org.springframework.boot:spring-boot:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot)
* Spring Boot AutoConfigure (org.springframework.boot:spring-boot-autoconfigure:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-autoconfigure)
* Spring Boot Configuration Processor (org.springframework.boot:spring-boot-configuration-processor:2.0.0.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-tools/spring-boot-configuration-processor)
* Spring Boot Starter (org.springframework.boot:spring-boot-starter:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter)
* Spring Boot AOP Starter (org.springframework.boot:spring-boot-starter-aop:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-aop)
* Spring Boot Cache Starter (org.springframework.boot:spring-boot-starter-cache:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-cache)
* Spring Boot Data REST Starter (org.springframework.boot:spring-boot-starter-data-rest:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-data-rest)
* Spring Boot Json Starter (org.springframework.boot:spring-boot-starter-json:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-json)
* Spring Boot Log4j 2 Starter (org.springframework.boot:spring-boot-starter-log4j2:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-log4j2)
* Spring Boot Security Starter (org.springframework.boot:spring-boot-starter-security:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-security)
* Spring Boot Test Starter (org.springframework.boot:spring-boot-starter-test:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-test)
* Spring Boot Tomcat Starter (org.springframework.boot:spring-boot-starter-tomcat:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-tomcat)
* Spring Boot Validation Starter (org.springframework.boot:spring-boot-starter-validation:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-validation)
* Spring Boot Web Starter (org.springframework.boot:spring-boot-starter-web:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-web)
* Spring Boot Test (org.springframework.boot:spring-boot-test:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-test)
* Spring Boot Test Auto-Configure (org.springframework.boot:spring-boot-test-autoconfigure:2.2.6.RELEASE - https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-test-autoconfigure)
* Spring Data Core (org.springframework.data:spring-data-commons:2.2.6.RELEASE - https://www.spring.io/spring-data/spring-data-commons)
* Spring Data REST - Core (org.springframework.data:spring-data-rest-core:3.2.6.RELEASE - https://www.spring.io/spring-data/spring-data-rest-parent/spring-data-rest-core)
* Spring Data REST - HAL Browser (org.springframework.data:spring-data-rest-hal-browser:3.2.6.RELEASE - https://www.spring.io/spring-data/spring-data-rest-parent/spring-data-rest-hal-browser)
* Spring Data REST - WebMVC (org.springframework.data:spring-data-rest-webmvc:3.2.6.RELEASE - https://www.spring.io/spring-data/spring-data-rest-parent/spring-data-rest-webmvc)
* Spring HATEOAS (org.springframework.hateoas:spring-hateoas:1.0.4.RELEASE - https://github.com/spring-projects/spring-hateoas)
* Spring Plugin - Core (org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE - https://github.com/spring-projects/spring-plugin/spring-plugin-core)
* spring-security-config (org.springframework.security:spring-security-config:5.2.2.RELEASE - http://spring.io/spring-security)
* spring-security-core (org.springframework.security:spring-security-core:5.2.2.RELEASE - http://spring.io/spring-security)
* spring-security-test (org.springframework.security:spring-security-test:5.2.2.RELEASE - http://spring.io/spring-security)
* spring-security-web (org.springframework.security:spring-security-web:5.2.2.RELEASE - http://spring.io/spring-security)
* SWORD v2 :: Common Server Library (org.swordapp:sword2-server:1.0 - http://www.swordapp.org/)
* ISO Parser (org.tallison:isoparser:1.9.41.2 - https://github.com/tballison/mp4parser)
* org.tallison:metadata-extractor (org.tallison:metadata-extractor:2.13.0 - https://drewnoakes.com/code/exif/)
* XMPCore Shaded (org.tallison.xmp:xmpcore-shaded:6.1.10 - https://github.com/tballison)
* snappy-java (org.xerial.snappy:snappy-java:1.1.7.6 - https://github.com/xerial/snappy-java)
* xml-matchers (org.xmlmatchers:xml-matchers:0.10 - http://code.google.com/p/xml-matchers/)
* oro (oro:oro:2.0.8 - no url defined)
* JUnitParams (pl.pragmatists:JUnitParams:1.0.2 - http://junitparams.googlecode.com)
* Rome A9 OpenSearch (rome:opensearch:0.1 - http://wiki.java.net/bin/view/Javawsxml/OpenSearch)
* org.xmlunit:xmlunit-core (org.xmlunit:xmlunit-core:2.6.3 - https://www.xmlunit.org/)
* org.xmlunit:xmlunit-core (org.xmlunit:xmlunit-core:2.6.4 - https://www.xmlunit.org/)
* SnakeYAML (org.yaml:snakeyaml:1.25 - http://www.snakeyaml.org)
* ROME, RSS and atOM utilitiEs for Java (rome:rome:1.0 - https://rome.dev.java.net/)
* oai4j (se.kb:oai4j:0.6b1 - http://oai4j-client.sourceforge.net/)
* StAX API (stax:stax-api:1.0.1 - http://stax.codehaus.org/)
* standard (taglibs:standard:1.1.2 - no url defined)
* Xalan Java Serializer (xalan:serializer:2.7.2 - http://xml.apache.org/xalan-j/)
* Xalan Java (xalan:xalan:2.7.2 - http://xml.apache.org/xalan-j/)
* Xerces2-j (xerces:xercesImpl:2.11.0 - https://xerces.apache.org/xerces2-j/)
* xmlParserAPIs (xerces:xmlParserAPIs:2.6.2 - no url defined)
* xalan (xalan:xalan:2.7.0 - no url defined)
* Xerces2-j (xerces:xercesImpl:2.12.0 - https://xerces.apache.org/xerces2-j/)
* XML Commons External Components XML APIs (xml-apis:xml-apis:1.4.01 - http://xml.apache.org/commons/components/external/)
* XML Commons Resolver Component (xml-resolver:xml-resolver:1.2 - http://xml.apache.org/commons/components/resolver/)
BSD License:
* AntLR Parser Generator (antlr:antlr:2.7.7 - http://www.antlr.org/)
* ASM Core (asm:asm:3.3.1 - http://asm.objectweb.org/asm/)
* XMP Library for Java (com.adobe.xmp:xmpcore:5.1.2 - http://www.adobe.com/devnet/xmp.html)
* coverity-escapers (com.coverity.security:coverity-escapers:1.1.1 - http://coverity.com/security)
* Java Advanced Imaging Image I/O Tools API core (standalone) (com.github.jai-imageio:jai-imageio-core:1.4.0 - https://github.com/jai-imageio/jai-imageio-core)
* JSONLD Java :: Core (com.github.jsonld-java:jsonld-java:0.5.1 - http://github.com/jsonld-java/jsonld-java/jsonld-java/)
* Protocol Buffer Java API (com.google.protobuf:protobuf-java:2.5.0 - http://code.google.com/p/protobuf)
* Jena IRI (com.hp.hpl.jena:iri:0.8 - http://jena.sf.net/iri)
* Jena (com.hp.hpl.jena:jena:2.6.4 - http://www.openjena.org/)
* yui compressor (com.yahoo.platform.yui:yuicompressor:2.3.6 - http://developer.yahoo.com/yui/compressor/)
* curvesapi (com.github.virtuald:curvesapi:1.06 - https://github.com/virtuald/curvesapi)
* Protocol Buffers [Core] (com.google.protobuf:protobuf-java:3.11.0 - https://developers.google.com/protocol-buffers/protobuf-java/)
* dnsjava (dnsjava:dnsjava:2.1.7 - http://www.dnsjava.org)
* dom4j (dom4j:dom4j:1.6.1 - http://dom4j.org)
* Biblio Transformation Engine :: Core (gr.ekt.bte:bte-core:0.9.3.5 - http://github.com/EKT/Biblio-Transformation-Engine/bte-core)
* Biblio Transformation Engine :: Input/Output (gr.ekt.bte:bte-io:0.9.3.5 - http://github.com/EKT/Biblio-Transformation-Engine/bte-io)
* Units of Measurement API (javax.measure:unit-api:1.0 - http://unitsofmeasurement.github.io/)
* jaxen (jaxen:jaxen:1.1.6 - http://jaxen.codehaus.org/)
* JLine (jline:jline:0.9.94 - http://jline.sourceforge.net)
* ANTLR 3 Runtime (org.antlr:antlr-runtime:3.5 - http://www.antlr.org)
* Morfologik FSA (org.carrot2:morfologik-fsa:1.7.1 - http://morfologik.blogspot.com/morfologik-fsa/)
* Morfologik Stemming Dictionary for Polish (org.carrot2:morfologik-polish:1.7.1 - http://morfologik.blogspot.com/morfologik-polish/)
* Morfologik Stemming APIs (org.carrot2:morfologik-stemming:1.7.1 - http://morfologik.blogspot.com/morfologik-stemming/)
* Stax2 API (org.codehaus.woodstox:stax2-api:3.1.1 - http://woodstox.codehaus.org/StAX2)
* DSpace Kernel :: API and Implementation (org.dspace:dspace-api:6.0-rc4-SNAPSHOT - https://github.com/dspace/DSpace/dspace-api)
* DSpace I18N :: Language Packs (org.dspace:dspace-api-lang:6.0.3 - https://github.com/dspace/dspace-api-lang)
* DSpace JSP-UI (org.dspace:dspace-jspui:6.0-rc4-SNAPSHOT - https://github.com/dspace/DSpace/dspace-jspui)
* DSpace OAI-PMH (org.dspace:dspace-oai:6.0-rc4-SNAPSHOT - https://github.com/dspace/DSpace/dspace-oai)
* DSpace RDF (org.dspace:dspace-rdf:6.0-rc4-SNAPSHOT - https://github.com/dspace/DSpace/dspace-rdf)
* DSpace REST :: API and Implementation (org.dspace:dspace-rest:6.0-rc4-SNAPSHOT - http://demo.dspace.org)
* DSpace Services Framework :: API and Implementation (org.dspace:dspace-services:6.0-rc4-SNAPSHOT - https://github.com/dspace/DSpace/dspace-services)
* Apache Solr Webapp (org.dspace:dspace-solr:6.0-rc4-SNAPSHOT - https://github.com/dspace/DSpace/dspace-solr)
* DSpace SWORD (org.dspace:dspace-sword:6.0-rc4-SNAPSHOT - https://github.com/dspace/DSpace/dspace-sword)
* DSpace SWORD v2 (org.dspace:dspace-swordv2:6.0-rc4-SNAPSHOT - https://github.com/dspace/DSpace/dspace-swordv2)
* DSpace XML-UI (Manakin) (org.dspace:dspace-xmlui:6.0-rc4-SNAPSHOT - https://github.com/dspace/DSpace/dspace-xmlui)
* DSpace XML-UI (Manakin) I18N :: Language Packs (org.dspace:dspace-xmlui-lang:6.0.3 - https://github.com/dspace/dspace-xmlui-lang)
* handle (org.dspace:handle:6.2 - no url defined)
* jargon (org.dspace:jargon:1.4.25 - no url defined)
* mets (org.dspace:mets:1.5.2 - no url defined)
* oclc-harvester2 (org.dspace:oclc-harvester2:0.1.12 - no url defined)
* XOAI : OAI-PMH Java Toolkit (org.dspace:xoai:3.2.10 - http://nexus.sonatype.org/oss-repository-hosting.html/xoai)
* Repackaged Cocoon Servlet Service Implementation (org.dspace.dependencies.cocoon:dspace-cocoon-servlet-service-impl:1.0.3 - http://projects.dspace.org/dspace-pom/dspace-cocoon-servlet-service-impl)
* DSpace Kernel :: Additions and Local Customizations (org.dspace.modules:additions:6.0-rc4-SNAPSHOT - https://github.com/dspace/DSpace/modules/additions)
* ANTLR 4 Runtime (org.antlr:antlr4-runtime:4.5.1-1 - http://www.antlr.org/antlr4-runtime)
* commons-compiler (org.codehaus.janino:commons-compiler:3.0.9 - http://janino-compiler.github.io/commons-compiler/)
* janino (org.codehaus.janino:janino:3.0.9 - http://janino-compiler.github.io/janino/)
* Stax2 API (org.codehaus.woodstox:stax2-api:3.1.4 - http://wiki.fasterxml.com/WoodstoxStax2)
* dom4j (org.dom4j:dom4j:2.1.1 - http://dom4j.github.io/)
* Hamcrest Date (org.exparity:hamcrest-date:2.0.7 - https://github.com/exparity/hamcrest-date)
* jersey-core-client (org.glassfish.jersey.core:jersey-client:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
* Hamcrest (org.hamcrest:hamcrest:2.1 - http://hamcrest.org/JavaHamcrest/)
* Hamcrest All (org.hamcrest:hamcrest-all:1.3 - https://github.com/hamcrest/JavaHamcrest/hamcrest-all)
* Hamcrest Core (org.hamcrest:hamcrest-all:1.3 - https://github.com/hamcrest/JavaHamcrest/hamcrest-all)
* Hamcrest Core (org.hamcrest:hamcrest-core:1.3 - https://github.com/hamcrest/JavaHamcrest/hamcrest-core)
* Hamcrest library (org.hamcrest:hamcrest-library:1.3 - https://github.com/hamcrest/JavaHamcrest/hamcrest-library)
* JBibTeX (org.jbibtex:jbibtex:1.0.10 - http://www.jbibtex.org)
* ASM Core (org.ow2.asm:asm:4.1 - http://asm.objectweb.org/asm/)
* ASM Analysis (org.ow2.asm:asm-analysis:4.1 - http://asm.objectweb.org/asm-analysis/)
* ASM Commons (org.ow2.asm:asm-commons:4.1 - http://asm.objectweb.org/asm-commons/)
* ASM Tree (org.ow2.asm:asm-tree:4.1 - http://asm.objectweb.org/asm-tree/)
* ASM Util (org.ow2.asm:asm-util:4.1 - http://asm.objectweb.org/asm-util/)
* XMLUnit for Java (xmlunit:xmlunit:1.1 - http://xmlunit.sourceforge.net/)
* asm (org.ow2.asm:asm:8.0.1 - http://asm.ow2.io/)
* asm-analysis (org.ow2.asm:asm-analysis:7.1 - http://asm.ow2.org/)
* asm-commons (org.ow2.asm:asm-commons:8.0.1 - http://asm.ow2.io/)
* asm-tree (org.ow2.asm:asm-tree:7.1 - http://asm.ow2.org/)
* asm-util (org.ow2.asm:asm-util:7.1 - http://asm.ow2.org/)
* PostgreSQL JDBC Driver (org.postgresql:postgresql:42.2.24 - https://jdbc.postgresql.org)
* JMatIO (org.tallison:jmatio:1.5 - https://github.com/tballison/jmatio)
* XMLUnit for Java (xmlunit:xmlunit:1.3 - http://xmlunit.sourceforge.net/)
Common Development and Distribution License (CDDL):
* JAXB Reference Implementation (com.sun.xml.bind:jaxb-impl:2.2.5 - http://jaxb.java.net/)
* JHighlight (com.uwyn:jhighlight:1.0 - https://jhighlight.dev.java.net/)
* JavaBeans(TM) Activation Framework (javax.activation:activation:1.1.1 - http://java.sun.com/javase/technologies/desktop/javabeans/jaf/index.jsp)
* javax.annotation API (javax.annotation:javax.annotation-api:1.2 - http://jcp.org/en/jsr/detail?id=250)
* JavaBeans Activation Framework (com.sun.activation:javax.activation:1.2.0 - http://java.net/all/javax.activation/)
* istack common utility code runtime (com.sun.istack:istack-commons-runtime:3.0.7 - http://java.net/istack-commons/istack-commons-runtime/)
* Old JAXB Core (com.sun.xml.bind:jaxb-core:2.3.0.1 - http://jaxb.java.net/jaxb-bundles/jaxb-core)
* Old JAXB Runtime (com.sun.xml.bind:jaxb-impl:2.3.1 - http://jaxb.java.net/jaxb-bundles/jaxb-impl)
* saaj-impl (com.sun.xml.messaging.saaj:saaj-impl:1.4.0-b03 - http://java.net/saaj-impl/)
* Jakarta Annotations API (jakarta.annotation:jakarta.annotation-api:1.3.5 - https://projects.eclipse.org/projects/ee4j.ca)
* jakarta.ws.rs-api (jakarta.ws.rs:jakarta.ws.rs-api:2.1.6 - https://github.com/eclipse-ee4j/jaxrs-api)
* JavaBeans Activation Framework (JAF) (javax.activation:activation:1.1 - http://java.sun.com/products/javabeans/jaf/index.jsp)
* JavaBeans Activation Framework API jar (javax.activation:javax.activation-api:1.2.0 - http://java.net/all/javax.activation-api/)
* javax.annotation API (javax.annotation:javax.annotation-api:1.3.2 - http://jcp.org/en/jsr/detail?id=250)
* JavaMail API (compat) (javax.mail:mail:1.4.7 - http://kenai.com/projects/javamail/mail)
* Java Servlet API (javax.servlet:javax.servlet-api:3.1.0 - http://servlet-spec.java.net)
* jsp-api (javax.servlet:jsp-api:2.0 - no url defined)
* jstl (javax.servlet:jstl:1.2 - no url defined)
* servlet-api (javax.servlet:servlet-api:2.5 - no url defined)
* javax.ws.rs-api (javax.ws.rs:javax.ws.rs-api:2.0.1 - http://jax-rs-spec.java.net)
* Class Model for Hk2 (org.glassfish.hk2:class-model:2.4.0-b31 - https://hk2.java.net/class-model)
* HK2 config types (org.glassfish.hk2:config-types:2.4.0-b31 - https://hk2.java.net/hk2-configuration/hk2-configuration-persistence/hk2-xml-dom/config-types)
* HK2 module of HK2 itself (org.glassfish.hk2:hk2:2.4.0-b31 - https://hk2.java.net/hk2)
* HK2 API module (org.glassfish.hk2:hk2-api:2.4.0-b31 - https://hk2.java.net/hk2-api)
* HK2 configuration module (org.glassfish.hk2:hk2-config:2.4.0-b31 - https://hk2.java.net/hk2-configuration/hk2-configuration-persistence/hk2-xml-dom/hk2-config)
* HK2 core module (org.glassfish.hk2:hk2-core:2.4.0-b31 - https://hk2.java.net/hk2-core)
* ServiceLocator Default Implementation (org.glassfish.hk2:hk2-locator:2.4.0-b31 - https://hk2.java.net/hk2-locator)
* Run Level Service (org.glassfish.hk2:hk2-runlevel:2.4.0-b31 - https://hk2.java.net/hk2-runlevel)
* HK2 Implementation Utilities (org.glassfish.hk2:hk2-utils:2.4.0-b31 - https://hk2.java.net/hk2-utils)
* OSGi resource locator bundle - used by various API providers that rely on META-INF/services mechanism to locate providers. (org.glassfish.hk2:osgi-resource-locator:1.0.1 - http://glassfish.org/osgi-resource-locator/)
* HK2 Spring Bridge (org.glassfish.hk2:spring-bridge:2.4.0-b31 - https://hk2.java.net/spring-bridge)
* aopalliance version 1.0 repackaged as a module (org.glassfish.hk2.external:aopalliance-repackaged:2.4.0-b31 - https://hk2.java.net/external/aopalliance-repackaged)
* ASM library repackaged as OSGi bundle (org.glassfish.hk2.external:asm-all-repackaged:2.4.0-b31 - https://hk2.java.net/external/asm-all-repackaged)
* javax.validation:1.1.0.Final as OSGi bundle (org.glassfish.hk2.external:bean-validator:2.4.0-b31 - https://hk2.java.net/external/bean-validator)
* javax.inject:1 as OSGi bundle (org.glassfish.hk2.external:javax.inject:2.4.0-b31 - https://hk2.java.net/external/javax.inject)
* jersey-repackaged-guava (org.glassfish.jersey.bundles.repackaged:jersey-guava:2.22.1 - https://jersey.java.net/project/project/jersey-guava/)
* jersey-container-servlet (org.glassfish.jersey.containers:jersey-container-servlet:2.22.1 - https://jersey.java.net/project/jersey-container-servlet/)
* jersey-container-servlet-core (org.glassfish.jersey.containers:jersey-container-servlet-core:2.22.1 - https://jersey.java.net/project/jersey-container-servlet-core/)
* jersey-core-client (org.glassfish.jersey.core:jersey-client:2.22.1 - https://jersey.java.net/jersey-client/)
* jersey-core-common (org.glassfish.jersey.core:jersey-common:2.22.1 - https://jersey.java.net/jersey-common/)
* jersey-core-server (org.glassfish.jersey.core:jersey-server:2.22.1 - https://jersey.java.net/jersey-server/)
* jersey-ext-entity-filtering (org.glassfish.jersey.ext:jersey-entity-filtering:2.22.1 - https://jersey.java.net/project/jersey-entity-filtering/)
* jersey-spring3 (org.glassfish.jersey.ext:jersey-spring3:2.22.1 - https://jersey.java.net/project/jersey-spring3/)
* jersey-media-jaxb (org.glassfish.jersey.media:jersey-media-jaxb:2.22.1 - https://jersey.java.net/project/jersey-media-jaxb/)
* jersey-media-json-jackson (org.glassfish.jersey.media:jersey-media-json-jackson:2.22.1 - https://jersey.java.net/project/jersey-media-json-jackson/)
* Java Transaction API (org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:1.0.1.Final - http://www.jboss.org/jboss-transaction-api_1.1_spec)
* Type arithmetic library for Java5 (org.jvnet:tiger-types:1.4 - http://java.net/tiger-types/)
* javax.transaction API (javax.transaction:javax.transaction-api:1.3 - http://jta-spec.java.net)
* jaxb-api (javax.xml.bind:jaxb-api:2.3.1 - https://github.com/javaee/jaxb-spec/jaxb-api)
* JAX-WS API (javax.xml.ws:jaxws-api:2.3.1 - https://github.com/javaee/jax-ws-spec)
* JHighlight (org.codelibs:jhighlight:1.0.3 - https://github.com/codelibs/jhighlight)
* HK2 API module (org.glassfish.hk2:hk2-api:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-api)
* ServiceLocator Default Implementation (org.glassfish.hk2:hk2-locator:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-locator)
* HK2 Implementation Utilities (org.glassfish.hk2:hk2-utils:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-utils)
* OSGi resource locator (org.glassfish.hk2:osgi-resource-locator:1.0.3 - https://projects.eclipse.org/projects/ee4j/osgi-resource-locator)
* aopalliance version 1.0 repackaged as a module (org.glassfish.hk2.external:aopalliance-repackaged:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/external/aopalliance-repackaged)
* javax.inject:1 as OSGi bundle (org.glassfish.hk2.external:jakarta.inject:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/external/jakarta.inject)
* JAXB Runtime (org.glassfish.jaxb:jaxb-runtime:2.3.1 - http://jaxb.java.net/jaxb-runtime-parent/jaxb-runtime)
* TXW2 Runtime (org.glassfish.jaxb:txw2:2.3.1 - http://jaxb.java.net/jaxb-txw-parent/txw2)
* jersey-core-client (org.glassfish.jersey.core:jersey-client:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
* Java Transaction API (org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.1.1.Final - http://www.jboss.org/jboss-transaction-api_1.2_spec)
* MIME streaming extension (org.jvnet.mimepull:mimepull:1.9.7 - http://mimepull.java.net)
* Extended StAX API (org.jvnet.staxex:stax-ex:1.8 - http://stax-ex.java.net/)
Cordra (Version 2) License Agreement:
* net.cnri:cnri-servlet-container (net.cnri:cnri-servlet-container:3.0.0 - https://gitlab.com/cnri/cnri-servlet-container)
* net.cnri:cnri-servlet-container-lib (net.cnri:cnri-servlet-container-lib:3.0.0 - https://gitlab.com/cnri/cnri-servlet-container)
* net.cnri:cnriutil (net.cnri:cnriutil:2.0 - https://gitlab.com/cnri/cnriutil)
Eclipse Distribution License, Version 1.0:
* JavaBeans Activation Framework (com.sun.activation:jakarta.activation:1.2.1 - https://github.com/eclipse-ee4j/jaf/jakarta.activation)
* JavaBeans Activation Framework API jar (jakarta.activation:jakarta.activation-api:1.2.1 - https://github.com/eclipse-ee4j/jaf/jakarta.activation-api)
* Jakarta Activation API jar (jakarta.activation:jakarta.activation-api:1.2.2 - https://github.com/eclipse-ee4j/jaf/jakarta.activation-api)
* jakarta.xml.bind-api (jakarta.xml.bind:jakarta.xml.bind-api:2.3.2 - https://github.com/eclipse-ee4j/jaxb-api/jakarta.xml.bind-api)
* Jakarta XML Binding API (jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 - https://github.com/eclipse-ee4j/jaxb-api/jakarta.xml.bind-api)
* javax.persistence-api (javax.persistence:javax.persistence-api:2.2 - https://github.com/javaee/jpa-spec)
* jersey-core-client (org.glassfish.jersey.core:jersey-client:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
* Java Persistence API, Version 2.1 (org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final - http://hibernate.org)
Eclipse Public License:
* JUnit (junit:junit:4.11 - http://junit.org)
* AspectJ runtime (org.aspectj:aspectjrt:1.6.11 - http://www.aspectj.org)
* JPA 2.0 API (org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.1.Final - http://hibernate.org)
* System Rules (com.github.stefanbirkner:system-rules:1.19.0 - http://stefanbirkner.github.io/system-rules/)
* c3p0 (com.mchange:c3p0:0.9.5.5 - https://github.com/swaldman/c3p0)
* mchange-commons-java (com.mchange:mchange-commons-java:0.2.19 - https://github.com/swaldman/mchange-commons-java)
* Jakarta Annotations API (jakarta.annotation:jakarta.annotation-api:1.3.5 - https://projects.eclipse.org/projects/ee4j.ca)
* jakarta.ws.rs-api (jakarta.ws.rs:jakarta.ws.rs-api:2.1.6 - https://github.com/eclipse-ee4j/jaxrs-api)
* javax.persistence-api (javax.persistence:javax.persistence-api:2.2 - https://github.com/javaee/jpa-spec)
* JUnit (junit:junit:4.13.1 - http://junit.org)
* AspectJ runtime (org.aspectj:aspectjrt:1.8.0 - http://www.aspectj.org)
* AspectJ weaver (org.aspectj:aspectjweaver:1.9.5 - http://www.aspectj.org)
* Eclipse Compiler for Java(TM) (org.eclipse.jdt:ecj:3.14.0 - http://www.eclipse.org/jdt)
* Jetty :: Apache JSP Implementation (org.eclipse.jetty:apache-jsp:9.4.15.v20190215 - http://www.eclipse.org/jetty)
* Apache :: JSTL module (org.eclipse.jetty:apache-jstl:9.4.15.v20190215 - http://tomcat.apache.org/taglibs/standard/)
* Jetty :: ALPN :: Client (org.eclipse.jetty:jetty-alpn-client:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-alpn-parent/jetty-alpn-client)
* Jetty :: ALPN :: JDK9 Client Implementation (org.eclipse.jetty:jetty-alpn-java-client:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-alpn-parent/jetty-alpn-java-client)
* Jetty :: ALPN :: JDK9 Server Implementation (org.eclipse.jetty:jetty-alpn-java-server:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-alpn-parent/jetty-alpn-java-server)
* Jetty :: ALPN :: Server (org.eclipse.jetty:jetty-alpn-server:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-alpn-parent/jetty-alpn-server)
* Jetty :: Servlet Annotations (org.eclipse.jetty:jetty-annotations:9.4.15.v20190215 - http://www.eclipse.org/jetty)
* Jetty :: Asynchronous HTTP Client (org.eclipse.jetty:jetty-client:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-client)
* Jetty :: Continuation (org.eclipse.jetty:jetty-continuation:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-continuation)
* Jetty :: Deployers (org.eclipse.jetty:jetty-deploy:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-deploy)
* Jetty :: Http Utility (org.eclipse.jetty:jetty-http:9.4.41.v20210516 - https://eclipse.org/jetty/jetty-http)
* Jetty :: IO Utility (org.eclipse.jetty:jetty-io:9.4.41.v20210516 - https://eclipse.org/jetty/jetty-io)
* Jetty :: JMX Management (org.eclipse.jetty:jetty-jmx:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-jmx)
* Jetty :: JNDI Naming (org.eclipse.jetty:jetty-jndi:9.4.15.v20190215 - http://www.eclipse.org/jetty)
* Jetty :: Plus (org.eclipse.jetty:jetty-plus:9.4.15.v20190215 - http://www.eclipse.org/jetty)
* Jetty :: Rewrite Handler (org.eclipse.jetty:jetty-rewrite:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-rewrite)
* Jetty :: Security (org.eclipse.jetty:jetty-security:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-security)
* Jetty :: Server Core (org.eclipse.jetty:jetty-server:9.4.41.v20210516 - https://eclipse.org/jetty/jetty-server)
* Jetty :: Servlet Handling (org.eclipse.jetty:jetty-servlet:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-servlet)
* Jetty :: Utility Servlets and Filters (org.eclipse.jetty:jetty-servlets:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-servlets)
* Jetty :: Utilities (org.eclipse.jetty:jetty-util:9.4.41.v20210516 - https://eclipse.org/jetty/jetty-util)
* Jetty :: Webapp Application Support (org.eclipse.jetty:jetty-webapp:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-webapp)
* Jetty :: XML utilities (org.eclipse.jetty:jetty-xml:9.4.34.v20201102 - https://eclipse.org/jetty/jetty-xml)
* Jetty :: HTTP2 :: Client (org.eclipse.jetty.http2:http2-client:9.4.34.v20201102 - https://eclipse.org/jetty/http2-parent/http2-client)
* Jetty :: HTTP2 :: Common (org.eclipse.jetty.http2:http2-common:9.4.34.v20201102 - https://eclipse.org/jetty/http2-parent/http2-common)
* Jetty :: HTTP2 :: HPACK (org.eclipse.jetty.http2:http2-hpack:9.4.34.v20201102 - https://eclipse.org/jetty/http2-parent/http2-hpack)
* Jetty :: HTTP2 :: HTTP Client Transport (org.eclipse.jetty.http2:http2-http-client-transport:9.4.34.v20201102 - https://eclipse.org/jetty/http2-parent/http2-http-client-transport)
* Jetty :: HTTP2 :: Server (org.eclipse.jetty.http2:http2-server:9.4.34.v20201102 - https://eclipse.org/jetty/http2-parent/http2-server)
* Jetty :: Schemas (org.eclipse.jetty.toolchain:jetty-schemas:3.1.2 - https://eclipse.org/jetty/jetty-schemas)
* HK2 API module (org.glassfish.hk2:hk2-api:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-api)
* ServiceLocator Default Implementation (org.glassfish.hk2:hk2-locator:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-locator)
* HK2 Implementation Utilities (org.glassfish.hk2:hk2-utils:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-utils)
* OSGi resource locator (org.glassfish.hk2:osgi-resource-locator:1.0.3 - https://projects.eclipse.org/projects/ee4j/osgi-resource-locator)
* aopalliance version 1.0 repackaged as a module (org.glassfish.hk2.external:aopalliance-repackaged:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/external/aopalliance-repackaged)
* javax.inject:1 as OSGi bundle (org.glassfish.hk2.external:jakarta.inject:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/external/jakarta.inject)
* jersey-core-client (org.glassfish.jersey.core:jersey-client:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
* jersey-core-common (org.glassfish.jersey.core:jersey-common:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-common)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
* Java Persistence API, Version 2.1 (org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.0.Final - http://hibernate.org)
* Jetty Server (org.mortbay.jetty:jetty:6.1.26 - http://www.eclipse.org/jetty/jetty-parent/project/modules/jetty)
* Jetty Servlet Tester (org.mortbay.jetty:jetty-servlet-tester:6.1.26 - http://www.eclipse.org/jetty/jetty-parent/project/jetty-servlet-tester)
* Jetty Utilities (org.mortbay.jetty:jetty-util:6.1.26 - http://www.eclipse.org/jetty/jetty-parent/project/jetty-util)
GNU General Public License, Version 2 with the Classpath Exception:
* Java Transaction API (org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:1.0.1.Final - http://www.jboss.org/jboss-transaction-api_1.1_spec)
GNU Lesser General Public License (LGPL):
* SpotBugs Annotations (com.github.spotbugs:spotbugs-annotations:3.1.9 - https://spotbugs.github.io/)
* FindBugs-Annotations (com.google.code.findbugs:annotations:3.0.1u2 - http://findbugs.sourceforge.net/)
* MaxMind GeoIP Legacy API (com.maxmind.geoip:geoip-api:1.3.0 - https://github.com/maxmind/geoip-api-java)
* JHighlight (com.uwyn:jhighlight:1.0 - https://jhighlight.dev.java.net/)
* DSpace TM-Extractors Dependency (org.dspace.dependencies:dspace-tm-extractors:1.0.1 - http://projects.dspace.org/dspace-pom/dspace-tm-extractors)
* A Hibernate O/RM Module (org.hibernate:hibernate-core:4.2.21.Final - http://hibernate.org)
* A Hibernate O/RM Module (org.hibernate:hibernate-ehcache:4.2.21.Final - http://hibernate.org)
* Hibernate Commons Annotations (org.hibernate.common:hibernate-commons-annotations:4.0.2.Final - http://hibernate.org)
* c3p0 (com.mchange:c3p0:0.9.5.5 - https://github.com/swaldman/c3p0)
* mchange-commons-java (com.mchange:mchange-commons-java:0.2.19 - https://github.com/swaldman/mchange-commons-java)
* Java Native Access (net.java.dev.jna:jna:5.5.0 - https://github.com/java-native-access/jna)
* JHighlight (org.codelibs:jhighlight:1.0.3 - https://github.com/codelibs/jhighlight)
* Hibernate ORM - hibernate-core (org.hibernate:hibernate-core:5.4.10.Final - http://hibernate.org/orm)
* Hibernate ORM - hibernate-ehcache (org.hibernate:hibernate-ehcache:5.4.10.Final - http://hibernate.org/orm)
* Hibernate ORM - hibernate-jpamodelgen (org.hibernate:hibernate-jpamodelgen:5.4.10.Final - http://hibernate.org/orm)
* Hibernate Commons Annotations (org.hibernate.common:hibernate-commons-annotations:5.1.0.Final - http://hibernate.org)
* im4java (org.im4java:im4java:1.4.0 - http://sourceforge.net/projects/im4java/)
* Javassist (org.javassist:javassist:3.18.1-GA - http://www.javassist.org/)
* JBoss Logging 3 (org.jboss.logging:jboss-logging:3.1.0.GA - http://www.jboss.org)
* org.jdesktop - Swing Worker (org.jdesktop:swing-worker:1.1 - no url defined)
* xom (xom:xom:1.1 - http://www.xom.nu)
* JacORB OMG-API (org.jacorb:jacorb-omgapi:3.9 - http://www.jacorb.org)
* Javassist (org.javassist:javassist:3.25.0-GA - http://www.javassist.org/)
* Java RMI API (org.jboss.spec.javax.rmi:jboss-rmi-api_1.0_spec:1.0.6.Final - http://www.jboss.org/jboss-rmi-api_1.0_spec)
* XOM (xom:xom:1.2.5 - http://xom.nu)
ICU License:
Go License:
* ICU4J (com.ibm.icu:icu4j:56.1 - http://icu-project.org/)
* RE2/J (com.google.re2j:re2j:1.2 - http://github.com/google/re2j)
Handle.Net Public License Agreement (Ver.2):
* Handle Server (net.handle:handle:9.3.0 - https://www.handle.net)
JDOM License (Apache-style license):
@@ -387,38 +530,73 @@ https://wiki.duraspace.org/display/DSPACE/Code+Contribution+Guidelines
MIT License:
* Bouncy Castle CMS and S/MIME API (org.bouncycastle:bcmail-jdk15:1.46 - http://www.bouncycastle.org/java.html)
* Bouncy Castle Provider (org.bouncycastle:bcprov-jdk15:1.46 - http://www.bouncycastle.org/java.html)
* Main (org.jmockit:jmockit:1.21 - http://www.jmockit.org)
* OpenCloud (org.mcavallo:opencloud:0.3 - http://opencloud.mcavallo.org/)
* Mockito (org.mockito:mockito-core:1.10.19 - http://www.mockito.org)
* JCL 1.1.1 implemented over SLF4J (org.slf4j:jcl-over-slf4j:1.7.14 - http://www.slf4j.org)
* JUL to SLF4J bridge (org.slf4j:jul-to-slf4j:1.7.14 - http://www.slf4j.org)
* SLF4J API Module (org.slf4j:slf4j-api:1.7.14 - http://www.slf4j.org)
* SLF4J LOG4J-12 Binding (org.slf4j:slf4j-log4j12:1.7.14 - http://www.slf4j.org)
* Java SemVer (com.github.zafarkhaja:java-semver:0.9.0 - https://github.com/zafarkhaja/jsemver)
* DigitalCollections: IIIF API Library (de.digitalcollections.iiif:iiif-apis:0.3.9 - https://github.com/dbmdz/iiif-apis)
* CDM core library (edu.ucar:cdm:4.5.5 - http://www.unidata.ucar.edu/software/netcdf-java/documentation.htm)
* GRIB IOSP and Feature Collection (edu.ucar:grib:4.5.5 - http://www.unidata.ucar.edu/software/netcdf-java/)
* HttpClient Wrappers (edu.ucar:httpservices:4.5.5 - http://www.unidata.ucar.edu/software/netcdf-java/documentation.htm)
* netCDF-4 IOSP JNI connection to C library (edu.ucar:netcdf4:4.5.5 - http://www.unidata.ucar.edu/software/netcdf-java/netcdf4/)
* udunits (edu.ucar:udunits:4.5.5 - http://www.unidata.ucar.edu/software/udunits//)
* Bouncy Castle S/MIME API (org.bouncycastle:bcmail-jdk15on:1.65 - http://www.bouncycastle.org/java.html)
* Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs (org.bouncycastle:bcpkix-jdk15on:1.65 - http://www.bouncycastle.org/java.html)
* Bouncy Castle Provider (org.bouncycastle:bcprov-jdk15on:1.65 - http://www.bouncycastle.org/java.html)
* org.brotli:dec (org.brotli:dec:0.1.2 - http://brotli.org/dec)
* Checker Qual (org.checkerframework:checker-qual:3.5.0 - https://checkerframework.org)
* jersey-core-client (org.glassfish.jersey.core:jersey-client:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
* Itadaki jbzip2 (org.itadaki:bzip2:0.9.1 - https://code.google.com/p/jbzip2/)
* jsoup Java HTML Parser (org.jsoup:jsoup:1.13.1 - https://jsoup.org/)
* mockito-core (org.mockito:mockito-core:3.8.0 - https://github.com/mockito/mockito)
* mockito-inline (org.mockito:mockito-inline:3.8.0 - https://github.com/mockito/mockito)
* ORCID - Model (org.orcid:orcid-model:3.0.2 - http://github.com/ORCID/orcid-model)
* JCL 1.2 implemented over SLF4J (org.slf4j:jcl-over-slf4j:1.7.25 - http://www.slf4j.org)
* JUL to SLF4J bridge (org.slf4j:jul-to-slf4j:1.7.25 - http://www.slf4j.org)
* SLF4J API Module (org.slf4j:slf4j-api:1.7.25 - http://www.slf4j.org)
* toastr (org.webjars.bowergithub.codeseven:toastr:2.1.4 - http://webjars.org)
* jquery (org.webjars.bowergithub.jquery:jquery-dist:3.5.1 - https://www.webjars.org)
* bootstrap (org.webjars.bowergithub.twbs:bootstrap:4.5.2 - https://www.webjars.org)
Mozilla Public License:
* juniversalchardet (com.googlecode.juniversalchardet:juniversalchardet:1.0.3 - http://juniversalchardet.googlecode.com/)
* h2 (com.h2database:h2:1.4.187 - no url defined)
* Javassist (org.javassist:javassist:3.18.1-GA - http://www.javassist.org/)
* Rhino (rhino:js:1.6R7 - http://www.mozilla.org/rhino/)
* Saxon-HE (net.sf.saxon:Saxon-HE:9.8.0-14 - http://www.saxonica.com/)
* Javassist (org.javassist:javassist:3.25.0-GA - http://www.javassist.org/)
OGC copyright:
* GeoAPI (org.opengis:geoapi:3.0.1 - http://www.geoapi.org/geoapi/)
Public Domain:
* AOP alliance (aopalliance:aopalliance:1.0 - http://aopalliance.sourceforge.net)
* Dough Lea's util.concurrent package (concurrent:concurrent:1.3.4 - no url defined)
* Reflections (org.reflections:reflections:0.9.9-RC1 - http://code.google.com/p/reflections/reflections/)
* XZ for Java (org.tukaani:xz:1.4 - http://tukaani.org/xz/java.html)
* jersey-core-client (org.glassfish.jersey.core:jersey-client:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
* jersey-core-common (org.glassfish.jersey.core:jersey-common:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-common)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
* Reflections (org.reflections:reflections:0.9.12 - http://github.com/ronmamo/reflections)
* XZ for Java (org.tukaani:xz:1.8 - https://tukaani.org/xz/java.html)
Similar to Apache License but with the acknowledgment clause removed:
The JSON License:
* JDOM (org.jdom:jdom:1.1.3 - http://www.jdom.org)
* JSON in Java (org.json:json:20180130 - https://github.com/douglascrockford/JSON-java)
The PostgreSQL License:
The New BSD License:
* PostgreSQL JDBC Driver - JDBC 4.2 (org.postgresql:postgresql:9.4.1211 - https://github.com/pgjdbc/pgjdbc)
* Reflections (org.reflections:reflections:0.9.12 - http://github.com/ronmamo/reflections)
license.txt:
UnRar License:
* JPA 2.0 API (org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.1.Final - http://hibernate.org)
* Java UnRar (com.github.junrar:junrar:4.0.0 - https://github.com/junrar/junrar)
Unicode/ICU License:
* ICU4J (com.ibm.icu:icu4j:62.1 - http://icu-project.org/)
W3C license:
* jersey-core-client (org.glassfish.jersey.core:jersey-client:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
jQuery license:
* jersey-core-client (org.glassfish.jersey.core:jersey-client:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:2.30.1 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)

21
NOTICE
View File

@@ -1,15 +1,18 @@
Licensing Notices
=================
Licensing Notice
[July 2019] DuraSpace joined with LYRASIS (another 501(c)3 organization) in July 2019.
LYRASIS holds the copyrights of DuraSpace.
Fedora Commons joined with the DSpace Foundation and began operating under
[July 2009] Fedora Commons joined with the DSpace Foundation and began operating under
the new name DuraSpace in July 2009. DuraSpace holds the copyrights of
the DSpace Foundation, Inc.
The DSpace Foundation, Inc. is a 501(c)3 corporation established in July 2007
with a mission to promote and advance the dspace platform enabling management,
access and preservation of digital works. The Foundation was able to transfer
the legal copyright from Hewlett-Packard Company (HP) and Massachusetts
Institute of Technology (MIT) to the DSpace Foundation in October 2007. Many
of the files in the source code may contain a copyright statement stating HP
and MIT possess the copyright, in these instances please note that the copy
[July 2007] The DSpace Foundation, Inc. is a 501(c)3 corporation established in July 2007
with a mission to promote and advance the dspace platform enabling management,
access and preservation of digital works. The Foundation was able to transfer
the legal copyright from Hewlett-Packard Company (HP) and Massachusetts
Institute of Technology (MIT) to the DSpace Foundation in October 2007. Many
of the files in the source code may contain a copyright statement stating HP
and MIT possess the copyright, in these instances please note that the copy
right has transferred to the DSpace foundation, and subsequently to DuraSpace.

123
README.md
View File

@@ -1,62 +1,65 @@
# DSpace
## NOTE: The rest-tutorial branch has been created to support the [DSpace 7 REST documentation](https://dspace-labs.github.io/DSpace7RestTutorial/walkthrough/intro)
- This branch provides stable, referencable line numbers in code
[![Build Status](https://github.com/DSpace/DSpace/workflows/Build/badge.svg)](https://github.com/DSpace/DSpace/actions?query=workflow%3ABuild)
[![Build Status](https://travis-ci.org/DSpace/DSpace.png?branch=master)](https://travis-ci.org/DSpace/DSpace)
[DSpace Documentation](https://wiki.duraspace.org/display/DSDOC/) |
[DSpace Documentation](https://wiki.lyrasis.org/display/DSDOC/) |
[DSpace Releases](https://github.com/DSpace/DSpace/releases) |
[DSpace Wiki](https://wiki.duraspace.org/display/DSPACE/Home) |
[Support](https://wiki.duraspace.org/display/DSPACE/Support)
[DSpace Wiki](https://wiki.lyrasis.org/display/DSPACE/Home) |
[Support](https://wiki.lyrasis.org/display/DSPACE/Support)
DSpace open source software is a turnkey repository application used by more than
## Overview
DSpace open source software is a turnkey repository application used by more than
2,000 organizations and institutions worldwide to provide durable access to digital resources.
For more information, visit http://www.dspace.org/
***
:warning: **Work on DSpace 7 has begun on our `master` branch.** This means that there is temporarily NO user interface on this `master` branch. DSpace 7 will feature a new, unified [Angular](https://angular.io/) user interface, along with an enhanced, rebuilt REST API. The latest status of this work can be found on the [DSpace 7 UI Working Group](https://wiki.duraspace.org/display/DSPACE/DSpace+7+UI+Working+Group) page. Additionally, the codebases can be found in the following places:
* DSpace 7 REST API work is occurring on the [`master` branch](https://github.com/DSpace/DSpace/tree/master/dspace-spring-rest) of this repository.
* The REST Contract is being documented at https://github.com/DSpace/Rest7Contract
* DSpace 7 Angular UI work is occurring at https://github.com/DSpace/dspace-angular
**If you would like to get involved in our DSpace 7 development effort, we welcome new contributors.** Just join one of our meetings or get in touch via Slack. See the [DSpace 7 UI Working Group](https://wiki.duraspace.org/display/DSPACE/DSpace+7+UI+Working+Group) wiki page for more info.
DSpace consists of both a Java-based backend and an Angular-based frontend.
**If you are looking for the ongoing maintenance work for DSpace 6 (or prior releases)**, you can find that work on the corresponding maintenance branch (e.g. [`dspace-6_x`](https://github.com/DSpace/DSpace/tree/dspace-6_x)) in this repository.
***
* Backend (this codebase) provides a REST API, along with other machine-based interfaces (e.g. OAI-PMH, SWORD, etc)
* The REST Contract is at https://github.com/DSpace/RestContract
* Frontend (https://github.com/DSpace/dspace-angular/) is the User Interface built on the REST API
Prior versions of DSpace (v6.x and below) used two different UIs (XMLUI and JSPUI). Those UIs are no longer supported in v7 (and above).
* A maintenance branch for older versions is still available, see `dspace-6_x` for 6.x maintenance.
## Downloads
The latest release of DSpace can be downloaded from the [DSpace website](http://www.dspace.org/latest-release/) or from [GitHub](https://github.com/DSpace/DSpace/releases).
Past releases are all available via GitHub at https://github.com/DSpace/DSpace/releases
* Backend (REST API): https://github.com/DSpace/DSpace/releases
* Frontend (User Interface): https://github.com/DSpace/dspace-angular/releases
## Documentation / Installation
Documentation for each release may be viewed online or downloaded via our [Documentation Wiki](https://wiki.duraspace.org/display/DSDOC/).
Documentation for each release may be viewed online or downloaded via our [Documentation Wiki](https://wiki.lyrasis.org/display/DSDOC/).
The latest DSpace Installation instructions are available at:
https://wiki.duraspace.org/display/DSDOC6x/Installing+DSpace
https://wiki.lyrasis.org/display/DSDOC7x/Installing+DSpace
Please be aware that, as a Java web application, DSpace requires a database (PostgreSQL or Oracle)
Please be aware that, as a Java web application, DSpace requires a database (PostgreSQL or Oracle)
and a servlet container (usually Tomcat) in order to function.
More information about these and all other prerequisites can be found in the Installation instructions above.
## Running DSpace 7 in Docker
NOTE: At this time, we do not have production-ready Docker images for DSpace.
That said, we do have quick-start Docker Compose scripts for development or testing purposes.
See [Running DSpace 7 with Docker Compose](dspace/src/main/docker-compose/README.md)
## Contributing
DSpace is a community built and supported project. We do not have a centralized development or support team,
DSpace is a community built and supported project. We do not have a centralized development or support team,
but have a dedicated group of volunteers who help us improve the software, documentation, resources, etc.
We welcome contributions of any type. Here's a few basic guides that provide suggestions for contributing to DSpace:
* [How to Contribute to DSpace](https://wiki.duraspace.org/display/DSPACE/How+to+Contribute+to+DSpace): How to contribute in general (via code, documentation, bug reports, expertise, etc)
* [Code Contribution Guidelines](https://wiki.duraspace.org/display/DSPACE/Code+Contribution+Guidelines): How to give back code or contribute features, bug fixes, etc.
* [DSpace Community Advisory Team (DCAT)](https://wiki.duraspace.org/display/cmtygp/DSpace+Community+Advisory+Team): If you are not a developer, we also have an interest group specifically for repository managers. The DCAT group meets virtually, once a month, and sends open invitations to join their meetings via the [DCAT mailing list](https://groups.google.com/d/forum/DSpaceCommunityAdvisoryTeam).
* [How to Contribute to DSpace](https://wiki.lyrasis.org/display/DSPACE/How+to+Contribute+to+DSpace): How to contribute in general (via code, documentation, bug reports, expertise, etc)
* [Code Contribution Guidelines](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines): How to give back code or contribute features, bug fixes, etc.
* [DSpace Community Advisory Team (DCAT)](https://wiki.lyrasis.org/display/cmtygp/DSpace+Community+Advisory+Team): If you are not a developer, we also have an interest group specifically for repository managers. The DCAT group meets virtually, once a month, and sends open invitations to join their meetings via the [DCAT mailing list](https://groups.google.com/d/forum/DSpaceCommunityAdvisoryTeam).
We also encourage GitHub Pull Requests (PRs) at any time. Please see our [Development with Git](https://wiki.duraspace.org/display/DSPACE/Development+with+Git) guide for more info.
We also encourage GitHub Pull Requests (PRs) at any time. Please see our [Development with Git](https://wiki.lyrasis.org/display/DSPACE/Development+with+Git) guide for more info.
In addition, a listing of all known contributors to DSpace software can be
found online at: https://wiki.duraspace.org/display/DSPACE/DSpaceContributors
found online at: https://wiki.lyrasis.org/display/DSPACE/DSpaceContributors
## Getting Help
@@ -64,22 +67,72 @@ DSpace provides public mailing lists where you can post questions or raise topic
We welcome everyone to participate in these lists:
* [dspace-community@googlegroups.com](https://groups.google.com/d/forum/dspace-community) : General discussion about DSpace platform, announcements, sharing of best practices
* [dspace-tech@googlegroups.com](https://groups.google.com/d/forum/dspace-tech) : Technical support mailing list. See also our guide for [How to troubleshoot an error](https://wiki.duraspace.org/display/DSPACE/Troubleshoot+an+error).
* [dspace-tech@googlegroups.com](https://groups.google.com/d/forum/dspace-tech) : Technical support mailing list. See also our guide for [How to troubleshoot an error](https://wiki.lyrasis.org/display/DSPACE/Troubleshoot+an+error).
* [dspace-devel@googlegroups.com](https://groups.google.com/d/forum/dspace-devel) : Developers / Development mailing list
Great Q&A is also available under the [DSpace tag on Stackoverflow](http://stackoverflow.com/questions/tagged/dspace)
Additional support options are listed at https://wiki.duraspace.org/display/DSPACE/Support
Additional support options are at https://wiki.lyrasis.org/display/DSPACE/Support
DSpace also has an active service provider network. If you'd rather hire a service provider to
install, upgrade, customize or host DSpace, then we recommend getting in touch with one of our
DSpace also has an active service provider network. If you'd rather hire a service provider to
install, upgrade, customize or host DSpace, then we recommend getting in touch with one of our
[Registered Service Providers](http://www.dspace.org/service-providers).
## Issue Tracker
The DSpace Issue Tracker can be found at: https://jira.duraspace.org/projects/DS/summary
DSpace uses GitHub to track issues:
* Backend (REST API) issues: https://github.com/DSpace/DSpace/issues
* Frontend (User Interface) issues: https://github.com/DSpace/dspace-angular/issues
## Testing
### Running Tests
By default, in DSpace, Unit Tests and Integration Tests are disabled. However, they are
run automatically by [GitHub Actions](https://github.com/DSpace/DSpace/actions?query=workflow%3ABuild) for all Pull Requests and code commits.
* How to run both Unit Tests (via `maven-surefire-plugin`) and Integration Tests (via `maven-failsafe-plugin`):
```
mvn install -DskipUnitTests=false -DskipIntegrationTests=false
```
* How to run _only_ Unit Tests:
```
mvn test -DskipUnitTests=false
```
* How to run a *single* Unit Test
```
# Run all tests in a specific test class
# NOTE: failIfNoTests=false is required to skip tests in other modules
mvn test -DskipUnitTests=false -Dtest=[full.package.testClassName] -DfailIfNoTests=false
# Run one test method in a specific test class
mvn test -DskipUnitTests=false -Dtest=[full.package.testClassName]#[testMethodName] -DfailIfNoTests=false
```
* How to run _only_ Integration Tests
```
mvn install -DskipIntegrationTests=false
```
* How to run a *single* Integration Test
```
# Run all integration tests in a specific test class
# NOTE: failIfNoTests=false is required to skip tests in other modules
mvn install -DskipIntegrationTests=false -Dit.test=[full.package.testClassName] -DfailIfNoTests=false
# Run one test method in a specific test class
mvn install -DskipIntegrationTests=false -Dit.test=[full.package.testClassName]#[testMethodName] -DfailIfNoTests=false
```
* How to run only tests of a specific DSpace module
```
# Before you can run only one module's tests, other modules may need installing into your ~/.m2
cd [dspace-src]
mvn clean install
# Then, move into a module subdirectory, and run the test command
cd [dspace-src]/dspace-server-webapp
# Choose your test command from the lists above
```
## License
DSpace source code is freely available under a standard [BSD 3-Clause license](https://opensource.org/licenses/BSD-3-Clause).
The full license is available at http://www.dspace.org/license/
The full license is available in the [LICENSE](LICENSE) file or online at http://www.dspace.org/license/

15
SECURITY.md Normal file
View File

@@ -0,0 +1,15 @@
# Security Policy
## Supported Versions
For information regarding which versions of DSpace are currently under support, please see our DSpace Software Support Policy:
https://wiki.lyrasis.org/display/DSPACE/DSpace+Software+Support+Policy
## Reporting a Vulnerability
If you believe you have found a security vulnerability in a supported version of DSpace, we encourage you to let us know right away.
We will investigate all legitimate reports and do our best to quickly fix the problem. Please see our DSpace Software Support Policy
for information on privately reporting vulnerabilities:
https://wiki.lyrasis.org/display/DSPACE/DSpace+Software+Support+Policy

View File

@@ -44,15 +44,16 @@ For more information on CheckStyle configurations below, see: http://checkstyle.
with @SuppressWarnings. See also SuppressWarningsHolder below -->
<module name="SuppressWarningsFilter" />
<!-- Maximum line length is 120 characters -->
<module name="LineLength">
<property name="fileExtensions" value="java"/>
<property name="max" value="120"/>
<!-- Only exceptions for packages, imports, URLs, and JavaDoc {@link} tags -->
<property name="ignorePattern" value="^package.*|^import.*|http://|https://|@link"/>
</module>
<!-- Check individual Java source files for specific rules -->
<module name="TreeWalker">
<!-- Maximum line length is 120 characters -->
<module name="LineLength">
<property name="max" value="120"/>
<!-- Only exceptions for packages, imports, URLs, and JavaDoc {@link} tags -->
<property name="ignorePattern" value="^package.*|^import.*|http://|https://|@link"/>
</module>
<!-- Highlight any TODO or FIXME comments in info messages -->
<module name="TodoComment">
<property name="severity" value="info"/>
@@ -94,11 +95,8 @@ For more information on CheckStyle configurations below, see: http://checkstyle.
<!-- <property name="scope" value="public"/> -->
<!-- TODO: Above rule has been disabled because of large amount of missing public method Javadocs -->
<property name="scope" value="nothing"/>
<!-- Allow RuntimeExceptions to be undeclared -->
<property name="allowUndeclaredRTE" value="true"/>
<!-- Allow params, throws and return tags to be optional -->
<property name="allowMissingParamTags" value="true"/>
<property name="allowMissingThrowsTags" value="true"/>
<property name="allowMissingReturnTag" value="true"/>
</module>

25
docker-compose-cli.yml Normal file
View File

@@ -0,0 +1,25 @@
version: "3.7"
services:
dspace-cli:
image: "${DOCKER_OWNER:-dspace}/dspace-cli:${DSPACE_VER:-dspace-7_x}"
container_name: dspace-cli
build:
context: .
dockerfile: Dockerfile.cli
#environment:
volumes:
- ./dspace/src/main/docker-compose/local.cfg:/dspace/config/local.cfg
- assetstore:/dspace/assetstore
entrypoint: /dspace/bin/dspace
command: help
networks:
- dspacenet
tty: true
stdin_open: true
volumes:
assetstore:
networks:
dspacenet:

100
docker-compose.yml Normal file
View File

@@ -0,0 +1,100 @@
version: '3.7'
networks:
dspacenet:
ipam:
config:
# Define a custom subnet for our DSpace network, so that we can easily trust requests from host to container.
# If you customize this value, be sure to customize the 'proxies.trusted.ipranges' in your local.cfg.
- subnet: 172.23.0.0/16
services:
# DSpace (backend) webapp container
dspace:
container_name: dspace
image: "${DOCKER_OWNER:-dspace}/dspace:${DSPACE_VER:-dspace-7_x-test}"
build:
context: .
dockerfile: Dockerfile.test
depends_on:
- dspacedb
networks:
dspacenet:
ports:
- published: 8080
target: 8080
- published: 8009
target: 8009
stdin_open: true
tty: true
volumes:
- assetstore:/dspace/assetstore
- ./dspace/src/main/docker-compose/local.cfg:/dspace/config/local.cfg
# Ensure that the database is ready BEFORE starting tomcat
# 1. While a TCP connection to dspacedb port 5432 is not available, continue to sleep
# 2. Then, run database migration to init database tables
# 3. Finally, start Tomcat
entrypoint:
- /bin/bash
- '-c'
- |
while (!</dev/tcp/dspacedb/5432) > /dev/null 2>&1; do sleep 1; done;
/dspace/bin/dspace database migrate
catalina.sh run
# DSpace database container
dspacedb:
container_name: dspacedb
environment:
PGDATA: /pgdata
# Uses a custom Postgres image with pgcrypto installed
image: dspace/dspace-postgres-pgcrypto
networks:
dspacenet:
ports:
- published: 5432
target: 5432
stdin_open: true
tty: true
volumes:
- pgdata:/pgdata
# DSpace Solr container
dspacesolr:
container_name: dspacesolr
# Uses official Solr image at https://hub.docker.com/_/solr/
image: solr:8.8
networks:
dspacenet:
ports:
- published: 8983
target: 8983
stdin_open: true
tty: true
working_dir: /var/solr/data
volumes:
# Mount our local Solr core configs so that they are available as Solr configsets on container
- ./dspace/solr/authority:/opt/solr/server/solr/configsets/authority
- ./dspace/solr/oai:/opt/solr/server/solr/configsets/oai
- ./dspace/solr/search:/opt/solr/server/solr/configsets/search
- ./dspace/solr/statistics:/opt/solr/server/solr/configsets/statistics
# Keep Solr data directory between reboots
- solr_data:/var/solr/data
# Initialize all DSpace Solr cores using the mounted local configsets (see above), then start Solr
# * First, run precreate-core to create the core (if it doesn't yet exist). If exists already, this is a no-op
# * Second, copy updated configs from mounted configsets to this core. If it already existed, this updates core
# to the latest configs. If it's a newly created core, this is a no-op.
entrypoint:
- /bin/bash
- '-c'
- |
init-var-solr
precreate-core authority /opt/solr/server/solr/configsets/authority
cp -r -u /opt/solr/server/solr/configsets/authority/* authority
precreate-core oai /opt/solr/server/solr/configsets/oai
cp -r -u /opt/solr/server/solr/configsets/oai/* oai
precreate-core search /opt/solr/server/solr/configsets/search
cp -r -u /opt/solr/server/solr/configsets/search/* search
precreate-core statistics /opt/solr/server/solr/configsets/statistics
cp -r -u /opt/solr/server/solr/configsets/statistics/* statistics
exec solr -f
volumes:
assetstore:
pgdata:
solr_data:

File diff suppressed because it is too large Load Diff

View File

@@ -1,163 +0,0 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.solr.handler.extraction;
/**
* The various Solr Parameters names to use when extracting content.
**/
public interface ExtractingParams {
/**
* Map all generated attribute names to field names with lowercase and underscores.
*/
public static final String LOWERNAMES = "lowernames";
/**
* if true, ignore TikaException (give up to extract text but index meta data)
*/
public static final String IGNORE_TIKA_EXCEPTION = "ignoreTikaException";
/**
* The param prefix for mapping Tika metadata to Solr fields.
* <p>
* To map a field, add a name like:
* <pre>fmap.title=solr.title</pre>
*
* In this example, the tika "title" metadata value will be added to a Solr field named "solr.title"
*/
public static final String MAP_PREFIX = "fmap.";
/**
* The boost value for the name of the field. The boost can be specified by a name mapping.
* <p>
* For example
* <pre>
* map.title=solr.title
* boost.solr.title=2.5
* </pre>
* will boost the solr.title field for this document by 2.5
*/
public static final String BOOST_PREFIX = "boost.";
/**
* Pass in literal values to be added to the document, as in
* <pre>
* literal.myField=Foo
* </pre>
*/
public static final String LITERALS_PREFIX = "literal.";
/**
* Restrict the extracted parts of a document to be indexed
* by passing in an XPath expression. All content that satisfies the XPath expr.
* will be passed to the {@link org.apache.solr.handler.extraction.SolrContentHandler}.
* <p>
* See Tika's docs for what the extracted document looks like.
*
* @see #CAPTURE_ELEMENTS
*/
public static final String XPATH_EXPRESSION = "xpath";
/**
* Only extract and return the content, do not index it.
*/
public static final String EXTRACT_ONLY = "extractOnly";
/**
* Content output format if extractOnly is true. Default is "xml", alternative is "text".
*/
public static final String EXTRACT_FORMAT = "extractFormat";
/**
* Capture attributes separately according to the name of the element, instead of just adding them to the string
* buffer
*/
public static final String CAPTURE_ATTRIBUTES = "captureAttr";
/**
* Literal field values will by default override other values such as metadata and content. Set this to false to
* revert to pre-4.0 behaviour
*/
public static final String LITERALS_OVERRIDE = "literalsOverride";
/**
* Capture the specified fields (and everything included below it that isn't capture by some other capture field)
* separately from the default. This is different
* then the case of passing in an XPath expression.
* <p>
* The Capture field is based on the localName returned to the
* {@link org.apache.solr.handler.extraction.SolrContentHandler}
* by Tika, not to be confused by the mapped field. The field name can then
* be mapped into the index schema.
* <p>
* For instance, a Tika document may look like:
* <pre>
* &lt;html&gt;
* ...
* &lt;body&gt;
* &lt;p&gt;some text here. &lt;div&gt;more text&lt;/div&gt;&lt;/p&gt;
* Some more text
* &lt;/body&gt;
* </pre>
* By passing in the p tag, you could capture all P tags separately from the rest of the t
* Thus, in the example, the capture of the P tag would be: "some text here. more text"
*/
public static final String CAPTURE_ELEMENTS = "capture";
/**
* The type of the stream. If not specified, Tika will use mime type detection.
*/
public static final String STREAM_TYPE = "stream.type";
/**
* Optional. The file name. If specified, Tika can take this into account while
* guessing the MIME type.
*/
public static final String RESOURCE_NAME = "resource.name";
/**
* Optional. The password for this resource. Will be used instead of the rule based password lookup mechanisms
*/
public static final String RESOURCE_PASSWORD = "resource.password";
/**
* Optional. If specified, the prefix will be prepended to all Metadata, such that it would be possible
* to setup a dynamic field to automatically capture it
*/
public static final String UNKNOWN_FIELD_PREFIX = "uprefix";
/**
* Optional. If specified and the name of a potential field cannot be determined, the default Field specified
* will be used instead.
*/
public static final String DEFAULT_FIELD = "defaultField";
/**
* Optional. If specified, loads the file as a source for password lookups for Tika encrypted documents.
* <p>
* File format is Java properties format with one key=value per line.
* The key is evaluated as a regex against the file name, and the value is the password
* The rules are evaluated top-bottom, i.e. the first match will be used
* If you want a fallback password to be always used, supply a .*=&lt;defaultmypassword&gt; at the end
*/
public static final String PASSWORD_MAP_FILE = "passwordsFile";
}

View File

@@ -14,10 +14,10 @@ import java.util.UUID;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Community;
import org.dspace.content.factory.ContentServiceFactory;
@@ -51,7 +51,7 @@ public class CommunityFiliator {
*/
public static void main(String[] argv) throws Exception {
// create an options object and populate it
CommandLineParser parser = new PosixParser();
CommandLineParser parser = new DefaultParser();
Options options = new Options();
@@ -180,13 +180,9 @@ public class CommunityFiliator {
// second test - circularity: parent's parents can't include proposed
// child
List<Community> parentDads = parent.getParentCommunities();
for (int i = 0; i < parentDads.size(); i++) {
if (parentDads.get(i).getID().equals(child.getID())) {
System.out
.println("Error, circular parentage - child is parent of parent");
System.exit(1);
}
if (parentDads.contains(child)) {
System.out.println("Error, circular parentage - child is parent of parent");
System.exit(1);
}
// everthing's OK
@@ -210,26 +206,15 @@ public class CommunityFiliator {
throws SQLException, AuthorizeException, IOException {
// verify that child is indeed a child of parent
List<Community> parentKids = parent.getSubcommunities();
boolean isChild = false;
for (int i = 0; i < parentKids.size(); i++) {
if (parentKids.get(i).getID().equals(child.getID())) {
isChild = true;
break;
}
}
if (!isChild) {
System.out
.println("Error, child community not a child of parent community");
if (!parentKids.contains(child)) {
System.out.println("Error, child community not a child of parent community");
System.exit(1);
}
// OK remove the mappings - but leave the community, which will become
// top-level
child.getParentCommunities().remove(parent);
parent.getSubcommunities().remove(child);
child.removeParentCommunity(parent);
parent.removeSubCommunity(child);
communityService.update(c, child);
communityService.update(c, parent);

View File

@@ -13,10 +13,9 @@ import java.util.Locale;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import org.apache.commons.lang.StringUtils;
import org.dspace.core.ConfigurationManager;
import org.apache.commons.lang3.StringUtils;
import org.dspace.core.Context;
import org.dspace.core.I18nUtil;
import org.dspace.eperson.EPerson;
@@ -24,6 +23,8 @@ import org.dspace.eperson.Group;
import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.eperson.service.EPersonService;
import org.dspace.eperson.service.GroupService;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
/**
* A command-line tool for creating an initial administrator for setting up a
@@ -61,7 +62,7 @@ public final class CreateAdministrator {
*/
public static void main(String[] argv)
throws Exception {
CommandLineParser parser = new PosixParser();
CommandLineParser parser = new DefaultParser();
Options options = new Options();
CreateAdministrator ca = new CreateAdministrator();
@@ -115,7 +116,7 @@ public final class CreateAdministrator {
String lastName = null;
char[] password1 = null;
char[] password2 = null;
String language = I18nUtil.DEFAULTLOCALE.getLanguage();
String language = I18nUtil.getDefaultLocale().getLanguage();
while (!dataOK) {
System.out.print("E-mail address: ");
@@ -147,9 +148,10 @@ public final class CreateAdministrator {
lastName = lastName.trim();
}
if (ConfigurationManager.getProperty("webui.supported.locales") != null) {
System.out.println("Select one of the following languages: " + ConfigurationManager
.getProperty("webui.supported.locales"));
ConfigurationService cfg = DSpaceServicesFactory.getInstance().getConfigurationService();
if (cfg.hasProperty("webui.supported.locales")) {
System.out.println("Select one of the following languages: "
+ cfg.getProperty("webui.supported.locales"));
System.out.print("Language: ");
System.out.flush();

View File

@@ -10,6 +10,7 @@ package org.dspace.administer;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
@@ -17,25 +18,28 @@ import java.util.Map;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.apache.xml.serialize.Method;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.dspace.content.MetadataField;
import org.dspace.content.MetadataSchema;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.MetadataFieldService;
import org.dspace.content.service.MetadataSchemaService;
import org.dspace.core.Context;
import org.xml.sax.SAXException;
import org.w3c.dom.DOMConfiguration;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.bootstrap.DOMImplementationRegistry;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSOutput;
import org.w3c.dom.ls.LSSerializer;
/**
* @author Graham Triggs
*
* This class creates an xml document as passed in the arguments and
* This class creates an XML document as passed in the arguments and
* from the metadata schemas for the repository.
*
* The form of the XML is as follows
@@ -61,17 +65,20 @@ public class MetadataExporter {
private MetadataExporter() { }
/**
* @param args commandline arguments
* @param args command line arguments
* @throws ParseException if parser error
* @throws SAXException if XML parse error
* @throws IOException if IO error
* @throws SQLException if database error
* @throws RegistryExportException if export error
* @throws ClassNotFoundException if no suitable DOM implementation
* @throws InstantiationException if no suitable DOM implementation
* @throws IllegalAccessException if no suitable DOM implementation
*/
public static void main(String[] args)
throws ParseException, SQLException, IOException, SAXException, RegistryExportException {
throws ParseException, SQLException, IOException, RegistryExportException,
ClassNotFoundException, InstantiationException, IllegalAccessException {
// create an options object and populate it
CommandLineParser parser = new PosixParser();
CommandLineParser parser = new DefaultParser();
Options options = new Options();
options.addOption("f", "file", true, "output xml file for registry");
options.addOption("s", "schema", true, "the name of the schema to export");
@@ -95,32 +102,31 @@ public class MetadataExporter {
}
/**
* Save a registry to a filepath
* Save a registry to a file path
*
* @param file filepath
* @param file file path
* @param schema schema definition to save
* @throws SQLException if database error
* @throws IOException if IO error
* @throws SAXException if XML error
* @throws RegistryExportException if export error
* @throws ClassNotFoundException if no suitable DOM implementation
* @throws InstantiationException if no suitable DOM implementation
* @throws IllegalAccessException if no suitable DOM implementation
*/
public static void saveRegistry(String file, String schema)
throws SQLException, IOException, SAXException, RegistryExportException {
throws SQLException, IOException, RegistryExportException,
ClassNotFoundException, InstantiationException, IllegalAccessException {
// create a context
Context context = new Context();
context.turnOffAuthorisationSystem();
OutputFormat xmlFormat = new OutputFormat(Method.XML, "UTF-8", true);
xmlFormat.setLineWidth(120);
xmlFormat.setIndent(4);
XMLSerializer xmlSerializer = new XMLSerializer(new BufferedWriter(new FileWriter(file)), xmlFormat);
// XMLSerializer xmlSerializer = new XMLSerializer(System.out, xmlFormat);
xmlSerializer.startDocument();
xmlSerializer.startElement("dspace-dc-types", null);
// Initialize an XML document.
Document document = DOMImplementationRegistry.newInstance()
.getDOMImplementation("XML 3.0")
.createDocument(null, "dspace-dc-types", null);
// Save the schema definition(s)
saveSchema(context, xmlSerializer, schema);
saveSchema(context, document, schema);
List<MetadataField> mdFields = null;
@@ -139,55 +145,64 @@ public class MetadataExporter {
mdFields = metadataFieldService.findAll(context);
}
// Output the metadata fields
// Compose the metadata fields
for (MetadataField mdField : mdFields) {
saveType(context, xmlSerializer, mdField);
saveType(context, document, mdField);
}
xmlSerializer.endElement("dspace-dc-types");
xmlSerializer.endDocument();
// Serialize the completed document to the output file.
try (Writer writer = new BufferedWriter(new FileWriter(file))) {
DOMImplementationLS lsImplementation
= (DOMImplementationLS) DOMImplementationRegistry.newInstance()
.getDOMImplementation("LS");
LSSerializer serializer = lsImplementation.createLSSerializer();
DOMConfiguration configuration = serializer.getDomConfig();
configuration.setParameter("format-pretty-print", true);
LSOutput lsOutput = lsImplementation.createLSOutput();
lsOutput.setEncoding("UTF-8");
lsOutput.setCharacterStream(writer);
serializer.write(document, lsOutput);
}
// abort the context, as we shouldn't have changed it!!
context.abort();
}
/**
* Serialize the schema registry. If the parameter 'schema' is null or empty, save all schemas
* Compose the schema registry. If the parameter 'schema' is null or empty, save all schemas.
*
* @param context DSpace Context
* @param xmlSerializer XML serializer
* @param document the document being built
* @param schema schema (may be null to save all)
* @throws SQLException if database error
* @throws SAXException if XML error
* @throws RegistryExportException if export error
*/
public static void saveSchema(Context context, XMLSerializer xmlSerializer, String schema)
throws SQLException, SAXException, RegistryExportException {
public static void saveSchema(Context context, Document document, String schema)
throws SQLException, RegistryExportException {
if (schema != null && !"".equals(schema)) {
// Find a single named schema
MetadataSchema mdSchema = metadataSchemaService.find(context, schema);
saveSchema(xmlSerializer, mdSchema);
saveSchema(document, mdSchema);
} else {
// Find all schemas
List<MetadataSchema> mdSchemas = metadataSchemaService.findAll(context);
for (MetadataSchema mdSchema : mdSchemas) {
saveSchema(xmlSerializer, mdSchema);
saveSchema(document, mdSchema);
}
}
}
/**
* Serialize a single schema (namespace) registry entry
* Compose a single schema (namespace) registry entry
*
* @param xmlSerializer XML serializer
* @param mdSchema DSpace metadata schema
* @throws SAXException if XML error
* @param document the output document being built.
* @param mdSchema DSpace metadata schema
* @throws RegistryExportException if export error
*/
private static void saveSchema(XMLSerializer xmlSerializer, MetadataSchema mdSchema)
throws SAXException, RegistryExportException {
private static void saveSchema(Document document, MetadataSchema mdSchema)
throws RegistryExportException {
// If we haven't got a schema, it's an error
if (mdSchema == null) {
throw new RegistryExportException("no schema to export");
@@ -206,35 +221,34 @@ public class MetadataExporter {
return;
}
// Output the parent tag
xmlSerializer.startElement("dc-schema", null);
Element document_element = document.getDocumentElement();
// Output the schema name
xmlSerializer.startElement("name", null);
xmlSerializer.characters(name.toCharArray(), 0, name.length());
xmlSerializer.endElement("name");
// Compose the parent tag
Element schema_element = document.createElement("dc-schema");
document_element.appendChild(schema_element);
// Output the schema namespace
xmlSerializer.startElement("namespace", null);
xmlSerializer.characters(namespace.toCharArray(), 0, namespace.length());
xmlSerializer.endElement("namespace");
// Compose the schema name
Element name_element = document.createElement("name");
schema_element.appendChild(name_element);
name_element.setTextContent(name);
xmlSerializer.endElement("dc-schema");
// Compose the schema namespace
Element namespace_element = document.createElement("namespace");
schema_element.appendChild(namespace_element);
namespace_element.setTextContent(namespace);
}
/**
* Serialize a single metadata field registry entry to xml
* Compose a single metadata field registry entry to XML.
*
* @param context DSpace context
* @param xmlSerializer xml serializer
* @param document the output document being built.
* @param mdField DSpace metadata field
* @throws SAXException if XML error
* @throws RegistryExportException if export error
* @throws SQLException if database error
* @throws IOException if IO error
*/
private static void saveType(Context context, XMLSerializer xmlSerializer, MetadataField mdField)
throws SAXException, RegistryExportException, SQLException, IOException {
private static void saveType(Context context, Document document, MetadataField mdField)
throws RegistryExportException, SQLException {
// If we haven't been given a field, it's an error
if (mdField == null) {
throw new RegistryExportException("no field to export");
@@ -251,38 +265,39 @@ public class MetadataExporter {
throw new RegistryExportException("incomplete field information");
}
// Output the parent tag
xmlSerializer.startElement("dc-type", null);
Element document_element = document.getDocumentElement();
// Output the schema name
xmlSerializer.startElement("schema", null);
xmlSerializer.characters(schemaName.toCharArray(), 0, schemaName.length());
xmlSerializer.endElement("schema");
// Compose the parent tag
Element dc_type = document.createElement("dc-type");
document_element.appendChild(dc_type);
// Output the element
xmlSerializer.startElement("element", null);
xmlSerializer.characters(element.toCharArray(), 0, element.length());
xmlSerializer.endElement("element");
// Compose the schema name
Element schema_element = document.createElement("schema");
dc_type.appendChild(schema_element);
schema_element.setTextContent(schemaName);
// Output the qualifier, if present
// Compose the element
Element element_element = document.createElement("element");
dc_type.appendChild(element_element);
element_element.setTextContent(element);
// Compose the qualifier, if present
if (qualifier != null) {
xmlSerializer.startElement("qualifier", null);
xmlSerializer.characters(qualifier.toCharArray(), 0, qualifier.length());
xmlSerializer.endElement("qualifier");
Element qualifier_element = document.createElement("qualifier");
dc_type.appendChild(qualifier_element);
qualifier_element.setTextContent(qualifier);
} else {
xmlSerializer.comment("unqualified");
dc_type.appendChild(document.createComment("unqualified"));
}
// Output the scope note, if present
// Compose the scope note, if present
if (scopeNote != null) {
xmlSerializer.startElement("scope_note", null);
xmlSerializer.characters(scopeNote.toCharArray(), 0, scopeNote.length());
xmlSerializer.endElement("scope_note");
Element scope_element = document.createElement("scope_note");
dc_type.appendChild(scope_element);
scope_element.setTextContent(scopeNote);
} else {
xmlSerializer.comment("no scope note");
dc_type.appendChild(document.createComment("no scope note"));
}
xmlSerializer.endElement("dc-type");
}
static Map<Integer, String> schemaMap = new HashMap<Integer, String>();
@@ -317,7 +332,7 @@ public class MetadataExporter {
}
/**
* Print the usage message to stdout
* Print the usage message to standard output
*/
public static void usage() {
String usage = "Use this class with the following options:\n" +

View File

@@ -14,13 +14,14 @@ import javax.xml.transform.TransformerException;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.apache.xpath.XPathAPI;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.MetadataField;
import org.dspace.content.MetadataSchema;
import org.dspace.content.MetadataSchemaEnum;
import org.dspace.content.NonUniqueMetadataException;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.MetadataFieldService;
@@ -80,7 +81,7 @@ public class MetadataImporter {
* @throws SQLException if database error
* @throws IOException if IO error
* @throws TransformerException if transformer error
* @throws ParserConfigurationException if config error
* @throws ParserConfigurationException if configuration error
* @throws AuthorizeException if authorization error
* @throws SAXException if parser error
* @throws NonUniqueMetadataException if duplicate metadata
@@ -90,25 +91,22 @@ public class MetadataImporter {
throws ParseException, SQLException, IOException, TransformerException,
ParserConfigurationException, AuthorizeException, SAXException,
NonUniqueMetadataException, RegistryImportException {
boolean forceUpdate = false;
// create an options object and populate it
CommandLineParser parser = new PosixParser();
CommandLineParser parser = new DefaultParser();
Options options = new Options();
options.addOption("f", "file", true, "source xml file for DC fields");
options.addOption("u", "update", false, "update an existing schema");
CommandLine line = parser.parse(options, args);
String file = null;
if (line.hasOption('f')) {
file = line.getOptionValue('f');
String file = line.getOptionValue('f');
boolean forceUpdate = line.hasOption('u');
loadRegistry(file, forceUpdate);
} else {
usage();
System.exit(0);
System.exit(1);
}
forceUpdate = line.hasOption('u');
loadRegistry(file, forceUpdate);
}
/**
@@ -119,7 +117,7 @@ public class MetadataImporter {
* @throws SQLException if database error
* @throws IOException if IO error
* @throws TransformerException if transformer error
* @throws ParserConfigurationException if config error
* @throws ParserConfigurationException if configuration error
* @throws AuthorizeException if authorization error
* @throws SAXException if parser error
* @throws NonUniqueMetadataException if duplicate metadata
@@ -226,7 +224,7 @@ public class MetadataImporter {
/**
* Process a node in the metadata registry XML file. The node must
* be a "dc-type" node. If the type already exists, then it
* will not be reimported
* will not be re-imported.
*
* @param context DSpace context object
* @param node the node in the DOM tree
@@ -248,7 +246,7 @@ public class MetadataImporter {
// If the schema is not provided default to DC
if (schema == null) {
schema = MetadataSchema.DC_SCHEMA;
schema = MetadataSchemaEnum.DC.getName();
}

View File

@@ -17,14 +17,14 @@ import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.Logger;
import org.apache.xpath.XPathAPI;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.BitstreamFormat;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.BitstreamFormatService;
import org.dspace.core.Context;
import org.dspace.core.LogManager;
import org.dspace.core.LogHelper;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -47,7 +47,7 @@ public class RegistryLoader {
/**
* log4j category
*/
private static Logger log = Logger.getLogger(RegistryLoader.class);
private static Logger log = org.apache.logging.log4j.LogManager.getLogger(RegistryLoader.class);
protected static BitstreamFormatService bitstreamFormatService = ContentServiceFactory.getInstance()
.getBitstreamFormatService();
@@ -95,7 +95,7 @@ public class RegistryLoader {
System.exit(1);
} catch (Exception e) {
log.fatal(LogManager.getHeader(context, "error_loading_registries",
log.fatal(LogHelper.getHeader(context, "error_loading_registries",
""), e);
System.err.println("Error: \n - " + e.getMessage());
@@ -135,7 +135,7 @@ public class RegistryLoader {
loadFormat(context, n);
}
log.info(LogManager.getHeader(context, "load_bitstream_formats",
log.info(LogHelper.getHeader(context, "load_bitstream_formats",
"number_loaded=" + typeNodes.getLength()));
}

View File

@@ -7,12 +7,24 @@
*/
package org.dspace.administer;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import static org.dspace.content.service.DSpaceObjectService.MD_COPYRIGHT_TEXT;
import static org.dspace.content.service.DSpaceObjectService.MD_INTRODUCTORY_TEXT;
import static org.dspace.content.service.DSpaceObjectService.MD_LICENSE;
import static org.dspace.content.service.DSpaceObjectService.MD_NAME;
import static org.dspace.content.service.DSpaceObjectService.MD_PROVENANCE_DESCRIPTION;
import static org.dspace.content.service.DSpaceObjectService.MD_SHORT_DESCRIPTION;
import static org.dspace.content.service.DSpaceObjectService.MD_SIDEBAR_TEXT;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -21,12 +33,19 @@ import javax.xml.transform.TransformerException;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import org.apache.commons.cli.ParseException;
import org.apache.xpath.XPathAPI;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Collection;
import org.dspace.content.Community;
import org.dspace.content.Item;
import org.dspace.content.MetadataFieldName;
import org.dspace.content.MetadataSchemaEnum;
import org.dspace.content.MetadataValue;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.CollectionService;
import org.dspace.content.service.CommunityService;
@@ -34,6 +53,7 @@ import org.dspace.core.Context;
import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.eperson.service.EPersonService;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
@@ -45,44 +65,51 @@ import org.xml.sax.SAXException;
* an XML file.
*
* The XML file structure needs to be:
* {@code
* <pre>{@code
* <import_structure>
* <community>
* <name>....</name>
* <community>...</community>
* <collection>
* <name>....</name>
* </collection>
* </community>
* <community>
* <name>....</name>
* <community>...</community>
* <collection>
* <name>....</name>
* </collection>
* </community>
* </import_structure>
* }
* it can be arbitrarily deep, and supports all the metadata elements
* }</pre>
* <p>
* It can be arbitrarily deep, and supports all the metadata elements
* that make up the community and collection metadata. See the system
* documentation for more details
* documentation for more details.
*
* @author Richard Jones
*/
public class StructBuilder {
/**
* the output xml document which will contain updated information about the
* imported structure
/** Name of the root element for the document to be imported. */
static final String INPUT_ROOT = "import_structure";
/*
* Name of the root element for the document produced by importing.
* Community and collection elements are annotated with their identifiers.
*/
private static org.jdom.Document xmlOutput = new org.jdom.Document(new Element("imported_structure"));
static final String RESULT_ROOT = "imported_structure";
/**
* a hashtable to hold metadata for the collection being worked on
* A table to hold metadata for the collection being worked on.
*/
private static Map<String, String> collectionMap = new HashMap<String, String>();
private static final Map<String, MetadataFieldName> collectionMap = new HashMap<>();
/**
* a hashtable to hold metadata for the community being worked on
* A table to hold metadata for the community being worked on.
*/
private static Map<String, String> communityMap = new HashMap<String, String>();
private static final Map<String, MetadataFieldName> communityMap = new HashMap<>();
protected static CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService();
protected static CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService();
protected static EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService();
protected static CommunityService communityService
= ContentServiceFactory.getInstance().getCommunityService();
protected static CollectionService collectionService
= ContentServiceFactory.getInstance().getCollectionService();
protected static EPersonService ePersonService
= EPersonServiceFactory.getInstance().getEPersonService();
/**
* Default constructor
@@ -91,135 +118,356 @@ public class StructBuilder {
/**
* Main method to be run from the command line to import a structure into
* DSpace
* DSpacee or export existing structure to a file.The command is of the form:
*
* This is of the form:
* <p>{@code StructBuilder -f [XML source] -e [administrator email] -o [output file]}
*
* {@code StructBuilder -f [xml source] -e [administrator email] -o [output file]}
* <p>to import, or
*
* The output file will contain exactly the same as the source xml document, but
* with the handle for each imported item added as an attribute.
* <p>{@code StructBuilder -x -e [administrator email] -o [output file]}</p>
*
* @param argv the command line arguments given
* @throws Exception if an error occurs
* <p>to export. The output will contain exactly the same as the source XML
* document, but with the Handle for each imported item added as an attribute.
*
*
* @param argv command line arguments.
* @throws ParserConfigurationException passed through.
* @throws SQLException passed through.
* @throws FileNotFoundException if input or output could not be opened.
* @throws TransformerException if the input document is invalid.
*/
public static void main(String[] argv)
throws Exception {
CommandLineParser parser = new PosixParser();
throws ParserConfigurationException, SQLException,
FileNotFoundException, IOException, TransformerException {
// Define command line options.
Options options = new Options();
options.addOption("f", "file", true, "file");
options.addOption("e", "eperson", true, "eperson");
options.addOption("o", "output", true, "output");
options.addOption("h", "help", false, "Print this help message.");
options.addOption("?", "help");
options.addOption("x", "export", false, "Export the current structure as XML.");
CommandLine line = parser.parse(options, argv);
options.addOption(Option.builder("e").longOpt("eperson")
.desc("User who is manipulating the repository's structure.")
.hasArg().argName("eperson").required().build());
String file = null;
String eperson = null;
String output = null;
options.addOption(Option.builder("f").longOpt("file")
.desc("File of new structure information.")
.hasArg().argName("input").build());
if (line.hasOption('f')) {
file = line.getOptionValue('f');
options.addOption(Option.builder("o").longOpt("output")
.desc("File to receive the structure map ('-' for standard out).")
.hasArg().argName("output").required().build());
// Parse the command line.
CommandLineParser parser = new DefaultParser();
CommandLine line = null;
try {
line = parser.parse(options, argv);
} catch (ParseException ex) {
System.err.println(ex.getMessage());
usage(options);
System.exit(1);
}
if (line.hasOption('e')) {
eperson = line.getOptionValue('e');
}
if (line.hasOption('o')) {
output = line.getOptionValue('o');
}
if (output == null || eperson == null || file == null) {
usage();
// If the user asked for help, give it and exit.
if (line.hasOption('h') || line.hasOption('?')) {
giveHelp(options);
System.exit(0);
}
// Otherwise, analyze the command.
// Must be import or export.
if (!(line.hasOption('f') || line.hasOption('x'))) {
giveHelp(options);
System.exit(1);
}
// Open the output stream.
String output = line.getOptionValue('o');
OutputStream outputStream;
if ("-".equals(output)) {
outputStream = System.out;
} else {
outputStream = new FileOutputStream(output);
}
// create a context
Context context = new Context();
// set the context
context.setCurrentUser(ePersonService.findByEmail(context, eperson));
// set the context.
String eperson = line.getOptionValue('e');
try {
context.setCurrentUser(ePersonService.findByEmail(context, eperson));
} catch (SQLException ex) {
System.err.format("That user could not be found: %s%n", ex.getMessage());
System.exit(1);
}
// Export? Import?
if (line.hasOption('x')) { // export
exportStructure(context, outputStream);
} else { // Must be import
String input = line.getOptionValue('f');
if (null == input) {
usage(options);
System.exit(1);
}
InputStream inputStream;
if ("-".equals(input)) {
inputStream = System.in;
} else {
inputStream = new FileInputStream(input);
}
importStructure(context, inputStream, outputStream);
// save changes from import
context.complete();
}
System.exit(0);
}
/**
* Import new Community/Collection structure.
*
* @param context
* @param input XML which describes the new communities and collections.
* @param output input, annotated with the new objects' identifiers.
* @throws IOException
* @throws ParserConfigurationException
* @throws SAXException
* @throws TransformerException
* @throws SQLException
*/
static void importStructure(Context context, InputStream input, OutputStream output)
throws IOException, ParserConfigurationException, SQLException, TransformerException {
// load the XML
Document document = loadXML(file);
Document document = null;
try {
document = loadXML(input);
} catch (IOException ex) {
System.err.format("The input document could not be read: %s%n", ex.getMessage());
System.exit(1);
} catch (SAXException ex) {
System.err.format("The input document could not be parsed: %s%n", ex.getMessage());
System.exit(1);
}
// run the preliminary validation, to be sure that the the XML document
// is properly structured
validate(document);
// is properly structured.
try {
validate(document);
} catch (TransformerException ex) {
System.err.format("The input document is invalid: %s%n", ex.getMessage());
System.exit(1);
}
// Check for 'identifier' attributes -- possibly output by this class.
NodeList identifierNodes = XPathAPI.selectNodeList(document, "//*[@identifier]");
if (identifierNodes.getLength() > 0) {
System.err.println("The input document has 'identifier' attributes, which will be ignored.");
}
// load the mappings into the member variable hashmaps
communityMap.put("name", "name");
communityMap.put("description", "short_description");
communityMap.put("intro", "introductory_text");
communityMap.put("copyright", "copyright_text");
communityMap.put("sidebar", "side_bar_text");
communityMap.put("name", MD_NAME);
communityMap.put("description", MD_SHORT_DESCRIPTION);
communityMap.put("intro", MD_INTRODUCTORY_TEXT);
communityMap.put("copyright", MD_COPYRIGHT_TEXT);
communityMap.put("sidebar", MD_SIDEBAR_TEXT);
collectionMap.put("name", "name");
collectionMap.put("description", "short_description");
collectionMap.put("intro", "introductory_text");
collectionMap.put("copyright", "copyright_text");
collectionMap.put("sidebar", "side_bar_text");
collectionMap.put("license", "license");
collectionMap.put("provenance", "provenance_description");
collectionMap.put("name", MD_NAME);
collectionMap.put("description", MD_SHORT_DESCRIPTION);
collectionMap.put("intro", MD_INTRODUCTORY_TEXT);
collectionMap.put("copyright", MD_COPYRIGHT_TEXT);
collectionMap.put("sidebar", MD_SIDEBAR_TEXT);
collectionMap.put("license", MD_LICENSE);
collectionMap.put("provenance", MD_PROVENANCE_DESCRIPTION);
// get the top level community list
NodeList first = XPathAPI.selectNodeList(document, "/import_structure/community");
Element[] elements = new Element[]{};
try {
// get the top level community list
NodeList first = XPathAPI.selectNodeList(document, "/import_structure/community");
// run the import starting with the top level communities
Element[] elements = handleCommunities(context, first, null);
// run the import starting with the top level communities
elements = handleCommunities(context, first, null);
} catch (TransformerException ex) {
System.err.format("Input content not understood: %s%n", ex.getMessage());
System.exit(1);
} catch (AuthorizeException ex) {
System.err.format("Not authorized: %s%n", ex.getMessage());
System.exit(1);
}
// generate the output
Element root = xmlOutput.getRootElement();
for (int i = 0; i < elements.length; i++) {
root.addContent(elements[i]);
final Element root = new Element(RESULT_ROOT);
for (Element element : elements) {
root.addContent(element);
}
// finally write the string into the output file
// finally write the string into the output file.
final org.jdom.Document xmlOutput = new org.jdom.Document(root);
try {
BufferedWriter out = new BufferedWriter(new FileWriter(output));
out.write(new XMLOutputter().outputString(xmlOutput));
out.close();
new XMLOutputter().output(xmlOutput, output);
} catch (IOException e) {
System.out.println("Unable to write to output file " + output);
System.exit(0);
System.out.printf("Unable to write to output file %s: %s%n",
output, e.getMessage());
System.exit(1);
}
}
/**
* Add a single community, and its children, to the Document.
*
* @param community
* @return a fragment representing this Community.
*/
private static Element exportACommunity(Community community) {
// Export this Community.
Element element = new Element("community");
element.setAttribute("identifier", community.getHandle());
element.addContent(new Element("name").setText(community.getName()));
element.addContent(new Element("description")
.setText(communityService.getMetadataFirstValue(community,
MetadataSchemaEnum.DC.getName(), "description", "abstract", Item.ANY)));
element.addContent(new Element("intro")
.setText(communityService.getMetadataFirstValue(community,
MetadataSchemaEnum.DC.getName(), "description", null, Item.ANY)));
element.addContent(new Element("copyright")
.setText(communityService.getMetadataFirstValue(community,
MetadataSchemaEnum.DC.getName(), "rights", null, Item.ANY)));
element.addContent(new Element("sidebar")
.setText(communityService.getMetadataFirstValue(community,
MetadataSchemaEnum.DC.getName(), "description", "tableofcontents", Item.ANY)));
// Export this Community's Community children.
for (Community subCommunity : community.getSubcommunities()) {
element.addContent(exportACommunity(subCommunity));
}
context.complete();
// Export this Community's Collection children.
for (Collection collection : community.getCollections()) {
element.addContent(exportACollection(collection));
}
return element;
}
/**
* Output the usage information
* Add a single Collection to the Document.
*
* @param collection
* @return a fragment representing this Collection.
*/
private static void usage() {
System.out.println("Usage: java StructBuilder -f <source XML file> -o <output file> -e <eperson email>");
System.out.println(
"Communities will be created from the top level, and a map of communities to handles will be returned in " +
"the output file");
return;
private static Element exportACollection(Collection collection) {
// Export this Collection.
Element element = new Element("collection");
element.setAttribute("identifier", collection.getHandle());
element.addContent(new Element("name").setText(collection.getName()));
element.addContent(new Element("description")
.setText(collectionService.getMetadataFirstValue(collection,
MetadataSchemaEnum.DC.getName(), "description", "abstract", Item.ANY)));
element.addContent(new Element("intro")
.setText(collectionService.getMetadataFirstValue(collection,
MetadataSchemaEnum.DC.getName(), "description", null, Item.ANY)));
element.addContent(new Element("copyright")
.setText(collectionService.getMetadataFirstValue(collection,
MetadataSchemaEnum.DC.getName(), "rights", null, Item.ANY)));
element.addContent(new Element("sidebar")
.setText(collectionService.getMetadataFirstValue(collection,
MetadataSchemaEnum.DC.getName(), "description", "tableofcontents", Item.ANY)));
element.addContent(new Element("license")
.setText(collectionService.getMetadataFirstValue(collection,
MetadataSchemaEnum.DC.getName(), "rights", "license", Item.ANY)));
// Provenance is special: multivalued
for (MetadataValue value : collectionService.getMetadata(collection,
MetadataSchemaEnum.DC.getName(), "provenance", null, Item.ANY)) {
element.addContent(new Element("provenance")
.setText(value.getValue()));
}
return element;
}
/**
* Validate the XML document. This method does not return, but if validation
* fails it generates an error and ceases execution
* Write out the existing Community/Collection structure.
*/
static void exportStructure(Context context, OutputStream output) {
// Build a document from the Community/Collection hierarchy.
Element rootElement = new Element(INPUT_ROOT); // To be read by importStructure, perhaps
List<Community> communities = null;
try {
communities = communityService.findAllTop(context);
} catch (SQLException ex) {
System.out.printf("Unable to get the list of top-level communities: %s%n",
ex.getMessage());
System.exit(1);
}
for (Community community : communities) {
rootElement.addContent(exportACommunity(community));
}
// Now write the structure out.
org.jdom.Document xmlOutput = new org.jdom.Document(rootElement);
try {
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
outputter.output(xmlOutput, output);
} catch (IOException e) {
System.out.printf("Unable to write to output file %s: %s%n",
output, e.getMessage());
System.exit(1);
}
}
/**
* Output the usage information.
*/
private static void usage(Options options) {
HelpFormatter helper = new HelpFormatter();
try (PrintWriter writer = new PrintWriter(System.out);) {
helper.printUsage(writer, 80/* FIXME Magic */,
"structure-builder", options);
}
}
/**
* Help the user more.
*/
private static void giveHelp(Options options) {
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("struct-builder",
"Import or export Community/Collection structure.",
options,
"When importing (-f), communities will be created from the "
+ "top level, and a map of communities to handles will "
+ "be returned in the output file. When exporting (-x),"
+ "the current structure will be written to the map file.",
true);
}
/**
* Validate the XML document. This method returns if the document is valid.
* If validation fails it generates an error and ceases execution.
*
* @param document the XML document object
* @throws TransformerException if transformer error
*/
private static void validate(org.w3c.dom.Document document)
throws TransformerException {
StringBuffer err = new StringBuffer();
StringBuilder err = new StringBuilder();
boolean trip = false;
err.append("The following errors were encountered parsing the source XML\n");
err.append("No changes have been made to the DSpace instance\n\n");
err.append("The following errors were encountered parsing the source XML.\n");
err.append("No changes have been made to the DSpace instance.\n\n");
NodeList first = XPathAPI.selectNodeList(document, "/import_structure/community");
if (first.getLength() == 0) {
err.append("-There are no top level communities in the source document");
err.append("-There are no top level communities in the source document.");
System.out.println(err.toString());
System.exit(0);
System.exit(1);
}
String errs = validateCommunities(first, 1);
@@ -230,13 +478,13 @@ public class StructBuilder {
if (trip) {
System.out.println(err.toString());
System.exit(0);
System.exit(1);
}
}
/**
* Validate the communities section of the XML document. This returns a string
* containing any errors encountered, or null if there were no errors
* containing any errors encountered, or null if there were no errors.
*
* @param communities the NodeList of communities to validate
* @param level the level in the XML document that we are at, for the purposes
@@ -246,7 +494,7 @@ public class StructBuilder {
*/
private static String validateCommunities(NodeList communities, int level)
throws TransformerException {
StringBuffer err = new StringBuffer();
StringBuilder err = new StringBuilder();
boolean trip = false;
String errs = null;
@@ -255,8 +503,9 @@ public class StructBuilder {
NodeList name = XPathAPI.selectNodeList(n, "name");
if (name.getLength() != 1) {
String pos = Integer.toString(i + 1);
err.append("-The level " + level + " community in position " + pos);
err.append(" does not contain exactly one name field\n");
err.append("-The level ").append(level)
.append(" community in position ").append(pos)
.append(" does not contain exactly one name field.\n");
trip = true;
}
@@ -286,7 +535,7 @@ public class StructBuilder {
/**
* validate the collection section of the XML document. This generates a
* string containing any errors encountered, or returns null if no errors
* string containing any errors encountered, or returns null if no errors.
*
* @param collections a NodeList of collections to validate
* @param level the level in the XML document for the purposes of error reporting
@@ -294,7 +543,7 @@ public class StructBuilder {
*/
private static String validateCollections(NodeList collections, int level)
throws TransformerException {
StringBuffer err = new StringBuffer();
StringBuilder err = new StringBuilder();
boolean trip = false;
String errs = null;
@@ -303,8 +552,9 @@ public class StructBuilder {
NodeList name = XPathAPI.selectNodeList(n, "name");
if (name.getLength() != 1) {
String pos = Integer.toString(i + 1);
err.append("-The level " + level + " collection in position " + pos);
err.append(" does not contain exactly one name field\n");
err.append("-The level ").append(level)
.append(" collection in position ").append(pos)
.append(" does not contain exactly one name field.\n");
trip = true;
}
}
@@ -317,17 +567,17 @@ public class StructBuilder {
}
/**
* Load in the XML from file.
* Load the XML document from input.
*
* @param filename the filename to load from
* @return the DOM representation of the XML file
* @param input the filename to load from.
* @return the DOM representation of the XML input.
*/
private static org.w3c.dom.Document loadXML(String filename)
private static org.w3c.dom.Document loadXML(InputStream input)
throws IOException, ParserConfigurationException, SAXException {
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
org.w3c.dom.Document document = builder.parse(new File(filename));
org.w3c.dom.Document document = builder.parse(input);
return document;
}
@@ -338,7 +588,7 @@ public class StructBuilder {
* @param node the node from which we want to extract the string value
* @return the string value of the node
*/
public static String getStringValue(Node node) {
private static String getStringValue(Node node) {
String value = node.getNodeValue();
if (node.hasChildNodes()) {
@@ -363,7 +613,7 @@ public class StructBuilder {
* created communities (e.g. the handles they have been assigned)
*/
private static Element[] handleCommunities(Context context, NodeList communities, Community parent)
throws TransformerException, SQLException, Exception {
throws TransformerException, SQLException, AuthorizeException {
Element[] elements = new Element[communities.getLength()];
for (int i = 0; i < communities.getLength(); i++) {
@@ -378,24 +628,24 @@ public class StructBuilder {
}
// default the short description to be an empty string
communityService.setMetadata(context, community, "short_description", " ");
communityService.setMetadataSingleValue(context, community,
MD_SHORT_DESCRIPTION, null, " ");
// now update the metadata
Node tn = communities.item(i);
for (Map.Entry<String, String> entry : communityMap.entrySet()) {
for (Map.Entry<String, MetadataFieldName> entry : communityMap.entrySet()) {
NodeList nl = XPathAPI.selectNodeList(tn, entry.getKey());
if (nl.getLength() == 1) {
communityService.setMetadata(context, community, entry.getValue(), getStringValue(nl.item(0)));
communityService.setMetadataSingleValue(context, community,
entry.getValue(), null, getStringValue(nl.item(0)));
}
}
// FIXME: at the moment, if the community already exists by name
// then this will throw a PSQLException on a duplicate key
// violation
// Ideally we'd skip this row and continue to create sub
// communities
// and so forth where they don't exist, but it's proving
// difficult
// then this will throw an SQLException on a duplicate key
// violation.
// Ideally we'd skip this row and continue to create sub communities
// and so forth where they don't exist, but it's proving difficult
// to isolate the community that already exists without hitting
// the database directly.
communityService.update(context, community);
@@ -411,30 +661,41 @@ public class StructBuilder {
element.setAttribute("identifier", community.getHandle());
Element nameElement = new Element("name");
nameElement.setText(communityService.getMetadata(community, "name"));
nameElement.setText(communityService.getMetadataFirstValue(
community, CommunityService.MD_NAME, Item.ANY));
element.addContent(nameElement);
if (communityService.getMetadata(community, "short_description") != null) {
String fieldValue;
fieldValue = communityService.getMetadataFirstValue(community,
CommunityService.MD_SHORT_DESCRIPTION, Item.ANY);
if (fieldValue != null) {
Element descriptionElement = new Element("description");
descriptionElement.setText(communityService.getMetadata(community, "short_description"));
descriptionElement.setText(fieldValue);
element.addContent(descriptionElement);
}
if (communityService.getMetadata(community, "introductory_text") != null) {
fieldValue = communityService.getMetadataFirstValue(community,
CommunityService.MD_INTRODUCTORY_TEXT, Item.ANY);
if (fieldValue != null) {
Element introElement = new Element("intro");
introElement.setText(communityService.getMetadata(community, "introductory_text"));
introElement.setText(fieldValue);
element.addContent(introElement);
}
if (communityService.getMetadata(community, "copyright_text") != null) {
fieldValue = communityService.getMetadataFirstValue(community,
CommunityService.MD_COPYRIGHT_TEXT, Item.ANY);
if (fieldValue != null) {
Element copyrightElement = new Element("copyright");
copyrightElement.setText(communityService.getMetadata(community, "copyright_text"));
copyrightElement.setText(fieldValue);
element.addContent(copyrightElement);
}
if (communityService.getMetadata(community, "side_bar_text") != null) {
fieldValue = communityService.getMetadataFirstValue(community,
CommunityService.MD_SIDEBAR_TEXT, Item.ANY);
if (fieldValue != null) {
Element sidebarElement = new Element("sidebar");
sidebarElement.setText(communityService.getMetadata(community, "side_bar_text"));
sidebarElement.setText(fieldValue);
element.addContent(sidebarElement);
}
@@ -470,7 +731,7 @@ public class StructBuilder {
* created collections (e.g. the handle)
*/
private static Element[] handleCollections(Context context, NodeList collections, Community parent)
throws TransformerException, SQLException, AuthorizeException, IOException, Exception {
throws TransformerException, SQLException, AuthorizeException {
Element[] elements = new Element[collections.getLength()];
for (int i = 0; i < collections.getLength(); i++) {
@@ -478,14 +739,16 @@ public class StructBuilder {
Collection collection = collectionService.create(context, parent);
// default the short description to the empty string
collectionService.setMetadata(context, collection, "short_description", " ");
collectionService.setMetadataSingleValue(context, collection,
MD_SHORT_DESCRIPTION, Item.ANY, " ");
// import the rest of the metadata
Node tn = collections.item(i);
for (Map.Entry<String, String> entry : collectionMap.entrySet()) {
for (Map.Entry<String, MetadataFieldName> entry : collectionMap.entrySet()) {
NodeList nl = XPathAPI.selectNodeList(tn, entry.getKey());
if (nl.getLength() == 1) {
collectionService.setMetadata(context, collection, entry.getValue(), getStringValue(nl.item(0)));
collectionService.setMetadataSingleValue(context, collection,
entry.getValue(), null, getStringValue(nl.item(0)));
}
}
@@ -494,42 +757,57 @@ public class StructBuilder {
element.setAttribute("identifier", collection.getHandle());
Element nameElement = new Element("name");
nameElement.setText(collectionService.getMetadata(collection, "name"));
nameElement.setText(collectionService.getMetadataFirstValue(collection,
CollectionService.MD_NAME, Item.ANY));
element.addContent(nameElement);
if (collectionService.getMetadata(collection, "short_description") != null) {
String fieldValue;
fieldValue = collectionService.getMetadataFirstValue(collection,
CollectionService.MD_SHORT_DESCRIPTION, Item.ANY);
if (fieldValue != null) {
Element descriptionElement = new Element("description");
descriptionElement.setText(collectionService.getMetadata(collection, "short_description"));
descriptionElement.setText(fieldValue);
element.addContent(descriptionElement);
}
if (collectionService.getMetadata(collection, "introductory_text") != null) {
fieldValue = collectionService.getMetadataFirstValue(collection,
CollectionService.MD_INTRODUCTORY_TEXT, Item.ANY);
if (fieldValue != null) {
Element introElement = new Element("intro");
introElement.setText(collectionService.getMetadata(collection, "introductory_text"));
introElement.setText(fieldValue);
element.addContent(introElement);
}
if (collectionService.getMetadata(collection, "copyright_text") != null) {
fieldValue = collectionService.getMetadataFirstValue(collection,
CollectionService.MD_COPYRIGHT_TEXT, Item.ANY);
if (fieldValue != null) {
Element copyrightElement = new Element("copyright");
copyrightElement.setText(collectionService.getMetadata(collection, "copyright_text"));
copyrightElement.setText(fieldValue);
element.addContent(copyrightElement);
}
if (collectionService.getMetadata(collection, "side_bar_text") != null) {
fieldValue = collectionService.getMetadataFirstValue(collection,
CollectionService.MD_SIDEBAR_TEXT, Item.ANY);
if (fieldValue != null) {
Element sidebarElement = new Element("sidebar");
sidebarElement.setText(collectionService.getMetadata(collection, "side_bar_text"));
sidebarElement.setText(fieldValue);
element.addContent(sidebarElement);
}
if (collectionService.getMetadata(collection, "license") != null) {
fieldValue = collectionService.getMetadataFirstValue(collection,
CollectionService.MD_LICENSE, Item.ANY);
if (fieldValue != null) {
Element sidebarElement = new Element("license");
sidebarElement.setText(collectionService.getMetadata(collection, "license"));
sidebarElement.setText(fieldValue);
element.addContent(sidebarElement);
}
if (collectionService.getMetadata(collection, "provenance_description") != null) {
fieldValue = collectionService.getMetadataFirstValue(collection,
CollectionService.MD_PROVENANCE_DESCRIPTION, Item.ANY);
if (fieldValue != null) {
Element sidebarElement = new Element("provenance");
sidebarElement.setText(collectionService.getMetadata(collection, "provenance_description"));
sidebarElement.setText(fieldValue);
element.addContent(sidebarElement);
}
@@ -538,5 +816,4 @@ public class StructBuilder {
return elements;
}
}

View File

@@ -19,6 +19,7 @@ import org.dspace.content.Item;
* @author Stuart Lewis
*/
public class BulkEditChange {
/**
* The item these changes relate to
*/

View File

@@ -8,14 +8,10 @@
package org.dspace.app.bulkedit;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Serializable;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -27,6 +23,8 @@ import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.dspace.authority.AuthorityValue;
import org.dspace.authority.factory.AuthorityServiceFactory;
import org.dspace.authority.service.AuthorityValueService;
@@ -34,6 +32,7 @@ import org.dspace.content.Collection;
import org.dspace.content.Item;
import org.dspace.content.MetadataField;
import org.dspace.content.MetadataSchema;
import org.dspace.content.MetadataSchemaEnum;
import org.dspace.content.MetadataValue;
import org.dspace.content.authority.Choices;
import org.dspace.content.factory.ContentServiceFactory;
@@ -139,18 +138,18 @@ public class DSpaceCSV implements Serializable {
/**
* Create a new instance, reading the lines in from file
*
* @param f The file to read from
* @param inputStream the input stream to read from
* @param c The DSpace Context
* @throws Exception thrown if there is an error reading or processing the file
*/
public DSpaceCSV(File f, Context c) throws Exception {
public DSpaceCSV(InputStream inputStream, Context c) throws Exception {
// Initialise the class
init();
// Open the CSV file
BufferedReader input = null;
try {
input = new BufferedReader(new InputStreamReader(new FileInputStream(f), "UTF-8"));
input = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
// Read the heading line
String head = input.readLine();
@@ -160,7 +159,7 @@ public class DSpaceCSV implements Serializable {
columnCounter++;
// Remove surrounding quotes if there are any
if ((element.startsWith("\"")) && (element.endsWith("\""))) {
if (element.startsWith("\"") && element.endsWith("\"")) {
element = element.substring(1, element.length() - 1);
}
@@ -168,16 +167,22 @@ public class DSpaceCSV implements Serializable {
if ("collection".equals(element)) {
// Store the heading
headings.add(element);
} else if ("rowName".equals(element)) {
// Store the heading
headings.add(element);
} else if ("action".equals(element)) { // Store the action
// Store the heading
headings.add(element);
} else if (!"id".equals(element)) {
String authorityPrefix = "";
AuthorityValue authorityValueType = authorityValueService.getAuthorityValueType(element);
if (authorityValueType != null) {
String authorityType = authorityValueType.getAuthorityType();
authorityPrefix = element.substring(0, authorityType.length() + 1);
element = element.substring(authorityPrefix.length());
if (StringUtils.startsWith(element, "[authority]")) {
element = StringUtils.substringAfter(element, "[authority]");
AuthorityValue authorityValueType = authorityValueService.getAuthorityValueType(element);
if (authorityValueType != null) {
String authorityType = authorityValueType.getAuthorityType();
authorityPrefix = element.substring(0, authorityType.length() + 1);
element = element.substring(authorityPrefix.length());
}
}
// Verify that the heading is valid in the metadata registry
@@ -198,20 +203,24 @@ public class DSpaceCSV implements Serializable {
}
// Check that the scheme exists
MetadataSchema foundSchema = metadataSchemaService.find(c, metadataSchema);
if (foundSchema == null) {
throw new MetadataImportInvalidHeadingException(clean[0],
MetadataImportInvalidHeadingException.SCHEMA,
columnCounter);
}
if (!StringUtils.equals(metadataSchema, MetadataSchemaEnum.RELATION.getName())) {
MetadataSchema foundSchema = metadataSchemaService.find(c, metadataSchema);
if (foundSchema == null) {
throw new MetadataImportInvalidHeadingException(clean[0],
MetadataImportInvalidHeadingException
.SCHEMA,
columnCounter);
}
// Check that the metadata element exists in the schema
MetadataField foundField = metadataFieldService
.findByElement(c, foundSchema, metadataElement, metadataQualifier);
if (foundField == null) {
throw new MetadataImportInvalidHeadingException(clean[0],
MetadataImportInvalidHeadingException.ELEMENT,
columnCounter);
// Check that the metadata element exists in the schema
MetadataField foundField = metadataFieldService
.findByElement(c, foundSchema, metadataElement, metadataQualifier);
if (foundField == null) {
throw new MetadataImportInvalidHeadingException(clean[0],
MetadataImportInvalidHeadingException
.ELEMENT,
columnCounter);
}
}
// Store the heading
@@ -297,7 +306,7 @@ public class DSpaceCSV implements Serializable {
// Specify default values
String[] defaultValues =
new String[] {
"dc.date.accessioned, dc.date.available, dc.date.updated, dc.description.provenance"
"dc.date.accessioned", "dc.date.available", "dc.date.updated", "dc.description.provenance"
};
String[] toIgnoreArray =
DSpaceServicesFactory.getInstance()
@@ -328,15 +337,15 @@ public class DSpaceCSV implements Serializable {
/**
* Set the value separator for multiple values stored in one csv value.
*
* Is set in bulkedit.cfg as valueseparator
* Is set in {@code bulkedit.cfg} as {@code valueseparator}.
*
* If not set, defaults to double pipe '||'
* If not set, defaults to double pipe '||'.
*/
private void setValueSeparator() {
// Get the value separator
valueSeparator = DSpaceServicesFactory.getInstance().getConfigurationService()
.getProperty("bulkedit.valueseparator");
if ((valueSeparator != null) && (!"".equals(valueSeparator.trim()))) {
if ((valueSeparator != null) && !valueSeparator.trim().isEmpty()) {
valueSeparator = valueSeparator.trim();
} else {
valueSeparator = "||";
@@ -351,7 +360,7 @@ public class DSpaceCSV implements Serializable {
/**
* Set the field separator use to separate fields in the csv.
*
* Is set in bulkedit.cfg as fieldseparator
* Is set in {@code bulkedit.cfg} as {@code fieldseparator}.
*
* If not set, defaults to comma ','.
*
@@ -362,7 +371,7 @@ public class DSpaceCSV implements Serializable {
// Get the value separator
fieldSeparator = DSpaceServicesFactory.getInstance().getConfigurationService()
.getProperty("bulkedit.fieldseparator");
if ((fieldSeparator != null) && (!"".equals(fieldSeparator.trim()))) {
if ((fieldSeparator != null) && !fieldSeparator.trim().isEmpty()) {
fieldSeparator = fieldSeparator.trim();
if ("tab".equals(fieldSeparator)) {
fieldSeparator = "\t";
@@ -386,15 +395,15 @@ public class DSpaceCSV implements Serializable {
/**
* Set the authority separator for value with authority data.
*
* Is set in dspace.cfg as bulkedit.authorityseparator
* Is set in {@code dspace.cfg} as {@code bulkedit.authorityseparator}.
*
* If not set, defaults to double colon '::'
* If not set, defaults to double colon '::'.
*/
private void setAuthoritySeparator() {
// Get the value separator
authoritySeparator = DSpaceServicesFactory.getInstance().getConfigurationService()
.getProperty("bulkedit.authorityseparator");
if ((authoritySeparator != null) && (!"".equals(authoritySeparator.trim()))) {
if ((authoritySeparator != null) && !authoritySeparator.trim().isEmpty()) {
authoritySeparator = authoritySeparator.trim();
} else {
authoritySeparator = "::";
@@ -499,7 +508,7 @@ public class DSpaceCSV implements Serializable {
int i = 0;
for (String part : bits) {
int bitcounter = part.length() - part.replaceAll("\"", "").length();
if ((part.startsWith("\"")) && ((!part.endsWith("\"")) || ((bitcounter & 1) == 1))) {
if (part.startsWith("\"") && (!part.endsWith("\"") || ((bitcounter & 1) == 1))) {
found = true;
String add = bits.get(i) + fieldSeparator + bits.get(i + 1);
bits.remove(i);
@@ -515,7 +524,7 @@ public class DSpaceCSV implements Serializable {
// Deal with quotes around the elements
int i = 0;
for (String part : bits) {
if ((part.startsWith("\"")) && (part.endsWith("\""))) {
if (part.startsWith("\"") && part.endsWith("\"")) {
part = part.substring(1, part.length() - 1);
bits.set(i, part);
}
@@ -555,7 +564,7 @@ public class DSpaceCSV implements Serializable {
for (String part : bits) {
if (i > 0) {
// Is this a last empty item?
if ((last) && (i == headings.size())) {
if (last && (i == headings.size())) {
part = "";
}
@@ -568,7 +577,7 @@ public class DSpaceCSV implements Serializable {
csvLine.add(headings.get(i - 1), null);
String[] elements = part.split(escapedValueSeparator);
for (String element : elements) {
if ((element != null) && (!"".equals(element))) {
if ((element != null) && !element.isEmpty()) {
csvLine.add(headings.get(i - 1), element);
}
}
@@ -614,30 +623,24 @@ public class DSpaceCSV implements Serializable {
}
/**
* Save the CSV file to the given filename
*
* @param filename The filename to save the CSV file to
* @throws IOException Thrown if an error occurs when writing the file
* Creates and returns an InputStream from the CSV Lines in this DSpaceCSV
* @return The InputStream created from the CSVLines in this DSpaceCSV
*/
public final void save(String filename) throws IOException {
// Save the file
BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(filename), "UTF-8"));
public InputStream getInputStream() {
StringBuilder stringBuilder = new StringBuilder();
for (String csvLine : getCSVLinesAsStringArray()) {
out.write(csvLine + "\n");
stringBuilder.append(csvLine).append("\n");
}
out.flush();
out.close();
return IOUtils.toInputStream(stringBuilder.toString(), StandardCharsets.UTF_8);
}
/**
* Is it Ok to export this value? When exportAll is set to false, we don't export
* Is it okay to export this value? When exportAll is set to false, we don't export
* some of the metadata elements.
*
* The list can be configured via the key ignore-on-export in bulkedit.cfg
* The list can be configured via the key ignore-on-export in {@code bulkedit.cfg}.
*
* @param md The Metadatum to examine
* @param md The MetadataField to examine
* @return Whether or not it is OK to export this element
*/
protected boolean okToExport(MetadataField md) {
@@ -646,12 +649,8 @@ public class DSpaceCSV implements Serializable {
if (md.getQualifier() != null) {
key += "." + md.getQualifier();
}
if (ignore.get(key) != null) {
return false;
}
// Must be OK, so don't ignore
return true;
return ignore.get(key) == null;
}
/**

View File

@@ -0,0 +1,115 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.bulkedit;
import java.sql.SQLException;
import org.apache.commons.cli.ParseException;
import org.apache.commons.lang3.ArrayUtils;
import org.dspace.content.MetadataField;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.MetadataFieldService;
import org.dspace.content.service.MetadataValueService;
import org.dspace.core.Context;
import org.dspace.scripts.DSpaceRunnable;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.dspace.utils.DSpace;
/**
* {@link DSpaceRunnable} implementation to delete all the values of the given
* metadata field.
*
* @author Luca Giamminonni (luca.giamminonni at 4science.it)
*
*/
public class MetadataDeletion extends DSpaceRunnable<MetadataDeletionScriptConfiguration<MetadataDeletion>> {
private MetadataValueService metadataValueService;
private MetadataFieldService metadataFieldService;
private ConfigurationService configurationService;
private String metadataField;
private boolean list;
@Override
public void internalRun() throws Exception {
if (list) {
listErasableMetadata();
return;
}
Context context = new Context();
try {
context.turnOffAuthorisationSystem();
performMetadataValuesDeletion(context);
} finally {
context.restoreAuthSystemState();
context.complete();
}
}
private void listErasableMetadata() {
String[] erasableMetadata = getErasableMetadata();
if (ArrayUtils.isEmpty(erasableMetadata)) {
handler.logInfo("No fields has been configured to be cleared via bulk deletion");
} else {
handler.logInfo("The fields that can be bulk deleted are: " + String.join(", ", erasableMetadata));
}
}
private void performMetadataValuesDeletion(Context context) throws SQLException {
MetadataField field = metadataFieldService.findByString(context, metadataField, '.');
if (field == null) {
throw new IllegalArgumentException("No metadata field found with name " + metadataField);
}
if (!ArrayUtils.contains(getErasableMetadata(), metadataField)) {
throw new IllegalArgumentException("The given metadata field cannot be bulk deleted");
}
handler.logInfo(String.format("Deleting the field '%s' from all objects", metadataField));
metadataValueService.deleteByMetadataField(context, field);
}
private String[] getErasableMetadata() {
return configurationService.getArrayProperty("bulkedit.allow-bulk-deletion");
}
@Override
@SuppressWarnings("unchecked")
public MetadataDeletionScriptConfiguration<MetadataDeletion> getScriptConfiguration() {
return new DSpace().getServiceManager()
.getServiceByName("metadata-deletion", MetadataDeletionScriptConfiguration.class);
}
@Override
public void setup() throws ParseException {
metadataValueService = ContentServiceFactory.getInstance().getMetadataValueService();
metadataFieldService = ContentServiceFactory.getInstance().getMetadataFieldService();
configurationService = DSpaceServicesFactory.getInstance().getConfigurationService();
metadataField = commandLine.getOptionValue('m');
list = commandLine.hasOption('l');
if (!list && metadataField == null) {
throw new ParseException("One of the following parameters is required: -m or -l");
}
}
}

View File

@@ -0,0 +1,18 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.bulkedit;
/**
* The {@link MetadataDeletion} for CLI.
*
* @author Luca Giamminonni (luca.giamminonni at 4science.it)
*
*/
public class MetadataDeletionCli extends MetadataDeletion {
}

View File

@@ -0,0 +1,18 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.bulkedit;
/**
* Script configuration for {@link MetadataDeletionCli}.
*
* @author Luca Giamminonni (luca.giamminonni at 4science.it)
*
*/
public class MetadataDeletionCliScriptConfiguration extends MetadataDeletionScriptConfiguration<MetadataDeletionCli> {
}

View File

@@ -0,0 +1,68 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.bulkedit;
import java.sql.SQLException;
import org.apache.commons.cli.Options;
import org.dspace.authorize.service.AuthorizeService;
import org.dspace.core.Context;
import org.dspace.scripts.configuration.ScriptConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
/**
* The {@link ScriptConfiguration} for the {@link MetadataDeletion} script.
*/
public class MetadataDeletionScriptConfiguration<T extends MetadataDeletion> extends ScriptConfiguration<T> {
@Autowired
private AuthorizeService authorizeService;
private Class<T> dspaceRunnableClass;
@Override
public boolean isAllowedToExecute(Context context) {
try {
return authorizeService.isAdmin(context);
} catch (SQLException e) {
throw new RuntimeException("SQLException occurred when checking if the current user is an admin", e);
}
}
@Override
public Options getOptions() {
if (options == null) {
Options options = new Options();
options.addOption("m", "metadata", true, "metadata field name");
options.getOption("m").setType(String.class);
options.addOption("l", "list", false, "lists the metadata fields that can be deleted");
options.getOption("l").setType(boolean.class);
super.options = options;
}
return options;
}
@Override
public Class<T> getDspaceRunnableClass() {
return dspaceRunnableClass;
}
/**
* Generic setter for the dspaceRunnableClass
* @param dspaceRunnableClass The dspaceRunnableClass to be set on this MetadataDeletionScriptConfiguration
*/
@Override
public void setDspaceRunnableClass(Class<T> dspaceRunnableClass) {
this.dspaceRunnableClass = dspaceRunnableClass;
}
}

View File

@@ -8,271 +8,115 @@
package org.dspace.app.bulkedit;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.UUID;
import com.google.common.collect.Iterators;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.dspace.content.Collection;
import org.dspace.content.Community;
import org.apache.commons.lang3.StringUtils;
import org.dspace.app.util.factory.UtilServiceFactory;
import org.dspace.app.util.service.DSpaceObjectUtils;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.ItemService;
import org.dspace.core.Constants;
import org.dspace.content.service.MetadataDSpaceCsvExportService;
import org.dspace.core.Context;
import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.eperson.service.EPersonService;
import org.dspace.handle.factory.HandleServiceFactory;
import org.dspace.scripts.DSpaceRunnable;
import org.dspace.utils.DSpace;
/**
* Metadata exporter to allow the batch export of metadata into a file
*
* @author Stuart Lewis
*/
public class MetadataExport {
/**
* The items to export
*/
protected Iterator<Item> toExport;
public class MetadataExport extends DSpaceRunnable<MetadataExportScriptConfiguration> {
protected ItemService itemService;
private boolean help = false;
private String filename = null;
private String identifier = null;
private boolean exportAllMetadata = false;
private boolean exportAllItems = false;
protected Context context;
private static final String EXPORT_CSV = "exportCSV";
/**
* Whether to export all metadata, or just normally edited metadata
*/
protected boolean exportAll;
private MetadataDSpaceCsvExportService metadataDSpaceCsvExportService = new DSpace().getServiceManager()
.getServicesByType(MetadataDSpaceCsvExportService.class).get(0);
protected MetadataExport() {
itemService = ContentServiceFactory.getInstance().getItemService();
}
private EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService();
/**
* Set up a new metadata export
*
* @param c The Context
* @param toExport The ItemIterator of items to export
* @param exportAll whether to export all metadata or not (include handle, provenance etc)
*/
public MetadataExport(Context c, Iterator<Item> toExport, boolean exportAll) {
itemService = ContentServiceFactory.getInstance().getItemService();
private DSpaceObjectUtils dSpaceObjectUtils = UtilServiceFactory.getInstance().getDSpaceObjectUtils();
// Store the export settings
this.toExport = toExport;
this.exportAll = exportAll;
this.context = c;
}
/**
* Method to export a community (and sub-communities and collections)
*
* @param c The Context
* @param toExport The Community to export
* @param exportAll whether to export all metadata or not (include handle, provenance etc)
*/
public MetadataExport(Context c, Community toExport, boolean exportAll) {
itemService = ContentServiceFactory.getInstance().getItemService();
@Override
public void internalRun() throws Exception {
if (help) {
logHelpInfo();
printHelp();
return;
}
Context context = new Context();
context.turnOffAuthorisationSystem();
try {
// Try to export the community
this.toExport = buildFromCommunity(c, toExport, 0);
this.exportAll = exportAll;
this.context = c;
} catch (SQLException sqle) {
// Something went wrong...
System.err.println("Error running exporter:");
sqle.printStackTrace(System.err);
System.exit(1);
context.setCurrentUser(ePersonService.find(context, this.getEpersonIdentifier()));
} catch (SQLException e) {
handler.handleException(e);
}
DSpaceCSV dSpaceCSV = metadataDSpaceCsvExportService
.handleExport(context, exportAllItems, exportAllMetadata, identifier,
handler);
handler.writeFilestream(context, filename, dSpaceCSV.getInputStream(), EXPORT_CSV);
context.restoreAuthSystemState();
context.complete();
}
/**
* Build an array list of item ids that are in a community (include sub-communities and collections)
*
* @param context DSpace context
* @param community The community to build from
* @param indent How many spaces to use when writing out the names of items added
* @return The list of item ids
* @throws SQLException if database error
*/
protected Iterator<Item> buildFromCommunity(Context context, Community community, int indent)
throws SQLException {
// Add all the collections
List<Collection> collections = community.getCollections();
Iterator<Item> result = null;
for (Collection collection : collections) {
for (int i = 0; i < indent; i++) {
System.out.print(" ");
}
Iterator<Item> items = itemService.findByCollection(context, collection);
result = addItemsToResult(result, items);
}
// Add all the sub-communities
List<Community> communities = community.getSubcommunities();
for (Community subCommunity : communities) {
for (int i = 0; i < indent; i++) {
System.out.print(" ");
}
Iterator<Item> items = buildFromCommunity(context, subCommunity, indent + 1);
result = addItemsToResult(result, items);
}
return result;
protected void logHelpInfo() {
handler.logInfo("\nfull export: metadata-export");
handler.logInfo("partial export: metadata-export -i handle/UUID");
}
private Iterator<Item> addItemsToResult(Iterator<Item> result, Iterator<Item> items) {
if (result == null) {
result = items;
} else {
result = Iterators.concat(result, items);
}
return result;
@Override
public MetadataExportScriptConfiguration getScriptConfiguration() {
return new DSpace().getServiceManager().getServiceByName("metadata-export",
MetadataExportScriptConfiguration.class);
}
/**
* Run the export
*
* @return the exported CSV lines
*/
public DSpaceCSV export() {
@Override
public void setup() throws ParseException {
if (commandLine.hasOption('h')) {
help = true;
return;
}
if (!commandLine.hasOption('i')) {
exportAllItems = true;
}
identifier = commandLine.getOptionValue('i');
filename = getFileNameForExportFile();
exportAllMetadata = commandLine.hasOption('a');
}
protected String getFileNameForExportFile() throws ParseException {
Context context = new Context();
try {
Context.Mode originalMode = context.getCurrentMode();
context.setMode(Context.Mode.READ_ONLY);
// Process each item
DSpaceCSV csv = new DSpaceCSV(exportAll);
while (toExport.hasNext()) {
Item item = toExport.next();
csv.addItem(item);
context.uncacheEntity(item);
}
context.setMode(originalMode);
// Return the results
return csv;
} catch (Exception e) {
// Something went wrong...
System.err.println("Error exporting to CSV:");
e.printStackTrace();
return null;
}
}
/**
* Print the help message
*
* @param options The command line options the user gave
* @param exitCode the system exit code to use
*/
private static void printHelp(Options options, int exitCode) {
// print the help message
HelpFormatter myhelp = new HelpFormatter();
myhelp.printHelp("MetadataExport\n", options);
System.out.println("\nfull export: metadataexport -f filename");
System.out.println("partial export: metadataexport -i handle -f filename");
System.exit(exitCode);
}
/**
* main method to run the metadata exporter
*
* @param argv the command line arguments given
* @throws Exception if error occurs
*/
public static void main(String[] argv) throws Exception {
// Create an options object and populate it
CommandLineParser parser = new PosixParser();
Options options = new Options();
options.addOption("i", "id", true, "ID or handle of thing to export (item, collection, or community)");
options.addOption("f", "file", true, "destination where you want file written");
options.addOption("a", "all", false,
"include all metadata fields that are not normally changed (e.g. provenance)");
options.addOption("h", "help", false, "help");
CommandLine line = null;
try {
line = parser.parse(options, argv);
} catch (ParseException pe) {
System.err.println("Error with commands.");
printHelp(options, 1);
System.exit(0);
}
if (line.hasOption('h')) {
printHelp(options, 0);
}
// Check a filename is given
if (!line.hasOption('f')) {
System.err.println("Required parameter -f missing!");
printHelp(options, 1);
}
String filename = line.getOptionValue('f');
// Create a context
Context c = new Context(Context.Mode.READ_ONLY);
c.turnOffAuthorisationSystem();
// The things we'll export
Iterator<Item> toExport = null;
MetadataExport exporter = null;
// Export everything?
boolean exportAll = line.hasOption('a');
ContentServiceFactory contentServiceFactory = ContentServiceFactory.getInstance();
// Check we have an item OK
ItemService itemService = contentServiceFactory.getItemService();
if (!line.hasOption('i')) {
System.out.println("Exporting whole repository WARNING: May take some time!");
exporter = new MetadataExport(c, itemService.findAll(c), exportAll);
} else {
String handle = line.getOptionValue('i');
DSpaceObject dso = HandleServiceFactory.getInstance().getHandleService().resolveToObject(c, handle);
if (dso == null) {
System.err.println("Item '" + handle + "' does not resolve to an item in your repository!");
printHelp(options, 1);
}
if (dso.getType() == Constants.ITEM) {
System.out.println("Exporting item '" + dso.getName() + "' (" + handle + ")");
List<Item> item = new ArrayList<>();
item.add((Item) dso);
exporter = new MetadataExport(c, item.iterator(), exportAll);
} else if (dso.getType() == Constants.COLLECTION) {
System.out.println("Exporting collection '" + dso.getName() + "' (" + handle + ")");
Collection collection = (Collection) dso;
toExport = itemService.findByCollection(c, collection);
exporter = new MetadataExport(c, toExport, exportAll);
} else if (dso.getType() == Constants.COMMUNITY) {
System.out.println("Exporting community '" + dso.getName() + "' (" + handle + ")");
exporter = new MetadataExport(c, (Community) dso, exportAll);
DSpaceObject dso = null;
if (StringUtils.isNotBlank(identifier)) {
dso = HandleServiceFactory.getInstance().getHandleService().resolveToObject(context, identifier);
if (dso == null) {
dso = dSpaceObjectUtils.findDSpaceObject(context, UUID.fromString(identifier));
}
} else {
System.err.println("Error identifying '" + handle + "'");
System.exit(1);
dso = ContentServiceFactory.getInstance().getSiteService().findSite(context);
}
if (dso == null) {
throw new ParseException("An identifier was given that wasn't able to be parsed to a DSpaceObject");
}
return dso.getID().toString() + ".csv";
} catch (SQLException e) {
handler.handleException("Something went wrong trying to retrieve DSO for identifier: " + identifier, e);
}
// Perform the export
DSpaceCSV csv = exporter.export();
// Save the files to the file
csv.save(filename);
// Finish off and tidy up
c.restoreAuthSystemState();
c.complete();
return null;
}
}

View File

@@ -0,0 +1,33 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.bulkedit;
import org.apache.commons.cli.ParseException;
public class MetadataExportCli extends MetadataExport {
@Override
protected String getFileNameForExportFile() {
return commandLine.getOptionValue('f');
}
@Override
public void setup() throws ParseException {
super.setup();
// Check a filename is given
if (!commandLine.hasOption('f')) {
throw new ParseException("Required parameter -f missing!");
}
}
@Override
protected void logHelpInfo() {
handler.logInfo("\nfull export: metadata-export -f filename");
handler.logInfo("partial export: metadata-export -i handle -f filename");
}
}

View File

@@ -0,0 +1,26 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.bulkedit;
import java.io.OutputStream;
import org.apache.commons.cli.Options;
public class MetadataExportCliScriptConfiguration extends MetadataExportScriptConfiguration<MetadataExportCli> {
@Override
public Options getOptions() {
Options options = super.getOptions();
options.addOption("f", "file", true, "destination where you want file written");
options.getOption("f").setType(OutputStream .class);
options.getOption("f").setRequired(true);
super.options = options;
return options;
}
}

View File

@@ -0,0 +1,70 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.bulkedit;
import java.sql.SQLException;
import org.apache.commons.cli.Options;
import org.dspace.authorize.service.AuthorizeService;
import org.dspace.core.Context;
import org.dspace.scripts.configuration.ScriptConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
/**
* The {@link ScriptConfiguration} for the {@link MetadataExport} script
*/
public class MetadataExportScriptConfiguration<T extends MetadataExport> extends ScriptConfiguration<T> {
@Autowired
private AuthorizeService authorizeService;
private Class<T> dspaceRunnableClass;
@Override
public Class<T> getDspaceRunnableClass() {
return dspaceRunnableClass;
}
/**
* Generic setter for the dspaceRunnableClass
* @param dspaceRunnableClass The dspaceRunnableClass to be set on this MetadataExportScriptConfiguration
*/
@Override
public void setDspaceRunnableClass(Class<T> dspaceRunnableClass) {
this.dspaceRunnableClass = dspaceRunnableClass;
}
@Override
public boolean isAllowedToExecute(Context context) {
try {
return authorizeService.isAdmin(context);
} catch (SQLException e) {
throw new RuntimeException("SQLException occurred when checking if the current user is an admin", e);
}
}
@Override
public Options getOptions() {
if (options == null) {
Options options = new Options();
options.addOption("i", "id", true, "ID or handle of thing to export (item, collection, or community)");
options.getOption("i").setType(String.class);
options.addOption("a", "all", false,
"include all metadata fields that are not normally changed (e.g. provenance)");
options.getOption("a").setType(boolean.class);
options.addOption("h", "help", false, "help");
options.getOption("h").setType(boolean.class);
super.options = options;
}
return options;
}
}

View File

@@ -0,0 +1,68 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.bulkedit;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.UUID;
import org.apache.commons.cli.ParseException;
import org.dspace.core.Context;
import org.dspace.eperson.EPerson;
import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.scripts.handler.DSpaceRunnableHandler;
/**
* CLI variant for the {@link MetadataImport} class
* This has been made so that we can specify the behaviour of the determineChanges method to be specific for the CLI
*/
public class MetadataImportCLI extends MetadataImport {
@Override
protected boolean determineChange(DSpaceRunnableHandler handler) throws IOException {
handler.logInfo("Do you want to make these changes? [y/n] ");
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in))) {
String yn = bufferedReader.readLine();
if ("y".equalsIgnoreCase(yn)) {
return true;
}
return false;
}
}
@Override
protected void assignCurrentUserInContext(Context context) throws ParseException {
try {
if (commandLine.hasOption('e')) {
EPerson eperson;
String e = commandLine.getOptionValue('e');
if (e.indexOf('@') != -1) {
eperson = EPersonServiceFactory.getInstance().getEPersonService().findByEmail(context, e);
} else {
eperson = EPersonServiceFactory.getInstance().getEPersonService().find(context, UUID.fromString(e));
}
if (eperson == null) {
throw new ParseException("Error, eperson cannot be found: " + e);
}
context.setCurrentUser(eperson);
}
} catch (Exception e) {
throw new ParseException("Unable to find DSpace user: " + e.getMessage());
}
}
@Override
public void setup() throws ParseException {
super.setup();
if (!commandLine.hasOption('e')) {
throw new ParseException("Required parameter -e missing!");
}
}
}

View File

@@ -0,0 +1,27 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.bulkedit;
import org.apache.commons.cli.Options;
import org.dspace.scripts.configuration.ScriptConfiguration;
/**
* The {@link ScriptConfiguration} for the {@link org.dspace.app.bulkedit.MetadataImportCLI} CLI script
*/
public class MetadataImportCliScriptConfiguration extends MetadataImportScriptConfiguration<MetadataImportCLI> {
@Override
public Options getOptions() {
Options options = super.getOptions();
options.addOption("e", "email", true, "email address or user id of user (required if adding new items)");
options.getOption("e").setType(String.class);
options.getOption("e").setRequired(true);
super.options = options;
return options;
}
}

View File

@@ -0,0 +1,81 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.bulkedit;
import java.io.InputStream;
import java.sql.SQLException;
import org.apache.commons.cli.Options;
import org.dspace.authorize.service.AuthorizeService;
import org.dspace.core.Context;
import org.dspace.scripts.configuration.ScriptConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
/**
* The {@link ScriptConfiguration} for the {@link MetadataImport} script
*/
public class MetadataImportScriptConfiguration<T extends MetadataImport> extends ScriptConfiguration<T> {
@Autowired
private AuthorizeService authorizeService;
private Class<T> dspaceRunnableClass;
@Override
public Class<T> getDspaceRunnableClass() {
return dspaceRunnableClass;
}
/**
* Generic setter for the dspaceRunnableClass
* @param dspaceRunnableClass The dspaceRunnableClass to be set on this MetadataImportScriptConfiguration
*/
@Override
public void setDspaceRunnableClass(Class<T> dspaceRunnableClass) {
this.dspaceRunnableClass = dspaceRunnableClass;
}
@Override
public boolean isAllowedToExecute(Context context) {
try {
return authorizeService.isAdmin(context);
} catch (SQLException e) {
throw new RuntimeException("SQLException occurred when checking if the current user is an admin", e);
}
}
@Override
public Options getOptions() {
if (options == null) {
Options options = new Options();
options.addOption("f", "file", true, "source file");
options.getOption("f").setType(InputStream.class);
options.getOption("f").setRequired(true);
options.addOption("s", "silent", false,
"silent operation - doesn't request confirmation of changes USE WITH CAUTION");
options.getOption("s").setType(boolean.class);
options.addOption("w", "workflow", false, "workflow - when adding new items, use collection workflow");
options.getOption("w").setType(boolean.class);
options.addOption("n", "notify", false,
"notify - when adding new items using a workflow, send notification emails");
options.getOption("n").setType(boolean.class);
options.addOption("v", "validate-only", false,
"validate - just validate the csv, don't run the import");
options.getOption("v").setType(boolean.class);
options.addOption("t", "template", false,
"template - when adding new items, use the collection template (if it exists)");
options.getOption("t").setType(boolean.class);
options.addOption("h", "help", false, "help");
options.getOption("h").setType(boolean.class);
super.options = options;
}
return options;
}
}

View File

@@ -17,13 +17,13 @@ import java.util.UUID;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.checker.BitstreamDispatcher;
import org.dspace.checker.CheckerCommand;
import org.dspace.checker.HandleDispatcher;
@@ -48,7 +48,7 @@ import org.dspace.core.Utils;
* @author Nathan Sarr
*/
public final class ChecksumChecker {
private static final Logger LOG = Logger.getLogger(ChecksumChecker.class);
private static final Logger LOG = LogManager.getLogger(ChecksumChecker.class);
private static final BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService();
@@ -86,7 +86,7 @@ public final class ChecksumChecker {
*/
public static void main(String[] args) throws SQLException {
// set up command line parser
CommandLineParser parser = new PosixParser();
CommandLineParser parser = new DefaultParser();
CommandLine line = null;
// create an options object and populate it
@@ -101,19 +101,21 @@ public final class ChecksumChecker {
options.addOption("a", "handle", true, "Specify a handle to check");
options.addOption("v", "verbose", false, "Report all processing");
OptionBuilder.withArgName("bitstream-ids").hasArgs().withDescription(
"Space separated list of bitstream ids");
Option useBitstreamIds = OptionBuilder.create('b');
Option option;
options.addOption(useBitstreamIds);
option = Option.builder("b")
.longOpt("bitstream-ids")
.hasArgs()
.desc("Space separated list of bitstream ids")
.build();
options.addOption(option);
options.addOption("p", "prune", false, "Prune configuration file");
options.addOption(OptionBuilder
.withArgName("prune")
.hasOptionalArgs(1)
.withDescription(
"Prune old results (optionally using specified properties file for configuration)")
.create('p'));
option = Option.builder("p")
.longOpt("prune")
.optionalArg(true)
.desc("Prune old results (optionally using specified properties file for configuration)")
.build();
options.addOption(option);
try {
line = parser.parse(options, args);

View File

@@ -13,11 +13,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.UUID;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import org.apache.commons.cli.ParseException;
import org.apache.commons.lang3.StringUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Collection;
import org.dspace.content.DSpaceObject;
@@ -36,224 +33,223 @@ import org.dspace.harvest.HarvestingException;
import org.dspace.harvest.OAIHarvester;
import org.dspace.harvest.factory.HarvestServiceFactory;
import org.dspace.harvest.service.HarvestedCollectionService;
import org.dspace.scripts.DSpaceRunnable;
import org.dspace.utils.DSpace;
/**
* Test class for harvested collections.
*
* @author Alexey Maslov
*/
public class Harvest {
private static Context context;
public class Harvest extends DSpaceRunnable<HarvestScriptConfiguration> {
private static final HarvestedCollectionService harvestedCollectionService =
HarvestServiceFactory.getInstance().getHarvestedCollectionService();
private static final EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService();
private static final CollectionService collectionService =
ContentServiceFactory.getInstance().getCollectionService();
private HarvestedCollectionService harvestedCollectionService;
protected EPersonService ePersonService;
private CollectionService collectionService;
public static void main(String[] argv) throws Exception {
// create an options object and populate it
CommandLineParser parser = new PosixParser();
private boolean help;
private String command = null;
private String collection = null;
private String oaiSource = null;
private String oaiSetID = null;
private String metadataKey = null;
private int harvestType = 0;
Options options = new Options();
options.addOption("p", "purge", false, "delete all items in the collection");
options.addOption("r", "run", false, "run the standard harvest procedure");
options.addOption("g", "ping", false, "test the OAI server and set");
options.addOption("o", "once", false, "run the harvest procedure with specified parameters");
options.addOption("s", "setup", false, "Set the collection up for harvesting");
options.addOption("S", "start", false, "start the harvest loop");
options.addOption("R", "reset", false, "reset harvest status on all collections");
options.addOption("P", "purge", false, "purge all harvestable collections");
protected Context context;
options.addOption("e", "eperson", true,
"eperson");
options.addOption("c", "collection", true,
"harvesting collection (handle or id)");
options.addOption("t", "type", true,
"type of harvesting (0 for none)");
options.addOption("a", "address", true,
"address of the OAI-PMH server");
options.addOption("i", "oai_set_id", true,
"id of the PMH set representing the harvested collection");
options.addOption("m", "metadata_format", true,
"the name of the desired metadata format for harvesting, resolved to namespace and " +
"crosswalk in dspace.cfg");
public HarvestScriptConfiguration getScriptConfiguration() {
return new DSpace().getServiceManager()
.getServiceByName("harvest", HarvestScriptConfiguration.class);
}
options.addOption("h", "help", false, "help");
public void setup() throws ParseException {
harvestedCollectionService =
HarvestServiceFactory.getInstance().getHarvestedCollectionService();
ePersonService = EPersonServiceFactory.getInstance().getEPersonService();
collectionService =
ContentServiceFactory.getInstance().getCollectionService();
CommandLine line = parser.parse(options, argv);
assignCurrentUserInContext();
String command = null;
String eperson = null;
String collection = null;
String oaiSource = null;
String oaiSetID = null;
String metadataKey = null;
int harvestType = 0;
if (line.hasOption('h')) {
HelpFormatter myhelp = new HelpFormatter();
myhelp.printHelp("Harvest\n", options);
System.out.println("\nPING OAI server: Harvest -g -a oai_source -i oai_set_id");
System.out.println(
"RUNONCE harvest with arbitrary options: Harvest -o -e eperson -c collection -t harvest_type -a " +
"oai_source -i oai_set_id -m metadata_format");
System.out.println(
"SETUP a collection for harvesting: Harvest -s -c collection -t harvest_type -a oai_source -i " +
"oai_set_id -m metadata_format");
System.out.println("RUN harvest once: Harvest -r -e eperson -c collection");
System.out.println("START harvest scheduler: Harvest -S");
System.out.println("RESET all harvest status: Harvest -R");
System.out.println("PURGE a collection of items and settings: Harvest -p -e eperson -c collection");
System.out.println("PURGE all harvestable collections: Harvest -P -e eperson");
help = commandLine.hasOption('h');
System.exit(0);
}
if (line.hasOption('s')) {
if (commandLine.hasOption('s')) {
command = "config";
}
if (line.hasOption('p')) {
if (commandLine.hasOption('p')) {
command = "purge";
}
if (line.hasOption('r')) {
if (commandLine.hasOption('r')) {
command = "run";
}
if (line.hasOption('g')) {
if (commandLine.hasOption('g')) {
command = "ping";
}
if (line.hasOption('o')) {
command = "runOnce";
}
if (line.hasOption('S')) {
if (commandLine.hasOption('S')) {
command = "start";
}
if (line.hasOption('R')) {
if (commandLine.hasOption('R')) {
command = "reset";
}
if (line.hasOption('P')) {
if (commandLine.hasOption('P')) {
command = "purgeAll";
}
if (line.hasOption('e')) {
eperson = line.getOptionValue('e');
if (commandLine.hasOption('o')) {
command = "reimport";
}
if (line.hasOption('c')) {
collection = line.getOptionValue('c');
if (commandLine.hasOption('c')) {
collection = commandLine.getOptionValue('c');
}
if (line.hasOption('t')) {
harvestType = Integer.parseInt(line.getOptionValue('t'));
if (commandLine.hasOption('t')) {
harvestType = Integer.parseInt(commandLine.getOptionValue('t'));
} else {
harvestType = 0;
}
if (line.hasOption('a')) {
oaiSource = line.getOptionValue('a');
if (commandLine.hasOption('a')) {
oaiSource = commandLine.getOptionValue('a');
}
if (line.hasOption('i')) {
oaiSetID = line.getOptionValue('i');
if (commandLine.hasOption('i')) {
oaiSetID = commandLine.getOptionValue('i');
}
if (line.hasOption('m')) {
metadataKey = line.getOptionValue('m');
if (commandLine.hasOption('m')) {
metadataKey = commandLine.getOptionValue('m');
}
}
/**
* This method will assign the currentUser to the {@link Context} variable which is also created in this method.
* The instance of the method in this class will fetch the EPersonIdentifier from this class, this identifier
* was given to this class upon instantiation, it'll then be used to find the {@link EPerson} associated with it
* and this {@link EPerson} will be set as the currentUser of the created {@link Context}
* @throws ParseException If something went wrong with the retrieval of the EPerson Identifier
*/
protected void assignCurrentUserInContext() throws ParseException {
UUID currentUserUuid = this.getEpersonIdentifier();
try {
this.context = new Context(Context.Mode.BATCH_EDIT);
EPerson eperson = ePersonService.find(context, currentUserUuid);
if (eperson == null) {
super.handler.logError("EPerson not found: " + currentUserUuid);
throw new IllegalArgumentException("Unable to find a user with uuid: " + currentUserUuid);
}
this.context.setCurrentUser(eperson);
} catch (SQLException e) {
handler.handleException("Something went wrong trying to fetch eperson for uuid: " + currentUserUuid, e);
}
}
public void internalRun() throws Exception {
if (help) {
printHelp();
handler.logInfo("PING OAI server: Harvest -g -a oai_source -i oai_set_id");
handler.logInfo(
"SETUP a collection for harvesting: Harvest -s -c collection -t harvest_type -a oai_source -i " +
"oai_set_id -m metadata_format");
handler.logInfo("RUN harvest once: Harvest -r -e eperson -c collection");
handler.logInfo("START harvest scheduler: Harvest -S");
handler.logInfo("RESET all harvest status: Harvest -R");
handler.logInfo("PURGE a collection of items and settings: Harvest -p -e eperson -c collection");
handler.logInfo("PURGE all harvestable collections: Harvest -P -e eperson");
return;
}
// Instantiate our class
Harvest harvester = new Harvest();
harvester.context = new Context(Context.Mode.BATCH_EDIT);
// Check our options
if (command == null) {
System.out
.println("Error - no parameters specified (run with -h flag for details)");
System.exit(1);
if (StringUtils.isBlank(command)) {
handler.logError("No parameters specified (run with -h flag for details)");
throw new UnsupportedOperationException("No command specified");
} else if ("run".equals(command)) {
// Run a single harvest cycle on a collection using saved settings.
if (collection == null || eperson == null) {
System.out
.println("Error - a target collection and eperson must be provided");
System.out.println(" (run with -h flag for details)");
System.exit(1);
if (collection == null || context.getCurrentUser() == null) {
handler.logError("A target collection and eperson must be provided (run with -h flag for details)");
throw new UnsupportedOperationException("A target collection and eperson must be provided");
}
harvester.runHarvest(collection, eperson);
runHarvest(context, collection);
} else if ("start".equals(command)) {
// start the harvest loop
startHarvester();
} else if ("reset".equals(command)) {
// reset harvesting status
resetHarvesting();
resetHarvesting(context);
} else if ("purgeAll".equals(command)) {
// purge all collections that are set up for harvesting (obviously for testing purposes only)
if (eperson == null) {
System.out
.println("Error - an eperson must be provided");
System.out.println(" (run with -h flag for details)");
System.exit(1);
if (context.getCurrentUser() == null) {
handler.logError("An eperson must be provided (run with -h flag for details)");
throw new UnsupportedOperationException("An eperson must be provided");
}
List<HarvestedCollection> harvestedCollections = harvestedCollectionService.findAll(context);
for (HarvestedCollection harvestedCollection : harvestedCollections) {
System.out.println(
"Purging the following collections (deleting items and resetting harvest status): " +
harvestedCollection
.getCollection().getID().toString());
harvester.purgeCollection(harvestedCollection.getCollection().getID().toString(), eperson);
handler.logInfo(
"Purging the following collections (deleting items and resetting harvest status): " +
harvestedCollection
.getCollection().getID().toString());
purgeCollection(context, harvestedCollection.getCollection().getID().toString());
}
context.complete();
} else if ("purge".equals(command)) {
// Delete all items in a collection. Useful for testing fresh harvests.
if (collection == null || eperson == null) {
System.out
.println("Error - a target collection and eperson must be provided");
System.out.println(" (run with -h flag for details)");
System.exit(1);
if (collection == null || context.getCurrentUser() == null) {
handler.logError("A target collection and eperson must be provided (run with -h flag for details)");
throw new UnsupportedOperationException("A target collection and eperson must be provided");
}
harvester.purgeCollection(collection, eperson);
purgeCollection(context, collection);
context.complete();
} else if ("reimport".equals(command)) {
// Delete all items in a collection. Useful for testing fresh harvests.
if (collection == null || context.getCurrentUser() == null) {
handler.logError("A target collection and eperson must be provided (run with -h flag for details)");
throw new UnsupportedOperationException("A target collection and eperson must be provided");
}
purgeCollection(context, collection);
runHarvest(context, collection);
context.complete();
//TODO: implement this... remove all items and remember to unset "last-harvested" settings
} else if ("config".equals(command)) {
// Configure a collection with the three main settings
if (collection == null) {
System.out.println("Error - a target collection must be provided");
System.out.println(" (run with -h flag for details)");
System.exit(1);
handler.logError("A target collection must be provided (run with -h flag for details)");
throw new UnsupportedOperationException("A target collection must be provided");
}
if (oaiSource == null || oaiSetID == null) {
System.out.println("Error - both the OAI server address and OAI set id must be specified");
System.out.println(" (run with -h flag for details)");
System.exit(1);
handler.logError(
"Both the OAI server address and OAI set id must be specified (run with -h flag for details)");
throw new UnsupportedOperationException("Both the OAI server address and OAI set id must be specified");
}
if (metadataKey == null) {
System.out
.println("Error - a metadata key (commonly the prefix) must be specified for this collection");
System.out.println(" (run with -h flag for details)");
System.exit(1);
handler.logError(
"A metadata key (commonly the prefix) must be specified for this collection (run with -h flag" +
" for details)");
throw new UnsupportedOperationException(
"A metadata key (commonly the prefix) must be specified for this collection");
}
harvester.configureCollection(collection, harvestType, oaiSource, oaiSetID, metadataKey);
configureCollection(context, collection, harvestType, oaiSource, oaiSetID, metadataKey);
} else if ("ping".equals(command)) {
if (oaiSource == null || oaiSetID == null) {
System.out.println("Error - both the OAI server address and OAI set id must be specified");
System.out.println(" (run with -h flag for details)");
System.exit(1);
handler.logError(
"Both the OAI server address and OAI set id must be specified (run with -h flag for details)");
throw new UnsupportedOperationException("Both the OAI server address and OAI set id must be specified");
}
pingResponder(oaiSource, oaiSetID, metadataKey);
} else {
handler.logError(
"Your command '" + command + "' was not recognized properly (run with -h flag for details)");
throw new UnsupportedOperationException("Your command '" + command + "' was not recognized properly");
}
}
/*
* Resolve the ID into a collection and check to see if its harvesting options are set. If so, return
* the collection, if not, bail out.
*/
private Collection resolveCollection(String collectionID) {
private Collection resolveCollection(Context context, String collectionID) {
DSpaceObject dso;
Collection targetCollection = null;
@@ -272,16 +268,15 @@ public class Harvest {
targetCollection = (Collection) dso;
}
} else {
// not a handle, try and treat it as an integer collection database ID
System.out.println("Looking up by id: " + collectionID + ", parsed as '" + Integer
.parseInt(collectionID) + "', " + "in context: " + context);
// not a handle, try and treat it as an collection database UUID
handler.logInfo("Looking up by UUID: " + collectionID + ", " + "in context: " + context);
targetCollection = collectionService.find(context, UUID.fromString(collectionID));
}
}
// was the collection valid?
if (targetCollection == null) {
System.out.println("Cannot resolve " + collectionID + " to collection");
System.exit(1);
handler.logError("Cannot resolve " + collectionID + " to collection");
throw new UnsupportedOperationException("Cannot resolve " + collectionID + " to collection");
}
} catch (SQLException se) {
se.printStackTrace();
@@ -291,12 +286,12 @@ public class Harvest {
}
private void configureCollection(String collectionID, int type, String oaiSource, String oaiSetId,
private void configureCollection(Context context, String collectionID, int type, String oaiSource, String oaiSetId,
String mdConfigId) {
System.out.println("Running: configure collection");
handler.logInfo("Running: configure collection");
Collection collection = resolveCollection(collectionID);
System.out.println(collection.getID());
Collection collection = resolveCollection(context, collectionID);
handler.logInfo(String.valueOf(collection.getID()));
try {
HarvestedCollection hc = harvestedCollectionService.find(context, collection);
@@ -311,9 +306,8 @@ public class Harvest {
context.restoreAuthSystemState();
context.complete();
} catch (Exception e) {
System.out.println("Changes could not be committed");
e.printStackTrace();
System.exit(1);
handler.logError("Changes could not be committed");
handler.handleException(e);
} finally {
if (context != null) {
context.restoreAuthSystemState();
@@ -324,18 +318,15 @@ public class Harvest {
/**
* Purges a collection of all harvest-related data and settings. All items in the collection will be deleted.
* @param collectionID
*
* @param collectionID
* @param email
*/
private void purgeCollection(String collectionID, String email) {
System.out.println(
"Purging collection of all items and resetting last_harvested and harvest_message: " + collectionID);
Collection collection = resolveCollection(collectionID);
private void purgeCollection(Context context, String collectionID) {
handler.logInfo(
"Purging collection of all items and resetting last_harvested and harvest_message: " + collectionID);
Collection collection = resolveCollection(context, collectionID);
try {
EPerson eperson = ePersonService.findByEmail(context, email);
context.setCurrentUser(eperson);
context.turnOffAuthorisationSystem();
ItemService itemService = ContentServiceFactory.getInstance().getItemService();
@@ -344,7 +335,7 @@ public class Harvest {
while (it.hasNext()) {
i++;
Item item = it.next();
System.out.println("Deleting: " + item.getHandle());
handler.logInfo("Deleting: " + item.getHandle());
collectionService.removeItem(context, collection, item);
context.uncacheEntity(item);// Dispatch events every 50 items
if (i % 50 == 0) {
@@ -364,9 +355,8 @@ public class Harvest {
context.restoreAuthSystemState();
context.dispatchEvents();
} catch (Exception e) {
System.out.println("Changes could not be committed");
e.printStackTrace();
System.exit(1);
handler.logError("Changes could not be committed");
handler.handleException(e);
} finally {
context.restoreAuthSystemState();
}
@@ -376,50 +366,42 @@ public class Harvest {
/**
* Run a single harvest cycle on the specified collection under the authorization of the supplied EPerson
*/
private void runHarvest(String collectionID, String email) {
System.out.println("Running: a harvest cycle on " + collectionID);
private void runHarvest(Context context, String collectionID) {
handler.logInfo("Running: a harvest cycle on " + collectionID);
System.out.print("Initializing the harvester... ");
handler.logInfo("Initializing the harvester... ");
OAIHarvester harvester = null;
try {
Collection collection = resolveCollection(collectionID);
Collection collection = resolveCollection(context, collectionID);
HarvestedCollection hc = harvestedCollectionService.find(context, collection);
harvester = new OAIHarvester(context, collection, hc);
System.out.println("success. ");
handler.logInfo("Initialized the harvester successfully");
} catch (HarvestingException hex) {
System.out.print("failed. ");
System.out.println(hex.getMessage());
handler.logError("Initializing the harvester failed.");
throw new IllegalStateException("Unable to harvest", hex);
} catch (SQLException se) {
System.out.print("failed. ");
System.out.println(se.getMessage());
handler.logError("Initializing the harvester failed.");
throw new IllegalStateException("Unable to access database", se);
}
try {
// Harvest will not work for an anonymous user
EPerson eperson = ePersonService.findByEmail(context, email);
System.out.println("Harvest started... ");
context.setCurrentUser(eperson);
handler.logInfo("Harvest started... ");
harvester.runHarvest();
context.complete();
} catch (SQLException e) {
throw new IllegalStateException("Failed to run harvester", e);
} catch (AuthorizeException e) {
throw new IllegalStateException("Failed to run harvester", e);
} catch (IOException e) {
} catch (SQLException | AuthorizeException | IOException e) {
throw new IllegalStateException("Failed to run harvester", e);
}
System.out.println("Harvest complete. ");
handler.logInfo("Harvest complete. ");
}
/**
* Resets harvest_status and harvest_start_time flags for all collections that have a row in the
* harvested_collections table
*/
private static void resetHarvesting() {
System.out.print("Resetting harvest status flag on all collections... ");
private void resetHarvesting(Context context) {
handler.logInfo("Resetting harvest status flag on all collections... ");
try {
List<HarvestedCollection> harvestedCollections = harvestedCollectionService.findAll(context);
@@ -429,21 +411,21 @@ public class Harvest {
harvestedCollection.setHarvestStatus(HarvestedCollection.STATUS_READY);
harvestedCollectionService.update(context, harvestedCollection);
}
System.out.println("success. ");
handler.logInfo("Reset harvest status flag successfully");
} catch (Exception ex) {
System.out.println("failed. ");
ex.printStackTrace();
handler.logError("Resetting harvest status flag failed");
handler.handleException(ex);
}
}
/**
* Starts up the harvest scheduler. Terminating this process will stop the scheduler.
*/
private static void startHarvester() {
private void startHarvester() {
try {
System.out.print("Starting harvest loop... ");
handler.logInfo("Starting harvest loop... ");
HarvestServiceFactory.getInstance().getHarvestSchedulingService().startNewScheduler();
System.out.println("running. ");
handler.logInfo("running. ");
} catch (Exception ex) {
ex.printStackTrace();
}
@@ -456,29 +438,31 @@ public class Harvest {
* @param set name of an item set.
* @param metadataFormat local prefix name, or null for "dc".
*/
private static void pingResponder(String server, String set, String metadataFormat) {
private void pingResponder(String server, String set, String metadataFormat) {
List<String> errors;
System.out.print("Testing basic PMH access: ");
errors = OAIHarvester.verifyOAIharvester(server, set,
(null != metadataFormat) ? metadataFormat : "dc", false);
handler.logInfo("Testing basic PMH access: ");
errors = harvestedCollectionService.verifyOAIharvester(server, set,
(null != metadataFormat) ? metadataFormat : "dc", false);
if (errors.isEmpty()) {
System.out.println("OK");
handler.logInfo("OK");
} else {
for (String error : errors) {
System.err.println(error);
handler.logError(error);
}
}
System.out.print("Testing ORE support: ");
errors = OAIHarvester.verifyOAIharvester(server, set,
(null != metadataFormat) ? metadataFormat : "dc", true);
handler.logInfo("Testing ORE support: ");
errors = harvestedCollectionService.verifyOAIharvester(server, set,
(null != metadataFormat) ? metadataFormat : "dc", true);
if (errors.isEmpty()) {
System.out.println("OK");
handler.logInfo("OK");
} else {
for (String error : errors) {
System.err.println(error);
handler.logError(error);
}
}
}
}

View File

@@ -0,0 +1,45 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.harvest;
import java.sql.SQLException;
import org.apache.commons.cli.ParseException;
import org.dspace.core.Context;
import org.dspace.eperson.EPerson;
public class HarvestCli extends Harvest {
/**
* This is the overridden instance of the {@link Harvest#assignCurrentUserInContext()} method in the parent class
* {@link Harvest}.
* This is done so that the CLI version of the Script is able to retrieve its currentUser from the -e flag given
* with the parameters of the Script.
*
* @throws ParseException If the e flag was not given to the parameters when calling the script
*/
@Override
protected void assignCurrentUserInContext() throws ParseException {
if (this.commandLine.hasOption('e')) {
String ePersonEmail = this.commandLine.getOptionValue('e');
this.context = new Context(Context.Mode.BATCH_EDIT);
try {
EPerson ePerson = ePersonService.findByEmail(this.context, ePersonEmail);
if (ePerson == null) {
super.handler.logError("EPerson not found: " + ePersonEmail);
throw new IllegalArgumentException("Unable to find a user with email: " + ePersonEmail);
}
this.context.setCurrentUser(ePerson);
} catch (SQLException e) {
throw new IllegalArgumentException("SQLException trying to find user with email: " + ePersonEmail);
}
}
}
}

View File

@@ -0,0 +1,22 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.harvest;
import org.apache.commons.cli.Options;
public class HarvestCliScriptConfiguration extends HarvestScriptConfiguration {
public Options getOptions() {
Options options = super.getOptions();
options.addOption("e", "eperson", true,
"eperson");
return options;
}
}

View File

@@ -0,0 +1,79 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.harvest;
import java.sql.SQLException;
import org.apache.commons.cli.Options;
import org.dspace.authorize.service.AuthorizeService;
import org.dspace.core.Context;
import org.dspace.scripts.configuration.ScriptConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
public class HarvestScriptConfiguration<T extends Harvest> extends ScriptConfiguration<T> {
@Autowired
private AuthorizeService authorizeService;
private Class<T> dspaceRunnableClass;
@Override
public Class<T> getDspaceRunnableClass() {
return dspaceRunnableClass;
}
@Override
public void setDspaceRunnableClass(Class<T> dspaceRunnableClass) {
this.dspaceRunnableClass = dspaceRunnableClass;
}
public boolean isAllowedToExecute(final Context context) {
try {
return authorizeService.isAdmin(context);
} catch (SQLException e) {
throw new RuntimeException("SQLException occurred when checking if the current user is an admin", e);
}
}
public Options getOptions() {
Options options = new Options();
options.addOption("p", "purge", false, "delete all items in the collection");
options.getOption("p").setType(boolean.class);
options.addOption("r", "run", false, "run the standard harvest procedure");
options.getOption("r").setType(boolean.class);
options.addOption("g", "ping", false, "test the OAI server and set");
options.getOption("g").setType(boolean.class);
options.addOption("s", "setup", false, "Set the collection up for harvesting");
options.getOption("s").setType(boolean.class);
options.addOption("S", "start", false, "start the harvest loop");
options.getOption("S").setType(boolean.class);
options.addOption("R", "reset", false, "reset harvest status on all collections");
options.getOption("R").setType(boolean.class);
options.addOption("P", "purgeCollections", false, "purge all harvestable collections");
options.getOption("P").setType(boolean.class);
options.addOption("o", "reimport", false, "reimport all items in the collection, " +
"this is equivalent to -p -r, purging all items in a collection and reimporting them");
options.getOption("o").setType(boolean.class);
options.addOption("c", "collection", true,
"harvesting collection (handle or id)");
options.addOption("t", "type", true,
"type of harvesting (0 for none)");
options.addOption("a", "address", true,
"address of the OAI-PMH server");
options.addOption("i", "oai_set_id", true,
"id of the PMH set representing the harvested collection");
options.addOption("m", "metadata_format", true,
"the name of the desired metadata format for harvesting, resolved to namespace and " +
"crosswalk in dspace.cfg");
options.addOption("h", "help", false, "help");
options.getOption("h").setType(boolean.class);
return options;
}
}

View File

@@ -15,9 +15,9 @@ import java.util.UUID;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import org.dspace.app.itemexport.factory.ItemExportServiceFactory;
import org.dspace.app.itemexport.service.ItemExportService;
import org.dspace.content.Collection;
@@ -69,7 +69,7 @@ public class ItemExportCLITool {
*/
public static void main(String[] argv) throws Exception {
// create an options object and populate it
CommandLineParser parser = new PosixParser();
CommandLineParser parser = new DefaultParser();
Options options = new Options();

View File

@@ -16,6 +16,7 @@ import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -32,8 +33,8 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import javax.mail.MessagingException;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.Logger;
import org.dspace.app.itemexport.service.ItemExportService;
import org.dspace.content.Bitstream;
import org.dspace.content.Bundle;
@@ -42,21 +43,21 @@ import org.dspace.content.Community;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.content.MetadataField;
import org.dspace.content.MetadataSchema;
import org.dspace.content.MetadataSchemaEnum;
import org.dspace.content.MetadataValue;
import org.dspace.content.service.BitstreamService;
import org.dspace.content.service.CommunityService;
import org.dspace.content.service.ItemService;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.core.Email;
import org.dspace.core.I18nUtil;
import org.dspace.core.LogManager;
import org.dspace.core.LogHelper;
import org.dspace.core.Utils;
import org.dspace.eperson.EPerson;
import org.dspace.eperson.service.EPersonService;
import org.dspace.handle.service.HandleService;
import org.dspace.services.ConfigurationService;
import org.springframework.beans.factory.annotation.Autowired;
/**
@@ -93,12 +94,14 @@ public class ItemExportServiceImpl implements ItemExportService {
protected ItemService itemService;
@Autowired(required = true)
protected HandleService handleService;
@Autowired(required = true)
protected ConfigurationService configurationService;
/**
* log4j logger
*/
private Logger log = Logger.getLogger(ItemExportServiceImpl.class);
private final Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemExportServiceImpl.class);
protected ItemExportServiceImpl() {
@@ -127,7 +130,7 @@ public class ItemExportServiceImpl implements ItemExportService {
while (i.hasNext()) {
if (SUBDIR_LIMIT > 0 && ++counter == SUBDIR_LIMIT) {
subdir = Integer.valueOf(subDirSuffix++).toString();
subdir = Integer.toString(subDirSuffix++);
fullPath = destDirName + File.separatorChar + subdir;
counter = 0;
@@ -189,7 +192,7 @@ public class ItemExportServiceImpl implements ItemExportService {
*/
protected void writeMetadata(Context c, Item i, File destDir, boolean migrate)
throws Exception {
Set<String> schemas = new HashSet<String>();
Set<String> schemas = new HashSet<>();
List<MetadataValue> dcValues = itemService.getMetadata(i, Item.ANY, Item.ANY, Item.ANY, Item.ANY);
for (MetadataValue metadataValue : dcValues) {
schemas.add(metadataValue.getMetadataField().getMetadataSchema().getName());
@@ -214,7 +217,7 @@ public class ItemExportServiceImpl implements ItemExportService {
protected void writeMetadata(Context c, String schema, Item i,
File destDir, boolean migrate) throws Exception {
String filename;
if (schema.equals(MetadataSchema.DC_SCHEMA)) {
if (schema.equals(MetadataSchemaEnum.DC.getName())) {
filename = "dublin_core.xml";
} else {
filename = "metadata_" + schema + ".xml";
@@ -265,15 +268,14 @@ public class ItemExportServiceImpl implements ItemExportService {
+ Utils.addEntities(dcv.getValue()) + "</dcvalue>\n")
.getBytes("UTF-8");
if ((!migrate) ||
if (!migrate ||
(migrate && !(
("date".equals(metadataField.getElement()) && "issued".equals(qualifier)) ||
("date".equals(metadataField.getElement()) && "accessioned".equals(qualifier)) ||
("date".equals(metadataField.getElement()) && "available".equals(qualifier)) ||
("identifier".equals(metadataField.getElement()) && "uri".equals(qualifier) &&
(dcv.getValue() != null && dcv.getValue().startsWith("http://hdl.handle.net/" +
handleService
.getPrefix() + "/"))) ||
(dcv.getValue() != null && dcv.getValue().startsWith(
handleService.getCanonicalPrefix() + handleService.getPrefix() + "/"))) ||
("description".equals(metadataField.getElement()) && "provenance".equals(qualifier)) ||
("format".equals(metadataField.getElement()) && "extent".equals(qualifier)) ||
("format".equals(metadataField.getElement()) && "mimetype".equals(qualifier))))) {
@@ -291,10 +293,10 @@ public class ItemExportServiceImpl implements ItemExportService {
}
// When migrating, only keep date.issued if it is different to date.accessioned
if ((migrate) &&
if (migrate &&
(dateIssued != null) &&
(dateAccessioned != null) &&
(!dateIssued.equals(dateAccessioned))) {
!dateIssued.equals(dateAccessioned)) {
utf8 = (" <dcvalue element=\"date\" "
+ "qualifier=\"issued\">"
+ Utils.addEntities(dateIssued) + "</dcvalue>\n")
@@ -329,7 +331,7 @@ public class ItemExportServiceImpl implements ItemExportService {
File outFile = new File(destDir, filename);
if (outFile.createNewFile()) {
PrintWriter out = new PrintWriter(new FileWriter(outFile));
PrintWriter out = new PrintWriter(new FileWriter(outFile, StandardCharsets.UTF_8));
out.println(i.getHandle());
@@ -359,7 +361,7 @@ public class ItemExportServiceImpl implements ItemExportService {
File outFile = new File(destDir, "contents");
if (outFile.createNewFile()) {
PrintWriter out = new PrintWriter(new FileWriter(outFile));
PrintWriter out = new PrintWriter(new FileWriter(outFile, StandardCharsets.UTF_8));
List<Bundle> bundles = i.getBundles();
@@ -473,7 +475,7 @@ public class ItemExportServiceImpl implements ItemExportService {
public void createDownloadableExport(DSpaceObject dso,
Context context, boolean migrate) throws Exception {
EPerson eperson = context.getCurrentUser();
ArrayList<DSpaceObject> list = new ArrayList<DSpaceObject>(1);
ArrayList<DSpaceObject> list = new ArrayList<>(1);
list.add(dso);
processDownloadableExport(list, context, eperson == null ? null
: eperson.getEmail(), migrate);
@@ -490,7 +492,7 @@ public class ItemExportServiceImpl implements ItemExportService {
@Override
public void createDownloadableExport(DSpaceObject dso,
Context context, String additionalEmail, boolean migrate) throws Exception {
ArrayList<DSpaceObject> list = new ArrayList<DSpaceObject>(1);
ArrayList<DSpaceObject> list = new ArrayList<>(1);
list.add(dso);
processDownloadableExport(list, context, additionalEmail, migrate);
}
@@ -547,7 +549,7 @@ public class ItemExportServiceImpl implements ItemExportService {
List<Bitstream> bitstreams = bundle.getBitstreams();
for (Bitstream bitstream : bitstreams) {
// add up the size
size += bitstream.getSize();
size += bitstream.getSizeBytes();
}
}
items.add(item.getID());
@@ -574,7 +576,7 @@ public class ItemExportServiceImpl implements ItemExportService {
List<Bitstream> bitstreams = bundle.getBitstreams();
for (Bitstream bitstream : bitstreams) {
// add up the size
size += bitstream.getSize();
size += bitstream.getSizeBytes();
}
}
items.add(item.getID());
@@ -593,7 +595,7 @@ public class ItemExportServiceImpl implements ItemExportService {
List<Bitstream> bitstreams = bundle.getBitstreams();
for (Bitstream bitstream : bitstreams) {
// add up the size
size += bitstream.getSize();
size += bitstream.getSizeBytes();
}
}
ArrayList<UUID> items = new ArrayList<>();
@@ -606,7 +608,7 @@ public class ItemExportServiceImpl implements ItemExportService {
// check the size of all the bitstreams against the configuration file
// entry if it exists
String megaBytes = ConfigurationManager
String megaBytes = configurationService
.getProperty("org.dspace.app.itemexport.max.size");
if (megaBytes != null) {
float maxSize = 0;
@@ -651,7 +653,7 @@ public class ItemExportServiceImpl implements ItemExportService {
while (iter.hasNext()) {
String keyName = iter.next();
List<UUID> uuids = itemsMap.get(keyName);
List<Item> items = new ArrayList<Item>();
List<Item> items = new ArrayList<>();
for (UUID uuid : uuids) {
items.add(itemService.find(context, uuid));
}
@@ -731,7 +733,7 @@ public class ItemExportServiceImpl implements ItemExportService {
@Override
public String getExportDownloadDirectory(EPerson ePerson)
throws Exception {
String downloadDir = ConfigurationManager
String downloadDir = configurationService
.getProperty("org.dspace.app.itemexport.download.dir");
if (downloadDir == null) {
throw new Exception(
@@ -748,7 +750,7 @@ public class ItemExportServiceImpl implements ItemExportService {
@Override
public String getExportWorkDirectory() throws Exception {
String exportDir = ConfigurationManager
String exportDir = configurationService
.getProperty("org.dspace.app.itemexport.work.dir");
if (exportDir == null) {
throw new Exception(
@@ -854,7 +856,7 @@ public class ItemExportServiceImpl implements ItemExportService {
return null;
}
List<String> fileNames = new ArrayList<String>();
List<String> fileNames = new ArrayList<>();
for (String fileName : downloadDir.list()) {
if (fileName.contains("export") && fileName.endsWith(".zip")) {
@@ -871,11 +873,11 @@ public class ItemExportServiceImpl implements ItemExportService {
@Override
public void deleteOldExportArchives(EPerson eperson) throws Exception {
int hours = ConfigurationManager
int hours = configurationService
.getIntProperty("org.dspace.app.itemexport.life.span.hours");
Calendar now = Calendar.getInstance();
now.setTime(new Date());
now.add(Calendar.HOUR, (-hours));
now.add(Calendar.HOUR, -hours);
File downloadDir = new File(getExportDownloadDirectory(eperson));
if (downloadDir.exists()) {
File[] files = downloadDir.listFiles();
@@ -892,11 +894,11 @@ public class ItemExportServiceImpl implements ItemExportService {
@Override
public void deleteOldExportArchives() throws Exception {
int hours = ConfigurationManager.getIntProperty("org.dspace.app.itemexport.life.span.hours");
int hours = configurationService.getIntProperty("org.dspace.app.itemexport.life.span.hours");
Calendar now = Calendar.getInstance();
now.setTime(new Date());
now.add(Calendar.HOUR, (-hours));
File downloadDir = new File(ConfigurationManager.getProperty("org.dspace.app.itemexport.download.dir"));
now.add(Calendar.HOUR, -hours);
File downloadDir = new File(configurationService.getProperty("org.dspace.app.itemexport.download.dir"));
if (downloadDir.exists()) {
// Get a list of all the sub-directories, potentially one for each ePerson.
File[] dirs = downloadDir.listFiles();
@@ -930,12 +932,12 @@ public class ItemExportServiceImpl implements ItemExportService {
Locale supportedLocale = I18nUtil.getEPersonLocale(eperson);
Email email = Email.getEmail(I18nUtil.getEmailFilename(supportedLocale, "export_success"));
email.addRecipient(eperson.getEmail());
email.addArgument(ConfigurationManager.getProperty("dspace.url") + "/exportdownload/" + fileName);
email.addArgument(ConfigurationManager.getProperty("org.dspace.app.itemexport.life.span.hours"));
email.addArgument(configurationService.getProperty("dspace.ui.url") + "/exportdownload/" + fileName);
email.addArgument(configurationService.getProperty("org.dspace.app.itemexport.life.span.hours"));
email.send();
} catch (Exception e) {
log.warn(LogManager.getHeader(context, "emailSuccessMessage", "cannot notify user of export"), e);
log.warn(LogHelper.getHeader(context, "emailSuccessMessage", "cannot notify user of export"), e);
}
}
@@ -948,7 +950,7 @@ public class ItemExportServiceImpl implements ItemExportService {
Email email = Email.getEmail(I18nUtil.getEmailFilename(supportedLocale, "export_error"));
email.addRecipient(eperson.getEmail());
email.addArgument(error);
email.addArgument(ConfigurationManager.getProperty("dspace.url") + "/feedback");
email.addArgument(configurationService.getProperty("dspace.ui.url") + "/feedback");
email.send();
} catch (Exception e) {

View File

@@ -1,106 +0,0 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.itemimport;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import gr.ekt.bte.core.DataLoader;
import gr.ekt.bte.core.TransformationEngine;
import gr.ekt.bte.dataloader.FileDataLoader;
/**
* This class acts as a Service in the procedure to batch import using the Biblio-Transformation-Engine
*/
public class BTEBatchImportService {
TransformationEngine transformationEngine;
Map<String, DataLoader> dataLoaders = new HashMap<String, DataLoader>();
Map<String, String> outputMap = new HashMap<String, String>();
/**
* Default constructor
*/
public BTEBatchImportService() {
super();
}
/**
* Setter method for dataLoaders parameter
*
* @param dataLoaders map of data loaders
*/
public void setDataLoaders(Map<String, DataLoader> dataLoaders) {
this.dataLoaders = dataLoaders;
}
/**
* Get data loaders
*
* @return the map of DataLoaders
*/
public Map<String, DataLoader> getDataLoaders() {
return dataLoaders;
}
/**
* Get output map
*
* @return the outputMapping
*/
public Map<String, String> getOutputMap() {
return outputMap;
}
/**
* Setter method for the outputMapping
*
* @param outputMap the output mapping
*/
public void setOutputMap(Map<String, String> outputMap) {
this.outputMap = outputMap;
}
/**
* Get transformation engine
*
* @return transformation engine
*/
public TransformationEngine getTransformationEngine() {
return transformationEngine;
}
/**
* set transformation engine
*
* @param transformationEngine transformation engine
*/
public void setTransformationEngine(TransformationEngine transformationEngine) {
this.transformationEngine = transformationEngine;
}
/**
* Getter of file data loaders
*
* @return List of file data loaders
*/
public List<String> getFileDataLoaders() {
List<String> result = new ArrayList<String>();
for (String key : dataLoaders.keySet()) {
DataLoader dl = dataLoaders.get(key);
if (dl instanceof FileDataLoader) {
result.add(key);
}
}
return result;
}
}

View File

@@ -8,6 +8,7 @@
package org.dspace.app.itemimport;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -15,9 +16,9 @@ import java.util.UUID;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import org.dspace.app.itemimport.factory.ItemImportServiceFactory;
import org.dspace.app.itemimport.service.ItemImportService;
import org.dspace.content.Collection;
@@ -67,16 +68,14 @@ public class ItemImportCLITool {
try {
// create an options object and populate it
CommandLineParser parser = new PosixParser();
CommandLineParser parser = new DefaultParser();
Options options = new Options();
options.addOption("a", "add", false, "add items to DSpace");
options.addOption("b", "add-bte", false, "add items to DSpace via Biblio-Transformation-Engine (BTE)");
options.addOption("r", "replace", false, "replace items in mapfile");
options.addOption("d", "delete", false,
"delete items listed in mapfile");
options.addOption("i", "inputtype", true, "input type in case of BTE import");
options.addOption("s", "source", true, "source of items (directory)");
options.addOption("z", "zip", true, "name of zip file");
options.addOption("c", "collection", true,
@@ -100,7 +99,6 @@ public class ItemImportCLITool {
CommandLine line = parser.parse(options, argv);
String command = null; // add replace remove, etc
String bteInputType = null; //ris, endnote, tsv, csv, bibtex
String sourcedir = null;
String mapfile = null;
String eperson = null; // db ID or email
@@ -144,14 +142,6 @@ public class ItemImportCLITool {
command = "delete";
}
if (line.hasOption('b')) {
command = "add-bte";
}
if (line.hasOption('i')) {
bteInputType = line.getOptionValue('i');
}
if (line.hasOption('w')) {
useWorkflow = true;
if (line.hasOption('n')) {
@@ -235,37 +225,6 @@ public class ItemImportCLITool {
System.out.println("No collections given. Assuming 'collections' file inside item directory");
commandLineCollections = false;
}
} else if ("add-bte".equals(command)) {
//Source dir can be null, the user can specify the parameters for his loader in the Spring XML
// configuration file
if (mapfile == null) {
System.out
.println("Error - a map file to hold importing results must be specified");
System.out.println(" (run with -h flag for details)");
System.exit(1);
}
if (eperson == null) {
System.out
.println("Error - an eperson to do the importing must be specified");
System.out.println(" (run with -h flag for details)");
System.exit(1);
}
if (collections == null) {
System.out.println("No collections given. Assuming 'collections' file inside item directory");
commandLineCollections = false;
}
if (bteInputType == null) {
System.out
.println(
"Error - an input type (tsv, csv, ris, endnote, bibtex or any other type you have " +
"specified in BTE Spring XML configuration file) must be specified");
System.out.println(" (run with -h flag for details)");
System.exit(1);
}
} else if ("delete".equals(command)) {
if (eperson == null) {
System.out
@@ -280,9 +239,9 @@ public class ItemImportCLITool {
}
// can only resume for adds
if (isResume && !"add".equals(command) && !"add-bte".equals(command)) {
if (isResume && !"add".equals(command)) {
System.out
.println("Error - resume option only works with the --add or the --add-bte commands");
.println("Error - resume option only works with the --add command");
System.exit(1);
}
@@ -337,29 +296,36 @@ public class ItemImportCLITool {
// validate each collection arg to see if it's a real collection
for (int i = 0; i < collections.length; i++) {
// is the ID a handle?
if (collections[i].indexOf('/') != -1) {
// string has a / so it must be a handle - try and resolve
// it
mycollections.add((Collection) handleService
.resolveToObject(c, collections[i]));
// resolved, now make sure it's a collection
if ((mycollections.get(i) == null)
|| (mycollections.get(i).getType() != Constants.COLLECTION)) {
mycollections.set(i, null);
Collection resolved = null;
if (collections[i] != null) {
// is the ID a handle?
if (collections[i].indexOf('/') != -1) {
// string has a / so it must be a handle - try and resolve
// it
resolved = ((Collection) handleService
.resolveToObject(c, collections[i]));
} else {
// not a handle, try and treat it as an integer collection database ID
resolved = collectionService.find(c, UUID.fromString(collections[i]));
}
} else if (collections[i] != null) {
// not a handle, try and treat it as an integer collection database ID
mycollections.set(i, collectionService.find(c, UUID.fromString(collections[i])));
}
// was the collection valid?
if (mycollections.get(i) == null) {
if ((resolved == null)
|| (resolved.getType() != Constants.COLLECTION)) {
throw new IllegalArgumentException("Cannot resolve "
+ collections[i] + " to collection");
}
// add resolved collection to list
mycollections.add(resolved);
// print progress info
String owningPrefix = "";
@@ -368,7 +334,7 @@ public class ItemImportCLITool {
}
System.out.println(owningPrefix + " Collection: "
+ mycollections.get(i).getName());
+ resolved.getName());
}
} // end of validating collections
@@ -387,8 +353,6 @@ public class ItemImportCLITool {
myloader.replaceItems(c, mycollections, sourcedir, mapfile, template);
} else if ("delete".equals(command)) {
myloader.deleteItems(c, mapfile);
} else if ("add-bte".equals(command)) {
myloader.addBTEItems(c, mycollections, sourcedir, mapfile, template, bteInputType, null);
}
// complete all transactions
@@ -408,7 +372,7 @@ public class ItemImportCLITool {
"Deleting temporary zip directory: " + myloader.getTempWorkDirFile().getAbsolutePath());
myloader.cleanupZipTemp();
}
} catch (Exception ex) {
} catch (IOException ex) {
System.out.println("Unable to delete temporary zip archive location: " + myloader.getTempWorkDirFile()
.getAbsolutePath());
}

View File

@@ -45,23 +45,17 @@ import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import gr.ekt.bte.core.DataLoader;
import gr.ekt.bte.core.TransformationEngine;
import gr.ekt.bte.core.TransformationResult;
import gr.ekt.bte.core.TransformationSpec;
import gr.ekt.bte.dataloader.FileDataLoader;
import gr.ekt.bteio.generators.DSpaceOutputGenerator;
import gr.ekt.bteio.loaders.OAIPMHDataLoader;
import org.apache.commons.collections.ComparatorUtils;
import org.apache.commons.collections4.ComparatorUtils;
import org.apache.commons.io.FileDeleteStrategy;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.Logger;
import org.apache.xpath.XPathAPI;
import org.dspace.app.itemimport.service.ItemImportService;
import org.dspace.app.util.LocalSchemaFilenameFilter;
import org.dspace.app.util.RelationshipUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.authorize.ResourcePolicy;
import org.dspace.authorize.service.AuthorizeService;
@@ -74,6 +68,10 @@ import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.content.MetadataField;
import org.dspace.content.MetadataSchema;
import org.dspace.content.MetadataSchemaEnum;
import org.dspace.content.MetadataValue;
import org.dspace.content.Relationship;
import org.dspace.content.RelationshipType;
import org.dspace.content.WorkspaceItem;
import org.dspace.content.service.BitstreamFormatService;
import org.dspace.content.service.BitstreamService;
@@ -83,19 +81,21 @@ import org.dspace.content.service.InstallItemService;
import org.dspace.content.service.ItemService;
import org.dspace.content.service.MetadataFieldService;
import org.dspace.content.service.MetadataSchemaService;
import org.dspace.content.service.MetadataValueService;
import org.dspace.content.service.RelationshipService;
import org.dspace.content.service.RelationshipTypeService;
import org.dspace.content.service.WorkspaceItemService;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.core.Email;
import org.dspace.core.I18nUtil;
import org.dspace.core.LogManager;
import org.dspace.core.LogHelper;
import org.dspace.eperson.EPerson;
import org.dspace.eperson.Group;
import org.dspace.eperson.service.EPersonService;
import org.dspace.eperson.service.GroupService;
import org.dspace.handle.service.HandleService;
import org.dspace.utils.DSpace;
import org.dspace.services.ConfigurationService;
import org.dspace.workflow.WorkflowItem;
import org.dspace.workflow.WorkflowService;
import org.springframework.beans.factory.InitializingBean;
@@ -124,7 +124,7 @@ import org.xml.sax.SAXException;
* allow the registration of files (bitstreams) into DSpace.
*/
public class ItemImportServiceImpl implements ItemImportService, InitializingBean {
private final Logger log = Logger.getLogger(ItemImportServiceImpl.class);
private final Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemImportServiceImpl.class);
@Autowired(required = true)
protected AuthorizeService authorizeService;
@@ -156,8 +156,16 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
protected WorkspaceItemService workspaceItemService;
@Autowired(required = true)
protected WorkflowService workflowService;
@Autowired(required = true)
protected ConfigurationService configurationService;
@Autowired(required = true)
protected RelationshipService relationshipService;
@Autowired(required = true)
protected RelationshipTypeService relationshipTypeService;
@Autowired(required = true)
protected MetadataValueService metadataValueService;
protected final String tempWorkDir = ConfigurationManager.getProperty("org.dspace.app.batchitemimport.work.dir");
protected String tempWorkDir;
protected boolean isTest = false;
protected boolean isResume = false;
@@ -165,8 +173,12 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
protected boolean useWorkflowSendEmail = false;
protected boolean isQuiet = false;
//remember which folder item was imported from
Map<String, Item> itemFolderMap = null;
@Override
public void afterPropertiesSet() throws Exception {
tempWorkDir = configurationService.getProperty("org.dspace.app.batchitemimport.work.dir");
//Ensure tempWorkDir exists
File tempWorkDirFile = new File(tempWorkDir);
if (!tempWorkDirFile.exists()) {
@@ -196,100 +208,6 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
}
/**
* In this method, the BTE is instantiated. THe workflow generates the DSpace files
* necessary for the upload, and the default item import method is called
*
* @param c The contect
* @param mycollections The collections the items are inserted to
* @param sourceDir The filepath to the file to read data from
* @param mapFile The filepath to mapfile to be generated
* @param template whether to use collection template item as starting point
* @param inputType The type of the input data (bibtex, csv, etc.)
* @param workingDir The path to create temporary files (for command line or UI based)
* @throws Exception if error occurs
*/
@Override
public void addBTEItems(Context c, List<Collection> mycollections,
String sourceDir, String mapFile, boolean template, String inputType, String workingDir)
throws Exception {
//Determine the folder where BTE will output the results
String outputFolder = null;
if (workingDir == null) { //This indicates a command line import, create a random path
File importDir = new File(ConfigurationManager.getProperty("org.dspace.app.batchitemimport.work.dir"));
if (!importDir.exists()) {
boolean success = importDir.mkdir();
if (!success) {
log.info("Cannot create batch import directory!");
throw new Exception("Cannot create batch import directory!");
}
}
//Get a random folder in case two admins batch import data at the same time
outputFolder = importDir + File.separator + generateRandomFilename(true);
} else { //This indicates a UI import, working dir is preconfigured
outputFolder = workingDir;
}
BTEBatchImportService dls = new DSpace().getSingletonService(BTEBatchImportService.class);
DataLoader dataLoader = dls.getDataLoaders().get(inputType);
Map<String, String> outputMap = dls.getOutputMap();
TransformationEngine te = dls.getTransformationEngine();
if (dataLoader == null) {
System.out.println(
"ERROR: The key used in -i parameter must match a valid DataLoader in the BTE Spring XML " +
"configuration file!");
return;
}
if (outputMap == null) {
System.out.println(
"ERROR: The key used in -i parameter must match a valid outputMapping in the BTE Spring XML " +
"configuration file!");
return;
}
if (dataLoader instanceof FileDataLoader) {
FileDataLoader fdl = (FileDataLoader) dataLoader;
if (!StringUtils.isBlank(sourceDir)) {
System.out.println(
"INFO: Dataloader will load data from the file specified in the command prompt (and not from the " +
"Spring XML configuration file)");
fdl.setFilename(sourceDir);
}
} else if (dataLoader instanceof OAIPMHDataLoader) {
OAIPMHDataLoader fdl = (OAIPMHDataLoader) dataLoader;
System.out.println(sourceDir);
if (!StringUtils.isBlank(sourceDir)) {
System.out.println(
"INFO: Dataloader will load data from the address specified in the command prompt (and not from " +
"the Spring XML configuration file)");
fdl.setServerAddress(sourceDir);
}
}
if (dataLoader != null) {
System.out.println("INFO: Dataloader " + dataLoader.toString() + " will be used for the import!");
te.setDataLoader(dataLoader);
DSpaceOutputGenerator outputGenerator = new DSpaceOutputGenerator(outputMap);
outputGenerator.setOutputDirectory(outputFolder);
te.setOutputGenerator(outputGenerator);
try {
TransformationResult res = te.transform(new TransformationSpec());
List<String> output = res.getOutput();
outputGenerator.writeOutput(output);
} catch (Exception e) {
System.err.println("Exception");
e.printStackTrace();
throw e;
}
addItems(c, mycollections, outputFolder, mapFile, template);
}
}
@Override
public void addItemsAtomic(Context c, List<Collection> mycollections, String sourceDir, String mapFile,
boolean template) throws Exception {
@@ -309,10 +227,13 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
// create the mapfile
File outFile = null;
PrintWriter mapOut = null;
try {
Map<String, String> skipItems = new HashMap<>(); // set of items to skip if in 'resume'
// mode
itemFolderMap = new HashMap<>();
System.out.println("Adding items from directory: " + sourceDir);
log.debug("Adding items from directory: " + sourceDir);
System.out.println("Generating mapfile: " + mapFile);
@@ -353,6 +274,12 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
for (int i = 0; i < dircontents.length; i++) {
if (skipItems.containsKey(dircontents[i])) {
System.out.println("Skipping import of " + dircontents[i]);
//we still need the item in the map for relationship linking
String skippedHandle = skipItems.get(dircontents[i]);
Item skippedItem = (Item) handleService.resolveToObject(c, skippedHandle);
itemFolderMap.put(dircontents[i], skippedItem);
} else {
List<Collection> clist;
if (directoryFileCollections) {
@@ -372,12 +299,19 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
} else {
clist = mycollections;
}
Item item = addItem(c, clist, sourceDir, dircontents[i], mapOut, template);
itemFolderMap.put(dircontents[i], item);
c.uncacheEntity(item);
System.out.println(i + " " + dircontents[i]);
}
}
//now that all items are imported, iterate again to link relationships
addRelationships(c, sourceDir);
} finally {
if (mapOut != null) {
mapOut.flush();
@@ -386,6 +320,276 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
}
}
/**
* Add relationships from a 'relationships' manifest file.
*
* @param c Context
* @param sourceDir The parent import source directory
* @throws Exception
*/
protected void addRelationships(Context c, String sourceDir) throws Exception {
for (Map.Entry<String, Item> itemEntry : itemFolderMap.entrySet()) {
String folderName = itemEntry.getKey();
String path = sourceDir + File.separatorChar + folderName;
Item item = itemEntry.getValue();
//look for a 'relationship' manifest
Map<String, List<String>> relationships = processRelationshipFile(path, "relationships");
if (!relationships.isEmpty()) {
for (Map.Entry<String, List<String>> relEntry : relationships.entrySet()) {
String relationshipType = relEntry.getKey();
List<String> identifierList = relEntry.getValue();
for (String itemIdentifier : identifierList) {
if (isTest) {
System.out.println("\tAdding relationship (type: " + relationshipType +
") from " + folderName + " to " + itemIdentifier);
continue;
}
//find referenced item
Item relationItem = resolveRelatedItem(c, itemIdentifier);
if (null == relationItem) {
throw new Exception("Could not find item for " + itemIdentifier);
}
//get entity type of entity and item
String itemEntityType = getEntityType(item);
String relatedEntityType = getEntityType(relationItem);
//find matching relationship type
List<RelationshipType> relTypes = relationshipTypeService.findByLeftwardOrRightwardTypeName(
c, relationshipType);
RelationshipType foundRelationshipType = RelationshipUtils.matchRelationshipType(
relTypes, relatedEntityType, itemEntityType, relationshipType);
if (foundRelationshipType == null) {
throw new Exception("No Relationship type found for:\n" +
"Target type: " + relatedEntityType + "\n" +
"Origin referer type: " + itemEntityType + "\n" +
"with typeName: " + relationshipType
);
}
boolean left = false;
if (foundRelationshipType.getLeftwardType().equalsIgnoreCase(relationshipType)) {
left = true;
}
// Placeholder items for relation placing
Item leftItem = null;
Item rightItem = null;
if (left) {
leftItem = item;
rightItem = relationItem;
} else {
leftItem = relationItem;
rightItem = item;
}
// Create the relationship
int leftPlace = relationshipService.findNextLeftPlaceByLeftItem(c, leftItem);
int rightPlace = relationshipService.findNextRightPlaceByRightItem(c, rightItem);
Relationship persistedRelationship = relationshipService.create(
c, leftItem, rightItem, foundRelationshipType, leftPlace, rightPlace);
// relationshipService.update(c, persistedRelationship);
System.out.println("\tAdded relationship (type: " + relationshipType + ") from " +
leftItem.getHandle() + " to " + rightItem.getHandle());
}
}
}
}
}
/**
* Get the item's entity type from meta.
*
* @param item
* @return
*/
protected String getEntityType(Item item) throws Exception {
return itemService.getMetadata(item, "dspace", "entity", "type", Item.ANY).get(0).getValue();
}
/**
* Read the relationship manifest file.
*
* Each line in the file contains a relationship type id and an item identifier in the following format:
*
* relation.<relation_key> <handle|uuid|folderName:import_item_folder|schema.element[.qualifier]:value>
*
* The input_item_folder should refer the folder name of another item in this import batch.
*
* @param path The main import folder path.
* @param filename The name of the manifest file to check ('relationships')
* @return Map of found relationships
* @throws Exception
*/
protected Map<String, List<String>> processRelationshipFile(String path, String filename) throws Exception {
File file = new File(path + File.separatorChar + filename);
Map<String, List<String>> result = new HashMap<>();
if (file.exists()) {
System.out.println("\tProcessing relationships file: " + filename);
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(file));
String line = null;
while ((line = br.readLine()) != null) {
line = line.trim();
if ("".equals(line)) {
continue;
}
String relationshipType = null;
String itemIdentifier = null;
StringTokenizer st = new StringTokenizer(line);
if (st.hasMoreTokens()) {
relationshipType = st.nextToken();
if (relationshipType.split("\\.").length > 1) {
relationshipType = relationshipType.split("\\.")[1];
}
} else {
throw new Exception("Bad mapfile line:\n" + line);
}
if (st.hasMoreTokens()) {
itemIdentifier = st.nextToken("").trim();
} else {
throw new Exception("Bad mapfile line:\n" + line);
}
if (!result.containsKey(relationshipType)) {
result.put(relationshipType, new ArrayList<>());
}
result.get(relationshipType).add(itemIdentifier);
}
} catch (FileNotFoundException e) {
System.out.println("\tNo relationships file found.");
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
System.out.println("Non-critical problem releasing resources.");
}
}
}
}
return result;
}
/**
* Resolve an item identifier referred to in the relationships manifest file.
*
* The import item map will be checked first to see if the identifier refers to an item folder
* that was just imported. Next it will try to find the item by handle or UUID, or by a unique
* meta value.
*
* @param c Context
* @param itemIdentifier The identifier string found in the import manifest (handle, uuid, or import subfolder)
* @return Item if found, or null.
* @throws Exception
*/
protected Item resolveRelatedItem(Context c, String itemIdentifier) throws Exception {
if (itemIdentifier.contains(":")) {
if (itemIdentifier.startsWith("folderName:") || itemIdentifier.startsWith("rowName:")) {
//identifier refers to a folder name in this import
int i = itemIdentifier.indexOf(":");
String folderName = itemIdentifier.substring(i + 1);
if (itemFolderMap.containsKey(folderName)) {
return itemFolderMap.get(folderName);
}
} else {
//lookup by meta value
int i = itemIdentifier.indexOf(":");
String metaKey = itemIdentifier.substring(0, i);
String metaValue = itemIdentifier.substring(i + 1);
return findItemByMetaValue(c, metaKey, metaValue);
}
} else if (itemIdentifier.indexOf('/') != -1) {
//resolve by handle
return (Item) handleService.resolveToObject(c, itemIdentifier);
} else {
//try to resolve by UUID
return itemService.findByIdOrLegacyId(c, itemIdentifier);
}
return null;
}
/**
* Lookup an item by a (unique) meta value.
*
* @param metaKey
* @param metaValue
* @return Item
* @throws Exception if single item not found.
*/
protected Item findItemByMetaValue(Context c, String metaKey, String metaValue) throws Exception {
Item item = null;
String mf[] = metaKey.split("\\.");
if (mf.length < 2) {
throw new Exception("Bad metadata field in reference: '" + metaKey +
"' (expected syntax is schema.element[.qualifier])");
}
String schema = mf[0];
String element = mf[1];
String qualifier = mf.length == 2 ? null : mf[2];
try {
MetadataField mfo = metadataFieldService.findByElement(c, schema, element, qualifier);
Iterator<MetadataValue> mdv = metadataValueService.findByFieldAndValue(c, mfo, metaValue);
if (mdv.hasNext()) {
MetadataValue mdvVal = mdv.next();
UUID uuid = mdvVal.getDSpaceObject().getID();
if (mdv.hasNext()) {
throw new Exception("Ambiguous reference; multiple matches in db: " + metaKey);
}
item = itemService.find(c, uuid);
}
} catch (SQLException e) {
throw new Exception("Error looking up item by metadata reference: " + metaKey, e);
}
if (item == null) {
throw new Exception("Item not found by metadata reference: " + metaKey);
}
return item;
}
@Override
public void replaceItems(Context c, List<Collection> mycollections,
String sourceDir, String mapFile, boolean template) throws Exception {
@@ -677,7 +881,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
Node schemaAttr = metadata.item(0).getAttributes().getNamedItem(
"schema");
if (schemaAttr == null) {
schema = MetadataSchema.DC_SCHEMA;
schema = MetadataSchemaEnum.DC.getName();
} else {
schema = schemaAttr.getNodeValue();
}
@@ -1480,7 +1684,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
File tempdir = new File(destinationDir);
if (!tempdir.isDirectory()) {
log.error("'" + ConfigurationManager.getProperty("org.dspace.app.itemexport.work.dir") +
log.error("'" + configurationService.getProperty("org.dspace.app.itemexport.work.dir") +
"' as defined by the key 'org.dspace.app.itemexport.work.dir' in dspace.cfg " +
"is not a valid directory");
}
@@ -1505,47 +1709,54 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
log.error("Unable to create contents directory: " + zipDir + entry.getName());
}
} else {
System.out.println("Extracting file: " + entry.getName());
log.info("Extracting file: " + entry.getName());
String entryName = entry.getName();
File outFile = new File(zipDir + entryName);
// Verify that this file will be extracted into our zipDir (and not somewhere else!)
if (!outFile.toPath().normalize().startsWith(zipDir)) {
throw new IOException("Bad zip entry: '" + entryName
+ "' in file '" + zipfile.getAbsolutePath() + "'!"
+ " Cannot process this file.");
} else {
System.out.println("Extracting file: " + entryName);
log.info("Extracting file: " + entryName);
int index = entry.getName().lastIndexOf('/');
if (index == -1) {
// Was it created on Windows instead?
index = entry.getName().lastIndexOf('\\');
}
if (index > 0) {
File dir = new File(zipDir + entry.getName().substring(0, index));
if (!dir.exists() && !dir.mkdirs()) {
log.error("Unable to create directory: " + dir.getAbsolutePath());
int index = entryName.lastIndexOf('/');
if (index == -1) {
// Was it created on Windows instead?
index = entryName.lastIndexOf('\\');
}
if (index > 0) {
File dir = new File(zipDir + entryName.substring(0, index));
if (!dir.exists() && !dir.mkdirs()) {
log.error("Unable to create directory: " + dir.getAbsolutePath());
}
//Entries could have too many directories, and we need to adjust the sourcedir
// file1.zip (SimpleArchiveFormat / item1 / contents|dublin_core|...
// SimpleArchiveFormat / item2 / contents|dublin_core|...
// or
// file2.zip (item1 / contents|dublin_core|...
// item2 / contents|dublin_core|...
//Entries could have too many directories, and we need to adjust the sourcedir
// file1.zip (SimpleArchiveFormat / item1 / contents|dublin_core|...
// SimpleArchiveFormat / item2 / contents|dublin_core|...
// or
// file2.zip (item1 / contents|dublin_core|...
// item2 / contents|dublin_core|...
//regex supports either windows or *nix file paths
String[] entryChunks = entry.getName().split("/|\\\\");
if (entryChunks.length > 2) {
if (StringUtils.equals(sourceDirForZip, sourcedir)) {
sourceDirForZip = sourcedir + "/" + entryChunks[0];
//regex supports either windows or *nix file paths
String[] entryChunks = entryName.split("/|\\\\");
if (entryChunks.length > 2) {
if (StringUtils.equals(sourceDirForZip, sourcedir)) {
sourceDirForZip = sourcedir + "/" + entryChunks[0];
}
}
}
byte[] buffer = new byte[1024];
int len;
InputStream in = zf.getInputStream(entry);
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(outFile));
while ((len = in.read(buffer)) >= 0) {
out.write(buffer, 0, len);
}
in.close();
out.close();
}
byte[] buffer = new byte[1024];
int len;
InputStream in = zf.getInputStream(entry);
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(zipDir + entry.getName()));
while ((len = in.read(buffer)) >= 0) {
out.write(buffer, 0, len);
}
in.close();
out.close();
}
}
@@ -1638,7 +1849,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
}
}
importDir = ConfigurationManager.getProperty(
importDir = configurationService.getProperty(
"org.dspace.app.batchitemimport.work.dir") + File.separator + "batchuploads" + File.separator
+ context
.getCurrentUser()
@@ -1728,9 +1939,6 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
if (theInputType.equals("saf") || theInputType
.equals("safupload")) { //In case of Simple Archive Format import
addItems(context, finalCollections, dataDir, mapFilePath, template);
} else { // For all other imports (via BTE)
addBTEItems(context, finalCollections, theFilePath, mapFilePath, useTemplateItem, theInputType,
dataDir);
}
// email message letting user know the file is ready for
@@ -1783,7 +1991,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
email.send();
} catch (Exception e) {
log.warn(LogManager.getHeader(context, "emailSuccessMessage", "cannot notify user of import"), e);
log.warn(LogHelper.getHeader(context, "emailSuccessMessage", "cannot notify user of import"), e);
}
}
@@ -1796,7 +2004,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
Email email = Email.getEmail(I18nUtil.getEmailFilename(supportedLocale, "bte_batch_import_error"));
email.addRecipient(eperson.getEmail());
email.addArgument(error);
email.addArgument(ConfigurationManager.getProperty("dspace.url") + "/feedback");
email.addArgument(configurationService.getProperty("dspace.ui.url") + "/feedback");
email.send();
} catch (Exception e) {
@@ -1834,7 +2042,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
@Override
public String getImportUploadableDirectory(EPerson ePerson)
throws Exception {
String uploadDir = ConfigurationManager.getProperty("org.dspace.app.batchitemimport.work.dir");
String uploadDir = configurationService.getProperty("org.dspace.app.batchitemimport.work.dir");
if (uploadDir == null) {
throw new Exception(
"A dspace.cfg entry for 'org.dspace.app.batchitemimport.work.dir' does not exist.");
@@ -1917,4 +2125,5 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
public void setQuiet(boolean isQuiet) {
this.isQuiet = isQuiet;
}
}

View File

@@ -105,7 +105,7 @@ public interface ItemImportService {
String inputType, Context context, boolean template) throws Exception;
/**
* Since the BTE batch import is done in a new thread we are unable to communicate
* If a batch import is done in a new thread we are unable to communicate
* with calling method about success or failure. We accomplish this
* communication with email instead. Send a success email once the batch
* import is complete
@@ -119,7 +119,7 @@ public interface ItemImportService {
String fileName) throws MessagingException;
/**
* Since the BTE batch import is done in a new thread we are unable to communicate
* If a batch import is done in a new thread we are unable to communicate
* with calling method about success or failure. We accomplis this
* communication with email instead. Send an error email if the batch
* import fails
@@ -183,21 +183,6 @@ public interface ItemImportService {
*/
public void deleteItems(Context c, String mapfile) throws Exception;
/**
* Add items
*
* @param c DSpace Context
* @param mycollections List of Collections
* @param sourcedir source directory
* @param mapfile map file
* @param template whether to use template item
* @param bteInputType The input type of the data (bibtex, csv, etc.), in case of local file
* @param workingDir working directory
* @throws Exception if error
*/
public void addBTEItems(Context c, List<Collection> mycollections, String sourcedir, String mapfile,
boolean template, String bteInputType, String workingDir) throws Exception;
/**
* Get temporary work directory
*

View File

@@ -11,6 +11,8 @@ import java.io.UnsupportedEncodingException;
import java.sql.SQLException;
import java.util.List;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.util.Util;
import org.dspace.content.Bitstream;
import org.dspace.content.Bundle;
@@ -34,8 +36,9 @@ public class ItemMarkingAvailabilityBitstreamStrategy implements ItemMarkingExtr
@Autowired(required = true)
protected ItemService itemService;
public ItemMarkingAvailabilityBitstreamStrategy() {
private static final Logger LOG = LogManager.getLogger();
public ItemMarkingAvailabilityBitstreamStrategy() {
}
@Override
@@ -43,14 +46,14 @@ public class ItemMarkingAvailabilityBitstreamStrategy implements ItemMarkingExtr
throws SQLException {
List<Bundle> bundles = itemService.getBundles(item, "ORIGINAL");
if (bundles.size() == 0) {
if (bundles.isEmpty()) {
ItemMarkingInfo markInfo = new ItemMarkingInfo();
markInfo.setImageName(nonAvailableImageName);
return markInfo;
} else {
Bundle originalBundle = bundles.iterator().next();
if (originalBundle.getBitstreams().size() == 0) {
if (originalBundle.getBitstreams().isEmpty()) {
ItemMarkingInfo markInfo = new ItemMarkingInfo();
markInfo.setImageName(nonAvailableImageName);
@@ -72,8 +75,7 @@ public class ItemMarkingAvailabilityBitstreamStrategy implements ItemMarkingExtr
try {
bsLink = bsLink + Util.encodeBitstreamName(bitstream.getName(), Constants.DEFAULT_ENCODING);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
LOG.warn("DSpace uses an unsupported encoding", e);
}
signInfo.setLink(bsLink);

View File

@@ -7,6 +7,7 @@
*/
package org.dspace.app.itemupdate;
import java.lang.reflect.InvocationTargetException;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -20,22 +21,25 @@ import java.util.Map;
public class ActionManager implements Iterable<UpdateAction> {
protected Map<Class<? extends UpdateAction>, UpdateAction> registry
= new LinkedHashMap<Class<? extends UpdateAction>, UpdateAction>();
= new LinkedHashMap<>();
/**
* Get update action
* Get update action.
*
* @param actionClass UpdateAction class
* @return instantiation of UpdateAction class
* @throws InstantiationException if instantiation error
* @throws IllegalAccessException if illegal access error
* @throws NoSuchMethodException passed through.
* @throws InvocationTargetException passed through.
*/
public UpdateAction getUpdateAction(Class<? extends UpdateAction> actionClass)
throws InstantiationException, IllegalAccessException {
throws InstantiationException, IllegalAccessException,
NoSuchMethodException, IllegalArgumentException, InvocationTargetException {
UpdateAction action = registry.get(actionClass);
if (action == null) {
action = actionClass.newInstance();
action = actionClass.getDeclaredConstructor().newInstance();
registry.put(actionClass, action);
}
@@ -58,7 +62,8 @@ public class ActionManager implements Iterable<UpdateAction> {
@Override
public Iterator<UpdateAction> iterator() {
return new Iterator<UpdateAction>() {
private Iterator<Class<? extends UpdateAction>> itr = registry.keySet().iterator();
private final Iterator<Class<? extends UpdateAction>> itr
= registry.keySet().iterator();
@Override
public boolean hasNext() {

View File

@@ -105,6 +105,7 @@ public class ContentsEntry {
return new ContentsEntry(arp[0], arp[1], actionId, groupName, arp[3]);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder(filename);
if (bundlename != null) {

View File

@@ -120,6 +120,7 @@ class DtoMetadata {
return true;
}
@Override
public String toString() {
String s = "\tSchema: " + schema + " Element: " + element;
if (qualifier != null) {

View File

@@ -17,6 +17,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
@@ -30,7 +31,7 @@ import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.Logger;
import org.dspace.app.util.LocalSchemaFilenameFilter;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.DSpaceObject;
@@ -47,7 +48,7 @@ import org.w3c.dom.Document;
* Encapsulates the Item in the context of the DSpace Archive Format
*/
public class ItemArchive {
private static final Logger log = Logger.getLogger(ItemArchive.class);
private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemArchive.class);
public static final String DUBLIN_CORE_XML = "dublin_core.xml";
@@ -55,7 +56,7 @@ public class ItemArchive {
protected Transformer transformer = null;
protected List<DtoMetadata> dtomList = null;
protected List<DtoMetadata> undoDtomList = new ArrayList<DtoMetadata>();
protected List<DtoMetadata> undoDtomList = new ArrayList<>();
protected List<UUID> undoAddContents = new ArrayList<>(); // for undo of add
@@ -325,7 +326,7 @@ public class ItemArchive {
PrintWriter pw = null;
try {
File f = new File(dir, ItemUpdate.DELETE_CONTENTS_FILE);
pw = new PrintWriter(new BufferedWriter(new FileWriter(f)));
pw = new PrintWriter(new BufferedWriter(new FileWriter(f, StandardCharsets.UTF_8)));
for (UUID i : undoAddContents) {
pw.println(i);
}

View File

@@ -24,18 +24,19 @@ import java.util.UUID;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import org.dspace.content.Item;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.ItemService;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Context;
import org.dspace.eperson.EPerson;
import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.eperson.service.EPersonService;
import org.dspace.handle.factory.HandleServiceFactory;
import org.dspace.handle.service.HandleService;
/**
* Provides some batch editing capabilities for items in DSpace:
@@ -78,6 +79,7 @@ public class ItemUpdate {
protected static final EPersonService epersonService = EPersonServiceFactory.getInstance().getEPersonService();
protected static final ItemService itemService = ContentServiceFactory.getInstance().getItemService();
protected static final HandleService handleService = HandleServiceFactory.getInstance().getHandleService();
static {
filterAliases.put("ORIGINAL", "org.dspace.app.itemupdate.OriginalBitstreamFilter");
@@ -107,7 +109,7 @@ public class ItemUpdate {
// instance variables
protected ActionManager actionMgr = new ActionManager();
protected List<String> undoActionList = new ArrayList<String>();
protected List<String> undoActionList = new ArrayList<>();
protected String eperson;
/**
@@ -115,7 +117,7 @@ public class ItemUpdate {
*/
public static void main(String[] argv) {
// create an options object and populate it
CommandLineParser parser = new PosixParser();
CommandLineParser parser = new DefaultParser();
Options options = new Options();
@@ -273,7 +275,8 @@ public class ItemUpdate {
Class<?> cfilter = Class.forName(filterClassname);
pr("BitstreamFilter class to instantiate: " + cfilter.toString());
filter = (BitstreamFilter) cfilter.newInstance(); //unfortunate cast, an erasure consequence
filter = (BitstreamFilter) cfilter.getDeclaredConstructor()
.newInstance(); //unfortunate cast, an erasure consequence
} catch (Exception e) {
pr("Error: Failure instantiating bitstream filter class: " + filterClassname);
System.exit(1);
@@ -330,10 +333,7 @@ public class ItemUpdate {
iu.setEPerson(context, iu.eperson);
context.turnOffAuthorisationSystem();
HANDLE_PREFIX = ConfigurationManager.getProperty("handle.canonical.prefix");
if (HANDLE_PREFIX == null || HANDLE_PREFIX.length() == 0) {
HANDLE_PREFIX = "http://hdl.handle.net/";
}
HANDLE_PREFIX = handleService.getCanonicalPrefix();
iu.processArchive(context, sourcedir, itemField, metadataIndexName, alterProvenance, isTest);

View File

@@ -28,17 +28,18 @@ import javax.xml.transform.TransformerException;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.xpath.XPathAPI;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Item;
import org.dspace.content.MetadataField;
import org.dspace.content.MetadataSchema;
import org.dspace.content.MetadataSchemaEnum;
import org.dspace.content.MetadataValue;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.ItemService;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Context;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
@@ -189,7 +190,7 @@ public class MetadataUtilities {
NodeList metadata = XPathAPI.selectNodeList(document, "/dublin_core");
Node schemaAttr = metadata.item(0).getAttributes().getNamedItem("schema");
if (schemaAttr == null) {
schema = MetadataSchema.DC_SCHEMA;
schema = MetadataSchemaEnum.DC.getName();
} else {
schema = schemaAttr.getNodeValue();
}
@@ -225,7 +226,9 @@ public class MetadataUtilities {
if (language == null) {
language = "en";
} else if ("".equals(language)) {
language = ConfigurationManager.getProperty("default.language");
language = DSpaceServicesFactory.getInstance()
.getConfigurationService()
.getProperty("default.language");
}
DtoMetadata dtom = DtoMetadata.create(schema, element, qualifier, language, value);

View File

@@ -10,9 +10,22 @@ package org.dspace.app.launcher;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Method;
import java.sql.SQLException;
import java.util.Collection;
import java.util.Comparator;
import java.util.List;
import java.util.TreeMap;
import org.apache.commons.cli.ParseException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.core.Context;
import org.dspace.scripts.DSpaceRunnable;
import org.dspace.scripts.configuration.ScriptConfiguration;
import org.dspace.scripts.factory.ScriptServiceFactory;
import org.dspace.scripts.handler.DSpaceRunnableHandler;
import org.dspace.scripts.handler.impl.CommandLineDSpaceRunnableHandler;
import org.dspace.scripts.service.ScriptService;
import org.dspace.servicemanager.DSpaceKernelImpl;
import org.dspace.servicemanager.DSpaceKernelInit;
import org.dspace.services.RequestService;
@@ -27,6 +40,9 @@ import org.jdom.input.SAXBuilder;
* @author Mark Diggory
*/
public class ScriptLauncher {
private static final Logger log = LogManager.getLogger();
/**
* The service manager kernel
*/
@@ -35,7 +51,8 @@ public class ScriptLauncher {
/**
* Default constructor
*/
private ScriptLauncher() { }
private ScriptLauncher() {
}
/**
* Execute the DSpace script launcher
@@ -45,7 +62,7 @@ public class ScriptLauncher {
* @throws FileNotFoundException if file doesn't exist
*/
public static void main(String[] args)
throws FileNotFoundException, IOException {
throws FileNotFoundException, IOException, IllegalAccessException, InstantiationException {
// Initialise the service manager kernel
try {
kernelImpl = DSpaceKernelInit.getKernel(null);
@@ -76,8 +93,9 @@ public class ScriptLauncher {
}
// Look up command in the configuration, and execute.
int status;
status = runOneCommand(commandConfigs, args);
CommandLineDSpaceRunnableHandler commandLineDSpaceRunnableHandler = new CommandLineDSpaceRunnableHandler();
int status = handleScript(args, commandConfigs, commandLineDSpaceRunnableHandler, kernelImpl);
// Destroy the service kernel if it is still alive
if (kernelImpl != null) {
@@ -86,6 +104,55 @@ public class ScriptLauncher {
}
System.exit(status);
}
/**
* This method will take the arguments from a commandline input and it'll find the script that the first argument
* refers to and it'll execute this script.
* It can return a 1 or a 0 depending on whether the script failed or passed respectively
* @param args The arguments for the script and the script as first one in the array
* @param commandConfigs The Document
* @param dSpaceRunnableHandler The DSpaceRunnableHandler for this execution
* @param kernelImpl The relevant DSpaceKernelImpl
* @return A 1 or 0 depending on whether the script failed or passed respectively
*/
public static int handleScript(String[] args, Document commandConfigs,
DSpaceRunnableHandler dSpaceRunnableHandler,
DSpaceKernelImpl kernelImpl) throws InstantiationException, IllegalAccessException {
int status;
ScriptService scriptService = ScriptServiceFactory.getInstance().getScriptService();
ScriptConfiguration scriptConfiguration = scriptService.getScriptConfiguration(args[0]);
DSpaceRunnable script = null;
if (scriptConfiguration != null) {
script = scriptService.createDSpaceRunnableForScriptConfiguration(scriptConfiguration);
}
if (script != null) {
status = executeScript(args, dSpaceRunnableHandler, script);
} else {
status = runOneCommand(commandConfigs, args, kernelImpl);
}
return status;
}
/**
* This method will simply execute the script
* @param args The arguments of the script with the script name as first place in the array
* @param dSpaceRunnableHandler The relevant DSpaceRunnableHandler
* @param script The script to be executed
* @return A 1 or 0 depending on whether the script failed or passed respectively
*/
private static int executeScript(String[] args, DSpaceRunnableHandler dSpaceRunnableHandler,
DSpaceRunnable script) {
try {
script.initialize(args, dSpaceRunnableHandler, null);
script.run();
return 0;
} catch (ParseException e) {
script.printHelp();
e.printStackTrace();
return 1;
}
}
protected static int runOneCommand(Document commandConfigs, String[] args) {
@@ -98,7 +165,7 @@ public class ScriptLauncher {
* @param commandConfigs Document
* @param args the command line arguments given
*/
public static int runOneCommand(Document commandConfigs, String[] args, DSpaceKernelImpl kernelImpl) {
protected static int runOneCommand(Document commandConfigs, String[] args, DSpaceKernelImpl kernelImpl) {
String request = args[0];
Element root = commandConfigs.getRootElement();
List<Element> commands = root.getChildren("command");
@@ -255,11 +322,53 @@ public class ScriptLauncher {
}
/**
* Display the commands that the current launcher config file knows about
*
* Display the commands that are defined in launcher.xml and/or the script service.
* @param commandConfigs configs as Document
*/
private static void display(Document commandConfigs) {
// usage
System.out.println("Usage: dspace [command-name] {parameters}");
// commands from launcher.xml
Collection<Element> launcherCommands = getLauncherCommands(commandConfigs);
if (launcherCommands.size() > 0) {
System.out.println("\nCommands from launcher.xml");
for (Element command : launcherCommands) {
displayCommand(
command.getChild("name").getValue(),
command.getChild("description").getValue()
);
}
}
// commands from script service
Collection<ScriptConfiguration> serviceCommands = getServiceCommands();
if (serviceCommands.size() > 0) {
System.out.println("\nCommands from script service");
for (ScriptConfiguration command : serviceCommands) {
displayCommand(
command.getName(),
command.getDescription()
);
}
}
}
/**
* Display a single command using a fixed format. Used by {@link #display}.
* @param name the name that can be used to invoke the command
* @param description the description of the command
*/
private static void displayCommand(String name, String description) {
System.out.format(" - %s: %s\n", name, description);
}
/**
* Get a sorted collection of the commands that are specified in launcher.xml. Used by {@link #display}.
* @param commandConfigs the contexts of launcher.xml
* @return sorted collection of commands
*/
private static Collection<Element> getLauncherCommands(Document commandConfigs) {
// List all command elements
List<Element> commands = commandConfigs.getRootElement().getChildren("command");
@@ -271,11 +380,32 @@ public class ScriptLauncher {
sortedCommands.put(command.getChild("name").getValue(), command);
}
// Display the sorted list
System.out.println("Usage: dspace [command-name] {parameters}");
for (Element command : sortedCommands.values()) {
System.out.println(" - " + command.getChild("name").getValue() +
": " + command.getChild("description").getValue());
}
return sortedCommands.values();
}
/**
* Get a sorted collection of the commands that are defined as beans. Used by {@link #display}.
* @return sorted collection of commands
*/
private static Collection<ScriptConfiguration> getServiceCommands() {
ScriptService scriptService = ScriptServiceFactory.getInstance().getScriptService();
Context throwAwayContext = new Context();
throwAwayContext.turnOffAuthorisationSystem();
List<ScriptConfiguration> scriptConfigurations = scriptService.getScriptConfigurations(throwAwayContext);
throwAwayContext.restoreAuthSystemState();
try {
throwAwayContext.complete();
} catch (SQLException exception) {
exception.printStackTrace();
throwAwayContext.abort();
}
scriptConfigurations.sort(Comparator.comparing(ScriptConfiguration::getName));
return scriptConfigurations;
}
}

View File

@@ -12,7 +12,8 @@ import java.io.InputStream;
import javax.imageio.ImageIO;
import org.dspace.content.Item;
import org.dspace.core.ConfigurationManager;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
/**
* Filter image bitstreams, scaling the image to be within the bounds of
@@ -66,17 +67,19 @@ public class BrandedPreviewJPEGFilter extends MediaFilter {
BufferedImage buf = ImageIO.read(source);
// get config params
float xmax = (float) ConfigurationManager
ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
float xmax = (float) configurationService
.getIntProperty("webui.preview.maxwidth");
float ymax = (float) ConfigurationManager
float ymax = (float) configurationService
.getIntProperty("webui.preview.maxheight");
boolean blurring = (boolean) ConfigurationManager
boolean blurring = (boolean) configurationService
.getBooleanProperty("webui.preview.blurring");
boolean hqscaling = (boolean) ConfigurationManager
boolean hqscaling = (boolean) configurationService
.getBooleanProperty("webui.preview.hqscaling");
int brandHeight = ConfigurationManager.getIntProperty("webui.preview.brand.height");
String brandFont = ConfigurationManager.getProperty("webui.preview.brand.font");
int brandFontPoint = ConfigurationManager.getIntProperty("webui.preview.brand.fontpoint");
int brandHeight = configurationService.getIntProperty("webui.preview.brand.height");
String brandFont = configurationService.getProperty("webui.preview.brand.font");
int brandFontPoint = configurationService.getIntProperty("webui.preview.brand.fontpoint");
JPEGFilter jpegFilter = new JPEGFilter();
return jpegFilter

View File

@@ -11,7 +11,7 @@ import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.Logger;
import org.apache.poi.POITextExtractor;
import org.apache.poi.extractor.ExtractorFactory;
import org.apache.poi.hssf.extractor.ExcelExtractor;
@@ -36,7 +36,7 @@ import org.dspace.content.Item;
*/
public class ExcelFilter extends MediaFilter {
private static Logger log = Logger.getLogger(ExcelFilter.class);
private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ExcelFilter.class);
public String getFilteredName(String oldFilename) {
return oldFilename + ".txt";

View File

@@ -9,6 +9,7 @@ package org.dspace.app.mediafilter;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import javax.swing.text.Document;
import javax.swing.text.html.HTMLEditorKit;
@@ -36,7 +37,7 @@ public class HTMLFilter extends MediaFilter {
}
/**
* @return String bitstreamformat
* @return String bitstream format
*/
@Override
public String getFormatString() {
@@ -73,9 +74,9 @@ public class HTMLFilter extends MediaFilter {
String extractedText = doc.getText(0, doc.getLength());
// generate an input stream with the extracted text
byte[] textBytes = extractedText.getBytes();
byte[] textBytes = extractedText.getBytes(StandardCharsets.UTF_8);
ByteArrayInputStream bais = new ByteArrayInputStream(textBytes);
return bais; // will this work? or will the byte array be out of scope?
return bais;
}
}

View File

@@ -19,8 +19,9 @@ import org.dspace.content.Bundle;
import org.dspace.content.Item;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.ItemService;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Context;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.im4java.core.ConvertCmd;
import org.im4java.core.IM4JavaException;
import org.im4java.core.IMOperation;
@@ -33,36 +34,18 @@ import org.im4java.process.ProcessStarter;
* no bigger than. Creates only JPEGs.
*/
public abstract class ImageMagickThumbnailFilter extends MediaFilter {
protected static int width = 180;
protected static int height = 120;
private static boolean flatten = true;
static String bitstreamDescription = "IM Thumbnail";
static final String defaultPattern = "Generated Thumbnail";
static Pattern replaceRegex = Pattern.compile(defaultPattern);
private static final int DEFAULT_WIDTH = 180;
private static final int DEFAULT_HEIGHT = 120;
static final String DEFAULT_PATTERN = "Generated Thumbnail";
protected final ItemService itemService = ContentServiceFactory.getInstance().getItemService();
protected static final ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
static String cmyk_profile;
static String srgb_profile;
protected static final String PRE = ImageMagickThumbnailFilter.class.getName();
static {
String pre = ImageMagickThumbnailFilter.class.getName();
String s = ConfigurationManager.getProperty(pre + ".ProcessStarter");
String s = configurationService.getProperty(PRE + ".ProcessStarter");
ProcessStarter.setGlobalSearchPath(s);
width = ConfigurationManager.getIntProperty("thumbnail.maxwidth", width);
height = ConfigurationManager.getIntProperty("thumbnail.maxheight", height);
flatten = ConfigurationManager.getBooleanProperty(pre + ".flatten", flatten);
String description = ConfigurationManager.getProperty(pre + ".bitstreamDescription");
cmyk_profile = ConfigurationManager.getProperty(pre + ".cmyk_profile");
srgb_profile = ConfigurationManager.getProperty(pre + ".srgb_profile");
if (description != null) {
bitstreamDescription = description;
}
try {
String patt = ConfigurationManager.getProperty(pre + ".replaceRegex");
replaceRegex = Pattern.compile(patt == null ? defaultPattern : patt);
} catch (PatternSyntaxException e) {
System.err.println("Invalid thumbnail replacement pattern: " + e.getMessage());
}
}
public ImageMagickThumbnailFilter() {
@@ -94,7 +77,7 @@ public abstract class ImageMagickThumbnailFilter extends MediaFilter {
*/
@Override
public String getDescription() {
return bitstreamDescription;
return configurationService.getProperty(PRE + ".bitstreamDescription", "IM Thumbnail");
}
public File inputStreamToTempFile(InputStream source, String prefix, String suffix) throws IOException {
@@ -120,7 +103,8 @@ public abstract class ImageMagickThumbnailFilter extends MediaFilter {
IMOperation op = new IMOperation();
op.autoOrient();
op.addImage(f.getAbsolutePath());
op.thumbnail(width, height);
op.thumbnail(configurationService.getIntProperty("thumbnail.maxwidth", DEFAULT_WIDTH),
configurationService.getIntProperty("thumbnail.maxheight", DEFAULT_HEIGHT));
op.addImage(f2.getAbsolutePath());
if (verbose) {
System.out.println("IM Thumbnail Param: " + op);
@@ -137,13 +121,16 @@ public abstract class ImageMagickThumbnailFilter extends MediaFilter {
IMOperation op = new IMOperation();
String s = "[" + page + "]";
op.addImage(f.getAbsolutePath() + s);
if (flatten) {
if (configurationService.getBooleanProperty(PRE + ".flatten", true)) {
op.flatten();
}
// PDFs using the CMYK color system can be handled specially if
// profiles are defined
String cmyk_profile = configurationService.getProperty(PRE + ".cmyk_profile");
String srgb_profile = configurationService.getProperty(PRE + ".srgb_profile");
if (cmyk_profile != null && srgb_profile != null) {
Info imageInfo = new Info(f.getAbsolutePath(), true);
Info imageInfo = new Info(f.getAbsolutePath() + s, true);
String imageClass = imageInfo.getImageClass();
if (imageClass.contains("CMYK")) {
op.profile(cmyk_profile);
@@ -174,24 +161,32 @@ public abstract class ImageMagickThumbnailFilter extends MediaFilter {
String description = bit.getDescription();
// If anything other than a generated thumbnail
// is found, halt processing
Pattern replaceRegex;
try {
String patt = configurationService.getProperty(PRE + ".replaceRegex", DEFAULT_PATTERN);
replaceRegex = Pattern.compile(patt == null ? DEFAULT_PATTERN : patt);
} catch (PatternSyntaxException e) {
System.err.println("Invalid thumbnail replacement pattern: " + e.getMessage());
throw e;
}
if (description != null) {
if (replaceRegex.matcher(description).matches()) {
if (verbose) {
System.out.println(description + " " + nsrc
+ " matches pattern and is replacable.");
System.out.format("%s %s matches pattern and is replacable.%n",
description, nsrc);
}
continue;
}
if (description.equals(bitstreamDescription)) {
if (description.equals(getDescription())) {
if (verbose) {
System.out.println(bitstreamDescription + " " + nsrc
+ " is replacable.");
System.out.format("%s %s is replaceable.%n",
getDescription(), nsrc);
}
continue;
}
}
System.out.println("Custom Thumbnail exists for " + nsrc + " for item "
+ item.getHandle() + ". Thumbnail will not be generated. ");
System.out.format("Custom Thumbnail exists for %s for item %s. Thumbnail will not be generated.%n",
nsrc, item.getHandle());
return false;
}
}

View File

@@ -22,7 +22,8 @@ import java.io.InputStream;
import javax.imageio.ImageIO;
import org.dspace.content.Item;
import org.dspace.core.ConfigurationManager;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
/**
* Filter image bitstreams, scaling the image to be within the bounds of
@@ -80,13 +81,15 @@ public class JPEGFilter extends MediaFilter implements SelfRegisterInputFormats
public InputStream getThumb(Item currentItem, BufferedImage buf, boolean verbose)
throws Exception {
// get config params
float xmax = (float) ConfigurationManager
final ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
float xmax = (float) configurationService
.getIntProperty("thumbnail.maxwidth");
float ymax = (float) ConfigurationManager
float ymax = (float) configurationService
.getIntProperty("thumbnail.maxheight");
boolean blurring = (boolean) ConfigurationManager
boolean blurring = (boolean) configurationService
.getBooleanProperty("thumbnail.blurring");
boolean hqscaling = (boolean) ConfigurationManager
boolean hqscaling = (boolean) configurationService
.getBooleanProperty("thumbnail.hqscaling");
return getThumbDim(currentItem, buf, verbose, xmax, ymax, blurring, hqscaling, 0, 0, null);
@@ -169,9 +172,11 @@ public class JPEGFilter extends MediaFilter implements SelfRegisterInputFormats
g2d.drawImage(buf, 0, 0, (int) xsize, (int) ysize, null);
if (brandHeight != 0) {
ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
Brand brand = new Brand((int) xsize, brandHeight, new Font(brandFont, Font.PLAIN, brandFontPoint), 5);
BufferedImage brandImage = brand.create(ConfigurationManager.getProperty("webui.preview.brand"),
ConfigurationManager.getProperty("webui.preview.brand.abbrev"),
BufferedImage brandImage = brand.create(configurationService.getProperty("webui.preview.brand"),
configurationService.getProperty("webui.preview.brand.abbrev"),
currentItem == null ? "" : "hdl:" + currentItem.getHandle());
g2d.drawImage(brandImage, (int) 0, (int) ysize, (int) xsize, (int) 20, null);

View File

@@ -16,13 +16,12 @@ import java.util.Map;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.MissingArgumentException;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.dspace.app.mediafilter.factory.MediaFilterServiceFactory;
import org.dspace.app.mediafilter.service.MediaFilterService;
import org.dspace.content.Collection;
@@ -66,7 +65,7 @@ public class MediaFilterCLITool {
System.setProperty("java.awt.headless", "true");
// create an options object and populate it
CommandLineParser parser = new PosixParser();
CommandLineParser parser = new DefaultParser();
int status = 0;
@@ -85,26 +84,30 @@ public class MediaFilterCLITool {
options.addOption("h", "help", false, "help");
//create a "plugin" option (to specify specific MediaFilter plugins to run)
OptionBuilder.withLongOpt("plugins");
OptionBuilder.withValueSeparator(',');
OptionBuilder.withDescription(
"ONLY run the specified Media Filter plugin(s)\n" +
"listed from '" + MEDIA_FILTER_PLUGINS_KEY + "' in dspace.cfg.\n" +
"Separate multiple with a comma (,)\n" +
"(e.g. MediaFilterManager -p \n\"Word Text Extractor\",\"PDF Text Extractor\")");
Option pluginOption = OptionBuilder.create('p');
pluginOption.setArgs(Option.UNLIMITED_VALUES); //unlimited number of args
Option pluginOption = Option.builder("p")
.longOpt("plugins")
.hasArg()
.hasArgs()
.valueSeparator(',')
.desc(
"ONLY run the specified Media Filter plugin(s)\n" +
"listed from '" + MEDIA_FILTER_PLUGINS_KEY + "' in dspace.cfg.\n" +
"Separate multiple with a comma (,)\n" +
"(e.g. MediaFilterManager -p \n\"Word Text Extractor\",\"PDF Text Extractor\")")
.build();
options.addOption(pluginOption);
//create a "skip" option (to specify communities/collections/items to skip)
OptionBuilder.withLongOpt("skip");
OptionBuilder.withValueSeparator(',');
OptionBuilder.withDescription(
"SKIP the bitstreams belonging to identifier\n" +
"Separate multiple identifiers with a comma (,)\n" +
"(e.g. MediaFilterManager -s \n 123456789/34,123456789/323)");
Option skipOption = OptionBuilder.create('s');
skipOption.setArgs(Option.UNLIMITED_VALUES); //unlimited number of args
Option skipOption = Option.builder("s")
.longOpt("skip")
.hasArg()
.hasArgs()
.valueSeparator(',')
.desc(
"SKIP the bitstreams belonging to identifier\n" +
"Separate multiple identifiers with a comma (,)\n" +
"(e.g. MediaFilterManager -s \n 123456789/34,123456789/323)")
.build();
options.addOption(skipOption);
boolean isVerbose = false;
@@ -179,7 +182,7 @@ public class MediaFilterCLITool {
mediaFilterService.setMax2Process(max2Process);
//initialize an array of our enabled filters
List<FormatFilter> filterList = new ArrayList<FormatFilter>();
List<FormatFilter> filterList = new ArrayList<>();
//set up each filter
for (int i = 0; i < filterNames.length; i++) {

View File

@@ -220,7 +220,7 @@ public class MediaFilterServiceImpl implements MediaFilterService, InitializingB
} catch (Exception e) {
String handle = myItem.getHandle();
List<Bundle> bundles = myBitstream.getBundles();
long size = myBitstream.getSize();
long size = myBitstream.getSizeBytes();
String checksum = myBitstream.getChecksum() + " (" + myBitstream.getChecksumAlgorithm() + ")";
int assetstore = myBitstream.getStoreNumber();
@@ -310,12 +310,11 @@ public class MediaFilterServiceImpl implements MediaFilterService, InitializingB
// get bitstream filename, calculate destination filename
String newName = formatFilter.getFilteredName(source.getName());
Bitstream existingBitstream = null; // is there an existing rendition?
Bundle targetBundle = null; // bundle we're modifying
// check if destination bitstream exists
Bundle existingBundle = null;
Bitstream existingBitstream = null;
List<Bundle> bundles = itemService.getBundles(item, formatFilter.getBundleName());
// check if destination bitstream exists
if (bundles.size() > 0) {
// only finds the last match (FIXME?)
for (Bundle bundle : bundles) {
@@ -323,7 +322,7 @@ public class MediaFilterServiceImpl implements MediaFilterService, InitializingB
for (Bitstream bitstream : bitstreams) {
if (bitstream.getName().trim().equals(newName.trim())) {
targetBundle = bundle;
existingBundle = bundle;
existingBitstream = bitstream;
}
}
@@ -345,63 +344,71 @@ public class MediaFilterServiceImpl implements MediaFilterService, InitializingB
+ " (item: " + item.getHandle() + ")");
}
InputStream destStream;
try {
System.out.println("File: " + newName);
destStream = formatFilter.getDestinationStream(item, bitstreamService.retrieve(context, source), isVerbose);
System.out.println("File: " + newName);
// start filtering of the bitstream, using try with resource to close all InputStreams properly
try (
// get the source stream
InputStream srcStream = bitstreamService.retrieve(context, source);
// filter the source stream to produce the destination stream
// this is the hard work, check for OutOfMemoryErrors at the end of the try clause.
InputStream destStream = formatFilter.getDestinationStream(item, srcStream, isVerbose);
) {
if (destStream == null) {
if (!isQuiet) {
System.out.println("SKIPPED: bitstream " + source.getID()
+ " (item: " + item.getHandle() + ") because filtering was unsuccessful");
+ " (item: " + item.getHandle() + ") because filtering was unsuccessful");
}
return false;
}
Bundle targetBundle; // bundle we're modifying
if (bundles.size() < 1) {
// create new bundle if needed
targetBundle = bundleService.create(context, item, formatFilter.getBundleName());
} else {
// take the first match as we already looked out for the correct bundle name
targetBundle = bundles.get(0);
}
// create bitstream to store the filter result
Bitstream b = bitstreamService.create(context, targetBundle, destStream);
// set the name, source and description of the bitstream
b.setName(context, newName);
b.setSource(context, "Written by FormatFilter " + formatFilter.getClass().getName() +
" on " + DCDate.getCurrent() + " (GMT).");
b.setDescription(context, formatFilter.getDescription());
// Set the format of the bitstream
BitstreamFormat bf = bitstreamFormatService.findByShortDescription(context,
formatFilter.getFormatString());
bitstreamService.setFormat(context, b, bf);
bitstreamService.update(context, b);
//Set permissions on the derivative bitstream
//- First remove any existing policies
authorizeService.removeAllPolicies(context, b);
//- Determine if this is a public-derivative format
if (publicFiltersClasses.contains(formatFilter.getClass().getSimpleName())) {
//- Set derivative bitstream to be publicly accessible
Group anonymous = groupService.findByName(context, Group.ANONYMOUS);
authorizeService.addPolicy(context, b, Constants.READ, anonymous);
} else {
//- Inherit policies from the source bitstream
authorizeService.inheritPolicies(context, source, b);
}
//do post-processing of the generated bitstream
formatFilter.postProcessBitstream(context, item, b);
} catch (OutOfMemoryError oome) {
System.out.println("!!! OutOfMemoryError !!!");
return false;
}
// create new bundle if needed
if (bundles.size() < 1) {
targetBundle = bundleService.create(context, item, formatFilter.getBundleName());
} else {
// take the first match
targetBundle = bundles.get(0);
}
Bitstream b = bitstreamService.create(context, targetBundle, destStream);
// Now set the format and name of the bitstream
b.setName(context, newName);
b.setSource(context, "Written by FormatFilter " + formatFilter.getClass().getName() +
" on " + DCDate.getCurrent() + " (GMT).");
b.setDescription(context, formatFilter.getDescription());
// Find the proper format
BitstreamFormat bf = bitstreamFormatService.findByShortDescription(context,
formatFilter.getFormatString());
bitstreamService.setFormat(context, b, bf);
bitstreamService.update(context, b);
//Set permissions on the derivative bitstream
//- First remove any existing policies
authorizeService.removeAllPolicies(context, b);
//- Determine if this is a public-derivative format
if (publicFiltersClasses.contains(formatFilter.getClass().getSimpleName())) {
//- Set derivative bitstream to be publicly accessible
Group anonymous = groupService.findByName(context, Group.ANONYMOUS);
authorizeService.addPolicy(context, b, Constants.READ, anonymous);
} else {
//- Inherit policies from the source bitstream
authorizeService.inheritPolicies(context, source, b);
}
// fixme - set date?
// we are overwriting, so remove old bitstream
if (existingBitstream != null) {
bundleService.removeBitstream(context, targetBundle, existingBitstream);
bundleService.removeBitstream(context, existingBundle, existingBitstream);
}
if (!isQuiet) {
@@ -409,9 +416,6 @@ public class MediaFilterServiceImpl implements MediaFilterService, InitializingB
+ " (item: " + item.getHandle() + ") and created '" + newName + "'");
}
//do post-processing of the generated bitstream
formatFilter.postProcessBitstream(context, item, b);
return true;
}

View File

@@ -9,9 +9,10 @@ package org.dspace.app.mediafilter;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import javax.imageio.ImageIO;
import org.apache.logging.log4j.Logger;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.dspace.content.Item;
@@ -25,7 +26,9 @@ import org.dspace.content.Item;
* @author Ivan Masár helix84@centrum.sk
* @author Jason Sherman jsherman@usao.edu
*/
public class PDFBoxThumbnail extends MediaFilter implements SelfRegisterInputFormats {
public class PDFBoxThumbnail extends MediaFilter {
private static Logger log = org.apache.logging.log4j.LogManager.getLogger(PDFBoxThumbnail.class);
@Override
public String getFilteredName(String oldFilename) {
return oldFilename + ".jpg";
@@ -65,30 +68,19 @@ public class PDFBoxThumbnail extends MediaFilter implements SelfRegisterInputFor
@Override
public InputStream getDestinationStream(Item currentItem, InputStream source, boolean verbose)
throws Exception {
PDDocument doc = PDDocument.load(source);
PDFRenderer renderer = new PDFRenderer(doc);
BufferedImage buf = renderer.renderImage(0);
// ImageIO.write(buf, "PNG", new File("custom-render.png"));
doc.close();
BufferedImage buf;
// Render the page image.
try ( PDDocument doc = PDDocument.load(source); ) {
PDFRenderer renderer = new PDFRenderer(doc);
buf = renderer.renderImage(0);
} catch (InvalidPasswordException ex) {
log.error("PDF is encrypted. Cannot create thumbnail (item: {})", currentItem::getHandle);
return null;
}
// Generate thumbnail derivative and return as IO stream.
JPEGFilter jpegFilter = new JPEGFilter();
return jpegFilter.getThumb(currentItem, buf, verbose);
}
@Override
public String[] getInputMIMETypes() {
return ImageIO.getReaderMIMETypes();
}
@Override
public String[] getInputDescriptions() {
return null;
}
@Override
public String[] getInputExtensions() {
// Temporarily disabled as JDK 1.6 only
// return ImageIO.getReaderFileSuffixes();
return null;
}
}

View File

@@ -16,11 +16,13 @@ import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.Logger;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.encryption.InvalidPasswordException;
import org.apache.pdfbox.text.PDFTextStripper;
import org.dspace.content.Item;
import org.dspace.core.ConfigurationManager;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
/*
*
@@ -30,7 +32,7 @@ import org.dspace.core.ConfigurationManager;
*/
public class PDFFilter extends MediaFilter {
private static Logger log = Logger.getLogger(PDFFilter.class);
private static Logger log = org.apache.logging.log4j.LogManager.getLogger(PDFFilter.class);
@Override
public String getFilteredName(String oldFilename) {
@@ -71,8 +73,10 @@ public class PDFFilter extends MediaFilter {
@Override
public InputStream getDestinationStream(Item currentItem, InputStream source, boolean verbose)
throws Exception {
ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
try {
boolean useTemporaryFile = ConfigurationManager.getBooleanProperty("pdffilter.largepdfs", false);
boolean useTemporaryFile = configurationService.getBooleanProperty("pdffilter.largepdfs", false);
// get input stream from bitstream
// pass to filter, get string back
@@ -95,6 +99,10 @@ public class PDFFilter extends MediaFilter {
try {
pdfDoc = PDDocument.load(source);
pts.writeText(pdfDoc, writer);
} catch (InvalidPasswordException ex) {
log.error("PDF is encrypted. Cannot extract text (item: {})",
() -> currentItem.getHandle());
return null;
} finally {
try {
if (pdfDoc != null) {
@@ -119,7 +127,7 @@ public class PDFFilter extends MediaFilter {
}
} catch (OutOfMemoryError oome) {
log.error("Error parsing PDF document " + oome.getMessage(), oome);
if (!ConfigurationManager.getBooleanProperty("pdffilter.skiponmemoryexception", false)) {
if (!configurationService.getBooleanProperty("pdffilter.skiponmemoryexception", false)) {
throw oome;
}
}

View File

@@ -10,6 +10,7 @@ package org.dspace.app.mediafilter;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import org.apache.poi.POITextExtractor;
import org.apache.poi.extractor.ExtractorFactory;
@@ -66,6 +67,6 @@ public class PoiWordFilter
}
// return the extracted text as a stream.
return new ByteArrayInputStream(text.getBytes());
return new ByteArrayInputStream(text.getBytes(StandardCharsets.UTF_8));
}
}

View File

@@ -10,7 +10,7 @@ package org.dspace.app.mediafilter;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.Logger;
import org.apache.poi.POITextExtractor;
import org.apache.poi.extractor.ExtractorFactory;
import org.apache.poi.hslf.extractor.PowerPointExtractor;
@@ -23,7 +23,7 @@ import org.dspace.content.Item;
*/
public class PowerPointFilter extends MediaFilter {
private static Logger log = Logger.getLogger(PowerPointFilter.class);
private static Logger log = org.apache.logging.log4j.LogManager.getLogger(PowerPointFilter.class);
@Override
public String getFilteredName(String oldFilename) {

View File

@@ -1,93 +0,0 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.mediafilter;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.log4j.Logger;
import org.dspace.content.Item;
import org.textmining.extraction.TextExtractor;
import org.textmining.extraction.word.WordTextExtractorFactory;
/*
*
* to do: helpful error messages - can't find mediafilter.cfg - can't
* instantiate filter - bitstream format doesn't exist.
*
*/
public class WordFilter extends MediaFilter {
private static Logger log = Logger.getLogger(WordFilter.class);
@Override
public String getFilteredName(String oldFilename) {
return oldFilename + ".txt";
}
/**
* @return String bundle name
*/
@Override
public String getBundleName() {
return "TEXT";
}
/**
* @return String bitstreamformat
*/
@Override
public String getFormatString() {
return "Text";
}
/**
* @return String description
*/
@Override
public String getDescription() {
return "Extracted text";
}
/**
* @param currentItem item
* @param source source input stream
* @param verbose verbose mode
* @return InputStream the resulting input stream
* @throws Exception if error
*/
@Override
public InputStream getDestinationStream(Item currentItem, InputStream source, boolean verbose)
throws Exception {
// get input stream from bitstream
// pass to filter, get string back
try {
WordTextExtractorFactory factory = new WordTextExtractorFactory();
TextExtractor e = factory.textExtractor(source);
String extractedText = e.getText();
// if verbose flag is set, print out extracted text
// to STDOUT
if (verbose) {
System.out.println(extractedText);
}
// generate an input stream with the extracted text
byte[] textBytes = extractedText.getBytes();
ByteArrayInputStream bais = new ByteArrayInputStream(textBytes);
return bais; // will this work? or will the byte array be out of scope?
} catch (IOException ioe) {
System.out.println("Invalid Word Format");
log.error("Error detected - Word File format not recognized: "
+ ioe.getMessage(), ioe);
throw ioe;
}
}
}

View File

@@ -17,9 +17,9 @@ import java.util.List;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.PosixParser;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.DSpaceObject;
import org.dspace.content.crosswalk.CrosswalkException;
@@ -175,7 +175,7 @@ public class Packager {
"flag can be used if you want to save (pipe) a report of all changes to a file, and " +
"therefore need to bypass all user interaction.");
CommandLineParser parser = new PosixParser();
CommandLineParser parser = new DefaultParser();
CommandLine line = parser.parse(options, argv);
String sourceFile = null;

View File

@@ -33,7 +33,6 @@ import org.dspace.core.ReloadableEntity;
@Table(name = "requestitem")
public class RequestItem implements ReloadableEntity<Integer> {
@Id
@Column(name = "requestitem_id")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "requestitem_seq")
@@ -54,8 +53,6 @@ public class RequestItem implements ReloadableEntity<Integer> {
@Column(name = "request_name", length = 64)
private String reqName;
// @Column(name = "request_message")
// @Lob
@Column(name = "request_message", columnDefinition = "text")
private String reqMessage;
@@ -78,16 +75,17 @@ public class RequestItem implements ReloadableEntity<Integer> {
private Date request_date = null;
@Column(name = "accept_request")
private Boolean accept_request = null;
private boolean accept_request;
/**
* Protected constructor, create object using:
* {@link org.dspace.app.requestitem.service.RequestItemService#createRequest(Context, Bitstream, Item,
* boolean, String, String, String)}
* {@link org.dspace.app.requestitem.service.RequestItemService#createRequest(
* Context, Bitstream, Item, boolean, String, String, String)}
*/
protected RequestItem() {
}
@Override
public Integer getID() {
return requestitem_id;
}

View File

@@ -19,6 +19,15 @@ import org.dspace.core.Context;
* @author Andrea Bollini
*/
public interface RequestItemAuthorExtractor {
public RequestItemAuthor getRequestItemAuthor(Context context, Item item)
throws SQLException;
/**
* Retrieve the auhtor to contact for a request copy of the give item.
*
* @param context DSpace context object
* @param item item to request
* @return An object containing name an email address to send the request to
* or null if no valid email address was found.
* @throws SQLException if database error
*/
public RequestItemAuthor getRequestItemAuthor(Context context, Item item) throws SQLException;
}

View File

@@ -0,0 +1,228 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.requestitem;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.mail.MessagingException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.requestitem.factory.RequestItemServiceFactory;
import org.dspace.app.requestitem.service.RequestItemService;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Bitstream;
import org.dspace.content.Bundle;
import org.dspace.content.Item;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.BitstreamService;
import org.dspace.core.Context;
import org.dspace.core.Email;
import org.dspace.core.I18nUtil;
import org.dspace.core.LogHelper;
import org.dspace.eperson.EPerson;
import org.dspace.handle.factory.HandleServiceFactory;
import org.dspace.handle.service.HandleService;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
/**
* Send item requests and responses by email.
*
* @author Mark H. Wood <mwood@iupui.edu>
*/
public class RequestItemEmailNotifier {
private static final Logger LOG = LogManager.getLogger();
private static final BitstreamService bitstreamService
= ContentServiceFactory.getInstance().getBitstreamService();
private static final ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
private static final HandleService handleService
= HandleServiceFactory.getInstance().getHandleService();
private static final RequestItemService requestItemService
= RequestItemServiceFactory.getInstance().getRequestItemService();
private static final RequestItemAuthorExtractor requestItemAuthorExtractor
= DSpaceServicesFactory.getInstance()
.getServiceManager()
.getServiceByName(null, RequestItemAuthorExtractor.class);
private RequestItemEmailNotifier() {}
/**
* Send the request to the approver(s).
*
* @param context current DSpace session.
* @param ri the request.
* @param responseLink link back to DSpace to send the response.
* @throws IOException passed through.
* @throws SQLException if the message was not sent.
*/
static public void sendRequest(Context context, RequestItem ri, String responseLink)
throws IOException, SQLException {
// Who is making this request?
RequestItemAuthor author = requestItemAuthorExtractor
.getRequestItemAuthor(context, ri.getItem());
String authorEmail = author.getEmail();
String authorName = author.getFullName();
// Build an email to the approver.
Email email = Email.getEmail(I18nUtil.getEmailFilename(context.getCurrentLocale(),
"request_item.author"));
email.addRecipient(authorEmail);
email.setReplyTo(ri.getReqEmail()); // Requester's address
email.addArgument(ri.getReqName()); // {0} Requester's name
email.addArgument(ri.getReqEmail()); // {1} Requester's address
email.addArgument(ri.isAllfiles() // {2} All bitstreams or just one?
? I18nUtil.getMessage("itemRequest.all") : ri.getBitstream().getName());
email.addArgument(handleService.getCanonicalForm(ri.getItem().getHandle()));
email.addArgument(ri.getItem().getName()); // {4} requested item's title
email.addArgument(ri.getReqMessage()); // {5} message from requester
email.addArgument(responseLink); // {6} Link back to DSpace for action
email.addArgument(authorName); // {7} corresponding author name
email.addArgument(authorEmail); // {8} corresponding author email
email.addArgument(configurationService.getProperty("dspace.name"));
email.addArgument(configurationService.getProperty("mail.helpdesk"));
// Send the email.
try {
email.send();
Bitstream bitstream = ri.getBitstream();
String bitstreamID;
if (null == bitstream) {
bitstreamID = "null";
} else {
bitstreamID = ri.getBitstream().getID().toString();
}
LOG.info(LogHelper.getHeader(context,
"sent_email_requestItem",
"submitter_id={},bitstream_id={},requestEmail={}"),
ri.getReqEmail(), bitstreamID, ri.getReqEmail());
} catch (MessagingException e) {
LOG.warn(LogHelper.getHeader(context,
"error_mailing_requestItem", e.getMessage()));
throw new IOException("Request not sent: " + e.getMessage());
}
}
/**
* Send the approver's response back to the requester, with files attached
* if approved.
*
* @param context current DSpace session.
* @param ri the request.
* @param subject email subject header value.
* @param message email body (may be empty).
* @throws IOException if sending failed.
*/
static public void sendResponse(Context context, RequestItem ri, String subject,
String message)
throws IOException {
// Build an email back to the requester.
Email email = new Email();
email.setContent("body", message);
email.setSubject(subject);
email.addRecipient(ri.getReqEmail());
if (ri.isAccept_request()) {
// Attach bitstreams.
try {
if (ri.isAllfiles()) {
Item item = ri.getItem();
List<Bundle> bundles = item.getBundles("ORIGINAL");
for (Bundle bundle : bundles) {
List<Bitstream> bitstreams = bundle.getBitstreams();
for (Bitstream bitstream : bitstreams) {
if (!bitstream.getFormat(context).isInternal() &&
requestItemService.isRestricted(context,
bitstream)) {
email.addAttachment(bitstreamService.retrieve(context,
bitstream), bitstream.getName(),
bitstream.getFormat(context).getMIMEType());
}
}
}
} else {
Bitstream bitstream = ri.getBitstream();
email.addAttachment(bitstreamService.retrieve(context, bitstream),
bitstream.getName(),
bitstream.getFormat(context).getMIMEType());
}
email.send();
} catch (MessagingException | IOException | SQLException | AuthorizeException e) {
LOG.warn(LogHelper.getHeader(context,
"error_mailing_requestItem", e.getMessage()));
throw new IOException("Reply not sent: " + e.getMessage());
}
}
LOG.info(LogHelper.getHeader(context,
"sent_attach_requestItem", "token={}"), ri.getToken());
}
/**
* Send, to a repository administrator, a request to open access to a
* requested object.
*
* @param context current DSpace session
* @param ri the item request that the approver is handling
* @throws IOException if the message body cannot be loaded or the message
* cannot be sent.
*/
static public void requestOpenAccess(Context context, RequestItem ri)
throws IOException {
Email message = Email.getEmail(I18nUtil.getEmailFilename(context.getCurrentLocale(),
"request_item.admin"));
// Which Bitstream(s) requested?
Bitstream bitstream = ri.getBitstream();
String bitstreamName;
if (bitstream != null) {
bitstreamName = bitstream.getName();
} else {
bitstreamName = "all"; // TODO localize
}
// Which Item?
Item item = ri.getItem();
// Fill the message's placeholders.
EPerson approver = context.getCurrentUser();
message.addArgument(bitstreamName); // {0} bitstream name or "all"
message.addArgument(item.getHandle()); // {1} Item handle
message.addArgument(ri.getToken()); // {2} Request token
message.addArgument(approver.getFullName()); // {3} Approver's name
message.addArgument(approver.getEmail()); // {4} Approver's address
// Who gets this message?
String recipient;
EPerson submitter = item.getSubmitter();
if (submitter != null) {
recipient = submitter.getEmail();
} else {
recipient = configurationService.getProperty("mail.helpdesk");
}
if (null == recipient) {
recipient = configurationService.getProperty("mail.admin");
}
message.addRecipient(recipient);
// Send the message.
try {
message.send();
} catch (MessagingException ex) {
LOG.warn(LogHelper.getHeader(context, "error_mailing_requestItem",
ex.getMessage()));
throw new IOException("Open Access request not sent: " + ex.getMessage());
}
}
}

View File

@@ -9,14 +9,14 @@ package org.dspace.app.requestitem;
import java.sql.SQLException;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.commons.lang3.StringUtils;
import org.dspace.content.Item;
import org.dspace.core.ConfigurationManager;
import org.dspace.core.Context;
import org.dspace.core.I18nUtil;
import org.dspace.eperson.EPerson;
import org.dspace.eperson.service.EPersonService;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
@@ -30,9 +30,6 @@ import org.springframework.beans.factory.annotation.Autowired;
* @author Peter Dietz
*/
public class RequestItemHelpdeskStrategy extends RequestItemSubmitterStrategy {
private Logger log = Logger.getLogger(RequestItemHelpdeskStrategy.class);
@Autowired(required = true)
protected EPersonService ePersonService;
@@ -41,9 +38,11 @@ public class RequestItemHelpdeskStrategy extends RequestItemSubmitterStrategy {
@Override
public RequestItemAuthor getRequestItemAuthor(Context context, Item item) throws SQLException {
boolean helpdeskOverridesSubmitter = ConfigurationManager
ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
boolean helpdeskOverridesSubmitter = configurationService
.getBooleanProperty("request.item.helpdesk.override", false);
String helpDeskEmail = ConfigurationManager.getProperty("mail.helpdesk");
String helpDeskEmail = configurationService.getProperty("mail.helpdesk");
if (helpdeskOverridesSubmitter && StringUtils.isNotBlank(helpDeskEmail)) {
return getHelpDeskPerson(context, helpDeskEmail);
@@ -64,18 +63,16 @@ public class RequestItemHelpdeskStrategy extends RequestItemSubmitterStrategy {
* @throws SQLException if database error
*/
public RequestItemAuthor getHelpDeskPerson(Context context, String helpDeskEmail) throws SQLException {
EPerson helpdeskEPerson = null;
context.turnOffAuthorisationSystem();
helpdeskEPerson = ePersonService.findByEmail(context, helpDeskEmail);
EPerson helpdeskEPerson = ePersonService.findByEmail(context, helpDeskEmail);
context.restoreAuthSystemState();
if (helpdeskEPerson != null) {
return new RequestItemAuthor(helpdeskEPerson);
} else {
String helpdeskName = I18nUtil.getMessage(
"org.dspace.app.requestitem.RequestItemHelpdeskStrategy.helpdeskname",
context);
"org.dspace.app.requestitem.RequestItemHelpdeskStrategy.helpdeskname",
context);
return new RequestItemAuthor(helpdeskName, helpDeskEmail);
}
}

View File

@@ -10,12 +10,13 @@ package org.dspace.app.requestitem;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.dspace.content.Item;
import org.dspace.content.MetadataValue;
import org.dspace.content.service.ItemService;
import org.dspace.core.Context;
import org.dspace.core.I18nUtil;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
@@ -38,6 +39,7 @@ public class RequestItemMetadataStrategy extends RequestItemSubmitterStrategy {
@Override
public RequestItemAuthor getRequestItemAuthor(Context context, Item item)
throws SQLException {
RequestItemAuthor author = null;
if (emailMetadata != null) {
List<MetadataValue> vals = itemService.getMetadataByMetadataString(item, emailMetadata);
if (vals.size() > 0) {
@@ -49,19 +51,38 @@ public class RequestItemMetadataStrategy extends RequestItemSubmitterStrategy {
fullname = nameVals.iterator().next().getValue();
}
}
if (StringUtils.isBlank(fullname)) {
fullname = I18nUtil
.getMessage(
"org.dspace.app.requestitem.RequestItemMetadataStrategy.unnamed",
context);
.getMessage(
"org.dspace.app.requestitem.RequestItemMetadataStrategy.unnamed",
context);
}
RequestItemAuthor author = new RequestItemAuthor(
fullname, email);
author = new RequestItemAuthor(fullname, email);
return author;
}
} else {
// Uses the basic strategy to look for the original submitter
author = super.getRequestItemAuthor(context, item);
// Is the author or his email null, so get the help desk or admin name and email
if (null == author || null == author.getEmail()) {
String email = null;
String name = null;
//First get help desk name and email
email = DSpaceServicesFactory.getInstance()
.getConfigurationService().getProperty("mail.helpdesk");
name = DSpaceServicesFactory.getInstance()
.getConfigurationService().getProperty("mail.helpdesk.name");
// If help desk mail is null get the mail and name of admin
if (email == null) {
email = DSpaceServicesFactory.getInstance()
.getConfigurationService().getProperty("mail.admin");
name = DSpaceServicesFactory.getInstance()
.getConfigurationService().getProperty("mail.admin.name");
}
author = new RequestItemAuthor(name, email);
}
}
return super.getRequestItemAuthor(context, item);
return author;
}
public void setEmailMetadata(String emailMetadata) {

View File

@@ -9,37 +9,53 @@ package org.dspace.app.requestitem;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.requestitem.dao.RequestItemDAO;
import org.dspace.app.requestitem.service.RequestItemService;
import org.dspace.authorize.ResourcePolicy;
import org.dspace.authorize.service.AuthorizeService;
import org.dspace.authorize.service.ResourcePolicyService;
import org.dspace.content.Bitstream;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.core.LogHelper;
import org.dspace.core.Utils;
import org.springframework.beans.factory.annotation.Autowired;
/**
* Service implementation for the RequestItem object.
* This class is responsible for all business logic calls for the RequestItem object and is autowired by spring.
* This class is responsible for all business logic calls for the RequestItem
* object and is autowired by Spring.
* This class should never be accessed directly.
*
* @author kevinvandevelde at atmire.com
*/
public class RequestItemServiceImpl implements RequestItemService {
private final Logger log = Logger.getLogger(RequestItemServiceImpl.class);
private final Logger log = LogManager.getLogger();
@Autowired(required = true)
protected RequestItemDAO requestItemDAO;
@Autowired(required = true)
protected AuthorizeService authorizeService;
@Autowired(required = true)
protected ResourcePolicyService resourcePolicyService;
protected RequestItemServiceImpl() {
}
@Override
public String createRequest(Context context, Bitstream bitstream, Item item, boolean allFiles, String reqEmail,
String reqName, String reqMessage) throws SQLException {
public String createRequest(Context context, Bitstream bitstream, Item item,
boolean allFiles, String reqEmail, String reqName, String reqMessage)
throws SQLException {
RequestItem requestItem = requestItemDAO.create(context, new RequestItem());
requestItem.setToken(Utils.generateHexKey());
@@ -53,13 +69,17 @@ public class RequestItemServiceImpl implements RequestItemService {
requestItemDAO.save(context, requestItem);
if (log.isDebugEnabled()) {
log.debug("Created requestitem_token " + requestItem.getID()
+ " with token " + requestItem.getToken() + "\"");
}
log.debug("Created RequestItem with ID {} and token {}",
requestItem::getID, requestItem::getToken);
return requestItem.getToken();
}
@Override
public List<RequestItem> findAll(Context context)
throws SQLException {
return requestItemDAO.findAll(context, RequestItem.class);
}
@Override
public RequestItem findByToken(Context context, String token) {
try {
@@ -78,4 +98,28 @@ public class RequestItemServiceImpl implements RequestItemService {
log.error(e.getMessage());
}
}
@Override
public void delete(Context context, RequestItem requestItem) {
log.debug(LogHelper.getHeader(context, "delete_itemrequest", "request_id={}"),
requestItem.getID());
try {
requestItemDAO.delete(context, requestItem);
} catch (SQLException e) {
log.error(e.getMessage());
}
}
@Override
public boolean isRestricted(Context context, DSpaceObject o)
throws SQLException {
List<ResourcePolicy> policies = authorizeService
.getPoliciesActionFilter(context, o, Constants.READ);
for (ResourcePolicy rp : policies) {
if (resourcePolicyService.isDateValid(rp)) {
return false;
}
}
return true;
}
}

View File

@@ -23,13 +23,22 @@ public class RequestItemSubmitterStrategy implements RequestItemAuthorExtractor
public RequestItemSubmitterStrategy() {
}
/**
* Returns the submitter of an Item as RequestItemAuthor or null if the
* Submitter is deleted.
*
* @return The submitter of the item or null if the submitter is deleted
* @throws SQLException if database error
*/
@Override
public RequestItemAuthor getRequestItemAuthor(Context context, Item item)
throws SQLException {
EPerson submitter = item.getSubmitter();
RequestItemAuthor author = new RequestItemAuthor(
submitter.getFullName(), submitter.getEmail());
RequestItemAuthor author = null;
if (null != submitter) {
author = new RequestItemAuthor(
submitter.getFullName(), submitter.getEmail());
}
return author;
}
}

View File

@@ -15,13 +15,21 @@ import org.dspace.core.GenericDAO;
/**
* Database Access Object interface class for the RequestItem object.
* The implementation of this class is responsible for all database calls for the RequestItem object and is autowired
* by spring
* This class should only be accessed from a single service and should never be exposed outside of the API
* The implementation of this class is responsible for all database calls for
* the RequestItem object and is autowired by Spring.
* This class should only be accessed from a single service and should never be
* exposed outside of the API.
*
* @author kevinvandevelde at atmire.com
*/
public interface RequestItemDAO extends GenericDAO<RequestItem> {
/**
* Fetch a request named by its unique token (passed in emails).
*
* @param context the current DSpace context.
* @param token uniquely identifies the request.
* @return the found request (or {@code null}?)
* @throws SQLException passed through.
*/
public RequestItem findByToken(Context context, String token) throws SQLException;
}

View File

@@ -8,17 +8,19 @@
package org.dspace.app.requestitem.dao.impl;
import java.sql.SQLException;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import org.dspace.app.requestitem.RequestItem;
import org.dspace.app.requestitem.RequestItem_;
import org.dspace.app.requestitem.dao.RequestItemDAO;
import org.dspace.core.AbstractHibernateDAO;
import org.dspace.core.Context;
import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
/**
* Hibernate implementation of the Database Access Object interface class for the RequestItem object.
* This class is responsible for all database calls for the RequestItem object and is autowired by spring
* This class is responsible for all database calls for the RequestItem object and is autowired by Spring.
* This class should never be accessed directly.
*
* @author kevinvandevelde at atmire.com
@@ -30,10 +32,11 @@ public class RequestItemDAOImpl extends AbstractHibernateDAO<RequestItem> implem
@Override
public RequestItem findByToken(Context context, String token) throws SQLException {
Criteria criteria = createCriteria(context, RequestItem.class);
criteria.add(Restrictions.eq("token", token));
return uniqueResult(criteria);
CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context);
CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, RequestItem.class);
Root<RequestItem> requestItemRoot = criteriaQuery.from(RequestItem.class);
criteriaQuery.select(requestItemRoot);
criteriaQuery.where(criteriaBuilder.equal(requestItemRoot.get(RequestItem_.token), token));
return uniqueResult(context, criteriaQuery, false, RequestItem.class);
}
}

View File

@@ -0,0 +1,21 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
/**
* Feature for conveying a request that materials forbidden to the requester
* by resource policy be made available by other means. The request will be
* e-mailed to a responsible party for consideration and action. Find details
* in the user documentation under the rubric "Request a Copy".
*
* <p>This package includes several "strategy" classes which discover responsible
* parties in various ways. See {@link RequestItemSubmitterStrategy} and the
* classes which extend it. A strategy class must be configured and identified
* as {@link RequestItemAuthorExtractor} for injection into code which requires
* Request a Copy services.
*/
package org.dspace.app.requestitem;

View File

@@ -8,16 +8,18 @@
package org.dspace.app.requestitem.service;
import java.sql.SQLException;
import java.util.List;
import org.dspace.app.requestitem.RequestItem;
import org.dspace.content.Bitstream;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.core.Context;
/**
* Service interface class for the RequestItem object.
* The implementation of this class is responsible for all business logic calls for the RequestItem object and is
* autowired by spring
* The implementation of this class is responsible for all business logic calls
* for the RequestItem object and is autowired by Spring.
*
* @author kevinvandevelde at atmire.com
*/
@@ -37,10 +39,27 @@ public interface RequestItemService {
* @return the token of the request item
* @throws SQLException if database error
*/
public String createRequest(Context context, Bitstream bitstream, Item item, boolean allFiles, String reqEmail,
String reqName, String reqMessage)
public String createRequest(Context context, Bitstream bitstream, Item item,
boolean allFiles, String reqEmail, String reqName, String reqMessage)
throws SQLException;
/**
* Fetch all item requests.
*
* @param context current DSpace session.
* @return all item requests.
* @throws java.sql.SQLException passed through.
*/
public List<RequestItem> findAll(Context context)
throws SQLException;
/**
* Retrieve a request by its token.
*
* @param context current DSpace session.
* @param token the token identifying the request.
* @return the matching request, or null if not found.
*/
public RequestItem findByToken(Context context, String token);
/**
@@ -51,5 +70,21 @@ public interface RequestItemService {
*/
public void update(Context context, RequestItem requestItem);
/**
* Remove the record from the database.
*
* @param context current DSpace context.
* @param request record to be removed.
*/
public void delete(Context context, RequestItem request);
/**
* Is there at least one valid READ resource policy for this object?
* @param context current DSpace session.
* @param o the object.
* @return true if a READ policy applies.
* @throws SQLException passed through.
*/
public boolean isRestricted(Context context, DSpaceObject o)
throws SQLException;
}

View File

@@ -15,8 +15,8 @@ import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.Logger;
import org.dspace.app.sfx.service.SFXFileReaderService;
import org.dspace.content.DCPersonName;
import org.dspace.content.Item;
@@ -58,7 +58,7 @@ public class SFXFileReaderServiceImpl implements SFXFileReaderService {
/**
* log4j logger
*/
private final Logger log = Logger.getLogger(SFXFileReaderServiceImpl.class);
private final Logger log = org.apache.logging.log4j.LogManager.getLogger(SFXFileReaderServiceImpl.class);
protected SFXFileReaderServiceImpl() {
}

View File

@@ -8,9 +8,7 @@
/**
* <p>SFX/OpenURL link server support.</p>
*
* @see org.dspace.app.webui.jsptag.SFXLinkTag
* @see org.dspace.app.xmlui.aspect.artifactbrowser.ItemViewer
*
*/
package org.dspace.app.sfx;

View File

@@ -1,49 +0,0 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.sherpa;
/**
* POJO representation for a SHERPA journal
*
* @author Andrea Bollini
*/
public class SHERPAJournal {
private String title;
private String issn;
private String zetopub;
private String romeopub;
public SHERPAJournal(String title, String issn, String zetopub,
String romeopub) {
super();
this.title = title;
this.issn = issn;
this.zetopub = zetopub;
this.romeopub = romeopub;
}
public String getTitle() {
return title;
}
public String getIssn() {
return issn;
}
public String getZetopub() {
return zetopub;
}
public String getRomeopub() {
return romeopub;
}
}

View File

@@ -1,163 +0,0 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.sherpa;
import java.util.List;
/**
* POJO representation for a SHERPA Publisher record
*
* @author Andrea Bollini
*/
public class SHERPAPublisher {
private String name;
private String alias;
private String homeurl;
private String prearchiving;
private List<String> prerestriction;
private String postarchiving;
private List<String> postrestriction;
private String pubarchiving;
private List<String> pubrestriction;
private List<String> condition;
private String paidaccessurl;
private String paidaccessname;
private String paidaccessnotes;
private List<String[]> copyright;
private String romeocolour;
private String dateadded;
private String dateupdated;
public SHERPAPublisher(String name, String alias, String homeurl,
String prearchiving, List<String> prerestriction,
String postarchiving, List<String> postrestriction,
String pubarchiving, List<String> pubrestriction,
List<String> condition, String paidaccessurl,
String paidaccessname, String paidaccessnotes,
List<String[]> copyright, String romeocolour, String datedded,
String dateupdated) {
this.name = name;
this.alias = alias;
this.homeurl = homeurl;
this.prearchiving = prearchiving;
this.prerestriction = prerestriction;
this.postarchiving = postarchiving;
this.postrestriction = postrestriction;
this.pubarchiving = pubarchiving;
this.pubrestriction = pubrestriction;
this.condition = condition;
this.paidaccessurl = paidaccessurl;
this.paidaccessname = paidaccessname;
this.paidaccessnotes = paidaccessnotes;
this.copyright = copyright;
this.romeocolour = romeocolour;
this.dateadded = datedded;
this.dateupdated = dateupdated;
}
public String getName() {
return name;
}
public String getAlias() {
return alias;
}
public String getHomeurl() {
return homeurl;
}
public String getPrearchiving() {
return prearchiving;
}
public List<String> getPrerestriction() {
return prerestriction;
}
public String getPostarchiving() {
return postarchiving;
}
public List<String> getPostrestriction() {
return postrestriction;
}
public String getPubarchiving() {
return pubarchiving;
}
public List<String> getPubrestriction() {
return pubrestriction;
}
public List<String> getCondition() {
return condition;
}
public String getPaidaccessurl() {
return paidaccessurl;
}
public String getPaidaccessname() {
return paidaccessname;
}
public String getPaidaccessnotes() {
return paidaccessnotes;
}
public List<String[]> getCopyright() {
return copyright;
}
public String getRomeocolour() {
return romeocolour;
}
public String getDatedded() {
return dateadded;
}
public String getDateupdated() {
return dateupdated;
}
}

View File

@@ -1,201 +0,0 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.sherpa;
import java.io.InputStream;
import java.util.LinkedList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.commons.lang.StringUtils;
import org.dspace.app.util.XMLUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
* JAVA representation for a SHERPA API Response
*
* @author Andrea Bollini
*/
public class SHERPAResponse {
private boolean error;
private String message;
private String license;
private String licenseURL;
private String disclaimer;
private List<SHERPAJournal> journals;
private List<SHERPAPublisher> publishers;
public SHERPAResponse(InputStream xmlData) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
factory.setValidating(false);
factory.setIgnoringComments(true);
factory.setIgnoringElementContentWhitespace(true);
DocumentBuilder db = factory.newDocumentBuilder();
Document inDoc = db.parse(xmlData);
Element xmlRoot = inDoc.getDocumentElement();
Element headersElement = XMLUtils.getSingleElement(xmlRoot,
"header");
Element journalsElement = XMLUtils.getSingleElement(xmlRoot,
"journals");
Element publishersElement = XMLUtils.getSingleElement(xmlRoot,
"publishers");
message = XMLUtils.getElementValue(headersElement, "message");
if (StringUtils.isNotBlank(message)) {
error = true;
return;
}
license = XMLUtils.getElementValue(headersElement, "license");
licenseURL = XMLUtils.getElementValue(headersElement, "licenseurl");
disclaimer = XMLUtils.getElementValue(headersElement, "disclaimer");
List<Element> journalsList = XMLUtils.getElementList(
journalsElement, "journal");
List<Element> publishersList = XMLUtils.getElementList(
publishersElement, "publisher");
if (journalsList != null) {
journals = new LinkedList<SHERPAJournal>();
for (Element journalElement : journalsList) {
journals.add(new SHERPAJournal(
XMLUtils.getElementValue(journalElement, "jtitle"),
XMLUtils.getElementValue(journalElement, "issn"),
XMLUtils.getElementValue(journalElement, "zetopub"),
XMLUtils.getElementValue(journalElement, "romeopub")));
}
}
if (publishersList != null) {
publishers = new LinkedList<SHERPAPublisher>();
for (Element publisherElement : publishersList) {
Element preprintsElement = XMLUtils.getSingleElement(
publisherElement, "preprints");
Element preprintsRestrictionElement = XMLUtils
.getSingleElement(publisherElement,
"prerestrictions");
Element postprintsElement = XMLUtils.getSingleElement(
publisherElement, "postprints");
Element postprintsRestrictionElement = XMLUtils
.getSingleElement(publisherElement,
"postrestrictions");
Element pdfversionElement = XMLUtils.getSingleElement(
publisherElement, "pdfversion");
Element pdfversionRestrictionElement = XMLUtils
.getSingleElement(publisherElement,
"pdfrestrictions");
Element conditionsElement = XMLUtils.getSingleElement(
publisherElement, "conditions");
Element paidaccessElement = XMLUtils.getSingleElement(
publisherElement, "paidaccess");
Element copyrightlinksElement = XMLUtils.getSingleElement(
publisherElement, "copyrightlinks");
publishers
.add(new SHERPAPublisher(XMLUtils.getElementValue(
publisherElement, "name"),
XMLUtils.getElementValue(publisherElement,
"alias"), XMLUtils.getElementValue(
publisherElement, "homeurl"),
XMLUtils.getElementValue(preprintsElement,
"prearchiving"),
XMLUtils.getElementValueList(
preprintsRestrictionElement,
"prerestriction"),
XMLUtils.getElementValue(postprintsElement,
"postarchiving"),
XMLUtils.getElementValueList(
postprintsRestrictionElement,
"postrestriction"),
XMLUtils.getElementValue(pdfversionElement,
"pdfarchiving"),
XMLUtils.getElementValueList(
pdfversionRestrictionElement,
"pdfrestriction"),
XMLUtils
.getElementValueList(
conditionsElement,
"condition"), XMLUtils
.getElementValue(paidaccessElement,
"paidaccessurl"), XMLUtils
.getElementValue(paidaccessElement,
"paidaccessname"), XMLUtils
.getElementValue(paidaccessElement,
"paidaccessnotes"),
XMLUtils.getElementValueArrayList(
copyrightlinksElement,
"copyrightlink",
"copyrightlinktext",
"copyrightlinkurl"), XMLUtils
.getElementValue(publisherElement,
"romeocolour"), XMLUtils
.getElementValue(publisherElement,
"dateadded"), XMLUtils
.getElementValue(publisherElement,
"dateupdated")));
}
}
} catch (Exception e) {
error = true;
}
}
public SHERPAResponse(String message) {
this.message = message;
this.error = true;
}
public boolean isError() {
return error;
}
public String getMessage() {
return message;
}
public String getLicense() {
return license;
}
public String getLicenseURL() {
return licenseURL;
}
public String getDisclaimer() {
return disclaimer;
}
public List<SHERPAJournal> getJournals() {
return journals;
}
public List<SHERPAPublisher> getPublishers() {
return publishers;
}
}

View File

@@ -7,7 +7,15 @@
*/
package org.dspace.app.sherpa;
import org.apache.commons.lang.StringUtils;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
import javax.annotation.PostConstruct;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
@@ -16,21 +24,42 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.log4j.Logger;
import org.dspace.core.ConfigurationManager;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.sherpa.v2.SHERPAPublisherResponse;
import org.dspace.app.sherpa.v2.SHERPAResponse;
import org.dspace.app.sherpa.v2.SHERPAUtils;
import org.dspace.services.ConfigurationService;
import org.springframework.beans.factory.annotation.Autowired;
/**
* SHERPAService is responsible for making the HTTP call to the SHERPA v2 API
* for SHERPASubmitService.
* Note, this service is ported from DSpace 6 for the ability to search policies by ISSN
* There are also new DataProvider implementations provided for use as 'external sources'
* of journal and publisher data
* @see org.dspace.external.provider.impl.SHERPAv2JournalDataProvider
* @see org.dspace.external.provider.impl.SHERPAv2PublisherDataProvider
* @author Kim Shepherd
*/
public class SHERPAService {
private CloseableHttpClient client = null;
private int maxNumberOfTries;
private long sleepBetweenTimeouts;
private int timeout = 5000;
private String endpoint = null;
private String apiKey = null;
/** log4j category */
private static final Logger log = LogManager.getLogger(SHERPAService.class);
@Autowired
ConfigurationService configurationService;
/**
* log4j category
* Create a new HTTP builder with sensible defaults in constructor
*/
private static final Logger log = Logger.getLogger(SHERPAService.class);
public SHERPAService() {
HttpClientBuilder builder = HttpClientBuilder.create();
// httpclient 4.3+ doesn't appear to have any sensible defaults any more. Setting conservative defaults as
@@ -41,62 +70,118 @@ public class SHERPAService {
.build();
}
/**
* Complete initialization of the Bean.
*/
@SuppressWarnings("unused")
@PostConstruct
private void init() {
// Get endoint and API key from configuration
endpoint = configurationService.getProperty("sherpa.romeo.url",
"https://v2.sherpa.ac.uk/cgi/retrieve");
apiKey = configurationService.getProperty("sherpa.romeo.apikey");
}
/**
* Search the SHERPA v2 API for a journal policy data using the supplied ISSN.
* If the API key is missing, or the HTTP response is non-OK or does not complete
* successfully, a simple error response will be returned.
* Otherwise, the response body will be passed to SHERPAResponse for parsing as JSON
* and the final result returned to the calling method
* @param query ISSN string to pass in an "issn equals" API query
* @return SHERPAResponse containing an error or journal policies
*/
public SHERPAResponse searchByJournalISSN(String query) {
String endpoint = ConfigurationManager.getProperty("sherpa.romeo.url");
String apiKey = ConfigurationManager.getProperty("sherpa.romeo.apikey");
return performRequest("publication", "issn", "equals", query, 0, 1);
}
/**
* Perform an API request to the SHERPA v2 API - this could be a search or a get for any entity type
* but the return object here must be a SHERPAPublisherResponse not the journal-centric SHERPAResponse
* For more information about the type, field and predicate arguments, see the SHERPA v2 API documentation
* @param type entity type eg "publisher"
* @param field field eg "issn" or "title"
* @param predicate predicate eg "equals" or "contains-word"
* @param value the actual value to search for (eg an ISSN or partial title)
* @param start start / offset of search results
* @param limit maximum search results to return
* @return SHERPAPublisherResponse object
*/
public SHERPAPublisherResponse performPublisherRequest(String type, String field, String predicate, String value,
int start, int limit) {
// API Key is *required* for v2 API calls
if (null == apiKey) {
log.error("SHERPA ROMeO API Key missing: please register for an API key and set sherpa.romeo.apikey");
return new SHERPAPublisherResponse("SHERPA/RoMEO configuration invalid or missing");
}
HttpGet method = null;
SHERPAResponse sherpaResponse = null;
SHERPAPublisherResponse sherpaResponse = null;
int numberOfTries = 0;
while (numberOfTries < maxNumberOfTries && sherpaResponse == null) {
numberOfTries++;
if (log.isDebugEnabled()) {
log.debug(String.format(
"Trying to contact SHERPA/RoMEO - attempt %d of %d; timeout is %d; sleep between timeouts is %d",
numberOfTries,
maxNumberOfTries,
timeout,
sleepBetweenTimeouts));
}
log.debug(String.format(
"Trying to contact SHERPA/RoMEO - attempt %d of %d; timeout is %d; sleep between timeouts is %d",
numberOfTries,
maxNumberOfTries,
timeout,
sleepBetweenTimeouts));
try {
Thread.sleep(sleepBetweenTimeouts);
URIBuilder uriBuilder = new URIBuilder(endpoint);
uriBuilder.addParameter("issn", query);
uriBuilder.addParameter("versions", "all");
if (StringUtils.isNotBlank(apiKey)) {
uriBuilder.addParameter("ak", apiKey);
}
method = new HttpGet(uriBuilder.build());
method.setConfig(RequestConfig.custom()
.setConnectionRequestTimeout(timeout)
.setConnectTimeout(timeout)
.setSocketTimeout(timeout)
.build());
// Execute the method.
// Construct a default HTTP method (first result)
method = constructHttpGet(type, field, predicate, value, start, limit);
// Execute the method
HttpResponse response = client.execute(method);
int statusCode = response.getStatusLine().getStatusCode();
log.debug(response.getStatusLine().getStatusCode() + ": "
+ response.getStatusLine().getReasonPhrase());
if (statusCode != HttpStatus.SC_OK) {
sherpaResponse = new SHERPAResponse("SHERPA/RoMEO return not OK status: "
+ statusCode);
sherpaResponse = new SHERPAPublisherResponse("SHERPA/RoMEO return not OK status: "
+ statusCode);
String errorBody = IOUtils.toString(response.getEntity().getContent(), StandardCharsets.UTF_8);
log.error("Error from SHERPA HTTP request: " + errorBody);
}
HttpEntity responseBody = response.getEntity();
// If the response body is valid, pass to SHERPAResponse for parsing as JSON
if (null != responseBody) {
sherpaResponse = new SHERPAResponse(responseBody.getContent());
log.debug("Non-null SHERPA resonse received for query of " + value);
InputStream content = null;
try {
content = responseBody.getContent();
sherpaResponse =
new SHERPAPublisherResponse(content, SHERPAPublisherResponse.SHERPAFormat.JSON);
} catch (IOException e) {
log.error("Encountered exception while contacting SHERPA/RoMEO: " + e.getMessage(), e);
} finally {
if (content != null) {
content.close();
}
}
} else {
sherpaResponse = new SHERPAResponse("SHERPA/RoMEO returned no response");
log.debug("Empty SHERPA response body for query on " + value);
sherpaResponse = new SHERPAPublisherResponse("SHERPA/RoMEO returned no response");
}
} catch (Exception e) {
log.warn("Encountered exception while contacting SHERPA/RoMEO: " + e.getMessage(), e);
} catch (URISyntaxException e) {
String errorMessage = "Error building SHERPA v2 API URI: " + e.getMessage();
log.error(errorMessage, e);
sherpaResponse = new SHERPAPublisherResponse(errorMessage);
} catch (IOException e) {
String errorMessage = "Encountered exception while contacting SHERPA/RoMEO: " + e.getMessage();
log.error(errorMessage, e);
sherpaResponse = new SHERPAPublisherResponse(errorMessage);
} catch (InterruptedException e) {
String errorMessage = "Encountered exception while sleeping thread: " + e.getMessage();
log.error(errorMessage, e);
sherpaResponse = new SHERPAPublisherResponse(errorMessage);
} finally {
if (method != null) {
method.releaseConnection();
@@ -105,13 +190,218 @@ public class SHERPAService {
}
if (sherpaResponse == null) {
log.debug("SHERPA response is still null");
sherpaResponse = new SHERPAPublisherResponse(
"Error processing the SHERPA/RoMEO answer");
}
// Return the final response
return sherpaResponse;
}
/**
* Perform an API request to the SHERPA v2 API - this could be a search or a get for any entity type
* For more information about the type, field and predicate arguments, see the SHERPA v2 API documentation
* @param type entity type eg "publication" or "publisher"
* @param field field eg "issn" or "title"
* @param predicate predicate eg "equals" or "contains-word"
* @param value the actual value to search for (eg an ISSN or partial title)
* @param start start / offset of search results
* @param limit maximum search results to return
* @return SHERPAResponse object
*/
public SHERPAResponse performRequest(String type, String field, String predicate, String value,
int start, int limit) {
// API Key is *required* for v2 API calls
if (null == apiKey) {
log.error("SHERPA ROMeO API Key missing: please register for an API key and set sherpa.romeo.apikey");
return new SHERPAResponse("SHERPA/RoMEO configuration invalid or missing");
}
HttpGet method = null;
SHERPAResponse sherpaResponse = null;
int numberOfTries = 0;
while (numberOfTries < maxNumberOfTries && sherpaResponse == null) {
numberOfTries++;
log.debug(String.format(
"Trying to contact SHERPA/RoMEO - attempt %d of %d; timeout is %d; sleep between timeouts is %d",
numberOfTries,
maxNumberOfTries,
timeout,
sleepBetweenTimeouts));
try {
Thread.sleep(sleepBetweenTimeouts);
// Construct a default HTTP method (first result)
method = constructHttpGet(type, field, predicate, value, start, limit);
// Execute the method
HttpResponse response = client.execute(method);
int statusCode = response.getStatusLine().getStatusCode();
log.debug(response.getStatusLine().getStatusCode() + ": "
+ response.getStatusLine().getReasonPhrase());
if (statusCode != HttpStatus.SC_OK) {
sherpaResponse = new SHERPAResponse("SHERPA/RoMEO return not OK status: "
+ statusCode);
String errorBody = IOUtils.toString(response.getEntity().getContent(), StandardCharsets.UTF_8);
log.error("Error from SHERPA HTTP request: " + errorBody);
}
HttpEntity responseBody = response.getEntity();
// If the response body is valid, pass to SHERPAResponse for parsing as JSON
if (null != responseBody) {
log.debug("Non-null SHERPA resonse received for query of " + value);
InputStream content = null;
try {
content = responseBody.getContent();
sherpaResponse = new SHERPAResponse(content, SHERPAResponse.SHERPAFormat.JSON);
} catch (IOException e) {
log.error("Encountered exception while contacting SHERPA/RoMEO: " + e.getMessage(), e);
} finally {
if (content != null) {
content.close();
}
}
} else {
log.debug("Empty SHERPA response body for query on " + value);
sherpaResponse = new SHERPAResponse("SHERPA/RoMEO returned no response");
}
} catch (URISyntaxException e) {
String errorMessage = "Error building SHERPA v2 API URI: " + e.getMessage();
log.error(errorMessage, e);
sherpaResponse = new SHERPAResponse(errorMessage);
} catch (IOException e) {
String errorMessage = "Encountered exception while contacting SHERPA/RoMEO: " + e.getMessage();
log.error(errorMessage, e);
sherpaResponse = new SHERPAResponse(errorMessage);
} catch (InterruptedException e) {
String errorMessage = "Encountered exception while sleeping thread: " + e.getMessage();
log.error(errorMessage, e);
sherpaResponse = new SHERPAResponse(errorMessage);
} finally {
if (method != null) {
method.releaseConnection();
}
}
}
if (sherpaResponse == null) {
log.debug("SHERPA response is still null");
sherpaResponse = new SHERPAResponse(
"Error processing the SHERPA/RoMEO answer");
}
// Return the final response
return sherpaResponse;
}
/**
* Construct HTTP GET object for a "field,predicate,value" query with default start, limit
* eg. "title","contains-word","Lancet" or "issn","equals","1234-1234"
* @param field the field (issn, title, etc)
* @param predicate the predicate (contains-word, equals, etc - see API docs)
* @param value the query value itself
* @return HttpGet method which can then be executed by the client
* @throws URISyntaxException if the URL build fails
*/
public HttpGet constructHttpGet(String type, String field, String predicate, String value)
throws URISyntaxException {
return constructHttpGet(type, field, predicate, value, 0, 1);
}
/**
* Construct HTTP GET object for a "field,predicate,value" query
* eg. "title","contains-word","Lancet" or "issn","equals","1234-1234"
* @param field the field (issn, title, etc)
* @param predicate the predicate (contains-word, equals, etc - see API docs)
* @param value the query value itself
* @param start row offset
* @param limit number of results to return
* @return HttpGet object to be executed by the client
* @throws URISyntaxException
*/
public HttpGet constructHttpGet(String type, String field, String predicate, String value, int start, int limit)
throws URISyntaxException {
// Sanitise query string (strip some characters) field, predicate and value
if (null == type) {
type = "publication";
}
field = SHERPAUtils.sanitiseQuery(field);
predicate = SHERPAUtils.sanitiseQuery(predicate);
value = SHERPAUtils.sanitiseQuery(value);
type = SHERPAUtils.sanitiseQuery(type);
// Build URL based on search query
URIBuilder uriBuilder = new URIBuilder(endpoint);
uriBuilder.addParameter("item-type", type);
uriBuilder.addParameter("filter", "[[\"" + field + "\",\"" + predicate + "\",\"" + value + "\"]]");
uriBuilder.addParameter("format", "Json");
// Set optional start (offset) and limit parameters
if (start >= 0) {
uriBuilder.addParameter("offset", String.valueOf(start));
}
if (limit > 0) {
uriBuilder.addParameter("limit", String.valueOf(limit));
}
if (StringUtils.isNotBlank(apiKey)) {
uriBuilder.addParameter("api-key", apiKey);
}
log.debug("SHERPA API URL: " + uriBuilder.toString());
// Create HTTP GET object
HttpGet method = new HttpGet(uriBuilder.build());
// Set connection parameters
int timeout = 5000;
method.setConfig(RequestConfig.custom()
.setConnectionRequestTimeout(timeout)
.setConnectTimeout(timeout)
.setSocketTimeout(timeout)
.build());
return method;
}
/**
* Prepare the API query for execution by the HTTP client
* @param query ISSN query string
* @param endpoint API endpoint (base URL)
* @param apiKey API key parameter
* @return URI object
* @throws URISyntaxException
*/
public URI prepareQuery(String query, String endpoint, String apiKey) throws URISyntaxException {
// Sanitise query string
query = SHERPAUtils.sanitiseQuery(query);
// Instantiate URI builder
URIBuilder uriBuilder = new URIBuilder(endpoint);
// Build URI parameters from supplied values
uriBuilder.addParameter("item-type", "publication");
// Log warning if no query is supplied
if (null == query) {
log.warn("No ISSN supplied as query string for SHERPA service search");
}
uriBuilder.addParameter("filter", "[[\"issn\",\"equals\",\"" + query + "\"]]");
uriBuilder.addParameter("format", "Json");
if (StringUtils.isNotBlank(apiKey)) {
uriBuilder.addParameter("api-key", apiKey);
}
log.debug("Would search SHERPA endpoint with " + uriBuilder.toString());
// Return final built URI
return uriBuilder.build();
}
public void setMaxNumberOfTries(int maxNumberOfTries) {
this.maxNumberOfTries = maxNumberOfTries;
}

View File

@@ -7,53 +7,115 @@
*/
package org.dspace.app.sherpa.submit;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.dspace.app.sherpa.SHERPAResponse;
import org.apache.logging.log4j.Logger;
import org.dspace.app.sherpa.SHERPAService;
import org.dspace.app.sherpa.v2.SHERPAResponse;
import org.dspace.content.Item;
import org.dspace.core.Context;
import org.dspace.core.LogManager;
import org.dspace.core.LogHelper;
/**
* SHERPASubmitService is
* @see
* @author Kim Shepherd
*/
public class SHERPASubmitService {
private SHERPAService sherpaService;
private SHERPASubmitConfigurationService configuration;
/**
* Spring beans for configuration and API service
*/
protected SHERPAService sherpaService;
protected SHERPASubmitConfigurationService configuration;
/**
* log4j logger
*/
private static Logger log = Logger.getLogger(SHERPASubmitService.class);
private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SHERPASubmitService.class);
/**
* Setter for configuration (from Spring)
* @see "dspace-dspace-addon-sherpa-configuration-services.xml"
* @param configuration
*/
public void setConfiguration(SHERPASubmitConfigurationService configuration) {
this.configuration = configuration;
}
/**
* Setter for SHERPA service, reponsible for actual HTTP API calls
* @see "dspace-dspace-addon-sherpa-configuration-services.xml"
* @param sherpaService
*/
public void setSherpaService(SHERPAService sherpaService) {
this.sherpaService = sherpaService;
}
public SHERPAResponse searchRelatedJournals(Context context, Item item) {
/**
* Search SHERPA for journal policies matching the ISSNs in the item.
* Rather than a 'search' query for any/all ISSNs, the v2 API requires a separate
* query for each ISSN found in the item. The ISSNs are extracted using the configured
* issnItemExtractor(s) in the SHERPA spring configuration.
* The ISSNs are not validated with a regular expression or other rules - any values
* extracted will be included in API queries.
* @see "dspace-dspace-addon-sherpa-configuration-services.xml"
* @param context DSpace context
* @param item DSpace item containing ISSNs to be checked
* @return SHERPA v2 API response (policy data)
*/
public List<SHERPAResponse> searchRelatedJournals(Context context, Item item) {
Set<String> issns = getISSNs(context, item);
if (issns == null || issns.size() == 0) {
return null;
} else {
return sherpaService.searchByJournalISSN(StringUtils.join(issns, ","));
// SHERPA v2 API no longer supports "OR'd" ISSN search, perform individual searches instead
Iterator<String> issnIterator = issns.iterator();
List<SHERPAResponse> responses = new LinkedList<>();
while (issnIterator.hasNext()) {
String issn = issnIterator.next();
SHERPAResponse response = sherpaService.searchByJournalISSN(issn);
if (response.isError()) {
// Continue with loop
log.warn("Failed to look up SHERPA ROMeO result for ISSN: " + issn
+ ": " + response.getMessage());
}
// Store this response, even if it has an error (useful for UI reporting)
responses.add(response);
}
if (responses.isEmpty()) {
responses.add(new SHERPAResponse("SHERPA ROMeO lookup failed"));
}
return responses;
}
}
/**
* Search SHERPA for journal policies matching the passed ISSN.
* The ISSN are not validated with a regular expression or other rules - any String
* passed to this method will be considered an ISSN for the purposes of an API query
* @param issn ISSN string
* @return SHERPA v2 API response object (policy data)
*/
public SHERPAResponse searchRelatedJournalsByISSN(String issn) {
return sherpaService.searchByJournalISSN(issn);
}
/**
* Using the configured itemIssnExtractors from SHERPA configuration, extract
* ISSNs from item metadata or authority values
* @param context DSpace context
* @param item Item containing metadata / authority values
* @return Set of ISSN strings
*/
public Set<String> getISSNs(Context context, Item item) {
Set<String> issns = new LinkedHashSet<String>();
if (configuration.getIssnItemExtractors() == null) {
log.warn(LogManager.getHeader(context, "searchRelatedJournals",
log.warn(LogHelper.getHeader(context, "searchRelatedJournals",
"no issnItemExtractors defined"));
return null;
}
@@ -68,6 +130,13 @@ public class SHERPASubmitService {
return issns;
}
/**
* Simple boolean test that runs the getISSNs extraction method
* to determine whether an item has any ISSNs at all
* @param context DSpace context
* @param item Item to test
* @return boolean indicating presence of >=1 ISSNs
*/
public boolean hasISSNs(Context context, Item item) {
Set<String> issns = getISSNs(context, item);
if (issns == null || issns.size() == 0) {

View File

@@ -0,0 +1,111 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.sherpa.v2;
import java.util.List;
/**
* Plain java representation of a SHERPA Journal object, based on SHERPA API v2 responses.
*
* In a SHERPA search for journal deposit policies, this is generally structured
* as a list in the SHERPAResponse object.
* Each journal contains a list of publisher data and list of publishing policies as well as basic metadata
* about the journal such as ISSNs, titles, whether it appears in DOAJ, primary publisher, etc.
* @see SHERPAResponse
* @see org.dspace.external.provider.impl.SHERPAv2JournalDataProvider
*
* @author Kim Shepherd
*/
public class SHERPAJournal {
private List<String> titles;
private String url;
private List<String> issns;
private String romeoPub;
private String zetoPub;
private SHERPAPublisher publisher;
private List<SHERPAPublisher> publishers;
private List<SHERPAPublisherPolicy> policies;
private Boolean inDOAJ;
public SHERPAJournal() {
}
public List<String> getTitles() {
return titles;
}
public void setTitles(List<String> titles) {
this.titles = titles;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public List<String> getIssns() {
return issns;
}
public void setIssns(List<String> issns) {
this.issns = issns;
}
public String getRomeoPub() {
return romeoPub;
}
public void setRomeoPub(String romeoPub) {
this.romeoPub = romeoPub;
}
public String getZetoPub() {
return zetoPub;
}
public void setZetoPub(String zetoPub) {
this.zetoPub = zetoPub;
}
public SHERPAPublisher getPublisher() {
return publisher;
}
public void setPublisher(SHERPAPublisher publisher) {
this.publisher = publisher;
}
public List<SHERPAPublisher> getPublishers() {
return publishers;
}
public void setPublishers(List<SHERPAPublisher> publishers) {
this.publishers = publishers;
}
public List<SHERPAPublisherPolicy> getPolicies() {
return policies;
}
public void setPolicies(List<SHERPAPublisherPolicy> policies) {
this.policies = policies;
}
public Boolean getInDOAJ() {
return inDOAJ;
}
public void setInDOAJ(Boolean inDOAJ) {
this.inDOAJ = inDOAJ;
}
}

View File

@@ -0,0 +1,111 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.sherpa.v2;
import java.util.List;
/**
* Plain java representation of a SHERPA Permitted Version object, based on SHERPA API v2 responses.
*
* In a SHERPA search for journal deposit policies, this data is contained within a publisher policy.
* Each permitted version is for a particular article version (e.g. submitted, accepted, published) and contains:
*
* <ul>
* <li>A list of general conditions / terms for deposit of this version of work</li>
* <li>A list of allowed locations (e.g. institutional repository, personal homepage, non-commercial repository)</li>
* <li>A list of prerequisite conditions for deposit (e.g. attribution, linking to published version)</li>
* <li>A list of required licenses for the deposited work (e.g. CC-BY-NC)</li>
* <li>Embargo requirements, if any</li>
* </ul>
*
* This class also has some helper data for labels, which can be used with i18n
* when displaying policy information.
*
* @see SHERPAPublisherPolicy
*/
public class SHERPAPermittedVersion {
// Version (submitted, accepted, published)
private String articleVersion;
// Option number
private int option;
// General conditions
private List<String> conditions;
// Prerequisites (eg. if required by funder)
private List<String> prerequisites;
// Allowed locations
private List<String> locations;
// Required license(s)
private List<String> licenses;
// Embargo
private SHERPAEmbargo embargo;
protected static class SHERPAEmbargo {
String units;
int amount;
}
public String getArticleVersion() {
return articleVersion;
}
public void setArticleVersion(String articleVersion) {
this.articleVersion = articleVersion;
}
public List<String> getConditions() {
return conditions;
}
public void setConditions(List<String> conditions) {
this.conditions = conditions;
}
public List<String> getPrerequisites() {
return prerequisites;
}
public void setPrerequisites(List<String> prerequisites) {
this.prerequisites = prerequisites;
}
public List<String> getLocations() {
return locations;
}
public void setLocations(List<String> locations) {
this.locations = locations;
}
public List<String> getLicenses() {
return licenses;
}
public void setLicenses(List<String> licenses) {
this.licenses = licenses;
}
public SHERPAEmbargo getEmbargo() {
return embargo;
}
public void setEmbargo(SHERPAEmbargo embargo) {
this.embargo = embargo;
}
public int getOption() {
return option;
}
public void setOption(int option) {
this.option = option;
}
}

View File

@@ -0,0 +1,100 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.app.sherpa.v2;
/**
* Plain java representation of a SHERPA Publisher object, based on SHERPA API v2 responses.
*
* In a search for SHERPA journal deposit policy, this publisher object will appear in a list of publishers
* from the journal object, and as a single publisher member for the primary/current publisher of the journal.
* In a search for SHERPA publisher information, this object will appear in a list of publishers from the main
* SHERPA Publisher Response object
*
* @see SHERPAJournal
* @see SHERPAPublisherResponse
*/
public class SHERPAPublisher {
private String name = null;
private String relationshipType;
private String country;
private String uri = null;
private String identifier = null;
private int publicationCount;
// this is not technically in the same place in SHERPA data model but it makes more sense to apply it here
// is it is treated as a 'special case' - just for printing links to paid OA access policies
private String paidAccessDescription;
private String paidAccessUrl;
public SHERPAPublisher() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRelationshipType() {
return relationshipType;
}
public void setRelationshipType(String relationshipType) {
this.relationshipType = relationshipType;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
public int getPublicationCount() {
return publicationCount;
}
public void setPublicationCount(int publicationCount) {
this.publicationCount = publicationCount;
}
public String getPaidAccessDescription() {
return paidAccessDescription;
}
public void setPaidAccessDescription(String paidAccessDescription) {
this.paidAccessDescription = paidAccessDescription;
}
public String getPaidAccessUrl() {
return paidAccessUrl;
}
public void setPaidAccessUrl(String paidAccessUrl) {
this.paidAccessUrl = paidAccessUrl;
}
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String identifier) {
this.identifier = identifier;
}
}

Some files were not shown because too many files have changed in this diff Show More