Compare commits

...

1105 Commits

Author SHA1 Message Date
dependabot[bot]
2450036589 Bump com.amazonaws:aws-java-sdk-s3 from 1.12.791 to 1.12.792
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.791 to 1.12.792.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.791...1.12.792)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-version: 1.12.792
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 19:55:41 +00:00
Tim Donohue
cb7dc29f47 Merge pull request #11373 from DSpace/dependabot/maven/dspace-8_x/spring-35db45a9c5
Bump the spring group with 25 updates
2025-10-06 13:36:31 -05:00
Tim Donohue
9a96059e25 Merge pull request #11371 from DSpace/dependabot/maven/dspace-8_x/apache-commons-646c41dc72
Bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0 in the apache-commons group
2025-10-06 13:32:52 -05:00
Tim Donohue
c2fcad3884 Merge pull request #11372 from DSpace/dependabot/maven/dspace-8_x/jakarta-97525a5b73
Bump the jakarta group with 5 updates
2025-10-06 13:30:34 -05:00
Tim Donohue
4ca9ca9d19 Merge pull request #11377 from DSpace/dependabot/maven/dspace-8_x/org.checkerframework-checker-qual-3.51.0
Bump org.checkerframework:checker-qual from 3.50.0 to 3.51.0
2025-10-06 13:26:09 -05:00
Tim Donohue
54c33ed07f Merge pull request #11370 from DSpace/dependabot/maven/dspace-8_x/test-tools-529d372f53
Bump the test-tools group with 3 updates
2025-10-06 13:23:27 -05:00
Tim Donohue
d8e45a2d92 Merge pull request #11369 from DSpace/dependabot/maven/dspace-8_x/build-tools-1acad15a24
Bump the build-tools group with 10 updates
2025-10-06 13:19:10 -05:00
Tim Donohue
94bb9dbc0c Merge pull request #11375 from DSpace/dependabot/maven/dspace-8_x/log4j.version-2.25.2
Bump log4j.version from 2.25.1 to 2.25.2
2025-10-06 13:15:07 -05:00
Tim Donohue
c372ac435c Merge pull request #10533 from 4Science/task/dspace-8_x/DURACOM-243
[dspace-8_x] Handles Rotation EXIF Metadata inside JPEGFilter
2025-10-02 14:36:24 -05:00
Tim Donohue
c262a0ad6b Merge pull request #11402 from tdonohue/port_11321_to_8x
[Port dspace-8_x] DS-8943: adds limit to number of typed links to bitstreams in header
2025-10-02 08:48:21 -05:00
nwoodward
e5135a3a8b added limit to number of typed links to bitstreams to display, falls back to Link Sets if limit is exceeded 2025-10-01 17:08:47 -05:00
DSpace Bot
521e281e4b [Port dspace-8_x] fix(#10721): Sanitize non-characters during OAI indexing (#11397)
* fix(#10721): Sanitize non-characters during OAI indexing

(cherry picked from commit ad890b0661)

* refactor: Use StringEscapeUtils as suggested in review

(cherry picked from commit 0ddd5ad575)

* fix: Removed whitespace before the import that was causing error

Maven Unit Test failed due to the whitespace before the import
https://github.com/DSpace/DSpace/actions/runs/16891881837/job/47853392956?pr=11139#step:4:1959

(cherry picked from commit 406bffdcca)

* fix: Removed trailing whitespace that was causing error

(cherry picked from commit 266ac423b4)

---------

Co-authored-by: JohnnyMendesC <177888064+JohnnyMendesC@users.noreply.github.com>
2025-10-01 16:38:54 -05:00
dependabot[bot]
0aef3968ca Bump org.checkerframework:checker-qual from 3.50.0 to 3.51.0
Bumps [org.checkerframework:checker-qual](https://github.com/typetools/checker-framework) from 3.50.0 to 3.51.0.
- [Release notes](https://github.com/typetools/checker-framework/releases)
- [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/typetools/checker-framework/compare/checker-framework-3.50.0...checker-framework-3.51.0)

---
updated-dependencies:
- dependency-name: org.checkerframework:checker-qual
  dependency-version: 3.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 02:24:06 +00:00
dependabot[bot]
9fddc2f23e Bump log4j.version from 2.25.1 to 2.25.2
Bumps `log4j.version` from 2.25.1 to 2.25.2.

Updates `org.apache.logging.log4j:log4j-api` from 2.25.1 to 2.25.2

Updates `org.apache.logging.log4j:log4j-core` from 2.25.1 to 2.25.2

Updates `org.apache.logging.log4j:log4j-slf4j2-impl` from 2.25.1 to 2.25.2

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-api
  dependency-version: 2.25.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-version: 2.25.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.logging.log4j:log4j-slf4j2-impl
  dependency-version: 2.25.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 02:22:46 +00:00
dependabot[bot]
0a5acdbe25 Bump the spring group with 25 updates
Bumps the spring group with 25 updates:

| Package | From | To |
| --- | --- | --- |
| [org.springframework:spring-orm](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-aop](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-context-support](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-tx](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-jdbc](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-webmvc](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-expression](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `6.2.10` | `6.2.11` |
| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-starter-tomcat](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-maven-plugin](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-starter-cache](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-starter](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-starter-thymeleaf](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-starter-web](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-starter-data-rest](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.boot:spring-boot-starter-log4j2](https://github.com/spring-projects/spring-boot) | `3.5.5` | `3.5.6` |
| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.5.3` | `6.5.5` |


Updates `org.springframework:spring-orm` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-core` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-beans` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-aop` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-context` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-context-support` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-tx` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-jdbc` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-web` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-webmvc` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-expression` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-test` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-core` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-beans` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-aop` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-context` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-context-support` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-tx` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-jdbc` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-web` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-webmvc` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-expression` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework:spring-test` from 6.2.10 to 6.2.11
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.10...v6.2.11)

Updates `org.springframework.boot:spring-boot-starter-test` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.security:spring-security-test` from 6.5.3 to 6.5.5
- [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/6.5.3...6.5.5)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.5.5 to 3.5.6
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.5...v3.5.6)

---
updated-dependencies:
- dependency-name: org.springframework:spring-orm
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-test
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-test
  dependency-version: 6.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 02:22:01 +00:00
dependabot[bot]
bb86ef931b Bump the jakarta group with 5 updates
Bumps the jakarta group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [jakarta.activation:jakarta.activation-api](https://github.com/jakartaee/jaf-api) | `2.1.3` | `2.1.4` |
| [jakarta.mail:jakarta.mail-api](https://github.com/jakartaee/mail-api) | `2.1.4` | `2.1.5` |
| org.eclipse.angus:jakarta.mail | `2.0.4` | `2.0.5` |
| [jakarta.xml.bind:jakarta.xml.bind-api](https://github.com/jakartaee/jaxb-api) | `4.0.2` | `4.0.4` |
| org.glassfish.jaxb:jaxb-runtime | `4.0.5` | `4.0.6` |


Updates `jakarta.activation:jakarta.activation-api` from 2.1.3 to 2.1.4
- [Release notes](https://github.com/jakartaee/jaf-api/releases)
- [Commits](https://github.com/jakartaee/jaf-api/compare/2.1.3...2.1.4)

Updates `jakarta.mail:jakarta.mail-api` from 2.1.4 to 2.1.5
- [Release notes](https://github.com/jakartaee/mail-api/releases)
- [Commits](https://github.com/jakartaee/mail-api/compare/2.1.4...2.1.5)

Updates `org.eclipse.angus:jakarta.mail` from 2.0.4 to 2.0.5

Updates `jakarta.xml.bind:jakarta.xml.bind-api` from 4.0.2 to 4.0.4
- [Release notes](https://github.com/jakartaee/jaxb-api/releases)
- [Commits](https://github.com/jakartaee/jaxb-api/compare/4.0.2...4.0.4)

Updates `org.glassfish.jaxb:jaxb-runtime` from 4.0.5 to 4.0.6

---
updated-dependencies:
- dependency-name: jakarta.activation:jakarta.activation-api
  dependency-version: 2.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: jakarta
- dependency-name: jakarta.mail:jakarta.mail-api
  dependency-version: 2.1.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: jakarta
- dependency-name: org.eclipse.angus:jakarta.mail
  dependency-version: 2.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: jakarta
- dependency-name: jakarta.xml.bind:jakarta.xml.bind-api
  dependency-version: 4.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: jakarta
- dependency-name: org.glassfish.jaxb:jaxb-runtime
  dependency-version: 4.0.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: jakarta
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 02:19:33 +00:00
dependabot[bot]
efd35e3a30 Bump org.apache.commons:commons-lang3 in the apache-commons group
Bumps the apache-commons group with 1 update: org.apache.commons:commons-lang3.


Updates `org.apache.commons:commons-lang3` from 3.18.0 to 3.19.0

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-lang3
  dependency-version: 3.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 02:19:07 +00:00
dependabot[bot]
1642fa705f Bump the test-tools group with 3 updates
Bumps the test-tools group with 3 updates: [com.h2database:h2](https://github.com/h2database/h2database), [org.xmlunit:xmlunit-core](https://github.com/xmlunit/xmlunit) and [org.apache.httpcomponents.client5:httpclient5](https://github.com/apache/httpcomponents-client).


Updates `com.h2database:h2` from 2.3.232 to 2.4.240
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-2.3.232...version-2.4.240)

Updates `org.xmlunit:xmlunit-core` from 2.10.3 to 2.10.4
- [Release notes](https://github.com/xmlunit/xmlunit/releases)
- [Changelog](https://github.com/xmlunit/xmlunit/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/xmlunit/xmlunit/compare/v2.10.3...v2.10.4)

Updates `org.apache.httpcomponents.client5:httpclient5` from 5.5 to 5.5.1
- [Changelog](https://github.com/apache/httpcomponents-client/blob/rel/v5.5.1/RELEASE_NOTES.txt)
- [Commits](https://github.com/apache/httpcomponents-client/compare/rel/v5.5...rel/v5.5.1)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-version: 2.4.240
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: test-tools
- dependency-name: org.xmlunit:xmlunit-core
  dependency-version: 2.10.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: org.apache.httpcomponents.client5:httpclient5
  dependency-version: 5.5.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: test-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 02:18:46 +00:00
dependabot[bot]
ae7e1387a6 Bump the build-tools group with 10 updates
Bumps the build-tools group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.41.0` | `2.42.0` |
| [com.google.errorprone:error_prone_annotations](https://github.com/google/error-prone) | `2.41.0` | `2.42.0` |
| [com.github.spotbugs:spotbugs](https://github.com/spotbugs/spotbugs) | `4.9.4` | `4.9.6` |
| [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) | `3.14.0` | `3.14.1` |
| [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) | `3.5.3` | `3.5.4` |
| [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire) | `3.5.3` | `3.5.4` |
| [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) | `4.9.4.2` | `4.9.6.0` |
| [org.sonatype.central:central-publishing-maven-plugin](https://github.com/sonatype/central-publishing-maven-plugin) | `0.8.0` | `0.9.0` |
| [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) | `3.11.3` | `3.12.0` |
| [org.codehaus.mojo:license-maven-plugin](https://github.com/mojohaus/license-maven-plugin) | `2.6.0` | `2.7.0` |


Updates `com.google.errorprone:error_prone_core` from 2.41.0 to 2.42.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.41.0...v2.42.0)

Updates `com.google.errorprone:error_prone_annotations` from 2.41.0 to 2.42.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.41.0...v2.42.0)

Updates `com.github.spotbugs:spotbugs` from 4.9.4 to 4.9.6
- [Release notes](https://github.com/spotbugs/spotbugs/releases)
- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spotbugs/spotbugs/compare/4.9.4...4.9.6)

Updates `com.google.errorprone:error_prone_annotations` from 2.41.0 to 2.42.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.41.0...v2.42.0)

Updates `org.apache.maven.plugins:maven-compiler-plugin` from 3.14.0 to 3.14.1
- [Release notes](https://github.com/apache/maven-compiler-plugin/releases)
- [Commits](https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.14.0...maven-compiler-plugin-3.14.1)

Updates `org.apache.maven.plugins:maven-surefire-plugin` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.3...surefire-3.5.4)

Updates `org.apache.maven.plugins:maven-failsafe-plugin` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.3...surefire-3.5.4)

Updates `com.github.spotbugs:spotbugs-maven-plugin` from 4.9.4.2 to 4.9.6.0
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.9.4.2...spotbugs-maven-plugin-4.9.6.0)

Updates `org.sonatype.central:central-publishing-maven-plugin` from 0.8.0 to 0.9.0
- [Commits](https://github.com/sonatype/central-publishing-maven-plugin/commits)

Updates `org.apache.maven.plugins:maven-javadoc-plugin` from 3.11.3 to 3.12.0
- [Release notes](https://github.com/apache/maven-javadoc-plugin/releases)
- [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.11.3...maven-javadoc-plugin-3.12.0)

Updates `org.codehaus.mojo:license-maven-plugin` from 2.6.0 to 2.7.0
- [Release notes](https://github.com/mojohaus/license-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/license-maven-plugin/compare/2.6.0...2.7.0)

---
updated-dependencies:
- dependency-name: com.google.errorprone:error_prone_core
  dependency-version: 2.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.google.errorprone:error_prone_annotations
  dependency-version: 2.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.github.spotbugs:spotbugs
  dependency-version: 4.9.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: com.google.errorprone:error_prone_annotations
  dependency-version: 2.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-compiler-plugin
  dependency-version: 3.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-version: 4.9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.sonatype.central:central-publishing-maven-plugin
  dependency-version: 0.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-javadoc-plugin
  dependency-version: 3.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.codehaus.mojo:license-maven-plugin
  dependency-version: 2.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 02:18:26 +00:00
Tim Donohue
f88ea11ead Merge pull request #11359 from DSpace/backport-11330-to-dspace-8_x
[Port dspace-8_x] Fix (#9694): Change Solr dynamic field *.year to *_year
2025-09-30 17:30:05 -05:00
JohnnyMendesC
d56126fe00 Fix (#9694): Change Solr dynamic field *.year to *_year
(cherry picked from commit 9fc163fbda)
2025-09-30 21:44:40 +00:00
Tim Donohue
07d0432353 Merge pull request #11356 from DSpace/backport-11328-to-dspace-8_x
[Port dspace-8_x] Fix Hibernate syntax bug in the CollectionDAO
2025-09-30 16:39:04 -05:00
nwoodward
6611466826 lint fixes
(cherry picked from commit b8812aad45)
2025-09-30 21:07:27 +00:00
nwoodward
ba41a8755c fix hibernate syntax bug
(cherry picked from commit d9cbb96655)
2025-09-30 21:07:26 +00:00
Tim Donohue
8e878defce Merge pull request #11353 from DSpace/backport-11329-to-dspace-8_x
[Port dspace-8_x] Fix Hibernate syntax bugs in the CollectionDAO and BitstreamDAO
2025-09-30 15:11:53 -05:00
nwoodward
fdc33d709b fix Hibernate bug
(cherry picked from commit 69c6d27322)
2025-09-30 19:26:18 +00:00
nwoodward
ef9b989801 fix Hibernate bugs
(cherry picked from commit 088463c94b)
2025-09-30 19:26:18 +00:00
Tim Donohue
75046c4a51 Merge pull request #11342 from DSpace/backport-11341-to-dspace-8_x
[Port dspace-8_x] [GitHub Actions] Decrease cache size of our Docker images in GitHub Actions
2025-09-23 16:39:08 -05:00
Tim Donohue
e0c68eb5ea Change to "mode=min" in order to minimize our cache size for Docker images
(cherry picked from commit 1f8e290a1e)
2025-09-23 20:52:08 +00:00
Tim Donohue
c2e79f9e56 Merge pull request #11339 from DSpace/backport-11337-to-dspace-8_x
[Port dspace-8_x] Remove ratingreviewaction in workflow-actions.xml
2025-09-23 15:09:45 -05:00
Sascha Szott
667de82136 remove ratingreviewaction in test context
(cherry picked from commit ddccb342d6)
2025-09-23 18:47:42 +00:00
Sascha Szott
39f624144c remove ratingreviewaction bean in workflow-actions.xml
(cherry picked from commit 770ab0ca79)
2025-09-23 18:47:42 +00:00
Tim Donohue
3e8d055d0e Merge pull request #11317 from tdonohue/port_11261_to_8x
[Port dspace-8_x] Fix/11033 solr logging thumbnail download stats
2025-09-12 16:14:19 -05:00
Tim Donohue
e664338a9c Merge pull request #11313 from DSpace/backport-10756-to-dspace-8_x
[Port dspace-8_x] The subscription sends an email with `No items` however there are changes in the collection
2025-09-12 15:58:53 -05:00
JohnnyMendesC
5e9c2c7955 fix(#11033): Prevent logging of ignored bundles in Solr stats 2025-09-12 14:53:04 -05:00
jm
3ca7b65b73 Fixed https://github.com/DSpace/DSpace/issues/10754 by setting the context user to the current subscriber
(cherry picked from commit 6275d3b756)
2025-09-12 19:25:45 +00:00
Tim Donohue
5b81b781d9 Merge pull request #11310 from DSpace/backport-10555-to-dspace-8_x
[Port dspace-8_x] Fix sort order in AbstractHibernateDAO findByX
2025-09-12 13:52:34 -05:00
abhinav
6949b74bfc Added a test case to verify the sort
(cherry picked from commit 989d930417)
2025-09-12 17:30:13 +00:00
abhinav
a4482cab2b 129616: Added order by
(cherry picked from commit cc6520bfbb)
2025-09-12 17:30:13 +00:00
Tim Donohue
5824bc1d1d Merge pull request #11306 from DSpace/backport-11253-to-dspace-8_x
[Port dspace-8_x] Add ORCID document type
2025-09-11 13:56:35 -05:00
Pierre Lasou
18bf72dada Add ORCID document type
Addiing new mappings between ORCID document type and DSpace default type.

(cherry picked from commit e213f5b305)
2025-09-11 15:59:24 +00:00
Tim Donohue
c38b7ac894 Merge pull request #11303 from DSpace/backport-10929-to-dspace-8_x
[Port dspace-8_x] Fix SAF Import Open connection leak
2025-09-10 15:50:45 -05:00
Tim Donohue
41d58c3204 Merge pull request #11300 from DSpace/backport-11263-to-dspace-8_x
[Port dspace-8_x] Add familyName and givenName when creating profile author and fix EPe…
2025-09-10 15:50:04 -05:00
Nathan Buckingham
78ac3c4001 132206: Saf Imports close connections
(cherry picked from commit 35135c80ae)
2025-09-10 19:32:46 +00:00
Jesiel Viana
8eb6d20303 Add familyName and givenName when creating profile author and fix EPerson#getName
(cherry picked from commit df0dd01776)
2025-09-10 19:23:02 +00:00
Tim Donohue
a724c131e5 Merge pull request #11239 from DSpace/dependabot/maven/dspace-8_x/org.ehcache-ehcache-3.11.1
Bump org.ehcache:ehcache from 3.10.8 to 3.11.1
2025-09-10 09:48:12 -05:00
Tim Donohue
a746149ef1 Merge pull request #11282 from DSpace/dependabot/maven/dspace-8_x/com.amazonaws-aws-java-sdk-s3-1.12.791
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.788 to 1.12.791
2025-09-10 09:42:11 -05:00
Tim Donohue
8b489f17f8 Merge pull request #11283 from DSpace/dependabot/maven/dspace-8_x/com.github.spotbugs-spotbugs-maven-plugin-4.9.4.2
Bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.4.0 to 4.9.4.2
2025-09-09 17:09:34 -05:00
Tim Donohue
54a56da305 Merge pull request #11284 from DSpace/dependabot/maven/dspace-8_x/net.minidev-json-smart-2.6.0
Bump net.minidev:json-smart from 2.5.2 to 2.6.0
2025-09-09 17:06:00 -05:00
Tim Donohue
81a17918c9 Merge pull request #11238 from DSpace/dependabot/maven/dspace-8_x/org.checkerframework-checker-qual-3.50.0
Bump org.checkerframework:checker-qual from 3.49.5 to 3.50.0
2025-09-09 17:01:29 -05:00
Tim Donohue
fc5ebac9b2 Merge pull request #11236 from DSpace/dependabot/maven/dspace-8_x/jersey.version-3.1.11
Bump jersey.version from 3.1.10 to 3.1.11
2025-09-09 16:58:00 -05:00
Tim Donohue
ad4f84d626 Merge pull request #11296 from DSpace/backport-11170-to-dspace-8_x
[Port dspace-8_x] DS-3796 Fix dates for Not to be processed checker-emailer report
2025-09-09 16:48:16 -05:00
Miika Nurminen
8061a4cc45 DS-3796 Fix dates for Not to be processed checker-emailer report
Based on 86de8c74a7 (ResultTypeInDateRange dates have already been fixed in upstream).

(cherry picked from commit fac888793c)
2025-09-09 21:14:26 +00:00
Tim Donohue
e0828a9686 Merge pull request #11290 from DSpace/backport-11154-to-dspace-8_x
[Port dspace-8_x] fix(#9774): Restore eager loading for CSRF tokens
2025-09-09 10:02:42 -05:00
JohnnyMendesC
e1e007a718 style: Remove <P> tag from Javadoc comment per review
(cherry picked from commit ee13554226)
2025-09-08 22:41:16 +00:00
JohnnyMendesC
e981fa2f66 fix(#9774): Restore eager loading for CSRF tokens
(cherry picked from commit 36192794d9)
2025-09-08 22:41:16 +00:00
dependabot[bot]
bf1bd68da7 Bump net.minidev:json-smart from 2.5.2 to 2.6.0
Bumps [net.minidev:json-smart](https://github.com/netplex/json-smart-v2) from 2.5.2 to 2.6.0.
- [Release notes](https://github.com/netplex/json-smart-v2/releases)
- [Commits](https://github.com/netplex/json-smart-v2/compare/2.5.2...v2.6.0)

---
updated-dependencies:
- dependency-name: net.minidev:json-smart
  dependency-version: 2.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 21:05:35 +00:00
dependabot[bot]
efd4d6207c Bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.4.0 to 4.9.4.2
Bumps [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.9.4.0 to 4.9.4.2.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.9.4.0...spotbugs-maven-plugin-4.9.4.2)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-version: 4.9.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 21:04:41 +00:00
dependabot[bot]
21ce7ddcf0 Bump com.amazonaws:aws-java-sdk-s3 from 1.12.788 to 1.12.791
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.788 to 1.12.791.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.788...1.12.791)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-version: 1.12.791
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 21:04:15 +00:00
Tim Donohue
93dca51ada Merge pull request #11272 from tdonohue/port_11171_to_8x
[Port dspace-8_x] Error in file upload after security fixes
2025-09-08 13:23:14 -05:00
Stefano Maffei
3ea0befd28 [CST-21947] fix security fix 2025-09-08 12:15:45 -05:00
Tim Donohue
dd106cad66 Merge pull request #11268 from tdonohue/port_11260_to_8x
[Port dspace-8_x] fix(#11191): Align Content-Disposition with RFC 5987/6266
2025-09-05 17:29:35 -05:00
Tim Donohue
948b3a4ef1 Merge pull request #11265 from DSpace/backport-11245-to-dspace-8_x
[Port dspace-8_x] AIP Packager bitstream URL fix
2025-09-05 16:57:37 -05:00
JohnnyMendesC
d6c3ae1897 fix(#11191): Align Content-Disposition with RFC 5987/6266 2025-09-05 16:52:32 -05:00
Kristof De Langhe
6dff0b5221 133552: unused import
(cherry picked from commit 93240941d3)
2025-09-05 21:18:59 +00:00
Kristof De Langhe
9674bc05be 133552: AIP packager bitstream url fix
(cherry picked from commit 11da562ea4)
2025-09-05 21:18:59 +00:00
Tim Donohue
ff6afd4d0b Merge pull request #11258 from DSpace/backport-10142-to-dspace-8_x
[Port dspace-8_x] DS-10133: make several usage statistics parameters configurable
2025-09-04 12:03:54 -05:00
nwoodward
11141f34ab make several usage statistics parameters configurable
(cherry picked from commit cd57985934)
2025-09-04 14:31:50 +00:00
Tim Donohue
86665cb4a7 Merge pull request #11254 from DSpace/backport-11041-to-dspace-8_x
[Port dspace-8_x] Update DSpace to use ROR API version 2
2025-09-03 16:48:12 -05:00
Jesiel Viana
c11b4d5e67 increase request timeout for ROR API
(cherry picked from commit 7393ce023f)
2025-09-03 21:00:51 +00:00
Jesiel Viana
2d8e209d7c update integration tests to use ROR API v2
(cherry picked from commit afb4d2e54a)
2025-09-03 21:00:51 +00:00
Jesiel Viana
3266f7538e revert the README
(cherry picked from commit d9e7b672e5)
2025-09-03 21:00:51 +00:00
Jesiel Viana
abbfde8623 refactoring and add addressLocality metadata
(cherry picked from commit e89b00f8e6)
2025-09-03 21:00:51 +00:00
Jesiel Viana
fc93298676 Update DSpace integration to use ROR API v2
(cherry picked from commit 53713629a6)
2025-09-03 21:00:51 +00:00
Jesiel Viana
ba5b147889 Update README.md
(cherry picked from commit 7011556503)
2025-09-03 21:00:51 +00:00
Tim Donohue
d79f89516c Merge pull request #11249 from tdonohue/port_11200_to_8x
[Port dspace-8_x] Fix database connection leak on failed login attempts
2025-09-03 14:51:21 -05:00
Tim Donohue
48e279d99d Merge pull request #11174 from MW3000/fix-11074-export-simple-archive-format
Fix #11074 export simple archive format when item has no collection
2025-09-03 14:46:00 -05:00
Alexandre Vryghem
286202e8df 133421: Removed database connection leak on unsuccessful login 2025-09-03 14:20:15 -05:00
Tim Donohue
39ab991d92 Merge pull request #11243 from DSpace/backport-11195-to-dspace-8_x
[Port dspace-8_x] Implement logging for index out-of-range in MetadataValueRemovePatchOperation
2025-09-02 15:10:32 -05:00
Sascha Szott
885c06b56f Implement logging for index out-of-range
Add logging for out-of-range index when removing metadata values.

(cherry picked from commit 7692b02b12)
2025-09-02 19:34:36 +00:00
Tim Donohue
106ff804d1 Merge pull request #11228 from DSpace/dependabot/maven/dspace-8_x/jakarta-61e252c494
Bump the jakarta group with 2 updates
2025-09-02 13:17:18 -05:00
Tim Donohue
7244485afc Merge pull request #11218 from DSpace/dependabot/maven/dspace-8_x/build-tools-e11e9b5c2b
Bump the build-tools group with 3 updates
2025-09-02 13:01:48 -05:00
Tim Donohue
d5b985be66 Merge pull request #11224 from DSpace/dependabot/maven/dspace-8_x/apache-commons-4538dd79bf
Bump commons-cli:commons-cli from 1.9.0 to 1.10.0 in the apache-commons group
2025-09-02 10:51:21 -05:00
Tim Donohue
378c27bd1d Merge pull request #11231 from DSpace/dependabot/maven/dspace-8_x/jetty.version-9.4.58.v20250814
Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814
2025-09-02 10:48:57 -05:00
Tim Donohue
7e1c1a9477 Merge pull request #11221 from DSpace/dependabot/maven/dspace-8_x/hibernate-603dfa8aab
Bump the hibernate group with 2 updates
2025-09-02 10:45:32 -05:00
Tim Donohue
1656cc5092 Merge pull request #11230 from DSpace/dependabot/maven/dspace-8_x/spring-08ddb74138
Bump the spring group with 25 updates
2025-09-02 10:41:30 -05:00
dependabot[bot]
89308f9b7c Bump org.ehcache:ehcache from 3.10.8 to 3.11.1
Bumps [org.ehcache:ehcache](https://github.com/ehcache/ehcache3) from 3.10.8 to 3.11.1.
- [Release notes](https://github.com/ehcache/ehcache3/releases)
- [Commits](https://github.com/ehcache/ehcache3/compare/v3.10.8...v3.11.1)

---
updated-dependencies:
- dependency-name: org.ehcache:ehcache
  dependency-version: 3.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 06:04:28 +00:00
dependabot[bot]
58d26cf56b Bump org.checkerframework:checker-qual from 3.49.5 to 3.50.0
Bumps [org.checkerframework:checker-qual](https://github.com/typetools/checker-framework) from 3.49.5 to 3.50.0.
- [Release notes](https://github.com/typetools/checker-framework/releases)
- [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/typetools/checker-framework/compare/checker-framework-3.49.5...checker-framework-3.50.0)

---
updated-dependencies:
- dependency-name: org.checkerframework:checker-qual
  dependency-version: 3.50.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 06:02:42 +00:00
dependabot[bot]
b099da6976 Bump jersey.version from 3.1.10 to 3.1.11
Bumps `jersey.version` from 3.1.10 to 3.1.11.

Updates `org.glassfish.jersey.core:jersey-client` from 3.1.10 to 3.1.11

Updates `org.glassfish.jersey.inject:jersey-hk2` from 3.1.10 to 3.1.11

---
updated-dependencies:
- dependency-name: org.glassfish.jersey.core:jersey-client
  dependency-version: 3.1.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.glassfish.jersey.inject:jersey-hk2
  dependency-version: 3.1.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 06:00:34 +00:00
dependabot[bot]
37ace6845e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814
Bumps `jetty.version` from 9.4.57.v20241219 to 9.4.58.v20250814.

Updates `org.eclipse.jetty:jetty-server` from 9.4.57.v20241219 to 9.4.58.v20250814

Updates `org.eclipse.jetty:jetty-deploy` from 9.4.57.v20241219 to 9.4.58.v20250814

Updates `org.eclipse.jetty:jetty-http` from 9.4.57.v20241219 to 9.4.58.v20250814

Updates `org.eclipse.jetty:jetty-io` from 9.4.57.v20241219 to 9.4.58.v20250814

Updates `org.eclipse.jetty:jetty-servlet` from 9.4.57.v20241219 to 9.4.58.v20250814

Updates `org.eclipse.jetty:jetty-util` from 9.4.57.v20241219 to 9.4.58.v20250814

Updates `org.eclipse.jetty:jetty-webapp` from 9.4.57.v20241219 to 9.4.58.v20250814

Updates `org.eclipse.jetty.http2:http2-common` from 9.4.57.v20241219 to 9.4.58.v20250814

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-version: 9.4.58.v20250814
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-deploy
  dependency-version: 9.4.58.v20250814
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-http
  dependency-version: 9.4.58.v20250814
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-io
  dependency-version: 9.4.58.v20250814
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-servlet
  dependency-version: 9.4.58.v20250814
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-util
  dependency-version: 9.4.58.v20250814
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-webapp
  dependency-version: 9.4.58.v20250814
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:http2-common
  dependency-version: 9.4.58.v20250814
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 05:50:11 +00:00
dependabot[bot]
5fc9d9d8e0 Bump the spring group with 25 updates
Bumps the spring group with 25 updates:

| Package | From | To |
| --- | --- | --- |
| [org.springframework:spring-orm](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-aop](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-context-support](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-tx](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-jdbc](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-webmvc](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-expression](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `6.2.9` | `6.2.10` |
| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-starter-tomcat](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-maven-plugin](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-starter-cache](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-starter](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-starter-thymeleaf](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-starter-web](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-starter-data-rest](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.boot:spring-boot-starter-log4j2](https://github.com/spring-projects/spring-boot) | `3.5.4` | `3.5.5` |
| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.5.2` | `6.5.3` |


Updates `org.springframework:spring-orm` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-core` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-beans` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-aop` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-context` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-context-support` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-tx` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-jdbc` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-web` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-webmvc` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-expression` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-test` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-core` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-beans` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-aop` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-context` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-context-support` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-tx` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-jdbc` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-web` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-webmvc` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-expression` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework:spring-test` from 6.2.9 to 6.2.10
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.9...v6.2.10)

Updates `org.springframework.boot:spring-boot-starter-test` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.security:spring-security-test` from 6.5.2 to 6.5.3
- [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/6.5.2...6.5.3)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.5.4 to 3.5.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.4...v3.5.5)

---
updated-dependencies:
- dependency-name: org.springframework:spring-orm
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-test
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-test
  dependency-version: 6.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 05:48:16 +00:00
dependabot[bot]
c07bf84e05 Bump the jakarta group with 2 updates
Bumps the jakarta group with 2 updates: [jakarta.mail:jakarta.mail-api](https://github.com/jakartaee/mail-api) and org.eclipse.angus:jakarta.mail.


Updates `jakarta.mail:jakarta.mail-api` from 2.1.3 to 2.1.4
- [Release notes](https://github.com/jakartaee/mail-api/releases)
- [Commits](https://github.com/jakartaee/mail-api/compare/2.1.3...2.1.4)

Updates `org.eclipse.angus:jakarta.mail` from 2.0.3 to 2.0.4

---
updated-dependencies:
- dependency-name: jakarta.mail:jakarta.mail-api
  dependency-version: 2.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: jakarta
- dependency-name: org.eclipse.angus:jakarta.mail
  dependency-version: 2.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: jakarta
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 05:46:45 +00:00
dependabot[bot]
54752958a9 Bump commons-cli:commons-cli in the apache-commons group
Bumps the apache-commons group with 1 update: [commons-cli:commons-cli](https://github.com/apache/commons-cli).


Updates `commons-cli:commons-cli` from 1.9.0 to 1.10.0
- [Changelog](https://github.com/apache/commons-cli/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-cli/compare/rel/commons-cli-1.9.0...rel/commons-cli-1.10.0)

---
updated-dependencies:
- dependency-name: commons-cli:commons-cli
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 05:44:18 +00:00
dependabot[bot]
c8c6972fa0 Bump the hibernate group with 2 updates
Bumps the hibernate group with 2 updates: [org.hibernate.validator:hibernate-validator](https://github.com/hibernate/hibernate-validator) and [org.hibernate.validator:hibernate-validator-cdi](https://github.com/hibernate/hibernate-validator).


Updates `org.hibernate.validator:hibernate-validator` from 8.0.2.Final to 8.0.3.Final
- [Changelog](https://github.com/hibernate/hibernate-validator/blob/8.0.3.Final/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-validator/compare/8.0.2.Final...8.0.3.Final)

Updates `org.hibernate.validator:hibernate-validator-cdi` from 8.0.2.Final to 8.0.3.Final
- [Changelog](https://github.com/hibernate/hibernate-validator/blob/8.0.3.Final/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-validator/compare/8.0.2.Final...8.0.3.Final)

Updates `org.hibernate.validator:hibernate-validator-cdi` from 8.0.2.Final to 8.0.3.Final
- [Changelog](https://github.com/hibernate/hibernate-validator/blob/8.0.3.Final/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-validator/compare/8.0.2.Final...8.0.3.Final)

---
updated-dependencies:
- dependency-name: org.hibernate.validator:hibernate-validator
  dependency-version: 8.0.3.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
- dependency-name: org.hibernate.validator:hibernate-validator-cdi
  dependency-version: 8.0.3.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
- dependency-name: org.hibernate.validator:hibernate-validator-cdi
  dependency-version: 8.0.3.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 05:43:38 +00:00
dependabot[bot]
b6bacd01ac Bump the build-tools group with 3 updates
Bumps the build-tools group with 3 updates: [com.github.spotbugs:spotbugs](https://github.com/spotbugs/spotbugs), [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) and [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin).


Updates `com.github.spotbugs:spotbugs` from 4.9.3 to 4.9.4
- [Release notes](https://github.com/spotbugs/spotbugs/releases)
- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spotbugs/spotbugs/compare/4.9.3...4.9.4)

Updates `com.github.spotbugs:spotbugs-maven-plugin` from 4.9.3.2 to 4.9.4.0
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.9.3.2...spotbugs-maven-plugin-4.9.4.0)

Updates `org.apache.maven.plugins:maven-javadoc-plugin` from 3.11.2 to 3.11.3
- [Release notes](https://github.com/apache/maven-javadoc-plugin/releases)
- [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.11.2...maven-javadoc-plugin-3.11.3)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs
  dependency-version: 4.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-version: 4.9.4.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-javadoc-plugin
  dependency-version: 3.11.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 05:43:19 +00:00
Tim Donohue
3c8d5f753c Merge pull request #11189 from DSpace/backport-11160-to-dspace-8_x
[Port dspace-8_x] fix(#8852): Statistics event processor now uses oaiPrefix instead of getHost
2025-08-21 16:56:17 -05:00
JohnnyMendesC
8a326fd327 fix(#8852): Statistics event processor now uses oaiPrefix instead of getHost
(cherry picked from commit c8fe80c22b)
2025-08-21 21:15:26 +00:00
Tim Donohue
965ca50eb7 Merge pull request #11185 from DSpace/backport-11161-to-dspace-8_x
[Port dspace-8_x] dspace-api/pom.xml: remove build-helper-maven-plugin
2025-08-21 08:54:46 -05:00
Tim Donohue
a097e94c1c Merge pull request #11182 from tdonohue/port_11168_to_8x
[Port dspace-8_x] Fix bean initialization with citation-page.enabled_communities
2025-08-21 08:46:08 -05:00
Alan Orth
d2f6140455 dspace-api/pom.xml: remove build-helper-maven-plugin
Remove the org.codehaus.mojo:build-helper-maven-plugin because the
`maven-version` property has been included by maven itself since
version 3.0.4. This fixes the following warning during build:

    [INFO] --- build-helper:3.6.1:maven-version (default) @ dspace-api ---
    [WARNING]  Goal 'maven-version' is deprecated: Maven since version 3.0.4 has such property build in: MNG-4112 <https://issues.apache.org/jira/browse/MNG-4112>. So goal can be removed.

(cherry picked from commit de3170d4eb)
2025-08-21 13:20:41 +00:00
Tim Donohue
1579cb3b82 Merge pull request #11178 from DSpace/backport-11166-to-dspace-8_x
[Port dspace-8_x] .github/workflows/codescan.yml: use codeql-action v3
2025-08-20 17:15:01 -05:00
Miika Nurminen
dc768cd5ae Fix bean initialization error on Tomcat startup if citation-page.enabled_communities is set
Arrays.asList produces non-mutable list but with communities, sub-collections are added dynamically on initializaion.
2025-08-20 17:03:31 -05:00
Tim Donohue
ef20abc3b2 Merge pull request #11176 from DSpace/backport-11156-to-dspace-8_x
[Port dspace-8_x] Metadata import empty collection column check
2025-08-20 16:28:32 -05:00
Alan Orth
3a160624b7 .github/workflows/codescan.yml: use codeql-action v3
Version 2 was deprecated in January, 2024 after the release of v3.

See: https://github.blog/changelog/2025-01-10-code-scanning-codeql-action-v2-is-now-deprecated/
(cherry picked from commit 19f3535dfd)
2025-08-20 21:08:53 +00:00
Joran De Braekeleer
d44a5ddc49 133268: Metadata import empty collection col check
(cherry picked from commit b9513228d7)
2025-08-20 20:50:52 +00:00
Martin Walk
d282f92427 Fix #11074 export simple archive format with no collection 2025-08-20 15:45:14 +02:00
kshepherd
12242b3357 Merge pull request #11152 from DSpace/backport-11150-to-dspace-8_x
[Port dspace-8_x] Fix for #9589 Incorrect Export of Search Results with Double Quotation Marks in DSpace 7. Reference PR #10103
2025-08-12 18:11:10 +02:00
im-shubham-vish
f79d012cbc Make parse protected to make it override in MetadataExportSearch Add Test for Double Quoted Search CSV Export
(cherry picked from commit 39a45f7f34)
2025-08-12 14:36:41 +00:00
Tim Donohue
4b678f2b7d Merge pull request #11144 from DSpace/backport-10508-to-dspace-8_x
[Port dspace-8_x] Fix checkpointing for DSpace "checker" command
2025-08-06 16:30:29 -05:00
Tim Donohue
ecdab82627 Revert to using java.util.Date instead of Instant to support earlier versions of DSpace. 2025-08-06 15:09:41 -05:00
David P. Steelman
e0cf6c717f Fix checkpointing for checksum checking
Fixes the checkpointing for checksum checking by actually committing
the changes to the database.

Replacing "uncacheEntity" with "commit", as testing has shown that this
is necessary to ensure that the checksum status is properly updated in
the most_recent_checksum" table when checksum process is interrupted.

The provided integration test fails if the checksums of bitstreams that
were checked before the interruption are not properly recorded in the
database.

(cherry picked from commit 502b655ef6)
2025-08-06 19:43:10 +00:00
Tim Donohue
de90ae8885 Merge pull request #11141 from DSpace/backport-11138-to-dspace-8_x
[Port dspace-8_x] FIX uses dc.source for bitstream originalName tag
2025-08-06 14:14:26 -05:00
Vincenzo Mecca
a972ecba51 fix: uses dc.source for bitstream originalName tag
Refs: DURACOM-391, #1130
(cherry picked from commit f5c0c17c66)
2025-08-06 18:37:48 +00:00
Tim Donohue
19b78775c3 Merge pull request #11136 from DSpace/backport-11131-to-dspace-8_x
[Port dspace-8_x] Enhance SWORDv1 Integration Tests & fix WRITE Permissions error for submitters
2025-08-06 13:33:38 -05:00
Tim Donohue
4091b27370 Fix WRITE permissions error when ingesting a new Item. Do not call "updateDSpaceObject" after calling "finishCreateItem" as the latter saves the object and removes submitter privileges from it.
(cherry picked from commit c2d05891ab)
2025-08-06 16:33:05 +00:00
Tim Donohue
ec83eb612f Add a deposit integration test for SWORDv1 based on the similar SWORDv2 test.
(cherry picked from commit 0589011849)
2025-08-06 16:33:05 +00:00
Tim Donohue
83889bb815 Merge pull request #11132 from DSpace/backport-10820-to-dspace-8_x
[Port dspace-8_x] ORCID Push: Fix SELF and PART_OF external identifier handling
2025-08-06 09:58:02 -05:00
Kim Shepherd
5d58cb78ea [TLC-1097] Additional javadoc for ORCID sync fix
(cherry picked from commit 1b864e6ca2)
2025-08-06 14:22:47 +00:00
Kim Shepherd
53538cd3e8 [TLC-1097] ORCID external identifier sync fix
Handle SELF and PART_OF identifiers properly based on
configuration, work type, and identifier type

(cherry picked from commit ad82b31c74)
2025-08-06 14:22:47 +00:00
Tim Donohue
b3a7bf4718 Merge pull request #11127 from DSpace/backport-10774-to-dspace-8_x
[Port dspace-8_x] Inherit custom, non-admin policies when creating new bundles
2025-08-01 13:56:36 -05:00
Kim Shepherd
a9ff57dddc [TLC-1117] Inherit custom, non-admin policies when creating new bundles
Also shifted some resource policy methods from ItemService to
AuthorizeService as they seemed better suited there.

(cherry picked from commit 924678a092)
2025-08-01 16:38:56 +00:00
Tim Donohue
a804448d8b Merge pull request #11124 from DSpace/backport-10490-to-dspace-8_x
[Port dspace-8_x] Fix checkpointing for bitstore migration
2025-07-31 16:24:19 -05:00
David P. Steelman
79b39e2306 Fix checkpointing for bitstore migration
Fixes the checkpointing for bitstore migration by actually committing
the changes to the database.

Replacing "dispatchEvents" with "commit" as testing has shown that this
is necessary to ensure that the status of bitstreams is properly
updated when the bitstore migration is interrupted.

The provided integration tests fail if bitstreams successfully migrated
before the interruption are not properly recorded in the database as
being in the destination assetstore.

(cherry picked from commit 3d7c45852d)
2025-07-31 20:52:46 +00:00
Tim Donohue
5ee984ee9f Merge pull request #11114 from DSpace/dependabot/maven/dspace-8_x/apache-commons-592043e7a6
Bump the apache-commons group with 2 updates
2025-07-31 08:47:15 -05:00
Tim Donohue
e57d8ae982 Merge pull request #11118 from DSpace/dependabot/maven/dspace-8_x/com.github.spotbugs-spotbugs-maven-plugin-4.9.3.2
Bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.3.0 to 4.9.3.2
2025-07-30 17:09:12 -05:00
Tim Donohue
d18a8715ea Merge pull request #10876 from DSpace/dependabot/maven/dspace-8_x/hibernate-09226aa1fb
Bump the hibernate group with 3 updates
2025-07-30 14:14:25 -05:00
dependabot[bot]
6145b74dda Bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.3.0 to 4.9.3.2
Bumps [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.9.3.0 to 4.9.3.2.
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.9.3.0...spotbugs-maven-plugin-4.9.3.2)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-version: 4.9.3.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-30 18:41:42 +00:00
dependabot[bot]
367b95f624 Bump the apache-commons group with 2 updates
Bumps the apache-commons group with 2 updates: [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) and [org.apache.commons:commons-csv](https://github.com/apache/commons-csv).


Updates `org.apache.commons:commons-compress` from 1.27.1 to 1.28.0
- [Changelog](https://github.com/apache/commons-compress/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-compress/compare/rel/commons-compress-1.27.1...rel/commons-compress-1.28.0)

Updates `org.apache.commons:commons-csv` from 1.14.0 to 1.14.1
- [Changelog](https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-csv/compare/rel/commons-csv-1.14.0...rel/commons-csv-1.14.1)

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-compress
  dependency-version: 1.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-csv
  dependency-version: 1.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-30 18:40:29 +00:00
dependabot[bot]
ca8de73234 Bump the hibernate group with 3 updates
Bumps the hibernate group with 3 updates: [org.hibernate.orm:hibernate-core](https://github.com/hibernate/hibernate-orm), [org.hibernate.orm:hibernate-jpamodelgen](https://github.com/hibernate/hibernate-orm) and [org.hibernate.orm:hibernate-jcache](https://github.com/hibernate/hibernate-orm).


Updates `org.hibernate.orm:hibernate-core` from 6.4.8.Final to 6.4.10.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.4.10/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-orm/compare/6.4.8...6.4.10)

Updates `org.hibernate.orm:hibernate-jpamodelgen` from 6.4.8.Final to 6.4.10.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.4.10/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-orm/compare/6.4.8...6.4.10)

Updates `org.hibernate.orm:hibernate-jcache` from 6.4.8.Final to 6.4.10.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.4.10/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-orm/compare/6.4.8...6.4.10)

Updates `org.hibernate.orm:hibernate-jpamodelgen` from 6.4.8.Final to 6.4.10.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.4.10/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-orm/compare/6.4.8...6.4.10)

Updates `org.hibernate.orm:hibernate-jcache` from 6.4.8.Final to 6.4.10.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.4.10/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-orm/compare/6.4.8...6.4.10)

---
updated-dependencies:
- dependency-name: org.hibernate.orm:hibernate-core
  dependency-version: 6.4.10.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
- dependency-name: org.hibernate.orm:hibernate-jpamodelgen
  dependency-version: 6.4.10.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
- dependency-name: org.hibernate.orm:hibernate-jcache
  dependency-version: 6.4.10.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
- dependency-name: org.hibernate.orm:hibernate-jpamodelgen
  dependency-version: 6.4.10.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
- dependency-name: org.hibernate.orm:hibernate-jcache
  dependency-version: 6.4.10.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-30 16:31:40 +00:00
Alan Orth
24c8ea4641 Merge pull request #11111 from tdonohue/always_use_utc 2025-07-30 09:15:57 -07:00
Tim Donohue
57b1cb4d37 Merge pull request #11095 from DSpace/dependabot/maven/dspace-8_x/spring-7f417dc251
Bump the spring group across 1 directory with 25 updates
2025-07-30 11:11:21 -05:00
Tim Donohue
c8ee72c0f2 Ensure DSpace defaults to UTC time zone in all code / tests. This is necessary so that Spring / Hibernate don't auto-switch timezones when reading from database. 2025-07-29 16:08:11 -05:00
Tim Donohue
fee111c738 Merge pull request #11107 from DSpace/backport-11067-to-dspace-8_x
[Port dspace-8_x] Simple Log4j tests with in-memory log appender
2025-07-29 10:47:26 -05:00
Tim Donohue
2fddb6e669 Merge pull request #11104 from tdonohue/port_11077_to_8x
[Port dspace-8_x] Add basic logging tests to our docker deployment script in GitHub actions
2025-07-29 10:14:33 -05:00
Kim Shepherd
e503174995 Add simple log4j WebappLoggingIT test
(cherry picked from commit 588c4ef4d2)
2025-07-29 14:16:27 +00:00
Tim Donohue
f32ea48d20 Add tests for backend logging to docker deployment tests 2025-07-29 09:09:57 -05:00
Tim Donohue
c044012299 Merge pull request #11092 from DSpace/dependabot/maven/dspace-8_x/org.apache.james-apache-mime4j-core-0.8.13
Bump org.apache.james:apache-mime4j-core from 0.8.12 to 0.8.13
2025-07-28 16:33:36 -05:00
Tim Donohue
693527bf57 Merge pull request #10936 from DSpace/dependabot/maven/dspace-8_x/test-tools-23e08ff3a5
Bump org.xmlunit:xmlunit-core from 2.10.2 to 2.10.3 in the test-tools group
2025-07-28 16:31:33 -05:00
Tim Donohue
f0d1349593 Merge pull request #11007 from DSpace/dependabot/maven/dspace-8_x/build-tools-6b6491e6e1
Bump the build-tools group across 1 directory with 5 updates
2025-07-28 16:29:26 -05:00
Tim Donohue
a4e1a0d57c Fix checkstyle indentation issue 2025-07-28 15:53:11 -05:00
Tim Donohue
9eeec6ce95 Fix errorprone discovered issues. Many tests are missing @Test annotation. Once enabled, a broken test was found & fixed in WorkflowItemRestRepositoryIT. 2025-07-28 15:53:00 -05:00
dependabot[bot]
e37a7ca747 Bump the build-tools group across 1 directory with 5 updates
Bumps the build-tools group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.38.0` | `2.39.0` |
| [com.google.errorprone:error_prone_annotations](https://github.com/google/error-prone) | `2.38.0` | `2.39.0` |
| [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) | `3.5.0` | `3.6.0` |
| [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) | `3.2.7` | `3.2.8` |
| [org.codehaus.mojo:license-maven-plugin](https://github.com/mojohaus/license-maven-plugin) | `2.5.0` | `2.6.0` |



Updates `com.google.errorprone:error_prone_core` from 2.38.0 to 2.39.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.38.0...v2.39.0)

Updates `com.google.errorprone:error_prone_annotations` from 2.38.0 to 2.39.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.38.0...v2.39.0)

Updates `com.google.errorprone:error_prone_annotations` from 2.38.0 to 2.39.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.38.0...v2.39.0)

Updates `org.apache.maven.plugins:maven-enforcer-plugin` from 3.5.0 to 3.6.0
- [Release notes](https://github.com/apache/maven-enforcer/releases)
- [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.5.0...enforcer-3.6.0)

Updates `org.apache.maven.plugins:maven-gpg-plugin` from 3.2.7 to 3.2.8
- [Release notes](https://github.com/apache/maven-gpg-plugin/releases)
- [Commits](https://github.com/apache/maven-gpg-plugin/compare/maven-gpg-plugin-3.2.7...maven-gpg-plugin-3.2.8)

Updates `org.codehaus.mojo:license-maven-plugin` from 2.5.0 to 2.6.0
- [Release notes](https://github.com/mojohaus/license-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/license-maven-plugin/compare/2.5.0...2.6.0)

---
updated-dependencies:
- dependency-name: com.google.errorprone:error_prone_core
  dependency-version: 2.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.google.errorprone:error_prone_annotations
  dependency-version: 2.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.google.errorprone:error_prone_annotations
  dependency-version: 2.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-enforcer-plugin
  dependency-version: 3.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-gpg-plugin
  dependency-version: 3.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.codehaus.mojo:license-maven-plugin
  dependency-version: 2.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 19:41:53 +00:00
Tim Donohue
0ad461cac3 Merge pull request #11101 from mwoodiupui/my-11042-8x
Avoid injection vulnerability in controlled vocabulary lookup 8_x
2025-07-28 14:15:22 -05:00
Mark H. Wood
0f6f9b5fb7 Correct some assumptions about what should be quoted. 2025-07-28 14:28:02 -04:00
Mark H. Wood
93c1d8f5ae Variables in XPath expressions should not be quoted.
Documentation cleanup.
Clean up many IDE warnings.

(cherry picked from commit 7deaf1cca5)
2025-07-28 14:22:21 -04:00
Mark H. Wood
b9a3ecf764 'No match' should be test failure, not index error.
(cherry picked from commit c781ba2780)
2025-07-28 14:12:34 -04:00
Zeroday BYTE
6ef8ea0dab Update DSpaceControlledVocabulary.java
(cherry picked from commit e94f0a9cb3)
2025-07-28 14:10:27 -04:00
Alan Orth
86e60577be Merge pull request #11090 from DSpace/dependabot/maven/dspace-8_x/com.opencsv-opencsv-5.12.0 2025-07-28 09:29:59 -07:00
Tim Donohue
2ea98dcd91 Merge pull request #11056 from DSpace/dependabot/maven/dspace-8_x/com.amazonaws-aws-java-sdk-s3-1.12.788
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.785 to 1.12.788
2025-07-28 08:57:42 -05:00
Tim Donohue
efd15476d5 Merge pull request #11097 from DSpace/dependabot/maven/dspace-8_x/apache-commons-7e5b090d5c
Bump the apache-commons group across 1 directory with 5 updates
2025-07-28 08:56:22 -05:00
Tim Donohue
eba96e33ed Merge pull request #11053 from DSpace/dependabot/maven/dspace-8_x/fasterxml-76b009c56a
Bump the fasterxml group with 4 updates
2025-07-28 08:50:29 -05:00
dependabot[bot]
68613d2c5a Bump the apache-commons group across 1 directory with 5 updates
Bumps the apache-commons group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.18.0` | `1.19.0` |
| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.19.0` | `2.20.0` |
| org.apache.commons:commons-lang3 | `3.17.0` | `3.18.0` |
| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.13.1` | `1.14.0` |
| commons-validator:commons-validator | `1.9.0` | `1.10.0` |



Updates `commons-codec:commons-codec` from 1.18.0 to 1.19.0
- [Changelog](https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-codec/compare/rel/commons-codec-1.18.0...rel/commons-codec-1.19.0)

Updates `commons-io:commons-io` from 2.19.0 to 2.20.0
- [Changelog](https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-io/compare/rel/commons-io-2.19.0...rel/commons-io-2.20.0)

Updates `org.apache.commons:commons-lang3` from 3.17.0 to 3.18.0

Updates `org.apache.commons:commons-text` from 1.13.1 to 1.14.0
- [Changelog](https://github.com/apache/commons-text/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-text/compare/rel/commons-text-1.13.1...rel/commons-text-1.14.0)

Updates `commons-validator:commons-validator` from 1.9.0 to 1.10.0

---
updated-dependencies:
- dependency-name: commons-codec:commons-codec
  dependency-version: 1.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: commons-io:commons-io
  dependency-version: 2.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-lang3
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-text
  dependency-version: 1.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: commons-validator:commons-validator
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:34:13 +00:00
dependabot[bot]
0cd33e09fa Bump the spring group across 1 directory with 25 updates
Bumps the spring group with 25 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [org.springframework:spring-orm](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-aop](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-context-support](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-tx](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-jdbc](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-webmvc](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-expression](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `6.2.8` | `6.2.9` |
| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-starter-tomcat](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-maven-plugin](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-starter-cache](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-starter](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-starter-thymeleaf](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-starter-web](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-starter-data-rest](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.boot:spring-boot-starter-log4j2](https://github.com/spring-projects/spring-boot) | `3.5.3` | `3.5.4` |
| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.5.1` | `6.5.2` |



Updates `org.springframework:spring-orm` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-core` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-beans` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-aop` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-context` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-context-support` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-tx` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-jdbc` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-web` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-webmvc` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-expression` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-test` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-core` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-beans` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-aop` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-context` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-context-support` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-tx` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-jdbc` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-web` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-webmvc` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-expression` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework:spring-test` from 6.2.8 to 6.2.9
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.8...v6.2.9)

Updates `org.springframework.boot:spring-boot-starter-test` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.security:spring-security-test` from 6.5.1 to 6.5.2
- [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/6.5.1...6.5.2)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.5.3 to 3.5.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.3...v3.5.4)

---
updated-dependencies:
- dependency-name: org.springframework:spring-orm
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-test
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-test
  dependency-version: 6.5.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 04:04:36 +00:00
dependabot[bot]
db9c5e6599 Bump org.apache.james:apache-mime4j-core from 0.8.12 to 0.8.13
Bumps org.apache.james:apache-mime4j-core from 0.8.12 to 0.8.13.

---
updated-dependencies:
- dependency-name: org.apache.james:apache-mime4j-core
  dependency-version: 0.8.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 03:49:26 +00:00
dependabot[bot]
c199df9d4f Bump com.opencsv:opencsv from 5.11.1 to 5.12.0
Bumps com.opencsv:opencsv from 5.11.1 to 5.12.0.

---
updated-dependencies:
- dependency-name: com.opencsv:opencsv
  dependency-version: 5.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 03:47:20 +00:00
dependabot[bot]
59e37eb381 Bump org.xmlunit:xmlunit-core in the test-tools group
Bumps the test-tools group with 1 update: [org.xmlunit:xmlunit-core](https://github.com/xmlunit/xmlunit).


Updates `org.xmlunit:xmlunit-core` from 2.10.2 to 2.10.3
- [Release notes](https://github.com/xmlunit/xmlunit/releases)
- [Changelog](https://github.com/xmlunit/xmlunit/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/xmlunit/xmlunit/compare/v2.10.2...v2.10.3)

---
updated-dependencies:
- dependency-name: org.xmlunit:xmlunit-core
  dependency-version: 2.10.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: test-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 03:18:35 +00:00
dependabot[bot]
d396e4968b Bump the fasterxml group with 4 updates
Bumps the fasterxml group with 4 updates: [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson), [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core), [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) and com.fasterxml.jackson.datatype:jackson-datatype-jsr310.


Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.19.1 to 2.19.2
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.19.1 to 2.19.2
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.19.1...jackson-core-2.19.2)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.19.1 to 2.19.2
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.19.1...jackson-core-2.19.2)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.19.1 to 2.19.2
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.19.1 to 2.19.2

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.19.1 to 2.19.2

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-version: 2.19.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-version: 2.19.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310
  dependency-version: 2.19.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310
  dependency-version: 2.19.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 03:09:34 +00:00
Tim Donohue
d2e7321391 Merge pull request #11069 from DSpace/backport-10356-to-dspace-8_x
[Port dspace-8_x] Live Import - PubMed - support optional apiKey config
2025-07-23 15:05:22 -05:00
Marie Verdonck
4ce1f73033 109807: Live Import - PubMed - support optional apiKey config
(cherry picked from commit c25433ee17)
2025-07-23 17:31:27 +00:00
Tim Donohue
13f27bc0a8 Merge tag 'dspace-7.6.5' into dspace-8_x
[maven-release-plugin] copy for tag dspace-7.6.5
2025-07-22 16:04:31 -05:00
Tim Donohue
6e8b6cc33a [maven-release-plugin] prepare release dspace-7.6.5 2025-07-22 15:03:04 -05:00
Tim Donohue
479cb76885 Minor updates to LICENSES_THIRD_PARTY for 7.6.5 release 2025-07-22 14:42:47 -05:00
Tim Donohue
5b639ed8ea Merge pull request #11065 from tdonohue/port_11063_to_8x
[Port dspace-8_x] Fix several unit/integration test failures that only occur on Windows
2025-07-22 09:35:06 -05:00
Tim Donohue
5f291400b3 Merge pull request #11066 from tdonohue/port_11063_to_7x
[Port dspace-7_x] Fix several unit/integration test failures that only occur on Windows
2025-07-22 09:34:56 -05:00
kshepherd
dd7243eee2 Merge pull request #11027 from DSpace/dependabot/maven/dspace-8_x/log4j.version-2.25.1
Bump log4j.version from 2.24.3 to 2.25.1
2025-07-22 16:26:20 +02:00
kshepherd
1bd4da3899 Merge pull request #11028 from DSpace/dependabot/maven/dspace-7_x/log4j.version-2.25.1
Bump log4j.version from 2.25.0 to 2.25.1
2025-07-22 16:23:59 +02:00
Tim Donohue
15b3f314a3 Force UTF-8 encoding in all tests. This fixes several test failures when running tests from Windows commandline because Windows doesn't default to using UTF-8. 2025-07-22 08:59:50 -05:00
Tim Donohue
28686fc48a Improve logging in AbstractLiveImportIntegrationTest (to make tests easier to debug). Replace obscure StringInputStream (from Ant) with IOUtils.toInputStream 2025-07-22 08:59:44 -05:00
Tim Donohue
d2c120bd8b Fix broken tests on Windows by using Paths to split file path instead of regex. Also switch to in-memory s3mock because Windows cannot cleanup created files successfully. 2025-07-22 08:59:39 -05:00
Tim Donohue
39fb2afba1 Update test to no longer assume 127.0.0.1 will always respond with "localhost" as the hostname. On my machine it does not. 2025-07-22 08:59:34 -05:00
Tim Donohue
a770a6b703 Force UTF-8 encoding in all tests. This fixes several test failures when running tests from Windows commandline because Windows doesn't default to using UTF-8. 2025-07-22 08:56:15 -05:00
Tim Donohue
548af8b3cb Improve logging in AbstractLiveImportIntegrationTest (to make tests easier to debug). Replace obscure StringInputStream (from Ant) with IOUtils.toInputStream 2025-07-22 08:56:08 -05:00
Tim Donohue
3537c72810 Fix broken tests on Windows by using Paths to split file path instead of regex. Also switch to in-memory s3mock because Windows cannot cleanup created files successfully. 2025-07-22 08:55:59 -05:00
Tim Donohue
e2935c01e5 Update test to no longer assume 127.0.0.1 will always respond with "localhost" as the hostname. On my machine it does not. 2025-07-22 08:55:49 -05:00
dependabot[bot]
271f50b377 Bump com.amazonaws:aws-java-sdk-s3 from 1.12.785 to 1.12.788
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.785 to 1.12.788.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.785...1.12.788)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-version: 1.12.788
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 03:08:17 +00:00
Tim Donohue
d68c555853 Merge tag 'dspace-7.6.4' into dspace-8_x
[maven-release-plugin] copy for tag dspace-7.6.4
2025-07-14 16:48:56 -05:00
Tim Donohue
8f4e771707 [maven-release-plugin] prepare for next development iteration 2025-07-14 14:43:37 -05:00
Tim Donohue
1743314da4 [maven-release-plugin] prepare release dspace-8.2 2025-07-14 14:43:33 -05:00
Tim Donohue
9424ccf4aa [maven-release-plugin] prepare for next development iteration 2025-07-14 12:03:15 -05:00
Tim Donohue
a5f04f9c77 [maven-release-plugin] prepare release dspace-7.6.4 2025-07-14 12:03:12 -05:00
Tim Donohue
3163ff8b1e Merge pull request #11037 from DSpace/backport-11031-to-dspace-8_x
[Port dspace-8_x] Improve SAF manifest path handling
2025-07-14 10:18:33 -05:00
Tim Donohue
f506d18bb1 Merge pull request #11036 from DSpace/backport-11031-to-dspace-7_x
[Port dspace-7_x] Improve SAF manifest path handling
2025-07-14 10:18:06 -05:00
Tim Donohue
4da8ed69f4 Merge pull request #11034 from kshepherd/saf-xml-fix-2_8.x
Improve SAF Import XML handling (8.x)
2025-07-14 10:01:22 -05:00
Kim Shepherd
d6c76bc639 Fix line length in DSBitstore log
(cherry picked from commit dbf524c112)
2025-07-14 14:37:03 +00:00
Kim Shepherd
0e95ba80de return existing File constructed and validated for bitstream
(cherry picked from commit 31b1c922b2)
2025-07-14 14:37:03 +00:00
Kim Shepherd
daca9d8ec7 Enforce bitstream path to be within (fs) bitstore base on get
(cherry picked from commit 6799660a90)
2025-07-14 14:37:03 +00:00
MMilosz
2c934dfbf7 fix: prevent path traversal in SAF import
(cherry picked from commit 596d8666f4)
2025-07-14 14:37:03 +00:00
Kim Shepherd
bc17559162 Fix line length in DSBitstore log
(cherry picked from commit dbf524c112)
2025-07-14 14:36:58 +00:00
Kim Shepherd
907b42c2a9 return existing File constructed and validated for bitstream
(cherry picked from commit 31b1c922b2)
2025-07-14 14:36:58 +00:00
Kim Shepherd
b0a4a3400f Enforce bitstream path to be within (fs) bitstore base on get
(cherry picked from commit 6799660a90)
2025-07-14 14:36:58 +00:00
MMilosz
84e308c8f5 fix: prevent path traversal in SAF import
(cherry picked from commit 596d8666f4)
2025-07-14 14:36:58 +00:00
Tim Donohue
91989e5efb Merge pull request #11032 from kshepherd/saf-xml-fix-2_7.x
Improve SAF Import XML handling (7.x)
2025-07-14 09:22:15 -05:00
Kim Shepherd
e9bc74cf6d Fix missing XMLUtils imports 2025-07-14 13:09:43 +02:00
Kim Shepherd
dda6d9ec9d Remove unused imports 2025-07-14 13:07:45 +02:00
Kim Shepherd
6b909126e6 Remove unused imports 2025-07-14 13:07:12 +02:00
Kim Shepherd
45a9f8b530 Re-add file separator to normalized SAF item path 2025-07-14 12:50:32 +02:00
Kim Shepherd
f473272a08 Re-add file separator to normalized SAF item path 2025-07-14 12:50:18 +02:00
dependabot[bot]
a381611ebd Bump log4j.version from 2.25.0 to 2.25.1
Bumps `log4j.version` from 2.25.0 to 2.25.1.

Updates `org.apache.logging.log4j:log4j-api` from 2.25.0 to 2.25.1

Updates `org.apache.logging.log4j:log4j-core` from 2.25.0 to 2.25.1

Updates `org.apache.logging.log4j:log4j-1.2-api` from 2.25.0 to 2.25.1

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-api
  dependency-version: 2.25.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-version: 2.25.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.logging.log4j:log4j-1.2-api
  dependency-version: 2.25.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 03:45:03 +00:00
dependabot[bot]
802a39fb77 Bump log4j.version from 2.24.3 to 2.25.1
Bumps `log4j.version` from 2.24.3 to 2.25.1.

Updates `org.apache.logging.log4j:log4j-api` from 2.24.3 to 2.25.1

Updates `org.apache.logging.log4j:log4j-core` from 2.24.3 to 2.25.1

Updates `org.apache.logging.log4j:log4j-slf4j2-impl` from 2.24.3 to 2.25.1

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-api
  dependency-version: 2.25.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-version: 2.25.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.logging.log4j:log4j-slf4j2-impl
  dependency-version: 2.25.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 03:33:08 +00:00
Kim Shepherd
259c3ddd37 Enforce path traversal check on import subdir (pre-processing) 2025-07-13 10:08:30 +02:00
Kim Shepherd
55c33ede63 Enforce path traversal check on import subdir (pre-processing) 2025-07-13 10:07:54 +02:00
Tim Donohue
d48e22aff5 Update LICENSES_THIRD_PARTY to prepare for 7.6.4 release. 2025-07-11 14:01:37 -05:00
Tim Donohue
85dbfd2219 Update LICENSES_THIRD_PARTY to prepare for 8.2 release 2025-07-11 13:51:03 -05:00
Tim Donohue
4fd3112ebf Merge pull request #10690 from atmire/w2p-119612_export-item-limit-dspace-7_x
[Port dspace-7_x] support a configurable limit for exporting items as it can take a up a huge amount of resources
2025-07-10 13:25:38 -05:00
Kim Shepherd
99b2a630a7 Allow trusted XML builder to enforce base path for entities 2025-07-10 17:22:58 +02:00
Kim Shepherd
d90065ee9a Allow trusted XML builder to enforce base path for entities 2025-07-10 17:22:32 +02:00
Tim Donohue
5fae34937a Merge pull request #10946 from DSpace/dependabot/maven/dspace-8_x/spring-1022c09fe2
Bump the spring group across 1 directory with 25 updates
2025-07-09 07:00:58 -05:00
Tim Donohue
2374ba4f53 Merge pull request #10990 from DSpace/dependabot/maven/dspace-8_x/org.checkerframework-checker-qual-3.49.5
Bump org.checkerframework:checker-qual from 3.49.4 to 3.49.5
2025-07-08 16:26:18 -05:00
Tim Donohue
ac0a55468e Merge pull request #10689 from atmire/w2p-119612_export-item-limit-dspace-8_x
[Port dspace-8_x] support a configurable limit for exporting items as it can take a up a huge amount of resources
2025-07-07 13:07:29 -05:00
dependabot[bot]
2f4c5e8826 Bump the spring group across 1 directory with 25 updates
Bumps the spring group with 25 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [org.springframework:spring-orm](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-aop](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-context-support](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-tx](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-jdbc](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-webmvc](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-expression](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `6.2.7` | `6.2.8` |
| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-starter-tomcat](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-maven-plugin](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-starter-cache](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-starter](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-starter-thymeleaf](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-starter-web](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-starter-data-rest](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.boot:spring-boot-starter-log4j2](https://github.com/spring-projects/spring-boot) | `3.5.0` | `3.5.3` |
| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.5.0` | `6.5.1` |



Updates `org.springframework:spring-orm` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-core` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-beans` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-aop` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-context` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-context-support` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-tx` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-jdbc` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-web` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-webmvc` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-expression` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-test` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-core` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-beans` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-aop` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-context` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-context-support` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-tx` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-jdbc` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-web` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-webmvc` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-expression` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework:spring-test` from 6.2.7 to 6.2.8
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.7...v6.2.8)

Updates `org.springframework.boot:spring-boot-starter-test` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.security:spring-security-test` from 6.5.0 to 6.5.1
- [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/6.5.0...6.5.1)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.5.0 to 3.5.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.5.0...v3.5.3)

---
updated-dependencies:
- dependency-name: org.springframework:spring-orm
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-test
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-test
  dependency-version: 6.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 02:52:43 +00:00
Tim Donohue
8c80b67b04 EPO and PubMed only need to allow for DOCTYPEs. All other XML security changes can be used. 2025-07-03 12:49:11 +02:00
Kim Shepherd
f7dcbf1b44 Safe and consistent XML entity handling in parsers 2025-07-03 12:48:47 +02:00
Tim Donohue
d3f62c7f1b EPO and PubMed only need to allow for DOCTYPEs. All other XML security changes can be used. 2025-07-03 12:43:51 +02:00
Kim Shepherd
4685450194 Safe and consistent XML entity handling in parsers 2025-07-03 12:43:26 +02:00
Tim Donohue
89462082ef Merge pull request #10999 from DSpace/backport-10997-to-dspace-8_x
[Port dspace-8_x] Point directly to HTTPS address for ArXiv
2025-07-02 13:21:24 -05:00
Tim Donohue
a9546055f4 Merge pull request #10998 from DSpace/backport-10997-to-dspace-7_x
[Port dspace-7_x] Point directly to HTTPS address for ArXiv
2025-07-02 13:21:17 -05:00
Yury Bondarenko
59ddbe5ee8 Point directly to HTTPS address for ArXiv
(cherry picked from commit cf0d6635f2)
2025-07-02 16:22:54 +00:00
Yury Bondarenko
8f9a7f1f92 Point directly to HTTPS address for ArXiv
(cherry picked from commit cf0d6635f2)
2025-07-02 16:22:49 +00:00
Tim Donohue
042bf15237 Merge pull request #10994 from tdonohue/port_10986_to_7x
[Port dspace-7_x] Update POM to use Sonatype's Central Portal for Maven Releases
2025-07-01 14:25:05 -05:00
Tim Donohue
84fa84474b Merge pull request #10993 from tdonohue/port_10986_to_8x
[Port dspace-8_x] Update POM to use Sonatype's Central Portal for Maven Releases
2025-07-01 14:24:55 -05:00
Tim Donohue
8879675d39 Merge pull request #9965 from atmire/accessibility-settings-8_x
[Port dspace-8_x] Accessibility settings metadata field
2025-07-01 13:56:34 -05:00
Tim Donohue
76c50ac43e Update POM to use central-publishing-maven-plugin and Sonatype's Central Portal 2025-07-01 12:22:58 -05:00
Tim Donohue
24e165056d Update POM to use central-publishing-maven-plugin and Sonatype's Central Portal 2025-07-01 12:18:54 -05:00
dependabot[bot]
b713b26daf Bump org.checkerframework:checker-qual from 3.49.4 to 3.49.5
Bumps [org.checkerframework:checker-qual](https://github.com/typetools/checker-framework) from 3.49.4 to 3.49.5.
- [Release notes](https://github.com/typetools/checker-framework/releases)
- [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/typetools/checker-framework/compare/checker-framework-3.49.4...checker-framework-3.49.5)

---
updated-dependencies:
- dependency-name: org.checkerframework:checker-qual
  dependency-version: 3.49.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 17:15:16 +00:00
Tim Donohue
2b9b14501c Merge pull request #9966 from atmire/accessibility-settings-7_x
[Port dspace-7_x] Accessibility settings metadata field
2025-06-30 13:22:15 -05:00
Alan Orth
96ce51ae09 Merge pull request #10914 from DSpace/dependabot/maven/dspace-7_x/fasterxml-4343a5c2e7 2025-06-30 07:00:24 +03:00
dependabot[bot]
66a75f522f Bump the fasterxml group with 3 updates
Bumps the fasterxml group with 3 updates: [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson), [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) and [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson).


Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.19.0 to 2.19.1
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.19.0 to 2.19.1
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.19.0...jackson-core-2.19.1)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.19.0 to 2.19.1
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.19.0...jackson-core-2.19.1)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.19.0 to 2.19.1
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 02:37:25 +00:00
Tim Donohue
88a1ac08bf Merge pull request #10970 from DSpace/backport-10961-to-dspace-7_x
[Port dspace-7_x] Fix patching metadata on unknown field clears all DSO metadata
2025-06-27 15:03:33 -05:00
Tim Donohue
aac45284d2 Correct metadata value count for dspace-7_x 2025-06-27 14:06:33 -05:00
Tim Donohue
36512425d1 Merge pull request #10971 from DSpace/backport-10961-to-dspace-8_x
[Port dspace-8_x] Fix patching metadata on unknown field clears all DSO metadata
2025-06-27 13:02:04 -05:00
abhinav
d91dc5c691 move the exception to patchUtils
(cherry picked from commit a2dc6fbdf8)
2025-06-27 16:42:49 +00:00
abhinav
a60f219353 Update PatchMetadataIT
(cherry picked from commit 27d59085db)
2025-06-27 16:42:49 +00:00
abhinav
1538920276 fix metadata getting cleared on patch request with invalid field
(cherry picked from commit e559af1841)
2025-06-27 16:42:48 +00:00
abhinav
130442746a move the exception to patchUtils
(cherry picked from commit a2dc6fbdf8)
2025-06-27 16:42:45 +00:00
abhinav
934f73f412 Update PatchMetadataIT
(cherry picked from commit 27d59085db)
2025-06-27 16:42:45 +00:00
abhinav
172783691b fix metadata getting cleared on patch request with invalid field
(cherry picked from commit e559af1841)
2025-06-27 16:42:44 +00:00
Tim Donohue
04f443b589 Merge pull request #10896 from mwoodiupui/9733-7
[Port dspace-7_x] filter-media:  make POI record buffer size adjustable.
2025-06-26 16:58:17 -05:00
Tim Donohue
be0e40cd40 Merge pull request #10965 from TexasDigitalLibrary/port_10874_8x
[Port dspace-8_x] dspace-api: improve date parsing for Solr sort indexes
2025-06-26 16:21:21 -05:00
Tim Donohue
61277b72d9 Merge pull request #10875 from alanorth/malformed-dates-7x
[Port dspace-7_x] dspace-api: improve date parsing for Solr sort indexes
2025-06-26 16:19:22 -05:00
Mark H. Wood
e2e402f0de Merge branch 'dspace-7_x' of github.com:DSpace/DSpace into 9733-7 2025-06-26 13:17:22 -04:00
Mark H. Wood
d0b5911cf6 Make POI record buffer size adjustable. 2025-06-26 13:16:32 -04:00
nwoodward
47922396d3 dspace-api: improve date parsing for Solr sort 2025-06-26 11:16:32 -05:00
Alan Orth
27540b93bf Merge pull request #10865 from DSpace/dependabot/maven/dspace-7_x/jersey.version-2.47 2025-06-26 08:38:25 +02:00
Alan Orth
62512bdec8 Merge pull request #10915 from DSpace/dependabot/maven/dspace-7_x/org.postgresql-postgresql-42.7.7 2025-06-26 08:36:07 +02:00
Alan Orth
cd8c277ae5 Merge pull request #10950 from DSpace/dependabot/maven/dspace-7_x/log4j.version-2.25.0 2025-06-26 08:28:03 +02:00
Tim Donohue
9f9d810bea Merge pull request #10952 from max-nuding/backport-10688-to-dspace-7_x
[Port dspace-7_x] Allow collection admins to add new policies for bitstreams
2025-06-25 17:11:11 -05:00
Tim Donohue
57a1de5ecd Update deploy demo.dspace.org branch to 9.x to ensure older branches never trigger a redeploy. 2025-06-25 16:41:48 -05:00
Tim Donohue
8e5bc3c962 Update deploy demo.dspace.org branch to 9.x to ensure older branches never trigger a redeploy. 2025-06-25 16:40:11 -05:00
Tim Donohue
f31ff02baa Merge pull request #10895 from mwoodiupui/9733-8
[Port dspace-8_x] filter-media:  make POI record buffer size adjustable.
2025-06-25 16:33:51 -05:00
Tim Donohue
1a1057c732 Merge pull request #10951 from max-nuding/backport-10688-to-dspace-8_x
[Port dspace-8_x] Allow collection admins to add new policies for bitstreams
2025-06-25 09:18:28 -05:00
max.nuding
e3b9179482 remove unnecessary code 2025-06-25 10:36:51 +02:00
max.nuding
eb4e741bc7 remove unnecessary code 2025-06-25 10:36:10 +02:00
dependabot[bot]
312416a716 Bump jersey.version from 2.46 to 2.47
Bumps `jersey.version` from 2.46 to 2.47.

Updates `org.glassfish.jersey.core:jersey-client` from 2.46 to 2.47

Updates `org.glassfish.jersey.inject:jersey-hk2` from 2.46 to 2.47

Updates `org.glassfish.jersey.core:jersey-server` from 2.46 to 2.47

Updates `org.glassfish.jersey.containers:jersey-container-servlet` from 2.46 to 2.47

Updates `org.glassfish.jersey.media:jersey-media-json-jackson` from 2.46 to 2.47

Updates `org.glassfish.jersey.media:jersey-media-jaxb` from 2.46 to 2.47

Updates `org.glassfish.jersey.ext:jersey-spring5` from 2.46 to 2.47

---
updated-dependencies:
- dependency-name: org.glassfish.jersey.core:jersey-client
  dependency-version: '2.47'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.inject:jersey-hk2
  dependency-version: '2.47'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.core:jersey-server
  dependency-version: '2.47'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.containers:jersey-container-servlet
  dependency-version: '2.47'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.media:jersey-media-json-jackson
  dependency-version: '2.47'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.media:jersey-media-jaxb
  dependency-version: '2.47'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.ext:jersey-spring5
  dependency-version: '2.47'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-24 20:24:13 +00:00
dependabot[bot]
8839eefbe7 Bump org.postgresql:postgresql from 42.7.6 to 42.7.7
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.6 to 42.7.7.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.6...REL42.7.7)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-version: 42.7.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-24 20:09:59 +00:00
Alan Orth
b594ebbf9e dspace-api: improve date parsing for Solr sort
Re-use DSpace date parsing from o.d.util.MultiFormatDateParser for
more robust date support when creating of Solr browse/sort indexes.
2025-06-24 22:08:07 +02:00
dependabot[bot]
230bf80b5f Bump log4j.version from 2.24.3 to 2.25.0
Bumps `log4j.version` from 2.24.3 to 2.25.0.

Updates `org.apache.logging.log4j:log4j-api` from 2.24.3 to 2.25.0

Updates `org.apache.logging.log4j:log4j-core` from 2.24.3 to 2.25.0

Updates `org.apache.logging.log4j:log4j-1.2-api` from 2.24.3 to 2.25.0

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-api
  dependency-version: 2.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-version: 2.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.logging.log4j:log4j-1.2-api
  dependency-version: 2.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-24 20:04:48 +00:00
max.nuding
d0ca7bd8b0 fix import ordering 2025-06-24 07:19:39 +02:00
max.nuding
75aecc1d75 fix another missing semicolon 2025-06-24 07:06:59 +02:00
max.nuding
db6c4362ec fix imports for checkstyle 2025-06-24 07:03:38 +02:00
max.nuding
b8923c986f fix imports for checkstyle 2025-06-24 07:01:56 +02:00
max.nuding
01b0f63fff fix missing imports 2025-06-24 06:52:17 +02:00
Alan Orth
c587d70a09 Merge pull request #10955 from tdonohue/fix_handle_ITs 2025-06-23 23:09:55 +02:00
Tim Donohue
8a84cba371 Fix broken ITs by removing unnecessary registrations and managing context permissions better 2025-06-23 15:33:50 -05:00
Tim Donohue
973c5f9daa Merge pull request #10918 from tuub/backport-10580-to-dspace-7_x
Backport 10580 to dspace 7 x
2025-06-23 11:54:43 -05:00
max.nuding
61c6e59a06 remove jakarta import 2025-06-23 11:44:22 +02:00
max.nuding
e90f792869 add missing imports 2025-06-23 11:36:52 +02:00
max.nuding
1732285d59 add import for Intstant 2025-06-23 10:12:56 +02:00
Mykhaylo Boychuk
03992be08d [DURACOM-318] remove unused import
(cherry picked from commit ed91462ccd7f99f5cf0dc326ed06ab42c13b80e0)
(cherry picked from commit 8df4e35e76)
2025-06-23 10:06:27 +02:00
Mykhaylo Boychuk
2104d605bd [DURACOM-318] improve code
(cherry picked from commit 8e0ca2e6f88b0251edf8a840f65135590c65f088)
(cherry picked from commit 4270170d40)
2025-06-23 10:06:25 +02:00
Adamo
a24340a197 [DURACOM-318] IT fix
(cherry picked from commit accba0738f)
2025-06-23 10:05:48 +02:00
Mykhaylo Boychuk
de5908725a [DURACOM-318] improve sucurity plugin
(cherry picked from commit b1ce88925ea36e84a77e667a94ae5577b5ee05b6)
(cherry picked from commit e9be8435ec)
2025-06-23 10:05:47 +02:00
Mykhaylo Boychuk
f92e376896 [DURACOM-318] update security annotations on ResourcePolicyRepository
(cherry picked from commit fabcc692db68e5232986ff062e849e4ec5c68c8b)
(cherry picked from commit 95836c271c)
2025-06-23 10:04:04 +02:00
Mykhaylo Boychuk
39def52592 [DURACOM-318] add new ITs for ResourcePolicy
(cherry picked from commit d78d4f00d94ef0d4b147031b075b8df1e8896fe4)
(cherry picked from commit 98c2b99421)
2025-06-23 10:04:01 +02:00
Mykhaylo Boychuk
84deaf3cb6 [DURACOM-318] remove unused import
(cherry picked from commit ed91462ccd7f99f5cf0dc326ed06ab42c13b80e0)
(cherry picked from commit 8df4e35e76)
2025-06-23 09:53:22 +02:00
Mykhaylo Boychuk
ae26a8facd [DURACOM-318] improve code
(cherry picked from commit 8e0ca2e6f88b0251edf8a840f65135590c65f088)
(cherry picked from commit 4270170d40)
2025-06-23 09:53:20 +02:00
Adamo
0161f20036 [DURACOM-318] IT fix
(cherry picked from commit accba0738f)
2025-06-23 09:51:51 +02:00
Mykhaylo Boychuk
8fee121b53 [DURACOM-318] improve sucurity plugin
(cherry picked from commit b1ce88925ea36e84a77e667a94ae5577b5ee05b6)
(cherry picked from commit e9be8435ec)
2025-06-23 09:51:49 +02:00
Mykhaylo Boychuk
d3ff31e50b [DURACOM-318] update security annotations on ResourcePolicyRepository
(cherry picked from commit fabcc692db68e5232986ff062e849e4ec5c68c8b)
(cherry picked from commit 95836c271c)
2025-06-23 08:56:29 +02:00
Mykhaylo Boychuk
e9963b2353 [DURACOM-318] add new ITs for ResourcePolicy
(cherry picked from commit d78d4f00d94ef0d4b147031b075b8df1e8896fe4)
(cherry picked from commit 98c2b99421)
2025-06-23 08:56:15 +02:00
Alan Orth
48f005bf31 Merge pull request #10843 from DSpace/dependabot/maven/dspace-8_x/bouncycastle.version-1.81 2025-06-17 14:40:05 +03:00
Alan Orth
6337f2fa67 Merge pull request #10838 from DSpace/dependabot/maven/dspace-7_x/bouncycastle.version-1.81 2025-06-17 14:38:05 +03:00
Alan Orth
3d1365451d Merge pull request #10910 from DSpace/dependabot/maven/dspace-8_x/fasterxml-7fbc8e9bec 2025-06-17 14:33:36 +03:00
Alan Orth
793356a288 Merge pull request #10912 from DSpace/dependabot/maven/dspace-8_x/org.postgresql-postgresql-42.7.7 2025-06-17 14:23:26 +03:00
Sascha Szott
07e840b675 removal of configuration file sword-client.cfg 2025-06-16 13:38:06 +02:00
Sascha Szott
34134b3c3b remove inclusion of sword-client.cfg 2025-06-16 13:37:49 +02:00
dependabot[bot]
6df9e2dbfd Bump org.postgresql:postgresql from 42.7.6 to 42.7.7
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.6 to 42.7.7.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.6...REL42.7.7)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-version: 42.7.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:17:49 +00:00
dependabot[bot]
88d8a54939 Bump the fasterxml group with 4 updates
Bumps the fasterxml group with 4 updates: [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson), [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core), [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) and com.fasterxml.jackson.datatype:jackson-datatype-jsr310.


Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.19.0 to 2.19.1
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.19.0 to 2.19.1
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.19.0...jackson-core-2.19.1)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.19.0 to 2.19.1
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.19.0...jackson-core-2.19.1)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.19.0 to 2.19.1
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.19.0 to 2.19.1

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.19.0 to 2.19.1

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 03:15:41 +00:00
Alan Orth
bbba5e7ab9 Merge pull request #10894 from alanorth/port-10591-dspace8
[Port dspace-8_x] Optimize count-only Solr queries
2025-06-13 18:03:35 +03:00
Alan Orth
309e25e8c8 Merge pull request #10591 from alanorth/port-dspace7-10537
[Port dspace-7_x] Optimize count-only Solr queries
2025-06-13 07:13:37 +03:00
Mark H. Wood
1b122c1ab2 Make POI record buffer size adjustable. 2025-06-11 16:20:30 -04:00
Tim Donohue
b223023aff Merge pull request #10884 from DSpace/backport-10583-to-dspace-8_x
[Port dspace-8_x] Introduce custom contributor for PubMed's abstract format on metadata import
2025-06-11 10:00:16 -05:00
Tim Donohue
bc7a681428 Merge pull request #10883 from DSpace/backport-10583-to-dspace-7_x
[Port dspace-7_x] Introduce custom contributor for PubMed's abstract format on metadata import
2025-06-11 10:00:06 -05:00
Alan Orth
9eef166b7e dspace-api: set search fields in Solr query only if we are interested in the actual search results 2025-06-11 17:18:35 +03:00
Alan Orth
bd753005e6 dspace-api: do not request actual search hits in count-only query 2025-06-11 17:18:35 +03:00
Alan Orth
d9cc564ace dspace-api: use static variable RESOURCE_TYPE_FIELD 2025-06-11 17:18:35 +03:00
Alan Orth
3d133727e9 dspace-api: set search fields in Solr query only if we are interested in the actual search results 2025-06-11 16:16:17 +03:00
Alan Orth
4d67aec3bc dspace-api: do not request actual search hits in count-only query 2025-06-11 16:16:17 +03:00
Alan Orth
b75f8ec8c4 dspace-api: use static variable RESOURCE_TYPE_FIELD 2025-06-11 16:16:15 +03:00
DSpace Bot
1c473dc1ba [Port dspace-8_x] improve robustness of search in index field submit (use filter query) (#10891)
* improve robustness of search in index field submit (use filter query)

(cherry picked from commit a65ef008b7)

* fix checkstyle warnings

(cherry picked from commit 183d5ca671)

* fix checkstyle warning

(cherry picked from commit fe251f39e3)

---------

Co-authored-by: Sascha Szott <szott@gmx.de>
2025-06-11 15:27:13 +03:00
DSpace Bot
2abbe67ea6 [Port dspace-7_x] improve robustness of search in index field submit (use filter query) (#10890)
* improve robustness of search in index field submit (use filter query)

(cherry picked from commit a65ef008b7)

* fix checkstyle warnings

(cherry picked from commit 183d5ca671)

* fix checkstyle warning

(cherry picked from commit fe251f39e3)

---------

Co-authored-by: Sascha Szott <szott@gmx.de>
2025-06-11 15:26:49 +03:00
DSpace Bot
64d1c88249 [Port dspace-8_x] Optimization of Solr Queries: Transition to Filter Queries (#10888)
* use filter query instead of generic query

(cherry picked from commit f2417feeca)

* use filter query instead of generic query

(cherry picked from commit d83a2525ad)

* use filter query instead of generic query

(cherry picked from commit f3a976107e)

* remove obsolete comment

(cherry picked from commit 3ee2dbcc56)

* use filter query instead of generic query

(cherry picked from commit 318afc769a)

* add static imports

(cherry picked from commit 8ad19c42df)

* move static import to the top of the import block

(cherry picked from commit b85585c34e)

* move static imports to the top of the import block

(cherry picked from commit 4b446e24a0)

---------

Co-authored-by: Sascha Szott <szott@gmx.de>
2025-06-11 15:21:52 +03:00
DSpace Bot
2c400bf2da [Port dspace-7_x] Optimization of Solr Queries: Transition to Filter Queries (#10887)
* use filter query instead of generic query

(cherry picked from commit f2417feeca)

* use filter query instead of generic query

(cherry picked from commit d83a2525ad)

* use filter query instead of generic query

(cherry picked from commit f3a976107e)

* remove obsolete comment

(cherry picked from commit 3ee2dbcc56)

* use filter query instead of generic query

(cherry picked from commit 318afc769a)

* add static imports

(cherry picked from commit 8ad19c42df)

* move static import to the top of the import block

(cherry picked from commit b85585c34e)

* move static imports to the top of the import block

(cherry picked from commit 4b446e24a0)

---------

Co-authored-by: Sascha Szott <szott@gmx.de>
2025-06-11 15:20:59 +03:00
Alan Orth
4afd54cbbb Merge pull request #10872 from tdonohue/remove_commons-fileupload
[dspace-7_x] Remove `commons-fileupload` as it is no longer used.
2025-06-11 08:58:21 +03:00
Jens Vannerum
162e3c31a5 129944: Introduce custom abstract xpath contributor for pubmed to respect their labelled structure - modify IT for it
(cherry picked from commit 28bc4970b7)
2025-06-10 22:01:28 +00:00
Jens Vannerum
1f174f4657 129944: Introduce custom abstract xpath contributor for pubmed to respect their labelled structure - modify IT for it
(cherry picked from commit 28bc4970b7)
2025-06-10 22:01:23 +00:00
Tim Donohue
54da457cde Merge pull request #10869 from DSpace/dependabot/maven/dspace-8_x/net.handle-handle-9.3.2
Bump net.handle:handle from 9.3.1 to 9.3.2
2025-06-09 12:38:03 -05:00
Tim Donohue
144d9a25d2 Merge pull request #10864 from DSpace/dependabot/maven/dspace-7_x/net.handle-handle-9.3.2
Bump net.handle:handle from 9.3.1 to 9.3.2
2025-06-09 12:37:44 -05:00
Tim Donohue
a5ae3705e7 Remove commons-fileupload as it is no longer used. 2025-06-09 10:15:00 -05:00
Tim Donohue
16b1e05e29 Merge pull request #10867 from DSpace/dependabot/maven/dspace-8_x/build-tools-0af78e14c7
Bump org.codehaus.mojo:build-helper-maven-plugin from 3.6.0 to 3.6.1 in the build-tools group
2025-06-09 09:24:28 -05:00
Tim Donohue
d740232199 Merge pull request #10862 from DSpace/dependabot/maven/dspace-7_x/build-tools-0af78e14c7
Bump org.codehaus.mojo:build-helper-maven-plugin from 3.6.0 to 3.6.1 in the build-tools group
2025-06-09 09:23:58 -05:00
Tim Donohue
ec27f96d5f Merge pull request #10861 from DSpace/dependabot/maven/dspace-7_x/test-tools-05bec946dc
Bump the test-tools group with 6 updates
2025-06-09 09:22:38 -05:00
dependabot[bot]
d956998393 Bump net.handle:handle from 9.3.1 to 9.3.2
Bumps net.handle:handle from 9.3.1 to 9.3.2.

---
updated-dependencies:
- dependency-name: net.handle:handle
  dependency-version: 9.3.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 03:28:14 +00:00
dependabot[bot]
5959b59090 Bump org.codehaus.mojo:build-helper-maven-plugin
Bumps the build-tools group with 1 update: [org.codehaus.mojo:build-helper-maven-plugin](https://github.com/mojohaus/build-helper-maven-plugin).


Updates `org.codehaus.mojo:build-helper-maven-plugin` from 3.6.0 to 3.6.1
- [Release notes](https://github.com/mojohaus/build-helper-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/build-helper-maven-plugin/compare/3.6.0...3.6.1)

---
updated-dependencies:
- dependency-name: org.codehaus.mojo:build-helper-maven-plugin
  dependency-version: 3.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 03:25:34 +00:00
dependabot[bot]
358c00c199 Bump net.handle:handle from 9.3.1 to 9.3.2
Bumps net.handle:handle from 9.3.1 to 9.3.2.

---
updated-dependencies:
- dependency-name: net.handle:handle
  dependency-version: 9.3.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 03:09:56 +00:00
dependabot[bot]
a458fbd6ce Bump org.codehaus.mojo:build-helper-maven-plugin
Bumps the build-tools group with 1 update: [org.codehaus.mojo:build-helper-maven-plugin](https://github.com/mojohaus/build-helper-maven-plugin).


Updates `org.codehaus.mojo:build-helper-maven-plugin` from 3.6.0 to 3.6.1
- [Release notes](https://github.com/mojohaus/build-helper-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/build-helper-maven-plugin/compare/3.6.0...3.6.1)

---
updated-dependencies:
- dependency-name: org.codehaus.mojo:build-helper-maven-plugin
  dependency-version: 3.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 03:08:40 +00:00
dependabot[bot]
0bc41bfaaf Bump the test-tools group with 6 updates
Bumps the test-tools group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [io.netty:netty-buffer](https://github.com/netty/netty) | `4.2.1.Final` | `4.2.2.Final` |
| [io.netty:netty-transport](https://github.com/netty/netty) | `4.2.1.Final` | `4.2.2.Final` |
| [io.netty:netty-transport-native-unix-common](https://github.com/netty/netty) | `4.2.1.Final` | `4.2.2.Final` |
| [io.netty:netty-common](https://github.com/netty/netty) | `4.2.1.Final` | `4.2.2.Final` |
| [io.netty:netty-handler](https://github.com/netty/netty) | `4.2.1.Final` | `4.2.2.Final` |
| [io.netty:netty-codec](https://github.com/netty/netty) | `4.2.1.Final` | `4.2.2.Final` |


Updates `io.netty:netty-buffer` from 4.2.1.Final to 4.2.2.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.1.Final...netty-4.2.2.Final)

Updates `io.netty:netty-transport` from 4.2.1.Final to 4.2.2.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.1.Final...netty-4.2.2.Final)

Updates `io.netty:netty-transport-native-unix-common` from 4.2.1.Final to 4.2.2.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.1.Final...netty-4.2.2.Final)

Updates `io.netty:netty-common` from 4.2.1.Final to 4.2.2.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.1.Final...netty-4.2.2.Final)

Updates `io.netty:netty-handler` from 4.2.1.Final to 4.2.2.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.1.Final...netty-4.2.2.Final)

Updates `io.netty:netty-codec` from 4.2.1.Final to 4.2.2.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.1.Final...netty-4.2.2.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-buffer
  dependency-version: 4.2.2.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-transport
  dependency-version: 4.2.2.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-transport-native-unix-common
  dependency-version: 4.2.2.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-common
  dependency-version: 4.2.2.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-handler
  dependency-version: 4.2.2.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-codec
  dependency-version: 4.2.2.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 03:07:54 +00:00
Alan Orth
415be6283a Merge pull request #10842 from DSpace/dependabot/maven/dspace-7_x/com.amazonaws-aws-java-sdk-s3-1.12.785
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.783 to 1.12.785
2025-06-05 12:18:31 +03:00
Alan Orth
19a4f52ac6 Merge pull request #10845 from DSpace/dependabot/maven/dspace-8_x/com.amazonaws-aws-java-sdk-s3-1.12.785
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.783 to 1.12.785
2025-06-05 12:17:14 +03:00
kshepherd
94fe90f9d8 Merge pull request #10850 from DSpace/backport-10786-to-dspace-7_x
[Port dspace-7_x] Add HTTP timeouts in LiveImportClient to improve robustness
2025-06-04 23:06:19 +02:00
kshepherd
e9f495704d Merge pull request #10851 from DSpace/backport-10786-to-dspace-8_x
[Port dspace-8_x] Add HTTP timeouts in LiveImportClient to improve robustness
2025-06-04 22:05:51 +02:00
Sascha Szott
dbf6590d2a Add HTTP timeouts to improve robustness
(cherry picked from commit cabf5a7a44)
2025-06-04 19:24:21 +00:00
Sascha Szott
87ce9fd136 Add HTTP timeouts to improve robustness
(cherry picked from commit cabf5a7a44)
2025-06-04 19:24:16 +00:00
Tim Donohue
93e1877e31 Merge pull request #10841 from DSpace/dependabot/maven/dspace-8_x/hibernate-b959b3ae0e
Bump the hibernate group across 1 directory with 2 updates
2025-06-04 14:09:51 -05:00
Tim Donohue
113e212f95 Merge pull request #10809 from DSpace/dependabot/maven/dspace-8_x/build-tools-137e7ca1b5
Bump org.apache.maven.plugins:maven-clean-plugin from 3.4.1 to 3.5.0 in the build-tools group
2025-06-04 14:08:50 -05:00
Tim Donohue
f2cbcca4c5 Merge pull request #10811 from DSpace/dependabot/maven/dspace-7_x/build-tools-137e7ca1b5
Bump org.apache.maven.plugins:maven-clean-plugin from 3.4.1 to 3.5.0 in the build-tools group
2025-06-04 14:08:28 -05:00
Tim Donohue
5e168f2ff2 Merge pull request #10844 from DSpace/dependabot/maven/dspace-8_x/org.checkerframework-checker-qual-3.49.4
Bump org.checkerframework:checker-qual from 3.49.3 to 3.49.4
2025-06-04 14:06:02 -05:00
dependabot[bot]
2917a54e6d Bump com.amazonaws:aws-java-sdk-s3 from 1.12.783 to 1.12.785
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.783 to 1.12.785.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.783...1.12.785)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-version: 1.12.785
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-04 14:27:35 +00:00
dependabot[bot]
e44aa3a34a Bump org.checkerframework:checker-qual from 3.49.3 to 3.49.4
Bumps [org.checkerframework:checker-qual](https://github.com/typetools/checker-framework) from 3.49.3 to 3.49.4.
- [Release notes](https://github.com/typetools/checker-framework/releases)
- [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/typetools/checker-framework/compare/checker-framework-3.49.3...checker-framework-3.49.4)

---
updated-dependencies:
- dependency-name: org.checkerframework:checker-qual
  dependency-version: 3.49.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-04 14:26:36 +00:00
dependabot[bot]
c24011144a Bump bouncycastle.version from 1.80 to 1.81
Bumps `bouncycastle.version` from 1.80 to 1.81.

Updates `org.bouncycastle:bcpkix-jdk18on` from 1.80 to 1.81
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcprov-jdk18on` from 1.80 to 1.81
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcutil-jdk18on` from 1.80 to 1.81
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

---
updated-dependencies:
- dependency-name: org.bouncycastle:bcpkix-jdk18on
  dependency-version: '1.81'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.bouncycastle:bcprov-jdk18on
  dependency-version: '1.81'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.bouncycastle:bcutil-jdk18on
  dependency-version: '1.81'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-04 14:26:28 +00:00
dependabot[bot]
7774e9d35d Bump org.apache.maven.plugins:maven-clean-plugin
Bumps the build-tools group with 1 update: [org.apache.maven.plugins:maven-clean-plugin](https://github.com/apache/maven-clean-plugin).


Updates `org.apache.maven.plugins:maven-clean-plugin` from 3.4.1 to 3.5.0
- [Release notes](https://github.com/apache/maven-clean-plugin/releases)
- [Commits](https://github.com/apache/maven-clean-plugin/compare/maven-clean-plugin-3.4.1...maven-clean-plugin-3.5.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-clean-plugin
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-04 14:26:09 +00:00
dependabot[bot]
a6cc912e62 Bump com.amazonaws:aws-java-sdk-s3 from 1.12.783 to 1.12.785
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.783 to 1.12.785.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.783...1.12.785)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-version: 1.12.785
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-04 14:25:57 +00:00
dependabot[bot]
86c001cb0e Bump the hibernate group across 1 directory with 2 updates
Bumps the hibernate group with 2 updates in the / directory: [org.hibernate.validator:hibernate-validator](https://github.com/hibernate/hibernate-validator) and [org.hibernate.validator:hibernate-validator-cdi](https://github.com/hibernate/hibernate-validator).


Updates `org.hibernate.validator:hibernate-validator` from 8.0.1.Final to 8.0.2.Final
- [Changelog](https://github.com/hibernate/hibernate-validator/blob/8.0.2.Final/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-validator/compare/8.0.1.Final...8.0.2.Final)

Updates `org.hibernate.validator:hibernate-validator-cdi` from 8.0.1.Final to 8.0.2.Final
- [Changelog](https://github.com/hibernate/hibernate-validator/blob/8.0.2.Final/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-validator/compare/8.0.1.Final...8.0.2.Final)

Updates `org.hibernate.validator:hibernate-validator-cdi` from 8.0.1.Final to 8.0.2.Final
- [Changelog](https://github.com/hibernate/hibernate-validator/blob/8.0.2.Final/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-validator/compare/8.0.1.Final...8.0.2.Final)

---
updated-dependencies:
- dependency-name: org.hibernate.validator:hibernate-validator
  dependency-version: 8.0.2.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
- dependency-name: org.hibernate.validator:hibernate-validator-cdi
  dependency-version: 8.0.2.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
- dependency-name: org.hibernate.validator:hibernate-validator-cdi
  dependency-version: 8.0.2.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: hibernate
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-04 14:25:53 +00:00
dependabot[bot]
21c56aeda7 Bump bouncycastle.version from 1.80 to 1.81
Bumps `bouncycastle.version` from 1.80 to 1.81.

Updates `org.bouncycastle:bcpkix-jdk18on` from 1.80 to 1.81
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcprov-jdk18on` from 1.80 to 1.81
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcutil-jdk18on` from 1.80 to 1.81
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

---
updated-dependencies:
- dependency-name: org.bouncycastle:bcpkix-jdk18on
  dependency-version: '1.81'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.bouncycastle:bcprov-jdk18on
  dependency-version: '1.81'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.bouncycastle:bcutil-jdk18on
  dependency-version: '1.81'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-04 14:25:16 +00:00
dependabot[bot]
25ad6039dc Bump org.apache.maven.plugins:maven-clean-plugin
Bumps the build-tools group with 1 update: [org.apache.maven.plugins:maven-clean-plugin](https://github.com/apache/maven-clean-plugin).


Updates `org.apache.maven.plugins:maven-clean-plugin` from 3.4.1 to 3.5.0
- [Release notes](https://github.com/apache/maven-clean-plugin/releases)
- [Commits](https://github.com/apache/maven-clean-plugin/compare/maven-clean-plugin-3.4.1...maven-clean-plugin-3.5.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-clean-plugin
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-04 14:25:05 +00:00
Alan Orth
84fbec6144 Merge pull request #10810 from DSpace/dependabot/maven/dspace-8_x/com.opencsv-opencsv-5.11.1
Bump com.opencsv:opencsv from 5.11 to 5.11.1
2025-06-04 12:26:40 +03:00
Alan Orth
de7fd98a34 Merge pull request #10812 from DSpace/dependabot/maven/dspace-7_x/com.opencsv-opencsv-5.11.1
Bump com.opencsv:opencsv from 5.11 to 5.11.1
2025-06-04 12:26:14 +03:00
Tim Donohue
fbb3464b31 Merge pull request #10829 from DSpace/backport-10826-to-dspace-8_x
[Port dspace-8_x] Fixed QAEventRestRepositoryIT#recordDecisionNotifyTest failure in certain regions
2025-06-03 10:11:11 -05:00
Alexandre Vryghem
2fd984de62 131448: Fixed QAEventMatcher#matchQAEventNotifyEntry sometimes failing when your default local uses a comma as a decimal separator
You can view your default decimal separator using new DecimalFormatSymbols(Locale.getDefault()).getDecimalSeparator()

(cherry picked from commit d74c3bd9cd)
2025-06-03 13:55:08 +00:00
kshepherd
3396233f2d Merge pull request #10822 from tdonohue/port_10806_to_7x
[Port dspace-7_x] Alphabetize external source importers by service name (on MyDSpace, etc)
2025-06-02 17:16:23 +02:00
kshepherd
522c0599c3 Merge pull request #10821 from tdonohue/port_10806_to_8x
[Port dspace-8_x] Alphabetize external source importers by service name (on MyDSpace, etc)
2025-06-02 16:57:59 +02:00
Tim Donohue
19e22c10f1 Alphabetize importers by service name 2025-06-02 09:26:24 -05:00
Tim Donohue
f04c116b07 Alphabetize importers by service name 2025-06-02 09:16:27 -05:00
dependabot[bot]
32bd615ba8 Bump com.opencsv:opencsv from 5.11 to 5.11.1
Bumps com.opencsv:opencsv from 5.11 to 5.11.1.

---
updated-dependencies:
- dependency-name: com.opencsv:opencsv
  dependency-version: 5.11.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 02:30:57 +00:00
dependabot[bot]
1506fbe307 Bump com.opencsv:opencsv from 5.11 to 5.11.1
Bumps com.opencsv:opencsv from 5.11 to 5.11.1.

---
updated-dependencies:
- dependency-name: com.opencsv:opencsv
  dependency-version: 5.11.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 02:25:11 +00:00
Tim Donohue
955b9cc237 Merge pull request #10781 from DSpace/dependabot/maven/dspace-8_x/spring-8bc02336ff
Bump the spring group across 1 directory with 25 updates
2025-05-29 11:12:47 -05:00
Tim Donohue
91d845563a Merge pull request #10796 from DSpace/dependabot/maven/dspace-7_x/io.grpc-grpc-context-1.73.0
Bump io.grpc:grpc-context from 1.72.0 to 1.73.0
2025-05-28 15:47:03 -05:00
Tim Donohue
420b008745 Merge pull request #10793 from DSpace/dependabot/maven/dspace-8_x/org.postgresql-postgresql-42.7.6
Bump org.postgresql:postgresql from 42.7.5 to 42.7.6
2025-05-28 15:44:55 -05:00
Tim Donohue
0ad9699128 Merge pull request #10797 from DSpace/dependabot/maven/dspace-7_x/org.postgresql-postgresql-42.7.6
Bump org.postgresql:postgresql from 42.7.5 to 42.7.6
2025-05-28 15:44:19 -05:00
Tim Donohue
9b1899de48 Merge pull request #10791 from DSpace/dependabot/maven/dspace-7_x/apache-commons-3e71c7e148
Bump commons-beanutils:commons-beanutils from 1.10.1 to 1.11.0 in the apache-commons group
2025-05-28 15:41:30 -05:00
Tim Donohue
47c8dadafa Merge pull request #10788 from DSpace/dependabot/maven/dspace-8_x/apache-commons-3e71c7e148
Bump commons-beanutils:commons-beanutils from 1.10.1 to 1.11.0 in the apache-commons group
2025-05-28 15:41:13 -05:00
dependabot[bot]
4367eebef2 Bump org.postgresql:postgresql from 42.7.5 to 42.7.6
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.5 to 42.7.6.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.5...REL42.7.6)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-version: 42.7.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 16:28:25 +00:00
dependabot[bot]
b7960bd42e Bump io.grpc:grpc-context from 1.72.0 to 1.73.0
Bumps [io.grpc:grpc-context](https://github.com/grpc/grpc-java) from 1.72.0 to 1.73.0.
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.72.0...v1.73.0)

---
updated-dependencies:
- dependency-name: io.grpc:grpc-context
  dependency-version: 1.73.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 16:26:54 +00:00
dependabot[bot]
140a6f64a9 Bump org.postgresql:postgresql from 42.7.5 to 42.7.6
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.5 to 42.7.6.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.5...REL42.7.6)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-version: 42.7.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 16:26:12 +00:00
dependabot[bot]
3fef856ef0 Bump commons-beanutils:commons-beanutils in the apache-commons group
Bumps the apache-commons group with 1 update: commons-beanutils:commons-beanutils.


Updates `commons-beanutils:commons-beanutils` from 1.10.1 to 1.11.0

---
updated-dependencies:
- dependency-name: commons-beanutils:commons-beanutils
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 16:25:45 +00:00
dependabot[bot]
58da9a0ca8 Bump commons-beanutils:commons-beanutils in the apache-commons group
Bumps the apache-commons group with 1 update: commons-beanutils:commons-beanutils.


Updates `commons-beanutils:commons-beanutils` from 1.10.1 to 1.11.0

---
updated-dependencies:
- dependency-name: commons-beanutils:commons-beanutils
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 16:25:36 +00:00
dependabot[bot]
ea3dc29852 Bump the spring group across 1 directory with 25 updates
Bumps the spring group with 25 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [org.springframework:spring-orm](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-aop](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-context-support](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-tx](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-jdbc](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-webmvc](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-expression](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `6.2.6` | `6.2.7` |
| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-starter-tomcat](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-maven-plugin](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-starter-cache](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-starter](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-starter-thymeleaf](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-starter-web](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-starter-data-rest](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.boot:spring-boot-starter-log4j2](https://github.com/spring-projects/spring-boot) | `3.4.5` | `3.5.0` |
| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.4.5` | `6.5.0` |



Updates `org.springframework:spring-orm` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-core` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-beans` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-aop` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-context` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-context-support` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-tx` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-jdbc` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-web` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-webmvc` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-expression` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-test` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-core` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-beans` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-aop` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-context` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-context-support` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-tx` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-jdbc` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-web` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-webmvc` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-expression` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework:spring-test` from 6.2.6 to 6.2.7
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.6...v6.2.7)

Updates `org.springframework.boot:spring-boot-starter-test` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.security:spring-security-test` from 6.4.5 to 6.5.0
- [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/6.4.5...6.5.0)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.4.5 to 3.5.0
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.5...v3.5.0)

---
updated-dependencies:
- dependency-name: org.springframework:spring-orm
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-test
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-test
  dependency-version: 6.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 16:25:13 +00:00
Tim Donohue
5073b5b9bc Merge pull request #10782 from DSpace/dependabot/maven/dspace-8_x/org.xmlunit-xmlunit-core-2.10.2
Bump org.xmlunit:xmlunit-core from 2.10.0 to 2.10.2
2025-05-28 08:04:40 -05:00
Tim Donohue
53b819b4b5 Merge pull request #10779 from DSpace/dependabot/maven/dspace-7_x/org.xmlunit-xmlunit-core-2.10.2
Bump org.xmlunit:xmlunit-core from 2.10.0 to 2.10.2
2025-05-28 08:03:47 -05:00
Tim Donohue
4cfcb5d42a Merge pull request #10780 from DSpace/dependabot/maven/dspace-8_x/org.apache.httpcomponents.client5-httpclient5-5.5
Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.4 to 5.5
2025-05-28 08:02:44 -05:00
dependabot[bot]
2d9d44a768 Bump org.xmlunit:xmlunit-core from 2.10.0 to 2.10.2
Bumps [org.xmlunit:xmlunit-core](https://github.com/xmlunit/xmlunit) from 2.10.0 to 2.10.2.
- [Release notes](https://github.com/xmlunit/xmlunit/releases)
- [Changelog](https://github.com/xmlunit/xmlunit/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/xmlunit/xmlunit/compare/v2.10.0...v2.10.2)

---
updated-dependencies:
- dependency-name: org.xmlunit:xmlunit-core
  dependency-version: 2.10.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 22:47:34 +00:00
dependabot[bot]
17b93c5c15 Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.4 to 5.5
Bumps [org.apache.httpcomponents.client5:httpclient5](https://github.com/apache/httpcomponents-client) from 5.4.4 to 5.5.
- [Changelog](https://github.com/apache/httpcomponents-client/blob/master/RELEASE_NOTES.txt)
- [Commits](https://github.com/apache/httpcomponents-client/compare/rel/v5.4.4...rel/v5.5)

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents.client5:httpclient5
  dependency-version: '5.5'
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 22:47:15 +00:00
dependabot[bot]
a2a6838390 Bump org.xmlunit:xmlunit-core from 2.10.0 to 2.10.2
Bumps [org.xmlunit:xmlunit-core](https://github.com/xmlunit/xmlunit) from 2.10.0 to 2.10.2.
- [Release notes](https://github.com/xmlunit/xmlunit/releases)
- [Changelog](https://github.com/xmlunit/xmlunit/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/xmlunit/xmlunit/compare/v2.10.0...v2.10.2)

---
updated-dependencies:
- dependency-name: org.xmlunit:xmlunit-core
  dependency-version: 2.10.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 22:15:28 +00:00
Tim Donohue
a2f2e93766 Merge pull request #10766 from atmire/issue-10484_fix-invalid-cast-in-DOIOrganiser-8.x
[Port dspace-8_x] Fix invalid cast in DOIOrganiser exception handling
2025-05-23 09:43:27 -05:00
Tim Donohue
c791ac1460 Merge pull request #10486 from atmire/issue-10484_fix-invalid-cast-in-DOIOrganiser
Fix invalid cast in DOIOrganiser exception handling
2025-05-23 09:43:10 -05:00
Zahraa Chreim
71e0125f3f Fix invalid cast in DOIOrganiser exception handling 2025-05-23 17:07:45 +03:00
Tim Donohue
19deaf826f Merge pull request #10759 from DSpace/backport-10758-to-dspace-8_x
[Port dspace-8_x] Bump XOAI to 3.4.1
2025-05-19 14:40:17 -05:00
Tim Donohue
2330ff37b5 Merge pull request #10760 from tdonohue/port_10758_to_7x
[Port dspace-7_x] Bump XOAI to 3.4.1
2025-05-19 14:40:09 -05:00
Tim Donohue
a1582d9477 Bump XOAI to 3.4.1 2025-05-19 14:07:02 -05:00
Tim Donohue
b9d79f6a85 Bump XOAI to 3.4.1
(cherry picked from commit 192faac7d5)
2025-05-19 19:04:26 +00:00
Tim Donohue
46440dcc2d Merge pull request #10752 from DSpace/backport-10611-to-dspace-7_x
[Port dspace-7_x] Use application/json as mime type for iiif manifests
2025-05-15 12:07:03 -05:00
Tim Donohue
064061e8aa Merge pull request #10753 from DSpace/backport-10611-to-dspace-8_x
[Port dspace-8_x] Use application/json as mime type for iiif manifests
2025-05-15 12:06:41 -05:00
Kim Shepherd
0dc44cd895 [#10611] Remove json mime test from findOneCanvas
(cherry picked from commit e07e051e67)
2025-05-15 15:42:22 +00:00
Kim Shepherd
1560f2446c [#10611] Add mime type checks in IIIFControllerIT
(cherry picked from commit 87c82f234c)
2025-05-15 15:42:22 +00:00
Pascal-Nicolas Becker
0095ec7f56 Use application/json as mime type for iiif manifests
(cherry picked from commit 643e9984c7)
2025-05-15 15:42:22 +00:00
Kim Shepherd
8b3618f583 [#10611] Remove json mime test from findOneCanvas
(cherry picked from commit e07e051e67)
2025-05-15 15:42:16 +00:00
Kim Shepherd
878ecdc09d [#10611] Add mime type checks in IIIFControllerIT
(cherry picked from commit 87c82f234c)
2025-05-15 15:42:16 +00:00
Pascal-Nicolas Becker
a46e01d6db Use application/json as mime type for iiif manifests
(cherry picked from commit 643e9984c7)
2025-05-15 15:42:16 +00:00
Tim Donohue
e26fd0d9dc Merge pull request #10748 from DSpace/backport-10745-to-dspace-7_x
[Port dspace-7_x] Improve DSpaceObjectService string comparison tests
2025-05-14 15:53:11 -05:00
Tim Donohue
1f5d072317 Merge pull request #10749 from DSpace/backport-10745-to-dspace-8_x
[Port dspace-8_x] Improve DSpaceObjectService string comparison tests
2025-05-14 15:52:59 -05:00
Kim Shepherd
4c2c16acd6 [#10744] Update Javadoc in DSpaceObjectService (Item.ANY usage)
(cherry picked from commit 9aa74b8e68)
2025-05-14 19:53:28 +00:00
Kim Shepherd
528553e296 [#10744] Improve String comparison in DSpaceObjectServiceImpl
(cherry picked from commit b089fd6442)
2025-05-14 19:53:28 +00:00
Kim Shepherd
a2a0649227 [#10744] Update Javadoc in DSpaceObjectService (Item.ANY usage)
(cherry picked from commit 9aa74b8e68)
2025-05-14 19:53:23 +00:00
Kim Shepherd
359dc609a8 [#10744] Improve String comparison in DSpaceObjectServiceImpl
(cherry picked from commit b089fd6442)
2025-05-14 19:53:23 +00:00
Tim Donohue
72d125cbf9 Merge pull request #10747 from DSpace/backport-10184-to-dspace-8_x
[Port dspace-8_x] conditional rendering of metadata section in style.xsl
2025-05-14 14:42:11 -05:00
Tim Donohue
e6475dc04f Merge pull request #10746 from DSpace/backport-10184-to-dspace-7_x
[Port dspace-7_x] conditional rendering of metadata section in style.xsl
2025-05-14 14:42:04 -05:00
Sascha Szott
11a88fdb01 add conditional check in metadata card rendering
(cherry picked from commit b681145343)
2025-05-14 18:30:23 +00:00
Sascha Szott
4b49a3fc8d conditional rendering for metadata section in style.xsl
(cherry picked from commit addc26ad19)
2025-05-14 18:30:23 +00:00
Sascha Szott
fa603b2a58 add conditional check in metadata card rendering
(cherry picked from commit b681145343)
2025-05-14 18:30:19 +00:00
Sascha Szott
bbfc6874a4 conditional rendering for metadata section in style.xsl
(cherry picked from commit addc26ad19)
2025-05-14 18:30:19 +00:00
Tim Donohue
92a92abe9f Merge pull request #10734 from DSpace/dependabot/maven/dspace-7_x/webjars-36a72e2b67
Bump org.webjars.npm:json-editor__json-editor from 2.15.1 to 2.15.2 in the webjars group
2025-05-13 14:41:06 -05:00
Tim Donohue
3b08b7411b Merge pull request #10732 from DSpace/dependabot/maven/dspace-8_x/webjars-36a72e2b67
Bump org.webjars.npm:json-editor__json-editor from 2.15.1 to 2.15.2 in the webjars group
2025-05-13 14:40:29 -05:00
Tim Donohue
66b6ed3f4a Must update version in index.html to complete upgrade 2025-05-13 12:12:50 -05:00
Tim Donohue
8751f8b872 Must update version in index.html to complete upgrade 2025-05-13 12:11:47 -05:00
Tim Donohue
02ead6997f Merge pull request #10733 from DSpace/dependabot/maven/dspace-7_x/test-tools-3dcec26f7e
Bump the test-tools group with 6 updates
2025-05-13 12:06:25 -05:00
dependabot[bot]
5765bff79c Bump org.webjars.npm:json-editor__json-editor in the webjars group
Bumps the webjars group with 1 update: [org.webjars.npm:json-editor__json-editor](https://github.com/json-editor/json-editor).


Updates `org.webjars.npm:json-editor__json-editor` from 2.15.1 to 2.15.2
- [Changelog](https://github.com/json-editor/json-editor/blob/master/CHANGELOG.md)
- [Commits](https://github.com/json-editor/json-editor/compare/2.15.1...2.15.2)

---
updated-dependencies:
- dependency-name: org.webjars.npm:json-editor__json-editor
  dependency-version: 2.15.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: webjars
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 22:49:31 +00:00
dependabot[bot]
42e979a021 Bump the test-tools group with 6 updates
Bumps the test-tools group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [io.netty:netty-buffer](https://github.com/netty/netty) | `4.2.0.Final` | `4.2.1.Final` |
| [io.netty:netty-transport](https://github.com/netty/netty) | `4.2.0.Final` | `4.2.1.Final` |
| [io.netty:netty-transport-native-unix-common](https://github.com/netty/netty) | `4.2.0.Final` | `4.2.1.Final` |
| [io.netty:netty-common](https://github.com/netty/netty) | `4.2.0.Final` | `4.2.1.Final` |
| [io.netty:netty-handler](https://github.com/netty/netty) | `4.2.0.Final` | `4.2.1.Final` |
| [io.netty:netty-codec](https://github.com/netty/netty) | `4.2.0.Final` | `4.2.1.Final` |


Updates `io.netty:netty-buffer` from 4.2.0.Final to 4.2.1.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.0.Final...netty-4.2.1.Final)

Updates `io.netty:netty-transport` from 4.2.0.Final to 4.2.1.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.0.Final...netty-4.2.1.Final)

Updates `io.netty:netty-transport-native-unix-common` from 4.2.0.Final to 4.2.1.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.0.Final...netty-4.2.1.Final)

Updates `io.netty:netty-common` from 4.2.0.Final to 4.2.1.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.0.Final...netty-4.2.1.Final)

Updates `io.netty:netty-handler` from 4.2.0.Final to 4.2.1.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.0.Final...netty-4.2.1.Final)

Updates `io.netty:netty-codec` from 4.2.0.Final to 4.2.1.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.2.0.Final...netty-4.2.1.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-buffer
  dependency-version: 4.2.1.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-transport
  dependency-version: 4.2.1.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-transport-native-unix-common
  dependency-version: 4.2.1.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-common
  dependency-version: 4.2.1.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-handler
  dependency-version: 4.2.1.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-codec
  dependency-version: 4.2.1.Final
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 22:48:26 +00:00
dependabot[bot]
5c7db56545 Bump org.webjars.npm:json-editor__json-editor in the webjars group
Bumps the webjars group with 1 update: [org.webjars.npm:json-editor__json-editor](https://github.com/json-editor/json-editor).


Updates `org.webjars.npm:json-editor__json-editor` from 2.15.1 to 2.15.2
- [Changelog](https://github.com/json-editor/json-editor/blob/master/CHANGELOG.md)
- [Commits](https://github.com/json-editor/json-editor/compare/2.15.1...2.15.2)

---
updated-dependencies:
- dependency-name: org.webjars.npm:json-editor__json-editor
  dependency-version: 2.15.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: webjars
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 22:39:31 +00:00
Tim Donohue
102649b404 Merge pull request #10726 from DSpace/backport-10725-to-dspace-7_x
[Port dspace-7_x] Potential fix for code scanning alert no. 3549: Arbitrary file access during archive extraction ("Zip Slip")
2025-05-09 16:03:49 -05:00
Tim Donohue
bc50c5b2a2 Merge pull request #10727 from DSpace/backport-10725-to-dspace-8_x
[Port dspace-8_x] Potential fix for code scanning alert no. 3549: Arbitrary file access during archive extraction ("Zip Slip")
2025-05-09 16:03:42 -05:00
Tim Donohue
37dd836e18 Potential fix for code scanning alert no. 3549: Arbitrary file access during archive extraction ("Zip Slip")
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
(cherry picked from commit 5fbdfc218f)
2025-05-09 19:15:49 +00:00
Tim Donohue
086a26d3b4 Potential fix for code scanning alert no. 3549: Arbitrary file access during archive extraction ("Zip Slip")
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
(cherry picked from commit 5fbdfc218f)
2025-05-09 19:15:44 +00:00
Tim Donohue
44d657da1e Merge pull request #10724 from 4Science/task/dspace-7_x/DURACOM-109
[Port dspace-7_x] Proxy Configuration and Connection Leak using HTTP Clients
2025-05-09 12:16:51 -05:00
Tim Donohue
2b126f46b2 Merge pull request #10723 from 4Science/task/dspace-8_x/DURACOM-109
[Port dspace-8_x] Proxy Configuration and Connection Leak using HTTP Clients
2025-05-09 12:09:20 -05:00
Stefano Maffei
53e4147910 [DURACOM-109] fix dependency error 2025-05-09 16:12:50 +02:00
Stefano Maffei
c4efc12406 [DURACOM-109] restore missing dependency 2025-05-09 16:02:36 +02:00
Stefano Maffei
2c6f02f74c [DURACOM-109] fix missing dependency 2025-05-09 15:59:50 +02:00
Stefano Maffei
01527712c1 Merge remote-tracking branch 'dspaceCommunity/dspace-7_x' into task/dspace-7_x/DURACOM-109 2025-05-09 15:28:48 +02:00
Stefano Maffei
f42e56cb68 Merge remote-tracking branch 'dspaceCommunity/dspace-8_x' into task/dspace-8_x/DURACOM-109 2025-05-09 15:27:51 +02:00
Tim Donohue
aae2c9e0a1 Merge pull request #10715 from DSpace/backport-10454-to-dspace-8_x
[Port dspace-8_x] FIX Submission patch operation weird recognition check
2025-05-07 09:49:34 -05:00
Tim Donohue
e975ed42b0 Merge pull request #10716 from 4Science/task/dspace-7_x/DURACOM-328
[Port dspace-7_x] FIX Submission patch operation weird recognition check
2025-05-07 09:48:46 -05:00
Tim Donohue
6e9579a0d7 Fix test by increasing submission definitions count 2025-05-07 09:15:57 -05:00
Elios Buzo
1383f47bab [DURACOM-109] Minor fix 2025-05-07 12:31:58 +02:00
Elios Buzo
1ade960988 [DURACOM-109] Fixed conflicts 2025-05-07 12:28:43 +02:00
Stefano Maffei
ac20eefe4b [DURACOM-328] fix tests 2025-05-07 10:43:19 +02:00
Stefano Maffei
0ef3b27189 [DURACOM-328] fix test 2025-05-07 09:24:38 +02:00
Stefano Maffei
032252664b [DURACOM-328] fix error in check for Patch request 2025-05-07 09:24:06 +02:00
Stefano Maffei
742e777e2b [DURACOM-328] fix test
(cherry picked from commit a6529b413f)
2025-05-06 22:04:53 +00:00
Stefano Maffei
c1f73006da [DURACOM-328] fix error in check for Patch request
(cherry picked from commit f787e0bb34)
2025-05-06 22:04:53 +00:00
Tim Donohue
05f96db258 Merge pull request #10706 from DSpace/dependabot/maven/dspace-7_x/com.amazonaws-aws-java-sdk-s3-1.12.783
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.782 to 1.12.783
2025-05-06 12:41:44 -05:00
Tim Donohue
8858bf24d5 Merge pull request #10712 from DSpace/dependabot/maven/dspace-8_x/com.amazonaws-aws-java-sdk-s3-1.12.783
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.782 to 1.12.783
2025-05-06 12:41:24 -05:00
Tim Donohue
c8fa70073d Merge pull request #10708 from DSpace/dependabot/maven/dspace-7_x/com.opencsv-opencsv-5.11
Bump com.opencsv:opencsv from 5.10 to 5.11
2025-05-06 12:40:26 -05:00
Tim Donohue
12f4b9bc88 Merge pull request #10709 from DSpace/dependabot/maven/dspace-8_x/com.opencsv-opencsv-5.11
Bump com.opencsv:opencsv from 5.10 to 5.11
2025-05-06 12:40:08 -05:00
Tim Donohue
5169c48632 Merge pull request #10707 from DSpace/dependabot/maven/dspace-7_x/tika.version-2.9.4
Bump tika.version from 2.9.3 to 2.9.4
2025-05-06 11:58:01 -05:00
Stefano Maffei
409b775d35 [DURACOM-109] fix TruncatedChunkException error 2025-05-06 17:27:21 +02:00
Stefano Maffei
dbcaac4b08 [DURACOM-109] added checkstyle rules to forbid usage of HttpClientBuilder.create() 2025-05-06 17:27:07 +02:00
Stefano Maffei
9d6c482cc4 [DURACOM-109] Orcid connector fix and improvement 2025-05-06 17:26:07 +02:00
Stefano Maffei
0f1679ed72 [DURACOM-109] fix typo and correct logic for ORCID connector 2025-05-06 17:25:34 +02:00
Elios Buzo
7f865ad956 [DURACOM-109] Linter error fix 2025-05-06 17:22:50 +02:00
Elios Buzo
f4390fef52 [DURACOM-109] Continued fixing http connection leaks 2025-05-06 17:22:26 +02:00
Elios Buzo
f9307b617c [DURACOM-109] Minor fix 2025-05-06 17:20:09 +02:00
Elios Buzo
b9352c9149 [DURACOM-109] Fixed http connection leaks 2025-05-06 17:19:29 +02:00
Elios Buzo
32dd1a3dd2 [DURACOM-109] Minor fix 2025-05-06 17:18:38 +02:00
Elios Buzo
a8d33d3ad0 [DURACOM-109] Continued configuring proxy for other classes 2025-05-06 17:17:07 +02:00
Elios Buzo
c2c41e65f8 [DURACOM-109] Configured proxy settings for all clients 2025-05-06 17:10:17 +02:00
Elios Buzo
2c2e23f8bc [DURACOM-109] Fixed conflicts 2025-05-06 16:43:23 +02:00
Tim Donohue
259306547c Merge pull request #10711 from DSpace/dependabot/maven/dspace-8_x/tika.version-2.9.4
Bump tika.version from 2.9.3 to 2.9.4
2025-05-06 09:32:53 -05:00
Stefano Maffei
480a919754 [DURACOM-109] fix TruncatedChunkException error 2025-05-06 13:29:04 +02:00
Stefano Maffei
ca671b2aa0 [DURACOM-109] added checkstyle rules to forbid usage of HttpClientBuilder.create() 2025-05-06 13:28:41 +02:00
Stefano Maffei
644d15f881 [DURACOM-109] Orcid connector fix and improvement 2025-05-06 13:28:12 +02:00
Stefano Maffei
1bf06b7884 [DURACOM-109] fix typo and correct logic for ORCID connector 2025-05-06 12:37:56 +02:00
Elios Buzo
838e642b2b [DURACOM-109] Minor fix 2025-05-06 12:30:40 +02:00
Elios Buzo
460b2d1653 [DURACOM-109] Linter error fix 2025-05-06 12:29:40 +02:00
Elios Buzo
62bde6589f [DURACOM-109] Continued fixing http connection leaks 2025-05-06 12:28:42 +02:00
Elios Buzo
f4b41b701a [DURACOM-109] Minor fix 2025-05-06 12:27:03 +02:00
Elios Buzo
f78c327e58 [DURACOM-109] Fixed http connection leaks 2025-05-06 12:26:33 +02:00
Elios Buzo
0f77db9785 [DURACOM-109] Minor fix 2025-05-06 12:25:51 +02:00
Elios Buzo
e5a36f2e0f [DURACOM-109] Continued configuring proxy for other classes 2025-05-06 12:24:01 +02:00
Elios Buzo
893bc078c9 [DURACOM-109] Configured proxy settings for all clients 2025-05-06 12:15:44 +02:00
Alan Orth
a77f0c02d4 Merge pull request #10714 from DSpace/backport-10556-to-dspace-8_x
[Port dspace-8_x] Fix tests failing in TikaTextExtractionFilterTest
2025-05-06 09:56:38 +03:00
Alan Orth
4c7d9223cb Merge pull request #10713 from DSpace/backport-10556-to-dspace-7_x
[Port dspace-7_x] Fix tests failing in TikaTextExtractionFilterTest
2025-05-06 09:56:05 +03:00
abhinav
ed99b8141b 129614: Fixed tests failing in TikaTextExtractionFilterTest when textextractor.use-temp-file is set to true
(cherry picked from commit f9f29f49cb)
2025-05-06 06:20:27 +00:00
abhinav
930565efff 129614: Fixed tests failing in TikaTextExtractionFilterTest when textextractor.use-temp-file is set to true
(cherry picked from commit f9f29f49cb)
2025-05-06 06:20:23 +00:00
Alan Orth
cf2a6dcb08 Merge pull request #10710 from DSpace/dependabot/maven/dspace-8_x/org.checkerframework-checker-qual-3.49.3
Bump org.checkerframework:checker-qual from 3.49.2 to 3.49.3
2025-05-06 08:14:40 +03:00
dependabot[bot]
e09f03e6bb Bump com.amazonaws:aws-java-sdk-s3 from 1.12.782 to 1.12.783
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.782 to 1.12.783.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.782...1.12.783)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-version: 1.12.783
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 23:45:25 +00:00
dependabot[bot]
d6634f43c5 Bump tika.version from 2.9.3 to 2.9.4
Bumps `tika.version` from 2.9.3 to 2.9.4.

Updates `org.apache.tika:tika-core` from 2.9.3 to 2.9.4
- [Changelog](https://github.com/apache/tika/blob/2.9.4/CHANGES.txt)
- [Commits](https://github.com/apache/tika/compare/2.9.3...2.9.4)

Updates `org.apache.tika:tika-parsers-standard-package` from 2.9.3 to 2.9.4

---
updated-dependencies:
- dependency-name: org.apache.tika:tika-core
  dependency-version: 2.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.tika:tika-parsers-standard-package
  dependency-version: 2.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 23:44:48 +00:00
dependabot[bot]
2bb2d0be2c Bump org.checkerframework:checker-qual from 3.49.2 to 3.49.3
Bumps [org.checkerframework:checker-qual](https://github.com/typetools/checker-framework) from 3.49.2 to 3.49.3.
- [Release notes](https://github.com/typetools/checker-framework/releases)
- [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/typetools/checker-framework/compare/checker-framework-3.49.2...checker-framework-3.49.3)

---
updated-dependencies:
- dependency-name: org.checkerframework:checker-qual
  dependency-version: 3.49.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 23:44:09 +00:00
dependabot[bot]
9990000e4f Bump com.opencsv:opencsv from 5.10 to 5.11
Bumps com.opencsv:opencsv from 5.10 to 5.11.

---
updated-dependencies:
- dependency-name: com.opencsv:opencsv
  dependency-version: '5.11'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 23:26:55 +00:00
dependabot[bot]
8b089be727 Bump com.opencsv:opencsv from 5.10 to 5.11
Bumps com.opencsv:opencsv from 5.10 to 5.11.

---
updated-dependencies:
- dependency-name: com.opencsv:opencsv
  dependency-version: '5.11'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 23:11:48 +00:00
dependabot[bot]
f5e83433c4 Bump tika.version from 2.9.3 to 2.9.4
Bumps `tika.version` from 2.9.3 to 2.9.4.

Updates `org.apache.tika:tika-core` from 2.9.3 to 2.9.4
- [Changelog](https://github.com/apache/tika/blob/2.9.4/CHANGES.txt)
- [Commits](https://github.com/apache/tika/compare/2.9.3...2.9.4)

Updates `org.apache.tika:tika-parsers-standard-package` from 2.9.3 to 2.9.4

---
updated-dependencies:
- dependency-name: org.apache.tika:tika-core
  dependency-version: 2.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.tika:tika-parsers-standard-package
  dependency-version: 2.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 23:02:34 +00:00
dependabot[bot]
a26ef22a46 Bump com.amazonaws:aws-java-sdk-s3 from 1.12.782 to 1.12.783
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.782 to 1.12.783.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.782...1.12.783)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-version: 1.12.783
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 22:58:31 +00:00
Tim Donohue
083c08a143 Merge pull request #10704 from DSpace/backport-10693-to-dspace-8_x
[Port dspace-8_x] ISSN code not imported when using SHERPA import
2025-05-05 13:50:21 -05:00
Tim Donohue
1052e6b787 Merge pull request #10705 from tdonohue/port_10693_to_7x
[Port dspace-7_x] ISSN code not imported when using SHERPA import
2025-05-05 13:50:04 -05:00
Adamo
d7948d5f7b [DURACOM-356] Updated tests to use metadata constants 2025-05-05 12:32:26 -05:00
Adamo
5dd4e4248c [DURACOM-356] Updated Sherpa Journal mapping to use creativeworkseries.issn instead of dc.identifier.issn 2025-05-05 12:29:32 -05:00
Adamo
bacbe06b2c [DURACOM-356] Fixed tests 2025-05-05 12:29:24 -05:00
Adamo
a0c2891226 [DURACOM-356] Updated Sherpa mapping to use creativeworkseries.issn instead of dc.identifier.issn 2025-05-05 12:29:17 -05:00
Adamo
27d3d75ca5 [DURACOM-356] Updated tests to use metadata constants
(cherry picked from commit 94c5f5d6f7)
2025-05-05 17:28:06 +00:00
Adamo
20e3f2e030 [DURACOM-356] Updated Sherpa Journal mapping to use creativeworkseries.issn instead of dc.identifier.issn
(cherry picked from commit 979476b3f3)
2025-05-05 17:28:06 +00:00
Adamo
29fc51c02a [DURACOM-356] Fixed tests
(cherry picked from commit fc8a434234)
2025-05-05 17:28:06 +00:00
Adamo
ab0a4531ca [DURACOM-356] Updated Sherpa mapping to use creativeworkseries.issn instead of dc.identifier.issn
(cherry picked from commit 480bad2444)
2025-05-05 17:28:06 +00:00
Tim Donohue
663ffcf2b1 Merge pull request #10698 from DSpace/backport-10697-to-dspace-7_x
[Port dspace-7_x] Bulk access control fails to iterate over each item in a collection, producing duplicate policies for some items
2025-05-02 16:46:58 -05:00
Tim Donohue
147cb5ec67 Merge pull request #10699 from DSpace/backport-10697-to-dspace-8_x
[Port dspace-8_x] Bulk access control fails to iterate over each item in a collection, producing duplicate policies for some items
2025-05-02 15:50:04 -05:00
Tim Donohue
3f9f5639f6 Must use older Java syntax in DSpace 7 2025-05-02 15:49:00 -05:00
Adamo
be55a2ae7a [DURACOM-311] Ensure stable pagination in bulk access control by adding explicit sort
(cherry picked from commit ced9e9b9f7)
2025-05-02 19:56:29 +00:00
Adamo
605956b073 [DURACOM-311] Ensure stable pagination in bulk access control by adding explicit sort
(cherry picked from commit ced9e9b9f7)
2025-05-02 19:56:23 +00:00
Tim Donohue
4c8a913848 Merge pull request #10696 from DSpace/backport-10692-to-dspace-8_x
[Port dspace-8_x] Error when using WOS import service
2025-05-02 10:42:41 -05:00
Tim Donohue
fd33cee025 Merge pull request #10695 from DSpace/backport-10692-to-dspace-7_x
[Port dspace-7_x] Error when using WOS import service
2025-05-02 10:42:35 -05:00
Tim Donohue
7f53b89aa4 Merge pull request #10694 from DSpace/backport-10691-to-dspace-8_x
[Port dspace-8_x] pull primary bitstream out of innerloop
2025-05-02 10:28:13 -05:00
Adamo
c6e5bbed62 [DURACOM-355] Update to avoid NPE during WOS live import when no api key is found
(cherry picked from commit 70f1c83bf0)
2025-05-02 15:08:45 +00:00
Adamo
eb5f09f3f2 [DURACOM-355] Update to avoid NPE during WOS live import when no api key is found
(cherry picked from commit 70f1c83bf0)
2025-05-02 15:08:39 +00:00
max.nuding
5bcd3ce8c6 pull primary bitstream out of innerloop
(cherry picked from commit 81e2314ec6)
2025-05-02 14:53:39 +00:00
Jens Vannerum
fae4130d41 119612: Fix limit not applying on export
(cherry picked from commit bcf48821d9)
2025-05-02 11:14:58 +02:00
Jens Vannerum
5929fdc926 124504: Move configuration to be included in the bulkedit module and apply the configured limit earlier, never obtaining a larger list than actually required
(cherry picked from commit b63ffd2eb4)
2025-05-02 11:14:49 +02:00
Jens Vannerum
c5c8417848 119612: Remove group configuration and expose property to angular
(cherry picked from commit c73c739deb)
2025-05-02 11:14:19 +02:00
Jens Vannerum
4626b06d7f 119612: property should be commented by default and have a normal limit
(cherry picked from commit a8b98bb7b7)
2025-05-02 11:12:49 +02:00
Jens Vannerum
4ec611bf79 119612: configurable limit on exporting items since it can take up a bunch of resources
(cherry picked from commit b634e1e380)
2025-05-02 11:12:46 +02:00
Jens Vannerum
54e40db400 119612: Fix limit not applying on export
(cherry picked from commit bcf48821d9)
2025-05-02 11:09:05 +02:00
Jens Vannerum
8ad376b368 124504: Move configuration to be included in the bulkedit module and apply the configured limit earlier, never obtaining a larger list than actually required
(cherry picked from commit b63ffd2eb4)
2025-05-02 11:09:02 +02:00
Jens Vannerum
1e93108103 119612: Remove group configuration and expose property to angular
(cherry picked from commit c73c739deb)
2025-05-02 11:08:58 +02:00
Jens Vannerum
e9deba8c55 119612: property should be commented by default and have a normal limit
(cherry picked from commit a8b98bb7b7)
2025-05-02 11:08:54 +02:00
Jens Vannerum
59d637e623 119612: configurable limit on exporting items since it can take up a bunch of resources
(cherry picked from commit b634e1e380)
2025-05-02 11:08:51 +02:00
Tim Donohue
bf917357a6 Merge pull request #10687 from tdonohue/port_10685_to_7x
[Port dspace-7_x] Remove `javax.el` dependency & replace `MethodNotFoundException` with `UnsupportedOperationException`
2025-05-01 13:46:54 -05:00
Tim Donohue
a5a64704a9 Merge pull request #10686 from tdonohue/port_10685_to_8x
[Port dspace-8_x] Remove `jakarta.el` dependency & replace `MethodNotFoundException` with `UnsupportedOperationException`
2025-05-01 13:46:06 -05:00
Tim Donohue
d83779022e Remove javax.el dependency 2025-05-01 12:53:41 -05:00
Tim Donohue
b04eb9d725 Replace MethodNotFoundException with more appropriate UnsupportedOperationException 2025-05-01 12:53:13 -05:00
Tim Donohue
31220966f7 Remove jakarta.el dependency 2025-05-01 12:44:51 -05:00
Tim Donohue
2772b1c9b0 Replace MethodNotFoundException with more appropriate UnsupportedOperationException 2025-05-01 12:44:42 -05:00
Tim Donohue
4821e75294 Merge pull request #10353 from atmire/cli-speed-improvements-periodically-uncache-entities-when-processing-many_7-x
[Port dspace-7_x] Index discovery speed improvement - periodically uncache entities when processing many items
2025-04-30 11:55:34 -05:00
Tim Donohue
93de558766 Merge pull request #10352 from atmire/cli-speed-improvements-periodically-uncache-entities-when-processing-many_8-x
[Port dspace-8_x] Index discovery speed improvement - periodically uncache entities when processing many items
2025-04-30 11:55:20 -05:00
Tim Donohue
f930ee86d5 Merge pull request #10680 from DSpace/backport-10608-to-dspace-8_x
[Port dspace-8_x] Fixes access information at file level when embargoes are expired
2025-04-30 09:40:41 -05:00
Kim Shepherd
ee225cb0d3 Fix #10608 8.x backport by backporting Date references 2025-04-30 15:42:22 +02:00
kshepherd
f4e02b73f2 Merge pull request #10681 from DSpace/backport-10668-to-dspace-7_x
[Port dspace-7_x] Fix Collection Admin cannot see withdrawn item metadata
2025-04-30 14:16:51 +02:00
kshepherd
eab1667969 Merge pull request #10682 from DSpace/backport-10668-to-dspace-8_x
[Port dspace-8_x] Fix Collection Admin cannot see withdrawn item metadata
2025-04-30 14:16:31 +02:00
Stefano Maffei
e5bb4069b4 [DURACOM-357] improved javadoc
(cherry picked from commit f1cb3c3ad1)
2025-04-30 11:46:02 +00:00
Stefano Maffei
1b09620a01 [DURACOM-357] improved admin check
(cherry picked from commit bb3935a047)
2025-04-30 11:46:02 +00:00
Stefano Maffei
371d470891 [DURACOM-357] improved check for authorization on objects in ItemConverter
(cherry picked from commit a70dede20b)
2025-04-30 11:46:01 +00:00
Stefano Maffei
b74c4b958f [DURACOM-357] fix Collection Admin cannot see withdrawn item metadata
(cherry picked from commit 5e2bb4fb92)
2025-04-30 11:46:01 +00:00
Stefano Maffei
4a89a68736 [DURACOM-357] improved javadoc
(cherry picked from commit f1cb3c3ad1)
2025-04-30 11:45:56 +00:00
Stefano Maffei
2429a0ba29 [DURACOM-357] improved admin check
(cherry picked from commit bb3935a047)
2025-04-30 11:45:56 +00:00
Stefano Maffei
8ca8bd4543 [DURACOM-357] improved check for authorization on objects in ItemConverter
(cherry picked from commit a70dede20b)
2025-04-30 11:45:56 +00:00
Stefano Maffei
c6098c0232 [DURACOM-357] fix Collection Admin cannot see withdrawn item metadata
(cherry picked from commit 5e2bb4fb92)
2025-04-30 11:45:56 +00:00
kshepherd
c7d0cd4bcb Merge pull request #10678 from DSpace/backport-10675-to-dspace-8_x
[Port dspace-8_x] Resolving XML external entity in user-controlled data in PubMedImport
2025-04-30 13:24:39 +02:00
kshepherd
b937fa8799 Merge pull request #10677 from DSpace/backport-10675-to-dspace-7_x
[Port dspace-7_x] Resolving XML external entity in user-controlled data in PubMedImport
2025-04-30 13:24:05 +02:00
Agustina Martinez
edf43a41c1 Remove unnecessary check of group
(cherry picked from commit 6831aa11c1)
2025-04-30 11:23:48 +00:00
Agustina Martinez
822a27d830 Update ItemUtils.java
Do not include start-date info if embargo is expired

(cherry picked from commit c167e5c10a)
2025-04-30 11:23:48 +00:00
Tim Donohue
d09b122805 Cannot disable DTDs with PubMed, so instead disallow external entities & entity expansion
(cherry picked from commit f9614c41a6)
2025-04-30 10:24:20 +00:00
Tim Donohue
ce11bc9dbd Potential fix for code scanning alert no. 30: Resolving XML external entity in user-controlled data
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
(cherry picked from commit a0ce50b2a4)
2025-04-30 10:24:20 +00:00
Tim Donohue
90ea371e0b Cannot disable DTDs with PubMed, so instead disallow external entities & entity expansion
(cherry picked from commit f9614c41a6)
2025-04-30 10:24:14 +00:00
Tim Donohue
6fe9af84bd Potential fix for code scanning alert no. 30: Resolving XML external entity in user-controlled data
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
(cherry picked from commit a0ce50b2a4)
2025-04-30 10:24:14 +00:00
Tim Donohue
defecb69fb Merge pull request #10674 from DSpace/backport-10640-to-dspace-8_x
[Port dspace-8_x] Improve CLI RegistryLoader, InitializeEntities, Curation commands
2025-04-29 15:37:46 -05:00
Tim Donohue
1494732989 Merge pull request #10673 from DSpace/backport-10640-to-dspace-7_x
[Port dspace-7_x] Improve CLI RegistryLoader, InitializeEntities, Curation commands
2025-04-29 15:37:28 -05:00
Kim Shepherd
b9a7226d55 Let Curation CLI accept uuid identifiers
(cherry picked from commit 5020689095)
2025-04-29 19:50:35 +00:00
Kim Shepherd
505cb9bbd5 Improve help and docs for RegistryLoader
And a few other small improvements

(cherry picked from commit f1b4e6ef17)
2025-04-29 19:50:34 +00:00
Kim Shepherd
1f2354a3dc Add help opt and javadoc to InitializeEntities
(cherry picked from commit 5240a02996)
2025-04-29 19:50:34 +00:00
Kim Shepherd
85a9e4b731 Let Curation CLI accept uuid identifiers
(cherry picked from commit 5020689095)
2025-04-29 19:50:29 +00:00
Kim Shepherd
fbb496e1c6 Improve help and docs for RegistryLoader
And a few other small improvements

(cherry picked from commit f1b4e6ef17)
2025-04-29 19:50:29 +00:00
Kim Shepherd
98921724f4 Add help opt and javadoc to InitializeEntities
(cherry picked from commit 5240a02996)
2025-04-29 19:50:29 +00:00
Tim Donohue
652e5b8228 Merge pull request #10672 from DSpace/backport-10669-to-dspace-8_x
[Port dspace-8_x] Make DiscoveryConfigurationService "get all facet configs" return UNIQUE set
2025-04-29 14:01:00 -05:00
Tim Donohue
f94a4e4b71 Merge pull request #10671 from DSpace/backport-10669-to-dspace-7_x
[Port dspace-7_x] Make DiscoveryConfigurationService "get all facet configs" return UNIQUE set
2025-04-29 14:00:45 -05:00
Kim Shepherd
b2eaf663bb Make getAllFacetConfigs unique
Improve performance and debuggability by
refactoring getAllFacetConfigs to
getAllUniqueFacetConfigs. Used only by
ChoiceAuthorityService to generate hierarchical
vocabulary map for the browse menu, etc.

(cherry picked from commit 159bd18529)
2025-04-29 17:24:01 +00:00
Kim Shepherd
e94d934a5c Make getAllFacetConfigs unique
Improve performance and debuggability by
refactoring getAllFacetConfigs to
getAllUniqueFacetConfigs. Used only by
ChoiceAuthorityService to generate hierarchical
vocabulary map for the browse menu, etc.

(cherry picked from commit 159bd18529)
2025-04-29 17:23:57 +00:00
Tim Donohue
17c902de8b Merge pull request #10664 from DSpace/dependabot/maven/dspace-8_x/com.google.code.gson-gson-2.13.1
Bump com.google.code.gson:gson from 2.13.0 to 2.13.1
2025-04-29 06:56:42 -05:00
Tim Donohue
160a70ed16 Merge pull request #10663 from DSpace/dependabot/maven/dspace-7_x/google-apis-b1f0883f77
Bump the google-apis group with 3 updates
2025-04-29 06:56:21 -05:00
Tim Donohue
d63a088e70 Merge pull request #10661 from DSpace/dependabot/maven/dspace-7_x/apache-commons-f6cb4980f5
Bump the apache-commons group with 2 updates
2025-04-29 06:55:48 -05:00
Tim Donohue
fb20868081 Merge pull request #10662 from DSpace/dependabot/maven/dspace-8_x/apache-commons-f6cb4980f5
Bump the apache-commons group with 2 updates
2025-04-29 06:55:31 -05:00
Tim Donohue
bcd25593eb Merge pull request #10660 from DSpace/dependabot/maven/dspace-8_x/org.apache.httpcomponents.client5-httpclient5-5.4.4
Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.3 to 5.4.4
2025-04-29 06:54:54 -05:00
Tim Donohue
46880b025e Merge pull request #10658 from DSpace/dependabot/maven/dspace-7_x/fasterxml-111bca66b8
Bump the fasterxml group with 3 updates
2025-04-29 06:54:28 -05:00
Tim Donohue
b3fd0b664c Merge pull request #10659 from DSpace/dependabot/maven/dspace-8_x/fasterxml-7c1ae717a9
Bump the fasterxml group with 4 updates
2025-04-29 06:54:05 -05:00
Tim Donohue
e395172308 Merge pull request #10657 from DSpace/dependabot/maven/dspace-8_x/spring-691b28fa30
Bump the spring group with 12 updates
2025-04-29 06:53:18 -05:00
Alan Orth
c6dc942e1a Merge pull request #10666 from DSpace/dependabot/maven/dspace-8_x/pdfbox-version-2.0.34
Bump pdfbox-version from 2.0.33 to 2.0.34
2025-04-29 12:53:23 +03:00
Alan Orth
23dfcf0af6 Merge pull request #10665 from DSpace/dependabot/maven/dspace-7_x/pdfbox-version-2.0.34
Bump pdfbox-version from 2.0.33 to 2.0.34
2025-04-29 12:52:24 +03:00
dependabot[bot]
9206a04e07 Bump pdfbox-version from 2.0.33 to 2.0.34
Bumps `pdfbox-version` from 2.0.33 to 2.0.34.

Updates `org.apache.pdfbox:pdfbox` from 2.0.33 to 2.0.34

Updates `org.apache.pdfbox:fontbox` from 2.0.33 to 2.0.34

---
updated-dependencies:
- dependency-name: org.apache.pdfbox:pdfbox
  dependency-version: 2.0.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.pdfbox:fontbox
  dependency-version: 2.0.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 00:24:54 +00:00
dependabot[bot]
19010353c9 Bump pdfbox-version from 2.0.33 to 2.0.34
Bumps `pdfbox-version` from 2.0.33 to 2.0.34.

Updates `org.apache.pdfbox:pdfbox` from 2.0.33 to 2.0.34

Updates `org.apache.pdfbox:fontbox` from 2.0.33 to 2.0.34

---
updated-dependencies:
- dependency-name: org.apache.pdfbox:pdfbox
  dependency-version: 2.0.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.pdfbox:fontbox
  dependency-version: 2.0.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 00:15:34 +00:00
dependabot[bot]
845a35319c Bump com.google.code.gson:gson from 2.13.0 to 2.13.1
Bumps [com.google.code.gson:gson](https://github.com/google/gson) from 2.13.0 to 2.13.1.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.13.0...gson-parent-2.13.1)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  dependency-version: 2.13.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 00:03:05 +00:00
dependabot[bot]
5400e3f8a8 Bump the google-apis group with 3 updates
Bumps the google-apis group with 3 updates: [com.google.http-client:google-http-client](https://github.com/googleapis/google-http-java-client), [com.google.http-client:google-http-client-jackson2](https://github.com/googleapis/google-http-java-client) and [com.google.http-client:google-http-client-gson](https://github.com/googleapis/google-http-java-client).


Updates `com.google.http-client:google-http-client` from 1.46.3 to 1.47.0
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/v1.46.3...v1.47.0)

Updates `com.google.http-client:google-http-client-jackson2` from 1.46.3 to 1.47.0
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/v1.46.3...v1.47.0)

Updates `com.google.http-client:google-http-client-gson` from 1.46.3 to 1.47.0
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/v1.46.3...v1.47.0)

---
updated-dependencies:
- dependency-name: com.google.http-client:google-http-client
  dependency-version: 1.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
- dependency-name: com.google.http-client:google-http-client-jackson2
  dependency-version: 1.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
- dependency-name: com.google.http-client:google-http-client-gson
  dependency-version: 1.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 00:02:22 +00:00
dependabot[bot]
ecd55eabb0 Bump the apache-commons group with 2 updates
Bumps the apache-commons group with 2 updates: org.apache.commons:commons-collections4 and org.apache.commons:commons-configuration2.


Updates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0

Updates `org.apache.commons:commons-configuration2` from 2.11.0 to 2.12.0

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-collections4
  dependency-version: 4.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-configuration2
  dependency-version: 2.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 00:01:56 +00:00
dependabot[bot]
ff67241bc9 Bump the apache-commons group with 2 updates
Bumps the apache-commons group with 2 updates: org.apache.commons:commons-collections4 and org.apache.commons:commons-configuration2.


Updates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0

Updates `org.apache.commons:commons-configuration2` from 2.11.0 to 2.12.0

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-collections4
  dependency-version: 4.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-configuration2
  dependency-version: 2.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 00:01:34 +00:00
dependabot[bot]
8b617256a0 Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.3 to 5.4.4
Bumps [org.apache.httpcomponents.client5:httpclient5](https://github.com/apache/httpcomponents-client) from 5.4.3 to 5.4.4.
- [Changelog](https://github.com/apache/httpcomponents-client/blob/rel/v5.4.4/RELEASE_NOTES.txt)
- [Commits](https://github.com/apache/httpcomponents-client/compare/rel/v5.4.3...rel/v5.4.4)

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents.client5:httpclient5
  dependency-version: 5.4.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 00:00:49 +00:00
dependabot[bot]
98be99953a Bump the fasterxml group with 4 updates
Bumps the fasterxml group with 4 updates: [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson), [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core), [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) and com.fasterxml.jackson.datatype:jackson-datatype-jsr310.


Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.3...jackson-core-2.19.0)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.3...jackson-core-2.19.0)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.18.3 to 2.19.0

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.18.3 to 2.19.0

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 23:59:08 +00:00
dependabot[bot]
b949bdd4c0 Bump the fasterxml group with 3 updates
Bumps the fasterxml group with 3 updates: [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson), [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) and [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson).


Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.3...jackson-core-2.19.0)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.3...jackson-core-2.19.0)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.18.3 to 2.19.0
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 23:58:24 +00:00
dependabot[bot]
7db2145977 Bump the spring group with 12 updates
Bumps the spring group with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-starter-tomcat](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-maven-plugin](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-starter-cache](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-starter](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-starter-thymeleaf](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-starter-web](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-starter-data-rest](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |
| [org.springframework.boot:spring-boot-starter-log4j2](https://github.com/spring-projects/spring-boot) | `3.4.4` | `3.4.5` |


Updates `org.springframework.boot:spring-boot-starter-test` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.4...v3.4.5)

---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-test
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 23:55:43 +00:00
Tim Donohue
e4d5d7cbcc Merge pull request #10241 from atmire/w2p-124362_VersionedHandleIdentifierProviderWithCanonicalHandles-and-com-col-handles
Fix issue with VersionedHandleIdentifierProviderWithCanonicalHandles and com/col handles
2025-04-28 16:05:21 -05:00
Tim Donohue
11410dd937 Merge pull request #10240 from atmire/w2p-124362_VersionedHandleIdentifierProviderWithCanonicalHandles-and-com-col-handles_dspace8
Fix issue with VersionedHandleIdentifierProviderWithCanonicalHandles and com/col handles
2025-04-28 16:02:34 -05:00
Tim Donohue
3fda5d2f71 Merge pull request #10648 from DSpace/backport-10636-to-dspace-8_x
[Port dspace-8_x] Fix: import public email from ORCID person
2025-04-25 16:35:56 -05:00
Tim Donohue
1278068eaa Merge pull request #10647 from DSpace/backport-10636-to-dspace-7_x
[Port dspace-7_x] Fix: import public email from ORCID person
2025-04-25 16:35:47 -05:00
Jesiel Viana
103ed21039 removing duplicated files
(cherry picked from commit c6d1121cbe)
2025-04-25 20:08:13 +00:00
Jesiel Viana
0c895d07b6 fix: Checkstyle violations
(cherry picked from commit 9a831e5393)
2025-04-25 20:08:13 +00:00
Jesiel Viana
df91886375 fix: import public email from ORCID person
(cherry picked from commit 82ca80cd6b)
2025-04-25 20:08:13 +00:00
Jesiel Viana
106936967e removing duplicated files
(cherry picked from commit c6d1121cbe)
2025-04-25 20:08:08 +00:00
Jesiel Viana
cf9e5c1cd4 fix: Checkstyle violations
(cherry picked from commit 9a831e5393)
2025-04-25 20:08:08 +00:00
Jesiel Viana
ac7dfc562f fix: import public email from ORCID person
(cherry picked from commit 82ca80cd6b)
2025-04-25 20:08:08 +00:00
Tim Donohue
37338424e3 Merge pull request #10645 from tdonohue/port_10549_to_7x
[Port dspace-7_x] restrict maximum value of URL parameter rpp in OpenSearchController to a reasonable default
2025-04-25 08:50:03 -05:00
Tim Donohue
f1ce4d99ba Merge pull request #10644 from tdonohue/port_10549_to_8x
[Port dspace-8_x] restrict maximum value of URL parameter `rpp` in OpenSearchController to a reasonable default
2025-04-25 08:49:57 -05:00
Sascha Szott
1a619b2833 restrict maximum value of URL parameter rpp 2025-04-24 16:49:59 -05:00
Sascha Szott
ca3b2de1a8 add configuration key websvc.opensearch.max_num_of_items_per_request 2025-04-24 16:48:54 -05:00
Sascha Szott
869d122eac implement method getMaxNumOfItemsPerRequest 2025-04-24 16:48:48 -05:00
Sascha Szott
045a5c0b0e add method getMaxNumOfItemsPerRequest 2025-04-24 16:48:42 -05:00
Sascha Szott
6ad43a508d restrict maximum value of URL parameter rpp 2025-04-24 16:45:29 -05:00
Sascha Szott
fe614d5fc5 add configuration key websvc.opensearch.max_num_of_items_per_request 2025-04-24 16:40:33 -05:00
Sascha Szott
a01405cd18 implement method getMaxNumOfItemsPerRequest 2025-04-24 16:40:26 -05:00
Sascha Szott
35b4859242 add method getMaxNumOfItemsPerRequest 2025-04-24 16:40:20 -05:00
Tim Donohue
9d600aabb2 Merge pull request #10642 from DSpace/backport-10505-to-dspace-8_x
[Port dspace-8_x] Fix incorrect parsing of access-status metadata
2025-04-24 15:15:58 -05:00
Tim Donohue
9d1e2d5f9d Merge pull request #10641 from DSpace/backport-10505-to-dspace-7_x
[Port dspace-7_x] Fix incorrect parsing of access-status metadata
2025-04-24 15:15:51 -05:00
Agustina Martinez
5313b9673d Update dim.xsl
Added template to correctly parse elements under "others" metadata element

(cherry picked from commit ac7da6a477)
2025-04-24 19:45:01 +00:00
Agustina Martinez
440bb64809 Update dim.xsl
Added template to correctly parse elements under "others" metadata element

(cherry picked from commit ac7da6a477)
2025-04-24 19:44:57 +00:00
Tim Donohue
97e601dc13 Merge pull request #10637 from DSpace/backport-10633-to-dspace-8_x
[Port dspace-8_x] ExternalDataServiceImpl: fix log message (add missing space)
2025-04-23 14:40:10 -05:00
Sascha Szott
7db6f8922d fix log message
(cherry picked from commit 4c9c79bf7b)
2025-04-23 19:39:08 +00:00
Tim Donohue
0695b6756c Merge pull request #10623 from DSpace/backport-10599-to-dspace-7_x
[Port dspace-7_x] Fix login endpoints not automatically closing their Context
2025-04-23 11:12:18 -05:00
Tim Donohue
5c30be3b4f Merge pull request #10631 from alexandrevryghem/fix-database-connection-leak-on-login_contribute-8_x
[Port dspace-8_x] Fix login endpoints not automatically closing their Context
2025-04-23 11:11:56 -05:00
Tim Donohue
c8a0c94f78 Merge pull request #10630 from DSpace/dependabot/maven/dspace-7_x/io.grpc-grpc-context-1.72.0
Bump io.grpc:grpc-context from 1.71.0 to 1.72.0
2025-04-22 09:41:48 -05:00
Tim Donohue
c2091d2f61 Merge pull request #10629 from DSpace/dependabot/maven/dspace-8_x/spring-8bb2a5e4c0
Bump the spring group with 13 updates
2025-04-22 09:40:17 -05:00
Tim Donohue
a0f2db25de Merge pull request #10628 from DSpace/dependabot/maven/dspace-8_x/build-tools-a757e38db1
Bump the build-tools group with 2 updates
2025-04-22 09:39:01 -05:00
Alexandre Vryghem
057da3e28b Merge branch 'fix-database-connection-leak-on-login_contribute-7.6' into dspace-8_x 2025-04-22 01:21:43 +02:00
dependabot[bot]
5d880bcf2d Bump io.grpc:grpc-context from 1.71.0 to 1.72.0
Bumps [io.grpc:grpc-context](https://github.com/grpc/grpc-java) from 1.71.0 to 1.72.0.
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.71.0...v1.72.0)

---
updated-dependencies:
- dependency-name: io.grpc:grpc-context
  dependency-version: 1.72.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 23:03:07 +00:00
dependabot[bot]
2cb34b095e Bump the spring group with 13 updates
Bumps the spring group with 13 updates:

| Package | From | To |
| --- | --- | --- |
| [org.springframework:spring-orm](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-aop](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-context-support](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-tx](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-jdbc](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-webmvc](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-expression](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `6.2.5` | `6.2.6` |
| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.4.4` | `6.4.5` |


Updates `org.springframework:spring-orm` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-core` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-beans` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-aop` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-context` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-context-support` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-tx` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-jdbc` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-web` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-webmvc` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-expression` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-test` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-core` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-beans` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-aop` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-context` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-context-support` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-tx` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-jdbc` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-web` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-webmvc` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-expression` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework:spring-test` from 6.2.5 to 6.2.6
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.5...v6.2.6)

Updates `org.springframework.security:spring-security-test` from 6.4.4 to 6.4.5
- [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/6.4.4...6.4.5)

---
updated-dependencies:
- dependency-name: org.springframework:spring-orm
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-version: 6.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-test
  dependency-version: 6.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 22:27:51 +00:00
dependabot[bot]
7c8f02b455 Bump the build-tools group with 2 updates
Bumps the build-tools group with 2 updates: [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) and [com.google.errorprone:error_prone_annotations](https://github.com/google/error-prone).


Updates `com.google.errorprone:error_prone_core` from 2.37.0 to 2.38.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.37.0...v2.38.0)

Updates `com.google.errorprone:error_prone_annotations` from 2.37.0 to 2.38.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.37.0...v2.38.0)

Updates `com.google.errorprone:error_prone_annotations` from 2.37.0 to 2.38.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.37.0...v2.38.0)

---
updated-dependencies:
- dependency-name: com.google.errorprone:error_prone_core
  dependency-version: 2.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.google.errorprone:error_prone_annotations
  dependency-version: 2.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.google.errorprone:error_prone_annotations
  dependency-version: 2.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 22:25:58 +00:00
Alexandre Vryghem
133c280883 126885: Removed database connection leak on logout
(cherry picked from commit b299a96076)
2025-04-18 19:01:50 +00:00
Alexandre Vryghem
0a79903f30 126885: Removed database connection leak on login
Also:
- Updated EPersonRestAuthenticationProvider to not open an additional DB connection, and reuse the existing one instead
- Normalized the behaviour of OidcLoginFilter by not calling the redirectAfterSuccess instead of doing a chain.doFilter(req, res). This way we don't need to reopen a new Context

(cherry picked from commit 518fb3b1d8)
2025-04-18 19:01:50 +00:00
kshepherd
4ec40054b1 Merge pull request #10617 from DSpace/backport-10519-to-dspace-7_x
[Port dspace-7_x] Fix metadata browsing in descending order using a json.facet to retrieve index values
2025-04-17 15:56:50 +02:00
kshepherd
c892b3a13c Merge pull request #10618 from DSpace/backport-10519-to-dspace-8_x
[Port dspace-8_x] Fix metadata browsing in descending order using a json.facet to retrieve index values
2025-04-17 15:56:38 +02:00
Toni Prieto
d2be70747c Add test for browse entries pagination
(cherry picked from commit a7bc82084e)
2025-04-17 13:21:06 +00:00
Toni Prieto
a85668612f Refactor browse entries facet query to use JSON facet query
(cherry picked from commit 8e88547932)
2025-04-17 13:21:06 +00:00
Toni Prieto
b2f44f57f9 Add test for browse entries pagination
(cherry picked from commit a7bc82084e)
2025-04-17 13:21:02 +00:00
Toni Prieto
d6ff41d9f5 Refactor browse entries facet query to use JSON facet query
(cherry picked from commit 8e88547932)
2025-04-17 13:21:02 +00:00
Alexandre Vryghem
b299a96076 126885: Removed database connection leak on logout 2025-04-17 00:57:54 +02:00
Tim Donohue
cf4d1c87d3 Merge pull request #10615 from DSpace/backport-10613-to-dspace-8_x
[Port dspace-8_x] [DURACOM-346] SubscribeServiceImpl : the method "isSubscribed" returns incorrect result
2025-04-16 12:05:55 -05:00
Tim Donohue
6817d2aa59 Merge pull request #10614 from DSpace/backport-10613-to-dspace-7_x
[Port dspace-7_x] [DURACOM-346] SubscribeServiceImpl : the method "isSubscribed" returns incorrect result
2025-04-16 12:05:37 -05:00
Piaget Bouaka Donfack
9526c19170 [DURACOM-346] SubscribeServiceImpl : the method "isSubscribed" returns incorrect result
(cherry picked from commit 23468d4ee3)
2025-04-16 16:28:27 +00:00
Piaget Bouaka Donfack
3a894e5f5d [DURACOM-346] SubscribeServiceImpl : the method "isSubscribed" returns incorrect result
(cherry picked from commit 23468d4ee3)
2025-04-16 16:28:22 +00:00
Tim Donohue
5605d90206 Merge pull request #10603 from DSpace/dependabot/maven/dspace-8_x/com.google.code.gson-gson-2.13.0
Bump com.google.code.gson:gson from 2.12.1 to 2.13.0
2025-04-15 09:47:31 -05:00
Tim Donohue
d74ae7345e Merge pull request #10604 from DSpace/dependabot/maven/dspace-7_x/apache-commons-9d0a8b4b96
Bump the apache-commons group with 2 updates
2025-04-15 09:45:46 -05:00
Tim Donohue
0cb20d75f5 Merge pull request #10602 from DSpace/dependabot/maven/dspace-8_x/apache-commons-9d0a8b4b96
Bump the apache-commons group with 2 updates
2025-04-15 09:45:24 -05:00
Alan Orth
9b448d8a82 Merge pull request #10606 from DSpace/backport-10109-to-dspace-8_x 2025-04-15 10:25:15 +03:00
Alan Orth
3f653411cf Merge pull request #10605 from DSpace/backport-10109-to-dspace-7_x 2025-04-15 10:23:35 +03:00
Toni Prieto
e4949959cf Modify Solr query to find collections with submit permissions in searches with spaces
(cherry picked from commit 425dc1556e)
2025-04-15 06:32:18 +00:00
Toni Prieto
086e54cb31 Modify Solr query to find collections with submit permissions in searches with spaces
(cherry picked from commit 425dc1556e)
2025-04-15 06:32:12 +00:00
dependabot[bot]
dd62a57564 Bump the apache-commons group with 2 updates
Bumps the apache-commons group with 2 updates: commons-io:commons-io and org.apache.commons:commons-text.


Updates `commons-io:commons-io` from 2.18.0 to 2.19.0

Updates `org.apache.commons:commons-text` from 1.13.0 to 1.13.1

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-text
  dependency-version: 1.13.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 23:11:31 +00:00
dependabot[bot]
24ed6f733d Bump com.google.code.gson:gson from 2.12.1 to 2.13.0
Bumps [com.google.code.gson:gson](https://github.com/google/gson) from 2.12.1 to 2.13.0.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.12.1...gson-parent-2.13.0)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  dependency-version: 2.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 23:11:20 +00:00
dependabot[bot]
5c034c6c02 Bump the apache-commons group with 2 updates
Bumps the apache-commons group with 2 updates: commons-io:commons-io and org.apache.commons:commons-text.


Updates `commons-io:commons-io` from 2.18.0 to 2.19.0

Updates `org.apache.commons:commons-text` from 1.13.0 to 1.13.1

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-text
  dependency-version: 1.13.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 23:03:29 +00:00
Tim Donohue
5aa873f6cb Merge pull request #10589 from DSpace/backport-10587-to-dspace-8_x
[Port dspace-8_x] Translate null email message parameters to "".
2025-04-11 12:14:28 -05:00
Mark H. Wood
7cb9eb49a3 Translate null message parameters to "". Reorganize and add minimal test suite.
(cherry picked from commit 66fe8d862e)
2025-04-11 16:17:57 +00:00
Tim Donohue
e8ee694f21 Merge pull request #10588 from atmire/backport-10485-to-dspace-7_x
[Port dspace-7_x] SEOHealthIndicator which verifies all relevant parameters for SEO issues
2025-04-11 09:27:54 -05:00
Tim Donohue
b6c06a8664 Merge pull request #10586 from DSpace/backport-10563-to-dspace-8_x
[Port dspace-8_x] Replace OAI templating with Thymeleaf
2025-04-11 09:00:02 -05:00
Jens Vannerum
5b8782509f 127746: Include success result for robots.txt check if other checks fail
(cherry picked from commit 5dc12775fa)
2025-04-11 15:48:48 +02:00
Jens Vannerum
64c5f82209 127746: Add more detailed information messages on how to solve problems
(cherry picked from commit 170dc9a44c)
2025-04-11 15:48:48 +02:00
Jens Vannerum
7a876999f8 127746: Implement different failures for robots file so we can differentiate between a missing file or an invalid file
(cherry picked from commit 32c0484280)
2025-04-11 15:48:48 +02:00
Jens Vannerum
31549bdace Disable new actuator in IT
(cherry picked from commit 20ab43cccc)
2025-04-11 15:48:45 +02:00
Jens Vannerum
e122a90674 Implement a SEOHealthIndicator which verifies all relevant parameters for SEO are ok
(cherry picked from commit 4bd8a24ca7)
2025-04-11 15:46:34 +02:00
Kim Shepherd
6c8adb2d2f #9778 Remove jtwig references from LICENSES_THIRD_PARTY
(cherry picked from commit c011700712)
2025-04-10 22:13:03 +00:00
Kim Shepherd
7aceda3dd2 #9778 Remove jtwig version property from oai pom.xml
(cherry picked from commit aa304767ce)
2025-04-10 22:13:03 +00:00
Kim Shepherd
a74ff3d960 #9778 Replace OAI templating with Thymeleaf
(cherry picked from commit f2389e6e7b)
2025-04-10 22:13:03 +00:00
Alexandre Vryghem
518fb3b1d8 126885: Removed database connection leak on login
Also:
- Updated EPersonRestAuthenticationProvider to not open an additional DB connection, and reuse the existing one instead
- Normalized the behaviour of OidcLoginFilter by not calling the redirectAfterSuccess instead of doing a chain.doFilter(req, res). This way we don't need to reopen a new Context
2025-04-10 16:12:02 +02:00
Tim Donohue
dd8f74b358 Merge pull request #10525 from DSpace/dependabot/maven/dspace-8_x/spring-2fadd5294b
Bump the spring group with 23 updates
2025-04-09 12:27:55 -05:00
Tim Donohue
20bcbae618 Merge pull request #10523 from DSpace/dependabot/maven/dspace-8_x/apache-commons-511f294073
Bump org.apache.commons:commons-csv from 1.13.0 to 1.14.0 in the apache-commons group
2025-04-09 12:26:12 -05:00
Tim Donohue
a54c683e96 Merge pull request #10465 from DSpace/dependabot/maven/dspace-8_x/fasterxml-0107322ebb
Bump the fasterxml group with 4 updates
2025-04-09 10:12:43 -05:00
Tim Donohue
ac7eee6465 Merge pull request #10472 from DSpace/dependabot/maven/dspace-7_x/fasterxml-560de934c1
Bump the fasterxml group with 3 updates
2025-04-09 10:12:10 -05:00
Tim Donohue
503f78f065 Merge pull request #10571 from DSpace/dependabot/maven/dspace-7_x/build-tools-8be766aa5b
Bump the build-tools group across 1 directory with 5 updates
2025-04-09 10:11:14 -05:00
Tim Donohue
c651c86f24 Merge pull request #10574 from DSpace/dependabot/maven/dspace-8_x/build-tools-13c766988b
Bump the build-tools group across 1 directory with 10 updates
2025-04-09 10:10:26 -05:00
kshepherd
651ff79cb2 Merge pull request #10582 from DSpace/backport-10580-to-dspace-8_x
[Port dspace-8_x] Removal of sword-client.cfg
2025-04-09 14:52:53 +02:00
Sascha Szott
a4314e5df6 removal of configuration file sword-client.cfg
(cherry picked from commit d299d22685)
2025-04-09 12:18:11 +00:00
Sascha Szott
ffff7cc4d8 remove inclusion of sword-client.cfg
(cherry picked from commit 9794df594c)
2025-04-09 12:18:11 +00:00
Tim Donohue
cab2249481 Merge pull request #10545 from DSpace/dependabot/maven/dspace-8_x/org.apache.httpcomponents.client5-httpclient5-5.4.3
Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.2 to 5.4.3
2025-04-08 13:25:50 -05:00
Tim Donohue
8d79120eec Merge pull request #10469 from DSpace/dependabot/maven/dspace-7_x/google-apis-88ea69a71a
Bump the google-apis group across 1 directory with 4 updates
2025-04-08 13:24:57 -05:00
Tim Donohue
76018e0048 Merge pull request #10482 from DSpace/dependabot/maven/dspace-7_x/io.grpc-grpc-context-1.71.0
Bump io.grpc:grpc-context from 1.70.0 to 1.71.0
2025-04-08 13:24:11 -05:00
Tim Donohue
5fd134d7cf Merge pull request #10544 from DSpace/dependabot/maven/dspace-7_x/joda-time-joda-time-2.14.0
Bump joda-time:joda-time from 2.13.1 to 2.14.0
2025-04-08 13:23:15 -05:00
Tim Donohue
f76c22ff96 Merge pull request #10441 from DSpace/dependabot/maven/dspace-8_x/com.amazonaws-aws-java-sdk-s3-1.12.782
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.781 to 1.12.782
2025-04-08 13:22:24 -05:00
Tim Donohue
3de7bab453 Merge pull request #10449 from DSpace/dependabot/maven/dspace-7_x/com.amazonaws-aws-java-sdk-s3-1.12.782
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.781 to 1.12.782
2025-04-08 13:21:39 -05:00
dependabot[bot]
754a3450ee Bump the spring group with 23 updates
Bumps the spring group with 23 updates:

| Package | From | To |
| --- | --- | --- |
| [org.springframework:spring-orm](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-aop](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-context-support](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-tx](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-jdbc](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-webmvc](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-expression](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `6.2.4` | `6.2.5` |
| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |
| [org.springframework.boot:spring-boot-starter-tomcat](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |
| [org.springframework.boot:spring-boot-maven-plugin](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |
| [org.springframework.boot:spring-boot-starter-cache](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |
| [org.springframework.boot:spring-boot-starter](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |
| [org.springframework.boot:spring-boot-starter-web](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |
| [org.springframework.boot:spring-boot-starter-data-rest](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |
| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |
| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |
| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |
| [org.springframework.boot:spring-boot-starter-log4j2](https://github.com/spring-projects/spring-boot) | `3.4.3` | `3.4.4` |


Updates `org.springframework:spring-orm` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-core` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-beans` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-aop` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-context` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-context-support` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-tx` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-jdbc` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-web` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-webmvc` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-expression` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-test` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-core` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-beans` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-aop` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-context` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-context-support` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-tx` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-jdbc` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-web` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-webmvc` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-expression` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework:spring-test` from 6.2.4 to 6.2.5
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.4...v6.2.5)

Updates `org.springframework.boot:spring-boot-starter-test` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.4.3 to 3.4.4
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.3...v3.4.4)

---
updated-dependencies:
- dependency-name: org.springframework:spring-orm
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 16:18:07 +00:00
dependabot[bot]
6733e56e92 Bump the fasterxml group with 4 updates
Bumps the fasterxml group with 4 updates: [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson), [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core), [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) and com.fasterxml.jackson.datatype:jackson-datatype-jsr310.


Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.18.2 to 2.18.3
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.18.2 to 2.18.3
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.2...jackson-core-2.18.3)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.18.2 to 2.18.3
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.2...jackson-core-2.18.3)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.18.2 to 2.18.3
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.18.2 to 2.18.3

Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.18.2 to 2.18.3

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.datatype:jackson-datatype-jsr310
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 16:05:23 +00:00
dependabot[bot]
16239433f6 Bump io.grpc:grpc-context from 1.70.0 to 1.71.0
Bumps [io.grpc:grpc-context](https://github.com/grpc/grpc-java) from 1.70.0 to 1.71.0.
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.70.0...v1.71.0)

---
updated-dependencies:
- dependency-name: io.grpc:grpc-context
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 15:47:34 +00:00
dependabot[bot]
7c062a48b6 Bump the build-tools group across 1 directory with 10 updates
Bumps the build-tools group with 10 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.37.0` |
| [com.google.errorprone:error_prone_annotations](https://github.com/google/error-prone) | `2.36.0` | `2.37.0` |
| [com.github.spotbugs:spotbugs](https://github.com/spotbugs/spotbugs) | `4.9.1` | `4.9.3` |
| [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) | `3.13.0` | `3.14.0` |
| [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) | `3.5.2` | `3.5.3` |
| [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire) | `3.5.2` | `3.5.3` |
| [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) | `4.9.1.0` | `4.9.3.0` |
| [org.apache.maven.plugins:maven-clean-plugin](https://github.com/apache/maven-clean-plugin) | `3.4.0` | `3.4.1` |
| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.12` | `0.8.13` |
| [org.codehaus.mojo:jaxb2-maven-plugin](https://github.com/mojohaus/jaxb2-maven-plugin) | `3.2.0` | `3.3.0` |



Updates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.37.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.36.0...v2.37.0)

Updates `com.google.errorprone:error_prone_annotations` from 2.36.0 to 2.37.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.36.0...v2.37.0)

Updates `com.github.spotbugs:spotbugs` from 4.9.1 to 4.9.3
- [Release notes](https://github.com/spotbugs/spotbugs/releases)
- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spotbugs/spotbugs/compare/4.9.1...4.9.3)

Updates `com.google.errorprone:error_prone_annotations` from 2.36.0 to 2.37.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.36.0...v2.37.0)

Updates `org.apache.maven.plugins:maven-compiler-plugin` from 3.13.0 to 3.14.0
- [Release notes](https://github.com/apache/maven-compiler-plugin/releases)
- [Commits](https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.13.0...maven-compiler-plugin-3.14.0)

Updates `org.apache.maven.plugins:maven-surefire-plugin` from 3.5.2 to 3.5.3
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.2...surefire-3.5.3)

Updates `org.apache.maven.plugins:maven-failsafe-plugin` from 3.5.2 to 3.5.3
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.2...surefire-3.5.3)

Updates `com.github.spotbugs:spotbugs-maven-plugin` from 4.9.1.0 to 4.9.3.0
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.9.1.0...spotbugs-maven-plugin-4.9.3.0)

Updates `org.apache.maven.plugins:maven-clean-plugin` from 3.4.0 to 3.4.1
- [Release notes](https://github.com/apache/maven-clean-plugin/releases)
- [Commits](https://github.com/apache/maven-clean-plugin/compare/maven-clean-plugin-3.4.0...maven-clean-plugin-3.4.1)

Updates `org.jacoco:jacoco-maven-plugin` from 0.8.12 to 0.8.13
- [Release notes](https://github.com/jacoco/jacoco/releases)
- [Commits](https://github.com/jacoco/jacoco/compare/v0.8.12...v0.8.13)

Updates `org.codehaus.mojo:jaxb2-maven-plugin` from 3.2.0 to 3.3.0
- [Release notes](https://github.com/mojohaus/jaxb2-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/jaxb2-maven-plugin/compare/jaxb2-maven-plugin-3.2.0...jaxb2-maven-plugin-3.3.0)

---
updated-dependencies:
- dependency-name: com.google.errorprone:error_prone_core
  dependency-version: 2.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.google.errorprone:error_prone_annotations
  dependency-version: 2.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.github.spotbugs:spotbugs
  dependency-version: 4.9.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: com.google.errorprone:error_prone_annotations
  dependency-version: 2.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-compiler-plugin
  dependency-version: 3.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-version: 4.9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-clean-plugin
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.jacoco:jacoco-maven-plugin
  dependency-version: 0.8.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.codehaus.mojo:jaxb2-maven-plugin
  dependency-version: 3.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 15:36:46 +00:00
dependabot[bot]
bb2ed04ed3 Bump the build-tools group across 1 directory with 5 updates
Bumps the build-tools group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [com.github.spotbugs:spotbugs](https://github.com/spotbugs/spotbugs) | `4.9.1` | `4.9.3` |
| [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) | `3.13.0` | `3.14.0` |
| [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) | `4.9.1.0` | `4.9.3.0` |
| [org.apache.maven.plugins:maven-clean-plugin](https://github.com/apache/maven-clean-plugin) | `3.4.0` | `3.4.1` |
| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.12` | `0.8.13` |



Updates `com.github.spotbugs:spotbugs` from 4.9.1 to 4.9.3
- [Release notes](https://github.com/spotbugs/spotbugs/releases)
- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spotbugs/spotbugs/compare/4.9.1...4.9.3)

Updates `org.apache.maven.plugins:maven-compiler-plugin` from 3.13.0 to 3.14.0
- [Release notes](https://github.com/apache/maven-compiler-plugin/releases)
- [Commits](https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.13.0...maven-compiler-plugin-3.14.0)

Updates `com.github.spotbugs:spotbugs-maven-plugin` from 4.9.1.0 to 4.9.3.0
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.9.1.0...spotbugs-maven-plugin-4.9.3.0)

Updates `org.apache.maven.plugins:maven-clean-plugin` from 3.4.0 to 3.4.1
- [Release notes](https://github.com/apache/maven-clean-plugin/releases)
- [Commits](https://github.com/apache/maven-clean-plugin/compare/maven-clean-plugin-3.4.0...maven-clean-plugin-3.4.1)

Updates `org.jacoco:jacoco-maven-plugin` from 0.8.12 to 0.8.13
- [Release notes](https://github.com/jacoco/jacoco/releases)
- [Commits](https://github.com/jacoco/jacoco/compare/v0.8.12...v0.8.13)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs
  dependency-version: 4.9.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-compiler-plugin
  dependency-version: 3.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-version: 4.9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-clean-plugin
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.jacoco:jacoco-maven-plugin
  dependency-version: 0.8.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 15:36:26 +00:00
dependabot[bot]
a5806fb518 Bump the google-apis group across 1 directory with 4 updates
Bumps the google-apis group with 4 updates in the / directory: [com.google.http-client:google-http-client](https://github.com/googleapis/google-http-java-client), [com.google.http-client:google-http-client-jackson2](https://github.com/googleapis/google-http-java-client), [com.google.oauth-client:google-oauth-client](https://github.com/googleapis/google-oauth-java-client) and [com.google.http-client:google-http-client-gson](https://github.com/googleapis/google-http-java-client).


Updates `com.google.http-client:google-http-client` from 1.46.1 to 1.46.3
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/v1.46.1...v1.46.3)

Updates `com.google.http-client:google-http-client-jackson2` from 1.46.1 to 1.46.3
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/v1.46.1...v1.46.3)

Updates `com.google.oauth-client:google-oauth-client` from 1.37.0 to 1.38.0
- [Release notes](https://github.com/googleapis/google-oauth-java-client/releases)
- [Changelog](https://github.com/googleapis/google-oauth-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-oauth-java-client/compare/v1.37.0...v1.38.0)

Updates `com.google.http-client:google-http-client-gson` from 1.46.1 to 1.46.3
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/v1.46.1...v1.46.3)

---
updated-dependencies:
- dependency-name: com.google.http-client:google-http-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: google-apis
- dependency-name: com.google.http-client:google-http-client-jackson2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: google-apis
- dependency-name: com.google.oauth-client:google-oauth-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
- dependency-name: com.google.http-client:google-http-client-gson
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: google-apis
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 15:35:52 +00:00
dependabot[bot]
b64b79973d Bump the fasterxml group with 3 updates
Bumps the fasterxml group with 3 updates: [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson), [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) and [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson).


Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.18.2 to 2.18.3
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.18.2 to 2.18.3
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.2...jackson-core-2.18.3)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.18.2 to 2.18.3
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.18.2...jackson-core-2.18.3)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.18.2 to 2.18.3
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: fasterxml
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 15:35:47 +00:00
dependabot[bot]
6f4435bef1 Bump org.apache.commons:commons-csv in the apache-commons group
Bumps the apache-commons group with 1 update: [org.apache.commons:commons-csv](https://github.com/apache/commons-csv).


Updates `org.apache.commons:commons-csv` from 1.13.0 to 1.14.0
- [Changelog](https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-csv/compare/rel/commons-csv-1.13.0...rel/commons-csv-1.14.0)

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-csv
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 15:35:40 +00:00
Tim Donohue
5a327dcbed Merge pull request #10466 from DSpace/dependabot/maven/dspace-8_x/slf4j.version-2.0.17
Bump slf4j.version from 2.0.16 to 2.0.17
2025-04-08 09:27:29 -05:00
Tim Donohue
7d5db89889 Merge pull request #10470 from DSpace/dependabot/maven/dspace-7_x/test-tools-fd1863f7f0
Bump the test-tools group with 6 updates
2025-04-08 09:26:20 -05:00
Tim Donohue
dbeb203f4d Merge pull request #10575 from DSpace/dependabot/maven/dspace-8_x/org.checkerframework-checker-qual-3.49.2
Bump org.checkerframework:checker-qual from 3.49.0 to 3.49.2
2025-04-08 09:25:07 -05:00
dependabot[bot]
c8cc425357 Bump com.amazonaws:aws-java-sdk-s3 from 1.12.781 to 1.12.782
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.781 to 1.12.782.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.781...1.12.782)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 14:23:43 +00:00
Tim Donohue
5fa01ef63e Merge pull request #10570 from tdonohue/remove_unused_sword_client_7x
[Port dspace-7_x] Remove unused, unmaintained SWORD v1 client code
2025-04-08 06:58:52 -05:00
Tim Donohue
de61bfba44 Merge pull request #10569 from tdonohue/remove_unused_sword_client_8x
[Port dspace-8_x] Remove unused, unmaintained SWORD v1 client code
2025-04-08 06:58:43 -05:00
dependabot[bot]
e356335b56 Bump org.checkerframework:checker-qual from 3.49.0 to 3.49.2
Bumps [org.checkerframework:checker-qual](https://github.com/typetools/checker-framework) from 3.49.0 to 3.49.2.
- [Release notes](https://github.com/typetools/checker-framework/releases)
- [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/typetools/checker-framework/compare/checker-framework-3.49.0...checker-framework-3.49.2)

---
updated-dependencies:
- dependency-name: org.checkerframework:checker-qual
  dependency-version: 3.49.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-08 00:03:37 +00:00
dependabot[bot]
68cffba5fa Bump the test-tools group with 6 updates
Bumps the test-tools group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [io.netty:netty-buffer](https://github.com/netty/netty) | `4.1.118.Final` | `4.1.119.Final` |
| [io.netty:netty-transport](https://github.com/netty/netty) | `4.1.118.Final` | `4.1.119.Final` |
| [io.netty:netty-transport-native-unix-common](https://github.com/netty/netty) | `4.1.118.Final` | `4.1.119.Final` |
| [io.netty:netty-common](https://github.com/netty/netty) | `4.1.118.Final` | `4.1.119.Final` |
| [io.netty:netty-handler](https://github.com/netty/netty) | `4.1.118.Final` | `4.1.119.Final` |
| [io.netty:netty-codec](https://github.com/netty/netty) | `4.1.118.Final` | `4.1.119.Final` |


Updates `io.netty:netty-buffer` from 4.1.118.Final to 4.1.119.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.118.Final...netty-4.1.119.Final)

Updates `io.netty:netty-transport` from 4.1.118.Final to 4.1.119.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.118.Final...netty-4.1.119.Final)

Updates `io.netty:netty-transport-native-unix-common` from 4.1.118.Final to 4.1.119.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.118.Final...netty-4.1.119.Final)

Updates `io.netty:netty-common` from 4.1.118.Final to 4.1.119.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.118.Final...netty-4.1.119.Final)

Updates `io.netty:netty-handler` from 4.1.118.Final to 4.1.119.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.118.Final...netty-4.1.119.Final)

Updates `io.netty:netty-codec` from 4.1.118.Final to 4.1.119.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.118.Final...netty-4.1.119.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-buffer
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-transport
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-transport-native-unix-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-handler
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-codec
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 23:48:45 +00:00
Tim Donohue
bfe7e7871e Remove unused SWORD v1 client code. This is "dead code" which is unmaintained and obsolete 2025-04-07 17:10:43 -05:00
Tim Donohue
d7a3f32397 Remove unused SWORD v1 client code. This is "dead code" which is unmaintained and obsolete 2025-04-07 16:49:00 -05:00
Tim Donohue
a6fcdeab9e Merge pull request #10567 from tdonohue/port_10565_to_7x
[Port dspace-7_x][GitHub Actions] Update Docker scripts to use new Ubuntu ARM64 runner instead of emulation
2025-04-07 12:53:01 -05:00
Tim Donohue
53d792a46a Merge pull request #10566 from DSpace/backport-10565-to-dspace-8_x
[Port dspace-8_x] [GitHub Actions] Update Docker scripts to use new Ubuntu ARM64 runner instead of emulation
2025-04-07 12:52:51 -05:00
Tim Donohue
4c73e4b01f Update reusable-docker-build to use Ubuntu ARM64 runner for those images 2025-04-07 11:56:20 -05:00
Tim Donohue
cdffd0639c Update reusable-docker-build to use Ubuntu ARM64 runner for those images
(cherry picked from commit 0177c123b3)
2025-04-07 16:55:30 +00:00
Tim Donohue
249e1a1dff Merge pull request #10562 from DSpace/backport-10485-to-dspace-8_x
[Port dspace-8_x] SEOHealthIndicator which verifies all relevant parameters for SEO issues
2025-04-04 11:04:34 -05:00
Jens Vannerum
d9ade02675 127746: Include success result for robots.txt check if other checks fail
(cherry picked from commit 5dc12775fa)
2025-04-04 15:27:31 +00:00
Jens Vannerum
980976484e 127746: Add more detailed information messages on how to solve problems
(cherry picked from commit 170dc9a44c)
2025-04-04 15:27:31 +00:00
Jens Vannerum
698db1d349 127746: Implement different failures for robots file so we can differentiate between a missing file or an invalid file
(cherry picked from commit 32c0484280)
2025-04-04 15:27:31 +00:00
Jens Vannerum
54a3aea70d Disable new actuator in IT
(cherry picked from commit 20ab43cccc)
2025-04-04 15:27:30 +00:00
Jens Vannerum
70017e1c8e Implement a SEOHealthIndicator which verifies all relevant parameters for SEO are ok
(cherry picked from commit 4bd8a24ca7)
2025-04-04 15:27:30 +00:00
Tim Donohue
a2a56d416e Merge pull request #10551 from DSpace/backport-9876-to-dspace-7_x
[Port dspace-7_x] Fix DSpace startup failures when ORCID http connections fail
2025-04-02 14:08:35 -05:00
Tim Donohue
a3771e1d72 Merge pull request #10552 from DSpace/backport-9876-to-dspace-8_x
[Port dspace-8_x] Fix DSpace startup failures when ORCID http connections fail
2025-04-02 14:08:21 -05:00
Kim Shepherd
d9ee07ba4d Fix some ORCID mock / test usage
(cherry picked from commit 038ddeee97)
2025-04-02 18:28:34 +00:00
Kim Shepherd
8e2dc93cc8 More robust ORCID accessToken init, REST con. usage
* Ensure that http client / IO exceptions don't cause a
  total DSpace startup failure because of unhandled
  exceptions in Spring service init methods.
* Centralise access token retrieval method in factory utils.
* Check for NULL rest connector since that can now happen
  and handle gracefully, with error logging

(cherry picked from commit b72344ecfb)
2025-04-02 18:28:33 +00:00
Kim Shepherd
1fe697a19e Fix some ORCID mock / test usage
(cherry picked from commit 038ddeee97)
2025-04-02 18:28:28 +00:00
Kim Shepherd
3fa57d7c0e More robust ORCID accessToken init, REST con. usage
* Ensure that http client / IO exceptions don't cause a
  total DSpace startup failure because of unhandled
  exceptions in Spring service init methods.
* Centralise access token retrieval method in factory utils.
* Check for NULL rest connector since that can now happen
  and handle gracefully, with error logging

(cherry picked from commit b72344ecfb)
2025-04-02 18:28:28 +00:00
dependabot[bot]
867efc951d Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.2 to 5.4.3
Bumps [org.apache.httpcomponents.client5:httpclient5](https://github.com/apache/httpcomponents-client) from 5.4.2 to 5.4.3.
- [Changelog](https://github.com/apache/httpcomponents-client/blob/rel/v5.4.3/RELEASE_NOTES.txt)
- [Commits](https://github.com/apache/httpcomponents-client/compare/rel/v5.4.2...rel/v5.4.3)

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents.client5:httpclient5
  dependency-version: 5.4.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 22:55:01 +00:00
dependabot[bot]
d68c5ac8eb Bump joda-time:joda-time from 2.13.1 to 2.14.0
Bumps [joda-time:joda-time](https://github.com/JodaOrg/joda-time) from 2.13.1 to 2.14.0.
- [Release notes](https://github.com/JodaOrg/joda-time/releases)
- [Changelog](https://github.com/JodaOrg/joda-time/blob/main/RELEASE-NOTES.txt)
- [Commits](https://github.com/JodaOrg/joda-time/compare/v2.13.1...v2.14.0)

---
updated-dependencies:
- dependency-name: joda-time:joda-time
  dependency-version: 2.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 22:52:59 +00:00
Vincenzo Mecca
2f477e3706 [DURACOM-243] Adds Test for JPEGFilter
(cherry picked from commit 82d04061c0)
2025-03-27 12:49:53 +01:00
Vincenzo Mecca
d137f8bb60 [DURACOM-243] Adds rotation handling inside JPEGFilter
Conflicts:

(cherry picked from commit 08e330c1c0)
2025-03-27 12:49:47 +01:00
DSpace Bot
c797441b86 [Port dspace-7_x] Add null check in SolrServiceFileInfoPlugin for index-discovery (#10517)
* Add null check in SolrServiceFileInfoPlugin for index-discovery

(cherry picked from commit d07f1e0caa)

* Fix starting curly brace.

(cherry picked from commit e11994c0ee)

* Update SolrServiceFileInfoPlugin.java

(cherry picked from commit 18372ae072)

---------

Co-authored-by: jameswsullivan <81947235+jameswsullivan@users.noreply.github.com>
2025-03-24 14:04:03 -05:00
DSpace Bot
f0abeea477 [Port dspace-8_x] Add null check in SolrServiceFileInfoPlugin for index-discovery (#10518)
* Add null check in SolrServiceFileInfoPlugin for index-discovery

(cherry picked from commit d07f1e0caa)

* Fix starting curly brace.

(cherry picked from commit e11994c0ee)

* Update SolrServiceFileInfoPlugin.java

(cherry picked from commit 18372ae072)

---------

Co-authored-by: jameswsullivan <81947235+jameswsullivan@users.noreply.github.com>
2025-03-24 14:03:50 -05:00
Tim Donohue
d5a36fceb1 Merge pull request #10516 from DSpace/backport-10511-to-dspace-8_x
[Port dspace-8_x] Add bitstream null check to XOAI.java
2025-03-24 11:00:08 -05:00
Tim Donohue
56e8322079 Merge pull request #10515 from DSpace/backport-10511-to-dspace-7_x
[Port dspace-7_x] Add bitstream null check to XOAI.java
2025-03-24 10:59:57 -05:00
Tim Donohue
49ce0664a2 Merge pull request #10514 from DSpace/backport-10509-to-dspace-8_x
[Port dspace-8_x] DiscoverQueryBuilder: add missing whitespace in exception message
2025-03-24 10:58:57 -05:00
Tim Donohue
0a3174551f Merge pull request #10513 from DSpace/backport-10509-to-dspace-7_x
[Port dspace-7_x] DiscoverQueryBuilder: add missing whitespace in exception message
2025-03-24 10:58:45 -05:00
jameswsullivan
3b0cfd058a Add bitstream null check to XOAI
(cherry picked from commit 54602f47b1)
2025-03-24 14:58:41 +00:00
jameswsullivan
bdfe2bfe2e Add bitstream null check to XOAI
(cherry picked from commit 54602f47b1)
2025-03-24 14:58:37 +00:00
Sascha Szott
21df5d0f38 add missing whitespace
(cherry picked from commit 4ea4958093)
2025-03-24 14:55:05 +00:00
Sascha Szott
705f71f369 add missing whitespace in exception message
(cherry picked from commit 9a904ab4c9)
2025-03-24 14:55:05 +00:00
Sascha Szott
00da667ba5 add missing whitespace
(cherry picked from commit 4ea4958093)
2025-03-24 14:55:00 +00:00
Sascha Szott
fbec7f2e56 add missing whitespace in exception message
(cherry picked from commit 9a904ab4c9)
2025-03-24 14:55:00 +00:00
Tim Donohue
b988ffd48f Merge pull request #10497 from DSpace/dependabot/maven/dspace-8_x/spring-b132a2c2be
Bump the spring group across 1 directory with 24 updates
2025-03-18 17:17:49 -05:00
dependabot[bot]
0cb255ca7c Bump the spring group across 1 directory with 24 updates
Bumps the spring group with 24 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [org.springframework:spring-orm](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-aop](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-context-support](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-tx](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-jdbc](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-webmvc](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-expression](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `6.2.3` | `6.2.4` |
| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.boot:spring-boot-starter-tomcat](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.boot:spring-boot-maven-plugin](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.boot:spring-boot-starter-cache](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.boot:spring-boot-starter](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.boot:spring-boot-starter-web](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.boot:spring-boot-starter-data-rest](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.boot:spring-boot-starter-log4j2](https://github.com/spring-projects/spring-boot) | `3.4.2` | `3.4.3` |
| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.4.2` | `6.4.4` |



Updates `org.springframework:spring-orm` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-core` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-beans` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-aop` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-context` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-context-support` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-tx` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-jdbc` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-web` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-webmvc` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-expression` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-test` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-core` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-beans` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-aop` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-context` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-context-support` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-tx` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-jdbc` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-web` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-webmvc` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-expression` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework:spring-test` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.3...v6.2.4)

Updates `org.springframework.boot:spring-boot-starter-test` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-tomcat` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.security:spring-security-test` from 6.4.2 to 6.4.4
- [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/6.4.2...6.4.4)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-cache` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-web` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-data-rest` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-aop` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

Updates `org.springframework.boot:spring-boot-starter-log4j2` from 3.4.2 to 3.4.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.4.2...v3.4.3)

---
updated-dependencies:
- dependency-name: org.springframework:spring-orm
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-tomcat
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-data-rest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.boot:spring-boot-starter-log4j2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 23:20:36 +00:00
Tim Donohue
7b333f016f Merge pull request #10453 from amgciadev/port-10053-b
[Port dspace-8_x] #10053: Implement support for PCI Endorsement workflow in COAR Notify
2025-03-17 10:43:53 -05:00
Tim Donohue
64631c6c3b Merge pull request #10488 from DSpace/backport-10487-to-dspace-8_x
[Port dspace-8_x] #10476: Fix debug port conflicts in Dockerfile test env
2025-03-12 16:46:08 -05:00
Kim Shepherd
08be12a932 #10476: Fix debug port conflicts in Dockerfile test env
Unset JAVA_TOOL_OPTIONS rather than overwriting

(cherry picked from commit f93e498f9b)
2025-03-12 21:45:14 +00:00
Kim Shepherd
d77982683d #10476: Fix debug port conflicts in Dockerfile test env
Reset JAVA_TOOL_OPTIONS in the launcher
Include commented example of CLI debugging in launcher

(cherry picked from commit 1dcb880e00)
2025-03-12 21:45:14 +00:00
Zahraa Chreim
238893ce6d Fix invalid cast in DOIOrganiser exception handling 2025-03-11 16:02:03 +02:00
Tim Donohue
4c0bbeffa3 Merge pull request #10474 from DSpace/backport-10460-to-dspace-7_x
[Port dspace-7_x] Refactoring the function to retrieve the number of browse entries (fix errors using Solr 9.x)
2025-03-04 10:11:01 -06:00
Tim Donohue
d5f208e462 Merge pull request #10475 from DSpace/backport-10460-to-dspace-8_x
[Port dspace-8_x] Refactoring the function to retrieve the number of browse entries (fix errors using Solr 9.x)
2025-03-04 10:10:39 -06:00
Toni Prieto
113553dc62 Use NestableJsonFacet to process browse entries count response
(cherry picked from commit 7ba09b7a85)
2025-03-04 15:24:33 +00:00
Toni Prieto
15dab1e41e Use NestableJsonFacet to process browse entries count response
(cherry picked from commit 7ba09b7a85)
2025-03-04 15:24:29 +00:00
dependabot[bot]
f74fe75b60 Bump slf4j.version from 2.0.16 to 2.0.17
Bumps `slf4j.version` from 2.0.16 to 2.0.17.

Updates `org.slf4j:jcl-over-slf4j` from 2.0.16 to 2.0.17

Updates `org.slf4j:slf4j-api` from 2.0.16 to 2.0.17

---
updated-dependencies:
- dependency-name: org.slf4j:jcl-over-slf4j
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.slf4j:slf4j-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 22:52:24 +00:00
Tim Donohue
1d4117f4ba Merge pull request #9895 from minurmin/DSpace-9665
[Port dspace-7_x] BitstreamRestController etag/content-length calculation fix when coverpages are enabled
2025-02-27 14:25:31 -06:00
Tim Donohue
3c04d314f0 Merge pull request #10354 from minurmin/DSpace-9665_8x
[Port dspace-8_x] BitstreamRestController etag/content-length calculation fix when coverpages are enabled
2025-02-27 14:25:08 -06:00
Agustina Martinez
05a3d30b04 Update LDNMessageConsumer.java
Replace getName call with getFullName to retrieve full name rather than email
2025-02-27 18:18:20 +00:00
Agustina Martinez
5c19f73bf8 Add integration tests 2025-02-26 08:59:04 +00:00
Agustina Martinez
28298a8155 Port #10053: Notify PCI endorsement support (DSpace 8.x) 2025-02-26 08:56:41 +00:00
dependabot[bot]
dd7646eee9 Bump com.amazonaws:aws-java-sdk-s3 from 1.12.781 to 1.12.782
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.781 to 1.12.782.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.781...1.12.782)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 23:20:09 +00:00
Tim Donohue
24179c75dd Merge pull request #10423 from DSpace/dependabot/maven/dspace-8_x/com.amazonaws-aws-java-sdk-s3-1.12.781
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.780 to 1.12.781
2025-02-18 14:47:44 -06:00
Tim Donohue
8d02b0d455 Merge pull request #10421 from DSpace/dependabot/maven/dspace-8_x/spring-9977ad9605
Bump the spring group with 12 updates
2025-02-18 12:12:44 -06:00
Tim Donohue
4972a5d8f9 Merge pull request #10416 from DSpace/dependabot/maven/dspace-7_x/net.minidev-json-smart-2.5.2
Bump net.minidev:json-smart from 2.5.1 to 2.5.2
2025-02-18 12:09:53 -06:00
Tim Donohue
dfbdc5b210 Merge pull request #10422 from DSpace/dependabot/maven/dspace-8_x/net.minidev-json-smart-2.5.2
Bump net.minidev:json-smart from 2.5.1 to 2.5.2
2025-02-18 12:08:06 -06:00
Tim Donohue
8fd3429c9a Merge pull request #10417 from DSpace/dependabot/maven/dspace-7_x/com.amazonaws-aws-java-sdk-s3-1.12.781
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.780 to 1.12.781
2025-02-18 12:05:10 -06:00
Tim Donohue
f1ddc78729 Merge pull request #10415 from DSpace/dependabot/maven/dspace-7_x/apache-commons-6a14420bb4
Bump commons-beanutils:commons-beanutils from 1.10.0 to 1.10.1 in the apache-commons group
2025-02-18 12:04:01 -06:00
Tim Donohue
36aab8d6b2 Merge pull request #10420 from DSpace/dependabot/maven/dspace-8_x/apache-commons-6a14420bb4
Bump commons-beanutils:commons-beanutils from 1.10.0 to 1.10.1 in the apache-commons group
2025-02-18 12:03:39 -06:00
Tim Donohue
0cb3020442 Merge pull request #10414 from DSpace/dependabot/maven/dspace-7_x/build-tools-4f90ff9816
Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.6 to 4.9.1.0 in the build-tools group
2025-02-18 12:02:57 -06:00
Tim Donohue
2359a4a5c2 Merge pull request #10419 from DSpace/dependabot/maven/dspace-8_x/build-tools-4f90ff9816
Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.6 to 4.9.1.0 in the build-tools group
2025-02-18 12:02:17 -06:00
dependabot[bot]
c2b5cd0b88 Bump com.amazonaws:aws-java-sdk-s3 from 1.12.780 to 1.12.781
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.780 to 1.12.781.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.780...1.12.781)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 22:46:41 +00:00
dependabot[bot]
013b0e6b84 Bump net.minidev:json-smart from 2.5.1 to 2.5.2
Bumps [net.minidev:json-smart](https://github.com/netplex/json-smart-v2) from 2.5.1 to 2.5.2.
- [Release notes](https://github.com/netplex/json-smart-v2/releases)
- [Commits](https://github.com/netplex/json-smart-v2/compare/2.5.1...2.5.2)

---
updated-dependencies:
- dependency-name: net.minidev:json-smart
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 22:45:59 +00:00
dependabot[bot]
de85bb4b93 Bump the spring group with 12 updates
Bumps the spring group with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [org.springframework:spring-orm](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-aop](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-context](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-context-support](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-tx](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-jdbc](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-webmvc](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-expression](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |
| [org.springframework:spring-test](https://github.com/spring-projects/spring-framework) | `6.2.2` | `6.2.3` |


Updates `org.springframework:spring-orm` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-core` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-beans` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-aop` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-context` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-context-support` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-tx` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-jdbc` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-web` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-webmvc` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-expression` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-test` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-core` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-beans` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-aop` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-context` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-context-support` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-tx` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-jdbc` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-web` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-webmvc` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-expression` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

Updates `org.springframework:spring-test` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.2...v6.2.3)

---
updated-dependencies:
- dependency-name: org.springframework:spring-orm
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-beans
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-aop
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-context-support
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-tx
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-webmvc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-expression
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework:spring-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 22:45:37 +00:00
dependabot[bot]
e4e7fb16d1 Bump commons-beanutils:commons-beanutils in the apache-commons group
Bumps the apache-commons group with 1 update: commons-beanutils:commons-beanutils.


Updates `commons-beanutils:commons-beanutils` from 1.10.0 to 1.10.1

---
updated-dependencies:
- dependency-name: commons-beanutils:commons-beanutils
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 22:44:13 +00:00
dependabot[bot]
474c7d763c Bump com.github.spotbugs:spotbugs-maven-plugin in the build-tools group
Bumps the build-tools group with 1 update: [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin).


Updates `com.github.spotbugs:spotbugs-maven-plugin` from 4.8.6.6 to 4.9.1.0
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.8.6.6...spotbugs-maven-plugin-4.9.1.0)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 22:43:55 +00:00
dependabot[bot]
1d85653ed0 Bump com.amazonaws:aws-java-sdk-s3 from 1.12.780 to 1.12.781
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.780 to 1.12.781.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.780...1.12.781)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 22:27:07 +00:00
dependabot[bot]
51c766caa3 Bump net.minidev:json-smart from 2.5.1 to 2.5.2
Bumps [net.minidev:json-smart](https://github.com/netplex/json-smart-v2) from 2.5.1 to 2.5.2.
- [Release notes](https://github.com/netplex/json-smart-v2/releases)
- [Commits](https://github.com/netplex/json-smart-v2/compare/2.5.1...2.5.2)

---
updated-dependencies:
- dependency-name: net.minidev:json-smart
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 22:26:49 +00:00
dependabot[bot]
edbf9ef605 Bump commons-beanutils:commons-beanutils in the apache-commons group
Bumps the apache-commons group with 1 update: commons-beanutils:commons-beanutils.


Updates `commons-beanutils:commons-beanutils` from 1.10.0 to 1.10.1

---
updated-dependencies:
- dependency-name: commons-beanutils:commons-beanutils
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 22:25:48 +00:00
dependabot[bot]
b63329b45a Bump com.github.spotbugs:spotbugs-maven-plugin in the build-tools group
Bumps the build-tools group with 1 update: [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin).


Updates `com.github.spotbugs:spotbugs-maven-plugin` from 4.8.6.6 to 4.9.1.0
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.8.6.6...spotbugs-maven-plugin-4.9.1.0)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 22:25:23 +00:00
Tim Donohue
8adbe244bf Merge pull request #10409 from DSpace/backport-10406-to-dspace-7_x
[Port dspace-7_x] Fix #10405 bug in log4j-cli
2025-02-13 12:59:05 -06:00
Martin Walk
268b5fc8b7 Fix #10405 bug in log4j-cli
(cherry picked from commit 4c044adcf3)
2025-02-13 16:40:50 +00:00
Tim Donohue
1953b4856e Merge pull request #10406 from MW3000/fix-10405-bug-in-log4j-cli
Fix #10405 bug in log4j-cli
2025-02-13 10:40:25 -06:00
Martin Walk
4c044adcf3 Fix #10405 bug in log4j-cli 2025-02-13 14:34:28 +01:00
Tim Donohue
fedbccae49 Merge pull request #10392 from DSpace/dependabot/maven/dspace-7_x/tika.version-2.9.3
Bump tika.version from 2.9.2 to 2.9.3
2025-02-12 17:11:40 -06:00
Tim Donohue
5af6b25766 Merge pull request #10396 from DSpace/dependabot/maven/dspace-8_x/tika.version-2.9.3
Bump tika.version from 2.9.2 to 2.9.3
2025-02-12 17:10:14 -06:00
Tim Donohue
fcc4dcf5b3 Merge pull request #10174 from atmire/w2p-121973_openaire-compliance-updates-7.x
[Port dspace-7_x] OpenAIRE v4 compliance updates
2025-02-12 12:36:10 -06:00
Tim Donohue
580cb83415 Merge pull request #10175 from atmire/w2p-121973_openaire-compliance-updates-8.x
[Port dspace-8_x] OpenAIRE v4 compliance updates
2025-02-12 12:35:27 -06:00
DSpace Bot
0c0a0d56ff [Port dspace-8_x] Fixing Crossref document type issue with new metadata mapping processor (#10401)
* new metadata mapping processor for crossref document type

(cherry picked from commit 9ab6b8fce2)

* adjust crossref test to consider mapped dc.type to Article

(cherry picked from commit 2d15f3ef54)

* correcting english

(cherry picked from commit d9c8366be0)

* dspace-api: remove trailing whitespace

(cherry picked from commit 175075cf5e)

---------

Co-authored-by: Paulo Graça <paulo1978@gmail.com>
Co-authored-by: Alan Orth <alan.orth@gmail.com>
2025-02-12 16:57:47 +03:00
Paulo Graça
ee762260cf [Port dspace-7_x] Fixing Crossref document type issue with new metadata mapping processor (#9909)
* new metadata mapping processor for crossref document type

* licence and code style fixes

* adjust crossref test to consider mapped dc.type to Article

* correcting english

* remove trailing space
2025-02-12 15:26:27 +03:00
Tim Donohue
63bb639e68 Merge pull request #10346 from DSpace/dependabot/maven/dspace-7_x/io.grpc-grpc-context-1.70.0
Bump io.grpc:grpc-context from 1.69.0 to 1.70.0
2025-02-11 10:52:49 -06:00
Tim Donohue
dfe5628ed9 Merge pull request #10389 from DSpace/dependabot/maven/dspace-7_x/google-apis-4ffec14d6f
Bump the google-apis group across 1 directory with 3 updates
2025-02-11 10:52:11 -06:00
Tim Donohue
fc4a7628ef Merge pull request #10391 from DSpace/dependabot/maven/dspace-7_x/apache-commons-8f079b07b9
Bump commons-logging:commons-logging from 1.3.4 to 1.3.5 in the apache-commons group
2025-02-11 10:42:35 -06:00
Tim Donohue
96880a97d0 Merge pull request #10395 from DSpace/dependabot/maven/dspace-8_x/apache-commons-8f079b07b9
Bump commons-logging:commons-logging from 1.3.4 to 1.3.5 in the apache-commons group
2025-02-11 10:42:16 -06:00
Tim Donohue
6265c3d45b Dependency convergence fix 2025-02-11 10:41:15 -06:00
Tim Donohue
102c347455 Dependency convergence fix 2025-02-11 10:40:51 -06:00
Tim Donohue
cf7370e2bc Merge pull request #10390 from DSpace/dependabot/maven/dspace-7_x/test-tools-104c99f93b
Bump the test-tools group with 6 updates
2025-02-11 09:51:01 -06:00
Tim Donohue
35c0c80da3 Merge pull request #10394 from DSpace/dependabot/maven/dspace-8_x/build-tools-2e3c11379d
Bump com.github.spotbugs:spotbugs from 4.9.0 to 4.9.1 in the build-tools group
2025-02-11 09:50:06 -06:00
Tim Donohue
1c59295693 Merge pull request #10388 from DSpace/dependabot/maven/dspace-7_x/build-tools-2e3c11379d
Bump com.github.spotbugs:spotbugs from 4.9.0 to 4.9.1 in the build-tools group
2025-02-11 09:49:45 -06:00
dependabot[bot]
d7261481d1 Bump tika.version from 2.9.2 to 2.9.3
Bumps `tika.version` from 2.9.2 to 2.9.3.

Updates `org.apache.tika:tika-core` from 2.9.2 to 2.9.3
- [Changelog](https://github.com/apache/tika/blob/2.9.3/CHANGES.txt)
- [Commits](https://github.com/apache/tika/compare/2.9.2...2.9.3)

Updates `org.apache.tika:tika-parsers-standard-package` from 2.9.2 to 2.9.3

---
updated-dependencies:
- dependency-name: org.apache.tika:tika-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.tika:tika-parsers-standard-package
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 23:23:18 +00:00
dependabot[bot]
6ebde005fe Bump commons-logging:commons-logging in the apache-commons group
Bumps the apache-commons group with 1 update: commons-logging:commons-logging.


Updates `commons-logging:commons-logging` from 1.3.4 to 1.3.5

---
updated-dependencies:
- dependency-name: commons-logging:commons-logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 23:22:30 +00:00
dependabot[bot]
4f54d582a3 Bump com.github.spotbugs:spotbugs in the build-tools group
Bumps the build-tools group with 1 update: [com.github.spotbugs:spotbugs](https://github.com/spotbugs/spotbugs).


Updates `com.github.spotbugs:spotbugs` from 4.9.0 to 4.9.1
- [Release notes](https://github.com/spotbugs/spotbugs/releases)
- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spotbugs/spotbugs/compare/4.9.0...4.9.1)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 23:22:10 +00:00
dependabot[bot]
2c13ee40fe Bump tika.version from 2.9.2 to 2.9.3
Bumps `tika.version` from 2.9.2 to 2.9.3.

Updates `org.apache.tika:tika-core` from 2.9.2 to 2.9.3
- [Changelog](https://github.com/apache/tika/blob/2.9.3/CHANGES.txt)
- [Commits](https://github.com/apache/tika/compare/2.9.2...2.9.3)

Updates `org.apache.tika:tika-parsers-standard-package` from 2.9.2 to 2.9.3

---
updated-dependencies:
- dependency-name: org.apache.tika:tika-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.tika:tika-parsers-standard-package
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 22:27:33 +00:00
dependabot[bot]
090001b685 Bump commons-logging:commons-logging in the apache-commons group
Bumps the apache-commons group with 1 update: commons-logging:commons-logging.


Updates `commons-logging:commons-logging` from 1.3.4 to 1.3.5

---
updated-dependencies:
- dependency-name: commons-logging:commons-logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 22:26:31 +00:00
dependabot[bot]
ba318d9710 Bump the test-tools group with 6 updates
Bumps the test-tools group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [io.netty:netty-buffer](https://github.com/netty/netty) | `4.1.117.Final` | `4.1.118.Final` |
| [io.netty:netty-transport](https://github.com/netty/netty) | `4.1.117.Final` | `4.1.118.Final` |
| [io.netty:netty-transport-native-unix-common](https://github.com/netty/netty) | `4.1.117.Final` | `4.1.118.Final` |
| [io.netty:netty-common](https://github.com/netty/netty) | `4.1.117.Final` | `4.1.118.Final` |
| [io.netty:netty-handler](https://github.com/netty/netty) | `4.1.117.Final` | `4.1.118.Final` |
| [io.netty:netty-codec](https://github.com/netty/netty) | `4.1.117.Final` | `4.1.118.Final` |


Updates `io.netty:netty-buffer` from 4.1.117.Final to 4.1.118.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.117.Final...netty-4.1.118.Final)

Updates `io.netty:netty-transport` from 4.1.117.Final to 4.1.118.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.117.Final...netty-4.1.118.Final)

Updates `io.netty:netty-transport-native-unix-common` from 4.1.117.Final to 4.1.118.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.117.Final...netty-4.1.118.Final)

Updates `io.netty:netty-common` from 4.1.117.Final to 4.1.118.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.117.Final...netty-4.1.118.Final)

Updates `io.netty:netty-handler` from 4.1.117.Final to 4.1.118.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.117.Final...netty-4.1.118.Final)

Updates `io.netty:netty-codec` from 4.1.117.Final to 4.1.118.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.117.Final...netty-4.1.118.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-buffer
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-transport
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-transport-native-unix-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-handler
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-codec
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 22:26:17 +00:00
dependabot[bot]
06a5458205 Bump the google-apis group across 1 directory with 3 updates
Bumps the google-apis group with 3 updates in the / directory: [com.google.http-client:google-http-client](https://github.com/googleapis/google-http-java-client), [com.google.http-client:google-http-client-jackson2](https://github.com/googleapis/google-http-java-client) and [com.google.http-client:google-http-client-gson](https://github.com/googleapis/google-http-java-client).


Updates `com.google.http-client:google-http-client` from 1.45.3 to 1.46.1
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/v1.45.3...v1.46.1)

Updates `com.google.http-client:google-http-client-jackson2` from 1.45.3 to 1.46.1
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/v1.45.3...v1.46.1)

Updates `com.google.http-client:google-http-client-gson` from 1.43.3 to 1.46.1
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/v1.43.3...v1.46.1)

---
updated-dependencies:
- dependency-name: com.google.http-client:google-http-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
- dependency-name: com.google.http-client:google-http-client-jackson2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
- dependency-name: com.google.http-client:google-http-client-gson
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 22:25:53 +00:00
dependabot[bot]
8e411ac70c Bump com.github.spotbugs:spotbugs in the build-tools group
Bumps the build-tools group with 1 update: [com.github.spotbugs:spotbugs](https://github.com/spotbugs/spotbugs).


Updates `com.github.spotbugs:spotbugs` from 4.9.0 to 4.9.1
- [Release notes](https://github.com/spotbugs/spotbugs/releases)
- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spotbugs/spotbugs/compare/4.9.0...4.9.1)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 22:25:47 +00:00
Tim Donohue
b12ce10ac3 Merge pull request #10362 from DSpace/dependabot/maven/dspace-8_x/org.apache.httpcomponents.client5-httpclient5-5.4.2
Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.1 to 5.4.2
2025-02-10 14:23:37 -06:00
Tim Donohue
ce1dbb6d2c Merge pull request #10372 from DSpace/dependabot/maven/dspace-7_x/joda-time-joda-time-2.13.1
Bump joda-time:joda-time from 2.13.0 to 2.13.1
2025-02-10 14:15:36 -06:00
Tim Donohue
ae13ddec95 Merge pull request #10363 from DSpace/dependabot/maven/dspace-8_x/com.google.code.gson-gson-2.12.1
Bump com.google.code.gson:gson from 2.11.0 to 2.12.1
2025-02-10 14:14:40 -06:00
Tim Donohue
e8c448435e Merge pull request #10340 from DSpace/dependabot/maven/dspace-8_x/dnsjava-dnsjava-3.6.3
Bump dnsjava:dnsjava from 3.6.2 to 3.6.3
2025-02-10 14:12:52 -06:00
Tim Donohue
cb4fb777c5 Merge pull request #10347 from DSpace/dependabot/maven/dspace-7_x/dnsjava-dnsjava-3.6.3
Bump dnsjava:dnsjava from 3.6.2 to 3.6.3
2025-02-10 14:11:56 -06:00
Tim Donohue
72cedb7722 Merge pull request #10344 from DSpace/dependabot/maven/dspace-7_x/apache-commons-f9d9c8ba39
Bump the apache-commons group with 2 updates
2025-02-10 14:10:41 -06:00
Tim Donohue
92f09f118d Merge pull request #10339 from DSpace/dependabot/maven/dspace-8_x/apache-commons-f9d9c8ba39
Bump the apache-commons group with 2 updates
2025-02-10 14:09:57 -06:00
Tim Donohue
dd6183b9cb Merge pull request #10383 from tdonohue/port_10381_to_7x
[Port dspace-7_x] Remove unused/unnecessary dependencies : `byte-buddy`
2025-02-10 14:03:48 -06:00
Tim Donohue
f607d2016e Merge pull request #10382 from DSpace/backport-10381-to-dspace-8_x
[Port dspace-8_x] Remove unused/unnecessary dependencies : `byte-buddy` and `joda-time`
2025-02-10 14:03:38 -06:00
Tim Donohue
a2cb8cc838 Remove unused byte-buddy 2025-02-10 11:37:26 -06:00
Tim Donohue
f2243468df Remove joda-time and the one place it is used. Fix to use java.time instead
(cherry picked from commit d71265d17e)
2025-02-10 17:28:44 +00:00
Tim Donohue
56977216a0 Remove unused byte-buddy
(cherry picked from commit ccfee04f4a)
2025-02-10 17:28:44 +00:00
Tim Donohue
26b82e0de1 Merge pull request #10365 from DSpace/dependabot/maven/dspace-8_x/org.checkerframework-checker-qual-3.49.0
Bump org.checkerframework:checker-qual from 3.48.4 to 3.49.0
2025-02-10 09:42:15 -06:00
Tim Donohue
d02b8d34c0 Merge tag 'dspace-7.6.3' into dspace-8_x
[maven-release-plugin] copy for tag dspace-7.6.3
2025-02-07 14:00:38 -06:00
Tim Donohue
8773da7222 [maven-release-plugin] prepare for next development iteration 2025-02-07 11:53:06 -06:00
Tim Donohue
e0aa56ca82 [maven-release-plugin] prepare for next development iteration 2025-02-07 10:57:05 -06:00
Tim Donohue
6181f2723c [maven-release-plugin] prepare release dspace-7.6.3 2025-02-07 10:57:02 -06:00
Tim Donohue
7e4fc1daaf Update LICENSES_THIRD_PARTY for 7.6.3 2025-02-07 10:22:53 -06:00
Tim Donohue
ae0b9a4bdb Merge pull request #10378 from 4Science/task/dspace-7_x/DURACOM-288
[Port dspace-7_x] Provide a setting to use a different REST url during SSR execution
2025-02-07 09:30:59 -06:00
Giuseppe Digilio
7e7a4c9da0 Merge remote-tracking branch 'upstreamdspace/dspace-7_x' into task/dspace-7_x/DURACOM-288
# Conflicts:
#	dspace-server-webapp/src/test/java/org/dspace/app/rest/AuthorizationRestRepositoryIT.java
2025-02-06 18:08:15 +01:00
Giuseppe Digilio
888edc4597 [DURACOM-288] Fix wrong imports 2025-02-06 18:03:23 +01:00
Giuseppe Digilio
81642ea139 [DURACOM-288] Change logic in order to use dspaceUrl as default fallback 2025-02-06 17:05:56 +01:00
Giuseppe Digilio
e6f565e90f [DURACOM-288] Build endpoint map according to request origin, in order to get internal urls if used 2025-02-06 17:05:38 +01:00
Giuseppe Digilio
648d9f6972 [DURACOM-288] Set dspace.server.ssr.url as dspace.server.url by default 2025-02-06 17:05:18 +01:00
Giuseppe Digilio
c39042095a [DURACOM-288] Code refactoring and test improvements 2025-02-06 17:05:02 +01:00
Giuseppe Digilio
a2e518444c [DURACOM-288] Fix test 2025-02-06 17:04:50 +01:00
Giuseppe Digilio
369bda130a [DURACOM-288] Add dspace.server.ssr.uri in the local.cfg.EXAMPLE 2025-02-06 17:04:39 +01:00
Giuseppe Digilio
ea15a3b965 [DURACOM-288] Add check to allow base object uri containing dspace.server.ssr.uri 2025-02-06 17:04:28 +01:00
Giuseppe Digilio
94ad5744e2 [DURACOM-288] Add DSpace property to specify addition rest url 2025-02-06 17:04:18 +01:00
dependabot[bot]
723ad07ae9 Bump joda-time:joda-time from 2.13.0 to 2.13.1
Bumps [joda-time:joda-time](https://github.com/JodaOrg/joda-time) from 2.13.0 to 2.13.1.
- [Release notes](https://github.com/JodaOrg/joda-time/releases)
- [Changelog](https://github.com/JodaOrg/joda-time/blob/main/RELEASE-NOTES.txt)
- [Commits](https://github.com/JodaOrg/joda-time/compare/v2.13.0...v2.13.1)

---
updated-dependencies:
- dependency-name: joda-time:joda-time
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 23:20:40 +00:00
dependabot[bot]
63fbffc963 Bump the apache-commons group with 2 updates
Bumps the apache-commons group with 2 updates: [commons-codec:commons-codec](https://github.com/apache/commons-codec) and org.apache.commons:commons-pool2.


Updates `commons-codec:commons-codec` from 1.17.2 to 1.18.0
- [Changelog](https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-codec/compare/rel/commons-codec-1.17.2...rel/commons-codec-1.18.0)

Updates `org.apache.commons:commons-pool2` from 2.12.0 to 2.12.1

---
updated-dependencies:
- dependency-name: commons-codec:commons-codec
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-pool2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 23:19:27 +00:00
dependabot[bot]
cdd18b82bf Bump org.checkerframework:checker-qual from 3.48.4 to 3.49.0
Bumps [org.checkerframework:checker-qual](https://github.com/typetools/checker-framework) from 3.48.4 to 3.49.0.
- [Release notes](https://github.com/typetools/checker-framework/releases)
- [Changelog](https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/typetools/checker-framework/compare/checker-framework-3.48.4...checker-framework-3.49.0)

---
updated-dependencies:
- dependency-name: org.checkerframework:checker-qual
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 22:52:10 +00:00
dependabot[bot]
18edaf9cd7 Bump com.google.code.gson:gson from 2.11.0 to 2.12.1
Bumps [com.google.code.gson:gson](https://github.com/google/gson) from 2.11.0 to 2.12.1.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.11.0...gson-parent-2.12.1)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 22:51:35 +00:00
dependabot[bot]
75efc02674 Bump org.apache.httpcomponents.client5:httpclient5 from 5.4.1 to 5.4.2
Bumps [org.apache.httpcomponents.client5:httpclient5](https://github.com/apache/httpcomponents-client) from 5.4.1 to 5.4.2.
- [Changelog](https://github.com/apache/httpcomponents-client/blob/rel/v5.4.2/RELEASE_NOTES.txt)
- [Commits](https://github.com/apache/httpcomponents-client/compare/rel/v5.4.1...rel/v5.4.2)

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents.client5:httpclient5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 22:51:28 +00:00
dependabot[bot]
d198864ee0 Bump the apache-commons group with 2 updates
Bumps the apache-commons group with 2 updates: [commons-codec:commons-codec](https://github.com/apache/commons-codec) and org.apache.commons:commons-pool2.


Updates `commons-codec:commons-codec` from 1.17.2 to 1.18.0
- [Changelog](https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-codec/compare/rel/commons-codec-1.17.2...rel/commons-codec-1.18.0)

Updates `org.apache.commons:commons-pool2` from 2.12.0 to 2.12.1

---
updated-dependencies:
- dependency-name: commons-codec:commons-codec
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-pool2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 22:50:06 +00:00
Tim Donohue
ec32897f50 Merge pull request #10358 from DSpace/backport-10293-to-dspace-7_x
[Port dspace-7_x] Fix ClamAV curation task crashing on exceptions instead of ending gracefully
2025-02-03 09:54:43 -06:00
Jens Vannerum
094af861b3 124579: catch any exceptions during process and end task gracefully
(cherry picked from commit 11a1c9ab06)
2025-02-01 09:53:29 +00:00
Jens Vannerum
6b4c7a773d 124579: If no ORIGINAL bundle exists, end the process gracefully instead of throwing NPE
(cherry picked from commit 046c1b5d05)
2025-02-01 09:53:29 +00:00
Alphonse Bendt
401e164f9e Bugfix: BitstreamRestController etag/content-length calculation does not consider cover page
Copied Alphonse Bendt's PR #9666 to DSpace 8 branch (squashed 5 commits).
This PR fixes a bug where the etag/content-length calculation did not respect the potential existence of a coverpage.
The controller now will use the post processed pdf if coverpages are enabled.
2025-01-30 10:02:20 +02:00
Marie Verdonck
f6d0cfbe11 Merge branch 'cli-speed-improvements-periodically-uncache-entities-when-processing-many_7.6' into cli-speed-improvements-periodically-uncache-entities-when-processing-many_8-x
# Conflicts:
#	dspace-api/src/main/java/org/dspace/core/Context.java
#	dspace-api/src/main/java/org/dspace/core/DBConnection.java
#	dspace-api/src/main/java/org/dspace/core/HibernateDBConnection.java
2025-01-29 22:23:38 +01:00
Marie Verdonck
bf520782d8 Merge branch 'cli-speed-improvements-periodically-uncache-entities-when-processing-many_7.6' into cli-speed-improvements-periodically-uncache-entities-when-processing-many_7-x
# Conflicts:
#	dspace-api/src/main/java/org/dspace/core/Context.java
#	dspace-api/src/main/java/org/dspace/core/DBConnection.java
#	dspace-api/src/main/java/org/dspace/core/HibernateDBConnection.java
2025-01-29 22:11:03 +01:00
Tim Donohue
6bf4d142a4 Merge pull request #10111 from atmire/issue-10110_w2p-109807_arxiv-author-mapping-fix-7_x
[Port dspace-7_x] ArXiv Live Import - Author mapping fix
2025-01-29 12:08:08 -06:00
Marie Verdonck
e8a54e698c cli speed improvement: periodically uncache entities when processing many 2025-01-29 12:42:25 +01:00
dependabot[bot]
3885966b4d Bump dnsjava:dnsjava from 3.6.2 to 3.6.3
Bumps [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) from 3.6.2 to 3.6.3.
- [Release notes](https://github.com/dnsjava/dnsjava/releases)
- [Changelog](https://github.com/dnsjava/dnsjava/blob/master/Changelog)
- [Commits](https://github.com/dnsjava/dnsjava/compare/v3.6.2...v3.6.3)

---
updated-dependencies:
- dependency-name: dnsjava:dnsjava
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 23:07:21 +00:00
dependabot[bot]
859dd4c69d Bump io.grpc:grpc-context from 1.69.0 to 1.70.0
Bumps [io.grpc:grpc-context](https://github.com/grpc/grpc-java) from 1.69.0 to 1.70.0.
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.69.0...v1.70.0)

---
updated-dependencies:
- dependency-name: io.grpc:grpc-context
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 23:07:18 +00:00
dependabot[bot]
576561d618 Bump dnsjava:dnsjava from 3.6.2 to 3.6.3
Bumps [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) from 3.6.2 to 3.6.3.
- [Release notes](https://github.com/dnsjava/dnsjava/releases)
- [Changelog](https://github.com/dnsjava/dnsjava/blob/master/Changelog)
- [Commits](https://github.com/dnsjava/dnsjava/compare/v3.6.2...v3.6.3)

---
updated-dependencies:
- dependency-name: dnsjava:dnsjava
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 22:22:57 +00:00
Tim Donohue
c27084724b Merge pull request #10336 from DSpace/backport-10331-to-dspace-7_x
[Port dspace-7_x] Remove unused configuration `csvexport.dir`
2025-01-27 11:15:20 -06:00
Tim Donohue
8cb693ab62 Merge pull request #10334 from DSpace/backport-9835-to-dspace-7_x
[Port dspace-7_x] On error in DOI Organiser bulk operations, continue instead of panic-stopping.
2025-01-27 10:27:19 -06:00
Tim Donohue
338e17d197 Remove unused configuration
(cherry picked from commit 845c706cac)
2025-01-27 16:03:36 +00:00
Mark H. Wood
6d187a08fd Document and handle the actual exceptions returned by register.
(cherry picked from commit 2edea69ca3)
2025-01-27 15:44:58 +00:00
Mark H. Wood
cc3841d212 Reorganize some documentation.
(cherry picked from commit 77425163f2)
2025-01-27 15:44:57 +00:00
Mark H. Wood
f7902bce00 On error in bulk operations, continue instead of panic-stopping.
(cherry picked from commit bfeba1aa7a)
2025-01-27 15:44:57 +00:00
Tim Donohue
a54d61923a Merge pull request #10283 from DSpace/dependabot/maven/dspace-7_x/net.cnri-cnri-servlet-container-3.1.0
Bump net.cnri:cnri-servlet-container from 3.0.0 to 3.1.0
2025-01-24 17:01:08 -06:00
Tim Donohue
125716efeb Merge pull request #10306 from DSpace/dependabot/maven/dspace-7_x/net.minidev-json-smart-2.5.1
Bump net.minidev:json-smart from 2.5.0 to 2.5.1
2025-01-24 16:34:55 -06:00
Tim Donohue
1cc98e6c2d Fix missing dependency errors for javax.el 2025-01-24 16:31:05 -06:00
Tim Donohue
5408f317d7 Merge pull request #10226 from DSpace/dependabot/maven/dspace-7_x/google-apis-05b77a15af
Bump the google-apis group with 4 updates
2025-01-24 15:57:09 -06:00
Tim Donohue
5169a55437 Resolve dependency convergence issue 2025-01-24 15:56:12 -06:00
Tim Donohue
96451f7391 Dependency convergence fixes 2025-01-24 15:06:43 -06:00
Tim Donohue
c7883e0f0a Merge pull request #10302 from DSpace/dependabot/maven/dspace-7_x/org.atteo-evo-inflector-1.3
Bump org.atteo:evo-inflector from 1.2.1 to 1.3
2025-01-24 14:42:36 -06:00
Tim Donohue
6d466ccde9 Merge pull request #10328 from DSpace/dependabot/maven/dspace-7_x/de.digitalcollections.iiif-iiif-apis-0.3.11
Bump de.digitalcollections.iiif:iiif-apis from 0.3.10 to 0.3.11
2025-01-24 11:40:33 -06:00
Tim Donohue
140588de8b Merge pull request #10330 from tdonohue/port_9950_to_7x
[Port dspace-7_x] added expunge request param and enabled workflowitem delete based on it
2025-01-24 10:47:25 -06:00
Oscar Chacón
10b3f06480 added expunge request param and enabled workflowitem delete based on it (#9950)
* added expunge request param and enabled workflowitem delete based on it

* enabled expunge param only in workflowitem delete endpoint and IT

* Remove invalid param from JavaDocs

---------

Co-authored-by: Tim Donohue <tim.donohue@lyrasis.org>
2025-01-24 10:11:23 -06:00
Tim Donohue
6486f61010 Merge pull request #10320 from tdonohue/port_10158_to_7x
[Port dspace-7_x] Processes should only be failed after a Tomcat restart
2025-01-24 08:53:07 -06:00
Tim Donohue
6d9278e6f0 Merge pull request #10325 from DSpace/dependabot/maven/dspace-7_x/com.ibm.icu-icu4j-62.2
Bump com.ibm.icu:icu4j from 62.1 to 62.2
2025-01-24 07:00:45 -06:00
Tim Donohue
f7f2d23399 Merge pull request #10327 from DSpace/dependabot/maven/dspace-7_x/com.opencsv-opencsv-5.10
Bump com.opencsv:opencsv from 5.9 to 5.10
2025-01-24 06:58:52 -06:00
dependabot[bot]
25be075b3c Bump de.digitalcollections.iiif:iiif-apis from 0.3.10 to 0.3.11
Bumps [de.digitalcollections.iiif:iiif-apis](https://github.com/dbmdz/iiif-apis) from 0.3.10 to 0.3.11.
- [Release notes](https://github.com/dbmdz/iiif-apis/releases)
- [Commits](https://github.com/dbmdz/iiif-apis/compare/0.3.10...0.3.11)

---
updated-dependencies:
- dependency-name: de.digitalcollections.iiif:iiif-apis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 00:22:28 +00:00
dependabot[bot]
63081494d8 Bump com.opencsv:opencsv from 5.9 to 5.10
Bumps com.opencsv:opencsv from 5.9 to 5.10.

---
updated-dependencies:
- dependency-name: com.opencsv:opencsv
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 00:22:13 +00:00
dependabot[bot]
77efa5ce88 Bump com.ibm.icu:icu4j from 62.1 to 62.2
Bumps [com.ibm.icu:icu4j](https://github.com/unicode-org/icu) from 62.1 to 62.2.
- [Release notes](https://github.com/unicode-org/icu/releases)
- [Commits](https://github.com/unicode-org/icu/commits)

---
updated-dependencies:
- dependency-name: com.ibm.icu:icu4j
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 00:21:41 +00:00
dependabot[bot]
62959008f8 Bump the google-apis group with 4 updates
Bumps the google-apis group with 4 updates: [com.google.api-client:google-api-client](https://github.com/googleapis/google-api-java-client), [com.google.http-client:google-http-client](https://github.com/googleapis/google-http-java-client), [com.google.http-client:google-http-client-jackson2](https://github.com/googleapis/google-http-java-client) and [com.google.oauth-client:google-oauth-client](https://github.com/googleapis/google-oauth-java-client).


Updates `com.google.api-client:google-api-client` from 1.23.0 to 1.35.2
- [Release notes](https://github.com/googleapis/google-api-java-client/releases)
- [Changelog](https://github.com/googleapis/google-api-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-api-java-client/compare/1.23.0...v1.35.2)

Updates `com.google.http-client:google-http-client` from 1.23.0 to 1.45.3
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/1.23.0...v1.45.3)

Updates `com.google.http-client:google-http-client-jackson2` from 1.23.0 to 1.45.3
- [Release notes](https://github.com/googleapis/google-http-java-client/releases)
- [Changelog](https://github.com/googleapis/google-http-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-http-java-client/compare/1.23.0...v1.45.3)

Updates `com.google.oauth-client:google-oauth-client` from 1.33.3 to 1.37.0
- [Release notes](https://github.com/googleapis/google-oauth-java-client/releases)
- [Changelog](https://github.com/googleapis/google-oauth-java-client/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-oauth-java-client/compare/v1.33.3...v1.37.0)

---
updated-dependencies:
- dependency-name: com.google.api-client:google-api-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
- dependency-name: com.google.http-client:google-http-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
- dependency-name: com.google.http-client:google-http-client-jackson2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
- dependency-name: com.google.oauth-client:google-oauth-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: google-apis
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 00:21:38 +00:00
Tim Donohue
bcd837fab6 Merge pull request #10301 from DSpace/dependabot/maven/dspace-7_x/com.amazonaws-aws-java-sdk-s3-1.12.780
Bump com.amazonaws:aws-java-sdk-s3 from 1.12.261 to 1.12.780
2025-01-23 17:06:00 -06:00
Tim Donohue
06c02192ea Merge pull request #10310 from DSpace/dependabot/maven/dspace-7_x/org.postgresql-postgresql-42.7.5
Bump org.postgresql:postgresql from 42.7.3 to 42.7.5
2025-01-23 17:01:19 -06:00
Tim Donohue
951637f610 Merge pull request #10311 from DSpace/dependabot/maven/dspace-7_x/org.jboss.logging-jboss-logging-3.6.1.Final
Bump org.jboss.logging:jboss-logging from 3.4.3.Final to 3.6.1.Final
2025-01-23 16:55:01 -06:00
Tim Donohue
a7fb760fee Merge pull request #10314 from DSpace/dependabot/maven/dspace-7_x/org.apache.james-apache-mime4j-core-0.8.12
Bump org.apache.james:apache-mime4j-core from 0.8.10 to 0.8.12
2025-01-23 16:52:12 -06:00
Nona Luypaert
0d069354f7 122350: Move failRunningProcesses during tomcat startup to RestRepository 2025-01-23 16:32:55 -06:00
Tim Donohue
ae3cc23025 Merge pull request #10281 from DSpace/dependabot/maven/dspace-7_x/joda-time-joda-time-2.13.0
Bump joda-time:joda-time from 2.12.5 to 2.13.0
2025-01-23 14:12:42 -06:00
dependabot[bot]
75d747e40a Bump org.apache.james:apache-mime4j-core from 0.8.10 to 0.8.12
Bumps org.apache.james:apache-mime4j-core from 0.8.10 to 0.8.12.

---
updated-dependencies:
- dependency-name: org.apache.james:apache-mime4j-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 18:23:46 +00:00
dependabot[bot]
daa29e582a Bump org.jboss.logging:jboss-logging from 3.4.3.Final to 3.6.1.Final
Bumps [org.jboss.logging:jboss-logging](https://github.com/jboss-logging/jboss-logging) from 3.4.3.Final to 3.6.1.Final.
- [Release notes](https://github.com/jboss-logging/jboss-logging/releases)
- [Commits](https://github.com/jboss-logging/jboss-logging/compare/3.4.3.Final...3.6.1.Final)

---
updated-dependencies:
- dependency-name: org.jboss.logging:jboss-logging
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 18:23:43 +00:00
dependabot[bot]
0f3fc0eccb Bump org.postgresql:postgresql from 42.7.3 to 42.7.5
Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.3 to 42.7.5.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pgjdbc/pgjdbc/compare/REL42.7.3...REL42.7.5)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 18:23:37 +00:00
dependabot[bot]
1b850aaf0b Bump net.minidev:json-smart from 2.5.0 to 2.5.1
Bumps [net.minidev:json-smart](https://github.com/netplex/json-smart-v2) from 2.5.0 to 2.5.1.
- [Release notes](https://github.com/netplex/json-smart-v2/releases)
- [Commits](https://github.com/netplex/json-smart-v2/compare/2.5.0...2.5.1)

---
updated-dependencies:
- dependency-name: net.minidev:json-smart
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 18:23:27 +00:00
dependabot[bot]
3767093c15 Bump org.atteo:evo-inflector from 1.2.1 to 1.3
Bumps [org.atteo:evo-inflector](https://github.com/atteo/evo-inflector) from 1.2.1 to 1.3.
- [Commits](https://github.com/atteo/evo-inflector/compare/1.2.1...1.3)

---
updated-dependencies:
- dependency-name: org.atteo:evo-inflector
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 18:23:11 +00:00
dependabot[bot]
f451307e6f Bump com.amazonaws:aws-java-sdk-s3 from 1.12.261 to 1.12.780
Bumps [com.amazonaws:aws-java-sdk-s3](https://github.com/aws/aws-sdk-java) from 1.12.261 to 1.12.780.
- [Changelog](https://github.com/aws/aws-sdk-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-java/compare/1.12.261...1.12.780)

---
updated-dependencies:
- dependency-name: com.amazonaws:aws-java-sdk-s3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 18:23:01 +00:00
dependabot[bot]
0a55995b7c Remove unused joad-time dependency
Bumps [joda-time:joda-time](https://github.com/JodaOrg/joda-time) from 2.12.5 to 2.13.0.
- [Release notes](https://github.com/JodaOrg/joda-time/releases)
- [Changelog](https://github.com/JodaOrg/joda-time/blob/main/RELEASE-NOTES.txt)
- [Commits](https://github.com/JodaOrg/joda-time/compare/v2.12.5...v2.13.0)

---
updated-dependencies:
- dependency-name: joda-time:joda-time
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 17:08:10 +00:00
Tim Donohue
1a9ae38675 Merge pull request #10284 from DSpace/dependabot/maven/dspace-7_x/org.apache.ant-ant-1.10.15
Bump org.apache.ant:ant from 1.10.14 to 1.10.15
2025-01-22 16:50:29 -06:00
Tim Donohue
6e4365757e Merge pull request #10285 from DSpace/dependabot/maven/dspace-7_x/dnsjava-dnsjava-3.6.2
Bump dnsjava:dnsjava from 3.6.0 to 3.6.2
2025-01-22 16:50:03 -06:00
Tim Donohue
e6dcbb8412 Merge pull request #10282 from DSpace/dependabot/maven/dspace-7_x/org.apache.velocity-velocity-engine-core-2.4.1
Bump org.apache.velocity:velocity-engine-core from 2.3 to 2.4.1
2025-01-22 16:48:28 -06:00
Tim Donohue
1dbd23e247 Merge pull request #10277 from DSpace/dependabot/maven/dspace-7_x/net.bytebuddy-byte-buddy-1.16.1
Bump net.bytebuddy:byte-buddy from 1.11.13 to 1.16.1
2025-01-22 16:47:15 -06:00
Tim Donohue
f14b8bfe6c Merge pull request #10275 from DSpace/dependabot/maven/dspace-7_x/bouncycastle.version-1.80
Bump bouncycastle.version from 1.78.1 to 1.80
2025-01-22 16:46:11 -06:00
Tim Donohue
18cf98be4f Merge pull request #10278 from DSpace/dependabot/maven/dspace-7_x/pdfbox-version-2.0.33
Bump pdfbox-version from 2.0.31 to 2.0.33
2025-01-22 15:09:29 -06:00
Tim Donohue
8bcd3980d8 Merge pull request #9722 from 4Science/task/dspace-7_x/CST-14901
[Port dspace-7_x] Handles versioning for ORCID publications.
2025-01-22 14:51:02 -06:00
Tim Donohue
f94bbfca45 Merge pull request #10295 from DSpace/backport-10209-to-dspace-7_x
[Port dspace-7_x] Avoid IllegalArgumentException thrown during creating a new version in special DSpace settings
2025-01-22 14:22:56 -06:00
Tim Donohue
1f53491140 Merge pull request #10254 from DSpace/dependabot/maven/dspace-7_x/org.scala-lang-scala-library-2.13.16
Bump org.scala-lang:scala-library from 2.13.11 to 2.13.16
2025-01-22 10:38:12 -06:00
Eike Martin Löhden
da3584759b Add check to avoid adding empty array of values to an item.
(cherry picked from commit 6e0124fcbb)
2025-01-22 16:19:54 +00:00
dependabot[bot]
cd2fbbf51b Bump dnsjava:dnsjava from 3.6.0 to 3.6.2
Bumps [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) from 3.6.0 to 3.6.2.
- [Release notes](https://github.com/dnsjava/dnsjava/releases)
- [Changelog](https://github.com/dnsjava/dnsjava/blob/master/Changelog)
- [Commits](https://github.com/dnsjava/dnsjava/compare/v3.6.0...v3.6.2)

---
updated-dependencies:
- dependency-name: dnsjava:dnsjava
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 23:28:54 +00:00
dependabot[bot]
9d46a45191 Bump org.apache.ant:ant from 1.10.14 to 1.10.15
Bumps org.apache.ant:ant from 1.10.14 to 1.10.15.

---
updated-dependencies:
- dependency-name: org.apache.ant:ant
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 23:28:48 +00:00
dependabot[bot]
9bca0c928b Bump net.cnri:cnri-servlet-container from 3.0.0 to 3.1.0
Bumps [net.cnri:cnri-servlet-container](https://gitlab.com/cnri/cnri-servlet-container) from 3.0.0 to 3.1.0.
- [Commits](https://gitlab.com/cnri/cnri-servlet-container/compare/v3.0.0...v3.1.0)

---
updated-dependencies:
- dependency-name: net.cnri:cnri-servlet-container
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 23:28:37 +00:00
dependabot[bot]
e3abd1c129 Bump org.apache.velocity:velocity-engine-core from 2.3 to 2.4.1
Bumps org.apache.velocity:velocity-engine-core from 2.3 to 2.4.1.

---
updated-dependencies:
- dependency-name: org.apache.velocity:velocity-engine-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 23:28:34 +00:00
dependabot[bot]
39e2ef2b30 Bump pdfbox-version from 2.0.31 to 2.0.33
Bumps `pdfbox-version` from 2.0.31 to 2.0.33.

Updates `org.apache.pdfbox:pdfbox` from 2.0.31 to 2.0.33

Updates `org.apache.pdfbox:fontbox` from 2.0.31 to 2.0.33

---
updated-dependencies:
- dependency-name: org.apache.pdfbox:pdfbox
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.pdfbox:fontbox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 23:28:19 +00:00
dependabot[bot]
9705c30f8a Bump net.bytebuddy:byte-buddy from 1.11.13 to 1.16.1
Bumps [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) from 1.11.13 to 1.16.1.
- [Release notes](https://github.com/raphw/byte-buddy/releases)
- [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md)
- [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.11.13...byte-buddy-1.16.1)

---
updated-dependencies:
- dependency-name: net.bytebuddy:byte-buddy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 23:28:11 +00:00
dependabot[bot]
7d4a5fc311 Bump bouncycastle.version from 1.78.1 to 1.80
Bumps `bouncycastle.version` from 1.78.1 to 1.80.

Updates `org.bouncycastle:bcpkix-jdk18on` from 1.78.1 to 1.80
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcprov-jdk18on` from 1.78.1 to 1.80
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

Updates `org.bouncycastle:bcutil-jdk18on` from 1.78.1 to 1.80
- [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html)
- [Commits](https://github.com/bcgit/bc-java/commits)

---
updated-dependencies:
- dependency-name: org.bouncycastle:bcpkix-jdk18on
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.bouncycastle:bcprov-jdk18on
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.bouncycastle:bcutil-jdk18on
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 23:28:06 +00:00
Tim Donohue
4ca723573b Merge pull request #10256 from DSpace/dependabot/maven/dspace-7_x/log4j.version-2.24.3
Bump log4j.version from 2.23.1 to 2.24.3
2025-01-21 16:48:02 -06:00
Tim Donohue
a40620514a Merge pull request #10255 from DSpace/dependabot/maven/dspace-7_x/org.apache.bcel-bcel-6.10.0
Bump org.apache.bcel:bcel from 6.7.0 to 6.10.0
2025-01-21 16:42:50 -06:00
Tim Donohue
6bd6686e57 Merge pull request #10269 from DSpace/dependabot/maven/dspace-7_x/io.swagger-swagger-core-1.6.15
Remove unused swagger:swagger-core
2025-01-21 15:54:53 -06:00
Tim Donohue
b3e1139006 Remove swagger-core as it is unused 2025-01-21 13:41:10 -06:00
Tim Donohue
1c82598c3f Merge pull request #10268 from DSpace/dependabot/maven/dspace-7_x/solr.client.version-8.11.4
Bump solr.client.version from 8.11.3 to 8.11.4
2025-01-21 13:25:48 -06:00
Tim Donohue
3d0006ee73 Merge pull request #10264 from DSpace/dependabot/maven/dspace-7_x/build-tools-907e20f2d5
Bump com.github.spotbugs:spotbugs from 4.8.6 to 4.9.0 in the build-tools group across 1 directory
2025-01-21 13:10:09 -06:00
Tim Donohue
86dd22acab Merge pull request #10220 from DSpace/dependabot/maven/dspace-7_x/test-tools-6cdf6921de
Bump the test-tools group with 8 updates
2025-01-21 13:09:19 -06:00
Tim Donohue
5ff9702254 Merge pull request #10253 from DSpace/dependabot/maven/dspace-7_x/spring-e4edb82a34
Bump the spring group with 4 updates
2025-01-21 13:06:38 -06:00
dependabot[bot]
8076745a09 Bump io.swagger:swagger-core from 1.6.2 to 1.6.15
Bumps [io.swagger:swagger-core](https://github.com/swagger-api/swagger-core) from 1.6.2 to 1.6.15.
- [Release notes](https://github.com/swagger-api/swagger-core/releases)
- [Commits](https://github.com/swagger-api/swagger-core/compare/v1.6.2...v1.6.15)

---
updated-dependencies:
- dependency-name: io.swagger:swagger-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 22:43:53 +00:00
dependabot[bot]
bf1aa3da7a Bump solr.client.version from 8.11.3 to 8.11.4
Bumps `solr.client.version` from 8.11.3 to 8.11.4.

Updates `org.apache.solr:solr-solrj` from 8.11.3 to 8.11.4

Updates `org.apache.lucene:lucene-core` from 8.11.3 to 8.11.4

Updates `org.apache.lucene:lucene-analyzers-icu` from 8.11.3 to 8.11.4

Updates `org.apache.lucene:lucene-analyzers-smartcn` from 8.11.3 to 8.11.4

Updates `org.apache.lucene:lucene-analyzers-stempel` from 8.11.3 to 8.11.4

Updates `org.apache.solr:solr-core` from 8.11.3 to 8.11.4

---
updated-dependencies:
- dependency-name: org.apache.solr:solr-solrj
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.lucene:lucene-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.lucene:lucene-analyzers-icu
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.lucene:lucene-analyzers-smartcn
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.lucene:lucene-analyzers-stempel
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.apache.solr:solr-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 22:43:50 +00:00
dependabot[bot]
9dcc4e6f7c Bump the spring group with 4 updates
Bumps the spring group with 4 updates: [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security), [org.springframework.security:spring-security-core](https://github.com/spring-projects/spring-security), [org.springframework.security:spring-security-web](https://github.com/spring-projects/spring-security) and [org.springframework.security:spring-security-config](https://github.com/spring-projects/spring-security).


Updates `org.springframework.security:spring-security-test` from 5.7.12 to 5.7.14
- [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.7.12...5.7.14)

Updates `org.springframework.security:spring-security-core` from 5.7.12 to 5.7.14
- [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.7.12...5.7.14)

Updates `org.springframework.security:spring-security-web` from 5.7.12 to 5.7.14
- [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.7.12...5.7.14)

Updates `org.springframework.security:spring-security-config` from 5.7.12 to 5.7.14
- [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.7.12...5.7.14)

Updates `org.springframework.security:spring-security-core` from 5.7.12 to 5.7.14
- [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.7.12...5.7.14)

Updates `org.springframework.security:spring-security-web` from 5.7.12 to 5.7.14
- [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.7.12...5.7.14)

Updates `org.springframework.security:spring-security-config` from 5.7.12 to 5.7.14
- [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.7.12...5.7.14)

---
updated-dependencies:
- dependency-name: org.springframework.security:spring-security-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-config
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
- dependency-name: org.springframework.security:spring-security-config
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: spring
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 22:43:38 +00:00
dependabot[bot]
75e291d867 Bump the test-tools group with 8 updates
Bumps the test-tools group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [com.h2database:h2](https://github.com/h2database/h2database) | `2.2.224` | `2.3.232` |
| [org.mock-server:mockserver-junit-rule](https://github.com/jamesdbloom/mockservice) | `5.11.2` | `5.15.0` |
| [io.netty:netty-buffer](https://github.com/netty/netty) | `4.1.106.Final` | `4.1.117.Final` |
| [io.netty:netty-transport](https://github.com/netty/netty) | `4.1.106.Final` | `4.1.117.Final` |
| [io.netty:netty-transport-native-unix-common](https://github.com/netty/netty) | `4.1.106.Final` | `4.1.117.Final` |
| [io.netty:netty-common](https://github.com/netty/netty) | `4.1.106.Final` | `4.1.117.Final` |
| [io.netty:netty-handler](https://github.com/netty/netty) | `4.1.106.Final` | `4.1.117.Final` |
| [io.netty:netty-codec](https://github.com/netty/netty) | `4.1.106.Final` | `4.1.117.Final` |


Updates `com.h2database:h2` from 2.2.224 to 2.3.232
- [Release notes](https://github.com/h2database/h2database/releases)
- [Commits](https://github.com/h2database/h2database/compare/version-2.2.224...version-2.3.232)

Updates `org.mock-server:mockserver-junit-rule` from 5.11.2 to 5.15.0
- [Changelog](https://github.com/mock-server/mockserver/blob/master/changelog.md)
- [Commits](https://github.com/jamesdbloom/mockservice/compare/mockserver-5.11.2...mockserver-5.15.0)

Updates `io.netty:netty-buffer` from 4.1.106.Final to 4.1.117.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.106.Final...netty-4.1.117.Final)

Updates `io.netty:netty-transport` from 4.1.106.Final to 4.1.117.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.106.Final...netty-4.1.117.Final)

Updates `io.netty:netty-transport-native-unix-common` from 4.1.106.Final to 4.1.117.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.106.Final...netty-4.1.117.Final)

Updates `io.netty:netty-common` from 4.1.106.Final to 4.1.117.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.106.Final...netty-4.1.117.Final)

Updates `io.netty:netty-handler` from 4.1.106.Final to 4.1.117.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.106.Final...netty-4.1.117.Final)

Updates `io.netty:netty-codec` from 4.1.106.Final to 4.1.117.Final
- [Commits](https://github.com/netty/netty/compare/netty-4.1.106.Final...netty-4.1.117.Final)

---
updated-dependencies:
- dependency-name: com.h2database:h2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: test-tools
- dependency-name: org.mock-server:mockserver-junit-rule
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: test-tools
- dependency-name: io.netty:netty-buffer
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-transport
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-transport-native-unix-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-handler
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
- dependency-name: io.netty:netty-codec
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: test-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 22:43:27 +00:00
Vincenzo Mecca
6c99c25d34 [CST-14901][DSC-1357][#8662] Adds IT for isLatestVersion 2025-01-20 13:30:26 +01:00
dependabot[bot]
6b2e4c185e Bump com.github.spotbugs:spotbugs
Bumps the build-tools group with 1 update in the / directory: [com.github.spotbugs:spotbugs](https://github.com/spotbugs/spotbugs).


Updates `com.github.spotbugs:spotbugs` from 4.8.6 to 4.9.0
- [Release notes](https://github.com/spotbugs/spotbugs/releases)
- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spotbugs/spotbugs/compare/4.8.6...4.9.0)

---
updated-dependencies:
- dependency-name: com.github.spotbugs:spotbugs
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-18 01:09:25 +00:00
Tim Donohue
100470d4aa Merge pull request #10218 from DSpace/dependabot/maven/dspace-7_x/build-tools-cee8dec2eb
Bump the build-tools group with 21 updates
2025-01-17 17:01:41 -06:00
Tim Donohue
d3014fde19 Merge pull request #10230 from DSpace/dependabot/maven/dspace-7_x/jersey.version-2.46
Bump jersey.version from 2.39.1 to 2.46
2025-01-17 16:29:15 -06:00
Tim Donohue
82a610c71d Merge pull request #10229 from DSpace/dependabot/maven/dspace-7_x/com.google.guava-guava-32.1.3-jre
Bump com.google.guava:guava from 32.0.0-jre to 32.1.3-jre
2025-01-17 16:05:49 -06:00
dependabot[bot]
80e39f7669 Bump log4j.version from 2.23.1 to 2.24.3
Bumps `log4j.version` from 2.23.1 to 2.24.3.

Updates `org.apache.logging.log4j:log4j-api` from 2.23.1 to 2.24.3

Updates `org.apache.logging.log4j:log4j-core` from 2.23.1 to 2.24.3

Updates `org.apache.logging.log4j:log4j-1.2-api` from 2.23.1 to 2.24.3

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.logging.log4j:log4j-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.apache.logging.log4j:log4j-1.2-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 21:13:06 +00:00
dependabot[bot]
bd16f7a982 Bump org.apache.bcel:bcel from 6.7.0 to 6.10.0
Bumps [org.apache.bcel:bcel](https://github.com/apache/commons-bcel) from 6.7.0 to 6.10.0.
- [Changelog](https://github.com/apache/commons-bcel/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-bcel/compare/rel/commons-bcel-6.7.0...rel/commons-bcel-6.10.0)

---
updated-dependencies:
- dependency-name: org.apache.bcel:bcel
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 21:13:00 +00:00
dependabot[bot]
2b5db943b2 Bump org.scala-lang:scala-library from 2.13.11 to 2.13.16
Bumps [org.scala-lang:scala-library](https://github.com/scala/scala) from 2.13.11 to 2.13.16.
- [Release notes](https://github.com/scala/scala/releases)
- [Commits](https://github.com/scala/scala/compare/v2.13.11...v2.13.16)

---
updated-dependencies:
- dependency-name: org.scala-lang:scala-library
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 21:12:56 +00:00
Tim Donohue
4c46bc33be Remove unused dependency 2025-01-17 15:07:10 -06:00
Tim Donohue
c657f7770f Sync a few dependency exclusions from dspace-8_x to dspace-7_x to fix convergence issues 2025-01-17 14:12:38 -06:00
Tim Donohue
6b8a17c3e2 Revert to Errorprone 2.31.0, as that's the last version that supports Java 11 2025-01-17 12:45:52 -06:00
Mark H. Wood
95d7a013f9 Fix ErrorProne errors in tests.
Also fix some of the hundreds of warnings.  This uncovered still more
warnings that hadn't been previously reported, probably because there are
simply too many.
2025-01-17 12:26:15 -06:00
Mark H. Wood
b4dce26749 Fix new ErrorProne errors from new EP version, and a few ancient warnings. 2025-01-17 12:26:15 -06:00
Yana De Pauw
507aade92c Merge remote-tracking branch 'upstream/dspace-7_x' into w2p-124362_VersionedHandleIdentifierProviderWithCanonicalHandles-and-com-col-handles 2025-01-17 15:58:07 +01:00
Yana De Pauw
089df95a51 124362: Restore default config and add tests 2025-01-17 14:22:54 +01:00
Yana De Pauw
997945d85d 124362: Restore default config and add tests 2025-01-17 13:37:35 +01:00
Tim Donohue
84ea8af092 Merge pull request #10228 from DSpace/dependabot/maven/dspace-7_x/webjars-694cad7f5e
Bump org.webjars.npm:json-editor__json-editor from 2.6.1 to 2.15.1 in the webjars group
2025-01-16 17:10:40 -06:00
Tim Donohue
1581c737e2 Update jsoneditor.js reference in Hal Browser 2025-01-16 16:43:47 -06:00
Tim Donohue
f04e01eacb Merge pull request #10231 from DSpace/dependabot/maven/dspace-7_x/jetty.version-9.4.57.v20241219
Bump jetty.version from 9.4.54.v20240208 to 9.4.57.v20241219
2025-01-16 16:33:50 -06:00
Tim Donohue
709095a91a Merge pull request #10224 from DSpace/dependabot/maven/dspace-7_x/fasterxml-6e3d9a09b6
Bump the fasterxml group with 4 updates
2025-01-16 16:25:13 -06:00
Tim Donohue
69ca399967 Merge pull request #10222 from DSpace/dependabot/maven/dspace-7_x/apache-commons-25c65aad98
Bump the apache-commons group with 11 updates
2025-01-16 16:23:25 -06:00
Yana De Pauw
6bbee7f27b 124362: Fix issue with the VersionedHandleIdentifierProviderWithCanonicalHandles and creating communities / collections 2025-01-16 13:22:10 +01:00
Yana De Pauw
745e9c468a 124362: Fix issue with the VersionedHandleIdentifierProviderWithCanonicalHandles and creating communities / collections 2025-01-16 12:01:13 +01:00
Tim Donohue
f7ee509423 Fix duplicate code warning from errorprone. This "else if" clause is the same as the "else" and can be removed 2025-01-15 17:01:07 -06:00
Tim Donohue
5d7b42603d Add newly required "should-stop" flag to errorprone config. See https://errorprone.info/docs/installation 2025-01-15 17:00:57 -06:00
Tim Donohue
eee743a72d Minor checkstyle fixes after bump to 8.45.1. All are indentation / spacing fixes which are more strict now. 2025-01-15 17:00:43 -06:00
Tim Donohue
a01983c230 Fix checkstyle.xml syntax for bump to 8.45.1 2025-01-15 16:59:31 -06:00
dependabot[bot]
9d17009cf3 Bump jetty.version from 9.4.54.v20240208 to 9.4.57.v20241219
Bumps `jetty.version` from 9.4.54.v20240208 to 9.4.57.v20241219.

Updates `org.eclipse.jetty:jetty-server` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty:jetty-alpn-java-server` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty:jetty-deploy` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty:jetty-http` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty:jetty-io` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty:jetty-servlet` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty:jetty-servlets` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty:jetty-util` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty:jetty-webapp` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty:jetty-xml` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty.http2:http2-common` from 9.4.54.v20240208 to 9.4.57.v20241219

Updates `org.eclipse.jetty.http2:http2-server` from 9.4.54.v20240208 to 9.4.57.v20241219

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-alpn-java-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-deploy
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-http
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-io
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-servlet
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-servlets
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-webapp
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty:jetty-xml
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:http2-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.eclipse.jetty.http2:http2-server
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 21:04:17 +00:00
dependabot[bot]
d9945b27b9 Bump jersey.version from 2.39.1 to 2.46
Bumps `jersey.version` from 2.39.1 to 2.46.

Updates `org.glassfish.jersey.core:jersey-client` from 2.39.1 to 2.46

Updates `org.glassfish.jersey.inject:jersey-hk2` from 2.39.1 to 2.46

Updates `org.glassfish.jersey.core:jersey-server` from 2.39.1 to 2.46

Updates `org.glassfish.jersey.containers:jersey-container-servlet` from 2.39.1 to 2.46

Updates `org.glassfish.jersey.media:jersey-media-json-jackson` from 2.39.1 to 2.46

Updates `org.glassfish.jersey.media:jersey-media-jaxb` from 2.39.1 to 2.46

Updates `org.glassfish.jersey.ext:jersey-spring5` from 2.39.1 to 2.46

---
updated-dependencies:
- dependency-name: org.glassfish.jersey.core:jersey-client
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.inject:jersey-hk2
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.core:jersey-server
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.containers:jersey-container-servlet
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.media:jersey-media-json-jackson
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.media:jersey-media-jaxb
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.glassfish.jersey.ext:jersey-spring5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 21:03:55 +00:00
dependabot[bot]
75d740ec86 Bump com.google.guava:guava from 32.0.0-jre to 32.1.3-jre
Bumps [com.google.guava:guava](https://github.com/google/guava) from 32.0.0-jre to 32.1.3-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 21:03:43 +00:00
dependabot[bot]
bec1ee84e5 Bump org.webjars.npm:json-editor__json-editor in the webjars group
Bumps the webjars group with 1 update: [org.webjars.npm:json-editor__json-editor](https://github.com/json-editor/json-editor).


Updates `org.webjars.npm:json-editor__json-editor` from 2.6.1 to 2.15.1
- [Changelog](https://github.com/json-editor/json-editor/blob/master/CHANGELOG.md)
- [Commits](https://github.com/json-editor/json-editor/compare/2.6.1...2.15.1)

---
updated-dependencies:
- dependency-name: org.webjars.npm:json-editor__json-editor
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: webjars
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 21:03:40 +00:00
dependabot[bot]
4a20a4c37f Bump the fasterxml group with 4 updates
Bumps the fasterxml group with 4 updates: [com.fasterxml:classmate](https://github.com/FasterXML/java-classmate), [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson), [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) and [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson).


Updates `com.fasterxml:classmate` from 1.6.0 to 1.7.0
- [Commits](https://github.com/FasterXML/java-classmate/compare/classmate-1.6.0...classmate-1.7.0)

Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.16.0 to 2.18.2
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.16.0 to 2.18.2
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.16.0...jackson-core-2.18.2)

Updates `com.fasterxml.jackson.core:jackson-core` from 2.16.0 to 2.18.2
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.16.0...jackson-core-2.18.2)

Updates `com.fasterxml.jackson.core:jackson-databind` from 2.16.0 to 2.18.2
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml:classmate
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-annotations
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: fasterxml
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 21:02:28 +00:00
dependabot[bot]
d7b0e26179 Bump the apache-commons group with 11 updates
Bumps the apache-commons group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| commons-beanutils:commons-beanutils | `1.9.4` | `1.10.0` |
| commons-cli:commons-cli | `1.6.0` | `1.9.0` |
| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.16.0` | `1.17.2` |
| org.apache.commons:commons-configuration2 | `2.10.1` | `2.11.0` |
| org.apache.commons:commons-dbcp2 | `2.11.0` | `2.13.0` |
| commons-io:commons-io | `2.15.1` | `2.18.0` |
| org.apache.commons:commons-lang3 | `3.14.0` | `3.17.0` |
| commons-logging:commons-logging | `1.3.0` | `1.3.4` |
| org.apache.commons:commons-compress | `1.26.0` | `1.27.1` |
| org.apache.commons:commons-text | `1.10.0` | `1.13.0` |
| commons-validator:commons-validator | `1.7` | `1.9.0` |


Updates `commons-beanutils:commons-beanutils` from 1.9.4 to 1.10.0

Updates `commons-cli:commons-cli` from 1.6.0 to 1.9.0

Updates `commons-codec:commons-codec` from 1.16.0 to 1.17.2
- [Changelog](https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt)
- [Commits](https://github.com/apache/commons-codec/compare/rel/commons-codec-1.16.0...rel/commons-codec-1.17.2)

Updates `org.apache.commons:commons-configuration2` from 2.10.1 to 2.11.0

Updates `org.apache.commons:commons-dbcp2` from 2.11.0 to 2.13.0

Updates `commons-io:commons-io` from 2.15.1 to 2.18.0

Updates `org.apache.commons:commons-lang3` from 3.14.0 to 3.17.0

Updates `commons-logging:commons-logging` from 1.3.0 to 1.3.4

Updates `org.apache.commons:commons-compress` from 1.26.0 to 1.27.1

Updates `org.apache.commons:commons-text` from 1.10.0 to 1.13.0

Updates `commons-validator:commons-validator` from 1.7 to 1.9.0

---
updated-dependencies:
- dependency-name: commons-beanutils:commons-beanutils
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: commons-cli:commons-cli
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: commons-codec:commons-codec
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-configuration2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-dbcp2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-lang3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: commons-logging:commons-logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-compress
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: org.apache.commons:commons-text
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
- dependency-name: commons-validator:commons-validator
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: apache-commons
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 21:02:16 +00:00
dependabot[bot]
1492ed7f61 Bump the build-tools group with 21 updates
Bumps the build-tools group with 21 updates:

| Package | From | To |
| --- | --- | --- |
| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.10.0` | `2.36.0` |
| [com.puppycrawl.tools:checkstyle](https://github.com/checkstyle/checkstyle) | `8.38` | `8.45.1` |
| [com.github.spotbugs:spotbugs](https://github.com/spotbugs/spotbugs) | `4.8.2` | `4.8.6` |
| [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) | `3.0.0-M3` | `3.5.0` |
| [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) | `3.8.1` | `3.13.0` |
| [org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin) | `3.2.0` | `3.4.2` |
| [org.apache.maven.plugins:maven-war-plugin](https://github.com/apache/maven-war-plugin) | `3.2.3` | `3.4.0` |
| [org.apache.maven.plugins:maven-checkstyle-plugin](https://github.com/apache/maven-checkstyle-plugin) | `3.3.1` | `3.6.0` |
| [com.github.spotbugs:spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) | `4.8.2.0` | `4.8.6.6` |
| [org.apache.maven.plugins:maven-clean-plugin](https://github.com/apache/maven-clean-plugin) | `3.1.0` | `3.4.0` |
| [org.apache.maven.plugins:maven-assembly-plugin](https://github.com/apache/maven-assembly-plugin) | `3.6.0` | `3.7.1` |
| [org.apache.maven.plugins:maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) | `3.1.2` | `3.8.1` |
| [org.apache.maven.plugins:maven-resources-plugin](https://github.com/apache/maven-resources-plugin) | `3.1.0` | `3.3.1` |
| org.sonatype.plugins:nexus-staging-maven-plugin | `1.6.8` | `1.7.0` |
| [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) | `3.2.0` | `3.11.2` |
| [org.apache.maven.plugins:maven-source-plugin](https://github.com/apache/maven-source-plugin) | `3.2.1` | `3.3.1` |
| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.5` | `0.8.12` |
| [org.codehaus.mojo:xml-maven-plugin](https://github.com/mojohaus/xml-maven-plugin) | `1.0.2` | `1.1.0` |
| [org.codehaus.mojo:license-maven-plugin](https://github.com/mojohaus/license-maven-plugin) | `2.0.0` | `2.5.0` |
| [org.codehaus.mojo:build-helper-maven-plugin](https://github.com/mojohaus/build-helper-maven-plugin) | `3.4.0` | `3.6.0` |
| [org.codehaus.mojo:buildnumber-maven-plugin](https://github.com/mojohaus/buildnumber-maven-plugin) | `3.2.0` | `3.2.1` |


Updates `com.google.errorprone:error_prone_core` from 2.10.0 to 2.36.0
- [Release notes](https://github.com/google/error-prone/releases)
- [Commits](https://github.com/google/error-prone/compare/v2.10.0...v2.36.0)

Updates `com.puppycrawl.tools:checkstyle` from 8.38 to 8.45.1
- [Release notes](https://github.com/checkstyle/checkstyle/releases)
- [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-8.38...checkstyle-8.45.1)

Updates `com.github.spotbugs:spotbugs` from 4.8.2 to 4.8.6
- [Release notes](https://github.com/spotbugs/spotbugs/releases)
- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spotbugs/spotbugs/compare/4.8.2...4.8.6)

Updates `org.apache.maven.plugins:maven-enforcer-plugin` from 3.0.0-M3 to 3.5.0
- [Release notes](https://github.com/apache/maven-enforcer/releases)
- [Commits](https://github.com/apache/maven-enforcer/compare/enforcer-3.0.0-M3...enforcer-3.5.0)

Updates `org.apache.maven.plugins:maven-compiler-plugin` from 3.8.1 to 3.13.0
- [Release notes](https://github.com/apache/maven-compiler-plugin/releases)
- [Commits](https://github.com/apache/maven-compiler-plugin/compare/maven-compiler-plugin-3.8.1...maven-compiler-plugin-3.13.0)

Updates `org.apache.maven.plugins:maven-jar-plugin` from 3.2.0 to 3.4.2
- [Release notes](https://github.com/apache/maven-jar-plugin/releases)
- [Commits](https://github.com/apache/maven-jar-plugin/compare/maven-jar-plugin-3.2.0...maven-jar-plugin-3.4.2)

Updates `org.apache.maven.plugins:maven-war-plugin` from 3.2.3 to 3.4.0
- [Commits](https://github.com/apache/maven-war-plugin/compare/maven-war-plugin-3.2.3...maven-war-plugin-3.4.0)

Updates `org.apache.maven.plugins:maven-checkstyle-plugin` from 3.3.1 to 3.6.0
- [Commits](https://github.com/apache/maven-checkstyle-plugin/compare/maven-checkstyle-plugin-3.3.1...maven-checkstyle-plugin-3.6.0)

Updates `com.github.spotbugs:spotbugs-maven-plugin` from 4.8.2.0 to 4.8.6.6
- [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases)
- [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.8.2.0...spotbugs-maven-plugin-4.8.6.6)

Updates `org.apache.maven.plugins:maven-clean-plugin` from 3.1.0 to 3.4.0
- [Release notes](https://github.com/apache/maven-clean-plugin/releases)
- [Commits](https://github.com/apache/maven-clean-plugin/compare/maven-clean-plugin-3.1.0...maven-clean-plugin-3.4.0)

Updates `org.apache.maven.plugins:maven-assembly-plugin` from 3.6.0 to 3.7.1
- [Release notes](https://github.com/apache/maven-assembly-plugin/releases)
- [Commits](https://github.com/apache/maven-assembly-plugin/compare/maven-assembly-plugin-3.6.0...maven-assembly-plugin-3.7.1)

Updates `org.apache.maven.plugins:maven-dependency-plugin` from 3.1.2 to 3.8.1
- [Release notes](https://github.com/apache/maven-dependency-plugin/releases)
- [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.1.2...maven-dependency-plugin-3.8.1)

Updates `org.apache.maven.plugins:maven-resources-plugin` from 3.1.0 to 3.3.1
- [Release notes](https://github.com/apache/maven-resources-plugin/releases)
- [Commits](https://github.com/apache/maven-resources-plugin/compare/maven-resources-plugin-3.1.0...maven-resources-plugin-3.3.1)

Updates `org.sonatype.plugins:nexus-staging-maven-plugin` from 1.6.8 to 1.7.0

Updates `org.apache.maven.plugins:maven-javadoc-plugin` from 3.2.0 to 3.11.2
- [Release notes](https://github.com/apache/maven-javadoc-plugin/releases)
- [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.2.0...maven-javadoc-plugin-3.11.2)

Updates `org.apache.maven.plugins:maven-source-plugin` from 3.2.1 to 3.3.1
- [Release notes](https://github.com/apache/maven-source-plugin/releases)
- [Commits](https://github.com/apache/maven-source-plugin/compare/maven-source-plugin-3.2.1...maven-source-plugin-3.3.1)

Updates `org.jacoco:jacoco-maven-plugin` from 0.8.5 to 0.8.12
- [Release notes](https://github.com/jacoco/jacoco/releases)
- [Commits](https://github.com/jacoco/jacoco/compare/v0.8.5...v0.8.12)

Updates `org.codehaus.mojo:xml-maven-plugin` from 1.0.2 to 1.1.0
- [Release notes](https://github.com/mojohaus/xml-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/xml-maven-plugin/compare/xml-maven-plugin-1.0.2...1.1.0)

Updates `org.codehaus.mojo:license-maven-plugin` from 2.0.0 to 2.5.0
- [Release notes](https://github.com/mojohaus/license-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/license-maven-plugin/compare/license-maven-plugin-2.0.0...2.5.0)

Updates `org.codehaus.mojo:build-helper-maven-plugin` from 3.4.0 to 3.6.0
- [Release notes](https://github.com/mojohaus/build-helper-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/build-helper-maven-plugin/compare/3.4.0...3.6.0)

Updates `org.codehaus.mojo:buildnumber-maven-plugin` from 3.2.0 to 3.2.1
- [Release notes](https://github.com/mojohaus/buildnumber-maven-plugin/releases)
- [Commits](https://github.com/mojohaus/buildnumber-maven-plugin/compare/3.2.0...3.2.1)

---
updated-dependencies:
- dependency-name: com.google.errorprone:error_prone_core
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.puppycrawl.tools:checkstyle
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.github.spotbugs:spotbugs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-enforcer-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-compiler-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-jar-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-war-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-checkstyle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: com.github.spotbugs:spotbugs-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-clean-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-assembly-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-dependency-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-resources-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.sonatype.plugins:nexus-staging-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-javadoc-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.apache.maven.plugins:maven-source-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.jacoco:jacoco-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
- dependency-name: org.codehaus.mojo:xml-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.codehaus.mojo:license-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.codehaus.mojo:build-helper-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: build-tools
- dependency-name: org.codehaus.mojo:buildnumber-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 21:01:16 +00:00
Tim Donohue
e46f02550a Merge pull request #10205 from tdonohue/enable_dependabot_on_7x
[Port dspace-7_x] Create `dependabot.yml` to auto-update Maven dependencies
2025-01-14 16:26:16 -06:00
Tim Donohue
a236b8b975 Merge pull request #10206 from DSpace/backport-9832-to-dspace-7_x
[Port dspace-7_x] Separate log file for cli jobs, fixing corruption of main log file
2025-01-14 15:56:57 -06:00
Jens Vannerum
1a6088388f apply fix to windows env and remove duplicate logging for checksum checker
(cherry picked from commit 9f39a3d6a5)
2025-01-14 21:10:10 +00:00
Kevin Van de Velde
04ec6381cb Modifying it so that the cli file content is stored in a file using the date
(cherry picked from commit 529c3a77c1)
2025-01-14 21:10:10 +00:00
Jens Vannerum
0b46a0963c 113811: cli logs should be written to a different file
(cherry picked from commit d30468a09f)
2025-01-14 21:10:10 +00:00
Tim Donohue
fe28962e96 Exclude spring from build-tools group in dependabot.yml 2025-01-14 15:02:18 -06:00
Tim Donohue
e840ca2731 Create dependabot.yml 2025-01-14 15:02:15 -06:00
Tim Donohue
5201d90b19 Merge pull request #10200 from tdonohue/port_9690_to_7x
[Port dspace-7_x] option to exclude the submitter being indexed to solr in archived items
2025-01-13 16:07:08 -06:00
Gantner, Florian Klaus
62596ad863 option to exclude the submitter being indexed to solr in archived items
https://github.com/DSpace/DSpace/issues/9660
2025-01-13 15:01:20 -06:00
Tim Donohue
024f88b1e0 Merge pull request #10196 from DSpace/backport-9687-to-dspace-7_x
[Port dspace-7_x] Scopus metadata import: put DOIs in dc.relation.hasversion
2025-01-10 15:13:39 -06:00
Sascha Szott
d109eac2a0 use dc.relation.hasversion instead of dc.identifier.doi
(cherry picked from commit d61dc8d911)
2025-01-10 19:54:42 +00:00
Sascha Szott
09a722a029 use dc.relation.hasversion for externally generated DOIs
(cherry picked from commit 29067b6572)
2025-01-10 19:54:42 +00:00
Sascha Szott
5d0e9871e9 fix broken test
(cherry picked from commit 2eff833fab)
2025-01-10 19:54:42 +00:00
Sascha Szott
5973c67eff put DOIs in dc.identifier.doi
(cherry picked from commit 3d1bef9d0e)
2025-01-10 19:54:42 +00:00
Tim Donohue
d11bbc9c15 Merge pull request #10194 from DSpace/backport-10193-to-dspace-7_x
[Port dspace-7_x] Refactor AbstractIntegrationTestWithDatabase to use EPersonBuilder for test users
2025-01-10 13:32:00 -06:00
Tim Donohue
49b3deef77 Refactor AbstractIntegrationTestWithDatabase to use Builders to create test EPersons.
(cherry picked from commit 0b8b7be22b)
2025-01-10 17:40:32 +00:00
Tim Donohue
a2a9494859 Merge pull request #9724 from 4Science/task/dspace-7_x/CST-14905
[Port dspace-7_x] Orcid revoke token feature
2025-01-10 11:29:24 -06:00
Tim Donohue
a0fd518cb4 Merge pull request #10191 from DSpace/backport-10189-to-dspace-7_x
[Port dspace-7_x] switch IT search core to MockSolrSearchCore
2025-01-09 10:17:11 -06:00
Gantner, Florian Klaus
97a5439e3a switch IT search core to MockSolrSearchCore
https://github.com/DSpace/DSpace/issues/10188
(cherry picked from commit 6d781e8f83)
2025-01-09 14:24:20 +00:00
Tim Donohue
0a9ecee819 Merge pull request #10186 from DSpace/backport-10185-to-dspace-7_x
[Port dspace-7_x] Fix for flakey IdentifierProvider Integration Tests
2025-01-08 11:28:07 -06:00
Tim Donohue
41207d5dee Update CreateMissingIdentifiers to better identify when CanonicalHandles provider is enabled. Update CreateMissingIdentifiersIT to verify that we are accurately resetting to our default IdentifierProvider
(cherry picked from commit 2385c13f2d)
2025-01-08 15:59:55 +00:00
Tim Donohue
22511a17b6 Refactor identifier ITs to ensure they unregister all utilized IdentifierProviders which are non-default. Cannot use "getApplicationContext().refresh()" as that seems to result in empty test database in Hibernate 6.6.
(cherry picked from commit cfca2adbb1)
2025-01-08 15:59:54 +00:00
Tim Donohue
da4535ddfd Merge pull request #10183 from tdonohue/port_9340_to_7x
[Port dspace-7_x] Bugfix: Enforce unique item id in workspace table (#9340)
2025-01-07 10:45:37 -06:00
Koen Pauwels
6c82e2dba4 Bugfix: Enforce unique item id in workspace table (#9340)
* 106798 Enforce values in item_id column of workspaceitem table to be unique, both at database level and at WorkspaceItemService level

* 106798 Removed Oracle SQL migration

* 106798 workspaceitem table migration: delete duplicate rows before introducing uniqueness constraint

* 106798: update migration for H2

---------

Co-authored-by: Koen Pauwels <koen.pauwels@atmire.com>
Co-authored-by: wout <wout.atmire@gmail.com>
2025-01-07 08:59:13 -06:00
Tim Donohue
09fad6dc7e Merge pull request #10179 from DSpace/backport-10104-to-dspace-7_x
[Port dspace-7_x] style.xsl: fix missing +1 offset in result-count template
2025-01-06 12:12:12 -06:00
Tim Donohue
2780ebab74 Merge pull request #10177 from DSpace/backport-10157-to-dspace-7_x
[Port dspace-7_x] remove deprecated constructor call in org.dspace.curate.Curation
2025-01-06 11:52:16 -06:00
Sascha Szott
214c669e80 fix missing +1 offset
(cherry picked from commit ab00de05b4)
2025-01-06 17:07:29 +00:00
Sascha Szott
964e4bf476 remove usage of deprecated constructor call
(cherry picked from commit 45cdb4d9d4)
2025-01-06 16:46:17 +00:00
Nona Luypaert
d11a147009 Merge remote-tracking branch 'atmire-github/w2p-121971_openaire-compliance-updates-7.6' into w2p-121973_openaire-compliance-updates-8.x 2024-12-31 17:23:21 +01:00
Nona Luypaert
82b0944137 Merge remote-tracking branch 'origin/dspace-7_x' into w2p-121973_openaire-compliance-updates-7.x 2024-12-31 16:53:08 +01:00
Alan Orth
78194071b8 Merge pull request #10166 from DSpace/backport-10089-to-dspace-7_x 2024-12-24 12:31:57 +03:00
Toni Prieto
e856ae3291 Uncache all entities during OAI indexing to reduce memory usage
(cherry picked from commit 9af2e2e17c)
2024-12-24 06:59:53 +00:00
Tim Donohue
a36f0e606c Merge pull request #10154 from DSpace/backport-3253-to-dspace-7_x
[Port dspace-7_x] Add Context method to uncache all entities
2024-12-19 14:29:35 -06:00
Chris Wilper
8849212895 Add Context method to uncache all entities
(cherry picked from commit 8ea664adb2)
2024-12-19 18:57:47 +00:00
Tim Donohue
9b651b7ab3 Merge pull request #9893 from bkeese/patch-1
Fix full-text indexing for files over the character limit
2024-12-19 12:28:37 -06:00
Tim Donohue
66281d3a6d Merge pull request #10149 from DSpace/backport-10059-to-dspace-7_x
[Port dspace-7_x] Statistics scope fix
2024-12-19 08:56:17 -06:00
Tim Donohue
3fa86d43f6 Merge pull request #10147 from DSpace/backport-9815-to-dspace-7_x
[Port dspace-7_x] fix for #9311: set default configFile
2024-12-19 08:56:07 -06:00
Kristof De Langhe
51df5c1fe6 119664: Search event scope fix
(cherry picked from commit 48956d90b7)
2024-12-18 22:50:42 +00:00
DSpace Bot
1ce4e08333 [Port dspace-7_x] Fix issue with submission sections visibility (#10140)
* README.md: v8 is the current release, not v7

(cherry picked from commit 2b698eff60)
(cherry picked from commit 83460afb37)

* Update README.md

(cherry picked from commit 671234b08f)
(cherry picked from commit 7a6785b1c3)

* [DURACOM-291] Expose section scope attribute

(cherry picked from commit 4107f937fd)

* README.md: v8 is the current release, not v7

(cherry picked from commit 2b698eff60)
(cherry picked from commit d98499a394)

* Update README.md

(cherry picked from commit 671234b08f)
(cherry picked from commit 6a707548ff)

---------

Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: Giuseppe Digilio <giuseppe.digilio@4science.com>
2024-12-18 16:45:16 -06:00
Tim Donohue
0d8c5f12a3 Merge pull request #10145 from DSpace/backport-9817-to-dspace-7_x
[Port dspace-7_x] fix for #9312: properly type in field id, adjust use of getProperty and add error handling
2024-12-18 16:05:38 -06:00
Tim Donohue
ad033ef1ba Merge pull request #10143 from DSpace/backport-9913-to-dspace-7_x
[Port dspace-7_x] Submission scope naming for input field validation fixed
2024-12-18 15:56:13 -06:00
igorbaptist4
c86d082d5f fix: set default configFile
(cherry picked from commit a5e8d7aa15)
2024-12-18 21:02:37 +00:00
igorbaptist4
3a223e3fef fix line length checkstyle
(cherry picked from commit 338f3b1d3e)
2024-12-18 20:57:22 +00:00
igorbaptist4
973beee2ce fix: properly type in field id, adjust use of getProperty and add error handling when dbPath is null (when property usage-statistics.dbfile is commented
(cherry picked from commit 412d5751f2)
2024-12-18 20:57:22 +00:00
Jukka Lipka
31faf809d1 fix(submission): Submission scope naming fixed
Corrected wording in related code comment

(cherry picked from commit ec2187ea65)
2024-12-18 20:47:49 +00:00
Jukka Lipka
95742fe4f3 fix(submission): Submission scope naming fixed
According to the documentation, the value for the <visibility> property is 'submission' in the 'submission-forms.xml'. Without this change, an empty input field will never be marked as an error, even if the field is marked as 'required'.

(cherry picked from commit 02f52c7d5c)
2024-12-18 20:47:49 +00:00
Tim Donohue
026a0aa9ab Merge pull request #10138 from DSpace/backport-10057-to-dspace-7_x
[Port dspace-7_x] Add limit, offset, and total facet count to Solr query for the metadata browse index
2024-12-18 12:57:36 -06:00
Toni Prieto
fcc650e1a6 Add limit, offset, and a new parameter to calculate the total entry count in the Solr query used for the metadata navigation index
(cherry picked from commit e71de8a4d0)
2024-12-18 18:05:26 +00:00
Tim Donohue
b4d4588d34 Merge pull request #10136 from DSpace/backport-9834-to-dspace-7_x
[Port dspace-7_x] More information about failed DOI registrations.
2024-12-17 16:01:36 -06:00
Tim Donohue
89b8e92512 Merge pull request #10134 from DSpace/backport-10132-to-dspace-7_x
[Port dspace-7_x] [Docker] Minor Dockerfile enhancements to stabilize & speed up automated builds
2024-12-17 16:01:01 -06:00
Mark H. Wood
e5568157c8 More information about failed DOI registrations.
(cherry picked from commit b8f4ab0eb3)
2024-12-17 21:11:32 +00:00
Tim Donohue
58af9fd224 Significantly speed up build of dspace-dependencies by only copying over POM files
(cherry picked from commit 6d7a3fcb72)
2024-12-17 20:52:35 +00:00
Tim Donohue
aa027aefae Improve Apache Ant download process. Switch to using curl so that we can retry the request if it initially fails.
(cherry picked from commit e236634a4c)
2024-12-17 20:52:35 +00:00
Tim Donohue
4e59693da5 Merge pull request #10131 from tdonohue/port_9760_to_7x
[Port dspace-7_x] Improve Group2GroupCache computation
2024-12-17 12:12:35 -06:00
autavares-dev
05bac14716 Refactor 'var' variables to explicit types 2024-12-17 11:11:37 -06:00
autavares-dev
64cb3bda00 Changes Group2GroupCache computation 2024-12-17 11:11:20 -06:00
Nona Luypaert
ecbb8682a7 Merge remote-tracking branch 'contributions/w2p-121971_openaire-compliance-updates-7.6' into w2p-121973_openaire-compliance-updates-7.x 2024-12-17 11:43:38 +01:00
Tim Donohue
8e6371c9b5 Merge pull request #10122 from DSpace/backport-10120-to-dspace-7_x
[Port dspace-7_x] [GitHub Actions] Refactor Docker build process to use ghcr.io for build, and then copy to docker.io once build completes
2024-12-16 15:14:37 -06:00
Tim Donohue
a27f1ed175 Ensure "docker-deploy" job also uses ghcr.io by default. 2024-12-16 13:57:18 -06:00
Tim Donohue
296c9a12f4 PRs must also login to ghcr.io in order to read private images for the build process 2024-12-16 13:57:11 -06:00
Tim Donohue
2a6c60e139 Refactor Docker build process to use ghcr.io for build, and then copy to docker.io once build completes 2024-12-16 13:56:53 -06:00
Tim Donohue
5869f03b51 Merge pull request #10115 from tdonohue/port_10800_to_7x
[Port dspace-7_x] [Docker] Use fully qualified image names & allow for other registries to be used
2024-12-12 16:49:44 -06:00
Tim Donohue
2ee328ff18 Minor Dockerfile cleanup. Use new syntax for ENV variables 2024-12-12 16:15:10 -06:00
Tim Donohue
a6d2c4897b Add Docker registry to all scripts. Allow it to be configurable for DSpace images (only). Other minor Dockerfile cleanup 2024-12-12 16:15:10 -06:00
Nona Luypaert
e540168594 121971: #9867 - Remove objectType attribute from openaire crosswalk 2024-12-12 09:18:40 +01:00
Nona Luypaert
52e5b35c06 121971: #9664 - Make cclicense step required in openaire submission form 2024-12-12 09:16:21 +01:00
Nona Luypaert
31c79500ce 121971: #9716 - Only dc.date.embargo should have date type Available 2024-12-11 21:49:37 +01:00
Nona Luypaert
04953b94d9 121971: #9715 - Only dc.date.issued should have date types Accepted and Issued 2024-12-11 21:46:17 +01:00
Nona Luypaert
c017a662e0 121971: #9669 - Remove unsupported OpenAIRE date types 2024-12-11 21:26:42 +01:00
Tim Donohue
ac9f7c16e6 Merge pull request #10101 from tdonohue/port_10091_to_7x
[Port dspace-7_x] [GitHub Actions] Ensure PRs against main also use "latest" tag when running test Docker deployment
2024-12-10 12:14:12 -06:00
Tim Donohue
b8c88ef284 Ensure PRs against main also use "latest" tag 2024-12-10 11:33:51 -06:00
Tim Donohue
f0bb57a4c2 Merge pull request #10087 from tdonohue/port_github_action_docker_to_7x
[Port dspace-7_x] [GitHub Actions] Port several Docker building improvements
2024-12-09 11:56:32 -06:00
Tim Donohue
78855cdbba Ensure we use the main Docker image, and not the "-test" image. 2024-12-09 10:18:32 -06:00
Tim Donohue
3c0e7158a2 Ensure each image has a separate cache. This allows later builds of that same image to inherit that cache. 2024-12-06 17:16:40 -06:00
Tim Donohue
020fec96d8 Ensure PRs are tagging their images with same tag as the base branch the PR was created against 2024-12-06 17:16:26 -06:00
Tim Donohue
46c169fb79 Refactor to use the same local TAR image build for PRs and non-PRs. These TAR images act as a cache for our current build. 2024-12-06 17:16:19 -06:00
Tim Donohue
0fc0f181fd Enable caching of Docker builds using GitHub Actions cache 2024-12-06 17:16:14 -06:00
Tim Donohue
1f5defe643 Ensure non-PRs run image build twice. First for a DockerHub image, then to export a local tarball. Since these are different image types they cannot be combined 2024-12-06 17:16:06 -06:00
Tim Donohue
8d34f06396 Update Actions to always deploy the locally created image. non-PRs do not need to redownload images from DockerHub. 2024-12-06 17:16:01 -06:00
Tim Donohue
f8bf278f06 Ensure login occurs *before* setup-buildx, as some buildx commands appear to be unauthenticated. 2024-12-06 17:15:54 -06:00
Tim Donohue
f26a732ab8 Merge pull request #10082 from DSpace/backport-9728-to-dspace-7_x
[Port dspace-7_x] Improve observability of running processes + Fail them during startup
2024-12-05 15:43:01 -06:00
Nona Luypaert
8bc100375a 116609: Add try catch to init method in ProcessServiceImpl
(cherry picked from commit 070fe689d7)
2024-12-05 21:00:48 +00:00
Nona Luypaert
3f836ae7a5 116687: Never handle exception with null message
(cherry picked from commit bdf7069cb7)
2024-12-05 21:00:48 +00:00
Nona Luypaert
1ba7ca3bdd 116609: Add tomcat shutdown line to process log
(cherry picked from commit 156ad471b5)
2024-12-05 21:00:48 +00:00
Nona Luypaert
25fb8111f1 116609: Improve running process observability
- keep temp process log files in [dspace]/log/processes/ instead of temp dir
- reformat file names of process logs
- ensure that running and scheduled processes are cleaned up during startup

(cherry picked from commit d80f49e023)
2024-12-05 21:00:48 +00:00
Tim Donohue
a1d2504ab3 Merge pull request #10068 from DSpace/backport-9658-to-dspace-7_x
[Port dspace-7_x] Feature curation link checker customizations
2024-12-03 09:53:43 -06:00
Nathan Buckingham
3ff38ec4b4 115778: Adjust redirect check to only follow a limited amount defined in curate.cfg
(cherry picked from commit ef381aa151)
2024-12-03 15:17:19 +00:00
Marie Verdonck
be905a0887 110719: IT checking redirect links accepted by checklinks curate task
(cherry picked from commit e826660cb0)
2024-12-03 15:17:19 +00:00
Nathan Buckingham
2136dbf690 110719: Port fix to checkLinks that works on redirects
(cherry picked from commit 3dab2a7cea)
2024-12-03 15:17:19 +00:00
Tim Donohue
df4ddc8197 Merge pull request #10061 from DSpace/backport-9941-to-dspace-7_x
[Port dspace-7_x] Fixed dso endpoint returning 500 for unauthorized users
2024-12-02 10:58:09 -06:00
Alexandre Vryghem
38a71cc664 119960: Fixed NPE when retrieving a DSpace object with the api/dso/find endpoint without the required permissions
(cherry picked from commit dd8b1d91cb)
2024-12-02 16:07:46 +00:00
Tim Donohue
88b5ce81a6 Merge pull request #10041 from DSpace/backport-10040-to-dspace-7_x
[Port dspace-7_x] [GitHub Actions] Ensure all optional modules are enabled in our test Docker deployment
2024-11-22 16:28:05 -06:00
Tim Donohue
cf99694a84 Fix startup errors for SWORDv2. Requires the log4jv1->v2 bridge to be installed. 2024-11-22 16:03:16 -06:00
Tim Donohue
66a9782eee Fix syntax error in #10040. Env variables cannot have dashes or periods 2024-11-22 16:03:16 -06:00
Tim Donohue
f44dba60cb Enable all optional modules/controllers to test their deployment in Spring Boot
(cherry picked from commit 98768d6f4f)
2024-11-22 16:03:15 -06:00
Tim Donohue
bbf9ccf2ab Merge pull request #10034 from tdonohue/port_10032_to_7x
[Port dspace-7_x] Remove unused dependencies from several modules
2024-11-21 11:58:16 -06:00
Tim Donohue
9f8240987b Remove unused dependencies from several modules 2024-11-21 11:24:23 -06:00
Tim Donohue
888332a8d5 Merge pull request #10020 from tdonohue/port_10014_to_7x
[Port dspace-7_x] Dependency cleanup for OAI-PMH and Log4j (removing log4j v1 bridge & settings which used it)
2024-11-18 14:40:16 -06:00
Tim Donohue
f3d15e5c04 Log4j cleanup. Remove last traces of log4j v1 (and remove log4j1 bridge to avoid them coming back). Create log4j2 settings for Handle Plugin. 2024-11-18 14:02:14 -06:00
Tim Donohue
d952fea6a2 Remove parboiled-java and minor cleanup of unused OAI dependencies 2024-11-18 13:39:06 -06:00
Tim Donohue
ca176b77b2 Merge pull request #10017 from DSpace/backport-10016-to-dspace-7_x
[Port dspace-7_x] [GitHub Actions] More fixes to Docker deployment builds
2024-11-15 17:13:00 -06:00
Tim Donohue
f0c92ac96b Ensure only main branch uses "latest". Other branches should use the tag corresponding to the branch name
(cherry picked from commit e0b7241acb)
2024-11-15 22:42:11 +00:00
Tim Donohue
7e18e743ee Merge pull request #10011 from DSpace/backport-10010-to-dspace-7_x
[Port dspace-7_x] [GitHub Actions] Minor bug fix to Docker deployment builds
2024-11-15 10:26:42 -06:00
Tim Donohue
7fa31e2131 Ensure we use "pr-testing" images for PRs, but use "latest" images for other builds (e.g. after PR is merged to a branch).
(cherry picked from commit aa537c4490)
2024-11-15 15:34:38 +00:00
Tim Donohue
90b58833ec Merge pull request #9995 from DSpace/backport-9746-to-dspace-7_x
[Port dspace-7_x] Fix 9734: Check configured workflow.reviewer.file-edit to show item e…
2024-11-14 14:54:50 -06:00
Agustina Martinez
aa71e4840b Fix 9734: Check configured workflow.reviewer.file-edit to show item edit functionality in workflow UI
(cherry picked from commit e8ec0c1b1d)
2024-11-14 20:11:05 +00:00
Tim Donohue
3f1f4cb217 Merge pull request #9993 from tdonohue/port_9973_to_7x
[Port dspace-7_x] [GitHub Actions] Add a job to test Docker deployment with newly built images & test Handle Server
2024-11-13 16:45:25 -06:00
Tim Donohue
5bb65c6b56 Fix error in Handle Server startup caused by having multiple versions of BouncyCastle in our classpath. Exclude the old version brought in by cnri-servlet-container 2024-11-13 15:11:36 -06:00
Tim Donohue
d6d78298b3 Add check for Handle Server error.log 2024-11-13 15:11:30 -06:00
Tim Donohue
a0ed4a40ea Bug fixes. Ensure all steps of docker-deploy use the same environment variables. Ensure Handle Server HTTP port is open 2024-11-13 15:11:12 -06:00
Tim Donohue
faca14ad40 Ensure "host" command is installed in images, so "bin/make-handle-config" will work. 2024-11-13 15:09:47 -06:00
Tim Donohue
9853aa5bb4 Fix error in running Handle Server in GitHub Actions. Must exclude "spring-jcl" from dependencies as it conflicts with "commons-logging" (used by more of our dependencies) 2024-11-13 15:06:41 -06:00
Tim Donohue
c1f168245b Ensure Docker images built from PRs are stored as artifacts. This allows us to use those new images when testing deployment (in docker-deploy) 2024-11-13 15:06:32 -06:00
Tim Donohue
3ce85a2df3 Add a check that the Handle Server can be started & works properly 2024-11-13 15:06:25 -06:00
Tim Donohue
c66dde2aa8 Add a job to test Docker deployment with the built images 2024-11-13 15:06:18 -06:00
Tim Donohue
7017f5ecb1 Merge pull request #9976 from DSpace/backport-9861-to-dspace-7_x
[Port dspace-7_x] performance of claiming workflow task fix
2024-11-11 16:00:36 -06:00
Andrew
fde825265d fix: performance of claiming workflow task
(cherry picked from commit 27dd5a2ec5)
2024-11-11 21:15:41 +00:00
Tim Donohue
426d3abde0 Merge pull request #9974 from DSpace/backport-9890-to-dspace-7_x
[Port dspace-7_x] Status of DOI object should be set to TO_BE_DELETED when the related item is removed
2024-11-11 12:20:45 -06:00
Jens Vannerum
831db33018 118774: status of doi should be set to TO_BE_DELETED when related item is removed permanently
(cherry picked from commit 352f4c2152)
2024-11-11 16:40:56 +00:00
Tim Donohue
a452f035c3 Merge pull request #9969 from DSpace/backport-9968-to-dspace-7_x
[Port dspace-7_x] Improve logging of Unit & Integration Tests.  Ensure all tests log which method they are running.
2024-11-06 15:53:10 -06:00
Tim Donohue
68266cd3c1 Move logging of test methods to Abstract*Test classes in dspace-api. That way they work for **both** dspace-server-webapp and dspace-api tests.
(cherry picked from commit bd20c9262b)
2024-11-06 21:12:01 +00:00
Andreas Awouters
b1bd1953d6 Merge branch 'accessibility-settings-7.6' into accessibility-settings-8_x 2024-11-06 09:42:15 +01:00
Andreas Awouters
30cd44c196 Merge branch 'accessibility-settings-7.6' into accessibility-settings-7_x 2024-11-06 09:41:36 +01:00
Andreas Awouters
10a95ae92a 119602: Add accessibility settings metadata field 2024-11-06 09:39:33 +01:00
Tim Donohue
68b800f070 Merge pull request #9897 from DSpace/backport-9894-to-dspace-7_x
[Port dspace-7_x] Add Eclipse JDT .factorypath to .gitignore
2024-10-16 10:31:32 -05:00
Kim Shepherd
6018f926d7 Add Eclipse JDT .factorypath to .gitignore
(cherry picked from commit 9ce645e08b)
2024-10-16 15:28:30 +00:00
Miika Nurminen
31d36e7abf Bugfix: BitstreamRestController etag/content-length calculation does not consider cover page
Ported Alphonse Bendt's PR #9666 to DSpace 7 branch (squashed 5 commits).
This PR fixes a bug where the etag/content-length calculation did not respect the potential existence of a coverpage.
The controller now will use the post processed pdf if coverpages are enabled.
2024-10-16 11:48:10 +03:00
Brian Keese
4a4a8bcb22 Fix full-text indexing for files over the character limit
The error handler for files over the limit logged the correct message, but never actually added the full text to the index doc.
2024-10-15 11:38:54 -05:00
Tim Donohue
e9290f4bdc Merge pull request #9888 from tdonohue/update_latest_spring5
Bump `dspace-7_x` to Spring 5.3.39 and Spring Security 5.7.12
2024-10-14 08:42:57 -05:00
Tim Donohue
70dd847759 Revert to Spring Security 5.7.12. Spring Security 5.8.x changes behavior of CSRF tokens 2024-10-11 16:41:40 -05:00
Tim Donohue
1e47fa61d9 Bump to Spring 5.3.39 and Spring Security 5.8.14 2024-10-11 14:38:47 -05:00
Tim Donohue
ce1edc3bd3 Merge pull request #9877 from DSpace/backport-9777-to-dspace-7_x
[Port dspace-7_x] several optimizations in HAL browser login page
2024-10-08 14:11:57 -05:00
Sascha Szott
4669d8f760 applied change suggested by reviewer: use String.prototype.includes
(cherry picked from commit 546afb189e)
2024-10-08 19:11:02 +00:00
Sascha Szott
a721f8c41e fix failed first login attempt in HAL browser
(cherry picked from commit 002e637d4f)
2024-10-08 19:11:02 +00:00
Tim Donohue
5ad4adbddc Merge pull request #9862 from DSpace/backport-9859-to-dspace-7_x
[Port dspace-7_x] minor fix in parameter description in subscriptions_content
2024-09-27 10:47:18 -05:00
Sascha Szott
702ff9cf4c minor fix in parameter description
(cherry picked from commit 5758d9e903)
2024-09-27 15:44:49 +00:00
Tim Donohue
7b98632152 Merge pull request #9857 from DSpace/backport-9678-to-dspace-7_x
[Port dspace-7_x] LDAPAuthentication considers update of eperson's attributes
2024-09-26 16:12:58 -05:00
Sascha Szott
31af49ea72 fix Checkstyle violations
(cherry picked from commit aaa74b88c9)
2024-09-26 18:27:55 +00:00
Sascha Szott
b0370a064b add missing import
(cherry picked from commit c5ad32a9b3)
2024-09-26 18:27:55 +00:00
Sascha Szott
405397b8b0 update eperson's attributes right after successful login
(cherry picked from commit 428489ca52)
2024-09-26 18:27:55 +00:00
kshepherd
43c25c9972 Merge pull request #9838 from DSpace/backport-9581-to-dspace-7_x
[Port dspace-7_x] Add missing wosPublisherContrib key-ref in wos-integration.xml (#9579)
2024-09-19 15:49:16 +02:00
Mikhail Schastlivtsev
a49ee62450 add missing publisher metadatum in test (#9579)
(cherry picked from commit cde892c8c7)
2024-09-19 12:05:06 +00:00
Mikhail Schastlivtsev
9031322e7d add missing wosPublisherContrib key-ref in wos-integration.xml (#9579)
(cherry picked from commit 6a8c76bbe1)
2024-09-19 12:05:06 +00:00
Tim Donohue
b6209e0a95 Merge pull request #9801 from tdonohue/port_9668_to_7x
[Port dspace-7_x] Fix for DSpace#9667: Request-a-copy link generation for base URLs that have sub-paths
2024-09-06 16:40:59 -05:00
Tim Donohue
4ac4c911cf Singular name needed in 7.x 2024-09-06 16:08:49 -05:00
Kim Shepherd
7ec746d005 lint fixes (RequestItemRepository) 2024-09-06 13:54:01 -05:00
Kim Shepherd
ab43b86066 Tidy implementation of link token generation 2024-09-06 13:54:01 -05:00
Kim Shepherd
1914aac18b Improved URI build method as per review 2024-09-06 13:54:01 -05:00
Kim Shepherd
64255ffb05 #9668: Ensure proper handling of non-subpath URLs in link tokens 2024-09-06 13:54:01 -05:00
Kim Shepherd
cdb255feca Make RequestItemRepository#getLinkTokenEmail public, write test 2024-09-06 13:54:01 -05:00
Kim Shepherd
724f821bee Fix request a copy link token generation
Ensure DSpace URLs with extra segments are included
fully in the generated link
2024-09-06 13:54:00 -05:00
Tim Donohue
65232f64d3 Merge pull request #9812 from DSpace/backport-9807-to-dspace-7_x
[Port dspace-7_x] Rewrite DSpace integration tests to consistently use AbstractBuilder<T> builders
2024-09-06 12:21:42 -05:00
Kim Shepherd
123aedde04 #9806: Move cleanup of handle provider to destroy in VersionedHandleIdentifierProviderIT
(cherry picked from commit f6cabe648d)
2024-09-06 16:49:19 +00:00
Kim Shepherd
89796ece6b #9806: Set explicit id provider before VersioningWithRelationshipsIT
(cherry picked from commit 4af6900650)
2024-09-06 16:49:19 +00:00
Kim Shepherd
48c8848fc2 #9806: Use builders for creation in VersioningWithRelationshipsIT
I am a bit uncertain about the createBean() calls here, why do
we not simply *get* the configured beans using the service manager
instead, but will look at that in a separate change

(cherry picked from commit 3521ab6d35)
2024-09-06 16:49:19 +00:00
Kim Shepherd
282d4db36b #9806: Align provider reg in CreateMissingIdentifiersIT with other tests
VersionedHandlerIdentifierProviderIT uses this registerProvider method
which looks more reliable and doesn't do a refresh/reload of
applicationContext after (which I suspected might have an odd interaction
with VersioningWithRelationshipsIT and its createBean() calls?)

(cherry picked from commit 90536e443b)
2024-09-06 16:49:19 +00:00
Kim Shepherd
5fd99d8b14 #9806: Update object cleanup in GroupRestRepositoryIT
(cherry picked from commit 8cfb433c40)
2024-09-06 16:49:19 +00:00
Kim Shepherd
e6a0bb8943 #9806: Builders for comm, coll, group in CommunityAdminGroupRestControllerIT
(cherry picked from commit 2d9988f77c)
2024-09-06 16:49:19 +00:00
Kim Shepherd
968559bbaf #9806: Use builders for comm, coll, group creation in CollectionGroupRestControllerIT
(cherry picked from commit f4629d8351)
2024-09-06 16:49:19 +00:00
Kim Shepherd
b9278cbf33 #9806: Use builders for comm, coll, group creation in SupervisionOrderServiceIT
(cherry picked from commit 6e9181e3f7)
2024-09-06 16:49:19 +00:00
Kim Shepherd
ffc807205f #9806: Refactor WorkspaceItemBuilder to support specific item uuid
(cherry picked from commit b99b1eec29)
2024-09-06 16:49:19 +00:00
Kim Shepherd
8d576f8300 #9806: Use builders for group, comm, coll creation in StructBuilderIT
(cherry picked from commit 2ef69045d1)
2024-09-06 16:49:18 +00:00
Kim Shepherd
67fa262b83 #9806: Use builders for group, comm, coll creation in PackagerIT
(cherry picked from commit 1f475aa731)
2024-09-06 16:49:18 +00:00
Kim Shepherd
690dfa0809 #9806: Tidy imports for GroupRestRepositoryIT
(cherry picked from commit 80328eaca5)
2024-09-06 16:49:18 +00:00
Kim Shepherd
b9b135163f #9806: Use builders for coll, comm, group creation in GroupRestRepositoryIT
(cherry picked from commit 9205773802)
2024-09-06 16:49:18 +00:00
Kim Shepherd
2ff2297b1f #9806: Use builders for coll, comm, group creation in BitstreamRestRepositoryIT
(cherry picked from commit b13abac753)
2024-09-06 16:49:18 +00:00
Kim Shepherd
404039ade6 #9806: Add new create methods to group builder
Now supports admin groups, default read, workflow role

(cherry picked from commit cdb167e55a)
2024-09-06 16:49:18 +00:00
Tim Donohue
730e87536d Merge pull request #9798 from DSpace/backport-9796-to-dspace-7_x
[Port dspace-7_x] Translate underscores to dashes in xml:lang attr for DIM2DataCite.xsl
2024-09-03 13:33:06 -05:00
Kim Shepherd
e15f60abd3 Translate underscores to dashes in xml:lang attr for DIM2DataCite.xsl
Modified the DataCite crosswalk to ensure that the xml:lang attribute translates any underscores in the value of @lang to dashes. This change aligns the attribute formatting with standard language code conventions.

(cherry picked from commit a898afd5ac)
2024-09-03 17:19:12 +00:00
Tim Donohue
2ad5172120 Merge pull request #9790 from DSpace/backport-9775-to-dspace-7_x
[Port dspace-7_x] Make statistics autocommit much more frequently
2024-08-29 16:50:41 -05:00
Mark H. Wood
41312eec6e Make statistics autocommit much more frequent.
(cherry picked from commit 5c9af9764e)
2024-08-29 21:22:50 +00:00
kshepherd
8b3bf176fb Merge pull request #9784 from DSpace/backport-9684-to-dspace-7_x
[Port dspace-7_x] Crossref metadata import: change order of person name parts
2024-08-29 20:40:17 +02:00
Tim Donohue
94fca6fe35 Merge pull request #9789 from tdonohue/port_9497_to_7x
[Port dspace-7_x] In workflow-attached curation, separate task-list building from execution.
2024-08-29 12:11:20 -05:00
Tim Donohue
e570135689 Merge pull request #9786 from DSpace/backport-9765-to-dspace-7_x
[Port dspace-7_x] Fix index-discovery process when using handle
2024-08-29 10:41:47 -05:00
Mark H. Wood
0d74bd9f18 Separate task-list building from execution.
The old code would curate the object once for each task, meaning that all
but one task would be executed N times up to the length of the list.
2024-08-29 10:32:56 -05:00
autavares-dev
ffc99d06a1 Fix index-discovery process when using handle
(cherry picked from commit 077aed38dc)
2024-08-29 15:10:11 +00:00
Sascha Szott
7e87d57672 fix broken unit tests
(cherry picked from commit 1712b9f078)
2024-08-29 15:03:01 +00:00
Sascha Szott
f61c45bdc6 change order of name parts: familyName, givenName
(cherry picked from commit 076f1f233e)
2024-08-29 15:03:01 +00:00
Bram Luyten
8a997abf6a Merge pull request #9771 from DSpace/backport-9671-to-dspace-7_x
[Port dspace-7_x] DataCite DOI error fixes
2024-08-23 14:16:27 +02:00
Kristof De Langhe
c1be5f8e4e 115693: Pass doi metadatafield with xsl parameters
(cherry picked from commit 9e11e1f9ae)
2024-08-23 11:24:58 +00:00
Kristof De Langhe
d240a16b05 115693: DataCiteConnector fallback for blank metadata doi
(cherry picked from commit 021e424347)
2024-08-23 11:24:58 +00:00
Kristof De Langhe
f1dc25195f 115693: data-cite xsl targetting dc.identifier.uri fixes doi registration error
(cherry picked from commit c5d08f037c)
2024-08-23 11:24:58 +00:00
Tim Donohue
d23bf4c3cd Merge pull request #9743 from DSpace/backport-9742-to-dspace-7_x
[Port dspace-7_x] Fix potentially invalid usages of == operator
2024-08-02 11:57:54 -05:00
Sascha Szott
36ff5ca6cb use equals instead of ==
(cherry picked from commit a13cc82d40)
2024-08-02 16:24:13 +00:00
Sascha Szott
6a5236f2f9 use equals instead of ==
(cherry picked from commit d2ef7b01ef)
2024-08-02 16:24:13 +00:00
Sascha Szott
dc09d06ed6 use equals instead of ==
(cherry picked from commit 5e3552ee38)
2024-08-02 16:24:13 +00:00
Sascha Szott
b8f638b3b6 use equals instead of ==
(cherry picked from commit 80de8f6fb5)
2024-08-02 16:24:13 +00:00
Tim Donohue
275b0f89b7 Merge pull request #9740 from DSpace/backport-9737-to-dspace-7_x
[Port dspace-7_x] fix invalid usage of == operator
2024-08-02 11:08:28 -05:00
Sascha Szott
24318e01b8 fix invalid usage of == operator
(cherry picked from commit fa0fb14a18)
2024-08-02 14:49:40 +00:00
Tim Donohue
54bd5dd189 Merge pull request #9710 from atmire/w2p-116319_fix-metadata-import-setting-language-as-any-instead-of-null-upstream-7-x
[Port dspace-7_x] Fix issue where CSV Import / Export can clear metadata if there are metadata values with language "*" (Item.ANY)
2024-07-25 10:22:55 -05:00
Vincenzo Mecca
26905b7d45 [CST-14901][DSC-1357][#8662] Handles versioning for ORCID publications.
feat:
 - ORCID publications waiting to be published are removed whenever a new version is created
 - ORCID publications already published will be updated with the ref to the last item version
 - ORCID consumer will process only latest item versions, ignoring all the other ones
2024-07-25 11:44:37 +02:00
Vincenzo Mecca
affa4b00ff [CST-14905] Orcid revoke token feature 2024-07-24 19:39:21 +02:00
Tim Donohue
f6208bc1ce Merge pull request #9719 from DSpace/backport-9717-to-dspace-7_x
[Port dspace-7_x] Update spider list URLs to satisfy Cloudflare redirects
2024-07-23 14:28:03 -05:00
Kim Shepherd
30b6eddeb6 Update spider list URLs to satisfy cloudflare redirects
Update spider list URLs to satisfy cloudflare redirects

Update spider list URLs to satisfy cloudflare redirects

(cherry picked from commit d22ea117ca)
2024-07-23 18:53:56 +00:00
Tim Donohue
a3b27bdfb6 Merge pull request #9712 from DSpace/backport-9711-to-dspace-7_x
[Port dspace-7_x] Bump dnsjava:dnsjava from 2.1.9 to 3.6.0 in /dspace-api
2024-07-22 14:00:51 -05:00
dependabot[bot]
fff8cc3cb4 Bump dnsjava:dnsjava from 2.1.9 to 3.6.0 in /dspace-api
Bumps [dnsjava:dnsjava](https://github.com/dnsjava/dnsjava) from 2.1.9 to 3.6.0.
- [Release notes](https://github.com/dnsjava/dnsjava/releases)
- [Changelog](https://github.com/dnsjava/dnsjava/blob/master/Changelog)
- [Commits](https://github.com/dnsjava/dnsjava/compare/v2.1.9...v3.6.0)

---
updated-dependencies:
- dependency-name: dnsjava:dnsjava
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit 1775c88919)
2024-07-22 18:19:36 +00:00
Jens Vannerum
7082e32595 116542: resolve issues after merge with latest 7-x branch 2024-07-22 15:18:44 +02:00
Jens Vannerum
8f049579dc Merge branch 'w2p-116319_fix-metadata-import-setting-language-as-any-instead-of-null' into w2p-116319_fix-metadata-import-setting-language-as-any-instead-of-null-upstream-7-x 2024-07-22 15:14:12 +02:00
Jens Vannerum
03cff072c3 116542: fix issues with CSV importing and the Any language being set on metadata values 2024-07-22 15:08:59 +02:00
Tim Donohue
086655712d Merge pull request #9707 from tdonohue/port_9704_to_7x
[Port dspace-7_x] Docker build: fix FromAsCasing warnings
2024-07-17 12:00:06 -05:00
Sascha Szott
e4209d5d0b fix FromAsCasing warning 2024-07-17 11:26:47 -05:00
Sascha Szott
9b6b7ded97 fix FromAsCasing warning 2024-07-17 11:26:36 -05:00
Sascha Szott
f340dfadbe fix FromAsCasing warning 2024-07-17 11:25:33 -05:00
Sascha Szott
83f3ea4d05 fix FromAsCasing warning 2024-07-17 11:24:15 -05:00
Tim Donohue
9e1ea61a0b Merge pull request #9693 from tdonohue/port_9691_to_7x
[Port dspace-7_x] Fix random test failures in LinksetRestControllerIT and ManageGroupsFeatureIT
2024-07-10 15:49:27 -05:00
Tim Donohue
3bb93be793 Fix random pagination failures in ManageGroupsFeatureIT by using the "feature" param to filter for the feature we are looking for. If this feature appeared on page 2, then the tests would fail. 2024-07-10 15:17:56 -05:00
Tim Donohue
17a46a2fb6 Remove unused services & unnecessary cache cleanup. This can result in random failures if these services are not yet loaded by another test. 2024-07-10 15:15:47 -05:00
Tim Donohue
e4874c9f2f Merge pull request #9683 from TexasDigitalLibrary/port_9682_to_7x
updated creative commons licenses version from 3.0 to 4.0
2024-07-09 15:43:21 -05:00
Tim Donohue
86b28bf927 [maven-release-plugin] prepare for next development iteration 2024-07-09 14:10:05 -05:00
nwoodward
2cb8204d3c updated creative commons licenses version from 3.0 to 4.0 2024-07-08 12:33:07 -05:00
326 changed files with 10323 additions and 9657 deletions

View File

@@ -47,7 +47,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
# https://github.com/github/codeql-action
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
# Codescan Javascript as well since a few JS files exist in REST API's interface
languages: java, javascript
@@ -56,8 +56,8 @@ jobs:
# NOTE: Based on testing, this autobuild process works well for DSpace. A custom
# DSpace build w/caching (like in build.yml) was about the same speed as autobuild.
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3
# Perform GitHub Code Scanning.
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

View File

@@ -220,6 +220,19 @@ jobs:
result=$(wget -O- -q http://127.0.0.1:8080/server/api/core/collections)
echo "$result"
echo "$result" | grep -oE "\"Dog in Yard\","
# Verify basic backend logging is working.
# 1. Access the top communities list. Verify that the "Before request" INFO statement is logged
# 2. Access an invalid endpoint (and ignore 404 response). Verify that a "status:404" WARN statement is logged
- name: Verify backend is logging properly
run: |
wget -O/dev/null -q http://127.0.0.1:8080/server/api/core/communities/search/top
logs=$(docker compose -f docker-compose.yml logs -n 5 dspace)
echo "$logs"
echo "$logs" | grep -o "Before request \[GET /server/api/core/communities/search/top\]"
wget -O/dev/null -q http://127.0.0.1:8080/server/api/does/not/exist || true
logs=$(docker compose -f docker-compose.yml logs -n 5 dspace)
echo "$logs"
echo "$logs" | grep -o "status:404 exception: The repository type does.not was not found"
# Verify Handle Server can be stared and is working properly
# 1. First generate the "[dspace]/handle-server" folder with the sitebndl.zip
# 2. Start the Handle Server (and wait 20 seconds to let it start up)

View File

@@ -72,7 +72,7 @@ env:
REDEPLOY_SANDBOX_URL: ${{ secrets.REDEPLOY_SANDBOX_URL }}
REDEPLOY_DEMO_URL: ${{ secrets.REDEPLOY_DEMO_URL }}
# Current DSpace branches (and architecture) which are deployed to demo.dspace.org & sandbox.dspace.org respectively
DEPLOY_DEMO_BRANCH: 'dspace-8_x'
DEPLOY_DEMO_BRANCH: 'dspace-9_x'
DEPLOY_SANDBOX_BRANCH: 'main'
DEPLOY_ARCH: 'linux/amd64'
# Registry used during building of Docker images. (All images are later copied to docker.io registry)
@@ -86,17 +86,16 @@ jobs:
matrix:
# Architectures / Platforms for which we will build Docker images
arch: [ 'linux/amd64', 'linux/arm64' ]
os: [ ubuntu-latest ]
isPr:
- ${{ github.event_name == 'pull_request' }}
# If this is a PR, we ONLY build for AMD64. For PRs we only do a sanity check test to ensure Docker builds work.
# The below exclude therefore ensures we do NOT build ARM64 for PRs.
exclude:
- isPr: true
os: ubuntu-latest
arch: linux/arm64
runs-on: ${{ matrix.os }}
# If ARM64, then use the Ubuntu ARM64 runner. Otherwise, use the Ubuntu AMD64 runner
runs-on: ${{ matrix.arch == 'linux/arm64' && 'ubuntu-24.04-arm' || 'ubuntu-latest' }}
steps:
# This step converts the slashes in the "arch" matrix values above into dashes & saves to env.ARCH_NAME
@@ -122,10 +121,6 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU emulation to build for multiple architectures
uses: docker/setup-qemu-action@v3
# https://github.com/docker/setup-buildx-action
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -169,7 +164,7 @@ jobs:
# Use GitHub cache to load cached Docker images and cache the results of this build
# This decreases the number of images we need to fetch from DockerHub
cache-from: type=gha,scope=${{ inputs.build_id }}
cache-to: type=gha,scope=${{ inputs.build_id }},mode=max
cache-to: type=gha,scope=${{ inputs.build_id }},mode=min
# Export the digest of Docker build locally
- name: Export Docker build digest
@@ -221,7 +216,7 @@ jobs:
# Use GitHub cache to load cached Docker images and cache the results of this build
# This decreases the number of images we need to fetch from DockerHub
cache-from: type=gha,scope=${{ inputs.build_id }}
cache-to: type=gha,scope=${{ inputs.build_id }},mode=max
cache-to: type=gha,scope=${{ inputs.build_id }},mode=min
# Export image to a local TAR file
outputs: type=docker,dest=/tmp/${{ inputs.build_id }}.tar

View File

@@ -21,29 +21,29 @@ 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)
* AWS SDK for Java - Core (com.amazonaws:aws-java-sdk-core:1.12.780 - https://aws.amazon.com/sdkforjava)
* AWS Java SDK for AWS KMS (com.amazonaws:aws-java-sdk-kms:1.12.780 - https://aws.amazon.com/sdkforjava)
* AWS Java SDK for Amazon S3 (com.amazonaws:aws-java-sdk-s3:1.12.780 - https://aws.amazon.com/sdkforjava)
* JMES Path Query library (com.amazonaws:jmespath-java:1.12.780 - https://aws.amazon.com/sdkforjava)
* AWS SDK for Java - Core (com.amazonaws:aws-java-sdk-core:1.12.785 - https://aws.amazon.com/sdkforjava)
* AWS Java SDK for AWS KMS (com.amazonaws:aws-java-sdk-kms:1.12.785 - https://aws.amazon.com/sdkforjava)
* AWS Java SDK for Amazon S3 (com.amazonaws:aws-java-sdk-s3:1.12.785 - https://aws.amazon.com/sdkforjava)
* JMES Path Query library (com.amazonaws:jmespath-java:1.12.785 - https://aws.amazon.com/sdkforjava)
* Titanium JSON-LD 1.1 (JRE11) (com.apicatalog:titanium-json-ld:1.3.2 - https://github.com/filip26/titanium-json-ld)
* HPPC Collections (com.carrotsearch:hppc:0.8.1 - http://labs.carrotsearch.com/hppc.html/hppc)
* com.drewnoakes:metadata-extractor (com.drewnoakes:metadata-extractor:2.19.0 - https://drewnoakes.com/code/exif/)
* parso (com.epam:parso:2.0.14 - https://github.com/epam/parso)
* Internet Time Utility (com.ethlo.time:itu:1.7.0 - https://github.com/ethlo/itu)
* ClassMate (com.fasterxml:classmate:1.7.0 - https://github.com/FasterXML/java-classmate)
* Jackson-annotations (com.fasterxml.jackson.core:jackson-annotations:2.18.2 - https://github.com/FasterXML/jackson)
* Jackson-core (com.fasterxml.jackson.core:jackson-core:2.18.2 - https://github.com/FasterXML/jackson-core)
* jackson-databind (com.fasterxml.jackson.core:jackson-databind:2.18.2 - https://github.com/FasterXML/jackson)
* Jackson-annotations (com.fasterxml.jackson.core:jackson-annotations:2.19.1 - https://github.com/FasterXML/jackson)
* Jackson-core (com.fasterxml.jackson.core:jackson-core:2.19.1 - https://github.com/FasterXML/jackson-core)
* jackson-databind (com.fasterxml.jackson.core:jackson-databind:2.19.1 - https://github.com/FasterXML/jackson)
* Jackson dataformat: CBOR (com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.17.2 - https://github.com/FasterXML/jackson-dataformats-binary)
* Jackson dataformat: Smile (com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.15.2 - https://github.com/FasterXML/jackson-dataformats-binary)
* Jackson-dataformat-TOML (com.fasterxml.jackson.dataformat:jackson-dataformat-toml:2.15.2 - https://github.com/FasterXML/jackson-dataformats-text)
* Jackson-dataformat-YAML (com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.16.2 - https://github.com/FasterXML/jackson-dataformats-text)
* Jackson datatype: jdk8 (com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.18.2 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8)
* Jackson datatype: JSR310 (com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.2 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310)
* Jackson datatype: jdk8 (com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.19.1 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8)
* Jackson datatype: JSR310 (com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.19.1 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310)
* Jackson Jakarta-RS: base (com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-base:2.16.2 - https://github.com/FasterXML/jackson-jakarta-rs-providers/jackson-jakarta-rs-base)
* Jackson Jakarta-RS: JSON (com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-json-provider:2.16.2 - https://github.com/FasterXML/jackson-jakarta-rs-providers/jackson-jakarta-rs-json-provider)
* Jackson module: Jakarta XML Bind Annotations (jakarta.xml.bind) (com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.16.2 - https://github.com/FasterXML/jackson-modules-base)
* Jackson-module-parameter-names (com.fasterxml.jackson.module:jackson-module-parameter-names:2.18.2 - https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names)
* Jackson-module-parameter-names (com.fasterxml.jackson.module:jackson-module-parameter-names:2.19.1 - https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names)
* Java UUID Generator (com.fasterxml.uuid:java-uuid-generator:4.1.0 - https://github.com/cowtowncoder/java-uuid-generator)
* Woodstox (com.fasterxml.woodstox:woodstox-core:6.5.1 - https://github.com/FasterXML/woodstox)
* zjsonpatch (com.flipkart.zjsonpatch:zjsonpatch:0.4.16 - https://github.com/flipkart-incubator/zjsonpatch/)
@@ -60,17 +60,16 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* uri-template (com.github.java-json-tools:uri-template:0.10 - https://github.com/java-json-tools/uri-template)
* JCIP Annotations under Apache License (com.github.stephenc.jcip:jcip-annotations:1.0-1 - http://stephenc.github.com/jcip-annotations)
* FindBugs-jsr305 (com.google.code.findbugs:jsr305:3.0.2 - http://findbugs.sourceforge.net/)
* Gson (com.google.code.gson:gson:2.11.0 - https://github.com/google/gson)
* error-prone annotations (com.google.errorprone:error_prone_annotations:2.36.0 - https://errorprone.info/error_prone_annotations)
* Gson (com.google.code.gson:gson:2.13.1 - https://github.com/google/gson)
* error-prone annotations (com.google.errorprone:error_prone_annotations:2.38.0 - https://errorprone.info/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:32.1.3-jre - https://github.com/google/guava)
* Guava ListenableFuture only (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava - https://github.com/google/guava/listenablefuture)
* J2ObjC Annotations (com.google.j2objc:j2objc-annotations:1.3 - https://github.com/google/j2objc/)
* J2ObjC Annotations (com.google.j2objc:j2objc-annotations:2.8 - https://github.com/google/j2objc/)
* ConcurrentLinkedHashMap (com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2 - http://code.google.com/p/concurrentlinkedhashmap)
* libphonenumber (com.googlecode.libphonenumber:libphonenumber:8.11.1 - https://github.com/google/libphonenumber/)
* Jackcess (com.healthmarketscience.jackcess:jackcess:4.0.5 - https://jackcess.sourceforge.io)
* Jackcess Encrypt (com.healthmarketscience.jackcess:jackcess-encrypt:4.0.2 - http://jackcessencrypt.sf.net)
* Jackcess (com.healthmarketscience.jackcess:jackcess:4.0.8 - https://jackcess.sourceforge.io)
* Jackcess Encrypt (com.healthmarketscience.jackcess:jackcess-encrypt:4.0.3 - http://jackcessencrypt.sf.net)
* json-path (com.jayway.jsonpath:json-path:2.9.0 - https://github.com/jayway/JsonPath)
* json-path-assert (com.jayway.jsonpath:json-path-assert:2.9.0 - https://github.com/jayway/JsonPath)
* Disruptor Framework (com.lmax:disruptor:3.4.2 - http://lmax-exchange.github.com/disruptor)
@@ -79,11 +78,15 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* JsonSchemaValidator (com.networknt:json-schema-validator:1.0.76 - https://github.com/networknt/json-schema-validator)
* Nimbus JOSE+JWT (com.nimbusds:nimbus-jose-jwt:9.28 - https://bitbucket.org/connect2id/nimbus-jose-jwt)
* Nimbus JOSE+JWT (com.nimbusds:nimbus-jose-jwt:9.48 - https://bitbucket.org/connect2id/nimbus-jose-jwt)
* opencsv (com.opencsv:opencsv:5.10 - http://opencsv.sf.net)
* opencsv (com.opencsv:opencsv:5.11.1 - http://opencsv.sf.net)
* java-libpst (com.pff:java-libpst:0.9.3 - https://github.com/rjohnsondev/java-libpst)
* rome (com.rometools:rome:1.19.0 - http://rometools.com/rome)
* rome-modules (com.rometools:rome-modules:1.19.0 - http://rometools.com/rome-modules)
* rome-utils (com.rometools:rome-utils:1.19.0 - http://rometools.com/rome-utils)
* mockwebserver (com.squareup.okhttp3:mockwebserver:4.12.0 - https://square.github.io/okhttp/)
* okhttp (com.squareup.okhttp3:okhttp:4.12.0 - https://square.github.io/okhttp/)
* okio (com.squareup.okio:okio:3.6.0 - https://github.com/square/okio/)
* okio (com.squareup.okio:okio-jvm:3.6.0 - https://github.com/square/okio/)
* T-Digest (com.tdunning:t-digest:3.1 - https://github.com/tdunning/t-digest)
* config (com.typesafe:config:1.3.3 - https://github.com/lightbend/config)
* ssl-config-core (com.typesafe:ssl-config-core_2.13:0.3.8 - https://github.com/lightbend/ssl-config)
@@ -96,14 +99,14 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* scala-logging (com.typesafe.scala-logging:scala-logging_2.13:3.9.2 - https://github.com/lightbend/scala-logging)
* JSON library from Android SDK (com.vaadin.external.google:android-json:0.0.20131108.vaadin1 - http://developer.android.com/sdk)
* SparseBitSet (com.zaxxer:SparseBitSet:1.3 - https://github.com/brettwooldridge/SparseBitSet)
* Apache Commons BeanUtils (commons-beanutils:commons-beanutils:1.10.0 - https://commons.apache.org/proper/commons-beanutils)
* Apache Commons BeanUtils (commons-beanutils:commons-beanutils:1.11.0 - https://commons.apache.org/proper/commons-beanutils)
* Apache Commons CLI (commons-cli:commons-cli:1.9.0 - https://commons.apache.org/proper/commons-cli/)
* Apache Commons Codec (commons-codec:commons-codec:1.17.2 - https://commons.apache.org/proper/commons-codec/)
* Apache Commons Codec (commons-codec:commons-codec:1.18.0 - https://commons.apache.org/proper/commons-codec/)
* Apache Commons Collections (commons-collections:commons-collections:3.2.2 - http://commons.apache.org/collections/)
* Commons Digester (commons-digester:commons-digester:2.1 - http://commons.apache.org/digester/)
* Apache Commons IO (commons-io:commons-io:2.18.0 - https://commons.apache.org/proper/commons-io/)
* Apache Commons IO (commons-io:commons-io:2.19.0 - 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.3.4 - https://commons.apache.org/proper/commons-logging/)
* Apache Commons Logging (commons-logging:commons-logging:1.3.5 - https://commons.apache.org/proper/commons-logging/)
* Apache Commons Validator (commons-validator:commons-validator:1.9.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)
* broker-client (eu.openaire:broker-client:1.1.2 - http://api.openaire.eu/broker/broker-client)
@@ -114,12 +117,10 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* 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)
* SWORD v2 Common Server Library (forked) (io.gdcc:sword2-server:2.0.0 - https://github.com/gdcc/sword2-server)
* micrometer-commons (io.micrometer:micrometer-commons:1.14.2 - https://github.com/micrometer-metrics/micrometer)
* micrometer-commons (io.micrometer:micrometer-commons:1.14.3 - https://github.com/micrometer-metrics/micrometer)
* micrometer-core (io.micrometer:micrometer-core:1.14.3 - https://github.com/micrometer-metrics/micrometer)
* micrometer-jakarta9 (io.micrometer:micrometer-jakarta9:1.14.3 - https://github.com/micrometer-metrics/micrometer)
* micrometer-observation (io.micrometer:micrometer-observation:1.14.2 - https://github.com/micrometer-metrics/micrometer)
* micrometer-observation (io.micrometer:micrometer-observation:1.14.3 - https://github.com/micrometer-metrics/micrometer)
* micrometer-commons (io.micrometer:micrometer-commons:1.14.8 - https://github.com/micrometer-metrics/micrometer)
* micrometer-core (io.micrometer:micrometer-core:1.15.1 - https://github.com/micrometer-metrics/micrometer)
* micrometer-jakarta9 (io.micrometer:micrometer-jakarta9:1.15.1 - https://github.com/micrometer-metrics/micrometer)
* micrometer-observation (io.micrometer:micrometer-observation:1.14.8 - https://github.com/micrometer-metrics/micrometer)
* Netty/Buffer (io.netty:netty-buffer:4.1.99.Final - https://netty.io/netty-buffer/)
* Netty/Codec (io.netty:netty-codec:4.1.99.Final - https://netty.io/netty-codec/)
* Netty/Codec/HTTP (io.netty:netty-codec-http:4.1.86.Final - https://netty.io/netty-codec-http/)
@@ -167,16 +168,17 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* Jakarta Bean Validation API (jakarta.validation:jakarta.validation-api:3.0.2 - https://beanvalidation.org)
* JSR107 API and SPI (javax.cache:cache-api:1.1.1 - https://github.com/jsr107/jsr107spec)
* jdbm (jdbm:jdbm:1.0 - no url defined)
* Joda-Time (joda-time:joda-time:2.13.0 - https://www.joda.org/joda-time/)
* Byte Buddy (without dependencies) (net.bytebuddy:byte-buddy:1.16.1 - https://bytebuddy.net/byte-buddy)
* Joda-Time (joda-time:joda-time:2.12.7 - https://www.joda.org/joda-time/)
* Byte Buddy (without dependencies) (net.bytebuddy:byte-buddy:1.11.13 - https://bytebuddy.net/byte-buddy)
* Byte Buddy (without dependencies) (net.bytebuddy:byte-buddy:1.14.11 - https://bytebuddy.net/byte-buddy)
* Byte Buddy agent (net.bytebuddy:byte-buddy-agent:1.11.13 - https://bytebuddy.net/byte-buddy-agent)
* eigenbase-properties (net.hydromatic:eigenbase-properties:1.1.5 - http://github.com/julianhyde/eigenbase-properties)
* json-unit-core (net.javacrumbs.json-unit:json-unit-core:2.36.0 - https://github.com/lukas-krecan/JsonUnit/json-unit-core)
* "Java Concurrency in Practice" book annotations (net.jcip:jcip-annotations:1.0 - http://jcip.net/)
* ASM based accessors helper used by json-smart (net.minidev:accessors-smart:2.5.0 - https://urielch.github.io/)
* ASM based accessors helper used by json-smart (net.minidev:accessors-smart:2.5.1 - https://urielch.github.io/)
* ASM based accessors helper used by json-smart (net.minidev:accessors-smart:2.5.2 - https://urielch.github.io/)
* JSON Small and Fast Parser (net.minidev:json-smart:2.5.0 - https://urielch.github.io/)
* JSON Small and Fast Parser (net.minidev:json-smart:2.5.1 - https://urielch.github.io/)
* JSON Small and Fast Parser (net.minidev:json-smart:2.5.2 - https://urielch.github.io/)
* 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)
@@ -187,18 +189,18 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* Calcite Linq4j (org.apache.calcite:calcite-linq4j:1.35.0 - https://calcite.apache.org)
* Apache Calcite Avatica (org.apache.calcite.avatica:avatica-core:1.23.0 - https://calcite.apache.org/avatica)
* Apache Calcite Avatica Metrics (org.apache.calcite.avatica:avatica-metrics:1.23.0 - https://calcite.apache.org/avatica)
* Apache Commons Collections (org.apache.commons:commons-collections4:4.4 - https://commons.apache.org/proper/commons-collections/)
* Apache Commons Collections (org.apache.commons:commons-collections4:4.5.0 - https://commons.apache.org/proper/commons-collections/)
* Apache Commons Compress (org.apache.commons:commons-compress:1.27.1 - https://commons.apache.org/proper/commons-compress/)
* Apache Commons Configuration (org.apache.commons:commons-configuration2:2.11.0 - https://commons.apache.org/proper/commons-configuration/)
* Apache Commons CSV (org.apache.commons:commons-csv:1.13.0 - https://commons.apache.org/proper/commons-csv/)
* Apache Commons Configuration (org.apache.commons:commons-configuration2:2.12.0 - https://commons.apache.org/proper/commons-configuration/)
* Apache Commons CSV (org.apache.commons:commons-csv:1.14.0 - https://commons.apache.org/proper/commons-csv/)
* Apache Commons DBCP (org.apache.commons:commons-dbcp2:2.13.0 - https://commons.apache.org/proper/commons-dbcp/)
* Apache Commons Digester (org.apache.commons:commons-digester3:3.2 - http://commons.apache.org/digester/)
* Apache Commons Exec (org.apache.commons:commons-exec:1.3 - http://commons.apache.org/proper/commons-exec/)
* Apache Commons Exec (org.apache.commons:commons-exec:1.4.0 - https://commons.apache.org/proper/commons-exec/)
* Apache Commons Lang (org.apache.commons:commons-lang3:3.17.0 - https://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.12.0 - https://commons.apache.org/proper/commons-pool/)
* Apache Commons Text (org.apache.commons:commons-text:1.13.0 - https://commons.apache.org/proper/commons-text)
* Apache Commons Pool (org.apache.commons:commons-pool2:2.12.1 - https://commons.apache.org/proper/commons-pool/)
* Apache Commons Text (org.apache.commons:commons-text:1.13.1 - 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)
@@ -212,13 +214,13 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* Apache HttpCore (org.apache.httpcomponents:httpcore:4.4.16 - http://hc.apache.org/httpcomponents-core-ga)
* Apache HttpClient Mime (org.apache.httpcomponents:httpmime:4.5.14 - http://hc.apache.org/httpcomponents-client-ga)
* Apache HttpClient (org.apache.httpcomponents.client5:httpclient5:5.1.3 - https://hc.apache.org/httpcomponents-client-5.0.x/5.1.3/httpclient5/)
* Apache HttpClient (org.apache.httpcomponents.client5:httpclient5:5.4.1 - https://hc.apache.org/httpcomponents-client-5.4.x/5.4.1/httpclient5/)
* Apache HttpClient (org.apache.httpcomponents.client5:httpclient5:5.5 - https://hc.apache.org/httpcomponents-client-5.5.x/5.5/httpclient5/)
* Apache HttpComponents Core HTTP/1.1 (org.apache.httpcomponents.core5:httpcore5:5.1.3 - https://hc.apache.org/httpcomponents-core-5.1.x/5.1.3/httpcore5/)
* Apache HttpComponents Core HTTP/1.1 (org.apache.httpcomponents.core5:httpcore5:5.3.1 - https://hc.apache.org/httpcomponents-core-5.3.x/5.3.1/httpcore5/)
* Apache HttpComponents Core HTTP/1.1 (org.apache.httpcomponents.core5:httpcore5:5.3.4 - https://hc.apache.org/httpcomponents-core-5.3.x/5.3.4/httpcore5/)
* Apache HttpComponents Core HTTP/2 (org.apache.httpcomponents.core5:httpcore5-h2:5.1.3 - https://hc.apache.org/httpcomponents-core-5.1.x/5.1.3/httpcore5-h2/)
* Apache HttpComponents Core HTTP/2 (org.apache.httpcomponents.core5:httpcore5-h2:5.3.1 - https://hc.apache.org/httpcomponents-core-5.3.x/5.3.1/httpcore5-h2/)
* Apache HttpComponents Core HTTP/2 (org.apache.httpcomponents.core5:httpcore5-h2:5.3.4 - https://hc.apache.org/httpcomponents-core-5.3.x/5.3.4/httpcore5-h2/)
* Apache James :: Mime4j :: Core (org.apache.james:apache-mime4j-core:0.8.12 - http://james.apache.org/mime4j/apache-mime4j-core)
* Apache James :: Mime4j :: DOM (org.apache.james:apache-mime4j-dom:0.8.11 - http://james.apache.org/mime4j/apache-mime4j-dom)
* Apache James :: Mime4j :: DOM (org.apache.james:apache-mime4j-dom:0.8.12 - http://james.apache.org/mime4j/apache-mime4j-dom)
* Apache Jena - Libraries POM (org.apache.jena:apache-jena-libs:4.10.0 - https://jena.apache.org/apache-jena-libs/)
* Apache Jena - ARQ (org.apache.jena:jena-arq:4.10.0 - https://jena.apache.org/jena-arq/)
* Apache Jena - Base (org.apache.jena:jena-base:4.10.0 - https://jena.apache.org/jena-base/)
@@ -270,59 +272,60 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* Lucene Spatial Extras (org.apache.lucene:lucene-spatial-extras:8.11.4 - https://lucene.apache.org/lucene-parent/lucene-spatial-extras)
* Lucene Spatial 3D (org.apache.lucene:lucene-spatial3d:8.11.4 - https://lucene.apache.org/lucene-parent/lucene-spatial3d)
* Lucene Suggest (org.apache.lucene:lucene-suggest:8.11.4 - https://lucene.apache.org/lucene-parent/lucene-suggest)
* Apache FontBox (org.apache.pdfbox:fontbox:2.0.33 - http://pdfbox.apache.org/)
* Apache FontBox (org.apache.pdfbox:fontbox:2.0.34 - http://pdfbox.apache.org/)
* PDFBox JBIG2 ImageIO plugin (org.apache.pdfbox:jbig2-imageio:3.0.4 - https://www.apache.org/jbig2-imageio/)
* Apache JempBox (org.apache.pdfbox:jempbox:1.8.17 - http://www.apache.org/pdfbox-parent/jempbox/)
* Apache PDFBox (org.apache.pdfbox:pdfbox:2.0.33 - https://www.apache.org/pdfbox-parent/pdfbox/)
* Apache PDFBox tools (org.apache.pdfbox:pdfbox-tools:2.0.31 - https://www.apache.org/pdfbox-parent/pdfbox-tools/)
* Apache XmpBox (org.apache.pdfbox:xmpbox:2.0.31 - https://www.apache.org/pdfbox-parent/xmpbox/)
* Apache POI - Common (org.apache.poi:poi:5.2.5 - https://poi.apache.org/)
* Apache POI - API based on OPC and OOXML schemas (org.apache.poi:poi-ooxml:5.2.5 - https://poi.apache.org/)
* Apache POI (org.apache.poi:poi-ooxml-lite:5.2.5 - https://poi.apache.org/)
* Apache POI (org.apache.poi:poi-scratchpad:5.2.5 - https://poi.apache.org/)
* Apache PDFBox (org.apache.pdfbox:pdfbox:2.0.34 - https://www.apache.org/pdfbox-parent/pdfbox/)
* Apache PDFBox tools (org.apache.pdfbox:pdfbox-tools:2.0.34 - https://www.apache.org/pdfbox-parent/pdfbox-tools/)
* Apache XmpBox (org.apache.pdfbox:xmpbox:2.0.34 - https://www.apache.org/pdfbox-parent/xmpbox/)
* Apache POI - Common (org.apache.poi:poi:5.4.1 - https://poi.apache.org/)
* Apache POI - API based on OPC and OOXML schemas (org.apache.poi:poi-ooxml:5.4.1 - https://poi.apache.org/)
* Apache POI (org.apache.poi:poi-ooxml-lite:5.4.1 - https://poi.apache.org/)
* Apache POI (org.apache.poi:poi-scratchpad:5.4.1 - https://poi.apache.org/)
* Apache Solr Core (org.apache.solr:solr-core:8.11.4 - https://lucene.apache.org/solr-parent/solr-core)
* Apache Solr Solrj (org.apache.solr:solr-solrj:8.11.4 - 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.19.0 - http://thrift.apache.org)
* Apache Tika core (org.apache.tika:tika-core:2.9.2 - https://tika.apache.org/)
* Apache Tika Apple parser module (org.apache.tika:tika-parser-apple-module:2.9.2 - https://tika.apache.org/tika-parser-apple-module/)
* Apache Tika audiovideo parser module (org.apache.tika:tika-parser-audiovideo-module:2.9.2 - https://tika.apache.org/tika-parser-audiovideo-module/)
* Apache Tika cad parser module (org.apache.tika:tika-parser-cad-module:2.9.2 - https://tika.apache.org/tika-parser-cad-module/)
* Apache Tika code parser module (org.apache.tika:tika-parser-code-module:2.9.2 - https://tika.apache.org/tika-parser-code-module/)
* Apache Tika crypto parser module (org.apache.tika:tika-parser-crypto-module:2.9.2 - https://tika.apache.org/tika-parser-crypto-module/)
* Apache Tika digest commons (org.apache.tika:tika-parser-digest-commons:2.9.2 - https://tika.apache.org/tika-parser-digest-commons/)
* Apache Tika font parser module (org.apache.tika:tika-parser-font-module:2.9.2 - https://tika.apache.org/tika-parser-font-module/)
* Apache Tika html parser module (org.apache.tika:tika-parser-html-module:2.9.2 - https://tika.apache.org/tika-parser-html-module/)
* Apache Tika image parser module (org.apache.tika:tika-parser-image-module:2.9.2 - https://tika.apache.org/tika-parser-image-module/)
* Apache Tika mail commons (org.apache.tika:tika-parser-mail-commons:2.9.2 - https://tika.apache.org/tika-parser-mail-commons/)
* Apache Tika mail parser module (org.apache.tika:tika-parser-mail-module:2.9.2 - https://tika.apache.org/tika-parser-mail-module/)
* Apache Tika Microsoft parser module (org.apache.tika:tika-parser-microsoft-module:2.9.2 - https://tika.apache.org/tika-parser-microsoft-module/)
* Apache Tika miscellaneous office format parser module (org.apache.tika:tika-parser-miscoffice-module:2.9.2 - https://tika.apache.org/tika-parser-miscoffice-module/)
* Apache Tika news parser module (org.apache.tika:tika-parser-news-module:2.9.2 - https://tika.apache.org/tika-parser-news-module/)
* Apache Tika OCR parser module (org.apache.tika:tika-parser-ocr-module:2.9.2 - https://tika.apache.org/tika-parser-ocr-module/)
* Apache Tika PDF parser module (org.apache.tika:tika-parser-pdf-module:2.9.2 - https://tika.apache.org/tika-parser-pdf-module/)
* Apache Tika package parser module (org.apache.tika:tika-parser-pkg-module:2.9.2 - https://tika.apache.org/tika-parser-pkg-module/)
* Apache Tika text parser module (org.apache.tika:tika-parser-text-module:2.9.2 - https://tika.apache.org/tika-parser-text-module/)
* Apache Tika WARC parser module (org.apache.tika:tika-parser-webarchive-module:2.9.2 - https://tika.apache.org/tika-parser-webarchive-module/)
* Apache Tika XML parser module (org.apache.tika:tika-parser-xml-module:2.9.2 - https://tika.apache.org/tika-parser-xml-module/)
* Apache Tika XMP commons (org.apache.tika:tika-parser-xmp-commons:2.9.2 - https://tika.apache.org/tika-parser-xmp-commons/)
* Apache Tika ZIP commons (org.apache.tika:tika-parser-zip-commons:2.9.2 - https://tika.apache.org/tika-parser-zip-commons/)
* Apache Tika standard parser package (org.apache.tika:tika-parsers-standard-package:2.9.2 - https://tika.apache.org/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/)
* tomcat-embed-core (org.apache.tomcat.embed:tomcat-embed-core:10.1.34 - https://tomcat.apache.org/)
* tomcat-embed-el (org.apache.tomcat.embed:tomcat-embed-el:10.1.34 - https://tomcat.apache.org/)
* tomcat-embed-websocket (org.apache.tomcat.embed:tomcat-embed-websocket:10.1.34 - https://tomcat.apache.org/)
* Apache Tika core (org.apache.tika:tika-core:2.9.4 - https://tika.apache.org/)
* Apache Tika Apple parser module (org.apache.tika:tika-parser-apple-module:2.9.4 - https://tika.apache.org/tika-parser-apple-module/)
* Apache Tika audiovideo parser module (org.apache.tika:tika-parser-audiovideo-module:2.9.4 - https://tika.apache.org/tika-parser-audiovideo-module/)
* Apache Tika cad parser module (org.apache.tika:tika-parser-cad-module:2.9.4 - https://tika.apache.org/tika-parser-cad-module/)
* Apache Tika code parser module (org.apache.tika:tika-parser-code-module:2.9.4 - https://tika.apache.org/tika-parser-code-module/)
* Apache Tika crypto parser module (org.apache.tika:tika-parser-crypto-module:2.9.4 - https://tika.apache.org/tika-parser-crypto-module/)
* Apache Tika digest commons (org.apache.tika:tika-parser-digest-commons:2.9.4 - https://tika.apache.org/tika-parser-digest-commons/)
* Apache Tika font parser module (org.apache.tika:tika-parser-font-module:2.9.4 - https://tika.apache.org/tika-parser-font-module/)
* Apache Tika html parser module (org.apache.tika:tika-parser-html-module:2.9.4 - https://tika.apache.org/tika-parser-html-module/)
* Apache Tika image parser module (org.apache.tika:tika-parser-image-module:2.9.4 - https://tika.apache.org/tika-parser-image-module/)
* Apache Tika mail commons (org.apache.tika:tika-parser-mail-commons:2.9.4 - https://tika.apache.org/tika-parser-mail-commons/)
* Apache Tika mail parser module (org.apache.tika:tika-parser-mail-module:2.9.4 - https://tika.apache.org/tika-parser-mail-module/)
* Apache Tika Microsoft parser module (org.apache.tika:tika-parser-microsoft-module:2.9.4 - https://tika.apache.org/tika-parser-microsoft-module/)
* Apache Tika miscellaneous office format parser module (org.apache.tika:tika-parser-miscoffice-module:2.9.4 - https://tika.apache.org/tika-parser-miscoffice-module/)
* Apache Tika news parser module (org.apache.tika:tika-parser-news-module:2.9.4 - https://tika.apache.org/tika-parser-news-module/)
* Apache Tika OCR parser module (org.apache.tika:tika-parser-ocr-module:2.9.4 - https://tika.apache.org/tika-parser-ocr-module/)
* Apache Tika PDF parser module (org.apache.tika:tika-parser-pdf-module:2.9.4 - https://tika.apache.org/tika-parser-pdf-module/)
* Apache Tika package parser module (org.apache.tika:tika-parser-pkg-module:2.9.4 - https://tika.apache.org/tika-parser-pkg-module/)
* Apache Tika text parser module (org.apache.tika:tika-parser-text-module:2.9.4 - https://tika.apache.org/tika-parser-text-module/)
* Apache Tika WARC parser module (org.apache.tika:tika-parser-webarchive-module:2.9.4 - https://tika.apache.org/tika-parser-webarchive-module/)
* Apache Tika XML parser module (org.apache.tika:tika-parser-xml-module:2.9.4 - https://tika.apache.org/tika-parser-xml-module/)
* Apache Tika XMP commons (org.apache.tika:tika-parser-xmp-commons:2.9.4 - https://tika.apache.org/tika-parser-xmp-commons/)
* Apache Tika ZIP commons (org.apache.tika:tika-parser-zip-commons:2.9.4 - https://tika.apache.org/tika-parser-zip-commons/)
* Apache Tika standard parser package (org.apache.tika:tika-parsers-standard-package:2.9.4 - https://tika.apache.org/tika-parsers/tika-parsers-standard/tika-parsers-standard-package/)
* tomcat-embed-core (org.apache.tomcat.embed:tomcat-embed-core:10.1.42 - https://tomcat.apache.org/)
* tomcat-embed-el (org.apache.tomcat.embed:tomcat-embed-el:10.1.42 - https://tomcat.apache.org/)
* tomcat-embed-websocket (org.apache.tomcat.embed:tomcat-embed-websocket:10.1.42 - https://tomcat.apache.org/)
* Apache Velocity - Engine (org.apache.velocity:velocity-engine-core:2.4.1 - http://velocity.apache.org/engine/devel/velocity-engine-core/)
* Apache Velocity - JSR 223 Scripting (org.apache.velocity:velocity-engine-scripting:2.3 - http://velocity.apache.org/engine/devel/velocity-engine-scripting/)
* Apache Velocity Tools - Generic tools (org.apache.velocity.tools:velocity-tools-generic:3.1 - https://velocity.apache.org/tools/devel/velocity-tools-generic/)
* 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:5.2.0 - https://xmlbeans.apache.org/)
* XmlBeans (org.apache.xmlbeans:xmlbeans:5.3.0 - https://xmlbeans.apache.org/)
* Apache ZooKeeper - Server (org.apache.zookeeper:zookeeper:3.6.2 - http://zookeeper.apache.org/zookeeper)
* Apache ZooKeeper - Jute (org.apache.zookeeper:zookeeper-jute:3.6.2 - http://zookeeper.apache.org/zookeeper-jute)
* org.apiguardian:apiguardian-api (org.apiguardian:apiguardian-api:1.1.2 - https://github.com/apiguardian-team/apiguardian)
* AssertJ Core (org.assertj:assertj-core:3.26.3 - https://assertj.github.io/doc/#assertj-core)
* AssertJ Core (org.assertj:assertj-core:3.27.3 - https://assertj.github.io/doc/#assertj-core)
* Evo Inflector (org.atteo:evo-inflector:1.3 - http://atteo.org/static/evo-inflector)
* attoparser (org.attoparser:attoparser:2.0.7.RELEASE - https://www.attoparser.org)
* Awaitility (org.awaitility:awaitility:4.2.2 - http://awaitility.org)
* 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/)
@@ -376,29 +379,28 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* jersey-core-common (org.glassfish.jersey.core:jersey-common:3.1.10 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-common)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:3.1.10 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
* jersey-media-multipart (org.glassfish.jersey.media:jersey-media-multipart:3.1.3 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-media-multipart)
* Hibernate Validator Engine (org.hibernate.validator:hibernate-validator:8.0.1.Final - http://hibernate.org/validator/hibernate-validator)
* Hibernate Validator Portable Extension (org.hibernate.validator:hibernate-validator-cdi:8.0.1.Final - http://hibernate.org/validator/hibernate-validator-cdi)
* Hibernate Validator Engine (org.hibernate.validator:hibernate-validator:8.0.2.Final - http://hibernate.org/validator/hibernate-validator)
* Hibernate Validator Portable Extension (org.hibernate.validator:hibernate-validator-cdi:8.0.2.Final - http://hibernate.org/validator/hibernate-validator-cdi)
* org.immutables.value-annotations (org.immutables:value-annotations:2.9.2 - http://immutables.org/value-annotations)
* leveldb (org.iq80.leveldb:leveldb:0.12 - http://github.com/dain/leveldb/leveldb)
* leveldb-api (org.iq80.leveldb:leveldb-api:0.12 - http://github.com/dain/leveldb/leveldb-api)
* Javassist (org.javassist:javassist:3.30.2-GA - https://www.javassist.org/)
* JBoss Logging 3 (org.jboss.logging:jboss-logging:3.6.1.Final - http://www.jboss.org)
* JDOM (org.jdom:jdom2:2.0.6.1 - 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)
* IntelliJ IDEA Annotations (org.jetbrains:annotations:13.0 - http://www.jetbrains.org)
* Kotlin Stdlib (org.jetbrains.kotlin:kotlin-stdlib:1.8.21 - https://kotlinlang.org/)
* Kotlin Stdlib Common (org.jetbrains.kotlin:kotlin-stdlib-common:1.8.21 - https://kotlinlang.org/)
* Kotlin Stdlib Jdk7 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.21 - https://kotlinlang.org/)
* Kotlin Stdlib Jdk8 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 - https://kotlinlang.org/)
* Proj4J (org.locationtech.proj4j:proj4j:1.1.5 - https://github.com/locationtech/proj4j)
* Spatial4J (org.locationtech.spatial4j:spatial4j:0.7 - https://projects.eclipse.org/projects/locationtech.spatial4j)
* MockServer Java Client (org.mock-server:mockserver-client-java:5.15.0 - https://www.mock-server.com)
* MockServer Core (org.mock-server:mockserver-core:5.15.0 - https://www.mock-server.com)
* MockServer JUnit 4 Integration (org.mock-server:mockserver-junit-rule:5.15.0 - https://www.mock-server.com)
* MockServer & Proxy Netty (org.mock-server:mockserver-netty:5.15.0 - https://www.mock-server.com)
* jwarc (org.netpreserve:jwarc:0.29.0 - https://github.com/iipc/jwarc)
* jwarc (org.netpreserve:jwarc:0.31.1 - https://github.com/iipc/jwarc)
* Objenesis (org.objenesis:objenesis:3.2 - http://objenesis.org/objenesis)
* parboiled-core (org.parboiled:parboiled-core:1.1.7 - http://parboiled.org)
* parboiled-java (org.parboiled:parboiled-java:1.1.7 - http://parboiled.org)
* org.opentest4j:opentest4j (org.opentest4j:opentest4j:1.3.0 - https://github.com/ota4j-team/opentest4j)
* org.roaringbitmap:RoaringBitmap (org.roaringbitmap:RoaringBitmap:1.0.0 - https://github.com/RoaringBitmap/RoaringBitmap)
* RRD4J (org.rrd4j:rrd4j:3.5 - https://github.com/rrd4j/rrd4j/)
* Scala Library (org.scala-lang:scala-library:2.13.2 - https://www.scala-lang.org/)
@@ -408,53 +410,56 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* scala-parser-combinators (org.scala-lang.modules:scala-parser-combinators_2.13:1.1.2 - http://www.scala-lang.org/)
* scala-xml (org.scala-lang.modules:scala-xml_2.13:1.3.0 - http://www.scala-lang.org/)
* JSONassert (org.skyscreamer:jsonassert:1.5.3 - https://github.com/skyscreamer/JSONassert)
* JCL 1.2 implemented over SLF4J (org.slf4j:jcl-over-slf4j:2.0.16 - http://www.slf4j.org)
* Spring AOP (org.springframework:spring-aop:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring Beans (org.springframework:spring-beans:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring Context (org.springframework:spring-context:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring Context Support (org.springframework:spring-context-support:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring Core (org.springframework:spring-core:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring Expression Language (SpEL) (org.springframework:spring-expression:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring Commons Logging Bridge (org.springframework:spring-jcl:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring JDBC (org.springframework:spring-jdbc:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring Object/Relational Mapping (org.springframework:spring-orm:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring TestContext Framework (org.springframework:spring-test:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring Transaction (org.springframework:spring-tx:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring Web (org.springframework:spring-web:6.2.2 - https://github.com/spring-projects/spring-framework)
* Spring Web MVC (org.springframework:spring-webmvc:6.2.2 - https://github.com/spring-projects/spring-framework)
* spring-boot (org.springframework.boot:spring-boot:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-actuator (org.springframework.boot:spring-boot-actuator:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-actuator-autoconfigure (org.springframework.boot:spring-boot-actuator-autoconfigure:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-autoconfigure (org.springframework.boot:spring-boot-autoconfigure:3.4.2 - https://spring.io/projects/spring-boot)
* 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:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-starter-actuator (org.springframework.boot:spring-boot-starter-actuator:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-starter-aop (org.springframework.boot:spring-boot-starter-aop:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-starter-cache (org.springframework.boot:spring-boot-starter-cache:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-starter-data-rest (org.springframework.boot:spring-boot-starter-data-rest:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-starter-json (org.springframework.boot:spring-boot-starter-json:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-starter-log4j2 (org.springframework.boot:spring-boot-starter-log4j2:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-starter-security (org.springframework.boot:spring-boot-starter-security:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-starter-test (org.springframework.boot:spring-boot-starter-test:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-starter-tomcat (org.springframework.boot:spring-boot-starter-tomcat:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-starter-web (org.springframework.boot:spring-boot-starter-web:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-test (org.springframework.boot:spring-boot-test:3.4.2 - https://spring.io/projects/spring-boot)
* spring-boot-test-autoconfigure (org.springframework.boot:spring-boot-test-autoconfigure:3.4.2 - https://spring.io/projects/spring-boot)
* Spring Data Core (org.springframework.data:spring-data-commons:3.4.2 - https://spring.io/projects/spring-data)
* Spring Data REST - Core (org.springframework.data:spring-data-rest-core:4.4.2 - https://www.spring.io/spring-data/spring-data-rest-parent/spring-data-rest-core)
* Spring Data REST - WebMVC (org.springframework.data:spring-data-rest-webmvc:4.4.2 - https://www.spring.io/spring-data/spring-data-rest-parent/spring-data-rest-webmvc)
* Spring HATEOAS (org.springframework.hateoas:spring-hateoas:2.4.1 - https://github.com/spring-projects/spring-hateoas)
* JCL 1.2 implemented over SLF4J (org.slf4j:jcl-over-slf4j:2.0.17 - http://www.slf4j.org)
* Spring AOP (org.springframework:spring-aop:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring Beans (org.springframework:spring-beans:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring Context (org.springframework:spring-context:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring Context Support (org.springframework:spring-context-support:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring Core (org.springframework:spring-core:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring Expression Language (SpEL) (org.springframework:spring-expression:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring Commons Logging Bridge (org.springframework:spring-jcl:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring JDBC (org.springframework:spring-jdbc:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring Object/Relational Mapping (org.springframework:spring-orm:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring TestContext Framework (org.springframework:spring-test:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring Transaction (org.springframework:spring-tx:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring Web (org.springframework:spring-web:6.2.8 - https://github.com/spring-projects/spring-framework)
* Spring Web MVC (org.springframework:spring-webmvc:6.2.8 - https://github.com/spring-projects/spring-framework)
* spring-boot (org.springframework.boot:spring-boot:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-actuator (org.springframework.boot:spring-boot-actuator:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-actuator-autoconfigure (org.springframework.boot:spring-boot-actuator-autoconfigure:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-autoconfigure (org.springframework.boot:spring-boot-autoconfigure:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter (org.springframework.boot:spring-boot-starter:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-actuator (org.springframework.boot:spring-boot-starter-actuator:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-aop (org.springframework.boot:spring-boot-starter-aop:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-cache (org.springframework.boot:spring-boot-starter-cache:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-data-rest (org.springframework.boot:spring-boot-starter-data-rest:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-json (org.springframework.boot:spring-boot-starter-json:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-log4j2 (org.springframework.boot:spring-boot-starter-log4j2:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-security (org.springframework.boot:spring-boot-starter-security:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-test (org.springframework.boot:spring-boot-starter-test:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-thymeleaf (org.springframework.boot:spring-boot-starter-thymeleaf:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-tomcat (org.springframework.boot:spring-boot-starter-tomcat:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-starter-web (org.springframework.boot:spring-boot-starter-web:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-test (org.springframework.boot:spring-boot-test:3.5.3 - https://spring.io/projects/spring-boot)
* spring-boot-test-autoconfigure (org.springframework.boot:spring-boot-test-autoconfigure:3.5.3 - https://spring.io/projects/spring-boot)
* Spring Data Core (org.springframework.data:spring-data-commons:3.5.1 - https://spring.io/projects/spring-data)
* Spring Data REST - Core (org.springframework.data:spring-data-rest-core:4.5.1 - https://www.spring.io/spring-data/spring-data-rest-parent/spring-data-rest-core)
* Spring Data REST - WebMVC (org.springframework.data:spring-data-rest-webmvc:4.5.1 - https://www.spring.io/spring-data/spring-data-rest-parent/spring-data-rest-webmvc)
* Spring HATEOAS (org.springframework.hateoas:spring-hateoas:2.5.1 - https://github.com/spring-projects/spring-hateoas)
* Spring Plugin - Core (org.springframework.plugin:spring-plugin-core:3.0.0 - https://github.com/spring-projects/spring-plugin/spring-plugin-core)
* spring-security-config (org.springframework.security:spring-security-config:6.4.2 - https://spring.io/projects/spring-security)
* spring-security-core (org.springframework.security:spring-security-core:6.4.2 - https://spring.io/projects/spring-security)
* spring-security-crypto (org.springframework.security:spring-security-crypto:6.4.2 - https://spring.io/projects/spring-security)
* spring-security-test (org.springframework.security:spring-security-test:6.4.2 - https://spring.io/projects/spring-security)
* spring-security-web (org.springframework.security:spring-security-web:6.4.2 - https://spring.io/projects/spring-security)
* spring-security-config (org.springframework.security:spring-security-config:6.5.1 - https://spring.io/projects/spring-security)
* spring-security-core (org.springframework.security:spring-security-core:6.5.1 - https://spring.io/projects/spring-security)
* spring-security-crypto (org.springframework.security:spring-security-crypto:6.5.1 - https://spring.io/projects/spring-security)
* spring-security-test (org.springframework.security:spring-security-test:6.5.1 - https://spring.io/projects/spring-security)
* spring-security-web (org.springframework.security:spring-security-web:6.5.1 - https://spring.io/projects/spring-security)
* thymeleaf (org.thymeleaf:thymeleaf:3.1.3.RELEASE - http://www.thymeleaf.org/thymeleaf-lib/thymeleaf)
* thymeleaf-spring6 (org.thymeleaf:thymeleaf-spring6:3.1.3.RELEASE - http://www.thymeleaf.org/thymeleaf-lib/thymeleaf-spring6)
* unbescape (org.unbescape:unbescape:1.1.6.RELEASE - http://www.unbescape.org)
* snappy-java (org.xerial.snappy:snappy-java:1.1.10.1 - https://github.com/xerial/snappy-java)
* xml-matchers (org.xmlmatchers:xml-matchers:0.10 - http://code.google.com/p/xml-matchers/)
* org.xmlunit:xmlunit-core (org.xmlunit:xmlunit-core:2.10.0 - https://www.xmlunit.org/)
* org.xmlunit:xmlunit-core (org.xmlunit:xmlunit-core:2.10.2 - https://www.xmlunit.org/)
* org.xmlunit:xmlunit-placeholders (org.xmlunit:xmlunit-placeholders:2.9.1 - https://www.xmlunit.org/xmlunit-placeholders/)
* SnakeYAML (org.yaml:snakeyaml:2.3 - https://bitbucket.org/snakeyaml/snakeyaml)
* SnakeYAML (org.yaml:snakeyaml:2.4 - https://bitbucket.org/snakeyaml/snakeyaml)
* Xerces2-j (xerces:xercesImpl:2.12.2 - https://xerces.apache.org/xerces2-j/)
BSD License:
@@ -468,7 +473,7 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* Protocol Buffers [Core] (com.google.protobuf:protobuf-java:3.24.3 - https://developers.google.com/protocol-buffers/protobuf-java/)
* JZlib (com.jcraft:jzlib:1.1.3 - http://www.jcraft.com/jzlib/)
* jmustache (com.samskivert:jmustache:1.15 - http://github.com/samskivert/jmustache)
* dnsjava (dnsjava:dnsjava:3.6.2 - https://github.com/dnsjava/dnsjava)
* dnsjava (dnsjava:dnsjava:3.6.3 - https://github.com/dnsjava/dnsjava)
* jaxen (jaxen:jaxen:2.0.0 - http://www.cafeconleche.org/jaxen/jaxen)
* ANTLR 4 Runtime (org.antlr:antlr4-runtime:4.13.2 - https://www.antlr.org/antlr4-runtime/)
* commons-compiler (org.codehaus.janino:commons-compiler:3.1.8 - http://janino-compiler.github.io/commons-compiler/)
@@ -486,10 +491,10 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* asm-analysis (org.ow2.asm:asm-analysis:8.0.1 - http://asm.ow2.io/)
* asm-commons (org.ow2.asm:asm-commons:8.0.1 - http://asm.ow2.io/)
* asm-tree (org.ow2.asm:asm-tree:8.0.1 - http://asm.ow2.io/)
* ASM Util (org.ow2.asm:asm-util:5.0.3 - http://asm.objectweb.org/asm-util/)
* PostgreSQL JDBC Driver (org.postgresql:postgresql:42.7.5 - https://jdbc.postgresql.org)
* PostgreSQL JDBC Driver (org.postgresql:postgresql:42.7.7 - https://jdbc.postgresql.org)
* Reflections (org.reflections:reflections:0.9.12 - http://github.com/ronmamo/reflections)
* JMatIO (org.tallison:jmatio:1.5 - https://github.com/tballison/jmatio)
* XZ for Java (org.tukaani:xz:1.10 - https://tukaani.org/xz/java.html)
* XMLUnit for Java (xmlunit:xmlunit:1.3 - http://xmlunit.sourceforge.net/)
CC0:
@@ -554,14 +559,13 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* System Rules (com.github.stefanbirkner:system-rules:1.19.0 - http://stefanbirkner.github.io/system-rules/)
* H2 Database Engine (com.h2database:h2:2.3.232 - https://h2database.com)
* Jakarta Annotations API (jakarta.annotation:jakarta.annotation-api:2.1.1 - https://projects.eclipse.org/projects/ee4j.ca)
* Jakarta Expression Language API (jakarta.el:jakarta.el-api:5.0.1 - https://projects.eclipse.org/projects/ee4j.el)
* Jakarta Mail API (jakarta.mail:jakarta.mail-api:2.1.3 - https://projects.eclipse.org/projects/ee4j/jakarta.mail-api)
* Jakarta Persistence API (jakarta.persistence:jakarta.persistence-api:3.1.0 - https://github.com/eclipse-ee4j/jpa-api)
* Jakarta Servlet (jakarta.servlet:jakarta.servlet-api:6.1.0 - https://projects.eclipse.org/projects/ee4j.servlet)
* jakarta.transaction API (jakarta.transaction:jakarta.transaction-api:2.0.1 - https://projects.eclipse.org/projects/ee4j.jta)
* Jakarta RESTful WS API (jakarta.ws.rs:jakarta.ws.rs-api:3.1.0 - https://github.com/eclipse-ee4j/jaxrs-api)
* JUnit (junit:junit:4.13.2 - http://junit.org)
* AspectJ Weaver (org.aspectj:aspectjweaver:1.9.22.1 - https://www.eclipse.org/aspectj/)
* AspectJ Weaver (org.aspectj:aspectjweaver:1.9.24 - https://www.eclipse.org/aspectj/)
* Angus Mail default provider (org.eclipse.angus:jakarta.mail:2.0.3 - http://eclipse-ee4j.github.io/angus-mail/jakarta.mail)
* 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/)
@@ -611,16 +615,19 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* jersey-core-common (org.glassfish.jersey.core:jersey-common:3.1.10 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-common)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:3.1.10 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
* jersey-media-multipart (org.glassfish.jersey.media:jersey-media-multipart:3.1.3 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-media-multipart)
* JUnit Platform Commons (org.junit.platform:junit-platform-commons:1.11.4 - https://junit.org/junit5/)
* JUnit Platform Engine API (org.junit.platform:junit-platform-engine:1.11.4 - https://junit.org/junit5/)
* JUnit Vintage Engine (org.junit.vintage:junit-vintage-engine:5.11.4 - https://junit.org/junit5/)
* org.locationtech.jts:jts-core (org.locationtech.jts:jts-core:1.19.0 - https://www.locationtech.org/projects/technology.jts/jts-modules/jts-core)
* org.locationtech.jts.io:jts-io-common (org.locationtech.jts.io:jts-io-common:1.19.0 - https://www.locationtech.org/projects/technology.jts/jts-modules/jts-io/jts-io-common)
GENERAL PUBLIC LICENSE, version 3 (GPL-3.0):
* juniversalchardet (com.github.albfernandez:juniversalchardet:2.4.0 - https://github.com/albfernandez/juniversalchardet)
* juniversalchardet (com.github.albfernandez:juniversalchardet:2.5.0 - https://github.com/albfernandez/juniversalchardet)
GNU LESSER GENERAL PUBLIC LICENSE, version 3 (LGPL-3.0):
* juniversalchardet (com.github.albfernandez:juniversalchardet:2.4.0 - https://github.com/albfernandez/juniversalchardet)
* juniversalchardet (com.github.albfernandez:juniversalchardet:2.5.0 - https://github.com/albfernandez/juniversalchardet)
GNU Lesser General Public License (LGPL):
@@ -646,9 +653,9 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* RE2/J (com.google.re2j:re2j:1.2 - http://github.com/google/re2j)
Handle.Net Public License Agreement (Ver.2):
Handle.Net Public License Agreement (Ver.3):
* Handle Server (net.handle:handle:9.3.1 - https://www.handle.net)
* Handle Server (net.handle:handle:9.3.2 - https://www.handle.net)
ISC License:
@@ -664,18 +671,18 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* s3mock (io.findify:s3mock_2.13:0.2.6 - https://github.com/findify/s3mock)
* ClassGraph (io.github.classgraph:classgraph:4.8.165 - https://github.com/classgraph/classgraph)
* JOpt Simple (net.sf.jopt-simple:jopt-simple:5.0.4 - http://jopt-simple.github.io/jopt-simple)
* Bouncy Castle S/MIME API (org.bouncycastle:bcmail-jdk18on:1.77 - https://www.bouncycastle.org/java.html)
* Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs (org.bouncycastle:bcpkix-jdk18on:1.80 - https://www.bouncycastle.org/download/bouncy-castle-java/)
* Bouncy Castle Provider (org.bouncycastle:bcprov-jdk18on:1.80 - https://www.bouncycastle.org/download/bouncy-castle-java/)
* Bouncy Castle ASN.1 Extension and Utility APIs (org.bouncycastle:bcutil-jdk18on:1.80 - https://www.bouncycastle.org/download/bouncy-castle-java/)
* Bouncy Castle JavaMail S/MIME APIs (org.bouncycastle:bcmail-jdk18on:1.80 - https://www.bouncycastle.org/download/bouncy-castle-java/)
* Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs (org.bouncycastle:bcpkix-jdk18on:1.81 - https://www.bouncycastle.org/download/bouncy-castle-java/)
* Bouncy Castle Provider (org.bouncycastle:bcprov-jdk18on:1.81 - https://www.bouncycastle.org/download/bouncy-castle-java/)
* Bouncy Castle ASN.1 Extension and Utility APIs (org.bouncycastle:bcutil-jdk18on:1.81 - https://www.bouncycastle.org/download/bouncy-castle-java/)
* org.brotli:dec (org.brotli:dec:0.1.2 - http://brotli.org/dec)
* Checker Qual (org.checkerframework:checker-qual:3.48.4 - https://checkerframework.org/)
* Checker Qual (org.checkerframework:checker-qual:3.49.5 - https://checkerframework.org/)
* jersey-core-client (org.glassfish.jersey.core:jersey-client:3.1.10 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
* jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:3.1.10 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
* jersey-media-multipart (org.glassfish.jersey.media:jersey-media-multipart:3.1.3 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-media-multipart)
* mockito-core (org.mockito:mockito-core:3.12.4 - https://github.com/mockito/mockito)
* mockito-inline (org.mockito:mockito-inline:3.12.4 - https://github.com/mockito/mockito)
* SLF4J API Module (org.slf4j:slf4j-api:2.0.16 - http://www.slf4j.org)
* SLF4J API Module (org.slf4j:slf4j-api:2.0.17 - http://www.slf4j.org)
* HAL Browser (org.webjars:hal-browser:ad9b865 - http://webjars.org)
* toastr (org.webjars.bowergithub.codeseven:toastr:2.1.4 - http://webjars.org)
* backbone (org.webjars.bowergithub.jashkenas:backbone:1.4.1 - https://www.webjars.org)
@@ -683,14 +690,14 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* jquery (org.webjars.bowergithub.jquery:jquery-dist:3.7.1 - https://www.webjars.org)
* urijs (org.webjars.bowergithub.medialize:uri.js:1.19.11 - https://www.webjars.org)
* bootstrap (org.webjars.bowergithub.twbs:bootstrap:4.6.2 - https://www.webjars.org)
* core-js (org.webjars.npm:core-js:3.40.0 - https://www.webjars.org)
* @json-editor/json-editor (org.webjars.npm:json-editor__json-editor:2.15.1 - https://www.webjars.org)
* core-js (org.webjars.npm:core-js:3.42.0 - https://www.webjars.org)
* @json-editor/json-editor (org.webjars.npm:json-editor__json-editor:2.15.2 - https://www.webjars.org)
Mozilla Public License:
* juniversalchardet (com.github.albfernandez:juniversalchardet:2.4.0 - https://github.com/albfernandez/juniversalchardet)
* juniversalchardet (com.github.albfernandez:juniversalchardet:2.5.0 - https://github.com/albfernandez/juniversalchardet)
* H2 Database Engine (com.h2database:h2:2.3.232 - https://h2database.com)
* Saxon-HE (net.sf.saxon:Saxon-HE:9.8.0-14 - http://www.saxonica.com/)
* Saxon-HE (net.sf.saxon:Saxon-HE:9.9.1-8 - http://www.saxonica.com/)
* Javassist (org.javassist:javassist:3.30.2-GA - https://www.javassist.org/)
* Mozilla Rhino (org.mozilla:rhino:1.7.7.2 - https://developer.mozilla.org/en/Rhino)
@@ -704,7 +711,6 @@ https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines
* JSON in Java (org.json:json:20231013 - https://github.com/douglascrockford/JSON-java)
* LatencyUtils (org.latencyutils:LatencyUtils:2.0.3 - http://latencyutils.github.io/LatencyUtils/)
* Reflections (org.reflections:reflections:0.9.12 - http://github.com/ronmamo/reflections)
* XZ for Java (org.tukaani:xz:1.9 - https://tukaani.org/xz/java.html)
UnRar License:

View File

@@ -7,4 +7,5 @@
<!-- TODO: We should have these turned on. But, currently there's a known bug with indentation checks
on JMockIt Expectations blocks and similar. See https://github.com/checkstyle/checkstyle/issues/3739 -->
<suppress checks="Indentation" files="src[/\\]test[/\\]java"/>
<suppress checks="Regexp" files="DSpaceHttpClientFactory\.java"/>
</suppressions>

View File

@@ -136,5 +136,22 @@ For more information on CheckStyle configurations below, see: http://checkstyle.
<module name="OneStatementPerLine"/>
<!-- Require that "catch" statements are not empty (must at least contain a comment) -->
<module name="EmptyCatchBlock"/>
<!-- Require to use DSpaceHttpClientFactory.getClient() statement instead of creating directly the client -->
<module name="Regexp">
<property name="format" value="HttpClientBuilder\.create\s*\(\s*\)" />
<property name="message" value="Use DSpaceHttpClientFactory.getClient() instead of HttpClientBuilder.create()" />
<property name="illegalPattern" value="true"/>
<property name="ignoreComments" value="true"/>
</module>
<!-- Require to use DSpaceHttpClientFactory.getClient() statement instead of creating directly the client -->
<module name="Regexp">
<property name="format" value="HttpClients\.createDefault\s*\(\s*\)" />
<property name="message" value="Use DSpaceHttpClientFactory.getClient() instead of HttpClients.createDefault()" />
<property name="illegalPattern" value="true"/>
<property name="ignoreComments" value="true"/>
</module>
</module>
</module>

View File

@@ -12,7 +12,7 @@
<parent>
<groupId>org.dspace</groupId>
<artifactId>dspace-parent</artifactId>
<version>8.1</version>
<version>8.3-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
@@ -99,20 +99,6 @@
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>maven-version</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
@@ -177,7 +163,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>3.2.0</version>
<version>3.3.0</version>
<executions>
<execution>
<id>workflow-curation</id>
@@ -500,10 +486,6 @@
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
@@ -648,7 +630,7 @@
<dependency>
<groupId>dnsjava</groupId>
<artifactId>dnsjava</artifactId>
<version>3.6.2</version>
<version>3.6.3</version>
</dependency>
<dependency>
@@ -735,7 +717,7 @@
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.12.780</version>
<version>1.12.792</version>
</dependency>
<!-- TODO: This may need to be replaced with the "orcid-model" artifact once this ticket is resolved:
@@ -776,7 +758,7 @@
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.10</version>
<version>5.12.0</version>
</dependency>
<!-- Email templating -->
@@ -789,7 +771,7 @@
<dependency>
<groupId>org.xmlunit</groupId>
<artifactId>xmlunit-core</artifactId>
<version>2.10.0</version>
<version>2.10.4</version>
<scope>test</scope>
</dependency>
@@ -864,5 +846,11 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>mockwebserver</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@@ -8,6 +8,7 @@
package org.dspace.access.status;
import java.sql.SQLException;
import java.time.Instant;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -26,7 +27,6 @@ import org.dspace.content.service.ItemService;
import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.eperson.Group;
import org.joda.time.LocalDate;
/**
* Default plugin implementation of the access status helper.
@@ -230,7 +230,7 @@ public class DefaultAccessStatusHelper implements AccessStatusHelper {
// If the policy is not valid there is an active embargo
Date startDate = policy.getStartDate();
if (startDate != null && !startDate.before(LocalDate.now().toDate())) {
if (startDate != null && !startDate.before(Date.from(Instant.now()))) {
// There is an active embargo: aim to take the shortest embargo (account for rare cases where
// more than one resource policy exists)
if (embargoDate == null) {

View File

@@ -10,7 +10,6 @@ package org.dspace.administer;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.xpath.XPath;
@@ -18,6 +17,7 @@ import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.dspace.app.util.XMLUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -49,8 +49,9 @@ public class RegistryImporter {
*/
public static Document loadXML(String filename)
throws IOException, ParserConfigurationException, SAXException {
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
// This XML builder will *not* disable external entities as XML
// registries are considered trusted content
DocumentBuilder builder = XMLUtils.getTrustedDocumentBuilder();
Document document = builder.parse(new File(filename));

View File

@@ -13,7 +13,6 @@ import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.xpath.XPath;
@@ -21,7 +20,15 @@ import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
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.ParseException;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.Logger;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.BitstreamFormat;
import org.dspace.content.factory.ContentServiceFactory;
@@ -41,7 +48,7 @@ import org.xml.sax.SAXException;
* <P>
* <code>RegistryLoader -bitstream bitstream-formats.xml</code>
* <P>
* <code>RegistryLoader -dc dc-types.xml</code>
* <code>RegistryLoader -metadata dc-types.xml</code>
*
* @author Robert Tansley
* @version $Revision$
@@ -50,7 +57,7 @@ public class RegistryLoader {
/**
* log4j category
*/
private static Logger log = org.apache.logging.log4j.LogManager.getLogger(RegistryLoader.class);
private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(RegistryLoader.class);
protected static BitstreamFormatService bitstreamFormatService = ContentServiceFactory.getInstance()
.getBitstreamFormatService();
@@ -67,50 +74,99 @@ public class RegistryLoader {
* @throws Exception if error
*/
public static void main(String[] argv) throws Exception {
String usage = "Usage: " + RegistryLoader.class.getName()
+ " (-bitstream | -metadata) registry-file.xml";
Context context = null;
// Set up command-line options and parse arguments
CommandLineParser parser = new DefaultParser();
Options options = createCommandLineOptions();
try {
context = new Context();
CommandLine line = parser.parse(options, argv);
// Check if help option was entered or no options provided
if (line.hasOption('h') || line.getOptions().length == 0) {
printHelp(options);
System.exit(0);
}
Context context = new Context();
// Can't update registries anonymously, so we need to turn off
// authorisation
context.turnOffAuthorisationSystem();
// Work out what we're loading
if (argv[0].equalsIgnoreCase("-bitstream")) {
RegistryLoader.loadBitstreamFormats(context, argv[1]);
} else if (argv[0].equalsIgnoreCase("-metadata")) {
// Call MetadataImporter, as it handles Metadata schema updates
MetadataImporter.loadRegistry(argv[1], true);
} else {
System.err.println(usage);
try {
// Work out what we're loading
if (line.hasOption('b')) {
String filename = line.getOptionValue('b');
if (StringUtils.isEmpty(filename)) {
System.err.println("No file path provided for bitstream format registry");
printHelp(options);
System.exit(1);
}
RegistryLoader.loadBitstreamFormats(context, filename);
} else if (line.hasOption('m')) {
String filename = line.getOptionValue('m');
if (StringUtils.isEmpty(filename)) {
System.err.println("No file path provided for metadata registry");
printHelp(options);
System.exit(1);
}
// Call MetadataImporter, as it handles Metadata schema updates
MetadataImporter.loadRegistry(filename, true);
} else {
System.err.println("No registry type specified");
printHelp(options);
System.exit(1);
}
// Commit changes and close Context
context.complete();
System.exit(0);
} catch (Exception e) {
log.fatal(LogHelper.getHeader(context, "error_loading_registries", ""), e);
System.err.println("Error: \n - " + e.getMessage());
System.exit(1);
} finally {
// Clean up our context, if it still exists & it was never completed
if (context != null && context.isValid()) {
context.abort();
}
}
// Commit changes and close Context
context.complete();
System.exit(0);
} catch (ArrayIndexOutOfBoundsException ae) {
System.err.println(usage);
} catch (ParseException e) {
System.err.println("Error parsing command-line arguments: " + e.getMessage());
printHelp(options);
System.exit(1);
} catch (Exception e) {
log.fatal(LogHelper.getHeader(context, "error_loading_registries",
""), e);
System.err.println("Error: \n - " + e.getMessage());
System.exit(1);
} finally {
// Clean up our context, if it still exists & it was never completed
if (context != null && context.isValid()) {
context.abort();
}
}
}
/**
* Create the command-line options
* @return the command-line options
*/
private static Options createCommandLineOptions() {
Options options = new Options();
options.addOption("b", "bitstream", true, "load bitstream format registry from specified file");
options.addOption("m", "metadata", true, "load metadata registry from specified file");
options.addOption("h", "help", false, "print this help message");
return options;
}
/**
* Print the help message
* @param options the command-line options
*/
private static void printHelp(Options options) {
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("RegistryLoader",
"Load bitstream format or metadata registries into the database\n",
options,
"\nExamples:\n" +
" RegistryLoader -b bitstream-formats.xml\n" +
" RegistryLoader -m dc-types.xml",
true);
}
/**
* Load Bitstream Format metadata
*
@@ -210,8 +266,9 @@ public class RegistryLoader {
*/
private static Document loadXML(String filename) throws IOException,
ParserConfigurationException, SAXException {
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
// This XML builder will *not* disable external entities as XML
// registries are considered trusted content
DocumentBuilder builder = XMLUtils.getTrustedDocumentBuilder();
return builder.parse(new File(filename));
}
@@ -221,7 +278,7 @@ public class RegistryLoader {
* contains:
* <P>
* <code>
* &lt;foo&gt;&lt;mimetype&gt;application/pdf&lt;/mimetype&gt;&lt;/foo&gt;
* <foo><mimetype>application/pdf</mimetype></foo>
* </code>
* passing this the <code>foo</code> node and <code>mimetype</code> will
* return <code>application/pdf</code>.
@@ -262,10 +319,10 @@ public class RegistryLoader {
* document contains:
* <P>
* <code>
* &lt;foo&gt;
* &lt;bar&gt;val1&lt;/bar&gt;
* &lt;bar&gt;val2&lt;/bar&gt;
* &lt;/foo&gt;
* <foo>
* <bar>val1</bar>
* <bar>val2</bar>
* </foo>
* </code>
* passing this the <code>foo</code> node and <code>bar</code> will
* return <code>val1</code> and <code>val2</code>.

View File

@@ -27,7 +27,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.xpath.XPath;
@@ -43,6 +42,7 @@ import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.lang3.StringUtils;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Collection;
import org.dspace.content.Community;
@@ -613,8 +613,8 @@ public class StructBuilder {
*/
private static org.w3c.dom.Document loadXML(InputStream input)
throws IOException, ParserConfigurationException, SAXException {
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
// This builder factory does not disable external DTD, entities, etc.
DocumentBuilder builder = XMLUtils.getTrustedDocumentBuilder();
org.w3c.dom.Document document = builder.parse(input);

View File

@@ -18,6 +18,7 @@ import java.io.InputStream;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.ZoneOffset;
import java.util.Arrays;
import java.util.Date;
import java.util.Iterator;
@@ -154,7 +155,7 @@ public class BulkAccessControl extends DSpaceRunnable<BulkAccessControlScriptCon
}
ObjectMapper mapper = new ObjectMapper();
mapper.setTimeZone(TimeZone.getTimeZone("UTC"));
mapper.setTimeZone(TimeZone.getTimeZone(ZoneOffset.UTC));
BulkAccessControlInput accessControl;
context = new Context(Context.Mode.BATCH_EDIT);
setEPerson(context);
@@ -416,7 +417,7 @@ public class BulkAccessControl extends DSpaceRunnable<BulkAccessControlScriptCon
discoverQuery.setQuery(query);
discoverQuery.setStart(start);
discoverQuery.setMaxResults(limit);
discoverQuery.setSortField("search.resourceid", DiscoverQuery.SORT_ORDER.asc);
return discoverQuery;
}

View File

@@ -14,6 +14,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.UUID;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.DefaultParser.Builder;
import org.apache.commons.cli.ParseException;
import org.dspace.content.Item;
import org.dspace.content.MetadataDSpaceCsvExportServiceImpl;
@@ -143,7 +145,7 @@ public class MetadataExportSearch extends DSpaceRunnable<MetadataExportSearchScr
Iterator<Item> itemIterator = searchService.iteratorSearch(context, dso, discoverQuery);
handler.logDebug("creating dspacecsv");
DSpaceCSV dSpaceCSV = metadataDSpaceCsvExportService.export(context, itemIterator, true);
DSpaceCSV dSpaceCSV = metadataDSpaceCsvExportService.export(context, itemIterator, true, handler);
handler.logDebug("writing to file " + getFileNameOrExportFile());
handler.writeFilestream(context, getFileNameOrExportFile(), dSpaceCSV.getInputStream(), EXPORT_CSV);
context.restoreAuthSystemState();
@@ -167,4 +169,14 @@ public class MetadataExportSearch extends DSpaceRunnable<MetadataExportSearchScr
}
return scopeObj;
}
@Override
protected StepResult parse(String[] args) throws ParseException {
commandLine = new DefaultParser().parse(getScriptConfiguration().getOptions(), args);
Builder builder = new DefaultParser().builder();
builder.setStripLeadingAndTrailingQuotes(false);
commandLine = builder.build().parse(getScriptConfiguration().getOptions(), args);
setup();
return StepResult.Continue;
}
}

View File

@@ -494,7 +494,7 @@ public class MetadataImport extends DSpaceRunnable<MetadataImportScriptConfigura
// Check it has an owning collection
List<String> collections = line.get("collection");
if (collections == null) {
if (collections == null || collections.isEmpty()) {
throw new MetadataImportException(
"New items must have a 'collection' assigned in the form of a handle");
}

View File

@@ -0,0 +1,152 @@
/**
* 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.client;
import static org.apache.commons.collections4.ListUtils.emptyIfNull;
import java.util.List;
import org.apache.http.HttpRequestInterceptor;
import org.apache.http.HttpResponseInterceptor;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.dspace.services.ConfigurationService;
import org.dspace.utils.DSpace;
import org.springframework.beans.factory.annotation.Autowired;
/**
* Factory of {@link HttpClient} with common configurations.
*
* @author Luca Giamminonni (luca.giamminonni at 4science.it)
*
*/
public class DSpaceHttpClientFactory {
@Autowired
private ConfigurationService configurationService;
@Autowired
private DSpaceProxyRoutePlanner proxyRoutePlanner;
@Autowired(required = false)
private List<HttpRequestInterceptor> requestInterceptors;
@Autowired(required = false)
private List<HttpResponseInterceptor> responseInterceptors;
/**
* Get an instance of {@link DSpaceHttpClientFactory} from the Spring context.
* @return the bean instance
*/
public static DSpaceHttpClientFactory getInstance() {
return new DSpace().getSingletonService(DSpaceHttpClientFactory.class);
}
/**
* Build an instance of {@link HttpClient} setting the proxy if configured.
*
* @return the client
*/
public CloseableHttpClient build() {
return build(HttpClientBuilder.create(), true);
}
/**
* return a Builder if an instance of {@link HttpClient} pre-setting the proxy if configured.
*
* @return the client
*/
public HttpClientBuilder builder(boolean setProxy) {
HttpClientBuilder clientBuilder = HttpClientBuilder.create();
if (setProxy) {
clientBuilder.setRoutePlanner(proxyRoutePlanner);
}
getRequestInterceptors().forEach(clientBuilder::addInterceptorLast);
getResponseInterceptors().forEach(clientBuilder::addInterceptorLast);
return clientBuilder;
}
/**
* Build an instance of {@link HttpClient} without setting the proxy, even if
* configured.
*
* @return the client
*/
public CloseableHttpClient buildWithoutProxy() {
return build(HttpClientBuilder.create(), false);
}
/**
* Build an instance of {@link HttpClient} setting the proxy if configured,
* disabling automatic retries and setting the maximum total connection.
*
* @param maxConnTotal the maximum total connection value
* @return the client
*/
public CloseableHttpClient buildWithoutAutomaticRetries(int maxConnTotal) {
HttpClientBuilder clientBuilder = HttpClientBuilder.create()
.disableAutomaticRetries()
.setMaxConnTotal(maxConnTotal);
return build(clientBuilder, true);
}
/**
* Build an instance of {@link HttpClient} setting the proxy if configured with
* the given request configuration.
* @param requestConfig the request configuration
* @return the client
*/
public CloseableHttpClient buildWithRequestConfig(RequestConfig requestConfig) {
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create()
.setDefaultRequestConfig(requestConfig);
return build(httpClientBuilder, true);
}
private CloseableHttpClient build(HttpClientBuilder clientBuilder, boolean setProxy) {
if (setProxy) {
clientBuilder.setRoutePlanner(proxyRoutePlanner);
}
getRequestInterceptors().forEach(clientBuilder::addInterceptorLast);
getResponseInterceptors().forEach(clientBuilder::addInterceptorLast);
return clientBuilder.build();
}
public ConfigurationService getConfigurationService() {
return configurationService;
}
public void setConfigurationService(ConfigurationService configurationService) {
this.configurationService = configurationService;
}
public List<HttpRequestInterceptor> getRequestInterceptors() {
return emptyIfNull(requestInterceptors);
}
public void setRequestInterceptors(List<HttpRequestInterceptor> requestInterceptors) {
this.requestInterceptors = requestInterceptors;
}
public List<HttpResponseInterceptor> getResponseInterceptors() {
return emptyIfNull(responseInterceptors);
}
public void setResponseInterceptors(List<HttpResponseInterceptor> responseInterceptors) {
this.responseInterceptors = responseInterceptors;
}
public DSpaceProxyRoutePlanner getProxyRoutePlanner() {
return proxyRoutePlanner;
}
public void setProxyRoutePlanner(DSpaceProxyRoutePlanner proxyRoutePlanner) {
this.proxyRoutePlanner = proxyRoutePlanner;
}
}

View File

@@ -0,0 +1,73 @@
/**
* 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.client;
import java.util.Arrays;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpException;
import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
import org.apache.http.impl.conn.DefaultRoutePlanner;
import org.apache.http.protocol.HttpContext;
import org.dspace.services.ConfigurationService;
/**
* Extension of {@link DefaultRoutePlanner} that determine the proxy based on
* the configuration service, ignoring configured hosts.
*
* @author Luca Giamminonni (luca.giamminonni at 4science.it)
*
*/
public class DSpaceProxyRoutePlanner extends DefaultRoutePlanner {
private ConfigurationService configurationService;
public DSpaceProxyRoutePlanner(ConfigurationService configurationService) {
super(null);
this.configurationService = configurationService;
}
@Override
protected HttpHost determineProxy(HttpHost target, HttpRequest request, HttpContext context) throws HttpException {
if (isTargetHostConfiguredToBeIgnored(target)) {
return null;
}
String proxyHost = configurationService.getProperty("http.proxy.host");
String proxyPort = configurationService.getProperty("http.proxy.port");
if (StringUtils.isAnyBlank(proxyHost, proxyPort)) {
return null;
}
try {
return new HttpHost(proxyHost, Integer.parseInt(proxyPort), "http");
} catch (NumberFormatException e) {
throw new RuntimeException("Invalid proxy port configuration: " + proxyPort);
}
}
private boolean isTargetHostConfiguredToBeIgnored(HttpHost target) {
String[] hostsToIgnore = configurationService.getArrayProperty("http.proxy.hosts-to-ignore");
if (ArrayUtils.isEmpty(hostsToIgnore)) {
return false;
}
return Arrays.stream(hostsToIgnore)
.anyMatch(host -> matchesHost(host, target.getHostName()));
}
private boolean matchesHost(String hostPattern, String hostName) {
if (hostName.equals(hostPattern)) {
return true;
} else if (hostPattern.startsWith("*")) {
return hostName.endsWith(StringUtils.removeStart(hostPattern, "*"));
} else if (hostPattern.endsWith("*")) {
return hostName.startsWith(StringUtils.removeEnd(hostPattern, "*"));
}
return false;
}
}

View File

@@ -352,7 +352,7 @@ public class ItemExportServiceImpl implements ItemExportService {
/**
* Create the 'collections' file. List handles of all Collections which
* contain this Item. The "owning" Collection is listed first.
* contain this Item. The "owning" Collection is listed first.
*
* @param item list collections holding this Item.
* @param destDir write the file here.
@@ -363,12 +363,14 @@ public class ItemExportServiceImpl implements ItemExportService {
File outFile = new File(destDir, "collections");
if (outFile.createNewFile()) {
try (PrintWriter out = new PrintWriter(new FileWriter(outFile))) {
String ownerHandle = item.getOwningCollection().getHandle();
out.println(ownerHandle);
Collection owningCollection = item.getOwningCollection();
// The owning collection is null for workspace and workflow items
if (owningCollection != null) {
out.println(owningCollection.getHandle());
}
for (Collection collection : item.getCollections()) {
String collectionHandle = collection.getHandle();
if (!collectionHandle.equals(ownerHandle)) {
out.println(collectionHandle);
if (!collection.equals(owningCollection)) {
out.println(collection.getHandle());
}
}
}

View File

@@ -22,6 +22,7 @@ import java.util.UUID;
import org.apache.commons.cli.ParseException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.tika.Tika;
import org.dspace.app.itemimport.factory.ItemImportServiceFactory;
@@ -333,33 +334,38 @@ public class ItemImport extends DSpaceRunnable<ItemImportScriptConfiguration> {
protected void readZip(Context context, ItemImportService itemImportService) throws Exception {
Optional<InputStream> optionalFileStream = Optional.empty();
Optional<InputStream> validationFileStream = Optional.empty();
if (!remoteUrl) {
// manage zip via upload
optionalFileStream = handler.getFileStream(context, zipfilename);
validationFileStream = handler.getFileStream(context, zipfilename);
} else {
// manage zip via remote url
optionalFileStream = Optional.ofNullable(new URL(zipfilename).openStream());
validationFileStream = Optional.ofNullable(new URL(zipfilename).openStream());
}
if (validationFileStream.isPresent()) {
// validate zip file
if (validationFileStream.isPresent()) {
validateZip(validationFileStream.get());
try {
if (!remoteUrl) {
// manage zip via upload
optionalFileStream = handler.getFileStream(context, zipfilename);
validationFileStream = handler.getFileStream(context, zipfilename);
} else {
// manage zip via remote url
optionalFileStream = Optional.ofNullable(new URL(zipfilename).openStream());
validationFileStream = Optional.ofNullable(new URL(zipfilename).openStream());
}
workFile = new File(itemImportService.getTempWorkDir() + File.separator
+ zipfilename + "-" + context.getCurrentUser().getID());
FileUtils.copyInputStreamToFile(optionalFileStream.get(), workFile);
} else {
throw new IllegalArgumentException(
"Error reading file, the file couldn't be found for filename: " + zipfilename);
}
if (validationFileStream.isPresent()) {
// validate zip file
if (validationFileStream.isPresent()) {
validateZip(validationFileStream.get());
}
workDir = new File(itemImportService.getTempWorkDir() + File.separator + TEMP_DIR
+ File.separator + context.getCurrentUser().getID());
sourcedir = itemImportService.unzip(workFile, workDir.getAbsolutePath());
workFile = new File(itemImportService.getTempWorkDir() + File.separator
+ zipfilename + "-" + context.getCurrentUser().getID());
FileUtils.copyInputStreamToFile(optionalFileStream.get(), workFile);
} else {
throw new IllegalArgumentException(
"Error reading file, the file couldn't be found for filename: " + zipfilename);
}
workDir = new File(itemImportService.getTempWorkDir() + File.separator + TEMP_DIR
+ File.separator + context.getCurrentUser().getID());
sourcedir = itemImportService.unzip(workFile, workDir.getAbsolutePath());
} finally {
optionalFileStream.ifPresent(IOUtils::closeQuietly);
validationFileStream.ifPresent(IOUtils::closeQuietly);
}
}
/**

View File

@@ -17,6 +17,7 @@ import java.util.Optional;
import java.util.UUID;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.dspace.app.itemimport.service.ItemImportService;
import org.dspace.content.Collection;
@@ -111,7 +112,11 @@ public class ItemImportCLI extends ItemImport {
// validate zip file
InputStream validationFileStream = new FileInputStream(myZipFile);
validateZip(validationFileStream);
try {
validateZip(validationFileStream);
} finally {
IOUtils.closeQuietly(validationFileStream);
}
workDir = new File(itemImportService.getTempWorkDir() + File.separator + TEMP_DIR
+ File.separator + context.getCurrentUser().getID());
@@ -120,22 +125,28 @@ public class ItemImportCLI extends ItemImport {
} else {
// manage zip via remote url
Optional<InputStream> optionalFileStream = Optional.ofNullable(new URL(zipfilename).openStream());
if (optionalFileStream.isPresent()) {
// validate zip file via url
Optional<InputStream> validationFileStream = Optional.ofNullable(new URL(zipfilename).openStream());
if (validationFileStream.isPresent()) {
validateZip(validationFileStream.get());
}
Optional<InputStream> validationFileStream = Optional.ofNullable(new URL(zipfilename).openStream());
try {
if (optionalFileStream.isPresent()) {
// validate zip file via url
workFile = new File(itemImportService.getTempWorkDir() + File.separator
+ zipfilename + "-" + context.getCurrentUser().getID());
FileUtils.copyInputStreamToFile(optionalFileStream.get(), workFile);
workDir = new File(itemImportService.getTempWorkDir() + File.separator + TEMP_DIR
+ File.separator + context.getCurrentUser().getID());
sourcedir = itemImportService.unzip(workFile, workDir.getAbsolutePath());
} else {
throw new IllegalArgumentException(
"Error reading file, the file couldn't be found for filename: " + zipfilename);
if (validationFileStream.isPresent()) {
validateZip(validationFileStream.get());
}
workFile = new File(itemImportService.getTempWorkDir() + File.separator
+ zipfilename + "-" + context.getCurrentUser().getID());
FileUtils.copyInputStreamToFile(optionalFileStream.get(), workFile);
workDir = new File(itemImportService.getTempWorkDir() + File.separator + TEMP_DIR
+ File.separator + context.getCurrentUser().getID());
sourcedir = itemImportService.unzip(workFile, workDir.getAbsolutePath());
} else {
throw new IllegalArgumentException(
"Error reading file, the file couldn't be found for filename: " + zipfilename);
}
} finally {
optionalFileStream.ifPresent(IOUtils::closeQuietly);
validationFileStream.ifPresent(IOUtils::closeQuietly);
}
}
}

View File

@@ -29,6 +29,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URL;
import java.nio.file.Path;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -47,7 +48,6 @@ import java.util.UUID;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.xpath.XPath;
@@ -67,6 +67,7 @@ import org.apache.logging.log4j.Logger;
import org.dspace.app.itemimport.service.ItemImportService;
import org.dspace.app.util.LocalSchemaFilenameFilter;
import org.dspace.app.util.RelationshipUtils;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.authorize.ResourcePolicy;
import org.dspace.authorize.service.AuthorizeService;
@@ -179,6 +180,8 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
@Autowired(required = true)
protected MetadataValueService metadataValueService;
protected DocumentBuilder builder;
protected String tempWorkDir;
protected boolean isTest = false;
@@ -742,15 +745,22 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
myitem = wi.getItem();
}
// normalize and validate path to make sure itemname doesn't contain path traversal
Path itemPath = new File(path + File.separatorChar + itemname + File.separatorChar)
.toPath().normalize();
if (!itemPath.startsWith(path)) {
throw new IOException("Illegal item metadata path: '" + itemPath);
}
// Normalization chops off the last separator, and we need to put it back
String itemPathDir = itemPath.toString() + File.separatorChar;
// now fill out dublin core for item
loadMetadata(c, myitem, path + File.separatorChar + itemname
+ File.separatorChar);
loadMetadata(c, myitem, itemPathDir);
// and the bitstreams from the contents file
// process contents file, add bistreams and bundles, return any
// non-standard permissions
List<String> options = processContentsFile(c, myitem, path
+ File.separatorChar + itemname, "contents");
List<String> options = processContentsFile(c, myitem, itemPathDir, "contents");
if (useWorkflow) {
// don't process handle file
@@ -768,8 +778,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
}
} else {
// only process handle file if not using workflow system
String myhandle = processHandleFile(c, myitem, path
+ File.separatorChar + itemname, "handle");
String myhandle = processHandleFile(c, myitem, itemPathDir, "handle");
// put item in system
if (!isTest) {
@@ -1001,6 +1010,34 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
}
}
/**
* Ensures a file path does not attempt to access files outside the designated parent directory.
*
* @param parentDir The absolute path to the parent directory that should contain the file
* @param fileName The name or path of the file to validate
* @throws IOException If an error occurs while resolving canonical paths, or the file path attempts
* to access a location outside the parent directory
*/
private void validateFilePath(String parentDir, String fileName) throws IOException {
File parent = new File(parentDir);
File file = new File(fileName);
// If the fileName is not an absolute path, we resolve it against the parentDir
if (!file.isAbsolute()) {
file = new File(parent, fileName);
}
String parentCanonicalPath = parent.getCanonicalPath();
String fileCanonicalPath = file.getCanonicalPath();
if (!fileCanonicalPath.startsWith(parentCanonicalPath)) {
log.error("File path outside of canonical root requested: fileCanonicalPath={} does not begin " +
"with parentCanonicalPath={}", fileCanonicalPath, parentCanonicalPath);
throw new IOException("Illegal file path '" + fileName + "' encountered. This references a path " +
"outside of the import package. Please see the system logs for more details.");
}
}
/**
* Read the collections file inside the item directory. If there
* is one and it is not empty return a list of collections in
@@ -1201,6 +1238,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
sDescription = sDescription.replaceFirst("description:", "");
}
validateFilePath(path, sFilePath);
registerBitstream(c, i, iAssetstore, sFilePath, sBundle, sDescription);
logInfo("\tRegistering Bitstream: " + sFilePath
+ "\tAssetstore: " + iAssetstore
@@ -1414,6 +1452,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
return;
}
validateFilePath(path, fileName);
String fullpath = path + File.separatorChar + fileName;
// get an input stream
@@ -1888,9 +1927,7 @@ public class ItemImportServiceImpl implements ItemImportService, InitializingBea
*/
protected Document loadXML(String filename) throws IOException,
ParserConfigurationException, SAXException {
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
DocumentBuilder builder = XMLUtils.getDocumentBuilder();
return builder.parse(new File(filename));
}

View File

@@ -23,8 +23,6 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.UUID;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
@@ -33,6 +31,7 @@ import javax.xml.transform.TransformerFactory;
import org.apache.logging.log4j.Logger;
import org.dspace.app.util.LocalSchemaFilenameFilter;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
@@ -52,7 +51,6 @@ public class ItemArchive {
public static final String DUBLIN_CORE_XML = "dublin_core.xml";
protected static DocumentBuilder builder = null;
protected Transformer transformer = null;
protected List<DtoMetadata> dtomList = null;
@@ -95,14 +93,14 @@ public class ItemArchive {
InputStream is = null;
try {
is = new FileInputStream(new File(dir, DUBLIN_CORE_XML));
itarch.dtomList = MetadataUtilities.loadDublinCore(getDocumentBuilder(), is);
itarch.dtomList = MetadataUtilities.loadDublinCore(XMLUtils.getDocumentBuilder(), is);
//The code to search for local schema files was copied from org.dspace.app.itemimport
// .ItemImportServiceImpl.java
File file[] = dir.listFiles(new LocalSchemaFilenameFilter());
for (int i = 0; i < file.length; i++) {
is = new FileInputStream(file[i]);
itarch.dtomList.addAll(MetadataUtilities.loadDublinCore(getDocumentBuilder(), is));
itarch.dtomList.addAll(MetadataUtilities.loadDublinCore(XMLUtils.getDocumentBuilder(), is));
}
} finally {
if (is != null) {
@@ -126,14 +124,6 @@ public class ItemArchive {
return itarch;
}
protected static DocumentBuilder getDocumentBuilder()
throws ParserConfigurationException {
if (builder == null) {
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
}
return builder;
}
/**
* Getter for Transformer
*
@@ -318,7 +308,7 @@ public class ItemArchive {
try {
out = new FileOutputStream(new File(dir, "dublin_core.xml"));
Document doc = MetadataUtilities.writeDublinCore(getDocumentBuilder(), undoDtomList);
Document doc = MetadataUtilities.writeDublinCore(XMLUtils.getDocumentBuilder(), undoDtomList);
MetadataUtilities.writeDocument(doc, getTransformer(), out);
// if undo has delete bitstream

View File

@@ -19,6 +19,7 @@ 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.app.util.XMLUtils;
import org.dspace.core.Context;
import org.dspace.scripts.DSpaceRunnable;
import org.dspace.scripts.DSpaceRunnable.StepResult;
@@ -314,7 +315,7 @@ public class ScriptLauncher {
String config = kernelImpl.getConfigurationService().getProperty("dspace.dir") +
System.getProperty("file.separator") + "config" +
System.getProperty("file.separator") + "launcher.xml";
SAXBuilder saxBuilder = new SAXBuilder();
SAXBuilder saxBuilder = XMLUtils.getSAXBuilder();
Document doc = null;
try {
doc = saxBuilder.build(config);

View File

@@ -21,7 +21,6 @@ import java.util.Optional;
import java.util.UUID;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -48,6 +47,10 @@ import org.dspace.event.Event;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.dspace.utils.DSpace;
import org.dspace.versioning.Version;
import org.dspace.versioning.VersionHistory;
import org.dspace.versioning.factory.VersionServiceFactory;
import org.dspace.versioning.service.VersionHistoryService;
import org.dspace.web.ContextUtil;
/**
@@ -63,6 +66,9 @@ public class LDNMessageConsumer implements Consumer {
private ConfigurationService configurationService;
private ItemService itemService;
private BitstreamService bitstreamService;
private final String RESUBMISSION_SUFFIX = "-resubmission";
private final String ENDORSEMENT_PATTERN = "request-endorsement";
private final String REVIEW_PATTERN = "request-review";
@Override
public void initialize() throws Exception {
@@ -83,6 +89,9 @@ public class LDNMessageConsumer implements Consumer {
}
Item item = (Item) event.getSubject(context);
if (item == null) {
return;
}
createManualLDNMessages(context, item);
createAutomaticLDNMessages(context, item);
}
@@ -90,10 +99,24 @@ public class LDNMessageConsumer implements Consumer {
private void createManualLDNMessages(Context context, Item item) throws SQLException, JsonProcessingException {
List<NotifyPatternToTrigger> patternsToTrigger =
notifyPatternToTriggerService.findByItem(context, item);
// Note that multiple patterns can be submitted and not all support resubmission
// 1. Extract all patterns that accept resubmissions, i.e. endorsement and review
List<Integer> patternsSupportingResubmission = patternsToTrigger.stream()
.filter(p -> p.getPattern().equals(REVIEW_PATTERN) || p.getPattern().equals(ENDORSEMENT_PATTERN))
.map(NotifyPatternToTrigger::getID).toList();
String resubmissionReplyToID = null;
for (NotifyPatternToTrigger patternToTrigger : patternsToTrigger) {
// Only try to fetch resubmission ID if the pattern support resubmission
if (patternsSupportingResubmission.contains(patternToTrigger.getID())) {
resubmissionReplyToID = findResubmissionReplyToUUID(context, item, patternToTrigger.getNotifyService());
}
createLDNMessage(context,patternToTrigger.getItem(),
patternToTrigger.getNotifyService(), patternToTrigger.getPattern());
patternToTrigger.getNotifyService(),
patternToTrigger.getPattern(),
resubmissionReplyToID);
}
}
@@ -104,11 +127,33 @@ public class LDNMessageConsumer implements Consumer {
for (NotifyServiceInboundPattern inboundPattern : inboundPatterns) {
if (StringUtils.isEmpty(inboundPattern.getConstraint()) ||
evaluateFilter(context, item, inboundPattern.getConstraint())) {
createLDNMessage(context, item, inboundPattern.getNotifyService(), inboundPattern.getPattern());
createLDNMessage(context, item, inboundPattern.getNotifyService(),
inboundPattern.getPattern(), null);
}
}
}
private String findResubmissionReplyToUUID(Context context, Item item, NotifyServiceEntity service)
throws SQLException {
// 1.1 Check whether this is a new version submission
VersionHistoryService versionHistoryService = VersionServiceFactory.getInstance()
.getVersionHistoryService();
VersionHistory versionHistory = versionHistoryService.findByItem(context, item);
if (versionHistory != null) {
Version currentVersion = versionHistoryService.getVersion(context, versionHistory, item);
Version previousVersion = versionHistoryService.getPrevious(context, versionHistory, currentVersion);
if (previousVersion != null) {
// 1.2 and a TentativeReject notification, matching the current pattern's service, was received for the
// previous item version
return ldnMessageService.findEndorsementOrReviewResubmissionIdByItem(context,
previousVersion.getItem(), service);
}
}
// New submission (new item, or previous version with a tentativeReject notification not found)
return null;
}
private boolean evaluateFilter(Context context, Item item, String constraint) {
LogicalStatement filter =
new DSpace().getServiceManager().getServiceByName(constraint, LogicalStatement.class);
@@ -116,19 +161,40 @@ public class LDNMessageConsumer implements Consumer {
return filter != null && filter.getResult(context, item);
}
private void createLDNMessage(Context context, Item item, NotifyServiceEntity service, String pattern)
throws SQLException, JsonMappingException, JsonProcessingException {
LDN ldn = getLDNMessage(pattern);
private void createLDNMessage(Context context, Item item, NotifyServiceEntity service, String pattern,
String resubmissionID)
throws SQLException, JsonProcessingException {
// Amend current pattern name to trigger
// Endorsement or Review offer resubmissions: append '-resubmission' to pattern name to choose the correct
// LDN message template: e.g. request-endorsement-resubmission or request-review-resubmission
LDN ldn = (resubmissionID != null)
? getLDNMessage(pattern + RESUBMISSION_SUFFIX) : getLDNMessage(pattern);
LDNMessageEntity ldnMessage =
ldnMessageService.create(context, format("urn:uuid:%s", UUID.randomUUID()));
ldnMessageService.create(context, format("urn:uuid:%s", UUID.randomUUID()));
ldnMessage.setObject(item);
ldnMessage.setTarget(service);
ldnMessage.setQueueStatus(LDNMessageEntity.QUEUE_STATUS_QUEUED);
ldnMessage.setQueueTimeout(new Date());
appendGeneratedMessage(ldn, ldnMessage, pattern);
String actorID = null;
boolean serviceUsesActorEmailId =
configurationService.getBooleanProperty(
String.format("ldn.notification.supportsActorEmailId.%d", service.getID()), false);
if (serviceUsesActorEmailId) {
// If the service has been configured to use actorEmailId, we use the submitter's email and name
if (item.getSubmitter() != null) {
actorID = item.getSubmitter().getEmail();
} else {
// Use configured fallback email (defaults to mail.admin property)
actorID = configurationService.getProperty("ldn.notification.email.submitter.fallback");
}
}
appendGeneratedMessage(ldn,
ldnMessage,
actorID,
(actorID != null && item.getSubmitter() != null) ? item.getSubmitter().getFullName() : null,
resubmissionID);
ObjectMapper mapper = new ObjectMapper();
Notification notification = mapper.readValue(ldnMessage.getMessage(), Notification.class);
@@ -139,6 +205,10 @@ public class LDNMessageConsumer implements Consumer {
Collections.sort(notificationTypeArrayList);
ldnMessage.setActivityStreamType(notificationTypeArrayList.get(0));
ldnMessage.setCoarNotifyType(notificationTypeArrayList.get(1));
// If a resubmission, set inReplyTo
if (resubmissionID != null) {
ldnMessage.setInReplyTo(ldnMessageService.find(context, resubmissionID));
}
ldnMessageService.update(context, ldnMessage);
}
@@ -151,11 +221,16 @@ public class LDNMessageConsumer implements Consumer {
}
}
private void appendGeneratedMessage(LDN ldn, LDNMessageEntity ldnMessage, String pattern) {
private void appendGeneratedMessage(LDN ldn, LDNMessageEntity ldnMessage, String actorID, String actorName,
String resubmissionId) {
Item item = (Item) ldnMessage.getObject();
ldn.addArgument(getUiUrl());
if (actorID != null) {
ldn.addArgument("mailto:" + actorID);
} else {
ldn.addArgument(getUiUrl());
}
ldn.addArgument(configurationService.getProperty("ldn.notify.inbox"));
ldn.addArgument(configurationService.getProperty("dspace.name"));
ldn.addArgument(actorName != null ? actorName : configurationService.getProperty("dspace.name"));
ldn.addArgument(Objects.requireNonNullElse(ldnMessage.getTarget().getUrl(), ""));
ldn.addArgument(Objects.requireNonNullElse(ldnMessage.getTarget().getLdnUrl(), ""));
ldn.addArgument(getUiUrl() + "/handle/" + ldnMessage.getObject().getHandle());
@@ -166,6 +241,17 @@ public class LDNMessageConsumer implements Consumer {
ldn.addArgument(getRelationUri(item));
ldn.addArgument("http://purl.org/vocab/frbr/core#supplement");
ldn.addArgument(format("urn:uuid:%s", UUID.randomUUID()));
if (actorID != null) {
ldn.addArgument("Person");
} else {
ldn.addArgument("Service");
}
// Param 14: UI URL, LDN message origin
ldn.addArgument(getUiUrl());
// Param 15: inReplyTo ID, used in endorsement resubmission notifications
if (resubmissionId != null) {
ldn.addArgument(String.format("\"inReplyTo\": \"%s\",", resubmissionId));
}
ldnMessage.setMessage(ldn.generateLDNMessage());
}

View File

@@ -20,6 +20,8 @@ import jakarta.persistence.Temporal;
import jakarta.persistence.TemporalType;
import org.dspace.content.DSpaceObject;
import org.dspace.core.ReloadableEntity;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
/**
* Class representing ldnMessages stored in the DSpace system and, when locally resolvable,
@@ -289,7 +291,11 @@ public class LDNMessageEntity implements ReloadableEntity<String> {
}
public static String getNotificationType(LDNMessageEntity ldnMessage) {
if (ldnMessage.getInReplyTo() != null || ldnMessage.getOrigin() != null) {
// Resubmission outgoing notifications have the inReplyTo, therefore it cannot be used to determine
// whether a notification is incoming
ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService();
if (ldnMessage.getOrigin() != null && !ldnMessage.getOrigin().getLdnUrl()
.contains(configurationService.getProperty("dspace.ui.url"))) {
return TYPE_INCOMING;
}
return TYPE_OUTGOING;

View File

@@ -27,7 +27,7 @@ import org.dspace.services.ConfigurationService;
import org.springframework.beans.factory.annotation.Autowired;
/**
* Action to send email to receipients provided in actionSendFilter. The email
* Action to send email to recipients provided in actionSendFilter. The email
* body will be result of templating actionSendFilter.
*/
public class LDNEmailAction implements LDNAction {
@@ -139,7 +139,13 @@ public class LDNEmailAction implements LDNAction {
List<String> recipients = new LinkedList<String>();
if (actionSendFilter.startsWith("SUBMITTER")) {
recipients.add(item.getSubmitter().getEmail());
if (item.getSubmitter() != null) {
recipients.add(item.getSubmitter().getEmail());
} else {
// Fallback configured option
recipients.add(configurationService.getProperty("ldn.notification.email.submitter.fallback"));
}
} else if (actionSendFilter.startsWith("GROUP:")) {
String groupName = actionSendFilter.replace("GROUP:", "");
String property = format("email.%s.list", groupName);

View File

@@ -18,9 +18,9 @@ import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.client.DSpaceHttpClientFactory;
import org.dspace.app.ldn.model.Notification;
import org.dspace.content.Item;
import org.dspace.core.Context;
@@ -34,21 +34,13 @@ public class SendLDNMessageAction implements LDNAction {
private static final Logger log = LogManager.getLogger(SendLDNMessageAction.class);
private CloseableHttpClient client = null;
private CloseableHttpClient client;
public SendLDNMessageAction() {
HttpClientBuilder builder = HttpClientBuilder.create();
client = builder
.disableAutomaticRetries()
.setMaxConnTotal(5)
.build();
}
public SendLDNMessageAction(CloseableHttpClient client) {
this();
if (client != null) {
this.client = client;
}
this.client = client;
}
@Override
@@ -66,9 +58,10 @@ public class SendLDNMessageAction implements LDNAction {
// NOTE: Github believes there is a "Potential server-side request forgery due to a user-provided value"
// This is a false positive because the LDN Service URL is configured by the user from DSpace.
// See the frontend configuration at [dspace.ui.url]/admin/ldn/services
try (
CloseableHttpResponse response = client.execute(httpPost);
) {
if (client == null) {
client = DSpaceHttpClientFactory.getInstance().buildWithoutAutomaticRetries(5);
}
try (CloseableHttpResponse response = client.execute(httpPost)) {
if (isSuccessful(response.getStatusLine().getStatusCode())) {
result = LDNActionStatus.CONTINUE;
} else if (isRedirect(response.getStatusLine().getStatusCode())) {
@@ -77,6 +70,7 @@ public class SendLDNMessageAction implements LDNAction {
} catch (Exception e) {
log.error(e);
}
client.close();
return result;
}
@@ -91,9 +85,9 @@ public class SendLDNMessageAction implements LDNAction {
statusCode == HttpStatus.SC_TEMPORARY_REDIRECT;
}
private LDNActionStatus handleRedirect(CloseableHttpResponse oldresponse,
private LDNActionStatus handleRedirect(CloseableHttpResponse oldResponse,
HttpPost request) throws HttpException {
Header[] urls = oldresponse.getHeaders(HttpHeaders.LOCATION);
Header[] urls = oldResponse.getHeaders(HttpHeaders.LOCATION);
String url = urls.length > 0 && urls[0] != null ? urls[0].getValue() : null;
if (url == null) {
throw new HttpException("Error following redirect, unable to reach"
@@ -102,17 +96,14 @@ public class SendLDNMessageAction implements LDNAction {
LDNActionStatus result = LDNActionStatus.ABORT;
try {
request.setURI(new URI(url));
try (
CloseableHttpResponse response = client.execute(request);
) {
try (CloseableHttpResponse response = client.execute(request)) {
if (isSuccessful(response.getStatusLine().getStatusCode())) {
return LDNActionStatus.CONTINUE;
result = LDNActionStatus.CONTINUE;
}
}
} catch (Exception e) {
log.error("Error following redirect:", e);
}
return LDNActionStatus.ABORT;
return result;
}
}

View File

@@ -149,8 +149,11 @@ public class LDNMessageDaoImpl extends AbstractHibernateDAO<LDNMessageEntity> im
Predicate activityPredicate = null;
andPredicates.add(
criteriaBuilder.equal(root.get(LDNMessageEntity_.queueStatus), LDNMessageEntity.QUEUE_STATUS_PROCESSED));
// Added OR with object or context - inbound notifications make use of the context item to provide information
// about the repository item the notification refers to
andPredicates.add(
criteriaBuilder.equal(root.get(LDNMessageEntity_.object), item));
criteriaBuilder.or(criteriaBuilder.equal(root.get(LDNMessageEntity_.object), item),
criteriaBuilder.equal(root.get(LDNMessageEntity_.context), item)));
if (activities != null && activities.length > 0) {
activityPredicate = root.get(LDNMessageEntity_.activityStreamType).in(activities);
andPredicates.add(activityPredicate);

View File

@@ -25,7 +25,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
* "Offer", "coar-notify:IngestAction"
* "Offer", "coar-notify:ReviewAction"
*
* and their acknownledgements - if any
* and their acknowledgements - if any
*
* @author Francesco Bacchelli (francesco.bacchelli at 4science dot it)
*/

View File

@@ -8,11 +8,12 @@
package org.dspace.app.ldn.model;
/**
* REQUESTED means acknowledgements not received yet
* ACCEPTED means acknowledgements of "Accept" type received
* REJECTED means ack of "TentativeReject" type received
* ACCEPTED means acknowledgements of "Accept" or "TentativeAccept" type received
* REJECTED means ack of "Reject" type received
* TENTATIVE_REJECT means ack of "TentativeReject" type received
*
* @author Francesco Bacchelli (francesco.bacchelli at 4science.com)
*/
public enum NotifyRequestStatusEnum {
REJECTED, ACCEPTED, REQUESTED
REJECTED, ACCEPTED, REQUESTED, TENTATIVE_REJECT
}

View File

@@ -8,7 +8,7 @@
package org.dspace.app.ldn.model;
/**
* Informations about the Offer and Acknowledgements targeting a specified Item
* Information about the Offer and Acknowledgements targeting a specified Item
*
* @author Francesco Bacchelli (francesco.bacchelli at 4science.com)
*/

View File

@@ -20,6 +20,7 @@ import org.apache.http.HttpStatus;
import org.apache.http.client.HttpResponseException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.ldn.LDNMessageEntity;
import org.dspace.app.ldn.action.LDNAction;
import org.dspace.app.ldn.action.LDNActionStatus;
import org.dspace.app.ldn.model.Notification;
@@ -59,6 +60,8 @@ public class LDNMetadataProcessor implements LDNProcessor {
"Announce",
"TentativeReject",
"Accept",
"TentativeAccept",
"Reject",
"coar-notify:ReviewAction",
"coar-notify:IngestAction",
"coar-notify:EndorsementAction");
@@ -152,7 +155,7 @@ public class LDNMetadataProcessor implements LDNProcessor {
}
/**
* Lookup associated item to the notification context. If UUID in URL, lookup bu
* Lookup associated item to the notification context. If UUID in URL, lookup by
* UUID, else lookup by handle.
*
* @param context current context
@@ -168,7 +171,22 @@ public class LDNMetadataProcessor implements LDNProcessor {
String url = null;
if (CONTEXT_ID_ITEM_TYPES.containsAll(notification.getType())) {
url = notification.getContext().getId();
if (notification.getContext() != null) {
url = notification.getContext().getId();
} else if (notification.getInReplyTo() != null) {
// Find context information (the item this notification relates to) via the inReplyTo notification ID
LDNMessageEntity inReplyToldnMessageEntity =
ldnMessageService.find(context, notification.getInReplyTo());
if (inReplyToldnMessageEntity != null) {
String dspaceUrl = configurationService.getProperty("dspace.ui.url")
+ "/handle/";
url = dspaceUrl + inReplyToldnMessageEntity.getObject().getHandle();
// Set context based on the inReplyTo and update in DB
LDNMessageEntity ldnMessageEntity = ldnMessageService.find(context, notification.getId());
ldnMessageEntity.setContext(inReplyToldnMessageEntity.getObject());
ldnMessageService.update(context, ldnMessageEntity);
}
}
} else if (OBJECT_ID_ITEM_TYPES.containsAll(notification.getType())) {
url = notification.getObject().getId();
} else if (OBJECT_SUBJECT_ITEM_TYPES.containsAll(notification.getType())) {

View File

@@ -130,6 +130,17 @@ public interface LDNMessageService {
*/
public NotifyRequestStatus findRequestsByItem(Context context, Item item) throws SQLException;
/**
* find the UUID of a previous tentativeReject notification associated with a new resubmission (Endorsement or
* Review patterns only)
*
* @param context the context
* @param item the previousVersion item associated with a potential resubmission
* @return the UUID of a previous tentativeReject notification associated with a potential resubmission if found
*/
public String findEndorsementOrReviewResubmissionIdByItem(Context context, Item item, NotifyServiceEntity service)
throws SQLException;
/**
* delete the provided ldn message
*

View File

@@ -145,6 +145,12 @@ public class LDNMessageServiceImpl implements LDNMessageService {
ldnMessage.setActivityStreamType(notificationTypeArrayList.get(0));
if (notificationTypeArrayList.size() > 1) {
ldnMessage.setCoarNotifyType(notificationTypeArrayList.get(1));
} else {
// The Notification's Type array does not include the CoarNotifyType information, e.g. ack notifications
// Attempt to find it via the inReplyTo if present
if (ldnMessage.getInReplyTo() != null) {
ldnMessage.setCoarNotifyType(ldnMessage.getInReplyTo().getCoarNotifyType());
}
}
ldnMessage.setQueueStatus(LDNMessageEntity.QUEUE_STATUS_QUEUED);
ldnMessage.setSourceIp(sourceIp);
@@ -368,18 +374,23 @@ public class LDNMessageServiceImpl implements LDNMessageService {
offer.setServiceUrl(nse == null ? "" : nse.getUrl());
offer.setOfferType(LDNUtils.getNotifyType(msg.getCoarNotifyType()));
List<LDNMessageEntity> acks = ldnMessageDao.findAllRelatedMessagesByItem(
context, msg, item, "Accept", "TentativeReject", "TentativeAccept", "Announce");
context, msg, item, "Accept", "Reject", "TentativeReject", "TentativeAccept",
"Announce");
if (acks == null || acks.isEmpty()) {
offer.setStatus(NotifyRequestStatusEnum.REQUESTED);
} else if (acks.stream()
.filter(c -> (c.getActivityStreamType().equalsIgnoreCase("TentativeReject")))
.findAny().isPresent()) {
offer.setStatus(NotifyRequestStatusEnum.TENTATIVE_REJECT);
} else if (acks.stream()
.filter(c -> (c.getActivityStreamType().equalsIgnoreCase("Reject")))
.findAny().isPresent()) {
offer.setStatus(NotifyRequestStatusEnum.REJECTED);
} else if (acks.stream()
.filter(c -> (c.getActivityStreamType().equalsIgnoreCase("TentativeAccept") ||
c.getActivityStreamType().equalsIgnoreCase("Accept")))
.findAny().isPresent()) {
offer.setStatus(NotifyRequestStatusEnum.ACCEPTED);
} else if (acks.stream()
.filter(c -> c.getActivityStreamType().equalsIgnoreCase("TentativeReject"))
.findAny().isPresent()) {
offer.setStatus(NotifyRequestStatusEnum.REJECTED);
}
if (acks.stream().filter(
c -> c.getActivityStreamType().equalsIgnoreCase("Announce"))
@@ -391,6 +402,32 @@ public class LDNMessageServiceImpl implements LDNMessageService {
return result;
}
@Override
public String findEndorsementOrReviewResubmissionIdByItem(Context context, Item item, NotifyServiceEntity service)
throws SQLException {
List<LDNMessageEntity> msgs = ldnMessageDao.findAllMessagesByItem(
context, item, "TentativeReject");
if (msgs != null && !msgs.isEmpty()) {
for (LDNMessageEntity msg : msgs) {
// Review and Endorsement are the only patterns supporting resubmissions at present
if (msg.getCoarNotifyType().contains("EndorsementAction")
|| msg.getCoarNotifyType().contains("ReviewAction")) {
// Only provide the resubmissionReplyTo UUID if the pattern supports resubmission
// Add an extra check to ensure that this is a resubmission: current notification service
// matches the service associated with a previous tentativeReject response. This is to avoid a
// case where a previous version of the item received a tentativeReject from one service
// and the author decides to submit the version to a different service, instead of a resubmission
if (msg.getOrigin() != null && msg.getOrigin().getID().equals(service.getID())) {
// Return the first ID found that will be used in the inReplyTo for a resubmission notification
return msg.getID();
}
}
}
}
return null;
}
public void delete(Context context, LDNMessageEntity ldnMessage) throws SQLException {
ldnMessageDao.delete(context, ldnMessage);
}

View File

@@ -7,9 +7,7 @@
*/
package org.dspace.app.mediafilter;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import javax.imageio.ImageIO;
import org.dspace.content.Item;
import org.dspace.services.ConfigurationService;
@@ -63,27 +61,20 @@ public class BrandedPreviewJPEGFilter extends MediaFilter {
@Override
public InputStream getDestinationStream(Item currentItem, InputStream source, boolean verbose)
throws Exception {
// read in bitstream's image
BufferedImage buf = ImageIO.read(source);
// get config params
ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
float xmax = (float) configurationService
.getIntProperty("webui.preview.maxwidth");
float ymax = (float) configurationService
.getIntProperty("webui.preview.maxheight");
boolean blurring = (boolean) configurationService
.getBooleanProperty("webui.preview.blurring");
boolean hqscaling = (boolean) configurationService
.getBooleanProperty("webui.preview.hqscaling");
int xmax = configurationService.getIntProperty("webui.preview.maxwidth");
int ymax = configurationService.getIntProperty("webui.preview.maxheight");
boolean blurring = configurationService.getBooleanProperty("webui.preview.blurring");
boolean hqscaling = configurationService.getBooleanProperty("webui.preview.hqscaling");
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
.getThumbDim(currentItem, buf, verbose, xmax, ymax, blurring, hqscaling, brandHeight, brandFontPoint,
brandFont);
return jpegFilter.getThumb(
currentItem, source, verbose, xmax, ymax, blurring, hqscaling, brandHeight, brandFontPoint, brandFont
);
}
}

View File

@@ -8,19 +8,32 @@
package org.dspace.app.mediafilter;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Transparency;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;
import java.awt.image.ConvolveOp;
import java.awt.image.Kernel;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import com.drew.imaging.ImageMetadataReader;
import com.drew.imaging.ImageProcessingException;
import com.drew.metadata.Metadata;
import com.drew.metadata.MetadataException;
import com.drew.metadata.exif.ExifIFD0Directory;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.content.Item;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
@@ -33,6 +46,8 @@ import org.dspace.services.factory.DSpaceServicesFactory;
* @author Jason Sherman jsherman@usao.edu
*/
public class JPEGFilter extends MediaFilter implements SelfRegisterInputFormats {
private static final Logger log = LogManager.getLogger(JPEGFilter.class);
@Override
public String getFilteredName(String oldFilename) {
return oldFilename + ".jpg";
@@ -62,6 +77,115 @@ public class JPEGFilter extends MediaFilter implements SelfRegisterInputFormats
return "Generated Thumbnail";
}
/**
* Gets the rotation angle from image's metadata using ImageReader.
* This method consumes the InputStream, so you need to be careful to don't reuse the same InputStream after
* computing the rotation angle.
*
* @param buf InputStream of the image file
* @return Rotation angle in degrees (0, 90, 180, or 270)
*/
public static int getImageRotationUsingImageReader(InputStream buf) {
try {
Metadata metadata = ImageMetadataReader.readMetadata(buf);
ExifIFD0Directory directory = metadata.getFirstDirectoryOfType(ExifIFD0Directory.class);
if (directory != null && directory.containsTag(ExifIFD0Directory.TAG_ORIENTATION)) {
return convertRotationToDegrees(directory.getInt(ExifIFD0Directory.TAG_ORIENTATION));
}
} catch (MetadataException | ImageProcessingException | IOException e) {
log.error("Error reading image metadata", e);
}
return 0;
}
public static int convertRotationToDegrees(int valueNode) {
// Common orientation values:
// 1 = Normal (0°)
// 6 = Rotated 90° CW
// 3 = Rotated 180°
// 8 = Rotated 270° CW
switch (valueNode) {
case 6:
return 90;
case 3:
return 180;
case 8:
return 270;
default:
return 0;
}
}
/**
* Rotates an image by the specified angle
*
* @param image The original image
* @param angle The rotation angle in degrees
* @return Rotated image
*/
public static BufferedImage rotateImage(BufferedImage image, int angle) {
if (angle == 0) {
return image;
}
double radians = Math.toRadians(angle);
double sin = Math.abs(Math.sin(radians));
double cos = Math.abs(Math.cos(radians));
int newWidth = (int) Math.round(image.getWidth() * cos + image.getHeight() * sin);
int newHeight = (int) Math.round(image.getWidth() * sin + image.getHeight() * cos);
BufferedImage rotated = new BufferedImage(newWidth, newHeight, image.getType());
Graphics2D g2d = rotated.createGraphics();
AffineTransform at = new AffineTransform();
at.translate(newWidth / 2, newHeight / 2);
at.rotate(radians);
at.translate(-image.getWidth() / 2, -image.getHeight() / 2);
g2d.setTransform(at);
g2d.drawImage(image, 0, 0, null);
g2d.dispose();
return rotated;
}
/**
* Calculates scaled dimension while maintaining aspect ratio
*
* @param imgSize Original image dimensions
* @param boundary Maximum allowed dimensions
* @return New dimensions that fit within boundary while preserving aspect ratio
*/
private Dimension getScaledDimension(Dimension imgSize, Dimension boundary) {
int originalWidth = imgSize.width;
int originalHeight = imgSize.height;
int boundWidth = boundary.width;
int boundHeight = boundary.height;
int newWidth = originalWidth;
int newHeight = originalHeight;
// First check if we need to scale width
if (originalWidth > boundWidth) {
// Scale width to fit
newWidth = boundWidth;
// Scale height to maintain aspect ratio
newHeight = (newWidth * originalHeight) / originalWidth;
}
// Then check if we need to scale even with the new height
if (newHeight > boundHeight) {
// Scale height to fit instead
newHeight = boundHeight;
newWidth = (newHeight * originalWidth) / originalHeight;
}
return new Dimension(newWidth, newHeight);
}
/**
* @param currentItem item
* @param source source input stream
@@ -72,10 +196,65 @@ public class JPEGFilter extends MediaFilter implements SelfRegisterInputFormats
@Override
public InputStream getDestinationStream(Item currentItem, InputStream source, boolean verbose)
throws Exception {
// read in bitstream's image
BufferedImage buf = ImageIO.read(source);
return getThumb(currentItem, source, verbose);
}
return getThumb(currentItem, buf, verbose);
public InputStream getThumb(Item currentItem, InputStream source, boolean verbose)
throws Exception {
// get config params
final ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
int xmax = configurationService
.getIntProperty("thumbnail.maxwidth");
int ymax = configurationService
.getIntProperty("thumbnail.maxheight");
boolean blurring = (boolean) configurationService
.getBooleanProperty("thumbnail.blurring");
boolean hqscaling = (boolean) configurationService
.getBooleanProperty("thumbnail.hqscaling");
return getThumb(currentItem, source, verbose, xmax, ymax, blurring, hqscaling, 0, 0, null);
}
protected InputStream getThumb(
Item currentItem,
InputStream source,
boolean verbose,
int xmax,
int ymax,
boolean blurring,
boolean hqscaling,
int brandHeight,
int brandFontPoint,
String brandFont
) throws Exception {
File tempFile = File.createTempFile("temp", ".tmp");
tempFile.deleteOnExit();
// Write to temp file
try (FileOutputStream fos = new FileOutputStream(tempFile)) {
byte[] buffer = new byte[4096];
int len;
while ((len = source.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
}
int rotation = 0;
try (FileInputStream fis = new FileInputStream(tempFile)) {
rotation = getImageRotationUsingImageReader(fis);
}
try (FileInputStream fis = new FileInputStream(tempFile)) {
// read in bitstream's image
BufferedImage buf = ImageIO.read(fis);
return getThumbDim(
currentItem, buf, verbose, xmax, ymax, blurring, hqscaling, brandHeight, brandFontPoint, rotation,
brandFont
);
}
}
public InputStream getThumb(Item currentItem, BufferedImage buf, boolean verbose)
@@ -83,25 +262,28 @@ public class JPEGFilter extends MediaFilter implements SelfRegisterInputFormats
// get config params
final ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
float xmax = (float) configurationService
int xmax = configurationService
.getIntProperty("thumbnail.maxwidth");
float ymax = (float) configurationService
int ymax = configurationService
.getIntProperty("thumbnail.maxheight");
boolean blurring = (boolean) configurationService
.getBooleanProperty("thumbnail.blurring");
boolean hqscaling = (boolean) configurationService
.getBooleanProperty("thumbnail.hqscaling");
return getThumbDim(currentItem, buf, verbose, xmax, ymax, blurring, hqscaling, 0, 0, null);
return getThumbDim(currentItem, buf, verbose, xmax, ymax, blurring, hqscaling, 0, 0, 0, null);
}
public InputStream getThumbDim(Item currentItem, BufferedImage buf, boolean verbose, float xmax, float ymax,
public InputStream getThumbDim(Item currentItem, BufferedImage buf, boolean verbose, int xmax, int ymax,
boolean blurring, boolean hqscaling, int brandHeight, int brandFontPoint,
String brandFont)
int rotation, String brandFont)
throws Exception {
// now get the image dimensions
float xsize = (float) buf.getWidth(null);
float ysize = (float) buf.getHeight(null);
// Rotate the image if needed
BufferedImage correctedImage = rotateImage(buf, rotation);
int xsize = correctedImage.getWidth();
int ysize = correctedImage.getHeight();
// if verbose flag is set, print out dimensions
// to STDOUT
@@ -109,86 +291,63 @@ public class JPEGFilter extends MediaFilter implements SelfRegisterInputFormats
System.out.println("original size: " + xsize + "," + ysize);
}
// scale by x first if needed
if (xsize > xmax) {
// calculate scaling factor so that xsize * scale = new size (max)
float scale_factor = xmax / xsize;
// Calculate new dimensions while maintaining aspect ratio
Dimension newDimension = getScaledDimension(
new Dimension(xsize, ysize),
new Dimension(xmax, ymax)
);
// if verbose flag is set, print out extracted text
// to STDOUT
if (verbose) {
System.out.println("x scale factor: " + scale_factor);
}
// now reduce x size
// and y size
xsize = xsize * scale_factor;
ysize = ysize * scale_factor;
// if verbose flag is set, print out extracted text
// to STDOUT
if (verbose) {
System.out.println("size after fitting to maximum width: " + xsize + "," + ysize);
}
}
// scale by y if needed
if (ysize > ymax) {
float scale_factor = ymax / ysize;
// now reduce x size
// and y size
xsize = xsize * scale_factor;
ysize = ysize * scale_factor;
}
// if verbose flag is set, print details to STDOUT
if (verbose) {
System.out.println("size after fitting to maximum height: " + xsize + ", "
+ ysize);
System.out.println("size after fitting to maximum height: " + newDimension.width + ", "
+ newDimension.height);
}
xsize = newDimension.width;
ysize = newDimension.height;
// create an image buffer for the thumbnail with the new xsize, ysize
BufferedImage thumbnail = new BufferedImage((int) xsize, (int) ysize,
BufferedImage.TYPE_INT_RGB);
BufferedImage thumbnail = new BufferedImage(xsize, ysize, BufferedImage.TYPE_INT_RGB);
// Use blurring if selected in config.
// a little blur before scaling does wonders for keeping moire in check.
if (blurring) {
// send the buffered image off to get blurred.
buf = getBlurredInstance((BufferedImage) buf);
correctedImage = getBlurredInstance(correctedImage);
}
// Use high quality scaling method if selected in config.
// this has a definite performance penalty.
if (hqscaling) {
// send the buffered image off to get an HQ downscale.
buf = getScaledInstance((BufferedImage) buf, (int) xsize, (int) ysize,
(Object) RenderingHints.VALUE_INTERPOLATION_BICUBIC, (boolean) true);
correctedImage = getScaledInstance(correctedImage, xsize, ysize,
RenderingHints.VALUE_INTERPOLATION_BICUBIC, true);
}
// now render the image into the thumbnail buffer
Graphics2D g2d = thumbnail.createGraphics();
g2d.drawImage(buf, 0, 0, (int) xsize, (int) ysize, null);
g2d.drawImage(correctedImage, 0, 0, xsize, ysize, null);
if (brandHeight != 0) {
ConfigurationService configurationService
= DSpaceServicesFactory.getInstance().getConfigurationService();
Brand brand = new Brand((int) xsize, brandHeight, new Font(brandFont, Font.PLAIN, brandFontPoint), 5);
Brand brand = new Brand(xsize, brandHeight, new Font(brandFont, Font.PLAIN, brandFontPoint), 5);
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);
g2d.drawImage(brandImage, 0, ysize, xsize, 20, null);
}
ByteArrayInputStream bais;
// now create an input stream for the thumbnail buffer and return it
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(thumbnail, "jpeg", baos);
// now get the array
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
ImageIO.write(thumbnail, "jpeg", baos);
// now get the array
bais = new ByteArrayInputStream(baos.toByteArray());
}
return bais; // hope this gets written out before its garbage collected!
}

View File

@@ -81,6 +81,7 @@ public class PDFBoxThumbnail extends MediaFilter {
// Generate thumbnail derivative and return as IO stream.
JPEGFilter jpegFilter = new JPEGFilter();
return jpegFilter.getThumb(currentItem, buf, verbose);
}
}

View File

@@ -18,6 +18,7 @@ import java.nio.charset.StandardCharsets;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.poi.util.IOUtils;
import org.apache.tika.Tika;
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
@@ -37,6 +38,8 @@ import org.xml.sax.SAXException;
public class TikaTextExtractionFilter
extends MediaFilter {
private final static Logger log = LogManager.getLogger();
private static final int DEFAULT_MAX_CHARS = 100_000;
private static final int DEFAULT_MAX_ARRAY = 100_000_000;
@Override
public String getFilteredName(String oldFilename) {
@@ -70,9 +73,12 @@ public class TikaTextExtractionFilter
}
// Not using temporary file. We'll use Tika's default in-memory parsing.
// Get maximum characters to extract. Default is 100,000 chars, which is also Tika's default setting.
String extractedText;
int maxChars = configurationService.getIntProperty("textextractor.max-chars", 100000);
// Get maximum characters to extract. Default is 100,000 chars, which is also Tika's default setting.
int maxChars = configurationService.getIntProperty("textextractor.max-chars", DEFAULT_MAX_CHARS);
// Get maximum size of structure that Tika will try to buffer.
int maxArray = configurationService.getIntProperty("textextractor.max-array", DEFAULT_MAX_ARRAY);
IOUtils.setByteArrayMaxOverride(maxArray);
try {
// Use Tika to extract text from input. Tika will automatically detect the file type.
Tika tika = new Tika();
@@ -80,13 +86,13 @@ public class TikaTextExtractionFilter
extractedText = tika.parseToString(source);
} catch (IOException e) {
System.err.format("Unable to extract text from bitstream in Item %s%n", currentItem.getID().toString());
e.printStackTrace();
e.printStackTrace(System.err);
log.error("Unable to extract text from bitstream in Item {}", currentItem.getID().toString(), e);
throw e;
} catch (OutOfMemoryError oe) {
System.err.format("OutOfMemoryError occurred when extracting text from bitstream in Item %s. " +
"You may wish to enable 'textextractor.use-temp-file'.%n", currentItem.getID().toString());
oe.printStackTrace();
oe.printStackTrace(System.err);
log.error("OutOfMemoryError occurred when extracting text from bitstream in Item {}. " +
"You may wish to enable 'textextractor.use-temp-file'.", currentItem.getID().toString(), oe);
throw oe;
@@ -138,7 +144,7 @@ public class TikaTextExtractionFilter
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
try {
writer.append(new String(ch), start, length);
writer.append(new String(ch, start, length));
} catch (IOException e) {
String errorMsg = String.format("Could not append to temporary file at %s " +
"when performing text extraction",
@@ -156,7 +162,7 @@ public class TikaTextExtractionFilter
@Override
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {
try {
writer.append(new String(ch), start, length);
writer.append(new String(ch, start, length));
} catch (IOException e) {
String errorMsg = String.format("Could not append to temporary file at %s " +
"when performing text extraction",
@@ -167,6 +173,10 @@ public class TikaTextExtractionFilter
}
});
ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService();
int maxArray = configurationService.getIntProperty("textextractor.max-array", DEFAULT_MAX_ARRAY);
IOUtils.setByteArrayMaxOverride(maxArray);
AutoDetectParser parser = new AutoDetectParser();
Metadata metadata = new Metadata();
// parse our source InputStream using the above custom handler

View File

@@ -18,6 +18,7 @@ import javax.xml.parsers.ParserConfigurationException;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.Logger;
import org.dspace.app.sfx.service.SFXFileReaderService;
import org.dspace.app.util.XMLUtils;
import org.dspace.content.DCPersonName;
import org.dspace.content.Item;
import org.dspace.content.MetadataValue;
@@ -79,9 +80,9 @@ public class SFXFileReaderServiceImpl implements SFXFileReaderService {
log.info("Parsing XML file... " + fileName);
DocumentBuilder docBuilder;
Document doc = null;
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
docBuilderFactory.setIgnoringElementContentWhitespace(true);
try {
DocumentBuilderFactory docBuilderFactory = XMLUtils.getDocumentBuilderFactory();
docBuilderFactory.setIgnoringElementContentWhitespace(true);
docBuilder = docBuilderFactory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
log.error("Wrong parser configuration: " + e.getMessage());

View File

@@ -17,15 +17,15 @@ import jakarta.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;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
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.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.client.DSpaceHttpClientFactory;
import org.dspace.app.sherpa.v2.SHERPAPublisherResponse;
import org.dspace.app.sherpa.v2.SHERPAResponse;
import org.dspace.app.sherpa.v2.SHERPAUtils;
@@ -45,8 +45,6 @@ import org.springframework.cache.annotation.Cacheable;
*/
public class SHERPAService {
private CloseableHttpClient client = null;
private int maxNumberOfTries;
private long sleepBetweenTimeouts;
private int timeout = 5000;
@@ -59,26 +57,13 @@ public class SHERPAService {
@Autowired
ConfigurationService configurationService;
/**
* Create a new HTTP builder with sensible defaults in constructor
*/
public SHERPAService() {
HttpClientBuilder builder = HttpClientBuilder.create();
// httpclient 4.3+ doesn't appear to have any sensible defaults any more. Setting conservative defaults as
// not to hammer the SHERPA service too much.
client = builder
.disableAutomaticRetries()
.setMaxConnTotal(5)
.build();
}
/**
* Complete initialization of the Bean.
*/
@SuppressWarnings("unused")
@PostConstruct
private void init() {
// Get endoint and API key from configuration
// Get endpoint and API key from configuration
endpoint = configurationService.getProperty("sherpa.romeo.url",
"https://v2.sherpa.ac.uk/cgi/retrieve");
apiKey = configurationService.getProperty("sherpa.romeo.apikey");
@@ -132,46 +117,47 @@ public class SHERPAService {
timeout,
sleepBetweenTimeouts));
try {
try (CloseableHttpClient client = DSpaceHttpClientFactory.getInstance().buildWithoutAutomaticRetries(5)) {
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();
try (CloseableHttpResponse response = client.execute(method)) {
int statusCode = response.getStatusLine().getStatusCode();
log.debug(response.getStatusLine().getStatusCode() + ": "
+ response.getStatusLine().getReasonPhrase());
log.debug(response.getStatusLine().getStatusCode() + ": "
+ response.getStatusLine().getReasonPhrase());
if (statusCode != HttpStatus.SC_OK) {
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) {
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();
}
if (statusCode != HttpStatus.SC_OK) {
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) {
log.debug("Non-null SHERPA response 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 {
log.debug("Empty SHERPA response body for query on " + value);
sherpaResponse = new SHERPAPublisherResponse("SHERPA/RoMEO returned no response");
}
} else {
log.debug("Empty SHERPA response body for query on " + value);
sherpaResponse = new SHERPAPublisherResponse("SHERPA/RoMEO returned no response");
}
} catch (URISyntaxException e) {
String errorMessage = "Error building SHERPA v2 API URI: " + e.getMessage();
@@ -235,45 +221,46 @@ public class SHERPAService {
timeout,
sleepBetweenTimeouts));
try {
try (CloseableHttpClient client = DSpaceHttpClientFactory.getInstance().buildWithoutAutomaticRetries(5)) {
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();
try (CloseableHttpResponse response = client.execute(method)) {
int statusCode = response.getStatusLine().getStatusCode();
log.debug(response.getStatusLine().getStatusCode() + ": "
+ response.getStatusLine().getReasonPhrase());
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();
}
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 response 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");
}
} 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();
@@ -283,7 +270,7 @@ public class SHERPAService {
String errorMessage = "Encountered exception while contacting SHERPA/RoMEO: " + e.getMessage();
log.error(errorMessage, e);
sherpaResponse = new SHERPAResponse(errorMessage);
} catch (InterruptedException e) {
} catch (InterruptedException e) {
String errorMessage = "Encountered exception while sleeping thread: " + e.getMessage();
log.error(errorMessage, e);
sherpaResponse = new SHERPAResponse(errorMessage);

View File

@@ -7,6 +7,8 @@
*/
package org.dspace.app.sitemap;
import static org.dspace.discovery.SearchUtils.RESOURCE_TYPE_FIELD;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
@@ -189,7 +191,8 @@ public class GenerateSitemaps {
try {
DiscoverQuery discoveryQuery = new DiscoverQuery();
discoveryQuery.setMaxResults(PAGE_SIZE);
discoveryQuery.setQuery("search.resourcetype:Community");
discoveryQuery.setQuery("*:*");
discoveryQuery.addFilterQueries(RESOURCE_TYPE_FIELD + ":Community");
do {
discoveryQuery.setStart(offset);
DiscoverResult discoverResult = searchService.search(c, discoveryQuery);
@@ -213,7 +216,8 @@ public class GenerateSitemaps {
offset = 0;
discoveryQuery = new DiscoverQuery();
discoveryQuery.setMaxResults(PAGE_SIZE);
discoveryQuery.setQuery("search.resourcetype:Collection");
discoveryQuery.setQuery("*:*");
discoveryQuery.addFilterQueries(RESOURCE_TYPE_FIELD + ":Collection");
do {
discoveryQuery.setStart(offset);
DiscoverResult discoverResult = searchService.search(c, discoveryQuery);
@@ -237,7 +241,8 @@ public class GenerateSitemaps {
offset = 0;
discoveryQuery = new DiscoverQuery();
discoveryQuery.setMaxResults(PAGE_SIZE);
discoveryQuery.setQuery("search.resourcetype:Item");
discoveryQuery.setQuery("*:*");
discoveryQuery.addFilterQueries(RESOURCE_TYPE_FIELD + ":Item");
discoveryQuery.addSearchField("search.entitytype");
do {

View File

@@ -98,7 +98,8 @@ public class SolrDatabaseResyncCli extends DSpaceRunnable<SolrDatabaseResyncCliS
private void performStatusUpdate(Context context) throws SearchServiceException, SolrServerException, IOException {
SolrQuery solrQuery = new SolrQuery();
solrQuery.setQuery(STATUS_FIELD + ":" + STATUS_FIELD_PREDB);
solrQuery.setQuery("*:*");
solrQuery.addFilterQuery(STATUS_FIELD + ":" + STATUS_FIELD_PREDB);
solrQuery.addFilterQuery(SearchUtils.RESOURCE_TYPE_FIELD + ":" + IndexableItem.TYPE);
String dateRangeFilter = SearchUtils.LAST_INDEXED_FIELD + ":[* TO " + maxTime + "]";
logDebugAndOut("Date range filter used; " + dateRangeFilter);

View File

@@ -15,7 +15,6 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import org.apache.commons.lang3.StringUtils;
@@ -118,15 +117,17 @@ public class DCInputsReader {
formDefns = new HashMap<String, List<List<Map<String, String>>>>();
valuePairs = new HashMap<String, List<String>>();
String uri = "file:" + new File(fileName).getAbsolutePath();
File inputFile = new File(fileName);
String inputFileDir = inputFile.toPath().normalize().getParent().toString();
String uri = "file:" + inputFile.getAbsolutePath();
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(false);
factory.setIgnoringComments(true);
factory.setIgnoringElementContentWhitespace(true);
DocumentBuilder db = factory.newDocumentBuilder();
// This document builder will *not* disable external
// entities as they can be useful in managing large forms, but
// it will restrict them to be within the directory that the
// current input form XML file exists (or a sub-directory)
DocumentBuilder db = XMLUtils.getTrustedDocumentBuilder(inputFileDir);
Document doc = db.parse(uri);
doNodes(doc);
checkValues();
@@ -379,7 +380,7 @@ public class DCInputsReader {
}
// sanity check number of fields
if (fields.size() < 1) {
throw new DCInputsReaderException("Form " + formName + "row " + rowIdx + " has no fields");
throw new DCInputsReaderException("Form " + formName + ", row " + rowIdx + " has no fields");
}
}

View File

@@ -11,7 +11,6 @@ import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.apache.commons.cli.CommandLine;
@@ -64,20 +63,36 @@ public class InitializeEntities {
*/
public static void main(String[] argv) throws SQLException, AuthorizeException, ParseException {
InitializeEntities initializeEntities = new InitializeEntities();
// Set up command-line options and parse arguments
CommandLineParser parser = new DefaultParser();
Options options = createCommandLineOptions();
CommandLine line = parser.parse(options,argv);
String fileLocation = getFileLocationFromCommandLine(line);
// First of all, check if the help option was entered or a required argument is missing
checkHelpEntered(options, line);
// Get the file location from the command line
String fileLocation = getFileLocationFromCommandLine(line);
// Run the script
initializeEntities.run(fileLocation);
}
/**
* Check if the help option was entered or a required argument is missing. If so, print help and exit.
* @param options the defined command-line options
* @param line the parsed command-line arguments
*/
private static void checkHelpEntered(Options options, CommandLine line) {
if (line.hasOption("h")) {
if (line.hasOption("h") || !line.hasOption("f")) {
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("Intialize Entities", options);
System.exit(0);
}
}
/**
* Get the file path from the command-line argument. Exits with exit code 1 if no file argument was entered.
* @param line the parsed command-line arguments
* @return the file path
*/
private static String getFileLocationFromCommandLine(CommandLine line) {
String query = line.getOptionValue("f");
if (StringUtils.isEmpty(query)) {
@@ -88,13 +103,25 @@ public class InitializeEntities {
return query;
}
/**
* Create the command-line options
* @return the command-line options
*/
protected static Options createCommandLineOptions() {
Options options = new Options();
options.addOption("f", "file", true, "the location for the file containing the xml data");
options.addOption("f", "file", true, "the path to the file containing the " +
"relationship definitions (e.g. ${dspace.dir}/config/entities/relationship-types.xml)");
options.addOption("h", "help", false, "print this message");
return options;
}
/**
* Run the script for the given file location
* @param fileLocation the file location
* @throws SQLException If something goes wrong initializing context or inserting relationship types
* @throws AuthorizeException If the script user fails to authorize while inserting relationship types
*/
private void run(String fileLocation) throws SQLException, AuthorizeException {
Context context = new Context();
context.turnOffAuthorisationSystem();
@@ -102,11 +129,18 @@ public class InitializeEntities {
context.complete();
}
/**
* Parse the XML file at fileLocation to create relationship types in the database
* @param context DSpace context
* @param fileLocation the full or relative file path to the relationship types XML
* @throws AuthorizeException If the script user fails to authorize while inserting relationship types
*/
private void parseXMLToRelations(Context context, String fileLocation) throws AuthorizeException {
try {
File fXmlFile = new File(fileLocation);
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
// This XML builder will allow external entities, so the relationship types XML should
// be considered trusted by administrators
DocumentBuilder dBuilder = XMLUtils.getTrustedDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
@@ -158,15 +192,15 @@ public class InitializeEntities {
for (int j = 0; j < leftCardinalityList.getLength(); j++) {
Node node = leftCardinalityList.item(j);
leftCardinalityMin = getString(leftCardinalityMin,(Element) node, "min");
leftCardinalityMax = getString(leftCardinalityMax,(Element) node, "max");
leftCardinalityMin = getCardinalityMinString(leftCardinalityMin,(Element) node, "min");
leftCardinalityMax = getCardinalityMinString(leftCardinalityMax,(Element) node, "max");
}
for (int j = 0; j < rightCardinalityList.getLength(); j++) {
Node node = rightCardinalityList.item(j);
rightCardinalityMin = getString(rightCardinalityMin,(Element) node, "min");
rightCardinalityMax = getString(rightCardinalityMax,(Element) node, "max");
rightCardinalityMin = getCardinalityMinString(rightCardinalityMin,(Element) node, "min");
rightCardinalityMax = getCardinalityMinString(rightCardinalityMax,(Element) node, "max");
}
populateRelationshipType(context, leftType, rightType, leftwardType, rightwardType,
@@ -182,13 +216,39 @@ public class InitializeEntities {
}
}
private String getString(String leftCardinalityMin,Element node, String minOrMax) {
/**
* Extract the min or max value for the left or right cardinality from the node text content
* @param leftCardinalityMin current left cardinality min
* @param node node to extract the min or max value from
* @param minOrMax element tag name to parse
* @return final left cardinality min
*/
private String getCardinalityMinString(String leftCardinalityMin, Element node, String minOrMax) {
if (node.getElementsByTagName(minOrMax).getLength() > 0) {
leftCardinalityMin = node.getElementsByTagName(minOrMax).item(0).getTextContent();
}
return leftCardinalityMin;
}
/**
* Populate the relationship type based on values parsed from the XML relationship types configuration
*
* @param context DSpace context
* @param leftType left relationship type (e.g. "Publication").
* @param rightType right relationship type (e.g. "Journal").
* @param leftwardType leftward relationship type (e.g. "isAuthorOfPublication").
* @param rightwardType rightward relationship type (e.g. "isPublicationOfAuthor").
* @param leftCardinalityMin left cardinality min
* @param leftCardinalityMax left cardinality max
* @param rightCardinalityMin right cardinality min
* @param rightCardinalityMax right cardinality max
* @param copyToLeft copy metadata values to left if right side is deleted
* @param copyToRight copy metadata values to right if left side is deleted
* @param tilted set a tilted relationship side (left or right) if there are many relationships going one way
* to help performance (e.g. authors with 1000s of publications)
* @throws SQLException if database error occurs while saving the relationship type
* @throws AuthorizeException if authorization error occurs while saving the relationship type
*/
private void populateRelationshipType(Context context, String leftType, String rightType, String leftwardType,
String rightwardType, String leftCardinalityMin, String leftCardinalityMax,
String rightCardinalityMin, String rightCardinalityMax,

View File

@@ -101,6 +101,14 @@ public class OpenSearchServiceImpl implements OpenSearchService {
configurationService.getProperty("websvc.opensearch.uicontext");
}
/**
* Get base search UI URL (websvc.opensearch.max_num_of_items_per_request)
*/
public int getMaxNumOfItemsPerRequest() {
return configurationService.getIntProperty(
"websvc.opensearch.max_num_of_items_per_request", 100);
}
@Override
public String getContentType(String format) {
return "html".equals(format) ? "text/html" :

View File

@@ -16,7 +16,6 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import org.apache.commons.lang3.StringUtils;
@@ -170,13 +169,10 @@ public class SubmissionConfigReader {
String uri = "file:" + new File(fileName).getAbsolutePath();
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
factory.setValidating(false);
factory.setIgnoringComments(true);
factory.setIgnoringElementContentWhitespace(true);
DocumentBuilder db = factory.newDocumentBuilder();
// This document builder factory will *not* disable external
// entities as they can be useful in managing large forms, but
// it will restrict them to the config dir containing submission definitions
DocumentBuilder db = XMLUtils.getTrustedDocumentBuilder(configDir);
Document doc = db.parse(uri);
doNodes(doc);
} catch (FactoryConfigurationError fe) {
@@ -732,4 +728,4 @@ public class SubmissionConfigReader {
}
return results;
}
}
}

View File

@@ -13,12 +13,12 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpHead;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.logging.log4j.Logger;
import org.dspace.app.client.DSpaceHttpClientFactory;
import org.dspace.app.util.dao.WebAppDAO;
import org.dspace.app.util.service.WebAppService;
import org.dspace.core.Context;
@@ -77,8 +77,8 @@ public class WebAppServiceImpl implements WebAppService {
for (WebApp app : webApps) {
method = new HttpHead(app.getUrl());
int status;
try (CloseableHttpClient client = HttpClientBuilder.create().build()) {
HttpResponse response = client.execute(method);
try (CloseableHttpClient client = DSpaceHttpClientFactory.getInstance().build()) {
CloseableHttpResponse response = client.execute(method);
status = response.getStatusLine().getStatusCode();
}
if (status != HttpStatus.SC_OK) {

View File

@@ -7,12 +7,26 @@
*/
package org.dspace.app.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.stream.XMLInputFactory;
import org.apache.commons.lang3.StringUtils;
import org.jdom2.input.SAXBuilder;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
/**
* Simple class to read information from small XML using DOM manipulation
@@ -161,4 +175,195 @@ public class XMLUtils {
}
return result;
}
/**
* Initialize and return a javax DocumentBuilderFactory with NO security
* applied. This is intended only for internal, administrative/configuration
* use where external entities and other dangerous features are actually
* purposefully included.
* The method here is tiny, but may be expanded with other features like
* whitespace handling, and calling this method name helps to document
* the fact that the caller knows it is trusting the XML source / factory.
*
* @return document builder factory to generate new builders
* @throws ParserConfigurationException
*/
public static DocumentBuilderFactory getTrustedDocumentBuilderFactory()
throws ParserConfigurationException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
return factory;
}
/**
* Initialize and return the javax DocumentBuilderFactory with some basic security
* applied to avoid XXE attacks and other unwanted content inclusion
* @return document builder factory to generate new builders
* @throws ParserConfigurationException
*/
public static DocumentBuilderFactory getDocumentBuilderFactory()
throws ParserConfigurationException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// No DOCTYPE / DTDs
factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
// No external general entities
factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
// No external parameter entities
factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
// No external DTDs
factory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
// Even if entities somehow get defined, they will not be expanded
factory.setExpandEntityReferences(false);
// Disable "XInclude" markup processing
factory.setXIncludeAware(false);
return factory;
}
/**
* Initialize and return a javax DocumentBuilder with less security
* applied. This is intended only for internal, administrative/configuration
* use where external entities and other dangerous features are actually
* purposefully included, but are only allowed from specified paths, e.g.
* dspace.dir or some other path specified by the java caller.
* The method here is tiny, but may be expanded with other features like
* whitespace handling, and calling this method name helps to document
* the fact that the caller knows it is trusting the XML source / builder
* <p>
* If no allowedPaths are passed, then all external entities are rejected
*
* @return document builder with no security features set
* @throws ParserConfigurationException if the builder can not be configured
*/
public static DocumentBuilder getTrustedDocumentBuilder(String... allowedPaths)
throws ParserConfigurationException {
DocumentBuilderFactory factory = getTrustedDocumentBuilderFactory();
factory.setValidating(false);
factory.setIgnoringComments(true);
factory.setIgnoringElementContentWhitespace(true);
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setEntityResolver(new PathRestrictedEntityResolver(allowedPaths));
return factory.newDocumentBuilder();
}
/**
* Initialize and return the javax DocumentBuilder with some basic security applied
* to avoid XXE attacks and other unwanted content inclusion
* @return document builder for use in XML parsing
* @throws ParserConfigurationException if the builder can not be configured
*/
public static DocumentBuilder getDocumentBuilder()
throws ParserConfigurationException {
return getDocumentBuilderFactory().newDocumentBuilder();
}
/**
* Initialize and return the SAX document builder with some basic security applied
* to avoid XXE attacks and other unwanted content inclusion
* @return SAX document builder for use in XML parsing
*/
public static SAXBuilder getSAXBuilder() {
return getSAXBuilder(false);
}
/**
* Initialize and return the SAX document builder with some basic security applied
* to avoid XXE attacks and other unwanted content inclusion
* @param validate whether to use JDOM XSD validation
* @return SAX document builder for use in XML parsing
*/
public static SAXBuilder getSAXBuilder(boolean validate) {
SAXBuilder saxBuilder = new SAXBuilder();
if (validate) {
saxBuilder.setValidation(true);
}
// No DOCTYPE / DTDs
saxBuilder.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
// No external general entities
saxBuilder.setFeature("http://xml.org/sax/features/external-general-entities", false);
// No external parameter entities
saxBuilder.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
// No external DTDs
saxBuilder.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
// Don't expand entities
saxBuilder.setExpandEntities(false);
return saxBuilder;
}
/**
* Initialize and return the Java XML Input Factory with some basic security applied
* to avoid XXE attacks and other unwanted content inclusion
* @return XML input factory for use in XML parsing
*/
public static XMLInputFactory getXMLInputFactory() {
XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory();
xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, false);
return xmlInputFactory;
}
/**
* This entity resolver accepts one or more path strings in its
* constructor and throws a SAXException if the entity systemID
* is not within the allowed path (or a subdirectory).
* If no parameters are passed, then this effectively disallows
* any external entity resolution.
*/
public static class PathRestrictedEntityResolver implements EntityResolver {
private final List<String> allowedBasePaths;
public PathRestrictedEntityResolver(String... allowedBasePaths) {
this.allowedBasePaths = Arrays.asList(allowedBasePaths);
}
@Override
public InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
if (systemId == null) {
return null;
}
String filePath;
if (systemId.startsWith("file://")) {
filePath = systemId.substring(7);
} else if (systemId.startsWith("file:")) {
filePath = systemId.substring(5);
} else if (!systemId.contains("://")) {
filePath = systemId;
} else {
throw new SAXException("External resources not allowed: " + systemId +
". Only local file paths are permitted.");
}
Path resolvedPath;
try {
resolvedPath = Paths.get(filePath).toAbsolutePath().normalize();
} catch (Exception e) {
throw new SAXException("Invalid path: " + systemId, e);
}
boolean isAllowed = false;
for (String basePath : allowedBasePaths) {
Path allowedPath = Paths.get(basePath).toAbsolutePath().normalize();
if (resolvedPath.startsWith(allowedPath)) {
isAllowed = true;
break;
}
}
if (!isAllowed) {
throw new SAXException("Access denied to path: " + resolvedPath);
}
File file = resolvedPath.toFile();
if (!file.exists() || !file.canRead()) {
throw new SAXException("File not found or not readable: " + resolvedPath);
}
return new InputSource(new FileInputStream(file));
}
}
}

View File

@@ -117,4 +117,10 @@ public interface OpenSearchService {
public DSpaceObject resolveScope(Context context, String scope) throws SQLException;
/**
* Retrieves the maximum number of items that can be included in a single opensearch request.
*
* @return the maximum number of items allowed per request
*/
int getMaxNumOfItemsPerRequest();
}

View File

@@ -22,12 +22,13 @@ import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.methods.RequestBuilder;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.dspace.app.client.DSpaceHttpClientFactory;
import org.dspace.authenticate.oidc.OidcClient;
import org.dspace.authenticate.oidc.OidcClientException;
import org.dspace.authenticate.oidc.model.OidcTokenResponseDTO;
@@ -83,21 +84,17 @@ public class OidcClientImpl implements OidcClient {
}
private <T> T executeAndParseJson(HttpUriRequest httpUriRequest, Class<T> clazz) {
HttpClient client = HttpClientBuilder.create().build();
return executeAndReturns(() -> {
HttpResponse response = client.execute(httpUriRequest);
if (isNotSuccessfull(response)) {
throw new OidcClientException(getStatusCode(response), formatErrorMessage(response));
}
return objectMapper.readValue(getContent(response), clazz);
});
try (CloseableHttpClient client = DSpaceHttpClientFactory.getInstance().build()) {
return executeAndReturns(() -> {
CloseableHttpResponse response = client.execute(httpUriRequest);
if (isNotSuccessfull(response)) {
throw new OidcClientException(getStatusCode(response), formatErrorMessage(response));
}
return objectMapper.readValue(getContent(response), clazz);
});
} catch (IOException e) {
throw new RuntimeException(e);
}
}
private <T> T executeAndReturns(ThrowingSupplier<T, Exception> supplier) {

View File

@@ -7,27 +7,22 @@
*/
package org.dspace.authority.orcid;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.authority.AuthorityValue;
import org.dspace.authority.SolrAuthorityInterface;
import org.dspace.external.OrcidRestConnector;
import org.dspace.external.provider.orcid.xml.XMLtoBio;
import org.json.JSONObject;
import org.dspace.orcid.model.factory.OrcidFactoryUtils;
import org.orcid.jaxb.model.v3.release.common.OrcidIdentifier;
import org.orcid.jaxb.model.v3.release.record.Person;
import org.orcid.jaxb.model.v3.release.search.Result;
@@ -50,6 +45,11 @@ public class Orcidv3SolrAuthorityImpl implements SolrAuthorityInterface {
private String accessToken;
/**
* Maximum retries to allow for the access token retrieval
*/
private int maxClientRetries = 3;
public void setOAUTHUrl(String oAUTHUrl) {
OAUTHUrl = oAUTHUrl;
}
@@ -62,46 +62,32 @@ public class Orcidv3SolrAuthorityImpl implements SolrAuthorityInterface {
this.clientSecret = clientSecret;
}
public String getAccessToken() {
return accessToken;
}
public void setAccessToken(String accessToken) {
this.accessToken = accessToken;
}
/**
* Initialize the accessToken that is required for all subsequent calls to ORCID
*/
public void init() {
if (StringUtils.isBlank(accessToken)
&& StringUtils.isNotBlank(clientSecret)
&& StringUtils.isNotBlank(clientId)
&& StringUtils.isNotBlank(OAUTHUrl)) {
String authenticationParameters = "?client_id=" + clientId +
"&client_secret=" + clientSecret +
"&scope=/read-public&grant_type=client_credentials";
try {
HttpPost httpPost = new HttpPost(OAUTHUrl + authenticationParameters);
httpPost.addHeader("Accept", "application/json");
httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");
// Initialize access token at spring instantiation. If it fails, the access token will be null rather
// than causing a fatal Spring startup error
initializeAccessToken();
}
HttpClient httpClient = HttpClientBuilder.create().build();
HttpResponse getResponse = httpClient.execute(httpPost);
JSONObject responseObject = null;
try (InputStream is = getResponse.getEntity().getContent();
BufferedReader streamReader = new BufferedReader(new InputStreamReader(is, "UTF-8"))) {
String inputStr;
while ((inputStr = streamReader.readLine()) != null && responseObject == null) {
if (inputStr.startsWith("{") && inputStr.endsWith("}") && inputStr.contains("access_token")) {
try {
responseObject = new JSONObject(inputStr);
} catch (Exception e) {
//Not as valid as I'd hoped, move along
responseObject = null;
}
}
}
}
if (responseObject != null && responseObject.has("access_token")) {
accessToken = (String) responseObject.get("access_token");
}
} catch (Exception e) {
throw new RuntimeException("Error during initialization of the Orcid connector", e);
}
public void initializeAccessToken() {
// If we have reaches max retries or the access token is already set, return immediately
if (maxClientRetries <= 0 || org.apache.commons.lang3.StringUtils.isNotBlank(accessToken)) {
return;
}
try {
accessToken = OrcidFactoryUtils.retrieveAccessToken(clientId, clientSecret, OAUTHUrl).orElse(null);
} catch (IOException e) {
log.error("Error retrieving ORCID access token, {} retries left", --maxClientRetries);
}
}
@@ -116,7 +102,7 @@ public class Orcidv3SolrAuthorityImpl implements SolrAuthorityInterface {
*/
@Override
public List<AuthorityValue> queryAuthorities(String text, int max) {
init();
initializeAccessToken();
List<Person> bios = queryBio(text, max);
List<AuthorityValue> result = new ArrayList<>();
for (Person person : bios) {
@@ -135,7 +121,7 @@ public class Orcidv3SolrAuthorityImpl implements SolrAuthorityInterface {
*/
@Override
public AuthorityValue queryAuthorityID(String id) {
init();
initializeAccessToken();
Person person = getBio(id);
AuthorityValue valueFromPerson = Orcidv3AuthorityValue.create(person);
return valueFromPerson;
@@ -151,11 +137,14 @@ public class Orcidv3SolrAuthorityImpl implements SolrAuthorityInterface {
if (!isValid(id)) {
return null;
}
init();
if (orcidRestConnector == null) {
log.error("ORCID REST connector is null, returning null Person");
return null;
}
initializeAccessToken();
InputStream bioDocument = orcidRestConnector.get(id + ((id.endsWith("/person")) ? "" : "/person"), accessToken);
XMLtoBio converter = new XMLtoBio();
Person person = converter.convertSinglePerson(bioDocument);
return person;
return converter.convertSinglePerson(bioDocument);
}
@@ -167,10 +156,16 @@ public class Orcidv3SolrAuthorityImpl implements SolrAuthorityInterface {
* @return List<Person>
*/
public List<Person> queryBio(String text, int start, int rows) {
init();
if (rows > 100) {
throw new IllegalArgumentException("The maximum number of results to retrieve cannot exceed 100.");
}
// Check REST connector is initialized
if (orcidRestConnector == null) {
log.error("ORCID REST connector is not initialized, returning empty list");
return Collections.emptyList();
}
// Check / init access token
initializeAccessToken();
String searchPath = "search?q=" + URLEncoder.encode(text) + "&start=" + start + "&rows=" + rows;
log.debug("queryBio searchPath=" + searchPath + " accessToken=" + accessToken);

View File

@@ -9,12 +9,14 @@ package org.dspace.authorize;
import static org.dspace.app.util.AuthorizeUtil.canCollectionAdminManageAccounts;
import static org.dspace.app.util.AuthorizeUtil.canCommunityAdminManageAccounts;
import static org.dspace.discovery.SearchUtils.RESOURCE_TYPE_FIELD;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import org.apache.commons.collections4.CollectionUtils;
@@ -47,6 +49,7 @@ import org.dspace.discovery.indexobject.IndexableItem;
import org.dspace.eperson.EPerson;
import org.dspace.eperson.Group;
import org.dspace.eperson.service.GroupService;
import org.dspace.services.ConfigurationService;
import org.dspace.workflow.WorkflowItemService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -83,6 +86,8 @@ public class AuthorizeServiceImpl implements AuthorizeService {
protected WorkflowItemService workflowItemService;
@Autowired(required = true)
private SearchService searchService;
@Autowired(required = true)
private ConfigurationService configurationService;
protected AuthorizeServiceImpl() {
@@ -507,17 +512,26 @@ public class AuthorizeServiceImpl implements AuthorizeService {
return resourcePolicyService.find(c, o, actionID);
}
@Override
public void inheritPolicies(Context c, DSpaceObject src, DSpaceObject dest)
throws SQLException, AuthorizeException {
inheritPolicies(c, src, dest, false);
}
@Override
public void inheritPolicies(Context c, DSpaceObject src,
DSpaceObject dest) throws SQLException, AuthorizeException {
DSpaceObject dest, boolean includeCustom) throws SQLException, AuthorizeException {
// find all policies for the source object
List<ResourcePolicy> policies = getPolicies(c, src);
//Only inherit non-ADMIN policies (since ADMIN policies are automatically inherited)
//and non-custom policies as these are manually applied when appropriate
// Only inherit non-ADMIN policies (since ADMIN policies are automatically inherited)
// and non-custom policies (usually applied manually?) UNLESS specified otherwise with includCustom
// (for example, item.addBundle() will inherit custom policies to enforce access conditions)
List<ResourcePolicy> nonAdminPolicies = new ArrayList<>();
for (ResourcePolicy rp : policies) {
if (rp.getAction() != Constants.ADMIN && !StringUtils.equals(rp.getRpType(), ResourcePolicy.TYPE_CUSTOM)) {
if (rp.getAction() != Constants.ADMIN && (!StringUtils.equals(rp.getRpType(), ResourcePolicy.TYPE_CUSTOM)
|| (includeCustom && StringUtils.equals(rp.getRpType(), ResourcePolicy.TYPE_CUSTOM)
&& isNotAlreadyACustomRPOfThisTypeOnDSO(c, dest)))) {
nonAdminPolicies.add(rp);
}
}
@@ -736,7 +750,7 @@ public class AuthorizeServiceImpl implements AuthorizeService {
*/
@Override
public boolean isCommunityAdmin(Context context) throws SQLException {
return performCheck(context, "search.resourcetype:" + IndexableCommunity.TYPE);
return performCheck(context, RESOURCE_TYPE_FIELD + ":" + IndexableCommunity.TYPE);
}
/**
@@ -749,7 +763,7 @@ public class AuthorizeServiceImpl implements AuthorizeService {
*/
@Override
public boolean isCollectionAdmin(Context context) throws SQLException {
return performCheck(context, "search.resourcetype:" + IndexableCollection.TYPE);
return performCheck(context, RESOURCE_TYPE_FIELD + ":" + IndexableCollection.TYPE);
}
/**
@@ -762,7 +776,7 @@ public class AuthorizeServiceImpl implements AuthorizeService {
*/
@Override
public boolean isItemAdmin(Context context) throws SQLException {
return performCheck(context, "search.resourcetype:" + IndexableItem.TYPE);
return performCheck(context, RESOURCE_TYPE_FIELD + ":" + IndexableItem.TYPE);
}
/**
@@ -776,8 +790,8 @@ public class AuthorizeServiceImpl implements AuthorizeService {
@Override
public boolean isComColAdmin(Context context) throws SQLException {
return performCheck(context,
"(search.resourcetype:" + IndexableCommunity.TYPE + " OR search.resourcetype:" +
IndexableCollection.TYPE + ")");
"(" + RESOURCE_TYPE_FIELD + ":" + IndexableCommunity.TYPE + " OR " +
RESOURCE_TYPE_FIELD + ":" + IndexableCollection.TYPE + ")");
}
/**
@@ -795,7 +809,7 @@ public class AuthorizeServiceImpl implements AuthorizeService {
throws SearchServiceException, SQLException {
List<Community> communities = new ArrayList<>();
query = formatCustomQuery(query);
DiscoverResult discoverResult = getDiscoverResult(context, query + "search.resourcetype:" +
DiscoverResult discoverResult = getDiscoverResult(context, query + RESOURCE_TYPE_FIELD + ":" +
IndexableCommunity.TYPE,
offset, limit, null, null);
for (IndexableObject solrCollections : discoverResult.getIndexableObjects()) {
@@ -817,9 +831,9 @@ public class AuthorizeServiceImpl implements AuthorizeService {
public long countAdminAuthorizedCommunity(Context context, String query)
throws SearchServiceException, SQLException {
query = formatCustomQuery(query);
DiscoverResult discoverResult = getDiscoverResult(context, query + "search.resourcetype:" +
DiscoverResult discoverResult = getDiscoverResult(context, query + RESOURCE_TYPE_FIELD + ":" +
IndexableCommunity.TYPE,
null, null, null, null);
null, 0, null, null);
return discoverResult.getTotalSearchResults();
}
@@ -842,7 +856,7 @@ public class AuthorizeServiceImpl implements AuthorizeService {
}
query = formatCustomQuery(query);
DiscoverResult discoverResult = getDiscoverResult(context, query + "search.resourcetype:" +
DiscoverResult discoverResult = getDiscoverResult(context, query + RESOURCE_TYPE_FIELD + ":" +
IndexableCollection.TYPE,
offset, limit, CollectionService.SOLR_SORT_FIELD, SORT_ORDER.asc);
for (IndexableObject solrCollections : discoverResult.getIndexableObjects()) {
@@ -864,9 +878,9 @@ public class AuthorizeServiceImpl implements AuthorizeService {
public long countAdminAuthorizedCollection(Context context, String query)
throws SearchServiceException, SQLException {
query = formatCustomQuery(query);
DiscoverResult discoverResult = getDiscoverResult(context, query + "search.resourcetype:" +
DiscoverResult discoverResult = getDiscoverResult(context, query + RESOURCE_TYPE_FIELD + ":" +
IndexableCollection.TYPE,
null, null, null, null);
null, 0, null, null);
return discoverResult.getTotalSearchResults();
}
@@ -942,4 +956,100 @@ public class AuthorizeServiceImpl implements AuthorizeService {
return query + " AND ";
}
}
/**
* Add the default policies, which have not been already added to the given DSpace object
*
* @param context The relevant DSpace Context.
* @param dso The DSpace Object to add policies to
* @param defaultCollectionPolicies list of policies
* @throws SQLException An exception that provides information on a database access error or other errors.
* @throws AuthorizeException Exception indicating the current user of the context does not have permission
* to perform a particular action.
*/
@Override
public void addDefaultPoliciesNotInPlace(Context context, DSpaceObject dso,
List<ResourcePolicy> defaultCollectionPolicies) throws SQLException, AuthorizeException {
boolean appendMode = configurationService
.getBooleanProperty("core.authorization.installitem.inheritance-read.append-mode", false);
for (ResourcePolicy defaultPolicy : defaultCollectionPolicies) {
if (!isAnIdenticalPolicyAlreadyInPlace(context, dso, defaultPolicy.getGroup(), Constants.READ,
defaultPolicy.getID()) &&
(!appendMode && isNotAlreadyACustomRPOfThisTypeOnDSO(context, dso) ||
appendMode && shouldBeAppended(context, dso, defaultPolicy))) {
ResourcePolicy newPolicy = resourcePolicyService.clone(context, defaultPolicy);
newPolicy.setdSpaceObject(dso);
newPolicy.setAction(Constants.READ);
newPolicy.setRpType(ResourcePolicy.TYPE_INHERITED);
resourcePolicyService.update(context, newPolicy);
}
}
}
/**
* Add a list of custom policies if there are already NO custom policies in place
*
*/
@Override
public void addCustomPoliciesNotInPlace(Context context, DSpaceObject dso, List<ResourcePolicy> customPolicies)
throws SQLException, AuthorizeException {
boolean customPoliciesAlreadyInPlace =
findPoliciesByDSOAndType(context, dso, ResourcePolicy.TYPE_CUSTOM).size() > 0;
if (!customPoliciesAlreadyInPlace) {
addPolicies(context, customPolicies, dso);
}
}
/**
* Check whether or not there is already an RP on the given dso, which has actionId={@link Constants.READ} and
* resourceTypeId={@link ResourcePolicy.TYPE_CUSTOM}
*
* @param context DSpace context
* @param dso DSpace object to check for custom read RP
* @return True if there is no RP on the item with custom read RP, otherwise false
* @throws SQLException If something goes wrong retrieving the RP on the DSO
*/
private boolean isNotAlreadyACustomRPOfThisTypeOnDSO(Context context, DSpaceObject dso) throws SQLException {
return isNotAlreadyACustomRPOfThisTypeOnDSO(context, dso, Constants.READ);
}
private boolean isNotAlreadyACustomRPOfThisTypeOnDSO(Context context, DSpaceObject dso, int action)
throws SQLException {
List<ResourcePolicy> rps = resourcePolicyService.find(context, dso, action);
for (ResourcePolicy rp : rps) {
if (rp.getRpType() != null && rp.getRpType().equals(ResourcePolicy.TYPE_CUSTOM)) {
return false;
}
}
return true;
}
/**
* Check if the provided default policy should be appended or not to the final
* item. If an item has at least one custom READ policy any anonymous READ
* policy with empty start/end date should be skipped
*
* @param context DSpace context
* @param dso DSpace object to check for custom read RP
* @param defaultPolicy The policy to check
* @return
* @throws SQLException If something goes wrong retrieving the RP on the DSO
*/
private boolean shouldBeAppended(Context context, DSpaceObject dso, ResourcePolicy defaultPolicy)
throws SQLException {
boolean hasCustomPolicy = resourcePolicyService.find(context, dso, Constants.READ)
.stream()
.filter(rp -> (Objects.nonNull(rp.getRpType()) &&
Objects.equals(rp.getRpType(), ResourcePolicy.TYPE_CUSTOM)))
.findFirst()
.isPresent();
boolean isAnonymousGroup = Objects.nonNull(defaultPolicy.getGroup())
&& StringUtils.equals(defaultPolicy.getGroup().getName(), Group.ANONYMOUS);
boolean datesAreNull = Objects.isNull(defaultPolicy.getStartDate())
&& Objects.isNull(defaultPolicy.getEndDate());
return !(hasCustomPolicy && isAnonymousGroup && datesAreNull);
}
}

View File

@@ -19,6 +19,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.logging.log4j.Logger;
import org.dspace.authorize.dao.ResourcePolicyDAO;
import org.dspace.authorize.service.AuthorizeService;
import org.dspace.authorize.service.ResourcePolicyService;
import org.dspace.content.DSpaceObject;
import org.dspace.content.factory.ContentServiceFactory;
@@ -51,6 +52,9 @@ public class ResourcePolicyServiceImpl implements ResourcePolicyService {
@Autowired
private GroupService groupService;
@Autowired
private AuthorizeService authorizeService;
protected ResourcePolicyServiceImpl() {
}
@@ -422,6 +426,6 @@ public class ResourcePolicyServiceImpl implements ResourcePolicyService {
} else if (group != null && groupService.isMember(context, eperson, group)) {
isMy = true;
}
return isMy;
return isMy || authorizeService.isAdmin(context, eperson, resourcePolicy.getdSpaceObject());
}
}

View File

@@ -322,6 +322,19 @@ public interface AuthorizeService {
*/
public List<ResourcePolicy> getPoliciesActionFilterExceptRpType(Context c, DSpaceObject o, int actionID,
String rpType) throws SQLException;
/**
* Add policies to an object to match those from a previous object
*
* @param c context
* @param src source of policies
* @param dest destination of inherited policies
* @param includeCustom whether TYPE_CUSTOM policies should be inherited
* @throws SQLException if there's a database problem
* @throws AuthorizeException if the current user is not authorized to add these policies
*/
public void inheritPolicies(Context c, DSpaceObject src, DSpaceObject dest, boolean includeCustom)
throws SQLException, AuthorizeException;
/**
* Add policies to an object to match those from a previous object
*
@@ -604,4 +617,10 @@ public interface AuthorizeService {
public void replaceAllPolicies(Context context, DSpaceObject source, DSpaceObject dest)
throws SQLException, AuthorizeException;
public void addDefaultPoliciesNotInPlace(Context context, DSpaceObject dso,
List<ResourcePolicy> defaultCollectionPolicies) throws SQLException, AuthorizeException;
public void addCustomPoliciesNotInPlace(Context context, DSpaceObject dso,
List<ResourcePolicy> defaultCollectionPolicies) throws SQLException, AuthorizeException;
}

View File

@@ -7,6 +7,9 @@
*/
package org.dspace.browse;
import static org.dspace.discovery.SearchUtils.RESOURCE_ID_FIELD;
import static org.dspace.discovery.SearchUtils.RESOURCE_TYPE_FIELD;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
@@ -23,7 +26,6 @@ import org.dspace.authorize.service.AuthorizeService;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.core.Context;
import org.dspace.discovery.DiscoverFacetField;
import org.dspace.discovery.DiscoverQuery;
import org.dspace.discovery.DiscoverQuery.SORT_ORDER;
import org.dspace.discovery.DiscoverResult;
@@ -34,7 +36,6 @@ import org.dspace.discovery.SearchService;
import org.dspace.discovery.SearchServiceException;
import org.dspace.discovery.SearchUtils;
import org.dspace.discovery.configuration.DiscoveryConfiguration;
import org.dspace.discovery.configuration.DiscoveryConfigurationParameters;
import org.dspace.discovery.indexobject.IndexableItem;
import org.dspace.services.factory.DSpaceServicesFactory;
@@ -181,32 +182,28 @@ public class SolrBrowseDAO implements BrowseDAO {
addLocationScopeFilter(query);
addDefaultFilterQueries(query);
if (distinct) {
DiscoverFacetField dff;
// To get the number of distinct values we use the next "json.facet" query param
// {"entries_count": {"type":"terms","field": "<fieldName>_filter", "limit":0, "numBuckets":true}}"
// We use a json.facet query for metadata browsing because it allows us to limit the results
// while obtaining the total number of facet values with numBuckets:true and sort in reverse order
// Example of json.facet query:
// {"<fieldName>": {"type":"terms","field": "<fieldName>_filter", "limit":0, "offset":0,
// "sort":"index desc", "numBuckets":true, "prefix":"<startsWith>"}}
ObjectNode jsonFacet = JsonNodeFactory.instance.objectNode();
ObjectNode entriesCount = JsonNodeFactory.instance.objectNode();
entriesCount.put("type", "terms");
entriesCount.put("field", facetField + "_filter");
entriesCount.put("limit", 0);
entriesCount.put("numBuckets", true);
jsonFacet.set("entries_count", entriesCount);
if (StringUtils.isNotBlank(startsWith)) {
dff = new DiscoverFacetField(facetField,
DiscoveryConfigurationParameters.TYPE_TEXT, limit,
DiscoveryConfigurationParameters.SORT.VALUE, startsWith, offset);
// Add the prefix to the json facet query
entriesCount.put("prefix", startsWith);
ObjectNode entriesFacet = JsonNodeFactory.instance.objectNode();
entriesFacet.put("type", "terms");
entriesFacet.put("field", facetField + "_filter");
entriesFacet.put("limit", limit);
entriesFacet.put("offset", offset);
entriesFacet.put("numBuckets", true);
if (ascending) {
entriesFacet.put("sort", "index");
} else {
dff = new DiscoverFacetField(facetField,
DiscoveryConfigurationParameters.TYPE_TEXT, limit,
DiscoveryConfigurationParameters.SORT.VALUE, offset);
entriesFacet.put("sort", "index desc");
}
query.addFacetField(dff);
query.setFacetMinCount(1);
if (StringUtils.isNotBlank(startsWith)) {
// Add the prefix to the json facet query
entriesFacet.put("prefix", startsWith);
}
jsonFacet.set(facetField, entriesFacet);
query.setMaxResults(0);
query.addProperty("json.facet", jsonFacet.toString());
} else {
@@ -282,26 +279,15 @@ public class SolrBrowseDAO implements BrowseDAO {
DiscoverResult resp = getSolrResponse();
List<FacetResult> facet = resp.getFacetResult(facetField);
int count = doCountQuery();
int start = 0;
int max = facet.size();
List<String[]> result = new ArrayList<>();
if (ascending) {
for (int i = start; i < (start + max) && i < count; i++) {
FacetResult c = facet.get(i);
String freq = showFrequencies ? String.valueOf(c.getCount())
: "";
result.add(new String[] {c.getDisplayedValue(),
c.getAuthorityKey(), freq});
}
} else {
for (int i = count - start - 1; i >= count - (start + max)
&& i >= 0; i--) {
FacetResult c = facet.get(i);
String freq = showFrequencies ? String.valueOf(c.getCount())
: "";
result.add(new String[] {c.getDisplayedValue(),
c.getAuthorityKey(), freq});
}
for (int i = 0; i < max && i < count; i++) {
FacetResult c = facet.get(i);
String freq = showFrequencies ? String.valueOf(c.getCount())
: "";
result.add(new String[] {c.getDisplayedValue(),
c.getAuthorityKey(), freq});
}
return result;
@@ -325,8 +311,10 @@ public class SolrBrowseDAO implements BrowseDAO {
public String doMaxQuery(String column, String table, int itemID)
throws BrowseException {
DiscoverQuery query = new DiscoverQuery();
query.setQuery("search.resourceid:" + itemID
+ " AND search.resourcetype:" + IndexableItem.TYPE);
query.setQuery("*:*");
query.addFilterQueries(
RESOURCE_ID_FIELD + ":" + itemID,
RESOURCE_TYPE_FIELD + ":" + IndexableItem.TYPE);
query.setMaxResults(1);
DiscoverResult resp = null;
try {

View File

@@ -131,7 +131,7 @@ public final class CheckerCommand {
collector.collect(context, info);
}
context.uncacheEntity(bitstream);
context.commit();
bitstream = dispatcher.next();
}
}

View File

@@ -56,8 +56,8 @@ public class MostRecentChecksumDAOImpl extends AbstractHibernateDAO<MostRecentCh
criteriaQuery.where(criteriaBuilder.and(
criteriaBuilder.equal(mostRecentChecksumRoot.get(MostRecentChecksum_.toBeProcessed), false),
criteriaBuilder
.lessThanOrEqualTo(mostRecentChecksumRoot.get(MostRecentChecksum_.processStartDate), startDate),
criteriaBuilder.greaterThan(mostRecentChecksumRoot.get(MostRecentChecksum_.processStartDate), endDate)
.lessThanOrEqualTo(mostRecentChecksumRoot.get(MostRecentChecksum_.processStartDate), endDate),
criteriaBuilder.greaterThan(mostRecentChecksumRoot.get(MostRecentChecksum_.processStartDate), startDate)
)
);
List<Order> orderList = new LinkedList<>();

View File

@@ -1021,7 +1021,8 @@ public class CollectionServiceImpl extends DSpaceObjectServiceImpl<Collection> i
if (StringUtils.isNotBlank(q)) {
StringBuilder buildQuery = new StringBuilder();
String escapedQuery = ClientUtils.escapeQueryChars(q);
buildQuery.append("(").append(escapedQuery).append(" OR ").append(escapedQuery).append("*").append(")");
buildQuery.append("(").append(escapedQuery).append(" OR dc.title_sort:*")
.append(escapedQuery).append("*").append(")");
discoverQuery.setQuery(buildQuery.toString());
}
DiscoverResult resp = searchService.search(context, discoverQuery);

View File

@@ -187,11 +187,11 @@ public abstract class DSpaceObjectServiceImpl<T extends DSpaceObject> implements
String authority) {
List<MetadataValue> metadata = getMetadata(dso, schema, element, qualifier, lang);
List<MetadataValue> result = new ArrayList<>(metadata);
if (!authority.equals(Item.ANY)) {
if (!Item.ANY.equals(authority)) {
Iterator<MetadataValue> iterator = result.iterator();
while (iterator.hasNext()) {
MetadataValue metadataValue = iterator.next();
if (!authority.equals(metadataValue.getAuthority())) {
if (!StringUtils.equals(authority, metadataValue.getAuthority())) {
iterator.remove();
}
}
@@ -509,7 +509,7 @@ public abstract class DSpaceObjectServiceImpl<T extends DSpaceObject> implements
MetadataField metadataField = metadataValue.getMetadataField();
MetadataSchema metadataSchema = metadataField.getMetadataSchema();
// We will attempt to disprove a match - if we can't we have a match
if (!element.equals(Item.ANY) && !element.equals(metadataField.getElement())) {
if (!Item.ANY.equals(element) && !StringUtils.equals(element, metadataField.getElement())) {
// Elements do not match, no wildcard
return false;
}
@@ -520,9 +520,9 @@ public abstract class DSpaceObjectServiceImpl<T extends DSpaceObject> implements
// Value is qualified, so no match
return false;
}
} else if (!qualifier.equals(Item.ANY)) {
} else if (!Item.ANY.equals(qualifier)) {
// Not a wildcard, so qualifier must match exactly
if (!qualifier.equals(metadataField.getQualifier())) {
if (!StringUtils.equals(qualifier, metadataField.getQualifier())) {
return false;
}
}
@@ -533,15 +533,15 @@ public abstract class DSpaceObjectServiceImpl<T extends DSpaceObject> implements
// Value is qualified, so no match
return false;
}
} else if (!language.equals(Item.ANY)) {
} else if (!Item.ANY.equals(language)) {
// Not a wildcard, so language must match exactly
if (!language.equals(metadataValue.getLanguage())) {
if (!StringUtils.equals(language, metadataValue.getLanguage())) {
return false;
}
}
if (!schema.equals(Item.ANY)) {
if (metadataSchema != null && !metadataSchema.getName().equals(schema)) {
if (!Item.ANY.equals(schema)) {
if (!StringUtils.equals(schema, metadataSchema.getName())) {
// The namespace doesn't match
return false;
}

View File

@@ -30,6 +30,7 @@ import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.discovery.SolrSearchCore;
import org.dspace.discovery.indexobject.IndexableCollection;
import org.dspace.eperson.EPerson;
import org.dspace.eperson.Group;
import org.dspace.eperson.service.GroupService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -124,24 +125,33 @@ public class EntityTypeServiceImpl implements EntityTypeService {
public List<String> getSubmitAuthorizedTypes(Context context)
throws SQLException, SolrServerException, IOException {
List<String> types = new ArrayList<>();
StringBuilder query = new StringBuilder();
org.dspace.eperson.EPerson currentUser = context.getCurrentUser();
StringBuilder query = null;
EPerson currentUser = context.getCurrentUser();
if (!authorizeService.isAdmin(context)) {
String userId = "";
if (currentUser != null) {
userId = currentUser.getID().toString();
query = new StringBuilder();
query.append("submit:(e").append(userId);
}
query.append("submit:(e").append(userId);
Set<Group> groups = groupService.allMemberGroupsSet(context, currentUser);
for (Group group : groups) {
query.append(" OR g").append(group.getID());
if (query == null) {
query = new StringBuilder();
query.append("submit:(g");
} else {
query.append(" OR g");
}
query.append(group.getID());
}
query.append(")");
} else {
query.append("*:*");
}
SolrQuery sQuery = new SolrQuery(query.toString());
SolrQuery sQuery = new SolrQuery("*:*");
if (query != null) {
sQuery.addFilterQuery(query.toString());
}
sQuery.addFilterQuery("search.resourcetype:" + IndexableCollection.TYPE);
sQuery.setRows(0);
sQuery.addFacetField("search.entitytype");

View File

@@ -480,7 +480,7 @@ public class ItemServiceImpl extends DSpaceObjectServiceImpl<Item> implements It
// now add authorization policies from owning item
// hmm, not very "multiple-inclusion" friendly
authorizeService.inheritPolicies(context, item, bundle);
authorizeService.inheritPolicies(context, item, bundle, true);
// Add the bundle to in-memory list
item.addBundle(bundle);
@@ -1046,8 +1046,8 @@ public class ItemServiceImpl extends DSpaceObjectServiceImpl<Item> implements It
// if come from InstallItem: remove all submission/workflow policies
authorizeService.removeAllPoliciesByDSOAndType(context, mybundle, ResourcePolicy.TYPE_SUBMISSION);
authorizeService.removeAllPoliciesByDSOAndType(context, mybundle, ResourcePolicy.TYPE_WORKFLOW);
addCustomPoliciesNotInPlace(context, mybundle, defaultItemPolicies);
addDefaultPoliciesNotInPlace(context, mybundle, defaultCollectionBundlePolicies);
authorizeService.addCustomPoliciesNotInPlace(context, mybundle, defaultItemPolicies);
authorizeService.addDefaultPoliciesNotInPlace(context, mybundle, defaultCollectionBundlePolicies);
for (Bitstream bitstream : mybundle.getBitstreams()) {
// If collection has default READ policies, remove the bundle's READ policies.
@@ -1093,8 +1093,8 @@ public class ItemServiceImpl extends DSpaceObjectServiceImpl<Item> implements It
throws SQLException, AuthorizeException {
authorizeService.removeAllPoliciesByDSOAndType(context, bitstream, ResourcePolicy.TYPE_SUBMISSION);
authorizeService.removeAllPoliciesByDSOAndType(context, bitstream, ResourcePolicy.TYPE_WORKFLOW);
addCustomPoliciesNotInPlace(context, bitstream, defaultItemPolicies);
addDefaultPoliciesNotInPlace(context, bitstream, defaultCollectionPolicies);
authorizeService.addCustomPoliciesNotInPlace(context, bitstream, defaultItemPolicies);
authorizeService.addDefaultPoliciesNotInPlace(context, bitstream, defaultCollectionPolicies);
}
@Override
@@ -1132,7 +1132,7 @@ public class ItemServiceImpl extends DSpaceObjectServiceImpl<Item> implements It
authorizeService.removeAllPoliciesByDSOAndType(context, item, ResourcePolicy.TYPE_WORKFLOW);
// add default policies only if not already in place
addDefaultPoliciesNotInPlace(context, item, defaultCollectionPolicies);
authorizeService.addDefaultPoliciesNotInPlace(context, item, defaultCollectionPolicies);
} finally {
context.restoreAuthSystemState();
}
@@ -1322,91 +1322,7 @@ prevent the generation of resource policy entry values with null dspace_object a
*/
/**
* Add the default policies, which have not been already added to the given DSpace object
*
* @param context The relevant DSpace Context.
* @param dso The DSpace Object to add policies to
* @param defaultCollectionPolicies list of policies
* @throws SQLException An exception that provides information on a database access error or other errors.
* @throws AuthorizeException Exception indicating the current user of the context does not have permission
* to perform a particular action.
*/
protected void addDefaultPoliciesNotInPlace(Context context, DSpaceObject dso,
List<ResourcePolicy> defaultCollectionPolicies) throws SQLException, AuthorizeException {
boolean appendMode = configurationService
.getBooleanProperty("core.authorization.installitem.inheritance-read.append-mode", false);
for (ResourcePolicy defaultPolicy : defaultCollectionPolicies) {
if (!authorizeService
.isAnIdenticalPolicyAlreadyInPlace(context, dso, defaultPolicy.getGroup(), Constants.READ,
defaultPolicy.getID()) &&
(!appendMode && isNotAlreadyACustomRPOfThisTypeOnDSO(context, dso) ||
appendMode && shouldBeAppended(context, dso, defaultPolicy))) {
ResourcePolicy newPolicy = resourcePolicyService.clone(context, defaultPolicy);
newPolicy.setdSpaceObject(dso);
newPolicy.setAction(Constants.READ);
newPolicy.setRpType(ResourcePolicy.TYPE_INHERITED);
resourcePolicyService.update(context, newPolicy);
}
}
}
private void addCustomPoliciesNotInPlace(Context context, DSpaceObject dso, List<ResourcePolicy> customPolicies)
throws SQLException, AuthorizeException {
boolean customPoliciesAlreadyInPlace = authorizeService
.findPoliciesByDSOAndType(context, dso, ResourcePolicy.TYPE_CUSTOM).size() > 0;
if (!customPoliciesAlreadyInPlace) {
authorizeService.addPolicies(context, customPolicies, dso);
}
}
/**
* Check whether or not there is already an RP on the given dso, which has actionId={@link Constants.READ} and
* resourceTypeId={@link ResourcePolicy.TYPE_CUSTOM}
*
* @param context DSpace context
* @param dso DSpace object to check for custom read RP
* @return True if there is no RP on the item with custom read RP, otherwise false
* @throws SQLException If something goes wrong retrieving the RP on the DSO
*/
private boolean isNotAlreadyACustomRPOfThisTypeOnDSO(Context context, DSpaceObject dso) throws SQLException {
List<ResourcePolicy> readRPs = resourcePolicyService.find(context, dso, Constants.READ);
for (ResourcePolicy readRP : readRPs) {
if (readRP.getRpType() != null && readRP.getRpType().equals(ResourcePolicy.TYPE_CUSTOM)) {
return false;
}
}
return true;
}
/**
* Check if the provided default policy should be appended or not to the final
* item. If an item has at least one custom READ policy any anonymous READ
* policy with empty start/end date should be skipped
*
* @param context DSpace context
* @param dso DSpace object to check for custom read RP
* @param defaultPolicy The policy to check
* @return
* @throws SQLException If something goes wrong retrieving the RP on the DSO
*/
private boolean shouldBeAppended(Context context, DSpaceObject dso, ResourcePolicy defaultPolicy)
throws SQLException {
boolean hasCustomPolicy = resourcePolicyService.find(context, dso, Constants.READ)
.stream()
.filter(rp -> (Objects.nonNull(rp.getRpType()) &&
Objects.equals(rp.getRpType(), ResourcePolicy.TYPE_CUSTOM)))
.findFirst()
.isPresent();
boolean isAnonimousGroup = Objects.nonNull(defaultPolicy.getGroup())
&& StringUtils.equals(defaultPolicy.getGroup().getName(), Group.ANONYMOUS);
boolean datesAreNull = Objects.isNull(defaultPolicy.getStartDate())
&& Objects.isNull(defaultPolicy.getEndDate());
return !(hasCustomPolicy && isAnonimousGroup && datesAreNull);
}
/**
* Returns an iterator of Items possessing the passed metadata field, or only

View File

@@ -23,6 +23,7 @@ import org.dspace.core.Constants;
import org.dspace.core.Context;
import org.dspace.handle.factory.HandleServiceFactory;
import org.dspace.scripts.handler.DSpaceRunnableHandler;
import org.dspace.services.ConfigurationService;
import org.springframework.beans.factory.annotation.Autowired;
/**
@@ -36,6 +37,11 @@ public class MetadataDSpaceCsvExportServiceImpl implements MetadataDSpaceCsvExpo
@Autowired
private DSpaceObjectUtils dSpaceObjectUtils;
@Autowired
private ConfigurationService configurationService;
private int csxExportLimit = -1;
@Override
public DSpaceCSV handleExport(Context context, boolean exportAllItems, boolean exportAllMetadata, String identifier,
DSpaceRunnableHandler handler) throws Exception {
@@ -43,7 +49,7 @@ public class MetadataDSpaceCsvExportServiceImpl implements MetadataDSpaceCsvExpo
if (exportAllItems) {
handler.logInfo("Exporting whole repository WARNING: May take some time!");
toExport = itemService.findAll(context);
toExport = itemService.findAll(context, getCsvExportLimit(), 0);
} else {
DSpaceObject dso = HandleServiceFactory.getInstance().getHandleService()
.resolveToObject(context, identifier);
@@ -63,7 +69,7 @@ public class MetadataDSpaceCsvExportServiceImpl implements MetadataDSpaceCsvExpo
} else if (dso.getType() == Constants.COLLECTION) {
handler.logInfo("Exporting collection '" + dso.getName() + "' (" + identifier + ")");
Collection collection = (Collection) dso;
toExport = itemService.findByCollection(context, collection);
toExport = itemService.findByCollection(context, collection, getCsvExportLimit(), 0);
} else if (dso.getType() == Constants.COMMUNITY) {
handler.logInfo("Exporting community '" + dso.getName() + "' (" + identifier + ")");
toExport = buildFromCommunity(context, (Community) dso);
@@ -74,18 +80,21 @@ public class MetadataDSpaceCsvExportServiceImpl implements MetadataDSpaceCsvExpo
}
}
DSpaceCSV csv = this.export(context, toExport, exportAllMetadata);
DSpaceCSV csv = this.export(context, toExport, exportAllMetadata, handler);
return csv;
}
@Override
public DSpaceCSV export(Context context, Iterator<Item> toExport, boolean exportAll) throws Exception {
public DSpaceCSV export(Context context, Iterator<Item> toExport,
boolean exportAll, DSpaceRunnableHandler handler) throws Exception {
Context.Mode originalMode = context.getCurrentMode();
context.setMode(Context.Mode.READ_ONLY);
// Process each item
// Process each item until we reach the limit
int itemExportLimit = getCsvExportLimit();
DSpaceCSV csv = new DSpaceCSV(exportAll);
while (toExport.hasNext()) {
for (int itemsAdded = 0; toExport.hasNext() && itemsAdded < itemExportLimit; itemsAdded++) {
Item item = toExport.next();
csv.addItem(item);
context.uncacheEntity(item);
@@ -97,8 +106,9 @@ public class MetadataDSpaceCsvExportServiceImpl implements MetadataDSpaceCsvExpo
}
@Override
public DSpaceCSV export(Context context, Community community, boolean exportAll) throws Exception {
return export(context, buildFromCommunity(context, community), exportAll);
public DSpaceCSV export(Context context, Community community,
boolean exportAll, DSpaceRunnableHandler handler) throws Exception {
return export(context, buildFromCommunity(context, community), exportAll, handler);
}
/**
@@ -117,21 +127,30 @@ public class MetadataDSpaceCsvExportServiceImpl implements MetadataDSpaceCsvExpo
// Add all the collections
List<Collection> collections = community.getCollections();
for (Collection collection : collections) {
Iterator<Item> items = itemService.findByCollection(context, collection);
while (items.hasNext()) {
// Never obtain more items than the configured limit
Iterator<Item> items = itemService.findByCollection(context, collection, getCsvExportLimit(), 0);
while (result.size() < getCsvExportLimit() && items.hasNext()) {
result.add(items.next());
}
}
// Add all the sub-communities
// Add all the sub-communities
List<Community> communities = community.getSubcommunities();
for (Community subCommunity : communities) {
Iterator<Item> items = buildFromCommunity(context, subCommunity);
while (items.hasNext()) {
while (result.size() < getCsvExportLimit() && items.hasNext()) {
result.add(items.next());
}
}
return result.iterator();
}
@Override
public int getCsvExportLimit() {
if (csxExportLimit == -1) {
csxExportLimit = configurationService.getIntProperty("bulkedit.export.max.items", 500);
}
return csxExportLimit;
}
}

View File

@@ -577,7 +577,7 @@ public final class ChoiceAuthorityServiceImpl implements ChoiceAuthorityService
.collect(Collectors.toList()));
}
DiscoverySearchFilterFacet matchingFacet = null;
for (DiscoverySearchFilterFacet facetConfig : searchConfigurationService.getAllFacetsConfig()) {
for (DiscoverySearchFilterFacet facetConfig : searchConfigurationService.getAllUniqueFacetsConfig()) {
boolean coversAllFieldsFromVocab = true;
for (String fieldFromVocab: metadataFields) {
boolean coversFieldFromVocab = false;

View File

@@ -34,23 +34,25 @@ import org.xml.sax.InputSource;
* from {@code ${dspace.dir}/config/controlled-vocabularies/*.xml} and turns
* them into autocompleting authorities.
*
* Configuration: This MUST be configured as a self-named plugin, e.g.: {@code
* plugin.selfnamed.org.dspace.content.authority.ChoiceAuthority = \
* <p>Configuration: This MUST be configured as a self-named plugin, e.g.: {@code
* plugin.selfnamed.org.dspace.content.authority.ChoiceAuthority =
* org.dspace.content.authority.DSpaceControlledVocabulary
* }
*
* It AUTOMATICALLY configures a plugin instance for each XML file in the
* <p>It AUTOMATICALLY configures a plugin instance for each XML file in the
* controlled vocabularies directory. The name of the plugin is the basename of
* the file; e.g., {@code ${dspace.dir}/config/controlled-vocabularies/nsi.xml}
* would generate a plugin called "nsi".
*
* Each configured plugin comes with three configuration options: {@code
* vocabulary.plugin._plugin_.hierarchy.store = <true|false>
* # Store entire hierarchy along with selected value. Default: TRUE
* vocabulary.plugin._plugin_.hierarchy.suggest =
* <true|false> # Display entire hierarchy in the suggestion list. Default: TRUE
* vocabulary.plugin._plugin_.delimiter = "<string>"
* # Delimiter to use when building hierarchy strings. Default: "::"
* <p>Each configured plugin comes with three configuration options:
* <ul>
* <li>{@code vocabulary.plugin._plugin_.hierarchy.store = <true|false>
* # Store entire hierarchy along with selected value. Default: TRUE}</li>
* <li>{@code vocabulary.plugin._plugin_.hierarchy.suggest =
* <true|false> # Display entire hierarchy in the suggestion list. Default: TRUE}</li>
* <li>{@code vocabulary.plugin._plugin_.delimiter = "<string>"
* # Delimiter to use when building hierarchy strings. Default: "::"}</li>
* </ul>
* }
*
* @author Michael B. Klein
@@ -58,11 +60,12 @@ import org.xml.sax.InputSource;
public class DSpaceControlledVocabulary extends SelfNamedPlugin implements HierarchicalAuthority {
private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DSpaceControlledVocabulary.class);
private static final Logger log = org.apache.logging.log4j.LogManager.getLogger();
protected static String xpathTemplate = "//node[contains(translate(@label,'ABCDEFGHIJKLMNOPQRSTUVWXYZ'," +
"'abcdefghijklmnopqrstuvwxyz'),'%s')]";
protected static String idTemplate = "//node[@id = '%s']";
protected static String labelTemplate = "//node[@label = '%s']";
"'abcdefghijklmnopqrstuvwxyz'),%s)]";
protected static String idTemplate = "//node[@id = %s]";
protected static String idTemplateQuoted = "//node[@id = '%s']";
protected static String labelTemplate = "//node[@label = %s]";
protected static String idParentTemplate = "//node[@id = '%s']/parent::isComposedBy/parent::node";
protected static String rootTemplate = "/node";
protected static String pluginNames[] = null;
@@ -106,7 +109,7 @@ public class DSpaceControlledVocabulary extends SelfNamedPlugin implements Hiera
File.separator + "config" +
File.separator + "controlled-vocabularies";
String[] xmlFiles = (new File(vocabulariesPath)).list(new xmlFilter());
List<String> names = new ArrayList<String>();
List<String> names = new ArrayList<>();
for (String filename : xmlFiles) {
names.add((new File(filename)).getName().replace(".xml", ""));
}
@@ -162,14 +165,23 @@ public class DSpaceControlledVocabulary extends SelfNamedPlugin implements Hiera
public Choices getMatches(String text, int start, int limit, String locale) {
init();
log.debug("Getting matches for '" + text + "'");
String xpathExpression = "";
String[] textHierarchy = text.split(hierarchyDelimiter, -1);
StringBuilder xpathExpressionBuilder = new StringBuilder();
for (int i = 0; i < textHierarchy.length; i++) {
xpathExpression += String.format(xpathTemplate, textHierarchy[i].replaceAll("'", "&apos;").toLowerCase());
xpathExpressionBuilder.append(String.format(xpathTemplate, "$var" + i));
}
String xpathExpression = xpathExpressionBuilder.toString();
XPath xpath = XPathFactory.newInstance().newXPath();
int total = 0;
List<Choice> choices = new ArrayList<Choice>();
xpath.setXPathVariableResolver(variableName -> {
String varName = variableName.getLocalPart();
if (varName.startsWith("var")) {
int index = Integer.parseInt(varName.substring(3));
return textHierarchy[index].toLowerCase();
}
throw new IllegalArgumentException("Unexpected variable: " + varName);
});
int total;
List<Choice> choices;
try {
NodeList results = (NodeList) xpath.evaluate(xpathExpression, vocabulary, XPathConstants.NODESET);
total = results.getLength();
@@ -185,14 +197,23 @@ public class DSpaceControlledVocabulary extends SelfNamedPlugin implements Hiera
@Override
public Choices getBestMatch(String text, String locale) {
init();
log.debug("Getting best matches for '" + text + "'");
String xpathExpression = "";
log.debug("Getting best matches for {}'", text);
String[] textHierarchy = text.split(hierarchyDelimiter, -1);
StringBuilder xpathExpressionBuilder = new StringBuilder();
for (int i = 0; i < textHierarchy.length; i++) {
xpathExpression += String.format(labelTemplate, textHierarchy[i].replaceAll("'", "&apos;"));
xpathExpressionBuilder.append(String.format(labelTemplate, "$var" + i));
}
String xpathExpression = xpathExpressionBuilder.toString();
XPath xpath = XPathFactory.newInstance().newXPath();
List<Choice> choices = new ArrayList<Choice>();
xpath.setXPathVariableResolver(variableName -> {
String varName = variableName.getLocalPart();
if (varName.startsWith("var")) {
int index = Integer.parseInt(varName.substring(3));
return textHierarchy[index];
}
throw new IllegalArgumentException("Unexpected variable: " + varName);
});
List<Choice> choices;
try {
NodeList results = (NodeList) xpath.evaluate(xpathExpression, vocabulary, XPathConstants.NODESET);
choices = getChoicesFromNodeList(results, 0, 1);
@@ -240,7 +261,7 @@ public class DSpaceControlledVocabulary extends SelfNamedPlugin implements Hiera
@Override
public Choices getChoicesByParent(String authorityName, String parentId, int start, int limit, String locale) {
init();
String xpathExpression = String.format(idTemplate, parentId);
String xpathExpression = String.format(idTemplateQuoted, parentId);
return getChoicesByXpath(xpathExpression, start, limit);
}
@@ -264,15 +285,12 @@ public class DSpaceControlledVocabulary extends SelfNamedPlugin implements Hiera
}
private boolean isRootElement(Node node) {
if (node != null && node.getOwnerDocument().getDocumentElement().equals(node)) {
return true;
}
return false;
return node != null && node.getOwnerDocument().getDocumentElement().equals(node);
}
private Node getNode(String key) throws XPathExpressionException {
init();
String xpathExpression = String.format(idTemplate, key);
String xpathExpression = String.format(idTemplateQuoted, key);
Node node = getNodeFromXPath(xpathExpression);
return node;
}
@@ -284,7 +302,7 @@ public class DSpaceControlledVocabulary extends SelfNamedPlugin implements Hiera
}
private List<Choice> getChoicesFromNodeList(NodeList results, int start, int limit) {
List<Choice> choices = new ArrayList<Choice>();
List<Choice> choices = new ArrayList<>();
for (int i = 0; i < results.getLength(); i++) {
if (i < start) {
continue;
@@ -303,17 +321,17 @@ public class DSpaceControlledVocabulary extends SelfNamedPlugin implements Hiera
private Map<String, String> addOtherInformation(String parentCurr, String noteCurr,
List<String> childrenCurr, String authorityCurr) {
Map<String, String> extras = new HashMap<String, String>();
Map<String, String> extras = new HashMap<>();
if (StringUtils.isNotBlank(parentCurr)) {
extras.put("parent", parentCurr);
}
if (StringUtils.isNotBlank(noteCurr)) {
extras.put("note", noteCurr);
}
if (childrenCurr.size() > 0) {
extras.put("hasChildren", "true");
} else {
if (childrenCurr.isEmpty()) {
extras.put("hasChildren", "false");
} else {
extras.put("hasChildren", "true");
}
extras.put("id", authorityCurr);
return extras;
@@ -368,7 +386,7 @@ public class DSpaceControlledVocabulary extends SelfNamedPlugin implements Hiera
}
private List<String> getChildren(Node node) {
List<String> children = new ArrayList<String>();
List<String> children = new ArrayList<>();
NodeList childNodes = node.getChildNodes();
for (int ci = 0; ci < childNodes.getLength(); ci++) {
Node firstChild = childNodes.item(ci);
@@ -391,7 +409,7 @@ public class DSpaceControlledVocabulary extends SelfNamedPlugin implements Hiera
private boolean isSelectable(Node node) {
Node selectableAttr = node.getAttributes().getNamedItem("selectable");
if (null != selectableAttr) {
return Boolean.valueOf(selectableAttr.getNodeValue());
return Boolean.parseBoolean(selectableAttr.getNodeValue());
} else { // Default is true
return true;
}
@@ -418,7 +436,7 @@ public class DSpaceControlledVocabulary extends SelfNamedPlugin implements Hiera
}
private Choices getChoicesByXpath(String xpathExpression, int start, int limit) {
List<Choice> choices = new ArrayList<Choice>();
List<Choice> choices = new ArrayList<>();
XPath xpath = XPathFactory.newInstance().newXPath();
try {
Node parentNode = (Node) xpath.evaluate(xpathExpression, vocabulary, XPathConstants.NODE);

View File

@@ -14,6 +14,7 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.DSpaceObject;
import org.dspace.content.packager.PackageDisseminator;
@@ -129,7 +130,7 @@ public class METSDisseminationCrosswalk
try {
//Return just the root Element of the METS file
SAXBuilder builder = new SAXBuilder();
SAXBuilder builder = XMLUtils.getSAXBuilder();
Document metsDocument = builder.build(tempFile);
return metsDocument.getRootElement();
} catch (JDOMException je) {

View File

@@ -22,6 +22,7 @@ import java.util.Properties;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Collection;
import org.dspace.content.Community;
@@ -144,7 +145,7 @@ public class MODSDisseminationCrosswalk extends SelfNamedPlugin
MODS_NS.getURI() + " " + MODS_XSD;
private static final XMLOutputter outputUgly = new XMLOutputter();
private static final SAXBuilder builder = new SAXBuilder();
private static final SAXBuilder builder = XMLUtils.getSAXBuilder();
private Map<String, modsTriple> modsMap = null;

View File

@@ -20,9 +20,7 @@ import org.apache.logging.log4j.Logger;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Bitstream;
import org.dspace.content.BitstreamFormat;
import org.dspace.content.Bundle;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.BitstreamFormatService;
import org.dspace.content.service.BitstreamService;
@@ -224,29 +222,17 @@ public class PREMISCrosswalk
// c. made-up name based on sequence ID and extension.
String sid = String.valueOf(bitstream.getSequenceID());
String baseUrl = configurationService.getProperty("dspace.ui.url");
String handle = null;
// get handle of parent Item of this bitstream, if there is one:
List<Bundle> bn = bitstream.getBundles();
if (bn.size() > 0) {
List<Item> bi = bn.get(0).getItems();
if (bi.size() > 0) {
handle = bi.get(0).getHandle();
}
}
// get or make up name for bitstream:
String bsName = bitstream.getName();
if (bsName == null) {
List<String> ext = bitstream.getFormat(context).getExtensions();
bsName = "bitstream_" + sid + (ext.size() > 0 ? ext.get(0) : "");
}
if (handle != null && baseUrl != null) {
if (baseUrl != null) {
oiv.setText(baseUrl
+ "/bitstream/"
+ URLEncoder.encode(handle, "UTF-8")
+ "/"
+ sid
+ "/"
+ URLEncoder.encode(bsName, "UTF-8"));
+ "/bitstreams/"
+ bitstream.getID()
+ "/download");
} else {
oiv.setText(URLEncoder.encode(bsName, "UTF-8"));
}

View File

@@ -22,6 +22,7 @@ import java.util.Properties;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
@@ -125,7 +126,7 @@ public class QDCCrosswalk extends SelfNamedPlugin
// XML schemaLocation fragment for this crosswalk, from config.
private String schemaLocation = null;
private static final SAXBuilder builder = new SAXBuilder();
private static final SAXBuilder builder = XMLUtils.getSAXBuilder();
protected ItemService itemService = ContentServiceFactory.getInstance().getItemService();

View File

@@ -13,6 +13,7 @@ import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.DSpaceObject;
import org.dspace.content.packager.PackageDisseminator;
@@ -208,7 +209,7 @@ public class RoleCrosswalk
try {
//Try to parse our XML results (which were disseminated by the Packager)
SAXBuilder builder = new SAXBuilder();
SAXBuilder builder = XMLUtils.getSAXBuilder();
Document xmlDocument = builder.build(tempFile);
//If XML parsed successfully, return root element of doc
if (xmlDocument != null && xmlDocument.hasRootElement()) {

View File

@@ -18,6 +18,7 @@ import javax.xml.transform.TransformerException;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.logging.log4j.Logger;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Collection;
import org.dspace.content.Community;
@@ -297,7 +298,7 @@ public class XSLTIngestionCrosswalk
"Failed to initialize transformer, probably error loading stylesheet.");
}
SAXBuilder builder = new SAXBuilder();
SAXBuilder builder = XMLUtils.getSAXBuilder();
Document inDoc = builder.build(new FileInputStream(argv[i + 1]));
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
List dimList;

View File

@@ -178,7 +178,7 @@ public class BitstreamDAOImpl extends AbstractHibernateDSODAO<Bitstream> impleme
@Override
public int countWithNoPolicy(Context context) throws SQLException {
Query query = createQuery(context,
"SELECT count(bit.id) from Bitstream bit where bit.deleted<>true and bit.id not in" +
"SELECT count(bit.id) from Bitstream bit where bit.deleted<>true and bit not in" +
" (select res.dSpaceObject from ResourcePolicy res where res.resourceTypeId = " +
":typeId )");
query.setParameter("typeId", Constants.BITSTREAM);

View File

@@ -12,6 +12,7 @@ import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import jakarta.persistence.Query;
import jakarta.persistence.criteria.CriteriaBuilder;
@@ -19,6 +20,7 @@ import jakarta.persistence.criteria.CriteriaQuery;
import jakarta.persistence.criteria.Join;
import jakarta.persistence.criteria.Predicate;
import jakarta.persistence.criteria.Root;
import org.apache.logging.log4j.Logger;
import org.dspace.authorize.ResourcePolicy;
import org.dspace.authorize.ResourcePolicy_;
import org.dspace.content.Collection;
@@ -40,6 +42,11 @@ import org.dspace.eperson.Group;
* @author kevinvandevelde at atmire.com
*/
public class CollectionDAOImpl extends AbstractHibernateDSODAO<Collection> implements CollectionDAO {
/**
* log4j logger
*/
private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CollectionDAOImpl.class);
protected CollectionDAOImpl() {
super();
}
@@ -159,7 +166,7 @@ public class CollectionDAOImpl extends AbstractHibernateDSODAO<Collection> imple
@Override
public List<Collection> findCollectionsWithSubscribers(Context context) throws SQLException {
return list(createQuery(context, "SELECT DISTINCT c FROM Collection c JOIN Subscription s ON c.id = " +
return list(createQuery(context, "SELECT DISTINCT c FROM Collection c JOIN Subscription s ON c = " +
"s.dSpaceObject"));
}
@@ -172,14 +179,25 @@ public class CollectionDAOImpl extends AbstractHibernateDSODAO<Collection> imple
@SuppressWarnings("unchecked")
public List<Map.Entry<Collection, Long>> getCollectionsWithBitstreamSizesTotal(Context context)
throws SQLException {
String q = "select col as collection, sum(bit.sizeBytes) as totalBytes from Item i join i.collections col " +
"join i.bundles bun join bun.bitstreams bit group by col";
String q = "select col.id, sum(bit.sizeBytes) as totalBytes from Item i join i.collections col " +
"join i.bundles bun join bun.bitstreams bit group by col.id";
Query query = createQuery(context, q);
CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context);
List<Object[]> list = query.getResultList();
List<Map.Entry<Collection, Long>> returnList = new ArrayList<>(list.size());
for (Object[] o : list) {
returnList.add(new AbstractMap.SimpleEntry<>((Collection) o[0], (Long) o[1]));
CriteriaQuery<Collection> criteriaQuery = criteriaBuilder.createQuery(Collection.class);
Root<Collection> collectionRoot = criteriaQuery.from(Collection.class);
criteriaQuery.select(collectionRoot).where(criteriaBuilder.equal(collectionRoot.get("id"), (UUID) o[0]));
Query collectionQuery = createQuery(context, criteriaQuery);
Collection collection = (Collection) collectionQuery.getSingleResult();
if (collection != null) {
returnList.add(new AbstractMap.SimpleEntry<>(collection, (Long) o[1]));
} else {
log.warn("Unable to find Collection with UUID: {}", o[0]);
}
}
return returnList;
}

View File

@@ -11,8 +11,6 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
@@ -21,7 +19,11 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.logging.log4j.Logger;
import org.dspace.app.client.DSpaceHttpClientFactory;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Bitstream;
import org.dspace.content.BitstreamFormat;
@@ -496,8 +498,11 @@ public abstract class AbstractMETSIngester extends AbstractPackageIngester {
// Finish creating the item. This actually assigns the handle,
// and will either install item immediately or start a workflow, based on params
PackageUtils.finishCreateItem(context, wsi, handle, params);
} else {
// We should have a workspace item during ingest, so this code is only here for safety.
// Update the object to make sure all changes are committed
PackageUtils.updateDSpaceObject(context, dso);
}
} else if (type == Constants.COLLECTION || type == Constants.COMMUNITY) {
// Add logo if one is referenced from manifest
addContainerLogo(context, dso, manifest, pkgFile, params);
@@ -511,6 +516,9 @@ public abstract class AbstractMETSIngester extends AbstractPackageIngester {
// (this allows subclasses to do some final validation / changes as
// necessary)
finishObject(context, dso, params);
// Update the object to make sure all changes are committed
PackageUtils.updateDSpaceObject(context, dso);
} else if (type == Constants.SITE) {
// Do nothing by default -- Crosswalks will handle anything necessary to ingest at Site-level
@@ -518,18 +526,15 @@ public abstract class AbstractMETSIngester extends AbstractPackageIngester {
// (this allows subclasses to do some final validation / changes as
// necessary)
finishObject(context, dso, params);
// Update the object to make sure all changes are committed
PackageUtils.updateDSpaceObject(context, dso);
} else {
throw new PackageValidationException(
"Unknown DSpace Object type in package, type="
+ String.valueOf(type));
}
// -- Step 6 --
// Finish things up!
// Update the object to make sure all changes are committed
PackageUtils.updateDSpaceObject(context, dso);
return dso;
}
@@ -1310,13 +1315,12 @@ public abstract class AbstractMETSIngester extends AbstractPackageIngester {
if (params.getBooleanProperty("manifestOnly", false)) {
// NOTE: since we are only dealing with a METS manifest,
// we will assume all external files are available via URLs.
try {
try (CloseableHttpClient httpClient = DSpaceHttpClientFactory.getInstance().build()) {
// attempt to open a connection to given URL
URL fileURL = new URL(path);
URLConnection connection = fileURL.openConnection();
// open stream to access file contents
return connection.getInputStream();
try (CloseableHttpResponse httpResponse = httpClient.execute(new HttpGet(path))) {
// open stream to access file contents
return httpResponse.getEntity().getContent();
}
} catch (IOException io) {
log
.error("Unable to retrieve external file from URL '"

View File

@@ -20,6 +20,7 @@ import java.util.List;
import org.apache.commons.codec.binary.Base64;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Bitstream;
import org.dspace.content.Bundle;
@@ -265,12 +266,13 @@ public class METSManifest {
public static METSManifest create(InputStream is, boolean validate, String configName)
throws IOException,
MetadataValidationException {
SAXBuilder builder = new SAXBuilder(validate);
SAXBuilder builder = XMLUtils.getSAXBuilder();
builder.setIgnoringElementContentWhitespace(true);
// Set validation feature
if (validate) {
builder.setValidation(true);
builder.setFeature("http://apache.org/xml/features/validation/schema", true);
// Tell the parser where local copies of schemas are, to speed up
@@ -278,10 +280,6 @@ public class METSManifest {
if (localSchemas.length() > 0) {
builder.setProperty("http://apache.org/xml/properties/schema/external-schemaLocation", localSchemas);
}
} else {
// disallow DTD parsing to ensure no XXE attacks can occur.
// See https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html
builder.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
}
// Parse the METS file

View File

@@ -21,6 +21,7 @@ import javax.xml.parsers.ParserConfigurationException;
import org.apache.commons.codec.DecoderException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Collection;
import org.dspace.content.Community;
@@ -385,7 +386,7 @@ public class RoleIngester implements PackageIngester {
Document document;
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilderFactory dbf = XMLUtils.getDocumentBuilderFactory();
dbf.setIgnoringComments(true);
dbf.setCoalescing(true);
DocumentBuilder db = dbf.newDocumentBuilder();
@@ -419,7 +420,7 @@ public class RoleIngester implements PackageIngester {
Document document;
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilderFactory dbf = XMLUtils.getDocumentBuilderFactory();
dbf.setIgnoringComments(true);
dbf.setCoalescing(true);
DocumentBuilder db = dbf.newDocumentBuilder();

View File

@@ -202,7 +202,7 @@ public interface DSpaceObjectService<T extends DSpaceObject> {
* Get the value(s) of a metadata field.
* @param dSpaceObject the object whose metadata are sought.
* @param mdString the name of the field: {@code schema.element.qualifier}.
* @param authority name of the authority which controls these values, or null.
* @param authority name of the authority which controls these values, or Item.ANY, or null.
* @return all matching metadata values, or null if none.
*/
public List<MetadataValue> getMetadata(T dSpaceObject, String mdString, String authority);
@@ -216,7 +216,7 @@ public interface DSpaceObjectService<T extends DSpaceObject> {
* @param lang the language of the requested field value(s),
* null if explicitly no language,
* or {@link org.dspace.content.Item.ANY} to match all languages.
* @param authority name of the authority which controls these values, or null.
* @param authority name of the authority which controls these values, or Item.ANY, or null.
* @return value(s) of the indicated field for the given DSO, or null.
*/
public List<MetadataValue> getMetadata(T dSpaceObject, String schema,

View File

@@ -44,7 +44,8 @@ public interface MetadataDSpaceCsvExportService {
* @return A DSpaceCSV object containing the exported information
* @throws Exception If something goes wrong
*/
public DSpaceCSV export(Context context, Iterator<Item> toExport, boolean exportAll) throws Exception;
public DSpaceCSV export(Context context, Iterator<Item> toExport,
boolean exportAll, DSpaceRunnableHandler handler) throws Exception;
/**
* This method will export all the Items within the given Community to a DSpaceCSV
@@ -54,6 +55,9 @@ public interface MetadataDSpaceCsvExportService {
* @return A DSpaceCSV object containing the exported information
* @throws Exception If something goes wrong
*/
public DSpaceCSV export(Context context, Community community, boolean exportAll) throws Exception;
public DSpaceCSV export(Context context, Community community,
boolean exportAll, DSpaceRunnableHandler handler) throws Exception;
}
int getCsvExportLimit();
}

View File

@@ -468,6 +468,9 @@ public abstract class AbstractHibernateDAO<T> implements GenericDAO<T> {
for (Map.Entry<String, Object> entry : equals.entrySet()) {
criteria.where(criteriaBuilder.equal(root.get(entry.getKey()), entry.getValue()));
}
criteria.orderBy(criteriaBuilder.asc(root.get("id")));
return executeCriteriaQuery(context, criteria, cacheable, maxResults, offset);
}

View File

@@ -55,7 +55,7 @@ import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
/**
* Class representing an e-mail message. The {@link send} method causes the
* Builder representing an e-mail message. The {@link send} method causes the
* assembled message to be formatted and sent.
* <p>
* Typical use:
@@ -168,6 +168,9 @@ public class Email {
*/
private String charset;
/** The message being assembled. */
MimeMessage message;
private static final Logger LOG = LogManager.getLogger();
/** Velocity template settings. */
@@ -188,6 +191,9 @@ public class Email {
/** Velocity template for a message body */
private Template template;
/** The message text. */
private String body;
/**
* Create a new email message.
*/
@@ -254,9 +260,15 @@ public class Email {
/**
* Fill out the next argument in the template.
*
* @param arg the value for the next argument
* @param arg the value for the next argument. If {@code null},
* a zero-length string is substituted.
*/
public void addArgument(Object arg) {
if (null == arg) {
arg = "";
LOG.warn("Null argument {} to email template {} replaced with zero-length string",
arguments.size(), contentName);
}
arguments.add(arg);
}
@@ -327,7 +339,27 @@ public class Email {
}
/**
* Sends the email. If the template defines a Velocity context property
* Sends the email. If sending is disabled then the assembled message is
* logged instead.
*
* @throws MessagingException if there was a problem sending the mail.
* @throws IOException if IO error
*/
public void send() throws MessagingException, IOException {
build();
ConfigurationService config
= DSpaceServicesFactory.getInstance().getConfigurationService();
boolean disabled = config.getBooleanProperty("mail.server.disabled", false);
if (disabled) {
LOG.info(format(message, body));
} else {
Transport.send(message);
}
}
/**
* Build the message. If the template defines a Velocity context property
* named among the values of DSpace configuration property
* {@code mail.message.headers} then that name and its value will be added
* to the message's headers.
@@ -336,11 +368,12 @@ public class Email {
* called, the value of any "subject" property will be used as if setSubject
* had been called with that value. Thus a template may define its subject,
* but the caller may override it.
*
* @throws MessagingException if there was a problem sending the mail.
* @throws IOException if IO error
*
* @throws MessagingException if there is no template, or passed through.
* @throws IOException passed through.
*/
public void send() throws MessagingException, IOException {
void build()
throws MessagingException, IOException {
if (null == template) {
// No template -- no content -- PANIC!!!
throw new MessagingException("Email has no body");
@@ -351,7 +384,6 @@ public class Email {
// Get the mail configuration properties
String from = config.getProperty("mail.from.address");
boolean disabled = config.getBooleanProperty("mail.server.disabled", false);
// If no character set specified, attempt to retrieve a default
if (charset == null) {
@@ -362,7 +394,7 @@ public class Email {
Session session = DSpaceServicesFactory.getInstance().getEmailService().getSession();
// Create message
MimeMessage message = new MimeMessage(session);
message = new MimeMessage(session);
// Set the recipients of the message
for (String recipient : recipients) {
@@ -385,7 +417,7 @@ public class Email {
LOG.error("Template not merged: {}", ex.getMessage());
throw new MessagingException("Template not merged", ex);
}
String fullMessage = writer.toString();
body = writer.toString();
// Set some message header fields
Date date = new Date();
@@ -412,20 +444,19 @@ public class Email {
message.setSubject(subject);
}
// Add attachments
if (attachments.isEmpty() && moreAttachments.isEmpty()) {
// If a character set has been specified, or a default exists
// Attach the body.
if (attachments.isEmpty() && moreAttachments.isEmpty()) { // Flat body.
if (charset != null) {
message.setText(fullMessage, charset);
message.setText(body, charset);
} else {
message.setText(fullMessage);
message.setText(body);
}
} else {
} else { // Add attachments.
Multipart multipart = new MimeMultipart();
// create the first part of the email
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText(fullMessage);
messageBodyPart.setText(body);
multipart.addBodyPart(messageBodyPart);
// Add file attachments
@@ -457,30 +488,47 @@ public class Email {
replyToAddr[0] = new InternetAddress(replyTo);
message.setReplyTo(replyToAddr);
}
}
if (disabled) {
StringBuilder text = new StringBuilder(
"Message not sent due to mail.server.disabled:\n");
/**
* Flatten the email into a string.
*
* @param message the message headers, attachments, etc.
* @param body the message body.
* @return stringified email message.
* @throws MessagingException passed through.
*/
private String format(MimeMessage message, String body)
throws MessagingException {
StringBuilder text = new StringBuilder(
"Message not sent due to mail.server.disabled:\n");
Enumeration<String> headers = message.getAllHeaderLines();
while (headers.hasMoreElements()) {
text.append(headers.nextElement()).append('\n');
}
if (!attachments.isEmpty()) {
text.append("\nAttachments:\n");
for (FileAttachment f : attachments) {
text.append(f.name).append('\n');
}
text.append('\n');
}
text.append('\n').append(fullMessage);
LOG.info(text.toString());
} else {
Transport.send(message);
Enumeration<String> headers = message.getAllHeaderLines();
while (headers.hasMoreElements()) {
text.append(headers.nextElement()).append('\n');
}
if (!attachments.isEmpty()) {
text.append("\nAttachments:\n");
for (FileAttachment f : attachments) {
text.append(f.name).append('\n');
}
text.append('\n');
}
text.append('\n').append(body);
return text.toString();
}
/**
* Get the formatted message for testing.
*
* @return the message flattened to a String.
* @throws MessagingException passed through.
*/
String getMessage()
throws MessagingException {
return format(message, body);
}
/**

View File

@@ -506,4 +506,5 @@ public final class Utils {
ConfigurationService config = DSpaceServicesFactory.getInstance().getConfigurationService();
return StringSubstitutor.replace(string, config.getProperties());
}
}

View File

@@ -9,11 +9,15 @@ package org.dspace.ctask.general;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.logging.log4j.Logger;
import org.dspace.app.client.DSpaceHttpClientFactory;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.content.MetadataValue;
@@ -135,24 +139,20 @@ public class BasicLinkChecker extends AbstractCurationTask {
* @return The HTTP response code (e.g. 200 / 301 / 404 / 500)
*/
protected int getResponseStatus(String url, int redirects) {
try {
URL theURL = new URL(url);
HttpURLConnection connection = (HttpURLConnection) theURL.openConnection();
connection.setInstanceFollowRedirects(true);
int statusCode = connection.getResponseCode();
RequestConfig config = RequestConfig.custom().setRedirectsEnabled(true).build();
try (CloseableHttpClient httpClient = DSpaceHttpClientFactory.getInstance().buildWithRequestConfig(config)) {
CloseableHttpResponse httpResponse = httpClient.execute(new HttpGet(url));
int statusCode = httpResponse.getStatusLine().getStatusCode();
int maxRedirect = configurationService.getIntProperty("curate.checklinks.max-redirect", 0);
if ((statusCode == HttpURLConnection.HTTP_MOVED_TEMP || statusCode == HttpURLConnection.HTTP_MOVED_PERM ||
statusCode == HttpURLConnection.HTTP_SEE_OTHER)) {
connection.disconnect();
String newUrl = connection.getHeaderField("Location");
String newUrl = httpResponse.getFirstHeader("Location").getValue();
if (newUrl != null && (maxRedirect >= redirects || maxRedirect == -1)) {
redirects++;
return getResponseStatus(newUrl, redirects);
}
}
return statusCode;
} catch (IOException ioe) {
// Must be a bad URL
log.debug("Bad link: " + ioe.getMessage());

View File

@@ -30,13 +30,14 @@ import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.client.DSpaceHttpClientFactory;
import org.dspace.app.util.XMLUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
@@ -176,7 +177,7 @@ public class MetadataWebService extends AbstractCurationTask implements Namespac
fieldSeparator = (fldSep != null) ? fldSep : " ";
urlTemplate = taskProperty("template");
templateParam = urlTemplate.substring(urlTemplate.indexOf("{") + 1,
urlTemplate.indexOf("}"));
urlTemplate.indexOf("}"));
String[] parsed = parseTransform(templateParam);
lookupField = parsed[0];
lookupTransform = parsed[1];
@@ -204,13 +205,9 @@ public class MetadataWebService extends AbstractCurationTask implements Namespac
}
}
// initialize response document parser
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
try {
// disallow DTD parsing to ensure no XXE attacks can occur
// See https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html
factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
factory.setXIncludeAware(false);
DocumentBuilderFactory factory = XMLUtils.getDocumentBuilderFactory();
factory.setNamespaceAware(true);
docBuilder = factory.newDocumentBuilder();
} catch (ParserConfigurationException pcE) {
log.error("caught exception: " + pcE);
@@ -255,53 +252,50 @@ public class MetadataWebService extends AbstractCurationTask implements Namespac
}
protected int callService(String value, Item item, StringBuilder resultSb) throws IOException {
String callUrl = urlTemplate.replaceAll("\\{" + templateParam + "\\}", value);
CloseableHttpClient client = HttpClientBuilder.create().build();
HttpGet req = new HttpGet(callUrl);
for (Map.Entry<String, String> entry : headers.entrySet()) {
req.addHeader(entry.getKey(), entry.getValue());
}
HttpResponse resp = client.execute(req);
int status = Curator.CURATE_ERROR;
int statusCode = resp.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
HttpEntity entity = resp.getEntity();
if (entity != null) {
// boiler-plate handling taken from Apache 4.1 javadoc
InputStream instream = entity.getContent();
try {
// This next line triggers a false-positive XXE warning from LGTM, even though we disallow DTD
// parsing during initialization of docBuilder in init()
Document doc = docBuilder.parse(instream); // lgtm [java/xxe]
status = processResponse(doc, item, resultSb);
} catch (SAXException saxE) {
log.error("caught exception: " + saxE);
resultSb.append(" unable to read response document");
} catch (RuntimeException ex) {
// In case of an unexpected exception you may want to abort
// the HTTP request in order to shut down the underlying
// connection and release it back to the connection manager.
req.abort();
log.error("caught exception: " + ex);
throw ex;
} finally {
// Closing the input stream will trigger connection release
instream.close();
}
// When HttpClient instance is no longer needed,
// shut down the connection manager to ensure
// immediate deallocation of all system resources
client.close();
} else {
log.error(" obtained no valid service response");
resultSb.append("no service response");
try (CloseableHttpClient client = DSpaceHttpClientFactory.getInstance().build()) {
HttpGet req = new HttpGet(callUrl);
for (Map.Entry<String, String> entry : headers.entrySet()) {
req.addHeader(entry.getKey(), entry.getValue());
}
try (CloseableHttpResponse resp = client.execute(req)) {
int status = Curator.CURATE_ERROR;
int statusCode = resp.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
HttpEntity entity = resp.getEntity();
if (entity != null) {
// boiler-plate handling taken from Apache 4.1 javadoc
InputStream instream = entity.getContent();
try {
// This next line triggers a false-positive XXE warning from LGTM, even though
// we disallow DTD parsing during initialization of docBuilder in init()
Document doc = docBuilder.parse(instream); // lgtm [java/xxe]
status = processResponse(doc, item, resultSb);
} catch (SAXException saxE) {
log.error("caught exception: " + saxE);
resultSb.append(" unable to read response document");
} catch (RuntimeException ex) {
// In case of an unexpected exception you may want to abort
// the HTTP request in order to shut down the underlying
// connection and release it back to the connection manager.
req.abort();
log.error("caught exception: " + ex);
throw ex;
} finally {
// Closing the input stream will trigger connection release
instream.close();
}
} else {
log.error(" obtained no valid service response");
resultSb.append("no service response");
}
} else {
log.error("service returned non-OK status: " + statusCode);
resultSb.append("no service response");
}
return status;
}
} else {
log.error("service returned non-OK status: " + statusCode);
resultSb.append("no service response");
}
return status;
}
protected int processResponse(Document doc, Item item, StringBuilder resultSb) throws IOException {

View File

@@ -12,12 +12,12 @@ import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.client.DSpaceHttpClientFactory;
import org.dspace.services.ConfigurationService;
import org.dspace.services.factory.DSpaceServicesFactory;
@@ -60,22 +60,20 @@ public class MicrosoftTranslator extends AbstractTranslator {
String url = baseUrl + "?appId=" + apiKey;
url += "&to=" + to + "&from=" + from + "&text=" + text;
try (CloseableHttpClient client = HttpClientBuilder.create().build()) {
try (CloseableHttpClient client = DSpaceHttpClientFactory.getInstance().build()) {
HttpGet hm = new HttpGet(url);
HttpResponse httpResponse = client.execute(hm);
log.debug("Response code from API call is " + httpResponse);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
String response = IOUtils.toString(httpResponse.getEntity().getContent(),
StandardCharsets.ISO_8859_1);
response = response
.replaceAll("<string xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">", "");
response = response.replaceAll("</string>", "");
translatedText = response;
try (CloseableHttpResponse httpResponse = client.execute(hm)) {
log.debug("Response code from API call is " + httpResponse);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
String response = IOUtils.toString(httpResponse.getEntity().getContent(),
StandardCharsets.ISO_8859_1);
response = response
.replaceAll("<string xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">", "");
response = response.replaceAll("</string>", "");
translatedText = response;
}
}
}
return translatedText;
}
}
}

View File

@@ -24,6 +24,8 @@ import java.util.UUID;
import org.apache.commons.cli.ParseException;
import org.apache.commons.io.output.NullOutputStream;
import org.dspace.app.util.DSpaceObjectUtilsImpl;
import org.dspace.app.util.service.DSpaceObjectUtils;
import org.dspace.authorize.AuthorizeException;
import org.dspace.content.DSpaceObject;
import org.dspace.content.factory.ContentServiceFactory;
@@ -35,6 +37,7 @@ import org.dspace.eperson.service.EPersonService;
import org.dspace.handle.factory.HandleServiceFactory;
import org.dspace.handle.service.HandleService;
import org.dspace.scripts.DSpaceRunnable;
import org.dspace.services.factory.DSpaceServicesFactory;
import org.dspace.utils.DSpace;
/**
@@ -45,7 +48,9 @@ import org.dspace.utils.DSpace;
public class Curation extends DSpaceRunnable<CurationScriptConfiguration> {
protected EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService();
protected DSpaceObjectUtils dspaceObjectUtils = DSpaceServicesFactory.getInstance().getServiceManager()
.getServiceByName(DSpaceObjectUtilsImpl.class.getName(), DSpaceObjectUtilsImpl.class);
HandleService handleService = HandleServiceFactory.getInstance().getHandleService();
protected Context context;
private CurationClientOptions curationClientOptions;
@@ -345,9 +350,29 @@ public class Curation extends DSpaceRunnable<CurationScriptConfiguration> {
if (this.commandLine.hasOption('i')) {
this.id = this.commandLine.getOptionValue('i').toLowerCase();
DSpaceObject dso;
if (!this.id.equalsIgnoreCase("all")) {
HandleService handleService = HandleServiceFactory.getInstance().getHandleService();
DSpaceObject dso;
// First, try to parse the id as a UUID. If that fails, treat it as a handle.
UUID uuid = null;
try {
uuid = UUID.fromString(id);
} catch (Exception e) {
// It's not a UUID, proceed to treat it as a handle.
}
if (uuid != null) {
try {
dso = dspaceObjectUtils.findDSpaceObject(context, uuid);
if (dso != null) {
// We already resolved an object, return early
return;
}
} catch (SQLException e) {
String error = "SQLException trying to find dso with uuid " + uuid;
super.handler.logError(error);
throw new RuntimeException(error, e);
}
}
// If we get here, the id is not a UUID, so we assume it's a handle.
try {
dso = handleService.resolveToObject(this.context, id);
} catch (SQLException e) {

View File

@@ -88,9 +88,11 @@ public class SolrSearchCore {
solrServer.setBaseURL(solrService);
solrServer.setUseMultiPartPost(true);
// Dummy/test query to search for Item (type=2) of ID=1
SolrQuery solrQuery = new SolrQuery()
.setQuery(SearchUtils.RESOURCE_TYPE_FIELD + ":" + IndexableItem.TYPE +
" AND " + SearchUtils.RESOURCE_ID_FIELD + ":1");
SolrQuery solrQuery = new SolrQuery();
solrQuery.setQuery("*:*");
solrQuery.addFilterQuery(
SearchUtils.RESOURCE_TYPE_FIELD + ":" + IndexableItem.TYPE,
SearchUtils.RESOURCE_ID_FIELD + ":1");
// Only return obj identifier fields in result doc
solrQuery.setFields(SearchUtils.RESOURCE_TYPE_FIELD, SearchUtils.RESOURCE_ID_FIELD);
solrServer.query(solrQuery, REQUEST_METHOD);

View File

@@ -52,21 +52,23 @@ public class SolrServiceFileInfoPlugin implements SolrServiceIndexPlugin {
List<Bitstream> bitstreams = bundle.getBitstreams();
if (bitstreams != null) {
for (Bitstream bitstream : bitstreams) {
document.addField(SOLR_FIELD_NAME_FOR_FILENAMES, bitstream.getName());
// Add _keyword and _filter fields which are necessary to support filtering and faceting
// for the file names
document.addField(SOLR_FIELD_NAME_FOR_FILENAMES + "_keyword", bitstream.getName());
document.addField(SOLR_FIELD_NAME_FOR_FILENAMES + "_filter", bitstream.getName());
if (bitstream != null) {
document.addField(SOLR_FIELD_NAME_FOR_FILENAMES, bitstream.getName());
// Add _keyword and _filter fields which are necessary to
// support filtering and faceting for the file names
document.addField(SOLR_FIELD_NAME_FOR_FILENAMES + "_keyword", bitstream.getName());
document.addField(SOLR_FIELD_NAME_FOR_FILENAMES + "_filter", bitstream.getName());
String description = bitstream.getDescription();
if ((description != null) && !description.isEmpty()) {
document.addField(SOLR_FIELD_NAME_FOR_DESCRIPTIONS, description);
// Add _keyword and _filter fields which are necessary to support filtering and
// faceting for the descriptions
document.addField(SOLR_FIELD_NAME_FOR_DESCRIPTIONS + "_keyword",
description);
document.addField(SOLR_FIELD_NAME_FOR_DESCRIPTIONS + "_filter",
description);
String description = bitstream.getDescription();
if ((description != null) && !description.isEmpty()) {
document.addField(SOLR_FIELD_NAME_FOR_DESCRIPTIONS, description);
// Add _keyword and _filter fields which are necessary to support filtering and
// faceting for the descriptions
document.addField(SOLR_FIELD_NAME_FOR_DESCRIPTIONS + "_keyword",
description);
document.addField(SOLR_FIELD_NAME_FOR_DESCRIPTIONS + "_filter",
description);
}
}
}
}

View File

@@ -41,6 +41,9 @@ import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.FacetField;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.json.BucketBasedJsonFacet;
import org.apache.solr.client.solrj.response.json.BucketJsonFacet;
import org.apache.solr.client.solrj.response.json.NestableJsonFacet;
import org.apache.solr.client.solrj.util.ClientUtils;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
@@ -72,6 +75,7 @@ import org.dspace.discovery.indexobject.IndexableCommunity;
import org.dspace.discovery.indexobject.IndexableItem;
import org.dspace.discovery.indexobject.factory.IndexFactory;
import org.dspace.discovery.indexobject.factory.IndexObjectFactoryFactory;
import org.dspace.discovery.indexobject.factory.ItemIndexFactory;
import org.dspace.eperson.Group;
import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.eperson.service.GroupService;
@@ -341,6 +345,7 @@ public class SolrServiceImpl implements SearchService, IndexingService {
try {
final List<IndexFactory> indexableObjectServices = indexObjectServiceFactory.
getIndexFactories();
int indexObject = 0;
for (IndexFactory indexableObjectService : indexableObjectServices) {
if (type == null || StringUtils.equals(indexableObjectService.getType(), type)) {
final Iterator<IndexableObject> indexableObjects = indexableObjectService.findAll(context);
@@ -348,6 +353,10 @@ public class SolrServiceImpl implements SearchService, IndexingService {
final IndexableObject indexableObject = indexableObjects.next();
indexContent(context, indexableObject, force);
context.uncacheEntity(indexableObject.getIndexedObject());
indexObject++;
if ((indexObject % 100) == 0 && indexableObjectService instanceof ItemIndexFactory) {
context.uncacheEntities();
}
}
}
}
@@ -852,16 +861,20 @@ public class SolrServiceImpl implements SearchService, IndexingService {
solrQuery.setQuery(query);
// Add any search fields to our query. This is the limited list
// of fields that will be returned in the solr result
for (String fieldName : discoveryQuery.getSearchFields()) {
solrQuery.addField(fieldName);
if (discoveryQuery.getMaxResults() != 0) {
// set search fields in Solr query only if we are interested in the actual search results
// Add any search fields to our query. This is the limited list
// of fields that will be returned in the solr result
for (String fieldName : discoveryQuery.getSearchFields()) {
solrQuery.addField(fieldName);
}
// Also ensure a few key obj identifier fields are returned with every query
solrQuery.addField(SearchUtils.RESOURCE_TYPE_FIELD);
solrQuery.addField(SearchUtils.RESOURCE_ID_FIELD);
solrQuery.addField(SearchUtils.RESOURCE_UNIQUE_ID);
solrQuery.addField(STATUS_FIELD);
}
// Also ensure a few key obj identifier fields are returned with every query
solrQuery.addField(SearchUtils.RESOURCE_TYPE_FIELD);
solrQuery.addField(SearchUtils.RESOURCE_ID_FIELD);
solrQuery.addField(SearchUtils.RESOURCE_UNIQUE_ID);
solrQuery.addField(STATUS_FIELD);
if (discoveryQuery.isSpellCheck()) {
solrQuery.setParam(SpellingParams.SPELLCHECK_Q, query);
@@ -1055,8 +1068,8 @@ public class SolrServiceImpl implements SearchService, IndexingService {
}
//Resolve our facet field values
resolveFacetFields(context, query, result, skipLoadingResponse, solrQueryResponse);
//Add total entries count for metadata browsing
resolveEntriesCount(result, solrQueryResponse);
//Resolve our json facet field values used for metadata browsing
resolveJsonFacetFields(context, result, solrQueryResponse);
}
// If any stale entries are found in the current page of results,
// we remove those stale entries and rerun the same query again.
@@ -1083,35 +1096,38 @@ public class SolrServiceImpl implements SearchService, IndexingService {
}
/**
* Stores the total count of entries for metadata index browsing. The count is calculated by the
* <code>json.facet</code> parameter with the following value:
* Process the 'json.facet' response, which is currently only used for metadata browsing
*
* <pre><code>
* {
* "entries_count": {
* "type": "terms",
* "field": "facetNameField_filter",
* "limit": 0,
* "prefix": "prefix_value",
* "numBuckets": true
* }
* }
* </code></pre>
*
* This value is returned in the <code>facets</code> field of the Solr response.
*
* @param result DiscoverResult object where the total entries count will be stored
* @param solrQueryResponse QueryResponse object containing the solr response
* @param context context object
* @param result the result object to add the facet results to
* @param solrQueryResponse the solr query response
* @throws SQLException if database error
*/
private void resolveEntriesCount(DiscoverResult result, QueryResponse solrQueryResponse) {
private void resolveJsonFacetFields(Context context, DiscoverResult result, QueryResponse solrQueryResponse)
throws SQLException {
Object facetsObj = solrQueryResponse.getResponse().get("facets");
if (facetsObj instanceof NamedList) {
NamedList<Object> facets = (NamedList<Object>) facetsObj;
Object bucketsInfoObj = facets.get("entries_count");
if (bucketsInfoObj instanceof NamedList) {
NamedList<Object> bucketsInfo = (NamedList<Object>) bucketsInfoObj;
result.setTotalEntries((int) bucketsInfo.get("numBuckets"));
NestableJsonFacet response = solrQueryResponse.getJsonFacetingResponse();
if (response != null && response.getBucketBasedFacetNames() != null) {
for (String facetName : response.getBucketBasedFacetNames()) {
BucketBasedJsonFacet facet = response.getBucketBasedFacets(facetName);
if (facet != null) {
result.setTotalEntries(facet.getNumBucketsCount());
for (BucketJsonFacet bucket : facet.getBuckets()) {
String facetValue = bucket.getVal() != null ? bucket.getVal().toString() : "";
String field = facetName + "_filter";
String displayedValue = transformDisplayedValue(context, field, facetValue);
String authorityValue = transformAuthorityValue(context, field, facetValue);
String sortValue = transformSortValue(context, field, facetValue);
String filterValue = displayedValue;
if (StringUtils.isNotBlank(authorityValue)) {
filterValue = authorityValue;
}
result.addFacetResult(facetName,
new DiscoverResult.FacetResult(filterValue, displayedValue,
authorityValue, sortValue, bucket.getCount(),
DiscoveryConfigurationParameters.TYPE_TEXT));
}
}
}
}
}

View File

@@ -10,8 +10,10 @@ package org.dspace.discovery.configuration;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
@@ -197,15 +199,19 @@ public class DiscoveryConfigurationService {
}
/**
* @return All configurations for {@link org.dspace.discovery.configuration.DiscoverySearchFilterFacet}
* Get the unique set of configured Discovery facets. This is used when inspecting configuration
* to include hierarchical vocabularies in the browse menu.
*
* @return All unique instances of {@link org.dspace.discovery.configuration.DiscoverySearchFilterFacet}
* included in "sidebarFacets" bean, across all Discovery configurations.
*/
public List<DiscoverySearchFilterFacet> getAllFacetsConfig() {
List<DiscoverySearchFilterFacet> configs = new ArrayList<>();
public List<DiscoverySearchFilterFacet> getAllUniqueFacetsConfig() {
Set<DiscoverySearchFilterFacet> configs = new LinkedHashSet<>();
for (String key : map.keySet()) {
DiscoveryConfiguration config = map.get(key);
configs.addAll(config.getSidebarFacets());
}
return configs;
return new ArrayList<>(configs);
}
public static void main(String[] args) {

View File

@@ -124,7 +124,9 @@ public class LDNMessageEntityIndexFactoryImpl extends IndexFactoryImpl<Indexable
doc.addField("type", ldnMessage.getType());
addFacetIndex(doc, "activity_stream_type", ldnMessage.getActivityStreamType(),
ldnMessage.getActivityStreamType());
addFacetIndex(doc, "coar_notify_type", ldnMessage.getCoarNotifyType(), ldnMessage.getCoarNotifyType());
if (ldnMessage.getCoarNotifyType() != null) {
addFacetIndex(doc, "coar_notify_type", ldnMessage.getCoarNotifyType(), ldnMessage.getCoarNotifyType());
}
doc.addField("queue_attempts", ldnMessage.getQueueAttempts());
doc.addField("queue_attempts_sort", ldnMessage.getQueueAttempts());

View File

@@ -302,7 +302,7 @@ public class DiscoverQueryBuilder implements InitializingBean {
if (StringUtils.isNotBlank(sortBy) && !isConfigured(sortBy, searchSortConfiguration)) {
throw new SearchServiceException(
"The field: " + sortBy + "is not configured for the configuration!");
"The field: " + sortBy + " is not configured for the configuration!");
}

View File

@@ -139,8 +139,8 @@ public class CitationDocumentServiceImpl implements CitationDocumentService, Ini
//Load enabled collections
String[] citationEnabledCollections = configurationService
.getArrayProperty("citation-page.enabled_collections");
citationEnabledCollectionsList = Arrays.asList(citationEnabledCollections);
.getArrayProperty("citation-page.enabled_collections");
citationEnabledCollectionsList = new ArrayList<String>(Arrays.asList(citationEnabledCollections));
//Load enabled communities, and add to collection-list
String[] citationEnabledCommunities = configurationService

View File

@@ -17,15 +17,15 @@ import java.util.regex.Pattern;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.annotation.PostConstruct;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.client.DSpaceHttpClientFactory;
import org.dspace.eperson.service.CaptchaService;
import org.dspace.services.ConfigurationService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -82,18 +82,17 @@ public class CaptchaServiceImpl implements CaptchaService {
throw new RuntimeException(e.getMessage(), e);
}
HttpClient httpClient = HttpClientBuilder.create().build();
HttpResponse httpResponse;
GoogleCaptchaResponse googleResponse;
final ObjectMapper objectMapper = new ObjectMapper();
try {
httpResponse = httpClient.execute(httpPost);
googleResponse = objectMapper.readValue(httpResponse.getEntity().getContent(), GoogleCaptchaResponse.class);
try (CloseableHttpClient httpClient = DSpaceHttpClientFactory.getInstance().build()) {
final ObjectMapper objectMapper = new ObjectMapper();
try (CloseableHttpResponse httpResponse = httpClient.execute(httpPost)) {
GoogleCaptchaResponse googleResponse = objectMapper.readValue(httpResponse.getEntity().getContent(),
GoogleCaptchaResponse.class);
validateGoogleResponse(googleResponse, action);
}
} catch (IOException e) {
log.error(e.getMessage(), e);
throw new RuntimeException("Error during verify google recaptcha site", e);
}
validateGoogleResponse(googleResponse, action);
}
private boolean responseSanityCheck(String response) {

View File

@@ -369,7 +369,7 @@ public class EPerson extends CacheableDSpaceObject implements DSpaceObjectLegacy
@Override
public String getName() {
return getEmail();
return this.getFullName();
}
String getDigestAlgorithm() {

View File

@@ -131,7 +131,8 @@ public class SubscribeServiceImpl implements SubscribeService {
@Override
public boolean isSubscribed(Context context, EPerson eperson, DSpaceObject dSpaceObject) throws SQLException {
return subscriptionDAO.findByEPersonAndDso(context, eperson, dSpaceObject, -1, -1) != null;
List<Subscription> subscriptions = subscriptionDAO.findByEPersonAndDso(context, eperson, dSpaceObject, -1, -1);
return subscriptions != null && !subscriptions.isEmpty();
}
@Override

View File

@@ -27,13 +27,13 @@ import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.NoHttpResponseException;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.logging.log4j.Logger;
import org.dspace.app.client.DSpaceHttpClientFactory;
import org.dspace.app.util.Util;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
@@ -120,33 +120,34 @@ public class OpenaireRestConnector {
params.add(new BasicNameValuePair("grant_type", "client_credentials"));
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
HttpClient httpClient = HttpClientBuilder.create().build();
HttpResponse getResponse = httpClient.execute(httpPost);
try (CloseableHttpClient httpClient = DSpaceHttpClientFactory.getInstance().build()) {
HttpResponse getResponse = httpClient.execute(httpPost);
JSONObject responseObject = null;
try (InputStream is = getResponse.getEntity().getContent();
BufferedReader streamReader = new BufferedReader(new InputStreamReader(is, "UTF-8"))) {
String inputStr;
// verify if we have basic json
while ((inputStr = streamReader.readLine()) != null && responseObject == null) {
if (inputStr.startsWith("{") && inputStr.endsWith("}") && inputStr.contains("access_token")
&& inputStr.contains("expires_in")) {
try {
responseObject = new JSONObject(inputStr);
} catch (Exception e) {
// Not as valid as I'd hoped, move along
responseObject = null;
JSONObject responseObject = null;
try (InputStream is = getResponse.getEntity().getContent();
BufferedReader streamReader = new BufferedReader(new InputStreamReader(is, "UTF-8"))) {
String inputStr;
// verify if we have basic json
while ((inputStr = streamReader.readLine()) != null && responseObject == null) {
if (inputStr.startsWith("{") && inputStr.endsWith("}") && inputStr.contains("access_token")
&& inputStr.contains("expires_in")) {
try {
responseObject = new JSONObject(inputStr);
} catch (Exception e) {
// Not as valid as I'd hoped, move along
responseObject = null;
}
}
}
}
}
if (responseObject == null || !responseObject.has("access_token") || !responseObject.has("expires_in")) {
throw new IOException("Unable to grab the access token using provided service url, client id and secret");
}
return new OpenaireRestToken(responseObject.get("access_token").toString(),
Long.valueOf(responseObject.get("expires_in").toString()));
if (responseObject == null || !responseObject.has("access_token") || !responseObject.has("expires_in")) {
throw new IOException("Unable to grab the access token using provided service url, " +
"client id and secret");
}
return new OpenaireRestToken(responseObject.get("access_token").toString(),
Long.valueOf(responseObject.get("expires_in").toString()));
}
}
/**
@@ -171,42 +172,43 @@ public class OpenaireRestConnector {
httpGet.addHeader("Authorization", "Bearer " + accessToken);
}
HttpClient httpClient = HttpClientBuilder.create().build();
getResponse = httpClient.execute(httpGet);
try (CloseableHttpClient httpClient = DSpaceHttpClientFactory.getInstance().build()) {
getResponse = httpClient.execute(httpGet);
StatusLine status = getResponse.getStatusLine();
StatusLine status = getResponse.getStatusLine();
// registering errors
switch (status.getStatusCode()) {
case HttpStatus.SC_NOT_FOUND:
// 404 - Not found
case HttpStatus.SC_FORBIDDEN:
// 403 - Invalid Access Token
case 429:
// 429 - Rate limit abuse for unauthenticated user
Header[] limitUsed = getResponse.getHeaders("x-ratelimit-used");
Header[] limitMax = getResponse.getHeaders("x-ratelimit-limit");
// registering errors
switch (status.getStatusCode()) {
case HttpStatus.SC_NOT_FOUND:
// 404 - Not found
case HttpStatus.SC_FORBIDDEN:
// 403 - Invalid Access Token
case 429:
// 429 - Rate limit abuse for unauthenticated user
Header[] limitUsed = getResponse.getHeaders("x-ratelimit-used");
Header[] limitMax = getResponse.getHeaders("x-ratelimit-limit");
if (limitUsed.length > 0) {
String limitMsg = limitUsed[0].getValue();
if (limitMax.length > 0) {
limitMsg = limitMsg.concat(" of " + limitMax[0].getValue());
if (limitUsed.length > 0) {
String limitMsg = limitUsed[0].getValue();
if (limitMax.length > 0) {
limitMsg = limitMsg.concat(" of " + limitMax[0].getValue());
}
getGotError(new NoHttpResponseException(status.getReasonPhrase() + " with usage limit "
+ limitMsg),
url + '/' + file);
} else {
// 429 - Rate limit abuse
getGotError(new NoHttpResponseException(status.getReasonPhrase()), url + '/' + file);
}
getGotError(
new NoHttpResponseException(status.getReasonPhrase() + " with usage limit " + limitMsg),
url + '/' + file);
} else {
// 429 - Rate limit abuse
getGotError(new NoHttpResponseException(status.getReasonPhrase()), url + '/' + file);
}
break;
default:
// 200 or other
break;
}
break;
default:
// 200 or other
break;
}
// do not close this httpClient
result = getResponse.getEntity().getContent();
// do not close this httpClient
result = getResponse.getEntity().getContent();
}
} catch (MalformedURLException e1) {
getGotError(e1, url + '/' + file);
} catch (Exception e) {

View File

@@ -7,17 +7,18 @@
*/
package org.dspace.external;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.app.client.DSpaceHttpClientFactory;
/**
* @author Antoine Snyers (antoine at atmire.com)
@@ -39,7 +40,7 @@ public class OrcidRestConnector {
}
public InputStream get(String path, String accessToken) {
HttpResponse getResponse = null;
CloseableHttpResponse getResponse = null;
InputStream result = null;
path = trimSlashes(path);
@@ -49,11 +50,13 @@ public class OrcidRestConnector {
httpGet.addHeader("Content-Type", "application/vnd.orcid+xml");
httpGet.addHeader("Authorization","Bearer " + accessToken);
}
try {
HttpClient httpClient = HttpClientBuilder.create().build();
try (CloseableHttpClient httpClient = DSpaceHttpClientFactory.getInstance().build()) {
getResponse = httpClient.execute(httpGet);
//do not close this httpClient
result = getResponse.getEntity().getContent();
try (InputStream responseStream = getResponse.getEntity().getContent()) {
// Read all the content of the response stream into a byte array to prevent TruncatedChunkException
byte[] content = responseStream.readAllBytes();
result = new ByteArrayInputStream(content);
}
} catch (Exception e) {
getGotError(e, fullPath);
}

View File

@@ -7,24 +7,17 @@
*/
package org.dspace.external.provider.impl;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dspace.content.dto.MetadataValueDTO;
@@ -32,8 +25,9 @@ import org.dspace.external.OrcidRestConnector;
import org.dspace.external.model.ExternalDataObject;
import org.dspace.external.provider.AbstractExternalDataProvider;
import org.dspace.external.provider.orcid.xml.XMLtoBio;
import org.json.JSONObject;
import org.dspace.orcid.model.factory.OrcidFactoryUtils;
import org.orcid.jaxb.model.v3.release.common.OrcidIdentifier;
import org.orcid.jaxb.model.v3.release.record.Email;
import org.orcid.jaxb.model.v3.release.record.Person;
import org.orcid.jaxb.model.v3.release.search.Result;
import org.springframework.beans.factory.annotation.Autowired;
@@ -60,6 +54,11 @@ public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider {
private XMLtoBio converter;
/**
* Maximum retries to allow for the access token retrieval
*/
private int maxClientRetries = 3;
public static final String ORCID_ID_SYNTAX = "\\d{4}-\\d{4}-\\d{4}-(\\d{3}X|\\d{4})";
private static final int MAX_INDEX = 10000;
@@ -78,47 +77,37 @@ public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider {
* @throws java.io.IOException passed through from HTTPclient.
*/
public void init() throws IOException {
if (StringUtils.isNotBlank(clientSecret) && StringUtils.isNotBlank(clientId)
&& StringUtils.isNotBlank(OAUTHUrl)) {
String authenticationParameters = "?client_id=" + clientId +
"&client_secret=" + clientSecret +
"&scope=/read-public&grant_type=client_credentials";
HttpPost httpPost = new HttpPost(OAUTHUrl + authenticationParameters);
httpPost.addHeader("Accept", "application/json");
httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");
// Initialize access token at spring instantiation. If it fails, the access token will be null rather
// than causing a fatal Spring startup error
initializeAccessToken();
}
HttpClient httpClient = HttpClientBuilder.create().build();
HttpResponse getResponse = httpClient.execute(httpPost);
JSONObject responseObject = null;
try (InputStream is = getResponse.getEntity().getContent();
BufferedReader streamReader = new BufferedReader(new InputStreamReader(is, "UTF-8"))) {
String inputStr;
while ((inputStr = streamReader.readLine()) != null && responseObject == null) {
if (inputStr.startsWith("{") && inputStr.endsWith("}") && inputStr.contains("access_token")) {
try {
responseObject = new JSONObject(inputStr);
} catch (Exception e) {
//Not as valid as I'd hoped, move along
responseObject = null;
}
}
}
}
if (responseObject != null && responseObject.has("access_token")) {
accessToken = (String) responseObject.get("access_token");
}
/**
* Initialize access token, logging an error and decrementing remaining retries if an IOException is thrown.
* If the optional access token result is empty, set to null instead.
*/
public void initializeAccessToken() {
// If we have reaches max retries or the access token is already set, return immediately
if (maxClientRetries <= 0 || StringUtils.isNotBlank(accessToken)) {
return;
}
try {
accessToken = OrcidFactoryUtils.retrieveAccessToken(clientId, clientSecret, OAUTHUrl).orElse(null);
} catch (IOException e) {
log.error("Error retrieving ORCID access token, {} retries left", --maxClientRetries);
}
}
@Override
public Optional<ExternalDataObject> getExternalDataObject(String id) {
initializeAccessToken();
Person person = getBio(id);
ExternalDataObject externalDataObject = convertToExternalDataObject(person);
return Optional.of(externalDataObject);
}
protected ExternalDataObject convertToExternalDataObject(Person person) {
initializeAccessToken();
ExternalDataObject externalDataObject = new ExternalDataObject(sourceIdentifier);
if (person.getName() != null) {
String lastName = "";
@@ -126,13 +115,20 @@ public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider {
if (person.getName().getFamilyName() != null) {
lastName = person.getName().getFamilyName().getContent();
externalDataObject.addMetadata(new MetadataValueDTO("person", "familyName", null, null,
lastName));
lastName));
}
if (person.getName().getGivenNames() != null) {
firstName = person.getName().getGivenNames().getContent();
externalDataObject.addMetadata(new MetadataValueDTO("person", "givenName", null, null,
firstName));
firstName));
}
if (person.getEmails().getEmails() != null && !person.getEmails().getEmails().isEmpty()) {
Email email = person.getEmails().getEmails().get(0);
if (person.getEmails().getEmails().size() > 1) {
email = person.getEmails().getEmails().stream().filter(Email::isPrimary).findFirst().orElse(email);
}
externalDataObject.addMetadata(new MetadataValueDTO("person", "email", null,
null, email.getEmail()));
}
externalDataObject.setId(person.getName().getPath());
externalDataObject
@@ -140,7 +136,7 @@ public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider {
new MetadataValueDTO("person", "identifier", "orcid", null, person.getName().getPath()));
externalDataObject
.addMetadata(new MetadataValueDTO("dc", "identifier", "uri", null,
orcidUrl + "/" + person.getName().getPath()));
orcidUrl + "/" + person.getName().getPath()));
if (!StringUtils.isBlank(lastName) && !StringUtils.isBlank(firstName)) {
externalDataObject.setDisplayValue(lastName + ", " + firstName);
externalDataObject.setValue(lastName + ", " + firstName);
@@ -151,8 +147,8 @@ public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider {
externalDataObject.setDisplayValue(firstName);
externalDataObject.setValue(firstName);
}
} else if (person.getPath() != null ) {
externalDataObject.setId(StringUtils.substringBetween(person.getPath(),"/","/person"));
} else if (person.getPath() != null) {
externalDataObject.setId(StringUtils.substringBetween(person.getPath(), "/", "/person"));
}
return externalDataObject;
}
@@ -167,14 +163,13 @@ public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider {
if (!isValid(id)) {
return null;
}
InputStream bioDocument = orcidRestConnector.get(id + ((id.endsWith("/person")) ? "" : "/person"), accessToken);
Person person = converter.convertSinglePerson(bioDocument);
try {
bioDocument.close();
} catch (IOException e) {
log.error(e.getMessage(), e);
if (orcidRestConnector == null) {
log.error("ORCID REST connector is null, returning null ORCID Person Bio");
return null;
}
return person;
initializeAccessToken();
InputStream bioDocument = orcidRestConnector.get(id + ((id.endsWith("/person")) ? "" : "/person"), accessToken);
return converter.convertSinglePerson(bioDocument);
}
/**
@@ -188,12 +183,18 @@ public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider {
@Override
public List<ExternalDataObject> searchExternalDataObjects(String query, int start, int limit) {
initializeAccessToken();
if (limit > 100) {
throw new IllegalArgumentException("The maximum number of results to retrieve cannot exceed 100.");
}
if (start > MAX_INDEX) {
throw new IllegalArgumentException("The starting number of results to retrieve cannot exceed 10000.");
}
// Check REST connector is initialized
if (orcidRestConnector == null) {
log.error("ORCID REST connector is not initialized, returning empty list");
return Collections.emptyList();
}
String searchPath = "search?q=" + URLEncoder.encode(query, StandardCharsets.UTF_8)
+ "&start=" + start
@@ -205,7 +206,7 @@ public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider {
for (Result result : results) {
OrcidIdentifier orcidIdentifier = result.getOrcidIdentifier();
if (orcidIdentifier != null) {
log.debug("Found OrcidId=" + orcidIdentifier.toString());
log.debug("Found OrcidId=" + orcidIdentifier.getPath());
String orcid = orcidIdentifier.getPath();
Person bio = getBio(orcid);
if (bio != null) {
@@ -213,14 +214,6 @@ public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider {
}
}
}
try {
bioDocument.close();
} catch (IOException e) {
log.error(e.getMessage(), e);
}
if (Objects.isNull(bios)) {
return Collections.emptyList();
}
return bios.stream().map(bio -> convertToExternalDataObject(bio)).collect(Collectors.toList());
}
@@ -231,6 +224,11 @@ public class OrcidV3AuthorDataProvider extends AbstractExternalDataProvider {
@Override
public int getNumberOfResults(String query) {
if (orcidRestConnector == null) {
log.error("ORCID REST connector is null, returning 0");
return 0;
}
initializeAccessToken();
String searchPath = "search?q=" + URLEncoder.encode(query, StandardCharsets.UTF_8)
+ "&start=" + 0
+ "&rows=" + 0;

View File

@@ -97,7 +97,7 @@ public class SHERPAv2JournalDataProvider extends AbstractExternalDataProvider {
if (CollectionUtils.isNotEmpty(sherpaJournal.getIssns())) {
String issn = sherpaJournal.getIssns().get(0);
externalDataObject.addMetadata(new MetadataValueDTO(
"dc", "identifier", "issn", null, issn));
"creativeworkseries", "issn", null, null, issn));
}

View File

@@ -106,8 +106,7 @@ public class SHERPAv2JournalISSNDataProvider extends AbstractExternalDataProvide
String issn = sherpaJournal.getIssns().get(0);
externalDataObject.setId(issn);
externalDataObject.addMetadata(new MetadataValueDTO(
"dc", "identifier", "issn", null, issn));
"creativeworkseries", "issn", null, null, issn));
}
log.debug("New external data object. Title=" + externalDataObject.getValue() + ". ID="

View File

@@ -16,6 +16,7 @@ import javax.xml.stream.XMLStreamReader;
import jakarta.xml.bind.JAXBContext;
import jakarta.xml.bind.JAXBException;
import jakarta.xml.bind.Unmarshaller;
import org.dspace.app.util.XMLUtils;
import org.xml.sax.SAXException;
/**
@@ -31,9 +32,7 @@ public abstract class Converter<T> {
protected Object unmarshall(InputStream input, Class<?> type) throws SAXException, URISyntaxException {
try {
XMLInputFactory xmlInputFactory = XMLInputFactory.newFactory();
// disallow DTD parsing to ensure no XXE attacks can occur
xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, false);
XMLInputFactory xmlInputFactory = XMLUtils.getXMLInputFactory();
XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(input);
JAXBContext context = JAXBContext.newInstance(type);

View File

@@ -108,8 +108,9 @@ public class ExternalDataServiceImpl implements ExternalDataService {
}
log.info(LogHelper.getHeader(context, "create_item_from_externalDataObject", "Created item" +
"with id: " + item.getID() + " from source: " + externalDataObject.getSource() + " with identifier: " +
externalDataObject.getId()));
" with id: " + item.getID() +
" from source: " + externalDataObject.getSource() +
" with identifier: " + externalDataObject.getId()));
try {
List<SuggestionProvider> providers = suggestionService.getSuggestionProviders();
if (providers != null) {

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