diff --git a/dbrepo-container-service/pom.xml b/dbrepo-container-service/pom.xml index 8c4c65ef615f46ca8d19fcf3d980e91f23016a65..b6e164c44ed7c843252ffe3914164a08c67dcc8d 100644 --- a/dbrepo-container-service/pom.xml +++ b/dbrepo-container-service/pom.xml @@ -94,11 +94,6 @@ <artifactId>spring-data-opensearch</artifactId> <version>${opensearch-client.version}</version> </dependency> - <dependency> - <groupId>org.opensearch.client</groupId> - <artifactId>spring-data-opensearch-starter</artifactId> - <version>${opensearch-client.version}</version> - </dependency> <!-- Entity and API --> <dependency> <groupId>at.tuwien</groupId> diff --git a/dbrepo-container-service/rest-service/src/main/java/at/tuwien/DbrepoContainerManagingApplication.java b/dbrepo-container-service/rest-service/src/main/java/at/tuwien/DbrepoContainerManagingApplication.java index 7ef30669bce222658b191aa5a5dd5f05e2cb811c..dfc87fe1bd2b82e29c7b5c496ecc09df0590082d 100644 --- a/dbrepo-container-service/rest-service/src/main/java/at/tuwien/DbrepoContainerManagingApplication.java +++ b/dbrepo-container-service/rest-service/src/main/java/at/tuwien/DbrepoContainerManagingApplication.java @@ -2,7 +2,9 @@ package at.tuwien; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.transaction.annotation.EnableTransactionManagement; diff --git a/dbrepo-container-service/rest-service/src/main/resources/application-local.yml b/dbrepo-container-service/rest-service/src/main/resources/application-local.yml index 2af1c6bc21f1e8da7a8076cf4def0a054fe07887..515bfd517455bb139626ade352a7a12c9e500bba 100644 --- a/dbrepo-container-service/rest-service/src/main/resources/application-local.yml +++ b/dbrepo-container-service/rest-service/src/main/resources/application-local.yml @@ -27,6 +27,10 @@ spring: virtual-host: dbrepo username: fda password: fda + opensearch: + username: admin + password: admin + uris: http://localhost:9200 management.endpoints.web.exposure.include: health,info,prometheus springdoc.swagger-ui.enabled: true server: @@ -47,7 +51,3 @@ fda: client_secret: client-secret client_id: dbrepo-client gateway.endpoint: http://localhost - opensearch: - username: admin - password: admin - uris: http://localhost:9200 \ No newline at end of file diff --git a/dbrepo-container-service/rest-service/src/main/resources/application.yml b/dbrepo-container-service/rest-service/src/main/resources/application.yml index 907baa318fed02709f6ec6ad59a06e9e526b4ed4..b2722c825fdd6dbd5b1ee38c54e8e4c2a6fbc176 100644 --- a/dbrepo-container-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-container-service/rest-service/src/main/resources/application.yml @@ -1,5 +1,7 @@ app.version: '@project.version@' spring: + autoconfigure: + exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration main.banner-mode: off datasource: url: "jdbc:mariadb://metadata-db:3306/${METADATA_DB}" @@ -27,6 +29,10 @@ spring: virtual-host: dbrepo username: "${BROKER_USERNAME}" password: "${BROKER_PASSWORD}" + opensearch: + username: "${SEARCH_USERNAME}" + password: "${SEARCH_PASSWORD}" + uris: http://search-db:9200 management.endpoints.web.exposure.include: health,info,prometheus springdoc.swagger-ui.enabled: true server: @@ -46,8 +52,4 @@ fda: public_key: "${JWT_PUBKEY}" client_secret: "${DBREPO_CLIENT_SECRET}" client_id: "${CLIENT_ID}" - gateway.endpoint: http://gateway-service - opensearch: - username: "${SEARCH_USERNAME}" - password: "${SEARCH_PASSWORD}" - uris: http://search-db:9200 \ No newline at end of file + gateway.endpoint: http://gateway-service \ No newline at end of file diff --git a/dbrepo-container-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java b/dbrepo-container-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..27d815cc6f4329c5374c31fb5299ccabedf24d39 --- /dev/null +++ b/dbrepo-container-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java @@ -0,0 +1,35 @@ +package at.tuwien.config; + +import lombok.extern.log4j.Log4j2; +import org.opensearch.client.RestHighLevelClient; +import org.opensearch.data.client.orhlc.ClientConfiguration; +import org.opensearch.data.client.orhlc.RestClients; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Log4j2 +@Configuration +public class OpenSearchConfig { + + @Value("${spring.opensearch.uris}") + private String openSearchEndpoint; + + @Value("${spring.opensearch.username}") + private String openSearchUsername; + + @Value("${spring.opensearch.password}") + private String openSearchPassword; + + @Bean + public RestHighLevelClient openSearchClient() { + log.debug("openSearch endpoint={}", openSearchEndpoint); + final ClientConfiguration clientConfiguration = ClientConfiguration.builder() + .connectedTo(openSearchEndpoint) + .withBasicAuth(openSearchUsername, openSearchPassword) + .build(); + return RestClients.create(clientConfiguration) + .rest(); + } + +} \ No newline at end of file diff --git a/dbrepo-database-service/pom.xml b/dbrepo-database-service/pom.xml index 021bcf9c1ab52e30f983c5a3c5e21822a5740cc6..bf7922f99728921f09d412891b5ab23c32da178f 100644 --- a/dbrepo-database-service/pom.xml +++ b/dbrepo-database-service/pom.xml @@ -31,7 +31,7 @@ <c3p0.version>0.9.5.5</c3p0.version> <c3p0-hibernate.version>6.2.2.Final</c3p0-hibernate.version> <springdoc-openapi.version>2.1.0</springdoc-openapi.version> - <opensearch.version>1.1.0</opensearch.version> + <opensearch-client.version>1.1.0</opensearch-client.version> </properties> <dependencies> @@ -72,7 +72,7 @@ <dependency> <groupId>org.opensearch.client</groupId> <artifactId>spring-data-opensearch-starter</artifactId> - <version>${opensearch.version}</version> + <version>${opensearch-client.version}</version> </dependency> <!-- AMQP --> <dependency> @@ -116,6 +116,11 @@ <artifactId>mariadb-java-client</artifactId> <version>${mariadb.version}</version> </dependency> + <dependency> + <groupId>org.opensearch.client</groupId> + <artifactId>spring-data-opensearch</artifactId> + <version>${opensearch-client.version}</version> + </dependency> <!-- Entity, API, QueryStore --> <dependency> <groupId>at.tuwien</groupId> @@ -136,6 +141,12 @@ <scope>compile</scope> </dependency> <!-- Testing --> + <dependency> + <groupId>org.opensearch.client</groupId> + <artifactId>spring-data-opensearch-test-autoconfigure</artifactId> + <version>${opensearch-client.version}</version> + <scope>test</scope> + </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> diff --git a/dbrepo-database-service/rest-service/src/main/java/at/tuwien/DbrepoDatabaseManagingApplication.java b/dbrepo-database-service/rest-service/src/main/java/at/tuwien/DbrepoDatabaseManagingApplication.java index 306944de33f8a180935fdbf6cd5aff3bf4b42667..bcc12b9542777722e558319393133de2899e343d 100644 --- a/dbrepo-database-service/rest-service/src/main/java/at/tuwien/DbrepoDatabaseManagingApplication.java +++ b/dbrepo-database-service/rest-service/src/main/java/at/tuwien/DbrepoDatabaseManagingApplication.java @@ -2,6 +2,7 @@ package at.tuwien; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; diff --git a/dbrepo-database-service/rest-service/src/main/resources/application.yml b/dbrepo-database-service/rest-service/src/main/resources/application.yml index 3202f76b38a602595e86393a7515c975466ed904..3ca17044ae8408d55eaa53fa7ebeb992c72848c1 100644 --- a/dbrepo-database-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-database-service/rest-service/src/main/resources/application.yml @@ -1,6 +1,8 @@ app.version: '@project.version@' spring: main.banner-mode: off + autoconfigure: + exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration datasource: url: "jdbc:mariadb://metadata-db:3306/${METADATA_DB}" driver-class-name: org.mariadb.jdbc.Driver diff --git a/dbrepo-identifier-service/pom.xml b/dbrepo-identifier-service/pom.xml index ef0bed4d9d6b0b807951db97458bdadf29c0d6e9..d4d0a38cc0e0ceeceac1b1f85b250c76c95a9ff2 100644 --- a/dbrepo-identifier-service/pom.xml +++ b/dbrepo-identifier-service/pom.xml @@ -35,7 +35,7 @@ <super-csv.version>2.4.0</super-csv.version> <jsql.version>4.6</jsql.version> <springdoc-openapi.version>2.1.0</springdoc-openapi.version> - <opensearch.version>1.1.0</opensearch.version> + <opensearch-client.version>1.1.0</opensearch-client.version> </properties> <dependencies> @@ -100,8 +100,8 @@ </dependency> <dependency> <groupId>org.opensearch.client</groupId> - <artifactId>spring-data-opensearch-starter</artifactId> - <version>${opensearch.version}</version> + <artifactId>spring-data-opensearch</artifactId> + <version>${opensearch-client.version}</version> </dependency> <!-- Docker --> <dependency> @@ -129,6 +129,12 @@ <version>${springdoc-openapi.version}</version> </dependency> <!-- Testing --> + <dependency> + <groupId>org.opensearch.client</groupId> + <artifactId>spring-data-opensearch-test-autoconfigure</artifactId> + <version>${opensearch-client.version}</version> + <scope>test</scope> + </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/DbrepoIdentifierServiceApplication.java b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/DbrepoIdentifierServiceApplication.java index 2104df15d67bac70158e33d6ca942f1e689d35c5..79d1fba1d72befd82a1d09fac2292773dda99e3c 100644 --- a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/DbrepoIdentifierServiceApplication.java +++ b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/DbrepoIdentifierServiceApplication.java @@ -2,6 +2,7 @@ package at.tuwien; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; 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 23fcfe27270363672c9a0c892c414fbcf7e3fa95..73b6c7b5ee81f3386c1f99987d4aa6c84fcce64d 100644 --- a/dbrepo-identifier-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-identifier-service/rest-service/src/main/resources/application.yml @@ -1,6 +1,8 @@ app.version: '@project.version@' spring: main.banner-mode: off + autoconfigure: + exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration datasource: url: "jdbc:mariadb://metadata-db:3306/${METADATA_DB}" driver-class-name: org.mariadb.jdbc.Driver 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/api/database/DatabaseDto.java index 5715b7cd2926cb1ddf5407aa63501c3ef91dd65b..24a779913012676f65ee7ede7a8ebd6ba48c6fdd 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/api/database/DatabaseDto.java @@ -10,10 +10,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import lombok.extern.jackson.Jacksonized; -import org.springframework.data.elasticsearch.annotations.Document; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +import org.springframework.data.elasticsearch.annotations.Document; + import java.time.Instant; import java.util.List; @@ -24,7 +25,7 @@ import java.util.List; @AllArgsConstructor @Jacksonized @ToString -@Document(indexName = "databaseindex", createIndex = false) +@Document(indexName = "database") public class DatabaseDto { @NotNull 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/api/database/ViewDto.java index 7a5f80d2bca4f89a4807af09d7c5941ec5b2d264..8aeb060772539902079964a2b5cc67823e0f9889 100644 --- a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/ViewDto.java +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/ViewDto.java @@ -7,10 +7,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import lombok.extern.jackson.Jacksonized; -import org.springframework.data.elasticsearch.annotations.Document; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +import org.springframework.data.elasticsearch.annotations.Document; + import java.time.Instant; import java.util.UUID; @@ -21,7 +22,7 @@ import java.util.UUID; @AllArgsConstructor @Jacksonized @ToString -@Document(indexName = "viewindex", createIndex = false) +@Document(indexName = "view") public class ViewDto { @NotNull 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/api/database/table/TableDto.java index cf7d14f9406c363e3791ad26a8336e506a5be034..8696a092787c011c10a0079b68439a33fbedf11a 100644 --- 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/api/database/table/TableDto.java @@ -4,15 +4,15 @@ import at.tuwien.api.database.table.columns.ColumnDto; import at.tuwien.api.database.table.constraints.ConstraintsDto; import at.tuwien.api.user.UserBriefDto; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import lombok.extern.jackson.Jacksonized; -import org.springframework.data.elasticsearch.annotations.Document; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +import org.springframework.data.elasticsearch.annotations.Document; + import java.time.Instant; import java.util.List; @@ -23,13 +23,15 @@ import java.util.List; @AllArgsConstructor @Jacksonized @ToString -@Document(indexName = "tableindex", createIndex = false) +@Document(indexName = "table") public class TableDto { - @JsonIgnore + @NotNull + @JsonProperty("container_id") private Long containerId; - @JsonIgnore + @NotNull + @JsonProperty("database_id") private Long databaseId; @NotNull diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableKeyDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableKeyDto.java new file mode 100644 index 0000000000000000000000000000000000000000..010bc68af285bb9fadd741355687e1a9218d1448 --- /dev/null +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableKeyDto.java @@ -0,0 +1,24 @@ +package at.tuwien.api.database.table; + +import jakarta.validation.constraints.NotNull; +import lombok.*; +import lombok.extern.jackson.Jacksonized; + +@Getter +@Setter +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Jacksonized +@ToString +public class TableKeyDto { + + @NotNull + private Long containerId; + + @NotNull + private Long databaseId; + + @NotNull + private Long id; +} 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/api/database/table/columns/ColumnDto.java index 612f15d86d2408119a5adf8d095f86131918cbf3..68c7934e180b1eee135010cadd42239c0e8fcd1c 100644 --- 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/api/database/table/columns/ColumnDto.java @@ -3,16 +3,15 @@ package at.tuwien.api.database.table.columns; import at.tuwien.api.container.image.ImageDateDto; import at.tuwien.api.database.table.columns.concepts.ConceptDto; import at.tuwien.api.database.table.columns.concepts.UnitDto; -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.*; import lombok.extern.jackson.Jacksonized; -import org.springframework.data.elasticsearch.annotations.Document; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +import org.springframework.data.elasticsearch.annotations.Document; @Getter @Setter @@ -21,16 +20,19 @@ import jakarta.validation.constraints.NotNull; @AllArgsConstructor @Jacksonized @ToString -@Document(indexName = "columnindex", createIndex = false) +@Document(indexName = "column") public class ColumnDto { - @JsonIgnore + @NotNull + @JsonProperty("container_id") private Long containerId; - @JsonIgnore + @NotNull + @JsonProperty("database_id") private Long databaseId; - @JsonIgnore + @NotNull + @JsonProperty("table_id") private Long tableId; @NotNull diff --git a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnKeyDto.java b/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnKeyDto.java new file mode 100644 index 0000000000000000000000000000000000000000..28dc203f0388225ceb29e849fc2998a8a681c58c --- /dev/null +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/database/table/columns/ColumnKeyDto.java @@ -0,0 +1,27 @@ +package at.tuwien.api.database.table.columns; + +import jakarta.validation.constraints.NotNull; +import lombok.*; +import lombok.extern.jackson.Jacksonized; + +@Getter +@Setter +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Jacksonized +@ToString +public class ColumnKeyDto { + + @NotNull + private Long containerId; + + @NotNull + private Long databaseId; + + @NotNull + private Long tableId; + + @NotNull + private Long id; +} 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/api/identifier/IdentifierDto.java index 592c7cfc8cd1769805a99000bb713677726bc03d..1a3619663c9d096b1a43fce46b65b41bbc22d1bb 100644 --- a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java @@ -9,10 +9,11 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import lombok.extern.jackson.Jacksonized; -import org.springframework.data.elasticsearch.annotations.Document; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +import org.springframework.data.elasticsearch.annotations.Document; + import java.time.Instant; import java.util.List; @@ -23,7 +24,7 @@ import java.util.List; @AllArgsConstructor @Jacksonized @ToString -@Document(indexName = "identifierindex", createIndex = false) +@Document(indexName = "identifier", createIndex = false) public class IdentifierDto { private Long id; 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/api/user/UserDto.java index 6197dd0697c92d29f6f0f527d69cd4375012a999..88a86abd65c00790fc1a3ee45b2162ea6ffa8c4b 100644 --- a/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserDto.java +++ b/dbrepo-metadata-db/api/src/main/java/at/tuwien/api/user/UserDto.java @@ -7,6 +7,7 @@ import lombok.*; import jakarta.validation.constraints.NotNull; import lombok.extern.jackson.Jacksonized; +import org.springframework.data.elasticsearch.annotations.Document; import java.util.List; import java.util.UUID; @@ -18,6 +19,7 @@ import java.util.UUID; @AllArgsConstructor @Jacksonized @ToString +@Document(indexName = "user") public class UserDto { @NotNull diff --git a/dbrepo-metadata-db/pom.xml b/dbrepo-metadata-db/pom.xml index 284747e3d7382d842dc6b96c51ae96dd0c91b72f..0fb24fd6ea1b841a9337014f643f43a876247226 100644 --- a/dbrepo-metadata-db/pom.xml +++ b/dbrepo-metadata-db/pom.xml @@ -32,7 +32,7 @@ <jackson-datatype.version>2.15.0</jackson-datatype.version> <commons.version>2.11.0</commons.version> <springdoc-openapi.version>2.1.0</springdoc-openapi.version> - <opensearch.version>1.1.0</opensearch.version> + <opensearch-client.version>1.1.0</opensearch-client.version> </properties> <dependencies> @@ -48,15 +48,10 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> - <!-- DataSource --> - <dependency> - <groupId>org.springframework.data</groupId> - <artifactId>spring-data-elasticsearch</artifactId> - </dependency> <dependency> <groupId>org.opensearch.client</groupId> - <artifactId>spring-data-opensearch-starter</artifactId> - <version>${opensearch.version}</version> + <artifactId>spring-data-opensearch</artifactId> + <version>${opensearch-client.version}</version> </dependency> <!-- Mapping --> <dependency> diff --git a/dbrepo-metadata-service/pom.xml b/dbrepo-metadata-service/pom.xml index beddd0a5dab1364701d38515faa623232e662723..26bff609d2341a9740f8bd37c471761429830006 100644 --- a/dbrepo-metadata-service/pom.xml +++ b/dbrepo-metadata-service/pom.xml @@ -49,6 +49,7 @@ <keycloak.version>21.0.2</keycloak.version> <hibernate.version>6.2.2.Final</hibernate.version> <springdoc-openapi.version>2.1.0</springdoc-openapi.version> + <opensearch-client.version>1.1.0</opensearch-client.version> </properties> <dependencies> @@ -83,6 +84,11 @@ <artifactId>mariadb-java-client</artifactId> <version>${mariadb.version}</version> </dependency> + <dependency> + <groupId>org.opensearch.client</groupId> + <artifactId>spring-data-opensearch</artifactId> + <version>${opensearch-client.version}</version> + </dependency> <!-- Monitoring --> <dependency> <groupId>io.micrometer</groupId> @@ -150,6 +156,12 @@ <version>${springdoc-openapi.version}</version> </dependency> <!-- Testing --> + <dependency> + <groupId>org.opensearch.client</groupId> + <artifactId>spring-data-opensearch-test-autoconfigure</artifactId> + <version>${opensearch-client.version}</version> + <scope>test</scope> + </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/DbrepoMetadataServiceApplication.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/DbrepoMetadataServiceApplication.java index 1b6c8a38f5dbc21dc2db7f1d3bff8aa439cd55ec..2b5ef54ee2dc41185eebcd95ab275fc43464cc78 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/DbrepoMetadataServiceApplication.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/DbrepoMetadataServiceApplication.java @@ -2,6 +2,7 @@ package at.tuwien; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; diff --git a/dbrepo-metadata-service/rest-service/src/main/resources/application.yml b/dbrepo-metadata-service/rest-service/src/main/resources/application.yml index 0ec7b7bc08a59b9937c4b797e344b2383e3ff02d..ff401e9fe0b6d93b06b3811246de74dee5ff1e1a 100644 --- a/dbrepo-metadata-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-metadata-service/rest-service/src/main/resources/application.yml @@ -1,6 +1,8 @@ app.version: '@project.version@' spring: main.banner-mode: off + autoconfigure: + exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration datasource: url: "jdbc:mariadb://metadata-db:3306/${METADATA_DB}" driver-class-name: org.mariadb.jdbc.Driver diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..27d815cc6f4329c5374c31fb5299ccabedf24d39 --- /dev/null +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java @@ -0,0 +1,35 @@ +package at.tuwien.config; + +import lombok.extern.log4j.Log4j2; +import org.opensearch.client.RestHighLevelClient; +import org.opensearch.data.client.orhlc.ClientConfiguration; +import org.opensearch.data.client.orhlc.RestClients; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Log4j2 +@Configuration +public class OpenSearchConfig { + + @Value("${spring.opensearch.uris}") + private String openSearchEndpoint; + + @Value("${spring.opensearch.username}") + private String openSearchUsername; + + @Value("${spring.opensearch.password}") + private String openSearchPassword; + + @Bean + public RestHighLevelClient openSearchClient() { + log.debug("openSearch endpoint={}", openSearchEndpoint); + final ClientConfiguration clientConfiguration = ClientConfiguration.builder() + .connectedTo(openSearchEndpoint) + .withBasicAuth(openSearchUsername, openSearchPassword) + .build(); + return RestClients.create(clientConfiguration) + .rest(); + } + +} \ No newline at end of file diff --git a/dbrepo-query-service/pom.xml b/dbrepo-query-service/pom.xml index 9274612bde7dd3c35118aa5b24cba860ebc72da4..e529441353a7203a1ea91c7e1302a7d171aa9db8 100644 --- a/dbrepo-query-service/pom.xml +++ b/dbrepo-query-service/pom.xml @@ -51,7 +51,7 @@ <c3p0.version>0.9.5.5</c3p0.version> <c3p0-hibernate.version>6.2.2.Final</c3p0-hibernate.version> <springdoc-openapi.version>2.1.0</springdoc-openapi.version> - <opensearch.version>1.1.0</opensearch.version> + <opensearch-client.version>1.1.0</opensearch-client.version> </properties> <dependencies> @@ -123,8 +123,8 @@ </dependency> <dependency> <groupId>org.opensearch.client</groupId> - <artifactId>spring-data-opensearch-starter</artifactId> - <version>${opensearch.version}</version> + <artifactId>spring-data-opensearch</artifactId> + <version>${opensearch-client.version}</version> </dependency> <!-- AMPQ --> <dependency> diff --git a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/DbrepoQueryServiceApplication.java b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/DbrepoQueryServiceApplication.java index af5e7ef22913baf7206dca51f5f9c6147bd29b27..34e5ffeca0e66d7773abbf089c3824ea80d06270 100644 --- a/dbrepo-query-service/rest-service/src/main/java/at/tuwien/DbrepoQueryServiceApplication.java +++ b/dbrepo-query-service/rest-service/src/main/java/at/tuwien/DbrepoQueryServiceApplication.java @@ -2,6 +2,7 @@ package at.tuwien; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; 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 5caaab1e9b62a38c7f9d08fdac089e563143a835..8bc1f82c6fdca501aea8df1e1b408dac36ef0dac 100644 --- a/dbrepo-query-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-query-service/rest-service/src/main/resources/application.yml @@ -1,6 +1,8 @@ app.version: '@project.version@' spring: main.banner-mode: off + autoconfigure: + exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration datasource: url: "jdbc:mariadb://metadata-db:3306/${METADATA_DB}" driver-class-name: org.mariadb.jdbc.Driver diff --git a/dbrepo-semantics-service/pom.xml b/dbrepo-semantics-service/pom.xml index 08ba51d910c8f311f4cfc1329c7748e1ef302f55..6070573876c3ece8a361ce1f882765039d544815 100644 --- a/dbrepo-semantics-service/pom.xml +++ b/dbrepo-semantics-service/pom.xml @@ -36,7 +36,7 @@ <c3p0-hibernate.version>6.2.2.Final</c3p0-hibernate.version> <apache-jena.version>4.8.0</apache-jena.version> <springdoc-openapi.version>2.1.0</springdoc-openapi.version> - <opensearch.version>1.1.0</opensearch.version> + <opensearch-client.version>1.1.0</opensearch-client.version> </properties> <dependencies> @@ -95,8 +95,8 @@ </dependency> <dependency> <groupId>org.opensearch.client</groupId> - <artifactId>spring-data-opensearch-starter</artifactId> - <version>${opensearch.version}</version> + <artifactId>spring-data-opensearch</artifactId> + <version>${opensearch-client.version}</version> </dependency> <!-- Testing --> <dependency> diff --git a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/DbrepoSemanticsServiceApplication.java b/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/DbrepoSemanticsServiceApplication.java index bec2e19c3b2a0755da8c7352d63690bf8c121a9c..76350f4b41e2c93666f76dea30e70016dd4177a9 100644 --- a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/DbrepoSemanticsServiceApplication.java +++ b/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/DbrepoSemanticsServiceApplication.java @@ -3,6 +3,7 @@ package at.tuwien; import org.apache.jena.sys.JenaSystem; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; diff --git a/dbrepo-semantics-service/rest-service/src/main/resources/application.yml b/dbrepo-semantics-service/rest-service/src/main/resources/application.yml index 752873494fb5c13501be4bfba8307dcec880099c..5e9feb19bcaa58f900201fc1743e4c363f640503 100644 --- a/dbrepo-semantics-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-semantics-service/rest-service/src/main/resources/application.yml @@ -1,6 +1,8 @@ app.version: '@project.version@' spring: main.banner-mode: off + autoconfigure: + exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration datasource: url: "jdbc:mariadb://metadata-db:3306/${METADATA_DB}" driver-class-name: org.mariadb.jdbc.Driver diff --git a/dbrepo-table-service/pom.xml b/dbrepo-table-service/pom.xml index b32a4dde835ecc121bc6ea639b0a44e6e3231841..b686d22c3b998f5a21b851b03cae9c6361d52150 100644 --- a/dbrepo-table-service/pom.xml +++ b/dbrepo-table-service/pom.xml @@ -34,7 +34,7 @@ <c3p0.version>0.9.5.5</c3p0.version> <c3p0-hibernate.version>6.2.2.Final</c3p0-hibernate.version> <springdoc-openapi.version>2.1.0</springdoc-openapi.version> - <opensearch.version>1.1.0</opensearch.version> + <opensearch-client.version>1.1.0</opensearch-client.version> </properties> <dependencies> @@ -120,16 +120,21 @@ <artifactId>hibernate-c3p0</artifactId> <version>${c3p0-hibernate.version}</version> </dependency> - <dependency> - <groupId>org.opensearch.client</groupId> - <artifactId>spring-data-opensearch-starter</artifactId> - <version>${opensearch.version}</version> - </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> <version>${mariadb.version}</version> </dependency> + <dependency> + <groupId>org.opensearch.client</groupId> + <artifactId>spring-data-opensearch</artifactId> + <version>${opensearch-client.version}</version> + </dependency> + <dependency> + <groupId>org.opensearch.client</groupId> + <artifactId>spring-data-opensearch-starter</artifactId> + <version>${opensearch-client.version}</version> + </dependency> <!-- SQL Parser --> <dependency> <groupId>com.github.jsqlparser</groupId> @@ -150,6 +155,12 @@ <version>${rabbit-amqp-client.version}</version> </dependency> <!-- Testing --> + <dependency> + <groupId>org.opensearch.client</groupId> + <artifactId>spring-data-opensearch-test-autoconfigure</artifactId> + <version>${opensearch-client.version}</version> + <scope>test</scope> + </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> diff --git a/dbrepo-table-service/rest-service/src/main/java/at/tuwien/DbrepoTableServiceApplication.java b/dbrepo-table-service/rest-service/src/main/java/at/tuwien/DbrepoTableServiceApplication.java index a96e2effc7640acd1ec961656ee54d3a52fcd991..21af60ba7042fc19726286b49d9b3a1c1340f755 100644 --- a/dbrepo-table-service/rest-service/src/main/java/at/tuwien/DbrepoTableServiceApplication.java +++ b/dbrepo-table-service/rest-service/src/main/java/at/tuwien/DbrepoTableServiceApplication.java @@ -2,6 +2,7 @@ package at.tuwien; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; @@ -10,11 +11,11 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @EnableJpaAuditing -@SpringBootApplication @EnableTransactionManagement @EntityScan(basePackages = {"at.tuwien.entities"}) -@EnableElasticsearchRepositories(basePackages = {"at.tuwien.repository.elastic"}) -@EnableJpaRepositories(basePackages = {"at.tuwien.repository.jpa"}) +@EnableElasticsearchRepositories +@EnableJpaRepositories(basePackages = {"at.tuwien.repository.mdb", "at.tuwien.repository.sdb"}) +@SpringBootApplication(exclude = {ElasticsearchDataAutoConfiguration.class}) public class DbrepoTableServiceApplication { public static void main(String[] args) { 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 65be9f4bdabcd1319d16e2c76ccdf1e59e8cb488..8dc8303bbabab38482a172d08df1d700a766499f 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 @@ -28,7 +28,7 @@ spring: opensearch: username: admin password: admin - uris: http://localhost:9200 + uris: localhost:9200 cloud: loadbalancer.ribbon.enabled: false management.endpoints.web.exposure.include: health,info,prometheus 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 d874155e5c2f42be6f01479f49fad37c09ccc5e1..a91591b9aded11a41273baa828e6f627987d7894 100644 --- a/dbrepo-table-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-table-service/rest-service/src/main/resources/application.yml @@ -28,7 +28,7 @@ spring: opensearch: username: "${SEARCH_USERNAME}" password: "${SEARCH_PASSWORD}" - uris: http://search-db:9200 + uris: search-db:9200 cloud: loadbalancer.ribbon.enabled: false management.endpoints.web.exposure.include: health,info,prometheus diff --git a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableColumnEndpointUnitTest.java b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableColumnEndpointUnitTest.java index 2dd1a03a5affd3ba8a02eb9ca289aae1c0ba6fc9..6ba5c6fee755d26f86237f5a0d864f59a5434e53 100644 --- a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableColumnEndpointUnitTest.java +++ b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableColumnEndpointUnitTest.java @@ -11,8 +11,8 @@ import at.tuwien.entities.database.DatabaseAccess; import at.tuwien.entities.database.table.Table; import at.tuwien.entities.database.table.columns.TableColumn; import at.tuwien.exception.*; -import at.tuwien.repository.elastic.TableColumnIdxRepository; -import at.tuwien.repository.elastic.TableIdxRepository; +import at.tuwien.repository.sdb.TableColumnIdxRepository; +import at.tuwien.repository.sdb.TableIdxRepository; import at.tuwien.service.AccessService; import at.tuwien.service.DatabaseService; import at.tuwien.service.TableService; diff --git a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointIntegrationTest.java b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointIntegrationTest.java index e52f7c89de188832f1c681d461ffbb6ea30011db..ab7b30e6a3f35428b557a8255e9c08b1af81505f 100644 --- a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointIntegrationTest.java +++ b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointIntegrationTest.java @@ -7,9 +7,9 @@ import at.tuwien.config.IndexConfig; import at.tuwien.config.ReadyConfig; import at.tuwien.endpoints.TableEndpoint; import at.tuwien.exception.*; -import at.tuwien.repository.elastic.TableColumnIdxRepository; -import at.tuwien.repository.elastic.TableIdxRepository; -import at.tuwien.repository.jpa.*; +import at.tuwien.repository.sdb.TableColumnIdxRepository; +import at.tuwien.repository.sdb.TableIdxRepository; +import at.tuwien.repository.mdb.*; import com.rabbitmq.client.Channel; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.AfterEach; diff --git a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java index 3ea4f20546b2115a11e066387280f1976eac07be..49b1b0a66998bcf27080618c80bc4475b46f6922 100644 --- a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java +++ b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java @@ -11,8 +11,8 @@ import at.tuwien.entities.database.Database; import at.tuwien.entities.database.DatabaseAccess; import at.tuwien.entities.database.table.Table; import at.tuwien.exception.*; -import at.tuwien.repository.elastic.TableColumnIdxRepository; -import at.tuwien.repository.elastic.TableIdxRepository; +import at.tuwien.repository.sdb.TableColumnIdxRepository; +import at.tuwien.repository.sdb.TableIdxRepository; import at.tuwien.service.AccessService; import at.tuwien.service.DatabaseService; import at.tuwien.service.TableService; diff --git a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/gateway/QueryServiceGatewayUnitTest.java b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/gateway/QueryServiceGatewayUnitTest.java index c84163790cc840f4ac929c175cd5846f6d88ee65..3d27d0c923279e4cf3075b29998e44dfe07775cf 100644 --- a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/gateway/QueryServiceGatewayUnitTest.java +++ b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/gateway/QueryServiceGatewayUnitTest.java @@ -4,8 +4,8 @@ import at.tuwien.BaseUnitTest; import at.tuwien.config.IndexConfig; import at.tuwien.config.ReadyConfig; import at.tuwien.exception.AmqpException; -import at.tuwien.repository.elastic.TableColumnIdxRepository; -import at.tuwien.repository.elastic.TableIdxRepository; +import at.tuwien.repository.sdb.TableColumnIdxRepository; +import at.tuwien.repository.sdb.TableIdxRepository; import com.rabbitmq.client.Channel; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.Test; diff --git a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/mapper/TableMapperUnitTest.java b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/mapper/TableMapperUnitTest.java index 234ce6491ee4cd2468bd73ee7197f5e467d26b76..2ec5fe43e9de1b18260135d49920a36b840f5ca5 100644 --- a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/mapper/TableMapperUnitTest.java +++ b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/mapper/TableMapperUnitTest.java @@ -1,15 +1,12 @@ package at.tuwien.mapper; import at.tuwien.BaseUnitTest; -import at.tuwien.api.database.AccessTypeDto; import at.tuwien.config.IndexConfig; import at.tuwien.config.ReadyConfig; -import at.tuwien.exception.NotAllowedException; -import at.tuwien.repository.elastic.TableColumnIdxRepository; -import at.tuwien.repository.elastic.TableIdxRepository; +import at.tuwien.repository.sdb.TableColumnIdxRepository; +import at.tuwien.repository.sdb.TableIdxRepository; import com.rabbitmq.client.Channel; import lombok.extern.log4j.Log4j2; -import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; diff --git a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/MessageQueueServiceIntegrationTest.java b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/MessageQueueServiceIntegrationTest.java index d91e8827fbe4446048bd10d50d12516fdf2e4de8..29b42b6f6f8eb0a1238e42845b7b7bfe9bd3ad9d 100644 --- a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/MessageQueueServiceIntegrationTest.java +++ b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/MessageQueueServiceIntegrationTest.java @@ -6,9 +6,8 @@ import at.tuwien.config.IndexConfig; import at.tuwien.config.ReadyConfig; import at.tuwien.config.DockerConfig; import at.tuwien.exception.*; -import at.tuwien.repository.elastic.TableColumnIdxRepository; -import at.tuwien.repository.elastic.TableIdxRepository; -import at.tuwien.repository.jpa.TableRepository; +import at.tuwien.repository.sdb.TableColumnIdxRepository; +import at.tuwien.repository.sdb.TableIdxRepository; import at.tuwien.utils.AmqpUtils; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; @@ -46,7 +45,7 @@ public class MessageQueueServiceIntegrationTest extends BaseUnitTest { private TableColumnIdxRepository tableColumnidxRepository; @MockBean - private TableRepository tableRepository; + private at.tuwien.repository.mdb.TableRepository tableRepository; @Autowired private AmqpUtils amqpUtils; diff --git a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationReadTest.java b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationReadTest.java index 2759fe65b2bfe5b081b1914febbdc45547f9f418..e65f776d75a274c1e9ca50ef5e1193a1b39b9bda 100644 --- a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationReadTest.java +++ b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationReadTest.java @@ -7,9 +7,9 @@ import at.tuwien.config.IndexConfig; import at.tuwien.config.ReadyConfig; import at.tuwien.entities.database.table.Table; import at.tuwien.exception.*; -import at.tuwien.repository.elastic.TableColumnIdxRepository; -import at.tuwien.repository.elastic.TableIdxRepository; -import at.tuwien.repository.jpa.*; +import at.tuwien.repository.sdb.TableColumnIdxRepository; +import at.tuwien.repository.sdb.TableIdxRepository; +import at.tuwien.repository.mdb.*; import com.rabbitmq.client.Channel; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.*; @@ -66,7 +66,7 @@ public class TableServiceIntegrationReadTest extends BaseUnitTest { private DatabaseRepository databaseRepository; @Autowired - private TableRepository tableRepository; + private at.tuwien.repository.mdb.TableRepository tableRepository; @Autowired private TableService tableService; diff --git a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationWriteTest.java b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationWriteTest.java index d3482ae758f55d8dbf481b979c08762167ea3156..254d3c2d60d2aa7b7b35fc70813e730d9f95de08 100644 --- a/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationWriteTest.java +++ b/dbrepo-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationWriteTest.java @@ -8,9 +8,9 @@ import at.tuwien.config.H2Utils; import at.tuwien.config.IndexConfig; import at.tuwien.config.ReadyConfig; import at.tuwien.exception.*; -import at.tuwien.repository.elastic.TableColumnIdxRepository; -import at.tuwien.repository.elastic.TableIdxRepository; -import at.tuwien.repository.jpa.*; +import at.tuwien.repository.sdb.TableColumnIdxRepository; +import at.tuwien.repository.sdb.TableIdxRepository; +import at.tuwien.repository.mdb.*; import com.rabbitmq.client.Channel; import lombok.extern.log4j.Log4j2; import org.apache.http.auth.BasicUserPrincipal; @@ -67,7 +67,7 @@ public class TableServiceIntegrationWriteTest extends BaseUnitTest { private DatabaseRepository databaseRepository; @Autowired - private TableRepository tableRepository; + private at.tuwien.repository.mdb.TableRepository tableRepository; @Autowired private TableService tableService; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/config/IndexConfig.java b/dbrepo-table-service/services/src/main/java/at/tuwien/config/IndexConfig.java index e6f97043de1c912ac605dc79840f1a0728b50e0c..387acfe392904a5ce19a587b303c2744f14287cd 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/config/IndexConfig.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/config/IndexConfig.java @@ -3,18 +3,13 @@ package at.tuwien.config; import at.tuwien.api.database.table.TableDto; import at.tuwien.api.database.table.columns.ColumnDto; import at.tuwien.mapper.TableMapper; -import at.tuwien.repository.elastic.TableColumnIdxRepository; -import at.tuwien.repository.elastic.TableIdxRepository; -import at.tuwien.repository.jpa.TableColumnRepository; -import at.tuwien.repository.jpa.TableRepository; +import at.tuwien.repository.mdb.TableColumnRepository; +import at.tuwien.repository.mdb.TableRepository; +import at.tuwien.repository.sdb.TableColumnIdxRepository; +import at.tuwien.repository.sdb.TableIdxRepository; import lombok.extern.log4j.Log4j2; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.event.EventListener; -import org.springframework.core.env.Environment; -import org.springframework.core.env.Profiles; -import org.springframework.data.elasticsearch.core.ElasticsearchOperations; -import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -25,46 +20,24 @@ import java.util.stream.Collectors; @Log4j2 public class IndexConfig { - private final Environment environment; private final TableMapper tableMapper; private final TableRepository tableRepository; private final TableIdxRepository tableIdxRepository; private final TableColumnRepository tableColumnRepository; - private final ElasticsearchOperations elasticsearchOperations; private final TableColumnIdxRepository tableColumnIdxRepository; - @Autowired - public IndexConfig(Environment environment, TableMapper tableMapper, TableRepository tableRepository, - TableIdxRepository tableIdxRepository, TableColumnRepository tableColumnRepository, - ElasticsearchOperations elasticsearchOperations, - TableColumnIdxRepository tableColumnIdxRepository) { - this.environment = environment; + public IndexConfig(TableMapper tableMapper, TableRepository tableRepository, TableIdxRepository tableIdxRepository, + TableColumnRepository tableColumnRepository, TableColumnIdxRepository tableColumnIdxRepository) { this.tableMapper = tableMapper; this.tableRepository = tableRepository; this.tableIdxRepository = tableIdxRepository; this.tableColumnRepository = tableColumnRepository; - this.elasticsearchOperations = elasticsearchOperations; this.tableColumnIdxRepository = tableColumnIdxRepository; } @Transactional @EventListener(ApplicationReadyEvent.class) public void initIndex() { - if (environment.acceptsProfiles(Profiles.of("test-noelastic"))) { - return; - } - log.debug("creating tableindex"); - final IndexCoordinates tableIndex = IndexCoordinates.of("tableindex"); - if (!elasticsearchOperations.indexOps(tableIndex).exists()) { - elasticsearchOperations.indexOps(tableIndex).create(); - elasticsearchOperations.indexOps(tableIndex).createMapping(TableDto.class); - } - log.debug("creating columnindex"); - final IndexCoordinates columnIndex = IndexCoordinates.of("columnindex"); - if (!elasticsearchOperations.indexOps(columnIndex).exists()) { - elasticsearchOperations.indexOps(columnIndex).create(); - elasticsearchOperations.indexOps(columnIndex).createMapping(ColumnDto.class); - } /* pre-fill */ final List<TableDto> tables = tableRepository.findAll() .stream() diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java b/dbrepo-table-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java index 27d815cc6f4329c5374c31fb5299ccabedf24d39..2456e27f4e6a38522419e5fc51d490f403260579 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java @@ -2,6 +2,7 @@ package at.tuwien.config; import lombok.extern.log4j.Log4j2; import org.opensearch.client.RestHighLevelClient; +import org.opensearch.data.client.orhlc.AbstractOpenSearchConfiguration; import org.opensearch.data.client.orhlc.ClientConfiguration; import org.opensearch.data.client.orhlc.RestClients; import org.springframework.beans.factory.annotation.Value; @@ -10,7 +11,7 @@ import org.springframework.context.annotation.Configuration; @Log4j2 @Configuration -public class OpenSearchConfig { +public class OpenSearchConfig extends AbstractOpenSearchConfiguration { @Value("${spring.opensearch.uris}") private String openSearchEndpoint; @@ -22,7 +23,8 @@ public class OpenSearchConfig { private String openSearchPassword; @Bean - public RestHighLevelClient openSearchClient() { + @Override + public RestHighLevelClient opensearchClient() { log.debug("openSearch endpoint={}", openSearchEndpoint); final ClientConfiguration clientConfiguration = ClientConfiguration.builder() .connectedTo(openSearchEndpoint) @@ -31,5 +33,4 @@ public class OpenSearchConfig { return RestClients.create(clientConfiguration) .rest(); } - } \ No newline at end of file diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/mapper/TableMapper.java b/dbrepo-table-service/services/src/main/java/at/tuwien/mapper/TableMapper.java index 688e44c832e1e998f16018b995ab30ec542684bd..6c2d65f211cd4ea6ff3a501ba3e8d4b5cc6c70bb 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/mapper/TableMapper.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/mapper/TableMapper.java @@ -7,9 +7,6 @@ import at.tuwien.api.database.table.TableDto; import at.tuwien.api.database.table.columns.ColumnCreateDto; import at.tuwien.api.database.table.columns.ColumnDto; import at.tuwien.api.database.table.columns.ColumnTypeDto; -import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto; -import at.tuwien.api.database.table.columns.concepts.ConceptSaveDto; -import at.tuwien.api.database.table.columns.concepts.UnitSaveDto; import at.tuwien.api.database.table.constraints.ConstraintsCreateDto; import at.tuwien.api.database.table.constraints.foreignKey.ForeignKeyCreateDto; import at.tuwien.api.database.table.constraints.foreignKey.ForeignKeyDto; @@ -29,7 +26,7 @@ import at.tuwien.entities.database.table.constraints.unique.Unique; import at.tuwien.exception.ImageNotSupportedException; import at.tuwien.exception.QueryMalformedException; import at.tuwien.exception.TableMalformedException; -import at.tuwien.repository.jpa.TableRepository; +import at.tuwien.repository.mdb.TableRepository; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Mappings; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ConceptRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ConceptRepository.java similarity index 91% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ConceptRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ConceptRepository.java index 52e9f9d0820aa261bf3629b76449c57d79e36d83..1cf729a25918fbbfc45f67dde2961e102a7a2b97 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ConceptRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ConceptRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.database.table.columns.TableColumnConcept; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ContainerRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java similarity index 88% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ContainerRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java index 39566b1cc0c471f71212f9319e1497d0e3dcac66..f41d2aa3fae70608ac913bde9ae299d57ce5b0a4 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ContainerRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.container.Container; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseAccessRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseAccessRepository.java similarity index 80% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseAccessRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseAccessRepository.java index a91fb2ee2f0a080878cfcdb1949c818f96296e9b..f117748c36d8d3cdcefc8074f9b37bc87c448e53 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseAccessRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseAccessRepository.java @@ -1,6 +1,7 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.database.DatabaseAccess; +import at.tuwien.entities.database.DatabaseAccessKey; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; @@ -8,7 +9,7 @@ import org.springframework.stereotype.Repository; import java.util.Optional; @Repository -public interface DatabaseAccessRepository extends JpaRepository<DatabaseAccess, Long> { +public interface DatabaseAccessRepository extends JpaRepository<DatabaseAccess, DatabaseAccessKey> { @Query("select a from DatabaseAccess a where a.hdbid = :databaseId and a.user.username = :username") Optional<DatabaseAccess> findByDatabaseIdAndUsername(Long databaseId, String username); diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java similarity index 97% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java index f945f6eb2b36842ab96cfbab21e461617c9e76c4..2ea6e5234ac29a4c791c56a609a29da59e6ee0ac 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.database.Database; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageEnvironmentRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ImageEnvironmentRepository.java similarity index 59% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageEnvironmentRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ImageEnvironmentRepository.java index c25e8577e29c929d1778ef407253e9970c74c04d..6bb192292f755b8e3706820c337a0e0b1dc0557b 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageEnvironmentRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ImageEnvironmentRepository.java @@ -1,11 +1,11 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; -import at.tuwien.entities.container.image.ContainerImage; import at.tuwien.entities.container.image.ContainerImageEnvironmentItem; +import at.tuwien.entities.container.image.ContainerImageEnvironmentItemKey; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface ImageEnvironmentRepository extends JpaRepository<ContainerImageEnvironmentItem, Long> { +public interface ImageEnvironmentRepository extends JpaRepository<ContainerImageEnvironmentItem, ContainerImageEnvironmentItemKey> { } diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java similarity index 88% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java index 247ce97770d636831aef83e8cc1a471ed67019a9..046fd51c3edd4a04becd27a2017cb38c88278ac7 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.container.image.ContainerImage; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/OntologyRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/OntologyRepository.java similarity index 88% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/OntologyRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/OntologyRepository.java index 75c296f527e5a1b04d8a326673ca35f88519e842..fab911633e762bcca06113efbbed06e01f2e4e0f 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/OntologyRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/OntologyRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.semantics.Ontology; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/RealmRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java similarity index 88% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/RealmRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java index 5b5855dec88d3e3ef8d032369a7d6af6956a702e..7b53e7245983c7ca848da7c1175e0158e2f2a930 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/RealmRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.user.Realm; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/TableColumnRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnRepository.java similarity index 66% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/TableColumnRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnRepository.java index 9441d45125e3f54d6545bbcb3e4b4e99a05d1bbf..b52cc85d3552636e4463a848f651c45e6292a2cc 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/TableColumnRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnRepository.java @@ -1,10 +1,11 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.database.table.columns.TableColumn; +import at.tuwien.entities.database.table.columns.TableColumnKey; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface TableColumnRepository extends JpaRepository<TableColumn, Long> { +public interface TableColumnRepository extends JpaRepository<TableColumn, TableColumnKey> { } diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/TableRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java similarity index 80% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/TableRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java index c629a9b493f86fb49a2b84f77e82209fbad6dee6..77541d67b732c73ca9190e1f375f977069d5c480 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/TableRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java @@ -1,7 +1,8 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.database.Database; import at.tuwien.entities.database.table.Table; +import at.tuwien.entities.database.table.TableKey; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @@ -9,7 +10,7 @@ import java.util.List; import java.util.Optional; @Repository -public interface TableRepository extends JpaRepository<Table, Long> { +public interface TableRepository extends JpaRepository<Table, TableKey> { List<Table> findByDatabaseOrderByCreatedDesc(Database database); diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/UnitRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/UnitRepository.java similarity index 91% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/UnitRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/UnitRepository.java index 69ae3d7e516b4dd80b0cb7a9e19f1b65677486a5..a88ba4ff4361615fe6cefd49a8550ae4185cc37f 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/UnitRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/UnitRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.database.table.columns.TableColumnUnit; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/UserRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java similarity index 90% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/UserRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java index 9eb0b5190252b7e1890deb7717fe9b2afc133d41..42d09c3e9eaecff5b277e10a724ebfb857a91c8b 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/jpa/UserRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository.jpa; +package at.tuwien.repository.mdb; import at.tuwien.entities.user.User; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/elastic/TableColumnIdxRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/sdb/TableColumnIdxRepository.java similarity index 67% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/elastic/TableColumnIdxRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/sdb/TableColumnIdxRepository.java index 7df09d4e44e484f1e1a79beb9cd81c294b34d103..7fcd93f71355f255332880e121adeaca01aff919 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/elastic/TableColumnIdxRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/sdb/TableColumnIdxRepository.java @@ -1,9 +1,10 @@ -package at.tuwien.repository.elastic; +package at.tuwien.repository.sdb; import at.tuwien.api.database.table.columns.ColumnDto; +import at.tuwien.api.database.table.columns.ColumnKeyDto; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.stereotype.Repository; @Repository -public interface TableColumnIdxRepository extends ElasticsearchRepository<ColumnDto, Long> { +public interface TableColumnIdxRepository extends ElasticsearchRepository<ColumnDto, ColumnKeyDto> { } \ No newline at end of file diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/elastic/TableIdxRepository.java b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/sdb/TableIdxRepository.java similarity index 69% rename from dbrepo-table-service/services/src/main/java/at/tuwien/repository/elastic/TableIdxRepository.java rename to dbrepo-table-service/services/src/main/java/at/tuwien/repository/sdb/TableIdxRepository.java index ce6e8a0975a29bdcddaa03d316d0b158c1fd8139..f672e53c3bea431ed051e2965c79a0db731b3937 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/repository/elastic/TableIdxRepository.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/repository/sdb/TableIdxRepository.java @@ -1,9 +1,10 @@ -package at.tuwien.repository.elastic; +package at.tuwien.repository.sdb; import at.tuwien.api.database.table.TableDto; +import at.tuwien.entities.database.table.TableKey; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.stereotype.Repository; @Repository -public interface TableIdxRepository extends ElasticsearchRepository<TableDto, Long> { +public interface TableIdxRepository extends ElasticsearchRepository<TableDto, TableKey> { } \ No newline at end of file diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java index 91d4f41a8a4078d50971f24139efa933b73cd508..85fc7196d4adc6e86bdb84f68ffdfb88d48fec6b 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java @@ -3,7 +3,7 @@ package at.tuwien.service.impl; import at.tuwien.entities.database.DatabaseAccess; import at.tuwien.exception.AccessDeniedException; import at.tuwien.exception.NotAllowedException; -import at.tuwien.repository.jpa.DatabaseAccessRepository; +import at.tuwien.repository.mdb.DatabaseAccessRepository; import at.tuwien.service.AccessService; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceImpl.java b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceImpl.java index 35f7e99b84f038e2ee9e073ab80953378ac52a1b..13d425c5a9ed1a1524997d27348b89db9ce49e1d 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceImpl.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceImpl.java @@ -2,7 +2,7 @@ package at.tuwien.service.impl; import at.tuwien.entities.container.Container; import at.tuwien.exception.ContainerNotFoundException; -import at.tuwien.repository.jpa.ContainerRepository; +import at.tuwien.repository.mdb.ContainerRepository; import at.tuwien.service.ContainerService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java index ff16e63370f98039bbab81ff7ed26dc9dd619bea..a4437d6461f47a9bf441eb448b9574974e0acc64 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java @@ -2,13 +2,12 @@ package at.tuwien.service.impl; import at.tuwien.entities.database.Database; import at.tuwien.exception.DatabaseNotFoundException; -import at.tuwien.repository.jpa.DatabaseRepository; +import at.tuwien.repository.mdb.DatabaseRepository; import at.tuwien.service.DatabaseService; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.security.Principal; import java.util.Optional; @Log4j2 diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/RabbitMqService.java b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/RabbitMqService.java index 29d7a97826d4d04d197b541a61e0d231a014540b..1984eaf285320a5ab1a242e845047f1e37c6282e 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/RabbitMqService.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/RabbitMqService.java @@ -2,7 +2,7 @@ package at.tuwien.service.impl; import at.tuwien.entities.database.table.Table; import at.tuwien.exception.*; -import at.tuwien.repository.jpa.TableRepository; +import at.tuwien.repository.mdb.TableRepository; import at.tuwien.service.MessageQueueService; import com.rabbitmq.client.*; import lombok.extern.log4j.Log4j2; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/SemanticServiceImpl.java b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/SemanticServiceImpl.java index 94cd509ae86317051719b0c6e8027ef7d8940d44..fd1954ddd9ba6b887b976812bd2d9d4e97ab3748 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/SemanticServiceImpl.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/SemanticServiceImpl.java @@ -8,9 +8,9 @@ import at.tuwien.exception.SemanticEntityNotFoundException; import at.tuwien.exception.UnitNotFoundException; import at.tuwien.gateway.SemanticServiceGateway; import at.tuwien.mapper.TableMapper; -import at.tuwien.repository.jpa.ConceptRepository; -import at.tuwien.repository.jpa.OntologyRepository; -import at.tuwien.repository.jpa.UnitRepository; +import at.tuwien.repository.mdb.ConceptRepository; +import at.tuwien.repository.mdb.OntologyRepository; +import at.tuwien.repository.mdb.UnitRepository; import at.tuwien.service.SemanticService; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java index c0b1681e8b6da198b7e3fadcadd1c47ca6ab32ce..aada8f5a9261ae76cf93ad29771d2e83f8688fb0 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java @@ -10,10 +10,10 @@ import at.tuwien.entities.database.table.columns.TableColumn; import at.tuwien.entities.user.User; import at.tuwien.exception.*; import at.tuwien.mapper.TableMapper; -import at.tuwien.repository.elastic.TableColumnIdxRepository; -import at.tuwien.repository.elastic.TableIdxRepository; -import at.tuwien.repository.jpa.TableColumnRepository; -import at.tuwien.repository.jpa.TableRepository; +import at.tuwien.repository.mdb.TableColumnRepository; +import at.tuwien.repository.mdb.TableRepository; +import at.tuwien.repository.sdb.TableColumnIdxRepository; +import at.tuwien.repository.sdb.TableIdxRepository; import at.tuwien.service.*; import com.mchange.v2.c3p0.ComboPooledDataSource; import lombok.extern.log4j.Log4j2; @@ -46,7 +46,7 @@ public class TableServiceImpl extends HibernateConnector implements TableService public TableServiceImpl(TableMapper tableMapper, UserService userService, SemanticService semanticService, TableRepository tableRepository, DatabaseService databaseService, ContainerService containerService, TableIdxRepository tableIdxRepository, - TableColumnRepository tableColumnRepository, + at.tuwien.repository.mdb.TableColumnRepository tableColumnRepository, TableColumnIdxRepository tableColumnIdxRepository) { this.tableMapper = tableMapper; this.userService = userService; diff --git a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java index 2c7df8b36c10c7ce06a26808f63422a0ccc30c93..47f1ac286b3fa39407359baf5cdc58a4f8d700f5 100644 --- a/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java +++ b/dbrepo-table-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java @@ -2,7 +2,7 @@ package at.tuwien.service.impl; import at.tuwien.entities.user.User; import at.tuwien.exception.UserNotFoundException; -import at.tuwien.repository.jpa.UserRepository; +import at.tuwien.repository.mdb.UserRepository; import at.tuwien.service.UserService; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; diff --git a/dbrepo-user-service/pom.xml b/dbrepo-user-service/pom.xml index dad7c33127b212198300dfd352c13deb04495e6f..3c8f18b805984543eb4e7a6c2638d03c74816824 100644 --- a/dbrepo-user-service/pom.xml +++ b/dbrepo-user-service/pom.xml @@ -52,7 +52,7 @@ <keycloak.version>21.0.2</keycloak.version> <hibernate.version>6.2.2.Final</hibernate.version> <springdoc-openapi.version>2.1.0</springdoc-openapi.version> - <opensearch.version>1.1.0</opensearch.version> + <opensearch-client.version>1.1.0</opensearch-client.version> </properties> <dependencies> @@ -118,8 +118,8 @@ </dependency> <dependency> <groupId>org.opensearch.client</groupId> - <artifactId>spring-data-opensearch-starter</artifactId> - <version>${opensearch.version}</version> + <artifactId>spring-data-opensearch</artifactId> + <version>${opensearch-client.version}</version> </dependency> <!-- Swagger --> <dependency> diff --git a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/FdaUserServiceApplication.java b/dbrepo-user-service/rest-service/src/main/java/at/tuwien/FdaUserServiceApplication.java index 4a6c3dff083b1ec4214b2f19a07d3839e6298368..02166da7eeb020308238d4d64026469123c4b827 100644 --- a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/FdaUserServiceApplication.java +++ b/dbrepo-user-service/rest-service/src/main/java/at/tuwien/FdaUserServiceApplication.java @@ -2,6 +2,7 @@ package at.tuwien; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; 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 910db255f153dbfc1c9769c9b1fbf8072ebc0d7a..345863caf4d9a8fa0570fd950a03c6b771804d50 100644 --- a/dbrepo-user-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-user-service/rest-service/src/main/resources/application.yml @@ -1,6 +1,8 @@ app.version: '@project.version@' spring: main.banner-mode: off + autoconfigure: + exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration datasource: url: "jdbc:mariadb://metadata-db:3306/${METADATA_DB}" driver-class-name: org.mariadb.jdbc.Driver