diff --git a/Makefile b/Makefile index 7ec54ad9a2fc2e94ae7a95fdd5aab982335d4a28..bd25de9c3fe44401f48d192e2327abc2cc4cc66b 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 de2b0a1463246614a3f0fce1022afc80f9d94323..bfef8f03d27c88de7b2400223dc4fda0121749e9 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 df49de3c81535e0011fc094ddd1119b54c8d4809..286be07560852c79f76480948c12b3e0bd97b218 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 fba7f99cf2bf1cbb12ac51cd6fd5b80751ff43c1..c4944a469174ad1962d5c54cc483400dbee12f1d 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 b676839354a6fb0f90bf83ed560bc9f80ed130d9..052654fbb83f5439c1125231354a1eb00ea5b91a 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 5ab357dea19a5ad969d78db8e5f86f84ac515ce4..414a7afe17da563adbfdd88d3808a216cd6b9451 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 cf0c63513c1083a29b63862d8a6c218e137d3859..58079c0b9c7c08d8c0ae75ee1ecf0191a7d19f65 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 fba7f99cf2bf1cbb12ac51cd6fd5b80751ff43c1..c4944a469174ad1962d5c54cc483400dbee12f1d 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 007db79cf5730574b5eca4c83b255d64fbb10b66..9269801f90d788072c5f4e4942c77d799c7dd029 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 2e3749b2b744bc4ffeda3b8e95607828bfe911a3..cbd895ea27da773ebe3dcf156491da76350d38d1 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 43cc6674b9d106548b72b73c8b4aaccd815cdadb..fffddcf42347b7a4d9025bfcdebcf58a947287df 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 6f30f79be88c9ece0f87d7c9ff1378ba7b0dd311..b72eb5b31408f059619e76a797c37e3565125a5f 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 6a21740ccf4d90ed19048574eb9174a3ae9e1538..c6d40af941be217271fe176ae846b235782208c7 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 b39c1ae7af543f788b410d1ea2b2b6804ab50ece..1782b03e657c9b7d9163791896718f03488b478a 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 1789fe663688f33125a39a08750551a9dcd08825..d3c64bd929d72368c2917ed25f952fce282391b7 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 b2b01c42ee9868215962426b18b3a70450bff7ac..92b60f4f8a5ed8a566e2504d71b63478b1593f68 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 b8de474aed6d651c497abe044fbd3368e9efbf83..58079c0b9c7c08d8c0ae75ee1ecf0191a7d19f65 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 2aee74382ef95efab6aba1f09a9ad2aa86b4506e..a5c64eaa04daa81a13bbc0b0eac75cdaa70aaff9 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 2c3a5d433c29af1f0f18c77ee92516e4ebe40d13..0bee3b961edd4ca456f0243c8eede630a4a54716 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 c2d1721c0ceaadb4c2f211deb9805b16b5b71c70..d38f17c6cb936e354b6b7362ccf8808476e24b47 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 04f19f375bfa824b9efcea483ba2de7b0559fc75..eb4f2522a67dd834648c9fbc35a257dcf08fddc1 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 e604a70c4ec4a0302790e986f15df8056db21583..815857a75e143dce0039ee378335e9ad635fde46 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 4a582e118848a3919277b43f4bf7fcd67a1dcae6..be536d413ac31d28ccb8135b300cb3fd2e6d0431 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 6554f69071c25ef597eef4175a494aed40b33b77..7dd826478bf54cdef583f20588a9045adf3621ac 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 e3acd7c51531b547709f9417234ed8b4d9c4b0de..40237b89616e4736876dc234c71e15e8d02c3f69 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 d1d3ca5c606096a4311ae2074e3a24ff3751ed85..bba2d9bcd63ee5c25c9e70d47c2bca0d56e1309a 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 390ee3e1e885b6b0e43b80c8ca5e6fda062606ac..7c6dc674682f0fbe2d31c9caa30336bf12956584 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 bcbfa6aff00b77497caf180205c0b960d61fac76..57c6f1c352d1cfc1514926a5840102551d4f3410 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 b359185f8aeeb95c807d8411c4931e8c96574f9f..9f0b8842782ab9b658e4fc253dd5d8e95cc05714 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 b68947339ed2194ad0f04078554d25126192e963..a4e89cb1a74a5024425c701233f4ead68ecde5fa 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 f567bdd190fdf2f9186b223a99ecd687c8ba719d..9b4e64a526c2166cb74ad3c9befa6786962b576f 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 b618cdd2ed2b65652424dd743e5c3f87e1636bef..2136ba805954b1bb65b14f6dc7f6f75595eeb42b 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 931638022de9cccd924fdee960fe1a81ac82318e..14015d7944689ef9463ed9599bc93e4c60fd164c 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 b3e2790399839d5b4646222fd2fcb1cbfb5dfbe7..3c27dd1b56ca06b6a8eb70d7d6b2f0d63900a02c 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 552052c5d9fa0091db7bb5068a8a462a211cb772..87cf2b1d7e450f45e42eb3a1cdc45111dc1530be 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 c6784ed1b5707515826073c47980765aa3089155..a6fe347eabec02abbd4c0516ed16ea7d27b8eca7 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 e90d48e921e98561b7f72097936fc6251f4e1d34..8e5325a821dee87b4a77061ea1fbe4885fc9276b 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 c90c1f9fef81e8ecce1a3a7a04166ee06d6f4373..0bb465af08cc1859f5c7fd78d8bd6c45a6efb170 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 2a64f611b2157f53888a92457a9fa5b19757ed75..455280a5f931e03d05451313e62ffaba04419fb8 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 af0b10ee74961a3abb61084a94213f3077dc618d..e6daef3333fa626d35fbbe18c41c8a0b1799dc09 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 9afc40853f878faaee98eb5f747a543ae693dc8a..88be5c81aa918ec6c310bb5ed98eaec3842483f6 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 792c57dbaa7593ab3905880dbb58c36e742d7193..0ae83427f4d59022689203ca3a6d8522e7f2d2c3 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 91a68d69c8ab3ac3f024f47d3179973eb897c9a4..a29ac15d37b4502e083f44af8f054fb4d21584e9 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 fd08d841d5ce4a71a22d0e4f543350628692c0f8..852dc067ce15a8a81c85796bbcd6340c45a83470 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 47716154fef4aa475d6335f2db4677f705630f66..bc658fc46a7af07762f418a2cb1ee5ac2f0fa6fc 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 e4080c44cb9bf1af35a882824f3b2dfb9f4499c8..d0f10b62c43b876369a34cb9965ea1265a451b1f 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 cdad05572a99b7af600fda3779942e9c35c574a5..2fe750a9adaf60b89865d6beed08413205f7e534 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 0bb4b34d3b8a2fd2c31d41fb9daec0e47eef68c7..f08b1f6868e7e8517b55411636648b90ba0eabc7 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 90df3384c6fe3c6227fc13b44f383be6ef3acf13..0e540d71918ec83ef33321101da33925e0682227 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 6dcb5ec0d0d706907d049a34d7450551a588a607..834a482885d1cc67c5530b2167142626c180667d 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 1364e537983399ce2e588cf76fc0068c539a1867..3f3d9f1a0468f006a24a0467c0a11f09671d1035 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 9529463f2471d5163e4be25ad923caaf56da1ba1..eb7809d1409e253272d63244c3ec444f14220b81 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 2b70550e515feb07f66a651a8c7865279dba5bca..350d9af3cfbd0ca44bb5aae7fce5144df060bff6 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 bc381a3a53139859ab007eba2c06d65debc8ecb7..6c3514de1ebfeaddd3b01c471881b13f4ff7b32a 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 728920ea268647995113ffcf7a2fd23b99616603..8e226230eea447a367d93057a947b7d8b091a788 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 2a6d04fd7edd09f8e53ada15a9a0ebe7265c9460..7a183b90e247bcbd99efeed4c9228a1a7849a16b 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 743505dfb6844aa24b63ca6d03f8059ff251fa71..d75d363cdd35b6bba37987a680314a73146bbd58 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 fba7f99cf2bf1cbb12ac51cd6fd5b80751ff43c1..c4944a469174ad1962d5c54cc483400dbee12f1d 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 c2d1721c0ceaadb4c2f211deb9805b16b5b71c70..d38f17c6cb936e354b6b7362ccf8808476e24b47 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 83d5aa02846369114bb8c9050aed216f1ee5a382..83313bfc8ba96c059f756c3f556eccba3928d3f9 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 43c3d8dfb58aea177734605a8f45588db6421e2c..8a2d8add44d715a9533805081895724f116c93a6 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 78a089213ae37eb4292c56da3db5cc6148489cc5..9b42e5af52b4f7febc92fff0b7ae9794413950be 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 3a174106daee3f209bbeabdec078167309bdf57c..c65fdc6dd3907566ea27764f8355497d709edc8e 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 075f7d868a82cf38ca38f531263a41be8da3dda4..c533f3b2b804eba84f304622b11e60ceb832dd03 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 8e683d4348e9c05b39cbe5eba6b88e2e6e9d41f3..d052feb732d18187f264ce2b44f973e0cc879f8c 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 fb3b7209d06c8d797293521b75cb630d095cac32..c5d30f6dacf6093dde4310cfd1e01db417020679 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 29830f33a7c7908c8acb9313b7eee4c6b3dcbfb9..14e3548dd428760a3ed6f4245e48411370e4d957 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 f53f5d489728afd6018e3143c1b728d78b59ffc5..e0ad8ea8d8f59a8da425de67348db6e44472ea0f 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 b8b4f03dac74655b1f4c2749bbe809d189f8799c..0933749a0ecea839380686e6cefde6441284c92b 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 20d93d7077970907d45594a9f56cd347fcaf808a..8a7001f019277444da77e89286974e270bbc9632 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 6c5301a54a56cbd7c08909803030f379eaaf012d..3c064e2b4fd89a33eee785d55f55893ce72dc1cb 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 fddbe70d045b77ee97d5c4468651bde927e9f73c..2dafd0f2819732de50d6a606400c8fe1ad9526fd 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 b2b01c42ee9868215962426b18b3a70450bff7ac..92b60f4f8a5ed8a566e2504d71b63478b1593f68 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 b8de474aed6d651c497abe044fbd3368e9efbf83..58079c0b9c7c08d8c0ae75ee1ecf0191a7d19f65 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 fba7f99cf2bf1cbb12ac51cd6fd5b80751ff43c1..c4944a469174ad1962d5c54cc483400dbee12f1d 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 22586fb23b43382726ecc05d74bcf06f15b61d58..b61e8d13bf753317c42bc8c46b18c4efb24c411c 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 01e2c9fa3ca2500116e5fd5a893402caa0241213..3f5c2ac7c4c2167786fa96252083cd6801ee9965 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 536aff8f662e9e135f699b167475d7190ccdd932..d1d1094578440f6391bb0d96db468e1f9b93b3f0 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 e8a948adf8acecc76e3d2825c3e724099d48d574..fd41da1447c79ba28b5ad902ec7f5ae2d5b8eab9 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 46fde5c0506ed540b8ebaa6eb9c2d9529d55b0d0..d82996f45d43ce1653c1434f7d0350b68d4f3d94 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 73df4fddb494a6f8b885c02c356798a1fe682220..9127764b70c804a352d658c5cc05fa0f479fd2a6 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 f142018b3e407d40fcd18bbb1e6b6e8f894e2a8e..a028e5da8f9bfb304357848c6efb43f6cfd07a9e 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 5dc69ea2027c86c89ef7bbf4b1f8f5ef7e9a8855..2df732e702a97b4199a85456dead163452982604 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 d3270999d18cbff2a185268f5e0b672915b2c030..d608f70ae19f2f3bc86fad4f7328c6071924baa8 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 b2b01c42ee9868215962426b18b3a70450bff7ac..92b60f4f8a5ed8a566e2504d71b63478b1593f68 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 1f447e2c839977c02443090cdfb6568c5e04e79b..58079c0b9c7c08d8c0ae75ee1ecf0191a7d19f65 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 fba7f99cf2bf1cbb12ac51cd6fd5b80751ff43c1..c4944a469174ad1962d5c54cc483400dbee12f1d 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 be46fcc18b2bf6f3c4bb1bed18983e780b735241..afc03f2c8937b7b282a25d7b450ccef336cc4613 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 c8ef46283e94425703d5458cb19dd9e2e980fff5..8c34a8a02111b0e20d7c7433d697c44c3e5e2527 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 7d19c48e1c4eac61c58aab5e5ff02f718e925186..3656f0a6efdc2d0d110f315502e7e795cc02850b 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 5b63bc10bdcb22681c5364e6214ee55a5c6d6301..e276c3f17dc139985e8ad3eb7531a7c96c0d5dc2 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 771332a592e7639c9b81d897066b83d2c4ddbae0..f1ae609dcab5e95ec63de47944bff6e0f0dac174 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 b2aa2e79ac5c1a350b8815c85c3e07719b88f2cb..f83b023b7d1bb1eff0bcad07cf4642fb781a60c6 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 68517428b140de7ccbf6dc01272bf54a88f994aa..432834c323861d09143bd760e8b86f91c0dbff80 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 e9f0f162f1d7d807fad844138ddd71da0b91eb90..3ff5be6c907e573889250c970fdadec733235b22 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 b2b01c42ee9868215962426b18b3a70450bff7ac..92b60f4f8a5ed8a566e2504d71b63478b1593f68 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 dd42aa517fb5bda732d39a5660918bbe61cfc6ce..58079c0b9c7c08d8c0ae75ee1ecf0191a7d19f65 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 fba7f99cf2bf1cbb12ac51cd6fd5b80751ff43c1..c4944a469174ad1962d5c54cc483400dbee12f1d 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 0a2af8f294a81b4e9e133ec7a4ef91c412ca4d17..7d27eda0ec2805bed7f283a7f86a9b535c156f33 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