From 20ce0c1db26efb69cac21316553c27544a22632f Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Wed, 10 May 2023 14:10:55 +0200 Subject: [PATCH] WIP - Migration complete --- Makefile | 8 +-- dbrepo-container-service/Dockerfile | 2 + dbrepo-container-service/pom.xml | 4 -- .../java/at/tuwien/config/JacksonConfig.java | 1 - dbrepo-database-service/Dockerfile | 2 + dbrepo-database-service/pom.xml | 22 +++--- .../at/tuwien/config/ElasticsearchConfig.java | 4 +- .../java/at/tuwien/config/JacksonConfig.java | 1 - dbrepo-identifier-service/Dockerfile | 8 ++- dbrepo-identifier-service/pom.xml | 38 ++++------- .../tuwien/endpoints/IdentifierEndpoint.java | 5 +- .../tuwien/endpoints/PersistenceEndpoint.java | 4 +- .../src/main/resources/application-local.yml | 10 +-- .../src/main/resources/application.yml | 10 +-- .../endpoint/PersistenceEndpointUnitTest.java | 1 - .../java/at/tuwien/auth/AuthTokenFilter.java | 8 +-- .../at/tuwien/config/ElasticsearchConfig.java | 43 +++++++----- .../java/at/tuwien/config/JacksonConfig.java | 1 - .../java/at/tuwien/config/ReadyConfig.java | 2 - .../java/at/tuwien/config/TemplateConfig.java | 2 +- .../at/tuwien/config/WebSecurityConfig.java | 19 +++--- .../api/amqp/ChannelDetailsDto.java | 0 .../{ => oaipmh}/api/amqp/ConsumerDto.java | 1 - .../api/amqp/CreateExchangeDto.java | 0 .../{ => oaipmh}/api/amqp/CreateUserDto.java | 0 .../api/amqp/CreateVirtualHostDto.java | 0 .../{ => oaipmh}/api/amqp/ExchangeDto.java | 0 .../amqp/GrantVirtualHostPermissionsDto.java | 0 .../{ => oaipmh}/api/amqp/QueueBriefDto.java | 0 .../{ => oaipmh}/api/amqp/QueueDto.java | 0 .../{ => oaipmh}/api/amqp/TupleDto.java | 0 .../{ => oaipmh}/api/amqp/UserDetailsDto.java | 0 .../{ => oaipmh}/api/auth/CreateUserDto.java | 0 .../{ => oaipmh}/api/auth/CredentialDto.java | 0 .../{ => oaipmh}/api/auth/JwtResponseDto.java | 0 .../api/auth/LoginRequestDto.java | 0 .../{ => oaipmh}/api/auth/RealmAccessDto.java | 0 .../api/auth/SignupRequestDto.java | 0 .../api/auth/TokenIntrospectDto.java | 0 .../api/container/ContainerActionTypeDto.java | 0 .../api/container/ContainerBriefDto.java | 0 .../api/container/ContainerChangeDto.java | 0 .../container/ContainerCreateRequestDto.java | 0 .../api/container/ContainerDto.java | 0 .../api/container/ContainerStateDto.java | 0 .../api/container/image/ImageBriefDto.java | 0 .../api/container/image/ImageChangeDto.java | 0 .../api/container/image/ImageCreateDto.java | 0 .../api/container/image/ImageDateDto.java | 0 .../api/container/image/ImageDto.java | 0 .../api/container/image/ImageEnvItemDto.java | 0 .../container/image/ImageEnvItemTypeDto.java | 0 .../api/database/AccessTypeDto.java | 0 .../api/database/DatabaseAccessDto.java | 0 .../api/database/DatabaseBriefDto.java | 1 - .../api/database/DatabaseCreateDto.java | 0 .../api/database/DatabaseDto.java | 3 - .../api/database/DatabaseGiveAccessDto.java | 0 .../api/database/DatabaseModifyAccessDto.java | 0 .../database/DatabaseModifyVisibilityDto.java | 0 .../api/database/DatabaseTransferDto.java | 0 .../api/database/LanguageTypeDto.java | 0 .../{ => oaipmh}/api/database/LicenseDto.java | 0 .../api/database/SubjectModifyDto.java | 0 .../api/database/ViewBriefDto.java | 0 .../api/database/ViewCreateDto.java | 0 .../{ => oaipmh}/api/database/ViewDto.java | 0 .../query/ExecuteInternalQueryDto.java | 0 .../database/query/ExecuteStatementDto.java | 0 .../api/database/query/ExportDto.java | 0 .../api/database/query/ImportDto.java | 0 .../api/database/query/QueryBriefDto.java | 2 - .../api/database/query/QueryDto.java | 0 .../api/database/query/QueryResultDto.java | 0 .../api/database/query/QueryTypeDto.java | 0 .../api/database/query/SaveStatementDto.java | 0 .../api/database/table/TableBriefDto.java | 1 - .../api/database/table/TableCreateDto.java | 0 .../database/table/TableCreateRawQuery.java | 0 .../api/database/table/TableCsvDeleteDto.java | 0 .../api/database/table/TableCsvDto.java | 0 .../table/TableCsvInformationDto.java | 0 .../api/database/table/TableCsvUpdateDto.java | 0 .../api/database/table/TableDto.java | 0 .../api/database/table/TableHistoryDto.java | 0 .../database/table/TableInsertRawQuery.java | 0 .../table/columns/ColumnBriefDto.java | 0 .../table/columns/ColumnCreateDto.java | 0 .../api/database/table/columns/ColumnDto.java | 0 .../database/table/columns/ColumnTypeDto.java | 0 .../api/database/table/columns/SiUnitDto.java | 0 .../concepts/ColumnSemanticsUpdateDto.java | 0 .../table/columns/concepts/ConceptDto.java | 0 .../table/columns/concepts/UnitDto.java | 0 .../constraints/ConstraintsCreateDto.java | 0 .../table/constraints/ConstraintsDto.java | 0 .../foreignKey/ForeignKeyCreateDto.java | 0 .../constraints/foreignKey/ForeignKeyDto.java | 0 .../foreignKey/ReferenceTypeDto.java | 0 .../api/datacite/DataCiteBody.java | 0 .../api/datacite/DataCiteData.java | 0 .../api/datacite/DataCiteError.java | 0 .../api/datacite/doi/DataCiteCreateDoi.java | 0 .../api/datacite/doi/DataCiteDoi.java | 0 .../api/datacite/doi/DataCiteDoiCreator.java | 0 .../doi/DataCiteDoiCreatorAffiliation.java | 0 .../doi/DataCiteDoiCreatorNameIdentifier.java | 0 .../api/datacite/doi/DataCiteDoiEvent.java | 0 .../doi/DataCiteDoiRelatedIdentifier.java | 0 .../api/datacite/doi/DataCiteDoiRights.java | 0 .../api/datacite/doi/DataCiteDoiTitle.java | 0 .../api/datacite/doi/DataCiteDoiTypes.java | 0 .../{ => oaipmh}/api/error/ApiErrorDto.java | 0 .../api/identifier/BibliographyTypeDto.java | 0 .../api/identifier/CreatorBriefDto.java | 0 .../api/identifier/CreatorCreateDto.java | 0 .../api/identifier/CreatorDto.java | 0 .../api/identifier/IdentifierBriefDto.java | 0 .../api/identifier/IdentifierCreateDto.java | 0 .../api/identifier/IdentifierDto.java | 0 .../api/identifier/IdentifierTypeDto.java | 0 .../api/identifier/IdentifierUpdateDto.java | 0 .../RelatedIdentifierCreateDto.java | 0 .../api/identifier/RelatedIdentifierDto.java | 1 - .../api/identifier/RelatedTypeDto.java | 0 .../api/identifier/RelationTypeDto.java | 0 .../api/identifier/VisibilityTypeDto.java | 0 .../user/ExchangeUpdatePermissionsDto.java | 0 .../api/user/GrantedAuthorityDto.java | 0 .../{ => oaipmh}/api/user/RoleTypeDto.java | 0 .../api/user/UserAttributeDto.java | 0 .../{ => oaipmh}/api/user/UserBriefDto.java | 0 .../{ => oaipmh}/api/user/UserDetailsDto.java | 0 .../tuwien/{ => oaipmh}/api/user/UserDto.java | 0 .../{ => oaipmh}/api/user/UserEmailDto.java | 0 .../{ => oaipmh}/api/user/UserForgotDto.java | 0 .../api/user/UserModifyPasswordDto.java | 0 .../api/user/UserPasswordDto.java | 0 .../{ => oaipmh}/api/user/UserResetDto.java | 0 .../{ => oaipmh}/api/user/UserRolesDto.java | 0 .../api/user/UserThemeSetDto.java | 0 .../{ => oaipmh}/api/user/UserUpdateDto.java | 0 .../api/user/UserUpdatePermissionsDto.java | 0 .../entities/container/Container.java | 4 +- .../container/image/ContainerImage.java | 6 +- .../container/image/ContainerImageDate.java | 2 +- .../image/ContainerImageDateKey.java | 0 .../image/ContainerImageEnvironmentItem.java | 4 +- .../ContainerImageEnvironmentItemKey.java | 0 .../ContainerImageEnvironmentItemType.java | 5 +- .../entities/database/AccessType.java | 0 .../entities/database/Database.java | 4 +- .../entities/database/DatabaseAccess.java | 3 +- .../entities/database/DatabaseAccessKey.java | 0 .../entities/database/LanguageType.java | 0 .../entities/database/License.java | 0 .../{ => oaipmh}/entities/database/View.java | 14 ++-- .../entities/database/ViewKey.java | 0 .../entities/database/table/Table.java | 4 +- .../entities/database/table/TableKey.java | 0 .../database/table/columns/TableColumn.java | 6 +- .../table/columns/TableColumnConcept.java | 2 +- .../table/columns/TableColumnKey.java | 0 .../table/columns/TableColumnType.java | 0 .../table/columns/TableColumnUnit.java | 2 +- .../table/constraints/Constraints.java | 0 .../constraints/foreignKey/ForeignKey.java | 6 +- .../foreignKey/ForeignKeyReference.java | 0 .../constraints/foreignKey/ReferenceType.java | 1 - .../table/constraints/unique/Unique.java | 1 - .../entities/identifier/Creator.java | 6 +- .../entities/identifier/CreatorKey.java | 0 .../entities/identifier/Identifier.java | 6 +- .../entities/identifier/IdentifierType.java | 0 .../identifier/RelatedIdentifier.java | 8 +-- .../identifier/RelatedIdentifierKey.java | 0 .../entities/identifier/RelatedType.java | 0 .../entities/identifier/RelationType.java | 0 .../entities/identifier/VisibilityType.java | 0 .../entities/user/Credential.java | 2 - .../{ => oaipmh}/entities/user/Realm.java | 0 .../{ => oaipmh}/entities/user/Role.java | 0 .../entities/user/RoleMapping.java | 0 .../entities/user/RoleMappingKey.java | 0 .../{ => oaipmh}/entities/user/User.java | 0 .../entities/user/UserAttribute.java | 0 .../at/tuwien/{ => oaipmh}/OaiErrorType.java | 2 +- .../OaiListIdentifiersParameters.java | 2 +- .../OaiListRecordsParameters.java | 2 +- .../{ => oaipmh}/OaiRecordParameters.java | 7 +- .../{ => oaipmh}/RequestParameters.java | 2 +- .../tuwien/{ => oaipmh}/querystore/Query.java | 0 dbrepo-metadata-db/setup-schema.sql | 16 ++--- .../{ => oaipmh}/config/DockerConfig.java | 0 .../tuwien/{ => oaipmh}/config/H2Utils.java | 0 .../{ => oaipmh}/config/MariaDbConfig.java | 0 .../{ => oaipmh}/config/RabbitMqConfig.java | 0 .../at/tuwien/{ => oaipmh}/test/BaseTest.java | 0 .../tuwien/{ => oaipmh}/utils/AmqpUtils.java | 0 .../tuwien/{ => oaipmh}/utils/ArrayUtil.java | 0 dbrepo-metadata-service/Dockerfile | 8 ++- dbrepo-metadata-service/pom.xml | 33 +++++---- .../at/tuwien/endpoints/MetadataEndpoint.java | 6 +- .../endpoints/MetadataEndpointUnitTest.java | 8 +-- .../MetadataServiceIntegrationTest.java | 11 +-- .../java/at/tuwien/config/JacksonConfig.java | 1 - .../java/at/tuwien/config/TemplateConfig.java | 2 +- .../at/tuwien/config/WebSecurityConfig.java | 17 ++--- .../at/tuwien/service/MetadataService.java | 6 +- .../service/impl/MetadataServiceImpl.java | 6 +- dbrepo-query-service/Dockerfile | 8 ++- dbrepo-query-service/pom.xml | 67 ++++++------------- .../at/tuwien/endpoint/ExportEndpoint.java | 3 +- .../at/tuwien/endpoint/QueryEndpoint.java | 4 +- .../at/tuwien/endpoint/StoreEndpoint.java | 2 +- .../at/tuwien/endpoint/TableDataEndpoint.java | 4 +- .../tuwien/endpoint/TableHistoryEndpoint.java | 4 +- .../java/at/tuwien/endpoint/ViewEndpoint.java | 4 +- .../src/main/resources/application-local.yml | 12 ++-- .../src/main/resources/application.yml | 8 +-- .../java/at/tuwien/auth/AuthTokenFilter.java | 8 +-- .../at/tuwien/config/ElasticsearchConfig.java | 43 +++++++----- .../java/at/tuwien/config/JacksonConfig.java | 1 - .../at/tuwien/config/WebSecurityConfig.java | 31 ++++----- .../tuwien/repository/jpa/ViewRepository.java | 18 ++--- .../tuwien/service/impl/QueryServiceImpl.java | 2 +- dbrepo-table-service/Dockerfile | 8 ++- dbrepo-table-service/pom.xml | 60 ++++++----------- .../tuwien/endpoints/TableColumnEndpoint.java | 4 +- .../at/tuwien/endpoints/TableEndpoint.java | 7 +- .../src/main/resources/application-local.yml | 10 +-- .../src/main/resources/application.yml | 10 +-- .../java/at/tuwien/auth/AuthTokenFilter.java | 8 +-- .../at/tuwien/config/ElasticsearchConfig.java | 47 +++++++------ .../java/at/tuwien/config/JacksonConfig.java | 1 - .../at/tuwien/config/WebSecurityConfig.java | 17 ++--- .../tuwien/service/MessageQueueService.java | 7 +- .../service/impl/HibernateConnector.java | 3 - dbrepo-user-service/Dockerfile | 8 ++- dbrepo-user-service/pom.xml | 42 ++++-------- .../java/at/tuwien/endpoint/UserEndpoint.java | 5 +- .../src/main/resources/application-local.yml | 8 +-- .../src/main/resources/application.yml | 8 +-- .../java/at/tuwien/auth/AuthTokenFilter.java | 8 +-- .../at/tuwien/config/ElasticsearchConfig.java | 41 ++++++------ .../java/at/tuwien/config/JacksonConfig.java | 1 - .../at/tuwien/config/WebSecurityConfig.java | 19 +++--- 247 files changed, 434 insertions(+), 526 deletions(-) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/ChannelDetailsDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/ConsumerDto.java (94%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/CreateExchangeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/CreateUserDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/CreateVirtualHostDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/ExchangeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/GrantVirtualHostPermissionsDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/QueueBriefDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/QueueDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/TupleDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/amqp/UserDetailsDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/auth/CreateUserDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/auth/CredentialDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/auth/JwtResponseDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/auth/LoginRequestDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/auth/RealmAccessDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/auth/SignupRequestDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/auth/TokenIntrospectDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/ContainerActionTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/ContainerBriefDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/ContainerChangeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/ContainerCreateRequestDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/ContainerDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/ContainerStateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/image/ImageBriefDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/image/ImageChangeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/image/ImageCreateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/image/ImageDateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/image/ImageDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/image/ImageEnvItemDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/container/image/ImageEnvItemTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/AccessTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/DatabaseAccessDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/DatabaseBriefDto.java (96%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/DatabaseCreateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/DatabaseDto.java (92%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/DatabaseGiveAccessDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/DatabaseModifyAccessDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/DatabaseModifyVisibilityDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/DatabaseTransferDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/LanguageTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/LicenseDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/SubjectModifyDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/ViewBriefDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/ViewCreateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/ViewDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/query/ExecuteInternalQueryDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/query/ExecuteStatementDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/query/ExportDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/query/ImportDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/query/QueryBriefDto.java (96%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/query/QueryDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/query/QueryResultDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/query/QueryTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/query/SaveStatementDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/TableBriefDto.java (95%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/TableCreateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/TableCreateRawQuery.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/TableCsvDeleteDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/TableCsvDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/TableCsvInformationDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/TableCsvUpdateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/TableDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/TableHistoryDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/TableInsertRawQuery.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/columns/ColumnBriefDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/columns/ColumnCreateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/columns/ColumnDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/columns/ColumnTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/columns/SiUnitDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/columns/concepts/ConceptDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/columns/concepts/UnitDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/constraints/ConstraintsCreateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/constraints/ConstraintsDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/constraints/foreignKey/ForeignKeyCreateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/constraints/foreignKey/ForeignKeyDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/database/table/constraints/foreignKey/ReferenceTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/DataCiteBody.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/DataCiteData.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/DataCiteError.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/doi/DataCiteCreateDoi.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/doi/DataCiteDoi.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/doi/DataCiteDoiCreator.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/doi/DataCiteDoiCreatorAffiliation.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/doi/DataCiteDoiEvent.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/doi/DataCiteDoiRelatedIdentifier.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/doi/DataCiteDoiRights.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/doi/DataCiteDoiTitle.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/datacite/doi/DataCiteDoiTypes.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/error/ApiErrorDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/BibliographyTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/CreatorBriefDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/CreatorCreateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/CreatorDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/IdentifierBriefDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/IdentifierCreateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/IdentifierDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/IdentifierTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/IdentifierUpdateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/RelatedIdentifierCreateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/RelatedIdentifierDto.java (96%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/RelatedTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/RelationTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/identifier/VisibilityTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/ExchangeUpdatePermissionsDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/GrantedAuthorityDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/RoleTypeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserAttributeDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserBriefDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserDetailsDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserEmailDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserForgotDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserModifyPasswordDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserPasswordDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserResetDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserRolesDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserThemeSetDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserUpdateDto.java (100%) rename dbrepo-metadata-db/api/src/main/java/at/tuwien/{ => oaipmh}/api/user/UserUpdatePermissionsDto.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/container/Container.java (95%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/container/image/ContainerImage.java (92%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/container/image/ContainerImageDate.java (97%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/container/image/ContainerImageDateKey.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/container/image/ContainerImageEnvironmentItem.java (93%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/container/image/ContainerImageEnvironmentItemKey.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/container/image/ContainerImageEnvironmentItemType.java (54%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/AccessType.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/Database.java (96%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/DatabaseAccess.java (93%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/DatabaseAccessKey.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/LanguageType.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/License.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/View.java (80%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/ViewKey.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/Table.java (96%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/TableKey.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/columns/TableColumn.java (97%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/columns/TableColumnConcept.java (94%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/columns/TableColumnKey.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/columns/TableColumnType.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/columns/TableColumnUnit.java (94%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/constraints/Constraints.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/constraints/foreignKey/ForeignKey.java (92%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/constraints/foreignKey/ForeignKeyReference.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/constraints/foreignKey/ReferenceType.java (81%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/database/table/constraints/unique/Unique.java (98%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/identifier/Creator.java (93%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/identifier/CreatorKey.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/identifier/Identifier.java (95%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/identifier/IdentifierType.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/identifier/RelatedIdentifier.java (88%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/identifier/RelatedIdentifierKey.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/identifier/RelatedType.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/identifier/RelationType.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/identifier/VisibilityType.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/user/Credential.java (93%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/user/Realm.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/user/Role.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/user/RoleMapping.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/user/RoleMappingKey.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/user/User.java (100%) rename dbrepo-metadata-db/entities/src/main/java/at/tuwien/{ => oaipmh}/entities/user/UserAttribute.java (100%) rename dbrepo-metadata-db/oai/src/main/java/at/tuwien/{ => oaipmh}/OaiErrorType.java (97%) rename dbrepo-metadata-db/oai/src/main/java/at/tuwien/{ => oaipmh}/OaiListIdentifiersParameters.java (98%) rename dbrepo-metadata-db/oai/src/main/java/at/tuwien/{ => oaipmh}/OaiListRecordsParameters.java (98%) rename dbrepo-metadata-db/oai/src/main/java/at/tuwien/{ => oaipmh}/OaiRecordParameters.java (77%) rename dbrepo-metadata-db/oai/src/main/java/at/tuwien/{ => oaipmh}/RequestParameters.java (93%) rename dbrepo-metadata-db/querystore/src/main/java/at/tuwien/{ => oaipmh}/querystore/Query.java (100%) rename dbrepo-metadata-db/test/src/main/java/at/tuwien/{ => oaipmh}/config/DockerConfig.java (100%) rename dbrepo-metadata-db/test/src/main/java/at/tuwien/{ => oaipmh}/config/H2Utils.java (100%) rename dbrepo-metadata-db/test/src/main/java/at/tuwien/{ => oaipmh}/config/MariaDbConfig.java (100%) rename dbrepo-metadata-db/test/src/main/java/at/tuwien/{ => oaipmh}/config/RabbitMqConfig.java (100%) rename dbrepo-metadata-db/test/src/main/java/at/tuwien/{ => oaipmh}/test/BaseTest.java (100%) rename dbrepo-metadata-db/test/src/main/java/at/tuwien/{ => oaipmh}/utils/AmqpUtils.java (100%) rename dbrepo-metadata-db/test/src/main/java/at/tuwien/{ => oaipmh}/utils/ArrayUtil.java (100%) diff --git a/Makefile b/Makefile index 7ec54ad9a2..bd25de9c3f 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ TRIVY_VERSION ?= v0.41.0 all: -build-backend: build-metadata-db build-database-service build-query-service build-table-service build-identifier-service build-container-service build-discovery-service build-gateway-service build-metadata-service build-analyse-service build-user-service +build-backend: build-metadata-db build-database-service build-query-service build-table-service build-identifier-service build-container-service build-metadata-service build-analyse-service build-user-service build-metadata-db: mvn -f ./dbrepo-metadata-db/pom.xml clean install @@ -22,12 +22,6 @@ build-container-service: build-metadata-db build-database-service: build-metadata-db mvn -f ./dbrepo-database-service/pom.xml clean package -DskipTests -build-discovery-service: build-metadata-db - mvn -f ./dbrepo-discovery-service/pom.xml clean package -DskipTests - -build-gateway-service: build-metadata-db - mvn -f ./dbrepo-gateway-service/pom.xml clean package -DskipTests - build-query-service: build-metadata-db mvn -f ./dbrepo-query-service/pom.xml clean package -DskipTests diff --git a/dbrepo-container-service/Dockerfile b/dbrepo-container-service/Dockerfile index de2b0a1463..bfef8f03d2 100644 --- a/dbrepo-container-service/Dockerfile +++ b/dbrepo-container-service/Dockerfile @@ -23,6 +23,8 @@ RUN mvn -q clean package -DskipTests FROM openjdk:17-alpine as runtime MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> +RUN apk --no-cache add bash + ENV METADATA_DB=fda ENV METADATA_USERNAME=root ENV METADATA_PASSWORD=dbrepo diff --git a/dbrepo-container-service/pom.xml b/dbrepo-container-service/pom.xml index df49de3c81..286be07560 100644 --- a/dbrepo-container-service/pom.xml +++ b/dbrepo-container-service/pom.xml @@ -32,10 +32,6 @@ </properties> <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-webflux</artifactId> - </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> diff --git a/dbrepo-container-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-container-service/services/src/main/java/at/tuwien/config/JacksonConfig.java index fba7f99cf2..c4944a4691 100644 --- a/dbrepo-container-service/services/src/main/java/at/tuwien/config/JacksonConfig.java +++ b/dbrepo-container-service/services/src/main/java/at/tuwien/config/JacksonConfig.java @@ -19,7 +19,6 @@ public class JacksonConfig { @Bean public ObjectMapper objectMapper() throws JsonProcessingException { final ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.findAndRegisterModules(); objectMapper.registerModule(new Jdk8Module()); objectMapper.registerModule(new JavaTimeModule()); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); diff --git a/dbrepo-database-service/Dockerfile b/dbrepo-database-service/Dockerfile index b676839354..052654fbb8 100644 --- a/dbrepo-database-service/Dockerfile +++ b/dbrepo-database-service/Dockerfile @@ -23,6 +23,8 @@ RUN mvn -q clean package -DskipTests FROM openjdk:17-alpine as runtime MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> +RUN apk --no-cache add bash + ENV METADATA_DB=fda ENV METADATA_USERNAME=root ENV METADATA_PASSWORD=dbrepo diff --git a/dbrepo-database-service/pom.xml b/dbrepo-database-service/pom.xml index 5ab357dea1..414a7afe17 100644 --- a/dbrepo-database-service/pom.xml +++ b/dbrepo-database-service/pom.xml @@ -29,14 +29,11 @@ <swagger.version>2.2.9</swagger.version> <jacoco.version>0.8.10</jacoco.version> <jwt.version>4.3.0</jwt.version> - <hibernate-c3po.version>5.6.3.Final</hibernate-c3po.version> + <c3p0.version>0.9.5.5</c3p0.version> + <c3p0-hibernate.version>6.2.2.Final</c3p0-hibernate.version> </properties> <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-webflux</artifactId> - </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> @@ -93,6 +90,16 @@ <version>${spring-cloud.version}</version> </dependency> <!-- Data Source --> + <dependency> + <groupId>com.mchange</groupId> + <artifactId>c3p0</artifactId> + <version>${c3p0.version}</version> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-c3p0</artifactId> + <version>${c3p0-hibernate.version}</version> + </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> @@ -121,11 +128,6 @@ <version>${project.version}</version> <scope>compile</scope> </dependency> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-c3p0</artifactId> - <version>${hibernate-c3po.version}</version> - </dependency> <!-- Testing --> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/dbrepo-database-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java b/dbrepo-database-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java index cf0c63513c..58079c0b9c 100644 --- a/dbrepo-database-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java +++ b/dbrepo-database-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java @@ -22,10 +22,10 @@ public class ElasticsearchConfig { @Value("${spring.elasticsearch.uris}") private String elasticEndpoint; - @Value("${fda.elastic.username}") + @Value("${spring.elasticsearch.username}") private String elasticUsername; - @Value("${fda.elastic.password}") + @Value("${spring.elasticsearch.password}") private String elasticPassword; @Bean diff --git a/dbrepo-database-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-database-service/services/src/main/java/at/tuwien/config/JacksonConfig.java index fba7f99cf2..c4944a4691 100644 --- a/dbrepo-database-service/services/src/main/java/at/tuwien/config/JacksonConfig.java +++ b/dbrepo-database-service/services/src/main/java/at/tuwien/config/JacksonConfig.java @@ -19,7 +19,6 @@ public class JacksonConfig { @Bean public ObjectMapper objectMapper() throws JsonProcessingException { final ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.findAndRegisterModules(); objectMapper.registerModule(new Jdk8Module()); objectMapper.registerModule(new JavaTimeModule()); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); diff --git a/dbrepo-identifier-service/Dockerfile b/dbrepo-identifier-service/Dockerfile index 007db79cf5..9269801f90 100644 --- a/dbrepo-identifier-service/Dockerfile +++ b/dbrepo-identifier-service/Dockerfile @@ -3,7 +3,8 @@ FROM dbrepo-metadata-db:latest as dependency MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> ###### SECOND STAGE ###### -FROM maven:slim as build +FROM maven:3-openjdk-17 as build +MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> COPY ./pom.xml ./ @@ -20,7 +21,10 @@ COPY ./report ./report RUN mvn -q clean package -DskipTests ###### THIRD STAGE ###### -FROM openjdk:11-jre-slim as runtime +FROM openjdk:17-alpine as runtime +MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> + +RUN apk --no-cache add bash ENV METADATA_DB=fda ENV METADATA_USERNAME=root diff --git a/dbrepo-identifier-service/pom.xml b/dbrepo-identifier-service/pom.xml index 2e3749b2b7..cbd895ea27 100644 --- a/dbrepo-identifier-service/pom.xml +++ b/dbrepo-identifier-service/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>2.3.10.RELEASE</version> + <version>3.0.6</version> </parent> <groupId>at.tuwien</groupId> @@ -23,24 +23,21 @@ </modules> <properties> - <java.version>11</java.version> - <spring-cloud.version>3.0.1</spring-cloud.version> - <mapstruct.version>1.4.2.Final</mapstruct.version> - <swagger.version>2.1.7</swagger.version> - <springfox.version>3.0.0</springfox.version> - <jacoco.version>0.8.7</jacoco.version> - <javax-ws-rs.version>2.1.1</javax-ws-rs.version> - <maven-site.version>3.10.0</maven-site.version> - <docker.version>3.2.7</docker.version> - <commons-io.version>2.11.0</commons-io.version> + <java.version>17</java.version> + <spring-cloud.version>4.0.2</spring-cloud.version> + <mapstruct.version>1.5.5.Final</mapstruct.version> + <docker.version>3.3.0</docker.version> + <swagger.version>2.2.9</swagger.version> + <jacoco.version>0.8.10</jacoco.version> <jwt.version>4.3.0</jwt.version> + <hibernate-c3po.version>5.6.3.Final</hibernate-c3po.version> + <commons-io.version>2.11.0</commons-io.version> + <opencsv.version>5.7.1</opencsv.version> + <super-csv.version>2.4.0</super-csv.version> + <jsql.version>4.6</jsql.version> </properties> <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-webflux</artifactId> - </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> @@ -110,12 +107,6 @@ <artifactId>docker-java</artifactId> <version>${docker.version}</version> <scope>test</scope> - <exclusions> - <exclusion> - <groupId>javax.ws.rs</groupId> - <artifactId>jsr311-api</artifactId> - </exclusion> - </exclusions> </dependency> <dependency> <groupId>com.github.docker-java</groupId> @@ -124,11 +115,6 @@ <scope>test</scope> </dependency> <!-- Testing --> - <dependency> - <groupId>javax.ws.rs</groupId> - <artifactId>javax.ws.rs-api</artifactId> - <version>${javax-ws-rs.version}</version> - </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> diff --git a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java index 43cc6674b9..fffddcf423 100644 --- a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java +++ b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java @@ -4,7 +4,6 @@ import at.tuwien.api.error.ApiErrorDto; import at.tuwien.api.identifier.IdentifierCreateDto; import at.tuwien.api.identifier.IdentifierDto; import at.tuwien.api.identifier.IdentifierTypeDto; -import at.tuwien.entities.database.DatabaseAccess; import at.tuwien.entities.identifier.Identifier; import at.tuwien.entities.user.User; import at.tuwien.exception.*; @@ -27,8 +26,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.security.Principal; import java.util.LinkedList; import java.util.List; diff --git a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/PersistenceEndpoint.java b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/PersistenceEndpoint.java index 6f30f79be8..b72eb5b314 100644 --- a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/PersistenceEndpoint.java +++ b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/PersistenceEndpoint.java @@ -29,8 +29,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.security.Principal; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml b/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml index 6a21740ccf..c6d40af941 100644 --- a/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml +++ b/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml @@ -27,6 +27,10 @@ spring: virtual-host: dbrepo username: fda password: fda + elasticsearch: + password: elastic + username: elastic + uris: http://localhost:9200 management.endpoints.web.exposure.include: health,info,prometheus server: port: 9096 @@ -45,8 +49,4 @@ fda: client_secret: client-secret client_id: dbrepo-client gateway.endpoint: https://localhost - website: https://localhost - elastic: - endpoint: localhost:9200 - username: elastic - password: elastic \ No newline at end of file + website: https://localhost \ No newline at end of file diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/application.yml b/dbrepo-identifier-service/rest-service/src/main/resources/application.yml index b39c1ae7af..1782b03e65 100644 --- a/dbrepo-identifier-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-identifier-service/rest-service/src/main/resources/application.yml @@ -27,6 +27,10 @@ spring: virtual-host: dbrepo username: "${BROKER_USERNAME}" password: "${BROKER_PASSWORD}" + elasticsearch: + password: "${ELASTIC_PASSWORD}" + username: elastic + uris: http://search-service:9200 management.endpoints.web.exposure.include: health,info,prometheus server: port: 9096 @@ -45,8 +49,4 @@ fda: client_secret: "${DBREPO_CLIENT_SECRET}" client_id: "${CLIENT_ID}" gateway.endpoint: "${GATEWAY_ENDPOINT}" - website: "${WEBSITE}" - elastic: - endpoint: search-service:9200 - username: elastic - password: "${ELASTIC_PASSWORD}" \ No newline at end of file + website: "${WEBSITE}" \ No newline at end of file diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/PersistenceEndpointUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/PersistenceEndpointUnitTest.java index 1789fe6636..d3c64bd929 100644 --- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/PersistenceEndpointUnitTest.java +++ b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/PersistenceEndpointUnitTest.java @@ -75,7 +75,6 @@ public class PersistenceEndpointUnitTest extends BaseUnitTest { @Primary public ObjectMapper objectMapper() { final ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.findAndRegisterModules(); objectMapper.registerModule(new Jdk8Module()); objectMapper.registerModule(new JavaTimeModule()); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java index b2b01c42ee..92b60f4f8a 100644 --- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java +++ b/dbrepo-identifier-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java @@ -6,6 +6,10 @@ import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -16,10 +20,6 @@ import org.springframework.security.web.authentication.WebAuthenticationDetailsS import org.springframework.util.StringUtils; import org.springframework.web.filter.OncePerRequestFilter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.security.KeyFactory; import java.security.NoSuchAlgorithmException; diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java index b8de474aed..58079c0b9c 100644 --- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java +++ b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java @@ -1,38 +1,45 @@ package at.tuwien.config; -import org.elasticsearch.client.RestHighLevelClient; +import co.elastic.clients.elasticsearch.ElasticsearchClient; +import co.elastic.clients.json.jackson.JacksonJsonpMapper; +import co.elastic.clients.transport.ElasticsearchTransport; +import co.elastic.clients.transport.rest_client.RestClientTransport; +import lombok.extern.log4j.Log4j2; +import org.apache.http.HttpHost; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; +import org.apache.http.impl.client.BasicCredentialsProvider; +import org.elasticsearch.client.RestClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.data.elasticsearch.client.ClientConfiguration; -import org.springframework.data.elasticsearch.client.RestClients; -import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; +@Log4j2 @Configuration public class ElasticsearchConfig { - @Value("${fda.elastic.endpoint}") + @Value("${spring.elasticsearch.uris}") private String elasticEndpoint; - @Value("${fda.elastic.username}") + @Value("${spring.elasticsearch.username}") private String elasticUsername; - @Value("${fda.elastic.password}") + @Value("${spring.elasticsearch.password}") private String elasticPassword; @Bean - public RestHighLevelClient client() { - ClientConfiguration clientConfiguration = ClientConfiguration.builder() - .connectedTo(elasticEndpoint) - .withBasicAuth(elasticUsername, elasticPassword) + public ElasticsearchClient elasticsearchClient() { + log.debug("elastic endpoint={}", elasticEndpoint); + final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); + credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(elasticUsername, elasticPassword)); + final RestClient restClient = RestClient.builder(HttpHost.create(elasticEndpoint)) + .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder + .setDefaultCredentialsProvider(credentialsProvider)) .build(); - - return RestClients.create(clientConfiguration).rest(); + ElasticsearchTransport transport = new RestClientTransport( + restClient, new JacksonJsonpMapper()); + return new ElasticsearchClient(transport); } - @Bean - public ElasticsearchOperations elasticsearchTemplate() { - return new ElasticsearchRestTemplate(client()); - } } \ No newline at end of file diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/JacksonConfig.java index 2aee74382e..a5c64eaa04 100644 --- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/JacksonConfig.java +++ b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/JacksonConfig.java @@ -21,7 +21,6 @@ public class JacksonConfig { @Primary public ObjectMapper objectMapper() throws JsonProcessingException { final ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.findAndRegisterModules(); objectMapper.registerModule(new Jdk8Module()); objectMapper.registerModule(new JavaTimeModule()); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/ReadyConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/ReadyConfig.java index 2c3a5d433c..0bee3b961e 100644 --- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/ReadyConfig.java +++ b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/ReadyConfig.java @@ -6,14 +6,12 @@ import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.annotation.Configuration; import org.springframework.context.event.EventListener; -import javax.validation.constraints.NotNull; import java.io.File; import java.io.IOException; @Configuration public class ReadyConfig { - @NotNull @Value("${fda.ready.path}") private String readyPath; diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/TemplateConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/TemplateConfig.java index c2d1721c0c..d38f17c6cb 100644 --- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/TemplateConfig.java +++ b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/TemplateConfig.java @@ -2,7 +2,7 @@ package at.tuwien.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.thymeleaf.spring5.SpringTemplateEngine; +import org.thymeleaf.spring6.SpringTemplateEngine; import org.thymeleaf.templatemode.TemplateMode; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java index 04f19f375b..eb4f2522a6 100644 --- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java +++ b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java @@ -9,14 +9,14 @@ import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; @Configuration @EnableWebSecurity @@ -27,15 +27,15 @@ import javax.servlet.http.HttpServletResponse; bearerFormat = "JWT", scheme = "bearer" ) -public class WebSecurityConfig extends WebSecurityConfigurerAdapter { +public class WebSecurityConfig { @Bean public AuthTokenFilter authTokenFilter() { return new AuthTokenFilter(); } - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { /* enable CORS and disable CSRF */ http = http.cors().and().csrf().disable(); /* set session management to stateless */ @@ -56,11 +56,11 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { /* set permissions on endpoints */ http.authorizeRequests() /* our internal endpoints */ - .antMatchers(HttpMethod.GET, "/actuator/prometheus/**").permitAll() + .requestMatchers(HttpMethod.GET, "/actuator/prometheus/**").permitAll() /* our public endpoints */ - .antMatchers(HttpMethod.GET, "/api/identifier/**").permitAll() - .antMatchers(HttpMethod.GET, "/api/pid/**").permitAll() - .antMatchers("/v3/api-docs.yaml", + .requestMatchers(HttpMethod.GET, "/api/identifier/**").permitAll() + .requestMatchers(HttpMethod.GET, "/api/pid/**").permitAll() + .requestMatchers("/v3/api-docs.yaml", "/v3/api-docs/**", "/swagger-ui/**", "/swagger-ui.html").permitAll() @@ -70,6 +70,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { http.addFilterBefore(authTokenFilter(), UsernamePasswordAuthenticationFilter.class ); + return http.build(); } @Bean diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/ChannelDetailsDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/ChannelDetailsDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/ConsumerDto.java similarity index 94% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/ConsumerDto.java index e604a70c4e..815857a75e 100644 --- a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/ConsumerDto.java @@ -1,7 +1,6 @@ package at.tuwien.api.amqp; import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.Parameter; import lombok.*; import jakarta.validation.constraints.NotNull; diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateExchangeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/CreateExchangeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateExchangeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/CreateExchangeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/CreateUserDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/CreateUserDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/CreateVirtualHostDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/CreateVirtualHostDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/ExchangeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/ExchangeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/ExchangeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/ExchangeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/GrantVirtualHostPermissionsDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/GrantVirtualHostPermissionsDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/QueueBriefDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/QueueBriefDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/QueueDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/QueueDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/QueueDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/QueueDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/TupleDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/TupleDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/TupleDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/TupleDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/UserDetailsDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/UserDetailsDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/amqp/UserDetailsDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/amqp/UserDetailsDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/CreateUserDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/CreateUserDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/CreateUserDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/CreateUserDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/CredentialDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/CredentialDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/CredentialDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/CredentialDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/JwtResponseDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/JwtResponseDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/JwtResponseDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/JwtResponseDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/LoginRequestDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/LoginRequestDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/LoginRequestDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/LoginRequestDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/RealmAccessDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/RealmAccessDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/RealmAccessDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/RealmAccessDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/SignupRequestDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/SignupRequestDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/SignupRequestDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/SignupRequestDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/TokenIntrospectDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/TokenIntrospectDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/auth/TokenIntrospectDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/auth/TokenIntrospectDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerActionTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerActionTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerActionTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerActionTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerBriefDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerBriefDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerChangeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerChangeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerChangeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerChangeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerCreateRequestDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerCreateRequestDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerCreateRequestDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerCreateRequestDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerStateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerStateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/ContainerStateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/ContainerStateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageBriefDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageBriefDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageChangeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageChangeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageChangeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageChangeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageCreateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageCreateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageDateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageDateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageEnvItemDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageEnvItemDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageEnvItemTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/container/image/ImageEnvItemTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/container/image/ImageEnvItemTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/AccessTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/AccessTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/AccessTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/AccessTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseAccessDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseAccessDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseAccessDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseAccessDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseBriefDto.java similarity index 96% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseBriefDto.java index 4a582e1188..be536d413a 100644 --- a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseBriefDto.java @@ -2,7 +2,6 @@ package at.tuwien.api.database; import at.tuwien.api.container.ContainerBriefDto; import at.tuwien.api.identifier.IdentifierBriefDto; -import at.tuwien.api.identifier.IdentifierDto; import at.tuwien.api.user.UserBriefDto; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseCreateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseCreateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseCreateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseCreateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseDto.java similarity index 92% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseDto.java index 6554f69071..7dd826478b 100644 --- a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseDto.java +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseDto.java @@ -5,14 +5,11 @@ import at.tuwien.api.container.image.ImageDto; import at.tuwien.api.database.table.TableBriefDto; import at.tuwien.api.identifier.IdentifierDto; import at.tuwien.api.user.UserBriefDto; -import at.tuwien.api.user.UserDto; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import org.springframework.data.elasticsearch.annotations.DateFormat; import org.springframework.data.elasticsearch.annotations.Document; -import org.springframework.data.elasticsearch.annotations.Field; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseGiveAccessDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseGiveAccessDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseGiveAccessDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseGiveAccessDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseModifyAccessDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseModifyAccessDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseModifyAccessDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseModifyAccessDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseModifyVisibilityDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseModifyVisibilityDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseModifyVisibilityDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseModifyVisibilityDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseTransferDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/DatabaseTransferDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/LanguageTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/LanguageTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/LanguageTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/LanguageTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/LicenseDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/LicenseDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/LicenseDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/LicenseDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/SubjectModifyDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/SubjectModifyDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/SubjectModifyDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/SubjectModifyDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/ViewBriefDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/ViewBriefDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/ViewCreateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/ViewCreateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/ViewCreateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/ViewCreateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/ViewDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/ViewDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/ViewDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/ViewDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteInternalQueryDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/ExecuteInternalQueryDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteInternalQueryDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/ExecuteInternalQueryDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteStatementDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/ExecuteStatementDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExecuteStatementDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/ExecuteStatementDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExportDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/ExportDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/ExportDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/ExportDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/ImportDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/ImportDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/ImportDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/ImportDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/QueryBriefDto.java similarity index 96% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/QueryBriefDto.java index e3acd7c515..40237b8961 100644 --- a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/QueryBriefDto.java @@ -1,12 +1,10 @@ package at.tuwien.api.database.query; import at.tuwien.api.identifier.IdentifierBriefDto; -import at.tuwien.api.identifier.IdentifierDto; import at.tuwien.api.user.UserDto; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/QueryDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/QueryDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryResultDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/QueryResultDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryResultDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/QueryResultDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/QueryTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/QueryTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/QueryTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/SaveStatementDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/query/SaveStatementDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableBriefDto.java similarity index 95% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableBriefDto.java index d1d3ca5c60..bba2d9bcd6 100644 --- a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableBriefDto.java @@ -1,7 +1,6 @@ package at.tuwien.api.database.table; import at.tuwien.api.database.table.columns.ColumnBriefDto; -import at.tuwien.api.database.table.columns.ColumnDto; import at.tuwien.api.user.UserBriefDto; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCreateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCreateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCreateRawQuery.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCreateRawQuery.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDeleteDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCsvDeleteDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDeleteDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCsvDeleteDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCsvDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCsvDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvInformationDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCsvInformationDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvInformationDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCsvInformationDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvUpdateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCsvUpdateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCsvUpdateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableCsvUpdateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableHistoryDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableHistoryDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableInsertRawQuery.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/TableInsertRawQuery.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/ColumnBriefDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/ColumnBriefDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/ColumnCreateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/ColumnCreateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/ColumnDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/ColumnDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/ColumnTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/ColumnTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/SiUnitDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/SiUnitDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/SiUnitDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/SiUnitDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/concepts/ConceptDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/concepts/ConceptDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/concepts/UnitDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/columns/concepts/UnitDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsCreateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/constraints/ConstraintsCreateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsCreateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/constraints/ConstraintsCreateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/constraints/ConstraintsDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/constraints/ConstraintsDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ForeignKeyCreateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/constraints/foreignKey/ForeignKeyCreateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ForeignKeyCreateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/constraints/foreignKey/ForeignKeyCreateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ForeignKeyDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/constraints/foreignKey/ForeignKeyDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ForeignKeyDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/constraints/foreignKey/ForeignKeyDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ReferenceTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/constraints/foreignKey/ReferenceTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ReferenceTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/database/table/constraints/foreignKey/ReferenceTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/DataCiteBody.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/DataCiteBody.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/DataCiteBody.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/DataCiteBody.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/DataCiteData.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/DataCiteData.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/DataCiteData.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/DataCiteData.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/DataCiteError.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/DataCiteError.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/DataCiteError.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/DataCiteError.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteCreateDoi.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteCreateDoi.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteCreateDoi.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteCreateDoi.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoi.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoi.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoi.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoi.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreator.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiCreator.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreator.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiCreator.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreatorAffiliation.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiCreatorAffiliation.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreatorAffiliation.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiCreatorAffiliation.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiEvent.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiEvent.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiEvent.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiEvent.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiRelatedIdentifier.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiRelatedIdentifier.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiRelatedIdentifier.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiRelatedIdentifier.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiRights.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiRights.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiRights.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiRights.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiTitle.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiTitle.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiTitle.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiTitle.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiTypes.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiTypes.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiTypes.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/datacite/doi/DataCiteDoiTypes.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/error/ApiErrorDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/error/ApiErrorDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/BibliographyTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/BibliographyTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/BibliographyTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/BibliographyTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/CreatorBriefDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/CreatorBriefDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorCreateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/CreatorCreateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorCreateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/CreatorCreateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/CreatorDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/CreatorDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/IdentifierBriefDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/IdentifierBriefDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierCreateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/IdentifierCreateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierCreateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/IdentifierCreateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/IdentifierDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/IdentifierDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/IdentifierTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/IdentifierTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierUpdateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/IdentifierUpdateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierUpdateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/IdentifierUpdateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierCreateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/RelatedIdentifierCreateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierCreateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/RelatedIdentifierCreateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/RelatedIdentifierDto.java similarity index 96% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/RelatedIdentifierDto.java index 390ee3e1e8..7c6dc67468 100644 --- a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/RelatedIdentifierDto.java @@ -4,7 +4,6 @@ import at.tuwien.api.user.UserDto; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; -import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/RelatedTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelatedTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/RelatedTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelationTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/RelationTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/RelationTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/RelationTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/VisibilityTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/VisibilityTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/VisibilityTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/identifier/VisibilityTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/ExchangeUpdatePermissionsDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/ExchangeUpdatePermissionsDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/GrantedAuthorityDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/GrantedAuthorityDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/RoleTypeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/RoleTypeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/RoleTypeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/RoleTypeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserAttributeDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserAttributeDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserAttributeDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserAttributeDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserBriefDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserBriefDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserBriefDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserBriefDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserDetailsDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserDetailsDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserEmailDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserEmailDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserEmailDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserEmailDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserForgotDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserForgotDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserForgotDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserForgotDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserModifyPasswordDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserModifyPasswordDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserPasswordDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserPasswordDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserResetDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserResetDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserResetDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserResetDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserRolesDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserRolesDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserRolesDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserRolesDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserThemeSetDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserThemeSetDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserUpdateDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserUpdateDto.java diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserUpdatePermissionsDto.java similarity index 100% rename from dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java rename to dbrepo-metadata-db/api/src/main/java/at/tuwien/oaipmh/api/user/UserUpdatePermissionsDto.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/Container.java similarity index 95% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/Container.java index bcbfa6aff0..57c6f1c352 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/Container.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/Container.java @@ -85,11 +85,11 @@ public class Container { private String ipAddress; @CreatedDate - @Column(nullable = false, updatable = false) + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") private Instant created; - @Column @LastModifiedDate + @Column(columnDefinition = "TIMESTAMP") private Instant lastModified; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImage.java similarity index 92% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImage.java index b359185f8a..9f0b884278 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImage.java @@ -47,7 +47,7 @@ public class ContainerImage { @Column private String hash; - @Column + @Column(columnDefinition = "TIMESTAMP") private Instant compiled; @Column @@ -69,12 +69,12 @@ public class ContainerImage { @OneToMany(fetch = FetchType.LAZY, mappedBy = "image") private List<Container> containers; - @Column(nullable = false, updatable = false) @CreatedDate + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") private Instant created; - @Column @LastModifiedDate + @Column(columnDefinition = "TIMESTAMP") private Instant lastModified; @PreRemove diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageDate.java similarity index 97% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageDate.java index b68947339e..a4e89cb1a7 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageDate.java @@ -50,7 +50,7 @@ public class ContainerImageDate { @CreatedDate @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC") - @Column(name = "created_at", nullable = false, updatable = false) + @Column(name = "created_at", nullable = false, updatable = false, columnDefinition = "TIMESTAMP") private Instant createdAt; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDateKey.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageDateKey.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDateKey.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageDateKey.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageEnvironmentItem.java similarity index 93% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageEnvironmentItem.java index f567bdd190..9b4e64a526 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItem.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageEnvironmentItem.java @@ -50,12 +50,12 @@ public class ContainerImageEnvironmentItem { }) private ContainerImage image; - @Column(nullable = false, updatable = false) @CreatedDate + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") private Instant created; - @Column @LastModifiedDate + @Column(columnDefinition = "TIMESTAMP") private Instant lastModified; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItemKey.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageEnvironmentItemKey.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItemKey.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageEnvironmentItemKey.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItemType.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageEnvironmentItemType.java similarity index 54% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItemType.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageEnvironmentItemType.java index b618cdd2ed..2136ba8059 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageEnvironmentItemType.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/container/image/ContainerImageEnvironmentItemType.java @@ -1,5 +1,8 @@ package at.tuwien.entities.container.image; public enum ContainerImageEnvironmentItemType { - USERNAME, PASSWORD, PRIVILEGED_USERNAME, PRIVILEGED_PASSWORD; + USERNAME, + PASSWORD, + PRIVILEGED_USERNAME, + PRIVILEGED_PASSWORD; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/AccessType.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/AccessType.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/AccessType.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/AccessType.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/Database.java similarity index 96% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/Database.java index 931638022d..14015d7944 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/Database.java @@ -111,12 +111,12 @@ public class Database implements Serializable { @Column(nullable = false) private Boolean isPublic; - @Column(nullable = false, updatable = false) @CreatedDate + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") private Instant created; - @Column @LastModifiedDate + @Column(columnDefinition = "TIMESTAMP") private Instant lastModified; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/DatabaseAccess.java similarity index 93% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/DatabaseAccess.java index b3e2790399..3c27dd1b56 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/DatabaseAccess.java @@ -2,7 +2,6 @@ package at.tuwien.entities.database; import at.tuwien.entities.user.User; import lombok.*; -import org.hibernate.annotations.Type; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; @@ -42,7 +41,7 @@ public class DatabaseAccess { @Enumerated(EnumType.STRING) private AccessType type; - @Column(nullable = false, updatable = false) + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") @CreatedDate private Instant created; diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/DatabaseAccessKey.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/DatabaseAccessKey.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/DatabaseAccessKey.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/DatabaseAccessKey.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/LanguageType.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/LanguageType.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/LanguageType.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/LanguageType.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/License.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/License.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/License.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/License.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/View.java similarity index 80% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/View.java index 552052c5d9..87cf2b1d7e 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/View.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/View.java @@ -20,9 +20,15 @@ import java.util.UUID; @ToString @AllArgsConstructor @NoArgsConstructor -@IdClass(ViewKey.class) +@IdClass(at.tuwien.entities.database.ViewKey.class) @EntityListeners(AuditingEntityListener.class) @jakarta.persistence.Table(name = "mdb_view") +@NamedQueries({ + @NamedQuery(name = "View.findAllPublicByDatabaseId", query = "select v from View v where v.database.id = ?1 and v.isPublic = true"), + @NamedQuery(name = "View.findAllPublicOrMineByDatabaseId", query = "select v from View v where v.database.id = ?1 and (v.isPublic = true or v.creator.username = ?2)"), + @NamedQuery(name = "View.findPublicByDatabaseIdAndId", query = "select v from View v where v.database.id = ?1 and v.id = ?2 and v.isPublic = true"), + @NamedQuery(name = "View.findPublicOrMineByDatabaseIdAndId", query = "select v from View v where v.database.id = ?1 and v.id = ?2 and (v.isPublic = true or v.creator.username = ?3)") +}) public class View { @Id @@ -53,7 +59,7 @@ public class View { @ToString.Exclude @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinColumn(name = "vdbid", insertable = false, updatable = false) - private Database database; + private at.tuwien.entities.database.Database database; @Column(name = "vname", nullable = false) private String name; @@ -103,12 +109,12 @@ public class View { @OrderColumn(name = "position") private List<TableColumn> columns; - @Column(nullable = false, updatable = false) @CreatedDate + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") private Instant created; - @Column @LastModifiedDate + @Column(columnDefinition = "TIMESTAMP") private Instant lastModified; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/ViewKey.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/ViewKey.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/ViewKey.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/ViewKey.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/Table.java similarity index 96% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/Table.java index c6784ed1b5..a6fe347eab 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/Table.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/Table.java @@ -78,12 +78,12 @@ public class Table { @Embedded private Constraints constraints; - @Column(nullable = false, updatable = false) @CreatedDate + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") private Instant created; - @Column @LastModifiedDate + @Column(columnDefinition = "TIMESTAMP") private Instant lastModified; @PreRemove diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/TableKey.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/TableKey.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/TableKey.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/TableKey.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumn.java similarity index 97% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumn.java index e90d48e921..8e5325a821 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumn.java @@ -6,7 +6,6 @@ import at.tuwien.entities.user.User; import lombok.*; import net.sf.jsqlparser.statement.select.SelectItem; import org.hibernate.annotations.GenericGenerator; -import org.hibernate.annotations.Type; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; @@ -14,7 +13,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; import jakarta.persistence.*;; import java.time.Instant; import java.util.List; -import java.util.UUID; @Data @Entity @@ -102,7 +100,7 @@ public class TableColumn implements Comparable<TableColumn> { @Column(nullable = false) private Integer ordinalPosition; - @Column(nullable = false, updatable = false) + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") @CreatedDate private Instant created; @@ -126,8 +124,8 @@ public class TableColumn implements Comparable<TableColumn> { inverseJoinColumns = @JoinColumn(name = "uri", referencedColumnName = "uri")) private TableColumnUnit unit; - @Column @LastModifiedDate + @Column(columnDefinition = "TIMESTAMP") private Instant lastModified; @Override diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnConcept.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumnConcept.java similarity index 94% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnConcept.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumnConcept.java index c90c1f9fef..0bb465af08 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnConcept.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumnConcept.java @@ -39,7 +39,7 @@ public class TableColumnConcept { }) private List<TableColumn> columns; - @Column(nullable = false, updatable = false) + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") @CreatedDate private Instant created; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnKey.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumnKey.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnKey.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumnKey.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnType.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumnType.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnType.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumnType.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnUnit.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumnUnit.java similarity index 94% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnUnit.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumnUnit.java index 2a64f611b2..455280a5f9 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnUnit.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/columns/TableColumnUnit.java @@ -39,7 +39,7 @@ public class TableColumnUnit { }) private List<TableColumn> columns; - @Column(nullable = false, updatable = false) + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") @CreatedDate private Instant created; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/Constraints.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/Constraints.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/Constraints.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/Constraints.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKey.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/foreignKey/ForeignKey.java similarity index 92% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKey.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/foreignKey/ForeignKey.java index af0b10ee74..e6daef3333 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKey.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/foreignKey/ForeignKey.java @@ -59,9 +59,11 @@ public class ForeignKey { @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.MERGE, mappedBy = "foreignKey") private List<ForeignKeyReference> references = new java.util.ArrayList<>(); - @Column + @Column(columnDefinition = "VARCHAR(50)") + @Enumerated(EnumType.STRING) private ReferenceType onUpdate; - @Column + @Column(columnDefinition = "VARCHAR(50)") + @Enumerated(EnumType.STRING) private ReferenceType onDelete; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKeyReference.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/foreignKey/ForeignKeyReference.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKeyReference.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/foreignKey/ForeignKeyReference.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ReferenceType.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/foreignKey/ReferenceType.java similarity index 81% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ReferenceType.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/foreignKey/ReferenceType.java index 9afc40853f..88be5c81aa 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ReferenceType.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/foreignKey/ReferenceType.java @@ -1,6 +1,5 @@ package at.tuwien.entities.database.table.constraints.foreignKey; -import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.ToString; diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/unique/Unique.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/unique/Unique.java similarity index 98% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/unique/Unique.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/unique/Unique.java index 792c57dbaa..0ae83427f4 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/constraints/unique/Unique.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/database/table/constraints/unique/Unique.java @@ -8,7 +8,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; import jakarta.persistence.*;; import java.util.List; -import java.util.Set; @Data @Entity diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/Creator.java similarity index 93% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/Creator.java index 91a68d69c8..a29ac15d37 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Creator.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/Creator.java @@ -3,14 +3,12 @@ package at.tuwien.entities.identifier; import at.tuwien.entities.user.User; import lombok.*; import org.hibernate.annotations.GenericGenerator; -import org.hibernate.annotations.Type; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import jakarta.persistence.*;; import java.time.Instant; -import java.util.UUID; @Data @Entity @@ -52,8 +50,8 @@ public class Creator { @JoinColumn(name = "pid", referencedColumnName = "id", insertable = false, updatable = false) private Identifier identifier; - @Column(nullable = false, updatable = false) @CreatedDate + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") private Instant created; @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @@ -62,8 +60,8 @@ public class Creator { }) private User creator; - @Column @LastModifiedDate + @Column(columnDefinition = "TIMESTAMP") private Instant lastModified; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/CreatorKey.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/CreatorKey.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/CreatorKey.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/CreatorKey.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/Identifier.java similarity index 95% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/Identifier.java index fd08d841d5..852dc067ce 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/Identifier.java @@ -86,7 +86,7 @@ public class Identifier implements Serializable { @Column private String resultHash; - @Column + @Column(updatable = false, columnDefinition = "TIMESTAMP") private Instant execution; @Column @@ -123,12 +123,12 @@ public class Identifier implements Serializable { @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "identifier") private List<Creator> creators; - @Column(nullable = false, updatable = false) @CreatedDate + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") private Instant created; - @Column @LastModifiedDate + @Column(columnDefinition = "TIMESTAMP") private Instant lastModified; @PreRemove diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/IdentifierType.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/IdentifierType.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/IdentifierType.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/IdentifierType.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/RelatedIdentifier.java similarity index 88% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/RelatedIdentifier.java index 47716154fe..bc658fc46a 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/RelatedIdentifier.java @@ -3,16 +3,12 @@ package at.tuwien.entities.identifier; import at.tuwien.entities.user.User; import lombok.*; import org.hibernate.annotations.GenericGenerator; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Type; -import org.hibernate.annotations.Where; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import jakarta.persistence.*;; import java.time.Instant; -import java.util.UUID; @Data @Entity @@ -56,12 +52,12 @@ public class RelatedIdentifier { }) private User creator; - @Column(nullable = false, updatable = false) @CreatedDate + @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") private Instant created; - @Column @LastModifiedDate + @Column(columnDefinition = "TIMESTAMP") private Instant lastModified; } diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifierKey.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/RelatedIdentifierKey.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifierKey.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/RelatedIdentifierKey.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedType.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/RelatedType.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelatedType.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/RelatedType.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelationType.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/RelationType.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/RelationType.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/RelationType.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/VisibilityType.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/VisibilityType.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/identifier/VisibilityType.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/identifier/VisibilityType.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/Credential.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/Credential.java similarity index 93% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/Credential.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/Credential.java index e4080c44cb..d0f10b62c4 100644 --- a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/Credential.java +++ b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/Credential.java @@ -1,8 +1,6 @@ package at.tuwien.entities.user; import lombok.*; -import org.hibernate.annotations.GenericGenerator; -import org.hibernate.annotations.Type; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import jakarta.persistence.*;; diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/Realm.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/Realm.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/Realm.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/Realm.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/Role.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/Role.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/Role.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/Role.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/RoleMapping.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/RoleMapping.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/RoleMapping.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/RoleMapping.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/RoleMappingKey.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/RoleMappingKey.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/RoleMappingKey.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/RoleMappingKey.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/User.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/User.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/User.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/User.java diff --git a/dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/UserAttribute.java b/dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/UserAttribute.java similarity index 100% rename from dbrepo-metadata-db/entities/src/main/java/at/tuwien/entities/user/UserAttribute.java rename to dbrepo-metadata-db/entities/src/main/java/at/tuwien/oaipmh/entities/user/UserAttribute.java diff --git a/dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiErrorType.java b/dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiErrorType.java similarity index 97% rename from dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiErrorType.java rename to dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiErrorType.java index cdad05572a..2fe750a9ad 100644 --- a/dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiErrorType.java +++ b/dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiErrorType.java @@ -1,4 +1,4 @@ -package at.tuwien; +package at.tuwien.oaipmh; import lombok.Getter; diff --git a/dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiListIdentifiersParameters.java b/dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiListIdentifiersParameters.java similarity index 98% rename from dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiListIdentifiersParameters.java rename to dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiListIdentifiersParameters.java index 0bb4b34d3b..f08b1f6868 100644 --- a/dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiListIdentifiersParameters.java +++ b/dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiListIdentifiersParameters.java @@ -1,4 +1,4 @@ -package at.tuwien; +package at.tuwien.oaipmh; import lombok.*; import org.apache.commons.lang3.StringUtils; diff --git a/dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiListRecordsParameters.java b/dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiListRecordsParameters.java similarity index 98% rename from dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiListRecordsParameters.java rename to dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiListRecordsParameters.java index 90df3384c6..0e540d7191 100644 --- a/dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiListRecordsParameters.java +++ b/dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiListRecordsParameters.java @@ -1,4 +1,4 @@ -package at.tuwien; +package at.tuwien.oaipmh; import lombok.*; import org.apache.commons.lang3.StringUtils; diff --git a/dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiRecordParameters.java b/dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiRecordParameters.java similarity index 77% rename from dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiRecordParameters.java rename to dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiRecordParameters.java index 6dcb5ec0d0..834a482885 100644 --- a/dbrepo-metadata-db/oai/src/main/java/at/tuwien/OaiRecordParameters.java +++ b/dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/OaiRecordParameters.java @@ -1,11 +1,6 @@ -package at.tuwien; +package at.tuwien.oaipmh; import lombok.*; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.time.DateUtils; - -import java.text.ParseException; -import java.util.Date; @Getter @Setter diff --git a/dbrepo-metadata-db/oai/src/main/java/at/tuwien/RequestParameters.java b/dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/RequestParameters.java similarity index 93% rename from dbrepo-metadata-db/oai/src/main/java/at/tuwien/RequestParameters.java rename to dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/RequestParameters.java index 1364e53798..3f3d9f1a04 100644 --- a/dbrepo-metadata-db/oai/src/main/java/at/tuwien/RequestParameters.java +++ b/dbrepo-metadata-db/oai/src/main/java/at/tuwien/oaipmh/RequestParameters.java @@ -1,4 +1,4 @@ -package at.tuwien; +package at.tuwien.oaipmh; import org.apache.commons.lang3.StringUtils; diff --git a/dbrepo-metadata-db/querystore/src/main/java/at/tuwien/querystore/Query.java b/dbrepo-metadata-db/querystore/src/main/java/at/tuwien/oaipmh/querystore/Query.java similarity index 100% rename from dbrepo-metadata-db/querystore/src/main/java/at/tuwien/querystore/Query.java rename to dbrepo-metadata-db/querystore/src/main/java/at/tuwien/oaipmh/querystore/Query.java diff --git a/dbrepo-metadata-db/setup-schema.sql b/dbrepo-metadata-db/setup-schema.sql index 9529463f24..eb7809d140 100644 --- a/dbrepo-metadata-db/setup-schema.sql +++ b/dbrepo-metadata-db/setup-schema.sql @@ -212,14 +212,14 @@ CREATE TABLE IF NOT EXISTS `fda`.`mdb_columns_cat` CREATE TABLE IF NOT EXISTS `fda`.`mdb_constraints_foreign_key` ( - fkid BIGINT NOT NULL AUTO_INCREMENT, - tid BIGINT NOT NULL, - tdbid BIGINT NOT NULL, - rtid BIGINT NOT NULL, - rtdbid BIGINT NOT NULL, - on_update INT NULL, - on_delete INT NULL, - position INT NULL, + fkid BIGINT NOT NULL AUTO_INCREMENT, + tid BIGINT NOT NULL, + tdbid BIGINT NOT NULL, + rtid BIGINT NOT NULL, + rtdbid BIGINT NOT NULL, + on_update VARCHAR(50) NULL, + on_delete VARCHAR(50) NULL, + position INT NULL, PRIMARY KEY (fkid), FOREIGN KEY (tid, tdbid) REFERENCES mdb_tables (id, tdbid), FOREIGN KEY (rtid, rtdbid) REFERENCES mdb_tables (id, tdbid) diff --git a/dbrepo-metadata-db/test/src/main/java/at/tuwien/config/DockerConfig.java b/dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/config/DockerConfig.java similarity index 100% rename from dbrepo-metadata-db/test/src/main/java/at/tuwien/config/DockerConfig.java rename to dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/config/DockerConfig.java diff --git a/dbrepo-metadata-db/test/src/main/java/at/tuwien/config/H2Utils.java b/dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/config/H2Utils.java similarity index 100% rename from dbrepo-metadata-db/test/src/main/java/at/tuwien/config/H2Utils.java rename to dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/config/H2Utils.java diff --git a/dbrepo-metadata-db/test/src/main/java/at/tuwien/config/MariaDbConfig.java b/dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/config/MariaDbConfig.java similarity index 100% rename from dbrepo-metadata-db/test/src/main/java/at/tuwien/config/MariaDbConfig.java rename to dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/config/MariaDbConfig.java diff --git a/dbrepo-metadata-db/test/src/main/java/at/tuwien/config/RabbitMqConfig.java b/dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/config/RabbitMqConfig.java similarity index 100% rename from dbrepo-metadata-db/test/src/main/java/at/tuwien/config/RabbitMqConfig.java rename to dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/config/RabbitMqConfig.java diff --git a/dbrepo-metadata-db/test/src/main/java/at/tuwien/test/BaseTest.java b/dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/test/BaseTest.java similarity index 100% rename from dbrepo-metadata-db/test/src/main/java/at/tuwien/test/BaseTest.java rename to dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/test/BaseTest.java diff --git a/dbrepo-metadata-db/test/src/main/java/at/tuwien/utils/AmqpUtils.java b/dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/utils/AmqpUtils.java similarity index 100% rename from dbrepo-metadata-db/test/src/main/java/at/tuwien/utils/AmqpUtils.java rename to dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/utils/AmqpUtils.java diff --git a/dbrepo-metadata-db/test/src/main/java/at/tuwien/utils/ArrayUtil.java b/dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/utils/ArrayUtil.java similarity index 100% rename from dbrepo-metadata-db/test/src/main/java/at/tuwien/utils/ArrayUtil.java rename to dbrepo-metadata-db/test/src/main/java/at/tuwien/oaipmh/utils/ArrayUtil.java diff --git a/dbrepo-metadata-service/Dockerfile b/dbrepo-metadata-service/Dockerfile index 2b70550e51..350d9af3cf 100644 --- a/dbrepo-metadata-service/Dockerfile +++ b/dbrepo-metadata-service/Dockerfile @@ -3,7 +3,8 @@ FROM dbrepo-metadata-db:latest as dependency MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> ###### SECOND STAGE ###### -FROM maven:slim as build +FROM maven:3-openjdk-17 as build +MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> COPY ./pom.xml ./ @@ -19,7 +20,10 @@ COPY ./report ./report RUN mvn -q clean package -DskipTests ###### THIRD STAGE ###### -FROM openjdk:11-jre-slim as runtime +FROM openjdk:17-alpine as runtime +MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> + +RUN apk --no-cache add bash ENV METADATA_DB=fda ENV METADATA_USERNAME=root diff --git a/dbrepo-metadata-service/pom.xml b/dbrepo-metadata-service/pom.xml index bc381a3a53..6c3514de1e 100644 --- a/dbrepo-metadata-service/pom.xml +++ b/dbrepo-metadata-service/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>2.3.10.RELEASE</version> + <version>3.0.6</version> </parent> <groupId>at.tuwien</groupId> @@ -36,17 +36,19 @@ </modules> <properties> - <java.version>11</java.version> - <spring-cloud.version>3.0.1</spring-cloud.version> - <mapstruct.version>1.4.2.Final</mapstruct.version> - <swagger.version>2.1.7</swagger.version> - <springfox.version>3.0.0</springfox.version> - <jacoco.version>0.8.7</jacoco.version> - <javax-ws-rs.version>2.1.1</javax-ws-rs.version> - <spring-saml.version>1.0.10.RELEASE</spring-saml.version> - <javax-rs.version>2.1.1</javax-rs.version> - <javax-mail.version>1.4.7</javax-mail.version> - <jwt.version>3.18.3</jwt.version> + <java.version>17</java.version> + <spring-cloud.version>4.0.2</spring-cloud.version> + <mapstruct.version>1.5.5.Final</mapstruct.version> + <docker.version>3.3.0</docker.version> + <swagger.version>2.2.9</swagger.version> + <jacoco.version>0.8.10</jacoco.version> + <jwt.version>4.3.0</jwt.version> + <hibernate-c3po.version>5.6.3.Final</hibernate-c3po.version> + <opencsv.version>5.7.1</opencsv.version> + <super-csv.version>2.4.0</super-csv.version> + <jsql.version>4.6</jsql.version> + <keycloak.version>21.0.2</keycloak.version> + <hibernate.version>6.2.2.Final</hibernate.version> </properties> <dependencies> @@ -122,7 +124,7 @@ <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${mapstruct.version}</version> - <optional>true</optional><!-- IntelliJ --> + <optional>true</optional> </dependency> <dependency> <groupId>org.mapstruct</groupId> @@ -130,11 +132,6 @@ <version>${mapstruct.version}</version> </dependency> <!-- Testing --> - <dependency> - <groupId>javax.ws.rs</groupId> - <artifactId>javax.ws.rs-api</artifactId> - <version>${javax-ws-rs.version}</version> - </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MetadataEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MetadataEndpoint.java index 728920ea26..8e226230ee 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MetadataEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MetadataEndpoint.java @@ -1,9 +1,9 @@ package at.tuwien.endpoints; -import at.tuwien.OaiErrorType; -import at.tuwien.OaiListIdentifiersParameters; -import at.tuwien.OaiRecordParameters; import at.tuwien.exception.IdentifierNotFoundException; +import at.tuwien.oaipmh.OaiErrorType; +import at.tuwien.oaipmh.OaiListIdentifiersParameters; +import at.tuwien.oaipmh.OaiRecordParameters; import at.tuwien.service.MetadataService; import io.micrometer.core.annotation.Timed; import io.swagger.v3.oas.annotations.Operation; diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MetadataEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MetadataEndpointUnitTest.java index 2a6d04fd7e..7a183b90e2 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MetadataEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MetadataEndpointUnitTest.java @@ -1,13 +1,10 @@ package at.tuwien.endpoints; import at.tuwien.BaseUnitTest; -import at.tuwien.OaiListIdentifiersParameters; -import at.tuwien.OaiRecordParameters; +import at.tuwien.oaipmh.OaiListIdentifiersParameters; +import at.tuwien.oaipmh.OaiRecordParameters; import at.tuwien.config.H2Utils; -import at.tuwien.entities.identifier.Identifier; -import at.tuwien.exception.IdentifierNotFoundException; import at.tuwien.repository.jpa.*; -import at.tuwien.service.IdentifierService; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -18,7 +15,6 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.test.context.support.WithAnonymousUser; -import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringExtension; import java.util.List; diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceIntegrationTest.java index 743505dfb6..d75d363cdd 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceIntegrationTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceIntegrationTest.java @@ -1,14 +1,13 @@ package at.tuwien.service; import at.tuwien.BaseUnitTest; -import at.tuwien.OaiErrorType; -import at.tuwien.OaiListIdentifiersParameters; -import at.tuwien.OaiRecordParameters; +import at.tuwien.oaipmh.OaiErrorType; +import at.tuwien.oaipmh.OaiListIdentifiersParameters; +import at.tuwien.oaipmh.OaiRecordParameters; import at.tuwien.config.H2Utils; import at.tuwien.exception.IdentifierNotFoundException; import at.tuwien.repository.jpa.*; import lombok.extern.log4j.Log4j2; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -17,10 +16,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringExtension; -import java.io.File; -import java.io.IOException; -import java.nio.charset.Charset; - import static org.junit.jupiter.api.Assertions.*; @Log4j2 diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java index fba7f99cf2..c4944a4691 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java @@ -19,7 +19,6 @@ public class JacksonConfig { @Bean public ObjectMapper objectMapper() throws JsonProcessingException { final ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.findAndRegisterModules(); objectMapper.registerModule(new Jdk8Module()); objectMapper.registerModule(new JavaTimeModule()); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/TemplateConfig.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/TemplateConfig.java index c2d1721c0c..d38f17c6cb 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/TemplateConfig.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/TemplateConfig.java @@ -2,7 +2,7 @@ package at.tuwien.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.thymeleaf.spring5.SpringTemplateEngine; +import org.thymeleaf.spring6.SpringTemplateEngine; import org.thymeleaf.templatemode.TemplateMode; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java index 83d5aa0284..83313bfc8b 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java @@ -6,21 +6,21 @@ import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.web.SecurityFilterChain; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) -public class WebSecurityConfig extends WebSecurityConfigurerAdapter { +public class WebSecurityConfig { - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { /* enable CORS and disable CSRF */ http = http.cors().and().csrf().disable(); /* set session management to stateless */ @@ -41,15 +41,16 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { /* set permissions on endpoints */ http.authorizeRequests() /* our internal endpoints */ - .antMatchers(HttpMethod.GET, "/actuator/prometheus/**").permitAll() + .requestMatchers(HttpMethod.GET, "/actuator/prometheus/**").permitAll() /* our public endpoints */ - .antMatchers(HttpMethod.GET, "/api/oai/**").permitAll() - .antMatchers("/v3/api-docs.yaml", + .requestMatchers(HttpMethod.GET, "/api/oai/**").permitAll() + .requestMatchers("/v3/api-docs.yaml", "/v3/api-docs/**", "/swagger-ui/**", "/swagger-ui.html").permitAll() /* our private endpoints */ .anyRequest().authenticated(); + return http.build(); } @Bean diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/MetadataService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/MetadataService.java index 43c3d8dfb5..8a2d8add44 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/MetadataService.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/MetadataService.java @@ -1,9 +1,9 @@ package at.tuwien.service; -import at.tuwien.OaiErrorType; -import at.tuwien.OaiListIdentifiersParameters; -import at.tuwien.OaiRecordParameters; import at.tuwien.exception.IdentifierNotFoundException; +import at.tuwien.oaipmh.OaiErrorType; +import at.tuwien.oaipmh.OaiListIdentifiersParameters; +import at.tuwien.oaipmh.OaiRecordParameters; public interface MetadataService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java index 78a089213a..9b42e5af52 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java @@ -1,8 +1,8 @@ package at.tuwien.service.impl; -import at.tuwien.OaiErrorType; -import at.tuwien.OaiListIdentifiersParameters; -import at.tuwien.OaiRecordParameters; +import at.tuwien.oaipmh.OaiErrorType; +import at.tuwien.oaipmh.OaiListIdentifiersParameters; +import at.tuwien.oaipmh.OaiRecordParameters; import at.tuwien.config.MetadataConfig; import at.tuwien.entities.identifier.Identifier; import at.tuwien.exception.IdentifierNotFoundException; diff --git a/dbrepo-query-service/Dockerfile b/dbrepo-query-service/Dockerfile index 3a174106da..c65fdc6dd3 100644 --- a/dbrepo-query-service/Dockerfile +++ b/dbrepo-query-service/Dockerfile @@ -3,7 +3,8 @@ FROM dbrepo-metadata-db:latest as dependency MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> ###### SECOND STAGE ###### -FROM maven:slim as build +FROM maven:3-openjdk-17 as build +MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> COPY ./pom.xml ./ @@ -20,7 +21,10 @@ COPY ./api ./api RUN mvn -q clean package -DskipTests ###### THIRD STAGE ###### -FROM openjdk:11-jre-slim as runtime +FROM openjdk:17-alpine as runtime +MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> + +RUN apk --no-cache add bash ENV METADATA_DB=fda ENV METADATA_USERNAME=root diff --git a/dbrepo-query-service/pom.xml b/dbrepo-query-service/pom.xml index 075f7d868a..c533f3b2b8 100644 --- a/dbrepo-query-service/pom.xml +++ b/dbrepo-query-service/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>2.3.10.RELEASE</version> + <version>3.0.6</version> </parent> <groupId>at.tuwien</groupId> @@ -40,25 +40,20 @@ </modules> <properties> - <java.version>11</java.version> - <spring-cloud.version>3.0.1</spring-cloud.version> - <mapstruct.version>1.4.2.Final</mapstruct.version> - <docker.version>3.2.7</docker.version> - <testcontainers.version>1.15.2</testcontainers.version> - <swagger.version>2.1.7</swagger.version> - <springfox.version>3.0.0</springfox.version> - <jacoco.version>0.8.7</jacoco.version> - <opencsv.version>5.4</opencsv.version> - <hibernate-c3po.version>5.6.3.Final</hibernate-c3po.version> - <maven-report.version>3.0.0</maven-report.version> + <java.version>17</java.version> + <spring-cloud.version>4.0.2</spring-cloud.version> + <mapstruct.version>1.5.5.Final</mapstruct.version> + <docker.version>3.3.0</docker.version> + <swagger.version>2.2.9</swagger.version> + <jacoco.version>0.8.10</jacoco.version> <jwt.version>4.3.0</jwt.version> + <opencsv.version>5.7.1</opencsv.version> + <jsql.version>4.6</jsql.version> + <c3p0.version>0.9.5.5</c3p0.version> + <c3p0-hibernate.version>6.2.2.Final</c3p0-hibernate.version> </properties> <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-webflux</artifactId> - </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> @@ -91,7 +86,6 @@ <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> - <version>${project.version}</version> <scope>test</scope> </dependency> <dependency> @@ -111,6 +105,16 @@ <scope>runtime</scope> </dependency> <!-- Data Source --> + <dependency> + <groupId>com.mchange</groupId> + <artifactId>c3p0</artifactId> + <version>${c3p0.version}</version> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-c3p0</artifactId> + <version>${c3p0-hibernate.version}</version> + </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> @@ -148,12 +152,6 @@ <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> - <!-- TODO: do we really need this? --> - <dependency> - <groupId>org.apache.tomcat</groupId> - <artifactId>tomcat-dbcp</artifactId> - <version>9.0.33</version> - </dependency> <!-- Entity, API, QueryStore --> <dependency> <groupId>at.tuwien</groupId> @@ -173,11 +171,6 @@ <version>${project.version}</version> <scope>compile</scope> </dependency> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-c3p0</artifactId> - <version>${hibernate-c3po.version}</version> - </dependency> <!-- Testing --> <dependency> <groupId>org.springframework.boot</groupId> @@ -190,11 +183,6 @@ </exclusion> </exclusions> </dependency> - <dependency> - <groupId>org.springframework.security</groupId> - <artifactId>spring-security-test</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> @@ -234,18 +222,7 @@ <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> - <version>3.1</version> - </dependency> - <!-- Gateway --> - <dependency> - <groupId>org.projectreactor</groupId> - <artifactId>reactor-spring</artifactId> - <version>1.0.1.RELEASE</version> - </dependency> - <dependency> - <groupId>javax.ws.rs</groupId> - <artifactId>javax.ws.rs-api</artifactId> - <version>2.1.1</version> + <version>${jsql.version}</version> </dependency> </dependencies> diff --git a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/ExportEndpoint.java b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/ExportEndpoint.java index 8e683d4348..d052feb732 100644 --- a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/ExportEndpoint.java +++ b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/ExportEndpoint.java @@ -13,11 +13,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.InputStreamResource; import org.springframework.http.HttpHeaders; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.Authentication; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.security.Principal; import java.time.Instant; diff --git a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/QueryEndpoint.java b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/QueryEndpoint.java index fb3b7209d0..c5d30f6dac 100644 --- a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/QueryEndpoint.java +++ b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/QueryEndpoint.java @@ -21,8 +21,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.security.Principal; diff --git a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/StoreEndpoint.java b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/StoreEndpoint.java index 29830f33a7..14e3548dd4 100644 --- a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/StoreEndpoint.java +++ b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/StoreEndpoint.java @@ -28,7 +28,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.security.Principal; import java.util.List; import java.util.Optional; diff --git a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/TableDataEndpoint.java b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/TableDataEndpoint.java index f53f5d4897..e0ad8ea8d8 100644 --- a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/TableDataEndpoint.java +++ b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/TableDataEndpoint.java @@ -21,8 +21,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.security.Principal; import java.time.Instant; diff --git a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/TableHistoryEndpoint.java b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/TableHistoryEndpoint.java index b8b4f03dac..0933749a0e 100644 --- a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/TableHistoryEndpoint.java +++ b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/TableHistoryEndpoint.java @@ -2,7 +2,6 @@ package at.tuwien.endpoint; import at.tuwien.api.database.table.TableHistoryDto; import at.tuwien.api.error.ApiErrorDto; -import at.tuwien.config.QueryConfig; import at.tuwien.exception.*; import at.tuwien.service.*; import io.micrometer.core.annotation.Timed; @@ -15,11 +14,10 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.security.Principal; import java.util.List; diff --git a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/ViewEndpoint.java b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/ViewEndpoint.java index 20d93d7077..8a7001f019 100644 --- a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/ViewEndpoint.java +++ b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/endpoint/ViewEndpoint.java @@ -27,8 +27,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.security.Principal; import java.util.List; import java.util.stream.Collectors; diff --git a/dbrepo-query-service/rest-service/src/main/resources/application-local.yml b/dbrepo-query-service/rest-service/src/main/resources/application-local.yml index 6c5301a54a..3c064e2b4f 100644 --- a/dbrepo-query-service/rest-service/src/main/resources/application-local.yml +++ b/dbrepo-query-service/rest-service/src/main/resources/application-local.yml @@ -25,12 +25,12 @@ spring: virtual-host: dbrepo username: fda password: fda + elasticsearch: + password: elastic + username: elastic + uris: http://localhost:9200 cloud: loadbalancer.ribbon.enabled: false - gateway: - httpclient: - ssl: - useInsecureTrustManager: true management.endpoints.web.exposure.include: health,info,prometheus server: port: 9093 @@ -50,7 +50,3 @@ fda: client_id: dbrepo-client consumers: 2 unsupported: \*,AVG,BIT_AND,BIT_OR,BIT_XOR,COUNT,COUNTDISTINCT,GROUP_CONCAT,JSON_ARRAYAGG,JSON_OBJECTAGG,MAX,MIN,STD,STDDEV,STDDEV_POP,STDDEV_SAMP,SUM,VARIANCE,VAR_POP,VAR_SAMP,-- - elastic: - endpoint: localhost:9200 - username: elastic - password: elastic \ No newline at end of file diff --git a/dbrepo-query-service/rest-service/src/main/resources/application.yml b/dbrepo-query-service/rest-service/src/main/resources/application.yml index fddbe70d04..2dafd0f281 100644 --- a/dbrepo-query-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-query-service/rest-service/src/main/resources/application.yml @@ -25,6 +25,10 @@ spring: virtual-host: dbrepo username: "${BROKER_USERNAME}" password: "${BROKER_PASSWORD}" + elasticsearch: + password: "${ELASTIC_PASSWORD}" + username: elastic + uris: http://search-service:9200 cloud: loadbalancer.ribbon.enabled: false management.endpoints.web.exposure.include: health,info,prometheus @@ -46,7 +50,3 @@ fda: client_id: "${CLIENT_ID}" consumers: "${BROKER_CONSUMERS}" unsupported: "${NOT_SUPPORTED_KEYWORDS}" - elastic: - endpoint: search-service:9200 - username: elastic - password: "${ELASTIC_PASSWORD}" diff --git a/dbrepo-query-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java b/dbrepo-query-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java index b2b01c42ee..92b60f4f8a 100644 --- a/dbrepo-query-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java +++ b/dbrepo-query-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java @@ -6,6 +6,10 @@ import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -16,10 +20,6 @@ import org.springframework.security.web.authentication.WebAuthenticationDetailsS import org.springframework.util.StringUtils; import org.springframework.web.filter.OncePerRequestFilter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.security.KeyFactory; import java.security.NoSuchAlgorithmException; diff --git a/dbrepo-query-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java b/dbrepo-query-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java index b8de474aed..58079c0b9c 100644 --- a/dbrepo-query-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java +++ b/dbrepo-query-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java @@ -1,38 +1,45 @@ package at.tuwien.config; -import org.elasticsearch.client.RestHighLevelClient; +import co.elastic.clients.elasticsearch.ElasticsearchClient; +import co.elastic.clients.json.jackson.JacksonJsonpMapper; +import co.elastic.clients.transport.ElasticsearchTransport; +import co.elastic.clients.transport.rest_client.RestClientTransport; +import lombok.extern.log4j.Log4j2; +import org.apache.http.HttpHost; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; +import org.apache.http.impl.client.BasicCredentialsProvider; +import org.elasticsearch.client.RestClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.data.elasticsearch.client.ClientConfiguration; -import org.springframework.data.elasticsearch.client.RestClients; -import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; +@Log4j2 @Configuration public class ElasticsearchConfig { - @Value("${fda.elastic.endpoint}") + @Value("${spring.elasticsearch.uris}") private String elasticEndpoint; - @Value("${fda.elastic.username}") + @Value("${spring.elasticsearch.username}") private String elasticUsername; - @Value("${fda.elastic.password}") + @Value("${spring.elasticsearch.password}") private String elasticPassword; @Bean - public RestHighLevelClient client() { - ClientConfiguration clientConfiguration = ClientConfiguration.builder() - .connectedTo(elasticEndpoint) - .withBasicAuth(elasticUsername, elasticPassword) + public ElasticsearchClient elasticsearchClient() { + log.debug("elastic endpoint={}", elasticEndpoint); + final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); + credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(elasticUsername, elasticPassword)); + final RestClient restClient = RestClient.builder(HttpHost.create(elasticEndpoint)) + .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder + .setDefaultCredentialsProvider(credentialsProvider)) .build(); - - return RestClients.create(clientConfiguration).rest(); + ElasticsearchTransport transport = new RestClientTransport( + restClient, new JacksonJsonpMapper()); + return new ElasticsearchClient(transport); } - @Bean - public ElasticsearchOperations elasticsearchTemplate() { - return new ElasticsearchRestTemplate(client()); - } } \ No newline at end of file diff --git a/dbrepo-query-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-query-service/services/src/main/java/at/tuwien/config/JacksonConfig.java index fba7f99cf2..c4944a4691 100644 --- a/dbrepo-query-service/services/src/main/java/at/tuwien/config/JacksonConfig.java +++ b/dbrepo-query-service/services/src/main/java/at/tuwien/config/JacksonConfig.java @@ -19,7 +19,6 @@ public class JacksonConfig { @Bean public ObjectMapper objectMapper() throws JsonProcessingException { final ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.findAndRegisterModules(); objectMapper.registerModule(new Jdk8Module()); objectMapper.registerModule(new JavaTimeModule()); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); diff --git a/dbrepo-query-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java b/dbrepo-query-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java index 22586fb23b..b61e8d13bf 100644 --- a/dbrepo-query-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java +++ b/dbrepo-query-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java @@ -9,14 +9,14 @@ import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; @Configuration @EnableWebSecurity @@ -27,15 +27,15 @@ import javax.servlet.http.HttpServletResponse; bearerFormat = "JWT", scheme = "bearer" ) -public class WebSecurityConfig extends WebSecurityConfigurerAdapter { +public class WebSecurityConfig { @Bean public AuthTokenFilter authTokenFilter() { return new AuthTokenFilter(); } - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { /* enable CORS and disable CSRF */ http = http.cors().and().csrf().disable(); /* set session management to stateless */ @@ -56,17 +56,17 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { /* set permissions on endpoints */ http.authorizeRequests() /* our internal endpoints */ - .antMatchers(HttpMethod.GET, "/actuator/prometheus/**").permitAll() + .requestMatchers(HttpMethod.GET, "/actuator/prometheus/**").permitAll() /* our public endpoints */ - .antMatchers(HttpMethod.GET, "/api/container/**/database/data/**").permitAll() - .antMatchers(HttpMethod.GET, "/api/container/**/database/**/table/**/data/**").permitAll() - .antMatchers(HttpMethod.GET, "/api/container/**/database/**/view/**").permitAll() - .antMatchers(HttpMethod.GET, "/api/container/**/database/**/table/**/history/**").permitAll() - .antMatchers(HttpMethod.GET, "/api/container/**/database/**/table/**/export/**").permitAll() - .antMatchers(HttpMethod.GET, "/api/container/**/database/**/query/**").permitAll() - .antMatchers(HttpMethod.GET, "/api/container/**/database/**/query/**/export").permitAll() - .antMatchers(HttpMethod.PUT, "/api/container/**/database/**/query/**").permitAll() - .antMatchers("/v3/api-docs.yaml", + .requestMatchers(HttpMethod.GET, "/api/container/**/database/data/**").permitAll() + .requestMatchers(HttpMethod.GET, "/api/container/**/database/**/table/**/data/**").permitAll() + .requestMatchers(HttpMethod.GET, "/api/container/**/database/**/view/**").permitAll() + .requestMatchers(HttpMethod.GET, "/api/container/**/database/**/table/**/history/**").permitAll() + .requestMatchers(HttpMethod.GET, "/api/container/**/database/**/table/**/export/**").permitAll() + .requestMatchers(HttpMethod.GET, "/api/container/**/database/**/query/**").permitAll() + .requestMatchers(HttpMethod.GET, "/api/container/**/database/**/query/**/export").permitAll() + .requestMatchers(HttpMethod.PUT, "/api/container/**/database/**/query/**").permitAll() + .requestMatchers("/v3/api-docs.yaml", "/v3/api-docs/**", "/swagger-ui/**", "/swagger-ui.html").permitAll() @@ -76,6 +76,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { http.addFilterBefore(authTokenFilter(), UsernamePasswordAuthenticationFilter.class ); + return http.build(); } @Bean diff --git a/dbrepo-query-service/services/src/main/java/at/tuwien/repository/jpa/ViewRepository.java b/dbrepo-query-service/services/src/main/java/at/tuwien/repository/jpa/ViewRepository.java index 01e2c9fa3c..3f5c2ac7c4 100644 --- a/dbrepo-query-service/services/src/main/java/at/tuwien/repository/jpa/ViewRepository.java +++ b/dbrepo-query-service/services/src/main/java/at/tuwien/repository/jpa/ViewRepository.java @@ -12,23 +12,13 @@ import java.util.Optional; @Repository public interface ViewRepository extends JpaRepository<View, Long> { - @Query("select v from View v where v.database.id = :databaseId") - List<View> findAllByDatabaseId(@Param("databaseId") Long databaseId); + List<View> findAllPublicByDatabaseId(Long databaseId); - @Query("select v from View v where v.database.id = :databaseId and v.isPublic is true") - List<View> findAllPublicByDatabaseId(@Param("databaseId") Long databaseId); + List<View> findAllPublicOrMineByDatabaseId(Long databaseId, String username); - @Query("select v from View v where v.database.id = :databaseId and (v.isPublic is true or v.creator.username = :username)") - List<View> findAllPublicOrMineByDatabaseId(@Param("databaseId") Long databaseId, @Param("username") String username); + Optional<View> findPublicByDatabaseIdAndId(Long databaseId, Long id); - @Query("select v from View v where v.database.id = :databaseId and v.id = :id") - Optional<View> findByDatabaseIdAndId(@Param("databaseId") Long databaseId, @Param("id") Long id); - - @Query("select v from View v where v.database.id = :databaseId and v.id = :id and v.isPublic is true") - Optional<View> findPublicByDatabaseIdAndId(@Param("databaseId") Long databaseId, @Param("id") Long id); - - @Query("select v from View v where v.database.id = :databaseId and v.id = :id and (v.isPublic is true or v.creator.username = :username)") - Optional<View> findPublicOrMineByDatabaseIdAndId(@Param("databaseId") Long databaseId, @Param("id") Long id, @Param("username") String username); + Optional<View> findPublicOrMineByDatabaseIdAndId(Long databaseId, Long id, String username); } diff --git a/dbrepo-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java b/dbrepo-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java index 536aff8f66..d1d1094578 100644 --- a/dbrepo-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java +++ b/dbrepo-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java @@ -25,7 +25,7 @@ import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.select.*; import org.apache.commons.io.FileUtils; -import org.apache.commons.lang.RandomStringUtils; +import org.apache.commons.lang3.RandomStringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.InputStreamResource; import org.springframework.stereotype.Service; diff --git a/dbrepo-table-service/Dockerfile b/dbrepo-table-service/Dockerfile index e8a948adf8..fd41da1447 100644 --- a/dbrepo-table-service/Dockerfile +++ b/dbrepo-table-service/Dockerfile @@ -3,7 +3,8 @@ FROM dbrepo-metadata-db:latest as dependency MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> ###### SECOND STAGE ###### -FROM maven:slim as build +FROM maven:3-openjdk-17 as build +MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> COPY ./pom.xml ./ @@ -19,7 +20,10 @@ COPY ./report ./report RUN mvn -q clean package -DskipTests ###### THIRD STAGE ###### -FROM openjdk:11-jre-slim as runtime +FROM openjdk:17-alpine as runtime +MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> + +RUN apk --no-cache add bash ENV METADATA_DB=fda ENV METADATA_USERNAME=root diff --git a/dbrepo-table-service/pom.xml b/dbrepo-table-service/pom.xml index 46fde5c050..d82996f45d 100644 --- a/dbrepo-table-service/pom.xml +++ b/dbrepo-table-service/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>2.3.10.RELEASE</version> + <version>3.0.6</version> </parent> <groupId>at.tuwien</groupId> @@ -22,26 +22,21 @@ </modules> <properties> - <java.version>11</java.version> - <spring-cloud.version>3.0.1</spring-cloud.version> - <mapstruct.version>1.4.2.Final</mapstruct.version> - <docker.version>3.2.7</docker.version> - <testcontainers.version>1.15.2</testcontainers.version> - <jacoco.version>0.8.7</jacoco.version> - <opencsv.version>5.4</opencsv.version> - <super-csv.version>2.4.0</super-csv.version> - <btrace-client.version>2.2.0</btrace-client.version> - <random-utils.version>2.0.0</random-utils.version> - <hibernate-c3po.version>5.6.3.Final</hibernate-c3po.version> - <jsql.version>3.1</jsql.version> + <java.version>17</java.version> + <spring-cloud.version>4.0.2</spring-cloud.version> + <mapstruct.version>1.5.5.Final</mapstruct.version> + <docker.version>3.3.0</docker.version> + <swagger.version>2.2.9</swagger.version> + <jacoco.version>0.8.10</jacoco.version> <jwt.version>4.3.0</jwt.version> + <opencsv.version>5.7.1</opencsv.version> + <super-csv.version>2.4.0</super-csv.version> + <jsql.version>4.6</jsql.version> + <c3p0.version>0.9.5.5</c3p0.version> + <c3p0-hibernate.version>6.2.2.Final</c3p0-hibernate.version> </properties> <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-webflux</artifactId> - </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> @@ -97,16 +92,21 @@ <version>${project.version}</version> <scope>compile</scope> </dependency> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-c3p0</artifactId> - <version>${hibernate-c3po.version}</version> - </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- DataSource --> + <dependency> + <groupId>com.mchange</groupId> + <artifactId>c3p0</artifactId> + <version>${c3p0.version}</version> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-c3p0</artifactId> + <version>${c3p0-hibernate.version}</version> + </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-elasticsearch</artifactId> @@ -116,11 +116,6 @@ <artifactId>mariadb-java-client</artifactId> <version>${mariadb.version}</version> </dependency> - <dependency> - <groupId>mysql</groupId> - <artifactId>mysql-connector-java</artifactId> - <version>${mysql.version}</version> - </dependency> <!-- SQL Parser --> <dependency> <groupId>com.github.jsqlparser</groupId> @@ -134,11 +129,6 @@ <artifactId>super-csv</artifactId> <version>${super-csv.version}</version> </dependency> - <dependency> - <groupId>io.btrace</groupId> - <artifactId>btrace-client</artifactId> - <version>${btrace-client.version}</version> - </dependency> <!-- AMPQ --> <dependency> <groupId>com.rabbitmq</groupId> @@ -171,12 +161,6 @@ <artifactId>dbrepo-metadata-db-test</artifactId> <version>${project.version}</version> </dependency> - <!-- DTO --> - <dependency> - <groupId>com.opencsv</groupId> - <artifactId>opencsv</artifactId> - <version>${opencsv.version}</version> - </dependency> <!-- IDE --> <dependency> <groupId>org.projectlombok</groupId> diff --git a/dbrepo-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableColumnEndpoint.java b/dbrepo-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableColumnEndpoint.java index 73df4fddb4..9127764b70 100644 --- a/dbrepo-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableColumnEndpoint.java +++ b/dbrepo-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableColumnEndpoint.java @@ -22,8 +22,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.security.Principal; @Log4j2 diff --git a/dbrepo-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java b/dbrepo-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java index f142018b3e..a028e5da8f 100644 --- a/dbrepo-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java +++ b/dbrepo-table-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java @@ -2,12 +2,9 @@ package at.tuwien.endpoints; import at.tuwien.api.database.table.*; import at.tuwien.api.error.ApiErrorDto; -import at.tuwien.entities.database.Database; import at.tuwien.entities.database.table.Table; -import at.tuwien.entities.user.User; import at.tuwien.exception.*; import at.tuwien.mapper.TableMapper; -import at.tuwien.service.DatabaseService; import at.tuwien.service.MessageQueueService; import at.tuwien.service.TableService; import at.tuwien.validation.EndpointValidator; @@ -26,8 +23,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.security.Principal; import java.util.List; import java.util.stream.Collectors; diff --git a/dbrepo-table-service/rest-service/src/main/resources/application-local.yml b/dbrepo-table-service/rest-service/src/main/resources/application-local.yml index 5dc69ea202..2df732e702 100644 --- a/dbrepo-table-service/rest-service/src/main/resources/application-local.yml +++ b/dbrepo-table-service/rest-service/src/main/resources/application-local.yml @@ -25,6 +25,10 @@ spring: virtual-host: dbrepo username: fda password: fda + elasticsearch: + password: elastic + username: elastic + uris: http://localhost:9200 cloud: loadbalancer.ribbon.enabled: false management.endpoints.web.exposure.include: health,info,prometheus @@ -43,8 +47,4 @@ fda: public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB client_secret: client-secret client_id: dbrepo-client - gateway.endpoint: https://localhost - elastic: - endpoint: localhost:9200 - username: elastic - password: elastic \ No newline at end of file + gateway.endpoint: https://localhost \ No newline at end of file diff --git a/dbrepo-table-service/rest-service/src/main/resources/application.yml b/dbrepo-table-service/rest-service/src/main/resources/application.yml index d3270999d1..d608f70ae1 100644 --- a/dbrepo-table-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-table-service/rest-service/src/main/resources/application.yml @@ -25,6 +25,10 @@ spring: virtual-host: dbrepo username: "${BROKER_USERNAME}" password: "${BROKER_PASSWORD}" + elasticsearch: + password: "${ELASTIC_PASSWORD}" + username: elastic + uris: http://search-service:9200 cloud: loadbalancer.ribbon.enabled: false management.endpoints.web.exposure.include: health,info,prometheus @@ -43,8 +47,4 @@ fda: public_key: "${JWT_PUBKEY}" client_secret: "${DBREPO_CLIENT_SECRET}" client_id: "${CLIENT_ID}" - gateway.endpoint: https://gateway-service - elastic: - endpoint: search-service:9200 - username: elastic - password: "${ELASTIC_PASSWORD}" \ No newline at end of file + gateway.endpoint: https://gateway-service \ No newline at end of file diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java b/dbrepo-table-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java index b2b01c42ee..92b60f4f8a 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java @@ -6,6 +6,10 @@ import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -16,10 +20,6 @@ import org.springframework.security.web.authentication.WebAuthenticationDetailsS import org.springframework.util.StringUtils; import org.springframework.web.filter.OncePerRequestFilter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.security.KeyFactory; import java.security.NoSuchAlgorithmException; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java b/dbrepo-table-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java index 1f447e2c83..58079c0b9c 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java @@ -1,42 +1,45 @@ package at.tuwien.config; -import org.elasticsearch.client.RestHighLevelClient; +import co.elastic.clients.elasticsearch.ElasticsearchClient; +import co.elastic.clients.json.jackson.JacksonJsonpMapper; +import co.elastic.clients.transport.ElasticsearchTransport; +import co.elastic.clients.transport.rest_client.RestClientTransport; +import lombok.extern.log4j.Log4j2; +import org.apache.http.HttpHost; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; +import org.apache.http.impl.client.BasicCredentialsProvider; +import org.elasticsearch.client.RestClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; -import org.springframework.data.elasticsearch.client.ClientConfiguration; -import org.springframework.data.elasticsearch.client.RestClients; -import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; -import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; - -import java.util.Properties; +@Log4j2 @Configuration public class ElasticsearchConfig { - @Value("${fda.elastic.endpoint}") + @Value("${spring.elasticsearch.uris}") private String elasticEndpoint; - @Value("${fda.elastic.username}") + @Value("${spring.elasticsearch.username}") private String elasticUsername; - @Value("${fda.elastic.password}") + @Value("${spring.elasticsearch.password}") private String elasticPassword; @Bean - public RestHighLevelClient client() { - ClientConfiguration clientConfiguration = ClientConfiguration.builder() - .connectedTo(elasticEndpoint) - .withBasicAuth(elasticUsername, elasticPassword) + public ElasticsearchClient elasticsearchClient() { + log.debug("elastic endpoint={}", elasticEndpoint); + final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); + credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(elasticUsername, elasticPassword)); + final RestClient restClient = RestClient.builder(HttpHost.create(elasticEndpoint)) + .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder + .setDefaultCredentialsProvider(credentialsProvider)) .build(); - - return RestClients.create(clientConfiguration).rest(); + ElasticsearchTransport transport = new RestClientTransport( + restClient, new JacksonJsonpMapper()); + return new ElasticsearchClient(transport); } - @Bean - public ElasticsearchOperations elasticsearchTemplate() { - return new ElasticsearchRestTemplate(client()); - } } \ No newline at end of file diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-table-service/services/src/main/java/at/tuwien/config/JacksonConfig.java index fba7f99cf2..c4944a4691 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/config/JacksonConfig.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/config/JacksonConfig.java @@ -19,7 +19,6 @@ public class JacksonConfig { @Bean public ObjectMapper objectMapper() throws JsonProcessingException { final ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.findAndRegisterModules(); objectMapper.registerModule(new Jdk8Module()); objectMapper.registerModule(new JavaTimeModule()); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java b/dbrepo-table-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java index be46fcc18b..afc03f2c89 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java @@ -9,14 +9,14 @@ import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; @Configuration @EnableWebSecurity @@ -27,15 +27,15 @@ import javax.servlet.http.HttpServletResponse; bearerFormat = "JWT", scheme = "bearer" ) -public class WebSecurityConfig extends WebSecurityConfigurerAdapter { +public class WebSecurityConfig { @Bean public AuthTokenFilter authTokenFilter() { return new AuthTokenFilter(); } - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { /* enable CORS and disable CSRF */ http = http.cors().and().csrf().disable(); /* set session management to stateless */ @@ -56,10 +56,10 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { /* set permissions on endpoints */ http.authorizeRequests() /* our internal endpoints */ - .antMatchers(HttpMethod.GET, "/actuator/prometheus/**").permitAll() + .requestMatchers(HttpMethod.GET, "/actuator/prometheus/**").permitAll() /* our public endpoints */ - .antMatchers(HttpMethod.GET, "/api/container/**/database/**/table/**").permitAll() - .antMatchers("/v3/api-docs.yaml", + .requestMatchers(HttpMethod.GET, "/api/container/**/database/**/table/**").permitAll() + .requestMatchers("/v3/api-docs.yaml", "/v3/api-docs/**", "/swagger-ui/**", "/swagger-ui.html").permitAll() @@ -69,6 +69,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { http.addFilterBefore(authTokenFilter(), UsernamePasswordAuthenticationFilter.class ); + return http.build(); } @Bean diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/service/MessageQueueService.java b/dbrepo-table-service/services/src/main/java/at/tuwien/service/MessageQueueService.java index c8ef46283e..8c34a8a021 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/service/MessageQueueService.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/service/MessageQueueService.java @@ -2,13 +2,12 @@ package at.tuwien.service; import at.tuwien.entities.database.table.Table; import at.tuwien.exception.AmqpException; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.PostConstruct; -import java.io.IOException; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.event.EventListener; public interface MessageQueueService { + @EventListener(ApplicationReadyEvent.class) void init() throws AmqpException; /** diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/HibernateConnector.java b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/HibernateConnector.java index 7d19c48e1c..3656f0a6ef 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/HibernateConnector.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/HibernateConnector.java @@ -5,13 +5,10 @@ import at.tuwien.entities.container.image.ContainerImage; import at.tuwien.entities.container.image.ContainerImageEnvironmentItem; import at.tuwien.entities.container.image.ContainerImageEnvironmentItemType; import at.tuwien.entities.database.Database; -import at.tuwien.exception.DatabaseConnectionException; import com.mchange.v2.c3p0.ComboPooledDataSource; import lombok.extern.log4j.Log4j2; import org.springframework.stereotype.Service; -import java.sql.Connection; -import java.sql.SQLException; import java.util.stream.Collectors; @Log4j2 diff --git a/dbrepo-user-service/Dockerfile b/dbrepo-user-service/Dockerfile index 5b63bc10bd..e276c3f17d 100644 --- a/dbrepo-user-service/Dockerfile +++ b/dbrepo-user-service/Dockerfile @@ -3,7 +3,8 @@ FROM dbrepo-metadata-db:latest as dependency MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> ###### SECOND STAGE ###### -FROM maven:slim as build +FROM maven:3-openjdk-17 as build +MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> COPY ./pom.xml ./ @@ -19,7 +20,10 @@ COPY ./report ./report RUN mvn -q clean package -DskipTests ###### THIRD STAGE ###### -FROM openjdk:11-jre-slim as runtime +FROM openjdk:17-alpine as runtime +MAINTAINER Martin Weise <martin.weise@tuwien.ac.at> + +RUN apk --no-cache add bash ENV METADATA_DB=fda ENV METADATA_USERNAME=root diff --git a/dbrepo-user-service/pom.xml b/dbrepo-user-service/pom.xml index 771332a592..f1ae609dca 100644 --- a/dbrepo-user-service/pom.xml +++ b/dbrepo-user-service/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>2.3.10.RELEASE</version> + <version>3.0.6</version> </parent> <groupId>at.tuwien</groupId> @@ -39,19 +39,19 @@ </modules> <properties> - <java.version>11</java.version> - <spring-cloud.version>3.0.1</spring-cloud.version> - <mapstruct.version>1.4.2.Final</mapstruct.version> - <docker.version>3.2.7</docker.version> - <testcontainers.version>1.15.2</testcontainers.version> - <swagger.version>2.1.7</swagger.version> - <springfox.version>3.0.0</springfox.version> - <jacoco.version>0.8.7</jacoco.version> - <opencsv.version>5.4</opencsv.version> - <hibernate-c3po.version>5.6.3.Final</hibernate-c3po.version> - <maven-report.version>3.0.0</maven-report.version> + <java.version>17</java.version> + <spring-cloud.version>4.0.2</spring-cloud.version> + <mapstruct.version>1.5.5.Final</mapstruct.version> + <docker.version>3.3.0</docker.version> + <swagger.version>2.2.9</swagger.version> + <jacoco.version>0.8.10</jacoco.version> <jwt.version>4.3.0</jwt.version> + <hibernate-c3po.version>5.6.3.Final</hibernate-c3po.version> + <opencsv.version>5.7.1</opencsv.version> + <super-csv.version>2.4.0</super-csv.version> + <jsql.version>4.6</jsql.version> <keycloak.version>21.0.2</keycloak.version> + <hibernate.version>6.2.2.Final</hibernate.version> </properties> <dependencies> @@ -71,7 +71,7 @@ <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> - <dependency><!-- https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#validation-starter-no-longer-included-in-web-starters --> + <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> @@ -160,11 +160,6 @@ <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency> - <dependency> - <groupId>org.springframework.security</groupId> - <artifactId>spring-security-test</artifactId> - <scope>test</scope> - </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> @@ -188,17 +183,6 @@ <artifactId>mapstruct</artifactId> <version>${mapstruct.version}</version> </dependency> - <!-- Gateway --> - <dependency> - <groupId>org.projectreactor</groupId> - <artifactId>reactor-spring</artifactId> - <version>1.0.1.RELEASE</version> - </dependency> - <dependency> - <groupId>javax.ws.rs</groupId> - <artifactId>javax.ws.rs-api</artifactId> - <version>2.1.1</version> - </dependency> </dependencies> <build> diff --git a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/UserEndpoint.java b/dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/UserEndpoint.java index b2aa2e79ac..f83b023b7d 100644 --- a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/UserEndpoint.java +++ b/dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/UserEndpoint.java @@ -1,7 +1,6 @@ package at.tuwien.endpoint; import at.tuwien.api.auth.SignupRequestDto; -import at.tuwien.api.container.ContainerBriefDto; import at.tuwien.api.error.ApiErrorDto; import at.tuwien.api.user.*; import at.tuwien.config.AuthenticationConfig; @@ -28,8 +27,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import java.security.Principal; import java.util.List; import java.util.UUID; diff --git a/dbrepo-user-service/rest-service/src/main/resources/application-local.yml b/dbrepo-user-service/rest-service/src/main/resources/application-local.yml index 68517428b1..432834c323 100644 --- a/dbrepo-user-service/rest-service/src/main/resources/application-local.yml +++ b/dbrepo-user-service/rest-service/src/main/resources/application-local.yml @@ -25,6 +25,10 @@ spring: virtual-host: dbrepo username: fda password: fda + elasticsearch: + password: elastic + username: elastic + uris: http://localhost:9200 cloud: loadbalancer.ribbon.enabled: false management.endpoints.web.exposure.include: health,info,prometheus @@ -37,10 +41,6 @@ logging: at.tuwien.: trace org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug fda: - elastic: - endpoint: localhost:9200 - username: elastic - password: elastic ready.path: ./ready gateway.endpoint: https://localhost default_role: default-researcher-roles diff --git a/dbrepo-user-service/rest-service/src/main/resources/application.yml b/dbrepo-user-service/rest-service/src/main/resources/application.yml index e9f0f162f1..3ff5be6c90 100644 --- a/dbrepo-user-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-user-service/rest-service/src/main/resources/application.yml @@ -25,6 +25,10 @@ spring: virtual-host: dbrepo username: "${BROKER_USERNAME}" password: "${BROKER_PASSWORD}" + elasticsearch: + password: "${ELASTIC_PASSWORD}" + username: elastic + uris: http://search-service:9200 cloud: loadbalancer.ribbon.enabled: false management.endpoints.web.exposure.include: health,info,prometheus @@ -37,10 +41,6 @@ logging: at.tuwien.: "${LOG_LEVEL}" org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug fda: - elastic: - endpoint: search-service:9200 - username: elastic - password: "${ELASTIC_PASSWORD}" ready.path: /ready gateway.endpoint: "${GATEWAY_ENDPOINT}" default_role: "${DEFAULT_ROLE}" diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java b/dbrepo-user-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java index b2b01c42ee..92b60f4f8a 100644 --- a/dbrepo-user-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java +++ b/dbrepo-user-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java @@ -6,6 +6,10 @@ import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.DecodedJWT; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -16,10 +20,6 @@ import org.springframework.security.web.authentication.WebAuthenticationDetailsS import org.springframework.util.StringUtils; import org.springframework.web.filter.OncePerRequestFilter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.security.KeyFactory; import java.security.NoSuchAlgorithmException; diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java b/dbrepo-user-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java index dd42aa517f..58079c0b9c 100644 --- a/dbrepo-user-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java +++ b/dbrepo-user-service/services/src/main/java/at/tuwien/config/ElasticsearchConfig.java @@ -1,42 +1,45 @@ package at.tuwien.config; +import co.elastic.clients.elasticsearch.ElasticsearchClient; +import co.elastic.clients.json.jackson.JacksonJsonpMapper; +import co.elastic.clients.transport.ElasticsearchTransport; +import co.elastic.clients.transport.rest_client.RestClientTransport; import lombok.extern.log4j.Log4j2; -import org.elasticsearch.client.RestHighLevelClient; +import org.apache.http.HttpHost; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; +import org.apache.http.impl.client.BasicCredentialsProvider; +import org.elasticsearch.client.RestClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.data.elasticsearch.client.ClientConfiguration; -import org.springframework.data.elasticsearch.client.RestClients; -import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; @Log4j2 @Configuration public class ElasticsearchConfig { - @Value("${fda.elastic.endpoint}") + @Value("${spring.elasticsearch.uris}") private String elasticEndpoint; - @Value("${fda.elastic.username}") + @Value("${spring.elasticsearch.username}") private String elasticUsername; - @Value("${fda.elastic.password}") + @Value("${spring.elasticsearch.password}") private String elasticPassword; @Bean - public RestHighLevelClient client() { + public ElasticsearchClient elasticsearchClient() { log.debug("elastic endpoint={}", elasticEndpoint); - final ClientConfiguration clientConfiguration = ClientConfiguration.builder() - .connectedTo(elasticEndpoint) - .withBasicAuth(elasticUsername, elasticPassword) + final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); + credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(elasticUsername, elasticPassword)); + final RestClient restClient = RestClient.builder(HttpHost.create(elasticEndpoint)) + .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder + .setDefaultCredentialsProvider(credentialsProvider)) .build(); - return RestClients.create(clientConfiguration) - .rest(); - } - - @Bean - public ElasticsearchOperations elasticsearchTemplate() { - return new ElasticsearchRestTemplate(client()); + ElasticsearchTransport transport = new RestClientTransport( + restClient, new JacksonJsonpMapper()); + return new ElasticsearchClient(transport); } } \ No newline at end of file diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-user-service/services/src/main/java/at/tuwien/config/JacksonConfig.java index fba7f99cf2..c4944a4691 100644 --- a/dbrepo-user-service/services/src/main/java/at/tuwien/config/JacksonConfig.java +++ b/dbrepo-user-service/services/src/main/java/at/tuwien/config/JacksonConfig.java @@ -19,7 +19,6 @@ public class JacksonConfig { @Bean public ObjectMapper objectMapper() throws JsonProcessingException { final ObjectMapper objectMapper = new ObjectMapper(); - objectMapper.findAndRegisterModules(); objectMapper.registerModule(new Jdk8Module()); objectMapper.registerModule(new JavaTimeModule()); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java b/dbrepo-user-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java index 0a2af8f294..7d27eda0ec 100644 --- a/dbrepo-user-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java +++ b/dbrepo-user-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java @@ -9,14 +9,14 @@ import org.springframework.http.HttpMethod; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; @Configuration @EnableWebSecurity @@ -27,15 +27,15 @@ import javax.servlet.http.HttpServletResponse; bearerFormat = "JWT", scheme = "bearer" ) -public class WebSecurityConfig extends WebSecurityConfigurerAdapter { +public class WebSecurityConfig { @Bean public AuthTokenFilter authTokenFilter() { return new AuthTokenFilter(); } - @Override - protected void configure(HttpSecurity http) throws Exception { + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { /* enable CORS and disable CSRF */ http = http.cors().and().csrf().disable(); /* set session management to stateless */ @@ -56,11 +56,11 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { /* set permissions on endpoints */ http.authorizeRequests() /* our internal endpoints */ - .antMatchers(HttpMethod.GET, "/actuator/prometheus/**").permitAll() + .requestMatchers(HttpMethod.GET, "/actuator/prometheus/**").permitAll() /* our public endpoints */ - .antMatchers(HttpMethod.GET, "/api/user/**").permitAll() - .antMatchers(HttpMethod.POST, "/api/user/**").permitAll() - .antMatchers("/v3/api-docs.yaml", + .requestMatchers(HttpMethod.GET, "/api/user/**").permitAll() + .requestMatchers(HttpMethod.POST, "/api/user/**").permitAll() + .requestMatchers("/v3/api-docs.yaml", "/v3/api-docs/**", "/swagger-ui/**", "/swagger-ui.html").permitAll() @@ -70,6 +70,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { http.addFilterBefore(authTokenFilter(), UsernamePasswordAuthenticationFilter.class ); + return http.build(); } @Bean -- GitLab