From 992efcf4d1f63ded990b254ff8034f2022ed40f8 Mon Sep 17 00:00:00 2001 From: Russ Poetker Date: Tue, 21 Apr 2026 10:31:55 -0400 Subject: [PATCH 1/4] refactor: consolidate multi-module Maven project into single module Merge all 9 sub-modules (pass-core-object-service, pass-core-doi-service, pass-core-file-service, pass-core-user-service, pass-core-policy-service, pass-core-usertoken, pass-core-test-config, pass-core-main, jacoco-aggregate-report-pass-core) into a single Maven module rooted at the repository root. - Replace parent POM (packaging=pom) with single-module POM (packaging=jar) - Consolidate all dependencies and plugins into root pom.xml - Move all Java sources into src/main/java and src/test/java - Move all resources into src/main/resources and src/test/resources - Move Dockerfile, entrypoint.sh, init_postgres.sh to repo root - Update Dockerfile COPY instruction for new JAR artifact name - Replace aggregate JaCoCo module with single-module coverage report - Update sonar.coverage.jacoco.xmlReportPaths for single-module layout - Add Shibboleth repository to root POM - Add maven-failsafe-plugin for integration test execution All 179 unit tests pass. Build produces target/pass-core-2.6.0-SNAPSHOT-exec.jar. File content integrity verified via MD5 checksums (183/183 files match). --- .gitignore | 8 + pass-core-main/Dockerfile => Dockerfile | 2 +- pass-core-main/entrypoint.sh => entrypoint.sh | 0 jacoco-aggregate-report-pass-core/pom.xml | 82 ---- pass-core-doi-service/pom.xml | 77 ---- pass-core-file-service/pom.xml | 84 ---- pass-core-main/init_postgres.sh | 9 - pass-core-main/pom.xml | 277 ------------- pass-core-object-service/pom.xml | 56 --- pass-core-policy-service/pom.xml | 60 --- pass-core-test-config/pom.xml | 15 - pass-core-user-service/pom.xml | 65 --- pass-core-usertoken/pom.xml | 49 --- pom.xml | 374 +++++++++++++++--- .../pass/doi/service/ElideConnector.java | 0 .../pass/doi/service/ExternalDoiService.java | 0 .../service/ExternalDoiServiceConnector.java | 0 .../doi/service/PassDoiServiceController.java | 0 .../pass/doi/service/UnpaywallDoiService.java | 0 .../pass/doi/service/XrefDoiService.java | 0 .../service/PassFileServiceController.java | 0 .../service/storage/FileStorageService.java | 0 .../service/storage/StorageConfiguration.java | 0 .../file/service/storage/StorageFile.java | 0 .../service/storage/StorageProperties.java | 0 .../service/storage/StorageServiceType.java | 0 .../eclipse/pass/main/JmsConfiguration.java | 0 .../main/java/org/eclipse/pass/main/Main.java | 0 .../main/OptimisticLockExceptionMapper.java | 0 .../main/repository/DepositRepository.java | 0 .../main/repository/SubmissionRepository.java | 0 .../pass/main/security/CsrfCookieFilter.java | 0 .../main/security/PassAuthentication.java | 0 .../security/PassAuthenticationFilter.java | 0 ...PassAuthenticationFilterConfiguration.java | 0 .../main/security/SecurityConfiguration.java | 0 .../security/SpaCsrfTokenRequestHandler.java | 0 .../main/security/WebMvcConfiguration.java | 0 .../eclipse/pass/object/ElidePassClient.java | 0 .../org/eclipse/pass/object/PassClient.java | 0 .../eclipse/pass/object/PassClientResult.java | 0 .../pass/object/PassClientSelector.java | 0 .../java/org/eclipse/pass/object/RSQL.java | 0 ...regatedDepositStatusToStringConverter.java | 0 .../AwardStatusToStringConverter.java | 0 .../CopyStatusToStringConverter.java | 0 .../DepositStatusToStringConverter.java | 0 .../converter/EventTypeToStringConverter.java | 0 .../converter/FileRoleToStringConverter.java | 0 .../IntegrationTypeToStringConverter.java | 0 .../converter/ListToURIStringConverter.java | 0 .../PerformerRoleToStringConverter.java | 0 .../converter/SetToStringConverter.java | 0 .../converter/SourceToStringConverter.java | 0 .../SubmissionStatusToStringConverter.java | 0 .../UserRoleListToStringConverter.java | 0 .../object/model/AggregatedDepositStatus.java | 0 .../pass/object/model/AwardStatus.java | 0 .../eclipse/pass/object/model/CopyStatus.java | 0 .../eclipse/pass/object/model/Deposit.java | 0 .../pass/object/model/DepositStatus.java | 0 .../eclipse/pass/object/model/EventType.java | 0 .../org/eclipse/pass/object/model/File.java | 0 .../eclipse/pass/object/model/FileRole.java | 0 .../org/eclipse/pass/object/model/Funder.java | 0 .../org/eclipse/pass/object/model/Grant.java | 0 .../pass/object/model/IntegrationType.java | 0 .../eclipse/pass/object/model/Journal.java | 0 .../eclipse/pass/object/model/PassEntity.java | 0 .../pass/object/model/PerformerRole.java | 0 .../pass/object/model/PmcParticipation.java | 0 .../org/eclipse/pass/object/model/Policy.java | 0 .../pass/object/model/Publication.java | 0 .../eclipse/pass/object/model/Repository.java | 0 .../pass/object/model/RepositoryCopy.java | 0 .../org/eclipse/pass/object/model/Source.java | 0 .../eclipse/pass/object/model/Submission.java | 0 .../pass/object/model/SubmissionEvent.java | 0 .../pass/object/model/SubmissionStatus.java | 0 .../org/eclipse/pass/object/model/User.java | 0 .../eclipse/pass/object/model/UserRole.java | 0 .../pass/object/model/package-info.java | 0 .../pass/object/security/BackendCheck.java | 0 .../pass/object/security/GrantAdminCheck.java | 0 .../security/PartOfSubmissionCheck.java | 0 .../pass/object/security/SubmitterCheck.java | 0 .../pass/object/security/WebSecurityRole.java | 0 .../serde/AggregatedDepositStatusSerde.java | 0 .../pass/object/serde/AwardStatusSerde.java | 0 .../pass/object/serde/CopyStatusSerde.java | 0 .../pass/object/serde/DepositStatusSerde.java | 0 .../pass/object/serde/FileRoleSerde.java | 0 .../object/serde/IntegrationTypeSerde.java | 0 .../SubmissionEventPerformerRoleSerde.java | 0 .../serde/SubmissionEventTypeSerde.java | 0 .../object/serde/SubmissionSourceSerde.java | 0 .../object/serde/SubmissionStatusSerde.java | 0 .../eclipse/pass/object/serde/URISerde.java | 0 .../pass/object/serde/UserRoleSerde.java | 0 .../pass/object/serde/ZonedDateTimeSerde.java | 0 .../service/PassPolicyServiceController.java | 0 .../pass/policy/service/PolicyService.java | 0 .../policy/service/SimplePolicyService.java | 0 .../pass/user/UserServiceController.java | 0 .../pass/usertoken/BadTokenException.java | 0 .../org/eclipse/pass/usertoken/Codec.java | 0 .../java/org/eclipse/pass/usertoken/Key.java | 0 .../eclipse/pass/usertoken/KeyGenerator.java | 0 .../org/eclipse/pass/usertoken/Token.java | 0 .../eclipse/pass/usertoken/TokenFactory.java | 0 .../resources/META-INF/resources/index.html | 0 .../META-INF/resources/swagger/LICENSE | 0 .../META-INF/resources/swagger/index.html | 0 .../resources/swagger/swagger-ui-bundle.js | 0 .../swagger/swagger-ui-standalone-preset.js | 0 .../META-INF/resources/swagger/swagger-ui.css | 0 .../main/resources/application.yaml | 0 .../resources/db/changelog/changelog.yaml | 0 .../db/changelog/core-changelog.yaml | 0 .../deposit-repo-copy-publication-id-fix.sql | 0 .../changelog/data/rc-ext-ids-migration.sql | 0 .../db/changelog/data/version-migration.sql | 0 .../db/changelog/schema/index-localkey.sql | 0 .../resources/db/changelog/schema/indices.sql | 0 .../db/changelog/schema/initial-schema.sql | 0 .../db/changelog/schema/long-text.sql | 0 .../schema/postgres-pattern-indices.sql | 0 .../db/changelog/schema/rc-external-ids.sql | 0 .../changelog/schema/remove-contrib-pub.sql | 0 .../main/resources/jats-to-html.xsl | 0 .../main/resources/jats-to-html/citation.xsl | 0 .../main/resources/jats-to-html/front.xsl | 0 .../main/resources/jats-to-html/meta.xsl | 0 .../resources/jats-to-html/self-citation.xsl | 0 .../main/resources/jats-to-html/util.xsl | 0 .../main/resources/logback-access-spring.xml | 0 .../main/resources/logback-spring.xml | 0 .../pass/doi/service/DoiServiceTest.java | 0 .../pass/doi/service/ElideConnectorTest.java | 0 ...nalDoiServiceConnectorIntegrationTest.java | 0 .../ExternalDoiServiceConnectorTest.java | 0 .../doi/service/ExternalDoiServiceTest.java | 0 .../pass/doi/service/JsonTestObjectsUtil.java | 0 .../service/PassDoiServiceControllerTest.java | 0 .../doi/service/UnpaywallDoiServiceTest.java | 0 .../pass/doi/service/XrefDoiServiceTest.java | 0 .../storage/FileStorageServiceS3Test.java | 0 .../storage/FileStorageServiceTest.java | 0 .../storage/StorageConfigurationTest.java | 0 .../pass/main/AwsParamStoreConfigTest.java | 0 .../pass/main/IntegrationTestBase.java | 0 .../pass/main/JmsConfigurationTest.java | 0 .../pass/main/JmsSqsConfigurationTest.java | 0 .../main/JmsSqsEndpointConfigurationTest.java | 0 .../pass/main/SamlIntegrationTest.java | 0 .../pass/main/SimpleIntegrationTest.java | 0 .../pass/main/security/AccessControlTest.java | 0 .../PassAuthenticationFilterTest.java | 0 .../pass/object/ElidePassClientTest.java | 0 .../org/eclipse/pass/object/RSQLTest.java | 0 .../pass/object/model/DepositModelTests.java | 0 .../pass/object/model/DepositStatusTest.java | 0 .../pass/object/model/FileModelTests.java | 0 .../pass/object/model/FunderModelTests.java | 0 .../pass/object/model/GrantModelTests.java | 0 .../pass/object/model/JournalModelTests.java | 0 .../pass/object/model/PolicyModelTests.java | 0 .../object/model/PublicationModelTests.java | 0 .../model/RepositoryCopyModelTests.java | 0 .../object/model/RepositoryModelTests.java | 0 .../model/SubmissionEventModelTests.java | 0 .../object/model/SubmissionModelTests.java | 0 .../pass/object/model/UserModelTest.java | 0 .../model/support/TestObjectCreator.java | 0 .../pass/object/model/support/TestValues.java | 0 .../pass/policy/PolicyServiceTest.java | 0 .../eclipse/pass/user/UserServiceTest.java | 0 .../org/eclipse/pass/usertoken/CodecTest.java | 0 .../pass/usertoken/KeyGeneratorTest.java | 0 .../org/eclipse/pass/usertoken/KeyTest.java | 0 .../pass/usertoken/TokenFactoryTest.java | 0 .../org/eclipse/pass/usertoken/TokenTest.java | 0 .../src => src}/test/resources/app/index.html | 0 .../src => src}/test/resources/app/test.txt | 0 .../test/resources/application-test-S3.yml | 0 .../test}/resources/application-test.yml | 0 .../test/resources/docker-java.properties | 0 .../test/resources/jats_abstract.html | 0 .../test/resources/jats_abstract.xml | 0 .../test/resources/jats_abstract_mathml.html | 0 .../test/resources/jats_abstract_mathml.xml | 0 .../test/resources/logback-test.xml | 0 .../test/resources/saml2/authsources.php | 0 .../test}/resources/saml2/idp-metadata.xml | 0 .../test}/resources/saml2/sp-cert.pem | 0 .../test}/resources/saml2/sp-key.pem | 0 196 files changed, 336 insertions(+), 822 deletions(-) rename pass-core-main/Dockerfile => Dockerfile (87%) rename pass-core-main/entrypoint.sh => entrypoint.sh (100%) delete mode 100644 jacoco-aggregate-report-pass-core/pom.xml delete mode 100644 pass-core-doi-service/pom.xml delete mode 100644 pass-core-file-service/pom.xml delete mode 100755 pass-core-main/init_postgres.sh delete mode 100644 pass-core-main/pom.xml delete mode 100644 pass-core-object-service/pom.xml delete mode 100644 pass-core-policy-service/pom.xml delete mode 100644 pass-core-test-config/pom.xml delete mode 100644 pass-core-user-service/pom.xml delete mode 100644 pass-core-usertoken/pom.xml rename {pass-core-doi-service/src => src}/main/java/org/eclipse/pass/doi/service/ElideConnector.java (100%) rename {pass-core-doi-service/src => src}/main/java/org/eclipse/pass/doi/service/ExternalDoiService.java (100%) rename {pass-core-doi-service/src => src}/main/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnector.java (100%) rename {pass-core-doi-service/src => src}/main/java/org/eclipse/pass/doi/service/PassDoiServiceController.java (100%) rename {pass-core-doi-service/src => src}/main/java/org/eclipse/pass/doi/service/UnpaywallDoiService.java (100%) rename {pass-core-doi-service/src => src}/main/java/org/eclipse/pass/doi/service/XrefDoiService.java (100%) rename {pass-core-file-service/src => src}/main/java/org/eclipse/pass/file/service/PassFileServiceController.java (100%) rename {pass-core-file-service/src => src}/main/java/org/eclipse/pass/file/service/storage/FileStorageService.java (100%) rename {pass-core-file-service/src => src}/main/java/org/eclipse/pass/file/service/storage/StorageConfiguration.java (100%) rename {pass-core-file-service/src => src}/main/java/org/eclipse/pass/file/service/storage/StorageFile.java (100%) rename {pass-core-file-service/src => src}/main/java/org/eclipse/pass/file/service/storage/StorageProperties.java (100%) rename {pass-core-file-service/src => src}/main/java/org/eclipse/pass/file/service/storage/StorageServiceType.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/JmsConfiguration.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/Main.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/OptimisticLockExceptionMapper.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/repository/DepositRepository.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/repository/SubmissionRepository.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/security/CsrfCookieFilter.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/security/PassAuthentication.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/security/PassAuthenticationFilter.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/security/PassAuthenticationFilterConfiguration.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/security/SecurityConfiguration.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/security/SpaCsrfTokenRequestHandler.java (100%) rename {pass-core-main/src => src}/main/java/org/eclipse/pass/main/security/WebMvcConfiguration.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/ElidePassClient.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/PassClient.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/PassClientResult.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/PassClientSelector.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/RSQL.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/AggregatedDepositStatusToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/AwardStatusToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/CopyStatusToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/DepositStatusToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/EventTypeToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/FileRoleToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/IntegrationTypeToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/ListToURIStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/PerformerRoleToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/SetToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/SourceToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/SubmissionStatusToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/converter/UserRoleListToStringConverter.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/AggregatedDepositStatus.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/AwardStatus.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/CopyStatus.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/Deposit.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/DepositStatus.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/EventType.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/File.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/FileRole.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/Funder.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/Grant.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/IntegrationType.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/Journal.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/PassEntity.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/PerformerRole.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/PmcParticipation.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/Policy.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/Publication.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/Repository.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/RepositoryCopy.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/Source.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/Submission.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/SubmissionEvent.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/SubmissionStatus.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/User.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/UserRole.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/model/package-info.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/security/BackendCheck.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/security/GrantAdminCheck.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/security/PartOfSubmissionCheck.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/security/SubmitterCheck.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/security/WebSecurityRole.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/AggregatedDepositStatusSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/AwardStatusSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/CopyStatusSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/DepositStatusSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/FileRoleSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/IntegrationTypeSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/SubmissionEventPerformerRoleSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/SubmissionEventTypeSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/SubmissionSourceSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/SubmissionStatusSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/URISerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/UserRoleSerde.java (100%) rename {pass-core-object-service/src => src}/main/java/org/eclipse/pass/object/serde/ZonedDateTimeSerde.java (100%) rename {pass-core-policy-service/src => src}/main/java/org/eclipse/pass/policy/service/PassPolicyServiceController.java (100%) rename {pass-core-policy-service/src => src}/main/java/org/eclipse/pass/policy/service/PolicyService.java (100%) rename {pass-core-policy-service/src => src}/main/java/org/eclipse/pass/policy/service/SimplePolicyService.java (100%) rename {pass-core-user-service/src => src}/main/java/org/eclipse/pass/user/UserServiceController.java (100%) rename {pass-core-usertoken/src => src}/main/java/org/eclipse/pass/usertoken/BadTokenException.java (100%) rename {pass-core-usertoken/src => src}/main/java/org/eclipse/pass/usertoken/Codec.java (100%) rename {pass-core-usertoken/src => src}/main/java/org/eclipse/pass/usertoken/Key.java (100%) rename {pass-core-usertoken/src => src}/main/java/org/eclipse/pass/usertoken/KeyGenerator.java (100%) rename {pass-core-usertoken/src => src}/main/java/org/eclipse/pass/usertoken/Token.java (100%) rename {pass-core-usertoken/src => src}/main/java/org/eclipse/pass/usertoken/TokenFactory.java (100%) rename {pass-core-main/src => src}/main/resources/META-INF/resources/index.html (100%) rename {pass-core-main/src => src}/main/resources/META-INF/resources/swagger/LICENSE (100%) rename {pass-core-main/src => src}/main/resources/META-INF/resources/swagger/index.html (100%) rename {pass-core-main/src => src}/main/resources/META-INF/resources/swagger/swagger-ui-bundle.js (100%) rename {pass-core-main/src => src}/main/resources/META-INF/resources/swagger/swagger-ui-standalone-preset.js (100%) rename {pass-core-main/src => src}/main/resources/META-INF/resources/swagger/swagger-ui.css (100%) rename {pass-core-main/src => src}/main/resources/application.yaml (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/changelog.yaml (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/core-changelog.yaml (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/data/deposit-repo-copy-publication-id-fix.sql (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/data/rc-ext-ids-migration.sql (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/data/version-migration.sql (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/schema/index-localkey.sql (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/schema/indices.sql (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/schema/initial-schema.sql (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/schema/long-text.sql (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/schema/postgres-pattern-indices.sql (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/schema/rc-external-ids.sql (100%) rename {pass-core-main/src => src}/main/resources/db/changelog/schema/remove-contrib-pub.sql (100%) rename {pass-core-doi-service/src => src}/main/resources/jats-to-html.xsl (100%) rename {pass-core-doi-service/src => src}/main/resources/jats-to-html/citation.xsl (100%) rename {pass-core-doi-service/src => src}/main/resources/jats-to-html/front.xsl (100%) rename {pass-core-doi-service/src => src}/main/resources/jats-to-html/meta.xsl (100%) rename {pass-core-doi-service/src => src}/main/resources/jats-to-html/self-citation.xsl (100%) rename {pass-core-doi-service/src => src}/main/resources/jats-to-html/util.xsl (100%) rename {pass-core-main/src => src}/main/resources/logback-access-spring.xml (100%) rename {pass-core-main/src => src}/main/resources/logback-spring.xml (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/doi/service/DoiServiceTest.java (100%) rename {pass-core-doi-service/src => src}/test/java/org/eclipse/pass/doi/service/ElideConnectorTest.java (100%) rename {pass-core-doi-service/src => src}/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorIntegrationTest.java (100%) rename {pass-core-doi-service/src => src}/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorTest.java (100%) rename {pass-core-doi-service/src => src}/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceTest.java (100%) rename {pass-core-doi-service/src => src}/test/java/org/eclipse/pass/doi/service/JsonTestObjectsUtil.java (100%) rename {pass-core-doi-service/src => src}/test/java/org/eclipse/pass/doi/service/PassDoiServiceControllerTest.java (100%) rename {pass-core-doi-service/src => src}/test/java/org/eclipse/pass/doi/service/UnpaywallDoiServiceTest.java (100%) rename {pass-core-doi-service/src => src}/test/java/org/eclipse/pass/doi/service/XrefDoiServiceTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/file/service/storage/FileStorageServiceS3Test.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/file/service/storage/FileStorageServiceTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/file/service/storage/StorageConfigurationTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/main/AwsParamStoreConfigTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/main/IntegrationTestBase.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/main/JmsConfigurationTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/main/JmsSqsConfigurationTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/main/JmsSqsEndpointConfigurationTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/main/SamlIntegrationTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/main/SimpleIntegrationTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/main/security/AccessControlTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/main/security/PassAuthenticationFilterTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/object/ElidePassClientTest.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/RSQLTest.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/DepositModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/DepositStatusTest.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/FileModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/FunderModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/GrantModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/JournalModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/PolicyModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/PublicationModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/RepositoryCopyModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/RepositoryModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/SubmissionEventModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/SubmissionModelTests.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/UserModelTest.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/support/TestObjectCreator.java (100%) rename {pass-core-object-service/src => src}/test/java/org/eclipse/pass/object/model/support/TestValues.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/policy/PolicyServiceTest.java (100%) rename {pass-core-main/src => src}/test/java/org/eclipse/pass/user/UserServiceTest.java (100%) rename {pass-core-usertoken/src => src}/test/java/org/eclipse/pass/usertoken/CodecTest.java (100%) rename {pass-core-usertoken/src => src}/test/java/org/eclipse/pass/usertoken/KeyGeneratorTest.java (100%) rename {pass-core-usertoken/src => src}/test/java/org/eclipse/pass/usertoken/KeyTest.java (100%) rename {pass-core-usertoken/src => src}/test/java/org/eclipse/pass/usertoken/TokenFactoryTest.java (100%) rename {pass-core-usertoken/src => src}/test/java/org/eclipse/pass/usertoken/TokenTest.java (100%) rename {pass-core-main/src => src}/test/resources/app/index.html (100%) rename {pass-core-main/src => src}/test/resources/app/test.txt (100%) rename {pass-core-main/src => src}/test/resources/application-test-S3.yml (100%) rename {pass-core-test-config/src/main => src/test}/resources/application-test.yml (100%) rename {pass-core-main/src => src}/test/resources/docker-java.properties (100%) rename {pass-core-doi-service/src => src}/test/resources/jats_abstract.html (100%) rename {pass-core-doi-service/src => src}/test/resources/jats_abstract.xml (100%) rename {pass-core-doi-service/src => src}/test/resources/jats_abstract_mathml.html (100%) rename {pass-core-doi-service/src => src}/test/resources/jats_abstract_mathml.xml (100%) rename {pass-core-main/src => src}/test/resources/logback-test.xml (100%) rename {pass-core-main/src => src}/test/resources/saml2/authsources.php (100%) rename {pass-core-test-config/src/main => src/test}/resources/saml2/idp-metadata.xml (100%) rename {pass-core-test-config/src/main => src/test}/resources/saml2/sp-cert.pem (100%) rename {pass-core-test-config/src/main => src/test}/resources/saml2/sp-key.pem (100%) diff --git a/.gitignore b/.gitignore index 4660d93c..04e1649b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,14 @@ target/ .vscode/ *~ +.DS_Store + +# Kiro +./kiro +.config.kiro +design.md +requirements.md +tasks.md # IntelliJ stuff .idea/ diff --git a/pass-core-main/Dockerfile b/Dockerfile similarity index 87% rename from pass-core-main/Dockerfile rename to Dockerfile index 618729bb..c8b1442f 100644 --- a/pass-core-main/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM eclipse-temurin:17.0.18_8-jre-noble WORKDIR /app -COPY target/pass-core-main-*-exec.jar pass-core-main.jar +COPY target/pass-core-*-exec.jar pass-core-main.jar COPY entrypoint.sh . RUN apt update \ diff --git a/pass-core-main/entrypoint.sh b/entrypoint.sh similarity index 100% rename from pass-core-main/entrypoint.sh rename to entrypoint.sh diff --git a/jacoco-aggregate-report-pass-core/pom.xml b/jacoco-aggregate-report-pass-core/pom.xml deleted file mode 100644 index b7bb9e80..00000000 --- a/jacoco-aggregate-report-pass-core/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - 4.0.0 - - - org.eclipse.pass - pass-core - 2.6.0-SNAPSHOT - - - jacoco-aggregate-report-pass-core - pom - - PASS backend-jacoco-aggregate-report - PASS REST API implementation-jacoco-aggregate-report - - - - - - - org.eclipse.pass - pass-core-doi-service - ${project.version} - - - org.eclipse.pass - pass-core-file-service - ${project.version} - - - org.eclipse.pass - pass-core-main - ${project.version} - - - org.ow2.asm - asm-tree - - - - - org.eclipse.pass - pass-core-object-service - ${project.version} - - - org.eclipse.pass - pass-core-policy-service - ${project.version} - - - org.eclipse.pass - pass-core-user-service - ${project.version} - - - org.eclipse.pass - pass-core-usertoken - ${project.version} - - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin.version} - - - report-aggregate - verify - - report-aggregate - - - - - - - \ No newline at end of file diff --git a/pass-core-doi-service/pom.xml b/pass-core-doi-service/pom.xml deleted file mode 100644 index 0f3d124a..00000000 --- a/pass-core-doi-service/pom.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - 4.0.0 - - - org.eclipse.pass - pass-core - 2.6.0-SNAPSHOT - - - pass-core-doi-service - - PASS backend-doi-service - PASS REST API implementation-doi-service - - - - - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - - - org.eclipse.pass - pass-core-object-service - ${project.version} - - - org.glassfish - jakarta.json - ${jakarta.json.version} - - - com.squareup.okhttp3 - okhttp-jvm - - - org.springframework.boot - spring-boot-starter-test - test - - - commons-io - commons-io - test - - - com.squareup.okhttp3 - mockwebserver - test - - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin.version} - - - prepare-agent - - prepare-agent - - - - - - - - diff --git a/pass-core-file-service/pom.xml b/pass-core-file-service/pom.xml deleted file mode 100644 index f740fad4..00000000 --- a/pass-core-file-service/pom.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - 4.0.0 - - - org.eclipse.pass - pass-core - 2.6.0-SNAPSHOT - - - pass-core-file-service - - PASS backend-file-service - PASS REST API implementation-file-service - - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - - - org.eclipse.pass - pass-core-object-service - ${project.version} - - - io.ocfl - ocfl-java-core - ${ocfl.java.core.version} - - - io.ocfl - ocfl-java-aws - ${ocfl.java.aws.version} - - - commons-logging - commons-logging - - - - - commons-io - commons-io - - - org.jsoup - jsoup - ${jsoup.version} - - - org.apache.commons - commons-lang3 - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin.version} - - - prepare-agent - - prepare-agent - - - - - - - - diff --git a/pass-core-main/init_postgres.sh b/pass-core-main/init_postgres.sh deleted file mode 100755 index d2ec41df..00000000 --- a/pass-core-main/init_postgres.sh +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/sh - -set -e - -psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL - CREATE USER $PASS_CORE_DATABASE_USERNAME WITH PASSWORD '$PASS_CORE_DATABASE_PASSWORD'; - CREATE DATABASE pass; - GRANT ALL PRIVILEGES ON DATABASE pass TO $PASS_CORE_DATABASE_USERNAME; -EOSQL diff --git a/pass-core-main/pom.xml b/pass-core-main/pom.xml deleted file mode 100644 index 0ea56f3c..00000000 --- a/pass-core-main/pom.xml +++ /dev/null @@ -1,277 +0,0 @@ - - 4.0.0 - - - org.eclipse.pass - pass-core - 2.6.0-SNAPSHOT - - - pass-core-main - - PASS backend-main - PASS REST API implementation-main - - - - shibboleth-releases - https://build.shibboleth.net/nexus/content/repositories/releases/ - - - - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - - - - org.eclipse.pass - pass-core-object-service - ${project.parent.version} - - - - org.eclipse.pass - pass-core-doi-service - ${project.parent.version} - - - - org.eclipse.pass - pass-core-user-service - ${project.parent.version} - - - - org.eclipse.pass - pass-core-file-service - ${project.parent.version} - - - - org.eclipse.pass - pass-core-policy-service - ${project.parent.version} - - - - org.eclipse.pass - pass-core-usertoken - ${project.parent.version} - - - - org.springframework.boot - spring-boot-starter-jetty - - - - org.springframework.boot - spring-boot-starter-security - - - - org.liquibase - liquibase-core - - - - com.h2database - h2 - - - - org.postgresql - postgresql - - - - org.apache.commons - commons-lang3 - - - - commons-io - commons-io - - - - org.springframework.boot - spring-boot-starter-artemis - - - org.springframework.boot - spring-boot-starter-tomcat - - - - - - org.apache.activemq - artemis-jakarta-server - - - - com.amazonaws - amazon-sqs-java-messaging-lib - ${amazon.sqs.version} - - - commons-logging - commons-logging - - - - - - com.squareup.okhttp3 - okhttp-jvm - - - - io.ocfl - ocfl-java-api - ${ocfl.java.core.version} - - - - org.springframework.security - spring-security-saml2-service-provider - - - - io.awspring.cloud - spring-cloud-aws-starter-parameter-store - - - - io.awspring.cloud - spring-cloud-aws-starter-s3 - - - commons-logging - commons-logging - - - - - - - org.springframework.boot - spring-boot-starter-test - test - - - - io.rest-assured - rest-assured - - - commons-logging - commons-logging - - - test - - - - org.testcontainers - localstack - test - - - - org.testcontainers - junit-jupiter - test - - - - com.squareup.okhttp3 - okhttp-urlconnection - test - - - - org.eclipse.pass - pass-core-test-config - ${project.parent.version} - test - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - - - io.fabric8 - docker-maven-plugin - - - - ghcr.io/eclipse-pass/pass-core-main:%v - - - - - - build-before-its - pre-integration-test - - build - - - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot-maven-plugin.version} - - - repackage - - repackage - - - org.eclipse.pass.main.Main - exec - false - false - - - - - - - org.cyclonedx - cyclonedx-maven-plugin - - - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin.version} - - - prepare-agent - - prepare-agent - - - - - - - - diff --git a/pass-core-object-service/pom.xml b/pass-core-object-service/pom.xml deleted file mode 100644 index 127c5b1b..00000000 --- a/pass-core-object-service/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ - - 4.0.0 - - - org.eclipse.pass - pass-core - 2.6.0-SNAPSHOT - - - pass-core-object-service - - PASS backend-object-service - PASS REST API implementation-object-service - - - - com.yahoo.elide - elide-spring-boot-starter - ${elide.version} - - - commons-logging - commons-logging - - - org.springframework.boot - spring-boot-starter-tomcat - - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin.version} - - - prepare-agent - - prepare-agent - - - - - - - - diff --git a/pass-core-policy-service/pom.xml b/pass-core-policy-service/pom.xml deleted file mode 100644 index 8e3681fd..00000000 --- a/pass-core-policy-service/pom.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - pass-core - org.eclipse.pass - 2.6.0-SNAPSHOT - - 4.0.0 - - pass-core-policy-service - - PASS backend-policy-service - PASS REST API implementation-policy-service - - - 17 - 17 - - - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - - - org.eclipse.pass - pass-core-object-service - ${project.version} - - - org.glassfish - jakarta.json - ${jakarta.json.version} - compile - - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin.version} - - - prepare-agent - - prepare-agent - - - - - - - - \ No newline at end of file diff --git a/pass-core-test-config/pom.xml b/pass-core-test-config/pom.xml deleted file mode 100644 index b4e332f3..00000000 --- a/pass-core-test-config/pom.xml +++ /dev/null @@ -1,15 +0,0 @@ - - 4.0.0 - - - org.eclipse.pass - pass-core - 2.6.0-SNAPSHOT - - - pass-core-test-config - - PASS backend-test-config - PASS REST API implementation-test-config - - diff --git a/pass-core-user-service/pom.xml b/pass-core-user-service/pom.xml deleted file mode 100644 index 98b4a196..00000000 --- a/pass-core-user-service/pom.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - 4.0.0 - - - org.eclipse.pass - pass-core - 2.6.0-SNAPSHOT - - - pass-core-user-service - - PASS backend-user-service - PASS REST API implementation-user-service - - - - - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - - - org.eclipse.pass - pass-core-object-service - ${project.version} - - - - org.eclipse.pass - pass-core-usertoken - ${project.version} - - - - jakarta.json - jakarta.json-api - ${jakarta.json-api.version} - - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin.version} - - - prepare-agent - - prepare-agent - - - - - - - - diff --git a/pass-core-usertoken/pom.xml b/pass-core-usertoken/pom.xml deleted file mode 100644 index 322633ff..00000000 --- a/pass-core-usertoken/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - 4.0.0 - - - org.eclipse.pass - pass-core - 2.6.0-SNAPSHOT - - - pass-core-usertoken - - PASS backend-usertoken - PASS REST API implementation-usertokenn - - - - - - - commons-codec - commons-codec - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco-maven-plugin.version} - - - prepare-agent - - prepare-agent - - - - - - - - diff --git a/pom.xml b/pom.xml index 862c481c..018c8bbd 100644 --- a/pom.xml +++ b/pom.xml @@ -8,12 +8,15 @@ 2.6.0-SNAPSHOT + org.eclipse.pass pass-core - pom + 2.6.0-SNAPSHOT + jar PASS backend PASS REST API implementation https://github.com/eclipse-pass/pass-core + The Apache Software License, Version 2.0 @@ -54,18 +57,6 @@ - - pass-core-doi-service - pass-core-object-service - pass-core-file-service - pass-core-user-service - pass-core-main - pass-core-policy-service - pass-core-usertoken - pass-core-test-config - jacoco-aggregate-report-pass-core - - scm:git:https://github.com/eclipse-pass/pass-core.git scm:git:https://github.com/eclipse-pass/pass-core.git @@ -91,7 +82,7 @@ 9.9.1 pass-core eclipse-pass_pass-core - ${maven.multiModuleProjectDirectory}/jacoco-aggregate-report-pass-core/target/site/jacoco-aggregate/jacoco.xml + ${project.build.directory}/site/jacoco/jacoco.xml @@ -106,6 +97,10 @@ true + + shibboleth-releases + https://build.shibboleth.net/nexus/content/repositories/releases/ + @@ -119,7 +114,7 @@ import - + org.springframework.security spring-security-bom @@ -247,34 +242,241 @@ - org.apache.activemq - artemis-jakarta-server - 2.53.0 - - - commons-logging - commons-logging - - + org.apache.activemq + artemis-jakarta-server + 2.53.0 + + + commons-logging + commons-logging + + - org.apache.activemq - artemis-jakarta-client - 2.53.0 - - - commons-logging - commons-logging - - + org.apache.activemq + artemis-jakarta-client + 2.53.0 + + + commons-logging + commons-logging + + + - + + + + + org.slf4j + slf4j-api + + + ch.qos.logback + logback-classic + + + + + com.yahoo.elide + elide-spring-boot-starter + ${elide.version} + + + commons-logging + commons-logging + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + + + org.springframework.boot + spring-boot-starter-jetty + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-artemis + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + org.springframework.security + spring-security-saml2-service-provider + + + + + org.liquibase + liquibase-core + + + com.h2database + h2 + + + org.postgresql + postgresql + + + + + org.apache.commons + commons-lang3 + + + commons-io + commons-io + + + commons-codec + commons-codec + + + + + org.apache.activemq + artemis-jakarta-server + + + com.amazonaws + amazon-sqs-java-messaging-lib + ${amazon.sqs.version} + + + commons-logging + commons-logging + + + + + + + com.squareup.okhttp3 + okhttp-jvm + + + + + io.ocfl + ocfl-java-api + ${ocfl.java.core.version} + + + io.ocfl + ocfl-java-core + ${ocfl.java.core.version} + + + io.ocfl + ocfl-java-aws + ${ocfl.java.aws.version} + + + commons-logging + commons-logging + + + + + + + org.glassfish + jakarta.json + ${jakarta.json.version} + + + jakarta.json + jakarta.json-api + ${jakarta.json-api.version} + + + com.fasterxml.jackson.core + jackson-databind + + + + + org.jsoup + jsoup + ${jsoup.version} + + + + + io.awspring.cloud + spring-cloud-aws-starter-parameter-store + + + io.awspring.cloud + spring-cloud-aws-starter-s3 + + + commons-logging + commons-logging + + + + + + + org.springframework.boot + spring-boot-starter-test + test + + + io.rest-assured + rest-assured + test + + + commons-logging + commons-logging + + + + + org.testcontainers + localstack + test + + + org.testcontainers + junit-jupiter + test + + + com.squareup.okhttp3 + okhttp-urlconnection + test + + + com.squareup.okhttp3 + mockwebserver + test + + + + + org.apache.maven.plugins maven-source-plugin @@ -287,10 +489,10 @@ 17 false - - CreatePermission - a - + + CreatePermission + a + ReadPermission a @@ -374,7 +576,7 @@ org.testcontainers:: com.github.docker-java:: - org.opensaml:opensaml-saml-api:: + org.opensaml:opensaml-saml-api:: @@ -385,20 +587,15 @@ org.liquibase:liquibase-core: com.h2database:h2: org.postgresql:postgresql: - - org.eclipse.pass:pass-core-doi-service: - org.eclipse.pass:pass-core-user-service: - org.eclipse.pass:pass-core-policy-service: org.apache.activemq:artemis-jakarta-server: - - org.eclipse.pass:pass-core-test-config:: + + jakarta.json:jakarta.json-api: + com.fasterxml.jackson.core:jackson-databind: org.json:json: - - org.eclipse.pass:pass-core-file-service:jar: com.squareup.okhttp3:okhttp-jvm: io.ocfl:ocfl-java-api: @@ -421,6 +618,13 @@ prepare-agent + + report + verify + + report + + @@ -429,6 +633,82 @@ sonar-maven-plugin + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot-maven-plugin.version} + + + repackage + + repackage + + + org.eclipse.pass.main.Main + exec + false + false + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + **/*IT.java + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + + integration-tests + + integration-test + verify + + + + **/*IT.java + + + + + + + + io.fabric8 + docker-maven-plugin + + + + ghcr.io/eclipse-pass/pass-core-main:%v + + + + + + build-before-its + pre-integration-test + + build + + + + + + + org.cyclonedx + cyclonedx-maven-plugin + + + diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ElideConnector.java b/src/main/java/org/eclipse/pass/doi/service/ElideConnector.java similarity index 100% rename from pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ElideConnector.java rename to src/main/java/org/eclipse/pass/doi/service/ElideConnector.java diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiService.java b/src/main/java/org/eclipse/pass/doi/service/ExternalDoiService.java similarity index 100% rename from pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiService.java rename to src/main/java/org/eclipse/pass/doi/service/ExternalDoiService.java diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnector.java b/src/main/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnector.java similarity index 100% rename from pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnector.java rename to src/main/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnector.java diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/PassDoiServiceController.java b/src/main/java/org/eclipse/pass/doi/service/PassDoiServiceController.java similarity index 100% rename from pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/PassDoiServiceController.java rename to src/main/java/org/eclipse/pass/doi/service/PassDoiServiceController.java diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/UnpaywallDoiService.java b/src/main/java/org/eclipse/pass/doi/service/UnpaywallDoiService.java similarity index 100% rename from pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/UnpaywallDoiService.java rename to src/main/java/org/eclipse/pass/doi/service/UnpaywallDoiService.java diff --git a/pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/XrefDoiService.java b/src/main/java/org/eclipse/pass/doi/service/XrefDoiService.java similarity index 100% rename from pass-core-doi-service/src/main/java/org/eclipse/pass/doi/service/XrefDoiService.java rename to src/main/java/org/eclipse/pass/doi/service/XrefDoiService.java diff --git a/pass-core-file-service/src/main/java/org/eclipse/pass/file/service/PassFileServiceController.java b/src/main/java/org/eclipse/pass/file/service/PassFileServiceController.java similarity index 100% rename from pass-core-file-service/src/main/java/org/eclipse/pass/file/service/PassFileServiceController.java rename to src/main/java/org/eclipse/pass/file/service/PassFileServiceController.java diff --git a/pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/FileStorageService.java b/src/main/java/org/eclipse/pass/file/service/storage/FileStorageService.java similarity index 100% rename from pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/FileStorageService.java rename to src/main/java/org/eclipse/pass/file/service/storage/FileStorageService.java diff --git a/pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageConfiguration.java b/src/main/java/org/eclipse/pass/file/service/storage/StorageConfiguration.java similarity index 100% rename from pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageConfiguration.java rename to src/main/java/org/eclipse/pass/file/service/storage/StorageConfiguration.java diff --git a/pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageFile.java b/src/main/java/org/eclipse/pass/file/service/storage/StorageFile.java similarity index 100% rename from pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageFile.java rename to src/main/java/org/eclipse/pass/file/service/storage/StorageFile.java diff --git a/pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageProperties.java b/src/main/java/org/eclipse/pass/file/service/storage/StorageProperties.java similarity index 100% rename from pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageProperties.java rename to src/main/java/org/eclipse/pass/file/service/storage/StorageProperties.java diff --git a/pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageServiceType.java b/src/main/java/org/eclipse/pass/file/service/storage/StorageServiceType.java similarity index 100% rename from pass-core-file-service/src/main/java/org/eclipse/pass/file/service/storage/StorageServiceType.java rename to src/main/java/org/eclipse/pass/file/service/storage/StorageServiceType.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/JmsConfiguration.java b/src/main/java/org/eclipse/pass/main/JmsConfiguration.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/JmsConfiguration.java rename to src/main/java/org/eclipse/pass/main/JmsConfiguration.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/Main.java b/src/main/java/org/eclipse/pass/main/Main.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/Main.java rename to src/main/java/org/eclipse/pass/main/Main.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/OptimisticLockExceptionMapper.java b/src/main/java/org/eclipse/pass/main/OptimisticLockExceptionMapper.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/OptimisticLockExceptionMapper.java rename to src/main/java/org/eclipse/pass/main/OptimisticLockExceptionMapper.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/repository/DepositRepository.java b/src/main/java/org/eclipse/pass/main/repository/DepositRepository.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/repository/DepositRepository.java rename to src/main/java/org/eclipse/pass/main/repository/DepositRepository.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/repository/SubmissionRepository.java b/src/main/java/org/eclipse/pass/main/repository/SubmissionRepository.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/repository/SubmissionRepository.java rename to src/main/java/org/eclipse/pass/main/repository/SubmissionRepository.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/security/CsrfCookieFilter.java b/src/main/java/org/eclipse/pass/main/security/CsrfCookieFilter.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/security/CsrfCookieFilter.java rename to src/main/java/org/eclipse/pass/main/security/CsrfCookieFilter.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/security/PassAuthentication.java b/src/main/java/org/eclipse/pass/main/security/PassAuthentication.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/security/PassAuthentication.java rename to src/main/java/org/eclipse/pass/main/security/PassAuthentication.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/security/PassAuthenticationFilter.java b/src/main/java/org/eclipse/pass/main/security/PassAuthenticationFilter.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/security/PassAuthenticationFilter.java rename to src/main/java/org/eclipse/pass/main/security/PassAuthenticationFilter.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/security/PassAuthenticationFilterConfiguration.java b/src/main/java/org/eclipse/pass/main/security/PassAuthenticationFilterConfiguration.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/security/PassAuthenticationFilterConfiguration.java rename to src/main/java/org/eclipse/pass/main/security/PassAuthenticationFilterConfiguration.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/security/SecurityConfiguration.java b/src/main/java/org/eclipse/pass/main/security/SecurityConfiguration.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/security/SecurityConfiguration.java rename to src/main/java/org/eclipse/pass/main/security/SecurityConfiguration.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/security/SpaCsrfTokenRequestHandler.java b/src/main/java/org/eclipse/pass/main/security/SpaCsrfTokenRequestHandler.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/security/SpaCsrfTokenRequestHandler.java rename to src/main/java/org/eclipse/pass/main/security/SpaCsrfTokenRequestHandler.java diff --git a/pass-core-main/src/main/java/org/eclipse/pass/main/security/WebMvcConfiguration.java b/src/main/java/org/eclipse/pass/main/security/WebMvcConfiguration.java similarity index 100% rename from pass-core-main/src/main/java/org/eclipse/pass/main/security/WebMvcConfiguration.java rename to src/main/java/org/eclipse/pass/main/security/WebMvcConfiguration.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/ElidePassClient.java b/src/main/java/org/eclipse/pass/object/ElidePassClient.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/ElidePassClient.java rename to src/main/java/org/eclipse/pass/object/ElidePassClient.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/PassClient.java b/src/main/java/org/eclipse/pass/object/PassClient.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/PassClient.java rename to src/main/java/org/eclipse/pass/object/PassClient.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/PassClientResult.java b/src/main/java/org/eclipse/pass/object/PassClientResult.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/PassClientResult.java rename to src/main/java/org/eclipse/pass/object/PassClientResult.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/PassClientSelector.java b/src/main/java/org/eclipse/pass/object/PassClientSelector.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/PassClientSelector.java rename to src/main/java/org/eclipse/pass/object/PassClientSelector.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/RSQL.java b/src/main/java/org/eclipse/pass/object/RSQL.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/RSQL.java rename to src/main/java/org/eclipse/pass/object/RSQL.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/AggregatedDepositStatusToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/AggregatedDepositStatusToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/AggregatedDepositStatusToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/AggregatedDepositStatusToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/AwardStatusToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/AwardStatusToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/AwardStatusToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/AwardStatusToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/CopyStatusToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/CopyStatusToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/CopyStatusToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/CopyStatusToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/DepositStatusToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/DepositStatusToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/DepositStatusToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/DepositStatusToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/EventTypeToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/EventTypeToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/EventTypeToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/EventTypeToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/FileRoleToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/FileRoleToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/FileRoleToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/FileRoleToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/IntegrationTypeToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/IntegrationTypeToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/IntegrationTypeToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/IntegrationTypeToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/ListToURIStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/ListToURIStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/ListToURIStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/ListToURIStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/PerformerRoleToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/PerformerRoleToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/PerformerRoleToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/PerformerRoleToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/SetToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/SetToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/SetToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/SetToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/SourceToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/SourceToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/SourceToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/SourceToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/SubmissionStatusToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/SubmissionStatusToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/SubmissionStatusToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/SubmissionStatusToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/UserRoleListToStringConverter.java b/src/main/java/org/eclipse/pass/object/converter/UserRoleListToStringConverter.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/converter/UserRoleListToStringConverter.java rename to src/main/java/org/eclipse/pass/object/converter/UserRoleListToStringConverter.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/AggregatedDepositStatus.java b/src/main/java/org/eclipse/pass/object/model/AggregatedDepositStatus.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/AggregatedDepositStatus.java rename to src/main/java/org/eclipse/pass/object/model/AggregatedDepositStatus.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/AwardStatus.java b/src/main/java/org/eclipse/pass/object/model/AwardStatus.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/AwardStatus.java rename to src/main/java/org/eclipse/pass/object/model/AwardStatus.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/CopyStatus.java b/src/main/java/org/eclipse/pass/object/model/CopyStatus.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/CopyStatus.java rename to src/main/java/org/eclipse/pass/object/model/CopyStatus.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Deposit.java b/src/main/java/org/eclipse/pass/object/model/Deposit.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Deposit.java rename to src/main/java/org/eclipse/pass/object/model/Deposit.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/DepositStatus.java b/src/main/java/org/eclipse/pass/object/model/DepositStatus.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/DepositStatus.java rename to src/main/java/org/eclipse/pass/object/model/DepositStatus.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/EventType.java b/src/main/java/org/eclipse/pass/object/model/EventType.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/EventType.java rename to src/main/java/org/eclipse/pass/object/model/EventType.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/File.java b/src/main/java/org/eclipse/pass/object/model/File.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/File.java rename to src/main/java/org/eclipse/pass/object/model/File.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/FileRole.java b/src/main/java/org/eclipse/pass/object/model/FileRole.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/FileRole.java rename to src/main/java/org/eclipse/pass/object/model/FileRole.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Funder.java b/src/main/java/org/eclipse/pass/object/model/Funder.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Funder.java rename to src/main/java/org/eclipse/pass/object/model/Funder.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Grant.java b/src/main/java/org/eclipse/pass/object/model/Grant.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Grant.java rename to src/main/java/org/eclipse/pass/object/model/Grant.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/IntegrationType.java b/src/main/java/org/eclipse/pass/object/model/IntegrationType.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/IntegrationType.java rename to src/main/java/org/eclipse/pass/object/model/IntegrationType.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Journal.java b/src/main/java/org/eclipse/pass/object/model/Journal.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Journal.java rename to src/main/java/org/eclipse/pass/object/model/Journal.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/PassEntity.java b/src/main/java/org/eclipse/pass/object/model/PassEntity.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/PassEntity.java rename to src/main/java/org/eclipse/pass/object/model/PassEntity.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/PerformerRole.java b/src/main/java/org/eclipse/pass/object/model/PerformerRole.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/PerformerRole.java rename to src/main/java/org/eclipse/pass/object/model/PerformerRole.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/PmcParticipation.java b/src/main/java/org/eclipse/pass/object/model/PmcParticipation.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/PmcParticipation.java rename to src/main/java/org/eclipse/pass/object/model/PmcParticipation.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Policy.java b/src/main/java/org/eclipse/pass/object/model/Policy.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Policy.java rename to src/main/java/org/eclipse/pass/object/model/Policy.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Publication.java b/src/main/java/org/eclipse/pass/object/model/Publication.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Publication.java rename to src/main/java/org/eclipse/pass/object/model/Publication.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Repository.java b/src/main/java/org/eclipse/pass/object/model/Repository.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Repository.java rename to src/main/java/org/eclipse/pass/object/model/Repository.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/RepositoryCopy.java b/src/main/java/org/eclipse/pass/object/model/RepositoryCopy.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/RepositoryCopy.java rename to src/main/java/org/eclipse/pass/object/model/RepositoryCopy.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Source.java b/src/main/java/org/eclipse/pass/object/model/Source.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Source.java rename to src/main/java/org/eclipse/pass/object/model/Source.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Submission.java b/src/main/java/org/eclipse/pass/object/model/Submission.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/Submission.java rename to src/main/java/org/eclipse/pass/object/model/Submission.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/SubmissionEvent.java b/src/main/java/org/eclipse/pass/object/model/SubmissionEvent.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/SubmissionEvent.java rename to src/main/java/org/eclipse/pass/object/model/SubmissionEvent.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/SubmissionStatus.java b/src/main/java/org/eclipse/pass/object/model/SubmissionStatus.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/SubmissionStatus.java rename to src/main/java/org/eclipse/pass/object/model/SubmissionStatus.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/User.java b/src/main/java/org/eclipse/pass/object/model/User.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/User.java rename to src/main/java/org/eclipse/pass/object/model/User.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/UserRole.java b/src/main/java/org/eclipse/pass/object/model/UserRole.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/UserRole.java rename to src/main/java/org/eclipse/pass/object/model/UserRole.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/model/package-info.java b/src/main/java/org/eclipse/pass/object/model/package-info.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/model/package-info.java rename to src/main/java/org/eclipse/pass/object/model/package-info.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/security/BackendCheck.java b/src/main/java/org/eclipse/pass/object/security/BackendCheck.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/security/BackendCheck.java rename to src/main/java/org/eclipse/pass/object/security/BackendCheck.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/security/GrantAdminCheck.java b/src/main/java/org/eclipse/pass/object/security/GrantAdminCheck.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/security/GrantAdminCheck.java rename to src/main/java/org/eclipse/pass/object/security/GrantAdminCheck.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/security/PartOfSubmissionCheck.java b/src/main/java/org/eclipse/pass/object/security/PartOfSubmissionCheck.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/security/PartOfSubmissionCheck.java rename to src/main/java/org/eclipse/pass/object/security/PartOfSubmissionCheck.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/security/SubmitterCheck.java b/src/main/java/org/eclipse/pass/object/security/SubmitterCheck.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/security/SubmitterCheck.java rename to src/main/java/org/eclipse/pass/object/security/SubmitterCheck.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/security/WebSecurityRole.java b/src/main/java/org/eclipse/pass/object/security/WebSecurityRole.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/security/WebSecurityRole.java rename to src/main/java/org/eclipse/pass/object/security/WebSecurityRole.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/AggregatedDepositStatusSerde.java b/src/main/java/org/eclipse/pass/object/serde/AggregatedDepositStatusSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/AggregatedDepositStatusSerde.java rename to src/main/java/org/eclipse/pass/object/serde/AggregatedDepositStatusSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/AwardStatusSerde.java b/src/main/java/org/eclipse/pass/object/serde/AwardStatusSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/AwardStatusSerde.java rename to src/main/java/org/eclipse/pass/object/serde/AwardStatusSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/CopyStatusSerde.java b/src/main/java/org/eclipse/pass/object/serde/CopyStatusSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/CopyStatusSerde.java rename to src/main/java/org/eclipse/pass/object/serde/CopyStatusSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/DepositStatusSerde.java b/src/main/java/org/eclipse/pass/object/serde/DepositStatusSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/DepositStatusSerde.java rename to src/main/java/org/eclipse/pass/object/serde/DepositStatusSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/FileRoleSerde.java b/src/main/java/org/eclipse/pass/object/serde/FileRoleSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/FileRoleSerde.java rename to src/main/java/org/eclipse/pass/object/serde/FileRoleSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/IntegrationTypeSerde.java b/src/main/java/org/eclipse/pass/object/serde/IntegrationTypeSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/IntegrationTypeSerde.java rename to src/main/java/org/eclipse/pass/object/serde/IntegrationTypeSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/SubmissionEventPerformerRoleSerde.java b/src/main/java/org/eclipse/pass/object/serde/SubmissionEventPerformerRoleSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/SubmissionEventPerformerRoleSerde.java rename to src/main/java/org/eclipse/pass/object/serde/SubmissionEventPerformerRoleSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/SubmissionEventTypeSerde.java b/src/main/java/org/eclipse/pass/object/serde/SubmissionEventTypeSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/SubmissionEventTypeSerde.java rename to src/main/java/org/eclipse/pass/object/serde/SubmissionEventTypeSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/SubmissionSourceSerde.java b/src/main/java/org/eclipse/pass/object/serde/SubmissionSourceSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/SubmissionSourceSerde.java rename to src/main/java/org/eclipse/pass/object/serde/SubmissionSourceSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/SubmissionStatusSerde.java b/src/main/java/org/eclipse/pass/object/serde/SubmissionStatusSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/SubmissionStatusSerde.java rename to src/main/java/org/eclipse/pass/object/serde/SubmissionStatusSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/URISerde.java b/src/main/java/org/eclipse/pass/object/serde/URISerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/URISerde.java rename to src/main/java/org/eclipse/pass/object/serde/URISerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/UserRoleSerde.java b/src/main/java/org/eclipse/pass/object/serde/UserRoleSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/UserRoleSerde.java rename to src/main/java/org/eclipse/pass/object/serde/UserRoleSerde.java diff --git a/pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/ZonedDateTimeSerde.java b/src/main/java/org/eclipse/pass/object/serde/ZonedDateTimeSerde.java similarity index 100% rename from pass-core-object-service/src/main/java/org/eclipse/pass/object/serde/ZonedDateTimeSerde.java rename to src/main/java/org/eclipse/pass/object/serde/ZonedDateTimeSerde.java diff --git a/pass-core-policy-service/src/main/java/org/eclipse/pass/policy/service/PassPolicyServiceController.java b/src/main/java/org/eclipse/pass/policy/service/PassPolicyServiceController.java similarity index 100% rename from pass-core-policy-service/src/main/java/org/eclipse/pass/policy/service/PassPolicyServiceController.java rename to src/main/java/org/eclipse/pass/policy/service/PassPolicyServiceController.java diff --git a/pass-core-policy-service/src/main/java/org/eclipse/pass/policy/service/PolicyService.java b/src/main/java/org/eclipse/pass/policy/service/PolicyService.java similarity index 100% rename from pass-core-policy-service/src/main/java/org/eclipse/pass/policy/service/PolicyService.java rename to src/main/java/org/eclipse/pass/policy/service/PolicyService.java diff --git a/pass-core-policy-service/src/main/java/org/eclipse/pass/policy/service/SimplePolicyService.java b/src/main/java/org/eclipse/pass/policy/service/SimplePolicyService.java similarity index 100% rename from pass-core-policy-service/src/main/java/org/eclipse/pass/policy/service/SimplePolicyService.java rename to src/main/java/org/eclipse/pass/policy/service/SimplePolicyService.java diff --git a/pass-core-user-service/src/main/java/org/eclipse/pass/user/UserServiceController.java b/src/main/java/org/eclipse/pass/user/UserServiceController.java similarity index 100% rename from pass-core-user-service/src/main/java/org/eclipse/pass/user/UserServiceController.java rename to src/main/java/org/eclipse/pass/user/UserServiceController.java diff --git a/pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/BadTokenException.java b/src/main/java/org/eclipse/pass/usertoken/BadTokenException.java similarity index 100% rename from pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/BadTokenException.java rename to src/main/java/org/eclipse/pass/usertoken/BadTokenException.java diff --git a/pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/Codec.java b/src/main/java/org/eclipse/pass/usertoken/Codec.java similarity index 100% rename from pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/Codec.java rename to src/main/java/org/eclipse/pass/usertoken/Codec.java diff --git a/pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/Key.java b/src/main/java/org/eclipse/pass/usertoken/Key.java similarity index 100% rename from pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/Key.java rename to src/main/java/org/eclipse/pass/usertoken/Key.java diff --git a/pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/KeyGenerator.java b/src/main/java/org/eclipse/pass/usertoken/KeyGenerator.java similarity index 100% rename from pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/KeyGenerator.java rename to src/main/java/org/eclipse/pass/usertoken/KeyGenerator.java diff --git a/pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/Token.java b/src/main/java/org/eclipse/pass/usertoken/Token.java similarity index 100% rename from pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/Token.java rename to src/main/java/org/eclipse/pass/usertoken/Token.java diff --git a/pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/TokenFactory.java b/src/main/java/org/eclipse/pass/usertoken/TokenFactory.java similarity index 100% rename from pass-core-usertoken/src/main/java/org/eclipse/pass/usertoken/TokenFactory.java rename to src/main/java/org/eclipse/pass/usertoken/TokenFactory.java diff --git a/pass-core-main/src/main/resources/META-INF/resources/index.html b/src/main/resources/META-INF/resources/index.html similarity index 100% rename from pass-core-main/src/main/resources/META-INF/resources/index.html rename to src/main/resources/META-INF/resources/index.html diff --git a/pass-core-main/src/main/resources/META-INF/resources/swagger/LICENSE b/src/main/resources/META-INF/resources/swagger/LICENSE similarity index 100% rename from pass-core-main/src/main/resources/META-INF/resources/swagger/LICENSE rename to src/main/resources/META-INF/resources/swagger/LICENSE diff --git a/pass-core-main/src/main/resources/META-INF/resources/swagger/index.html b/src/main/resources/META-INF/resources/swagger/index.html similarity index 100% rename from pass-core-main/src/main/resources/META-INF/resources/swagger/index.html rename to src/main/resources/META-INF/resources/swagger/index.html diff --git a/pass-core-main/src/main/resources/META-INF/resources/swagger/swagger-ui-bundle.js b/src/main/resources/META-INF/resources/swagger/swagger-ui-bundle.js similarity index 100% rename from pass-core-main/src/main/resources/META-INF/resources/swagger/swagger-ui-bundle.js rename to src/main/resources/META-INF/resources/swagger/swagger-ui-bundle.js diff --git a/pass-core-main/src/main/resources/META-INF/resources/swagger/swagger-ui-standalone-preset.js b/src/main/resources/META-INF/resources/swagger/swagger-ui-standalone-preset.js similarity index 100% rename from pass-core-main/src/main/resources/META-INF/resources/swagger/swagger-ui-standalone-preset.js rename to src/main/resources/META-INF/resources/swagger/swagger-ui-standalone-preset.js diff --git a/pass-core-main/src/main/resources/META-INF/resources/swagger/swagger-ui.css b/src/main/resources/META-INF/resources/swagger/swagger-ui.css similarity index 100% rename from pass-core-main/src/main/resources/META-INF/resources/swagger/swagger-ui.css rename to src/main/resources/META-INF/resources/swagger/swagger-ui.css diff --git a/pass-core-main/src/main/resources/application.yaml b/src/main/resources/application.yaml similarity index 100% rename from pass-core-main/src/main/resources/application.yaml rename to src/main/resources/application.yaml diff --git a/pass-core-main/src/main/resources/db/changelog/changelog.yaml b/src/main/resources/db/changelog/changelog.yaml similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/changelog.yaml rename to src/main/resources/db/changelog/changelog.yaml diff --git a/pass-core-main/src/main/resources/db/changelog/core-changelog.yaml b/src/main/resources/db/changelog/core-changelog.yaml similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/core-changelog.yaml rename to src/main/resources/db/changelog/core-changelog.yaml diff --git a/pass-core-main/src/main/resources/db/changelog/data/deposit-repo-copy-publication-id-fix.sql b/src/main/resources/db/changelog/data/deposit-repo-copy-publication-id-fix.sql similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/data/deposit-repo-copy-publication-id-fix.sql rename to src/main/resources/db/changelog/data/deposit-repo-copy-publication-id-fix.sql diff --git a/pass-core-main/src/main/resources/db/changelog/data/rc-ext-ids-migration.sql b/src/main/resources/db/changelog/data/rc-ext-ids-migration.sql similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/data/rc-ext-ids-migration.sql rename to src/main/resources/db/changelog/data/rc-ext-ids-migration.sql diff --git a/pass-core-main/src/main/resources/db/changelog/data/version-migration.sql b/src/main/resources/db/changelog/data/version-migration.sql similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/data/version-migration.sql rename to src/main/resources/db/changelog/data/version-migration.sql diff --git a/pass-core-main/src/main/resources/db/changelog/schema/index-localkey.sql b/src/main/resources/db/changelog/schema/index-localkey.sql similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/schema/index-localkey.sql rename to src/main/resources/db/changelog/schema/index-localkey.sql diff --git a/pass-core-main/src/main/resources/db/changelog/schema/indices.sql b/src/main/resources/db/changelog/schema/indices.sql similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/schema/indices.sql rename to src/main/resources/db/changelog/schema/indices.sql diff --git a/pass-core-main/src/main/resources/db/changelog/schema/initial-schema.sql b/src/main/resources/db/changelog/schema/initial-schema.sql similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/schema/initial-schema.sql rename to src/main/resources/db/changelog/schema/initial-schema.sql diff --git a/pass-core-main/src/main/resources/db/changelog/schema/long-text.sql b/src/main/resources/db/changelog/schema/long-text.sql similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/schema/long-text.sql rename to src/main/resources/db/changelog/schema/long-text.sql diff --git a/pass-core-main/src/main/resources/db/changelog/schema/postgres-pattern-indices.sql b/src/main/resources/db/changelog/schema/postgres-pattern-indices.sql similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/schema/postgres-pattern-indices.sql rename to src/main/resources/db/changelog/schema/postgres-pattern-indices.sql diff --git a/pass-core-main/src/main/resources/db/changelog/schema/rc-external-ids.sql b/src/main/resources/db/changelog/schema/rc-external-ids.sql similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/schema/rc-external-ids.sql rename to src/main/resources/db/changelog/schema/rc-external-ids.sql diff --git a/pass-core-main/src/main/resources/db/changelog/schema/remove-contrib-pub.sql b/src/main/resources/db/changelog/schema/remove-contrib-pub.sql similarity index 100% rename from pass-core-main/src/main/resources/db/changelog/schema/remove-contrib-pub.sql rename to src/main/resources/db/changelog/schema/remove-contrib-pub.sql diff --git a/pass-core-doi-service/src/main/resources/jats-to-html.xsl b/src/main/resources/jats-to-html.xsl similarity index 100% rename from pass-core-doi-service/src/main/resources/jats-to-html.xsl rename to src/main/resources/jats-to-html.xsl diff --git a/pass-core-doi-service/src/main/resources/jats-to-html/citation.xsl b/src/main/resources/jats-to-html/citation.xsl similarity index 100% rename from pass-core-doi-service/src/main/resources/jats-to-html/citation.xsl rename to src/main/resources/jats-to-html/citation.xsl diff --git a/pass-core-doi-service/src/main/resources/jats-to-html/front.xsl b/src/main/resources/jats-to-html/front.xsl similarity index 100% rename from pass-core-doi-service/src/main/resources/jats-to-html/front.xsl rename to src/main/resources/jats-to-html/front.xsl diff --git a/pass-core-doi-service/src/main/resources/jats-to-html/meta.xsl b/src/main/resources/jats-to-html/meta.xsl similarity index 100% rename from pass-core-doi-service/src/main/resources/jats-to-html/meta.xsl rename to src/main/resources/jats-to-html/meta.xsl diff --git a/pass-core-doi-service/src/main/resources/jats-to-html/self-citation.xsl b/src/main/resources/jats-to-html/self-citation.xsl similarity index 100% rename from pass-core-doi-service/src/main/resources/jats-to-html/self-citation.xsl rename to src/main/resources/jats-to-html/self-citation.xsl diff --git a/pass-core-doi-service/src/main/resources/jats-to-html/util.xsl b/src/main/resources/jats-to-html/util.xsl similarity index 100% rename from pass-core-doi-service/src/main/resources/jats-to-html/util.xsl rename to src/main/resources/jats-to-html/util.xsl diff --git a/pass-core-main/src/main/resources/logback-access-spring.xml b/src/main/resources/logback-access-spring.xml similarity index 100% rename from pass-core-main/src/main/resources/logback-access-spring.xml rename to src/main/resources/logback-access-spring.xml diff --git a/pass-core-main/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml similarity index 100% rename from pass-core-main/src/main/resources/logback-spring.xml rename to src/main/resources/logback-spring.xml diff --git a/pass-core-main/src/test/java/org/eclipse/pass/doi/service/DoiServiceTest.java b/src/test/java/org/eclipse/pass/doi/service/DoiServiceTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/doi/service/DoiServiceTest.java rename to src/test/java/org/eclipse/pass/doi/service/DoiServiceTest.java diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ElideConnectorTest.java b/src/test/java/org/eclipse/pass/doi/service/ElideConnectorTest.java similarity index 100% rename from pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ElideConnectorTest.java rename to src/test/java/org/eclipse/pass/doi/service/ElideConnectorTest.java diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorIntegrationTest.java b/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorIntegrationTest.java similarity index 100% rename from pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorIntegrationTest.java rename to src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorIntegrationTest.java diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorTest.java b/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorTest.java similarity index 100% rename from pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorTest.java rename to src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceConnectorTest.java diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceTest.java b/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceTest.java similarity index 100% rename from pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceTest.java rename to src/test/java/org/eclipse/pass/doi/service/ExternalDoiServiceTest.java diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/JsonTestObjectsUtil.java b/src/test/java/org/eclipse/pass/doi/service/JsonTestObjectsUtil.java similarity index 100% rename from pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/JsonTestObjectsUtil.java rename to src/test/java/org/eclipse/pass/doi/service/JsonTestObjectsUtil.java diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/PassDoiServiceControllerTest.java b/src/test/java/org/eclipse/pass/doi/service/PassDoiServiceControllerTest.java similarity index 100% rename from pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/PassDoiServiceControllerTest.java rename to src/test/java/org/eclipse/pass/doi/service/PassDoiServiceControllerTest.java diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/UnpaywallDoiServiceTest.java b/src/test/java/org/eclipse/pass/doi/service/UnpaywallDoiServiceTest.java similarity index 100% rename from pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/UnpaywallDoiServiceTest.java rename to src/test/java/org/eclipse/pass/doi/service/UnpaywallDoiServiceTest.java diff --git a/pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/XrefDoiServiceTest.java b/src/test/java/org/eclipse/pass/doi/service/XrefDoiServiceTest.java similarity index 100% rename from pass-core-doi-service/src/test/java/org/eclipse/pass/doi/service/XrefDoiServiceTest.java rename to src/test/java/org/eclipse/pass/doi/service/XrefDoiServiceTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/file/service/storage/FileStorageServiceS3Test.java b/src/test/java/org/eclipse/pass/file/service/storage/FileStorageServiceS3Test.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/file/service/storage/FileStorageServiceS3Test.java rename to src/test/java/org/eclipse/pass/file/service/storage/FileStorageServiceS3Test.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/file/service/storage/FileStorageServiceTest.java b/src/test/java/org/eclipse/pass/file/service/storage/FileStorageServiceTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/file/service/storage/FileStorageServiceTest.java rename to src/test/java/org/eclipse/pass/file/service/storage/FileStorageServiceTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/file/service/storage/StorageConfigurationTest.java b/src/test/java/org/eclipse/pass/file/service/storage/StorageConfigurationTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/file/service/storage/StorageConfigurationTest.java rename to src/test/java/org/eclipse/pass/file/service/storage/StorageConfigurationTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/AwsParamStoreConfigTest.java b/src/test/java/org/eclipse/pass/main/AwsParamStoreConfigTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/main/AwsParamStoreConfigTest.java rename to src/test/java/org/eclipse/pass/main/AwsParamStoreConfigTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/IntegrationTestBase.java b/src/test/java/org/eclipse/pass/main/IntegrationTestBase.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/main/IntegrationTestBase.java rename to src/test/java/org/eclipse/pass/main/IntegrationTestBase.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/JmsConfigurationTest.java b/src/test/java/org/eclipse/pass/main/JmsConfigurationTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/main/JmsConfigurationTest.java rename to src/test/java/org/eclipse/pass/main/JmsConfigurationTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/JmsSqsConfigurationTest.java b/src/test/java/org/eclipse/pass/main/JmsSqsConfigurationTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/main/JmsSqsConfigurationTest.java rename to src/test/java/org/eclipse/pass/main/JmsSqsConfigurationTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/JmsSqsEndpointConfigurationTest.java b/src/test/java/org/eclipse/pass/main/JmsSqsEndpointConfigurationTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/main/JmsSqsEndpointConfigurationTest.java rename to src/test/java/org/eclipse/pass/main/JmsSqsEndpointConfigurationTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/SamlIntegrationTest.java b/src/test/java/org/eclipse/pass/main/SamlIntegrationTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/main/SamlIntegrationTest.java rename to src/test/java/org/eclipse/pass/main/SamlIntegrationTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/SimpleIntegrationTest.java b/src/test/java/org/eclipse/pass/main/SimpleIntegrationTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/main/SimpleIntegrationTest.java rename to src/test/java/org/eclipse/pass/main/SimpleIntegrationTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/security/AccessControlTest.java b/src/test/java/org/eclipse/pass/main/security/AccessControlTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/main/security/AccessControlTest.java rename to src/test/java/org/eclipse/pass/main/security/AccessControlTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/main/security/PassAuthenticationFilterTest.java b/src/test/java/org/eclipse/pass/main/security/PassAuthenticationFilterTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/main/security/PassAuthenticationFilterTest.java rename to src/test/java/org/eclipse/pass/main/security/PassAuthenticationFilterTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/object/ElidePassClientTest.java b/src/test/java/org/eclipse/pass/object/ElidePassClientTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/object/ElidePassClientTest.java rename to src/test/java/org/eclipse/pass/object/ElidePassClientTest.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/RSQLTest.java b/src/test/java/org/eclipse/pass/object/RSQLTest.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/RSQLTest.java rename to src/test/java/org/eclipse/pass/object/RSQLTest.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/DepositModelTests.java b/src/test/java/org/eclipse/pass/object/model/DepositModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/DepositModelTests.java rename to src/test/java/org/eclipse/pass/object/model/DepositModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/DepositStatusTest.java b/src/test/java/org/eclipse/pass/object/model/DepositStatusTest.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/DepositStatusTest.java rename to src/test/java/org/eclipse/pass/object/model/DepositStatusTest.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/FileModelTests.java b/src/test/java/org/eclipse/pass/object/model/FileModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/FileModelTests.java rename to src/test/java/org/eclipse/pass/object/model/FileModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/FunderModelTests.java b/src/test/java/org/eclipse/pass/object/model/FunderModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/FunderModelTests.java rename to src/test/java/org/eclipse/pass/object/model/FunderModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/GrantModelTests.java b/src/test/java/org/eclipse/pass/object/model/GrantModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/GrantModelTests.java rename to src/test/java/org/eclipse/pass/object/model/GrantModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/JournalModelTests.java b/src/test/java/org/eclipse/pass/object/model/JournalModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/JournalModelTests.java rename to src/test/java/org/eclipse/pass/object/model/JournalModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/PolicyModelTests.java b/src/test/java/org/eclipse/pass/object/model/PolicyModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/PolicyModelTests.java rename to src/test/java/org/eclipse/pass/object/model/PolicyModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/PublicationModelTests.java b/src/test/java/org/eclipse/pass/object/model/PublicationModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/PublicationModelTests.java rename to src/test/java/org/eclipse/pass/object/model/PublicationModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/RepositoryCopyModelTests.java b/src/test/java/org/eclipse/pass/object/model/RepositoryCopyModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/RepositoryCopyModelTests.java rename to src/test/java/org/eclipse/pass/object/model/RepositoryCopyModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/RepositoryModelTests.java b/src/test/java/org/eclipse/pass/object/model/RepositoryModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/RepositoryModelTests.java rename to src/test/java/org/eclipse/pass/object/model/RepositoryModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/SubmissionEventModelTests.java b/src/test/java/org/eclipse/pass/object/model/SubmissionEventModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/SubmissionEventModelTests.java rename to src/test/java/org/eclipse/pass/object/model/SubmissionEventModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/SubmissionModelTests.java b/src/test/java/org/eclipse/pass/object/model/SubmissionModelTests.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/SubmissionModelTests.java rename to src/test/java/org/eclipse/pass/object/model/SubmissionModelTests.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/UserModelTest.java b/src/test/java/org/eclipse/pass/object/model/UserModelTest.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/UserModelTest.java rename to src/test/java/org/eclipse/pass/object/model/UserModelTest.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/support/TestObjectCreator.java b/src/test/java/org/eclipse/pass/object/model/support/TestObjectCreator.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/support/TestObjectCreator.java rename to src/test/java/org/eclipse/pass/object/model/support/TestObjectCreator.java diff --git a/pass-core-object-service/src/test/java/org/eclipse/pass/object/model/support/TestValues.java b/src/test/java/org/eclipse/pass/object/model/support/TestValues.java similarity index 100% rename from pass-core-object-service/src/test/java/org/eclipse/pass/object/model/support/TestValues.java rename to src/test/java/org/eclipse/pass/object/model/support/TestValues.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/policy/PolicyServiceTest.java b/src/test/java/org/eclipse/pass/policy/PolicyServiceTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/policy/PolicyServiceTest.java rename to src/test/java/org/eclipse/pass/policy/PolicyServiceTest.java diff --git a/pass-core-main/src/test/java/org/eclipse/pass/user/UserServiceTest.java b/src/test/java/org/eclipse/pass/user/UserServiceTest.java similarity index 100% rename from pass-core-main/src/test/java/org/eclipse/pass/user/UserServiceTest.java rename to src/test/java/org/eclipse/pass/user/UserServiceTest.java diff --git a/pass-core-usertoken/src/test/java/org/eclipse/pass/usertoken/CodecTest.java b/src/test/java/org/eclipse/pass/usertoken/CodecTest.java similarity index 100% rename from pass-core-usertoken/src/test/java/org/eclipse/pass/usertoken/CodecTest.java rename to src/test/java/org/eclipse/pass/usertoken/CodecTest.java diff --git a/pass-core-usertoken/src/test/java/org/eclipse/pass/usertoken/KeyGeneratorTest.java b/src/test/java/org/eclipse/pass/usertoken/KeyGeneratorTest.java similarity index 100% rename from pass-core-usertoken/src/test/java/org/eclipse/pass/usertoken/KeyGeneratorTest.java rename to src/test/java/org/eclipse/pass/usertoken/KeyGeneratorTest.java diff --git a/pass-core-usertoken/src/test/java/org/eclipse/pass/usertoken/KeyTest.java b/src/test/java/org/eclipse/pass/usertoken/KeyTest.java similarity index 100% rename from pass-core-usertoken/src/test/java/org/eclipse/pass/usertoken/KeyTest.java rename to src/test/java/org/eclipse/pass/usertoken/KeyTest.java diff --git a/pass-core-usertoken/src/test/java/org/eclipse/pass/usertoken/TokenFactoryTest.java b/src/test/java/org/eclipse/pass/usertoken/TokenFactoryTest.java similarity index 100% rename from pass-core-usertoken/src/test/java/org/eclipse/pass/usertoken/TokenFactoryTest.java rename to src/test/java/org/eclipse/pass/usertoken/TokenFactoryTest.java diff --git a/pass-core-usertoken/src/test/java/org/eclipse/pass/usertoken/TokenTest.java b/src/test/java/org/eclipse/pass/usertoken/TokenTest.java similarity index 100% rename from pass-core-usertoken/src/test/java/org/eclipse/pass/usertoken/TokenTest.java rename to src/test/java/org/eclipse/pass/usertoken/TokenTest.java diff --git a/pass-core-main/src/test/resources/app/index.html b/src/test/resources/app/index.html similarity index 100% rename from pass-core-main/src/test/resources/app/index.html rename to src/test/resources/app/index.html diff --git a/pass-core-main/src/test/resources/app/test.txt b/src/test/resources/app/test.txt similarity index 100% rename from pass-core-main/src/test/resources/app/test.txt rename to src/test/resources/app/test.txt diff --git a/pass-core-main/src/test/resources/application-test-S3.yml b/src/test/resources/application-test-S3.yml similarity index 100% rename from pass-core-main/src/test/resources/application-test-S3.yml rename to src/test/resources/application-test-S3.yml diff --git a/pass-core-test-config/src/main/resources/application-test.yml b/src/test/resources/application-test.yml similarity index 100% rename from pass-core-test-config/src/main/resources/application-test.yml rename to src/test/resources/application-test.yml diff --git a/pass-core-main/src/test/resources/docker-java.properties b/src/test/resources/docker-java.properties similarity index 100% rename from pass-core-main/src/test/resources/docker-java.properties rename to src/test/resources/docker-java.properties diff --git a/pass-core-doi-service/src/test/resources/jats_abstract.html b/src/test/resources/jats_abstract.html similarity index 100% rename from pass-core-doi-service/src/test/resources/jats_abstract.html rename to src/test/resources/jats_abstract.html diff --git a/pass-core-doi-service/src/test/resources/jats_abstract.xml b/src/test/resources/jats_abstract.xml similarity index 100% rename from pass-core-doi-service/src/test/resources/jats_abstract.xml rename to src/test/resources/jats_abstract.xml diff --git a/pass-core-doi-service/src/test/resources/jats_abstract_mathml.html b/src/test/resources/jats_abstract_mathml.html similarity index 100% rename from pass-core-doi-service/src/test/resources/jats_abstract_mathml.html rename to src/test/resources/jats_abstract_mathml.html diff --git a/pass-core-doi-service/src/test/resources/jats_abstract_mathml.xml b/src/test/resources/jats_abstract_mathml.xml similarity index 100% rename from pass-core-doi-service/src/test/resources/jats_abstract_mathml.xml rename to src/test/resources/jats_abstract_mathml.xml diff --git a/pass-core-main/src/test/resources/logback-test.xml b/src/test/resources/logback-test.xml similarity index 100% rename from pass-core-main/src/test/resources/logback-test.xml rename to src/test/resources/logback-test.xml diff --git a/pass-core-main/src/test/resources/saml2/authsources.php b/src/test/resources/saml2/authsources.php similarity index 100% rename from pass-core-main/src/test/resources/saml2/authsources.php rename to src/test/resources/saml2/authsources.php diff --git a/pass-core-test-config/src/main/resources/saml2/idp-metadata.xml b/src/test/resources/saml2/idp-metadata.xml similarity index 100% rename from pass-core-test-config/src/main/resources/saml2/idp-metadata.xml rename to src/test/resources/saml2/idp-metadata.xml diff --git a/pass-core-test-config/src/main/resources/saml2/sp-cert.pem b/src/test/resources/saml2/sp-cert.pem similarity index 100% rename from pass-core-test-config/src/main/resources/saml2/sp-cert.pem rename to src/test/resources/saml2/sp-cert.pem diff --git a/pass-core-test-config/src/main/resources/saml2/sp-key.pem b/src/test/resources/saml2/sp-key.pem similarity index 100% rename from pass-core-test-config/src/main/resources/saml2/sp-key.pem rename to src/test/resources/saml2/sp-key.pem From 959565a5d56ebca53c55cf9e72ef57607c21b76f Mon Sep 17 00:00:00 2001 From: Russ Poetker Date: Tue, 21 Apr 2026 14:46:15 -0400 Subject: [PATCH 2/4] build: add pass-core-test-config classified jar artifact Add maven-jar-plugin execution to produce a test-config classified jar (pass-core-2.6.0-SNAPSHOT-test-config.jar) containing the same resources as the former pass-core-test-config module: application-test.yml and saml2/ directory. Consumers should update their dependency to use classifier=test-config on the pass-core artifact. --- pom.xml | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 018c8bbd..a025540e 100644 --- a/pom.xml +++ b/pom.xml @@ -8,10 +8,7 @@ 2.6.0-SNAPSHOT - org.eclipse.pass pass-core - 2.6.0-SNAPSHOT - jar PASS backend PASS REST API implementation @@ -66,6 +63,7 @@ 3.8.1 + 3.4.1 3.5.11 3.4.2 2.41.32 @@ -477,6 +475,29 @@ + + org.apache.maven.plugins + maven-jar-plugin + ${maven-jar-plugin.version} + + + test-config-jar + package + + jar + + + test-config + ${project.build.testOutputDirectory} + + application-test.yml + saml2/** + + + + + + org.apache.maven.plugins maven-source-plugin From e1c7409e2a8ab46d9a7dac85cf574c0186de88a7 Mon Sep 17 00:00:00 2001 From: Russ Poetker Date: Tue, 21 Apr 2026 15:23:18 -0400 Subject: [PATCH 3/4] test: add unit tests for StorageFile --- .../file/service/storage/StorageFileTest.java | 166 ++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 src/test/java/org/eclipse/pass/file/service/storage/StorageFileTest.java diff --git a/src/test/java/org/eclipse/pass/file/service/storage/StorageFileTest.java b/src/test/java/org/eclipse/pass/file/service/storage/StorageFileTest.java new file mode 100644 index 00000000..61287a37 --- /dev/null +++ b/src/test/java/org/eclipse/pass/file/service/storage/StorageFileTest.java @@ -0,0 +1,166 @@ +/* + * Copyright 2023 Johns Hopkins University + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.eclipse.pass.file.service.storage; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; + +class StorageFileTest { + + @Test + void testDefaultConstructor_setsDefaultValues() { + StorageFile file = new StorageFile(); + assertEquals("0", file.getId()); + assertEquals("0", file.getFileName()); + assertEquals("0", file.getMimeType()); + assertEquals("0", file.getStorageType()); + assertEquals(0L, file.getSize()); + assertEquals("0", file.getExtension()); + assertNull(file.getUuid()); + } + + @Test + void testParameterizedConstructor_setsAllFields() { + StorageFile file = new StorageFile("1", "uuid-123", "test.pdf", "application/pdf", "FILE_SYSTEM", 1024L, "pdf"); + assertEquals("1", file.getId()); + assertEquals("uuid-123", file.getUuid()); + assertEquals("test.pdf", file.getFileName()); + assertEquals("application/pdf", file.getMimeType()); + assertEquals("FILE_SYSTEM", file.getStorageType()); + assertEquals(1024L, file.getSize()); + assertEquals("pdf", file.getExtension()); + } + + @Test + void testSetters_updateFieldsCorrectly() { + StorageFile file = new StorageFile(); + file.setId("42"); + file.setUuid("uuid-456"); + file.setFileName("document.docx"); + file.setMimeType("application/vnd.openxmlformats-officedocument.wordprocessingml.document"); + file.setStorageType("S3"); + file.setSize(2048L); + file.setExtension("docx"); + + assertEquals("42", file.getId()); + assertEquals("uuid-456", file.getUuid()); + assertEquals("document.docx", file.getFileName()); + assertEquals("application/vnd.openxmlformats-officedocument.wordprocessingml.document", file.getMimeType()); + assertEquals("S3", file.getStorageType()); + assertEquals(2048L, file.getSize()); + assertEquals("docx", file.getExtension()); + } + + @Test + void testEquals_sameFields_returnsTrue() { + StorageFile a = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + StorageFile b = new StorageFile("1", "uuid-2", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + assertEquals(a, b); + } + + @Test + void testEquals_sameInstance_returnsTrue() { + StorageFile a = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + assertEquals(a, a); + } + + @Test + void testEquals_differentId_returnsFalse() { + StorageFile a = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + StorageFile b = new StorageFile("2", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + assertNotEquals(a, b); + } + + @Test + void testEquals_differentFileName_returnsFalse() { + StorageFile a = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + StorageFile b = new StorageFile("1", "uuid-1", "other.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + assertNotEquals(a, b); + } + + @Test + void testEquals_differentMimeType_returnsFalse() { + StorageFile a = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + StorageFile b = new StorageFile("1", "uuid-1", "file.txt", "application/pdf", "FILE_SYSTEM", 100L, "txt"); + assertNotEquals(a, b); + } + + @Test + void testEquals_differentSize_returnsFalse() { + StorageFile a = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + StorageFile b = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 200L, "txt"); + assertNotEquals(a, b); + } + + @Test + void testEquals_null_returnsFalse() { + StorageFile a = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + assertNotEquals(null, a); + } + + @Test + void testEquals_differentClass_returnsFalse() { + StorageFile a = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + assertNotEquals("not a StorageFile", a); + } + + @Test + void testHashCode_equalObjects_haveSameHashCode() { + StorageFile a = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + StorageFile b = new StorageFile("1", "uuid-2", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + assertEquals(a.hashCode(), b.hashCode()); + } + + @Test + void testHashCode_differentObjects_likelyDifferentHashCode() { + StorageFile a = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + StorageFile b = new StorageFile("2", "uuid-1", "other.pdf", "application/pdf", "S3", 999L, "pdf"); + assertNotEquals(a.hashCode(), b.hashCode()); + } + + @Test + void testToString_containsAllFields() { + StorageFile file = new StorageFile("1", "uuid-1", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + String result = file.toString(); + assertNotNull(result); + assertTrue(result.contains("1")); + assertTrue(result.contains("file.txt")); + assertTrue(result.contains("text/plain")); + assertTrue(result.contains("FILE_SYSTEM")); + assertTrue(result.contains("100")); + assertTrue(result.contains("txt")); + } + + @Test + void testToString_nullField_containsNullString() { + StorageFile file = new StorageFile(); + file.setFileName(null); + assertTrue(file.toString().contains("null")); + } + + @Test + void testEquals_uuidNotConsideredInEquality() { + // uuid is intentionally excluded from equals/hashCode + StorageFile a = new StorageFile("1", "uuid-AAA", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + StorageFile b = new StorageFile("1", "uuid-BBB", "file.txt", "text/plain", "FILE_SYSTEM", 100L, "txt"); + assertEquals(a, b); + } +} From 6f957564fe867463638601c0858ba2ea76f55d1b Mon Sep 17 00:00:00 2001 From: Russ Poetker Date: Tue, 21 Apr 2026 15:44:05 -0400 Subject: [PATCH 4/4] Update copyright year in new test --- .../org/eclipse/pass/file/service/storage/StorageFileTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/eclipse/pass/file/service/storage/StorageFileTest.java b/src/test/java/org/eclipse/pass/file/service/storage/StorageFileTest.java index 61287a37..c4a4f2ed 100644 --- a/src/test/java/org/eclipse/pass/file/service/storage/StorageFileTest.java +++ b/src/test/java/org/eclipse/pass/file/service/storage/StorageFileTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2023 Johns Hopkins University + * Copyright 2026 Johns Hopkins University * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.