diff --git a/fda-container-service/pom.xml b/fda-container-service/pom.xml index 77e5f15697b13ce658865327c53bc0a79a8e69b4..20746acbbd3f99c65fe7173a8e9b46b21e00c0d5 100644 --- a/fda-container-service/pom.xml +++ b/fda-container-service/pom.xml @@ -56,6 +56,10 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> + <dependency> + <groupId>org.springframework.data</groupId> + <artifactId>spring-data-elasticsearch</artifactId> + </dependency> <!-- Entity and API --> <dependency> <groupId>at.tuwien</groupId> diff --git a/fda-container-service/rest-service/src/main/java/at/tuwien/FdaContainerManagingApplication.java b/fda-container-service/rest-service/src/main/java/at/tuwien/FdaContainerManagingApplication.java index b00ea3d5c41cede395978ca06bc92c224c946cef..e8d21c944edaef7fa5bc0d863b708e344b05ebdc 100644 --- a/fda-container-service/rest-service/src/main/java/at/tuwien/FdaContainerManagingApplication.java +++ b/fda-container-service/rest-service/src/main/java/at/tuwien/FdaContainerManagingApplication.java @@ -3,6 +3,7 @@ package at.tuwien; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import springfox.documentation.oas.annotations.EnableOpenApi; @@ -10,7 +11,8 @@ import springfox.documentation.oas.annotations.EnableOpenApi; @SpringBootApplication @EnableJpaAuditing @EnableOpenApi -@EnableJpaRepositories(basePackages = {"at.tuwien.repository"}) +@EnableElasticsearchRepositories(basePackages = {"at.tuwien.repository.elastic"}) +@EnableJpaRepositories(basePackages = {"at.tuwien.repository.jpa"}) @EntityScan(basePackages = {"at.tuwien.entities"}) public class FdaContainerManagingApplication { diff --git a/fda-container-service/rest-service/src/test/java/at/tuwien/endpoint/ContainerEndpointUnitTest.java b/fda-container-service/rest-service/src/test/java/at/tuwien/endpoint/ContainerEndpointUnitTest.java index ca0f6369071ace05498bbe0b5b6162a23bd54909..e88cec86ea76d613d599ce87217ab8a00c2b4ed2 100644 --- a/fda-container-service/rest-service/src/test/java/at/tuwien/endpoint/ContainerEndpointUnitTest.java +++ b/fda-container-service/rest-service/src/test/java/at/tuwien/endpoint/ContainerEndpointUnitTest.java @@ -4,7 +4,7 @@ import at.tuwien.BaseUnitTest; import at.tuwien.api.container.*; import at.tuwien.endpoints.ContainerEndpoint; import at.tuwien.exception.*; -import at.tuwien.repository.ImageRepository; +import at.tuwien.repository.jpa.ImageRepository; import at.tuwien.service.ContainerService; import com.github.dockerjava.api.DockerClient; import org.junit.jupiter.api.Disabled; diff --git a/fda-container-service/rest-service/src/test/java/at/tuwien/endpoint/ImageEndpointUnitTest.java b/fda-container-service/rest-service/src/test/java/at/tuwien/endpoint/ImageEndpointUnitTest.java index f72b9fe08db170f47a42af986748f94ff9bc7a40..b2cf4843528035779830833f1d5ab87daf9a8b6a 100644 --- a/fda-container-service/rest-service/src/test/java/at/tuwien/endpoint/ImageEndpointUnitTest.java +++ b/fda-container-service/rest-service/src/test/java/at/tuwien/endpoint/ImageEndpointUnitTest.java @@ -1,20 +1,13 @@ package at.tuwien.endpoint; import at.tuwien.BaseUnitTest; -import at.tuwien.api.container.*; import at.tuwien.api.container.image.ImageBriefDto; import at.tuwien.api.container.image.ImageChangeDto; import at.tuwien.api.container.image.ImageCreateDto; import at.tuwien.api.container.image.ImageDto; -import at.tuwien.endpoints.ContainerEndpoint; import at.tuwien.endpoints.ImageEndpoint; -import at.tuwien.entities.container.image.ContainerImage; import at.tuwien.exception.*; -import at.tuwien.repository.ImageRepository; -import at.tuwien.service.ContainerService; import at.tuwien.service.ImageService; -import com.github.dockerjava.api.DockerClient; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -24,11 +17,8 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit.jupiter.SpringExtension; -import javax.persistence.EntityNotFoundException; -import java.awt.*; import java.util.List; import java.util.Objects; -import java.util.Optional; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; diff --git a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java index adc106870a32e63d254bc76c93f9174ac257497b..162371f14ba761f98dfd4d2f0c022b17e2f253aa 100644 --- a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java +++ b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java @@ -5,8 +5,8 @@ import at.tuwien.api.container.ContainerCreateRequestDto; import at.tuwien.api.container.ContainerStateDto; import at.tuwien.entities.container.Container; import at.tuwien.exception.*; -import at.tuwien.repository.ContainerRepository; -import at.tuwien.repository.ImageRepository; +import at.tuwien.repository.jpa.ContainerRepository; +import at.tuwien.repository.jpa.ImageRepository; import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.command.CreateContainerResponse; import com.github.dockerjava.api.exception.NotModifiedException; @@ -22,7 +22,6 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; -import java.util.List; import java.util.Map; import static org.junit.jupiter.api.Assertions.*; diff --git a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceUnitTest.java b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceUnitTest.java index 325837a3a884bf47d0d9b71cfe5ca6f9a397d823..094b9f842ea4f326a6b7298888e0f5dec9b26cb1 100644 --- a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceUnitTest.java +++ b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceUnitTest.java @@ -7,8 +7,8 @@ import at.tuwien.exception.ContainerNotFoundException; import at.tuwien.exception.ContainerStillRunningException; import at.tuwien.exception.DockerClientException; import at.tuwien.exception.ImageNotFoundException; -import at.tuwien.repository.ContainerRepository; -import at.tuwien.repository.ImageRepository; +import at.tuwien.repository.jpa.ContainerRepository; +import at.tuwien.repository.jpa.ImageRepository; import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.exception.ConflictException; import com.github.dockerjava.api.exception.NotFoundException; diff --git a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceIntegrationTest.java b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceIntegrationTest.java index 0475a834bca22ec629d17af4849b403a6975a687..6eabfe4db10277e1f3438c457b1a7ae4994c0eb0 100644 --- a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceIntegrationTest.java +++ b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceIntegrationTest.java @@ -3,8 +3,8 @@ package at.tuwien.service; import at.tuwien.BaseUnitTest; import at.tuwien.api.container.image.ImageCreateDto; import at.tuwien.exception.*; -import at.tuwien.repository.ContainerRepository; -import at.tuwien.repository.ImageRepository; +import at.tuwien.repository.jpa.ContainerRepository; +import at.tuwien.repository.jpa.ImageRepository; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; diff --git a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java index c018a89a185f6f3933f8a93f29a415985bfb65ba..5e7a1c67de4d95ea503305187c2b198fb09f474b 100644 --- a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java +++ b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java @@ -1,20 +1,12 @@ package at.tuwien.service; import at.tuwien.BaseUnitTest; -import at.tuwien.api.container.ContainerCreateRequestDto; import at.tuwien.api.container.image.ImageChangeDto; import at.tuwien.api.container.image.ImageCreateDto; import at.tuwien.api.container.image.ImageEnvItemDto; -import at.tuwien.entities.container.Container; import at.tuwien.entities.container.image.ContainerImage; import at.tuwien.exception.*; -import at.tuwien.repository.ContainerRepository; -import at.tuwien.repository.ImageRepository; -import com.github.dockerjava.api.DockerClient; -import com.github.dockerjava.api.exception.ConflictException; -import com.github.dockerjava.api.exception.NotFoundException; -import com.github.dockerjava.api.exception.NotModifiedException; -import org.junit.jupiter.api.Disabled; +import at.tuwien.repository.jpa.ImageRepository; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; diff --git a/fda-container-service/services/src/main/java/at/tuwien/repository/elastic/DatabaseRepository.java b/fda-container-service/services/src/main/java/at/tuwien/repository/elastic/DatabaseRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..aa60a6dbbcdd124de8a38c4098ee43c7115df16f --- /dev/null +++ b/fda-container-service/services/src/main/java/at/tuwien/repository/elastic/DatabaseRepository.java @@ -0,0 +1,9 @@ +package at.tuwien.repository.elastic; + +import at.tuwien.entities.database.Database; +import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; +import org.springframework.stereotype.Repository; + +@Repository(value = "ElasticDatabaseService") +public interface DatabaseRepository extends ElasticsearchRepository<Database, Long> { +} \ No newline at end of file diff --git a/fda-container-service/services/src/main/java/at/tuwien/repository/ContainerRepository.java b/fda-container-service/services/src/main/java/at/tuwien/repository/jpa/ContainerRepository.java similarity index 93% rename from fda-container-service/services/src/main/java/at/tuwien/repository/ContainerRepository.java rename to fda-container-service/services/src/main/java/at/tuwien/repository/jpa/ContainerRepository.java index ecb94fbb56e547ea156d42fa0b7e5b04d7a8cf06..7220b72a360ef4ca166b94e0d6f57091476cd754 100644 --- a/fda-container-service/services/src/main/java/at/tuwien/repository/ContainerRepository.java +++ b/fda-container-service/services/src/main/java/at/tuwien/repository/jpa/ContainerRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository; +package at.tuwien.repository.jpa; import at.tuwien.entities.container.Container; import at.tuwien.entities.container.image.ContainerImage; diff --git a/fda-container-service/services/src/main/java/at/tuwien/repository/ImageRepository.java b/fda-container-service/services/src/main/java/at/tuwien/repository/jpa/ImageRepository.java similarity index 91% rename from fda-container-service/services/src/main/java/at/tuwien/repository/ImageRepository.java rename to fda-container-service/services/src/main/java/at/tuwien/repository/jpa/ImageRepository.java index 7094708e797007f46b4a368267684c9c888caad4..ca60fb1a740ae2047029d977b8ed96acae270c83 100644 --- a/fda-container-service/services/src/main/java/at/tuwien/repository/ImageRepository.java +++ b/fda-container-service/services/src/main/java/at/tuwien/repository/jpa/ImageRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository; +package at.tuwien.repository.jpa; import at.tuwien.entities.container.image.ContainerImage; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/fda-container-service/services/src/main/java/at/tuwien/service/ContainerService.java b/fda-container-service/services/src/main/java/at/tuwien/service/ContainerService.java index 4468a293af7f600692d71ea61b2d3dce5caf92ee..86567866a3e02770a0f49509b56fa63688edcbd9 100644 --- a/fda-container-service/services/src/main/java/at/tuwien/service/ContainerService.java +++ b/fda-container-service/services/src/main/java/at/tuwien/service/ContainerService.java @@ -9,8 +9,8 @@ import at.tuwien.entities.container.image.ContainerImage; import at.tuwien.exception.*; import at.tuwien.mapper.ContainerMapper; import at.tuwien.mapper.ImageMapper; -import at.tuwien.repository.ContainerRepository; -import at.tuwien.repository.ImageRepository; +import at.tuwien.repository.jpa.ContainerRepository; +import at.tuwien.repository.jpa.ImageRepository; import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.command.CreateContainerResponse; import com.github.dockerjava.api.command.InspectContainerResponse; @@ -27,8 +27,6 @@ import org.springframework.util.SocketUtils; import org.springframework.transaction.annotation.Transactional; -import java.io.IOException; -import java.net.*; import java.time.Instant; import java.util.HashMap; import java.util.List; diff --git a/fda-container-service/services/src/main/java/at/tuwien/service/ImageService.java b/fda-container-service/services/src/main/java/at/tuwien/service/ImageService.java index 6bbf84dc4d5301a1a350828b7282fbed6f5a7fab..0f1aca16858751ba5e5c53976e62c8e572f4deb8 100644 --- a/fda-container-service/services/src/main/java/at/tuwien/service/ImageService.java +++ b/fda-container-service/services/src/main/java/at/tuwien/service/ImageService.java @@ -2,15 +2,14 @@ package at.tuwien.service; import at.tuwien.api.container.image.ImageChangeDto; import at.tuwien.api.container.image.ImageCreateDto; -import at.tuwien.entities.container.Container; import at.tuwien.entities.container.image.ContainerImage; import at.tuwien.exception.DockerClientException; import at.tuwien.exception.ImageAlreadyExistsException; import at.tuwien.exception.ImageNotFoundException; import at.tuwien.exception.PersistenceException; import at.tuwien.mapper.ImageMapper; -import at.tuwien.repository.ContainerRepository; -import at.tuwien.repository.ImageRepository; +import at.tuwien.repository.jpa.ContainerRepository; +import at.tuwien.repository.jpa.ImageRepository; import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.async.ResultCallback; import com.github.dockerjava.api.command.InspectImageResponse; @@ -25,7 +24,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.persistence.EntityNotFoundException; -import javax.persistence.Persistence; import javax.validation.ConstraintViolationException; import java.time.Duration; import java.time.Instant; diff --git a/fda-database-service/services/src/main/java/at/tuwien/entities/Database.java b/fda-database-service/services/src/main/java/at/tuwien/entities/Database.java deleted file mode 100644 index 68f4983c5f1f1ff05a68f41c09720400ce453154..0000000000000000000000000000000000000000 --- a/fda-database-service/services/src/main/java/at/tuwien/entities/Database.java +++ /dev/null @@ -1,7 +0,0 @@ -package at.tuwien.entities; - -import org.springframework.data.elasticsearch.annotations.Document; - -@Document(indexName = "databaseindex") -public class Database extends at.tuwien.entities.database.Database { -} diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java index 253d3006762e075c2c8ec568311a58f731100858..b8b82717e6fb9f40b597cf62334d85ceff91bf7b 100644 --- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java +++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/Database.java @@ -6,6 +6,7 @@ import lombok.*; import org.hibernate.annotations.GenericGenerator; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; +import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax.persistence.*; @@ -17,6 +18,7 @@ import java.util.List; @Builder @AllArgsConstructor @NoArgsConstructor +@Document(indexName = "databaseindex") @ToString(onlyExplicitlyIncluded = true) @EntityListeners(AuditingEntityListener.class) @EqualsAndHashCode(onlyExplicitlyIncluded = true) diff --git a/fda-metadata-db/pom.xml b/fda-metadata-db/pom.xml index 6a54bdda9b17b31af15e24314ac3e9bdafceee75..f94d46424cc831ac60173b4ef8b653b900dfa7c4 100644 --- a/fda-metadata-db/pom.xml +++ b/fda-metadata-db/pom.xml @@ -58,6 +58,10 @@ <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> + <dependency> + <groupId>org.springframework.data</groupId> + <artifactId>spring-data-elasticsearch</artifactId> + </dependency> <!-- IDE --> <dependency> <groupId>org.projectlombok</groupId> diff --git a/fda-query-service/pom.xml b/fda-query-service/pom.xml index 3747a474fef4ff38cfc946bb2621f8aafde7ccc1..2050b7b790e875d3b8080149d14acf6c75c92df2 100644 --- a/fda-query-service/pom.xml +++ b/fda-query-service/pom.xml @@ -59,6 +59,10 @@ <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> </dependency> + <dependency> + <groupId>org.springframework.data</groupId> + <artifactId>spring-data-elasticsearch</artifactId> + </dependency> <!-- IDE --> <dependency> <groupId>org.projectlombok</groupId> diff --git a/fda-query-service/rest-service/src/main/java/at/tuwien/FdaQueryServiceApplication.java b/fda-query-service/rest-service/src/main/java/at/tuwien/FdaQueryServiceApplication.java index 857e6b34b27b2aee8a8330ea2201e5c403d24d3d..3074ec598d0885541498d2234f8645e1ab681d3a 100644 --- a/fda-query-service/rest-service/src/main/java/at/tuwien/FdaQueryServiceApplication.java +++ b/fda-query-service/rest-service/src/main/java/at/tuwien/FdaQueryServiceApplication.java @@ -3,6 +3,7 @@ package at.tuwien; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -14,7 +15,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; @SpringBootApplication @EnableTransactionManagement @EntityScan(basePackages = "at.tuwien.entities") -@EnableJpaRepositories(basePackages = {"at.tuwien.repository"}) +@EnableElasticsearchRepositories(basePackages = {"at.tuwien.repository.elastic"}) +@EnableJpaRepositories(basePackages = {"at.tuwien.repository.jpa"}) public class FdaQueryServiceApplication { public static void main(String[] args) { diff --git a/fda-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceUnitTest.java b/fda-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceUnitTest.java index 324be2c08d13284e0f43477f47fcdc59e671fc03..98248fb8eb732b689f99a5193a0109f2cac29b80 100644 --- a/fda-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceUnitTest.java +++ b/fda-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceUnitTest.java @@ -6,7 +6,7 @@ import at.tuwien.exception.DatabaseConnectionException; import at.tuwien.exception.DatabaseNotFoundException; import at.tuwien.exception.ImageNotSupportedException; import at.tuwien.exception.QueryMalformedException; -import at.tuwien.repository.DatabaseRepository; +import at.tuwien.repository.jpa.DatabaseRepository; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; diff --git a/fda-query-service/services/src/main/java/at/tuwien/repository/elastic/DatabaseRepository.java b/fda-query-service/services/src/main/java/at/tuwien/repository/elastic/DatabaseRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..aa60a6dbbcdd124de8a38c4098ee43c7115df16f --- /dev/null +++ b/fda-query-service/services/src/main/java/at/tuwien/repository/elastic/DatabaseRepository.java @@ -0,0 +1,9 @@ +package at.tuwien.repository.elastic; + +import at.tuwien.entities.database.Database; +import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; +import org.springframework.stereotype.Repository; + +@Repository(value = "ElasticDatabaseService") +public interface DatabaseRepository extends ElasticsearchRepository<Database, Long> { +} \ No newline at end of file diff --git a/fda-query-service/services/src/main/java/at/tuwien/repository/DatabaseRepository.java b/fda-query-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseRepository.java similarity index 88% rename from fda-query-service/services/src/main/java/at/tuwien/repository/DatabaseRepository.java rename to fda-query-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseRepository.java index 3ad63e9e3a68840c5f793936e3e2391728e5735d..1d03fa3690e3e2637c0693550481f2ec97a62d47 100644 --- a/fda-query-service/services/src/main/java/at/tuwien/repository/DatabaseRepository.java +++ b/fda-query-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository; +package at.tuwien.repository.jpa; import at.tuwien.entities.database.Database; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/fda-query-service/services/src/main/java/at/tuwien/service/QueryService.java b/fda-query-service/services/src/main/java/at/tuwien/service/QueryService.java index e620b31868a46f665aadbd48403a14a4becb3233..59ef186ea09e63c59c957c1604d3cdacc128bcd9 100644 --- a/fda-query-service/services/src/main/java/at/tuwien/service/QueryService.java +++ b/fda-query-service/services/src/main/java/at/tuwien/service/QueryService.java @@ -1,6 +1,5 @@ package at.tuwien.service; -import at.tuwien.api.database.query.ExecuteQueryDto; import at.tuwien.api.database.query.QueryResultDto; import at.tuwien.entities.database.Database; import at.tuwien.entities.database.query.Query; @@ -8,7 +7,7 @@ import at.tuwien.exception.DatabaseConnectionException; import at.tuwien.exception.DatabaseNotFoundException; import at.tuwien.exception.ImageNotSupportedException; import at.tuwien.exception.QueryMalformedException; -import at.tuwien.repository.DatabaseRepository; +import at.tuwien.repository.jpa.DatabaseRepository; import lombok.extern.log4j.Log4j2; import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserManager; @@ -23,7 +22,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.persistence.EntityNotFoundException; import java.io.StringReader; import java.sql.SQLFeatureNotSupportedException; -import java.sql.SQLSyntaxErrorException; import java.sql.Timestamp; import java.util.List; import java.util.Optional; diff --git a/fda-table-service/pom.xml b/fda-table-service/pom.xml index 084fb670bed029e6ef24fb91e8dec713d8d47675..8a2ceab36fa2cf151ecda455876cbecb13d5db56 100644 --- a/fda-table-service/pom.xml +++ b/fda-table-service/pom.xml @@ -72,6 +72,10 @@ <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> </dependency> + <dependency> + <groupId>org.springframework.data</groupId> + <artifactId>spring-data-elasticsearch</artifactId> + </dependency> <dependency> <groupId>org.mariadb.jdbc</groupId> <artifactId>mariadb-java-client</artifactId> diff --git a/fda-table-service/rest-service/src/main/java/at/tuwien/FdaTableServiceApplication.java b/fda-table-service/rest-service/src/main/java/at/tuwien/FdaTableServiceApplication.java index c3c1fbfeb1830f28f0907db2800db52142d371fd..90bb253a4c549241394f0696b4b094faa9b46ab4 100644 --- a/fda-table-service/rest-service/src/main/java/at/tuwien/FdaTableServiceApplication.java +++ b/fda-table-service/rest-service/src/main/java/at/tuwien/FdaTableServiceApplication.java @@ -3,6 +3,7 @@ package at.tuwien; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.jpa.repository.config.EnableJpaAuditing; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -13,7 +14,8 @@ import springfox.documentation.oas.annotations.EnableOpenApi; @EnableJpaAuditing @EnableOpenApi @EnableTransactionManagement -@EnableJpaRepositories(basePackages = {"at.tuwien.repository"}) +@EnableElasticsearchRepositories(basePackages = {"at.tuwien.repository.elastic"}) +@EnableJpaRepositories(basePackages = {"at.tuwien.repository.jpa"}) @EntityScan(basePackages = {"at.tuwien.entities"}) public class FdaTableServiceApplication { diff --git a/fda-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java b/fda-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java index b421f2f3944aff6599fa790538d897c8383c898f..3b8185282282c0d59020a78484b2963cb7250148 100644 --- a/fda-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java +++ b/fda-table-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java @@ -4,15 +4,11 @@ import at.tuwien.BaseUnitTest; import at.tuwien.api.database.table.TableBriefDto; import at.tuwien.api.database.table.TableCreateDto; import at.tuwien.api.database.table.TableDto; -import at.tuwien.api.database.table.TableInsertDto; import at.tuwien.endpoints.TableEndpoint; -import at.tuwien.entities.database.Database; import at.tuwien.exception.*; -import at.tuwien.repository.DatabaseRepository; -import at.tuwien.repository.TableRepository; +import at.tuwien.repository.jpa.DatabaseRepository; +import at.tuwien.repository.jpa.TableRepository; import at.tuwien.service.TableService; -import com.opencsv.exceptions.CsvException; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -20,13 +16,8 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.context.junit.jupiter.SpringExtension; -import org.springframework.util.ResourceUtils; -import java.io.IOException; -import java.nio.file.Files; -import java.sql.SQLException; import java.util.List; import java.util.Objects; import java.util.Optional; diff --git a/fda-table-service/rest-service/src/test/java/at/tuwien/mapper/TableMapperIntegrationTest.java b/fda-table-service/rest-service/src/test/java/at/tuwien/mapper/TableMapperIntegrationTest.java index c7a8d2dfeb73ceb7d6bff12eecbfba98511b7817..39b0a8c0e1afed8a1c3887e322c6aaaf152dad0d 100644 --- a/fda-table-service/rest-service/src/test/java/at/tuwien/mapper/TableMapperIntegrationTest.java +++ b/fda-table-service/rest-service/src/test/java/at/tuwien/mapper/TableMapperIntegrationTest.java @@ -7,15 +7,14 @@ import at.tuwien.api.database.table.columns.ColumnTypeDto; import at.tuwien.exception.ArbitraryPrimaryKeysException; import at.tuwien.exception.ImageNotSupportedException; import at.tuwien.exception.TableMalformedException; -import at.tuwien.repository.DatabaseRepository; -import at.tuwien.repository.ImageRepository; +import at.tuwien.repository.jpa.DatabaseRepository; +import at.tuwien.repository.jpa.ImageRepository; import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.command.CreateContainerResponse; import com.github.dockerjava.api.exception.NotModifiedException; import com.github.dockerjava.api.model.HostConfig; import com.github.dockerjava.api.model.PortBinding; import lombok.extern.log4j.Log4j2; -import org.apache.commons.lang.SerializationUtils; import org.jooq.*; import org.jooq.impl.DSL; import org.junit.jupiter.api.AfterEach; @@ -29,12 +28,10 @@ import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.annotation.Transactional; -import javax.validation.constraints.NotNull; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.*; -import java.util.stream.Collectors; import static org.jooq.impl.DSL.table; import static org.junit.jupiter.api.Assertions.*; diff --git a/fda-table-service/rest-service/src/test/java/at/tuwien/service/ImportServiceIntegrationTest.java b/fda-table-service/rest-service/src/test/java/at/tuwien/service/ImportServiceIntegrationTest.java index acf9ce6b2b3ac420c7fda7318cd35f7aea22f92f..29392ab82e2dd3745d2d02785b8d6657fc74e24e 100644 --- a/fda-table-service/rest-service/src/test/java/at/tuwien/service/ImportServiceIntegrationTest.java +++ b/fda-table-service/rest-service/src/test/java/at/tuwien/service/ImportServiceIntegrationTest.java @@ -5,10 +5,10 @@ import at.tuwien.api.database.table.TableCreateDto; import at.tuwien.api.database.table.TableInsertDto; import at.tuwien.entities.database.table.Table; import at.tuwien.exception.*; -import at.tuwien.repository.ContainerRepository; -import at.tuwien.repository.DatabaseRepository; -import at.tuwien.repository.ImageRepository; -import at.tuwien.repository.TableRepository; +import at.tuwien.repository.jpa.ContainerRepository; +import at.tuwien.repository.jpa.DatabaseRepository; +import at.tuwien.repository.jpa.ImageRepository; +import at.tuwien.repository.jpa.TableRepository; import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.command.CreateContainerResponse; import com.github.dockerjava.api.exception.NotModifiedException; @@ -21,16 +21,10 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.ResourceUtils; -import org.springframework.web.multipart.MultipartFile; -import org.synchronoss.cloud.nio.multipart.Multipart; -import java.io.IOException; -import java.nio.file.Files; import java.util.Arrays; import java.util.Optional; diff --git a/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java b/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java index b22b55afffb10b9024a04b563456dc11705f2165..6bf1fe24cd4b71a596977d7056bf336566a4216d 100644 --- a/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java +++ b/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java @@ -2,13 +2,12 @@ package at.tuwien.service; import at.tuwien.BaseUnitTest; import at.tuwien.api.database.table.TableCreateDto; -import at.tuwien.api.database.table.TableInsertDto; import at.tuwien.entities.database.table.Table; import at.tuwien.exception.*; -import at.tuwien.repository.ContainerRepository; -import at.tuwien.repository.DatabaseRepository; -import at.tuwien.repository.ImageRepository; -import at.tuwien.repository.TableRepository; +import at.tuwien.repository.jpa.ContainerRepository; +import at.tuwien.repository.jpa.DatabaseRepository; +import at.tuwien.repository.jpa.ImageRepository; +import at.tuwien.repository.jpa.TableRepository; import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.api.command.CreateContainerResponse; import com.github.dockerjava.api.exception.NotModifiedException; @@ -18,16 +17,11 @@ import org.junit.jupiter.api.*; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.ResourceUtils; -import java.io.IOException; -import java.nio.file.Files; import java.util.Arrays; -import java.util.Optional; import static org.junit.jupiter.api.Assertions.*; diff --git a/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java b/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java index 3d672928ce6e75a6fb7e7e982197b82c58f97d5d..0e8d160abe0fc636d03351d2988dabf1f700062b 100644 --- a/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java +++ b/fda-table-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java @@ -5,8 +5,8 @@ import at.tuwien.api.database.table.TableCsvDto; import at.tuwien.api.database.table.TableInsertDto; import at.tuwien.entities.database.table.Table; import at.tuwien.exception.*; -import at.tuwien.repository.DatabaseRepository; -import at.tuwien.repository.TableRepository; +import at.tuwien.repository.jpa.DatabaseRepository; +import at.tuwien.repository.jpa.TableRepository; import com.opencsv.exceptions.CsvException; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; diff --git a/fda-table-service/services/src/main/java/at/tuwien/repository/elastic/DatabaseRepository.java b/fda-table-service/services/src/main/java/at/tuwien/repository/elastic/DatabaseRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..aa60a6dbbcdd124de8a38c4098ee43c7115df16f --- /dev/null +++ b/fda-table-service/services/src/main/java/at/tuwien/repository/elastic/DatabaseRepository.java @@ -0,0 +1,9 @@ +package at.tuwien.repository.elastic; + +import at.tuwien.entities.database.Database; +import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; +import org.springframework.stereotype.Repository; + +@Repository(value = "ElasticDatabaseService") +public interface DatabaseRepository extends ElasticsearchRepository<Database, Long> { +} \ No newline at end of file diff --git a/fda-table-service/services/src/main/java/at/tuwien/repository/ContainerRepository.java b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ContainerRepository.java similarity index 88% rename from fda-table-service/services/src/main/java/at/tuwien/repository/ContainerRepository.java rename to fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ContainerRepository.java index ae72a7d1feaabbaf1a9a27a890feae604a5a8343..39566b1cc0c471f71212f9319e1497d0e3dcac66 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/repository/ContainerRepository.java +++ b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ContainerRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository; +package at.tuwien.repository.jpa; import at.tuwien.entities.container.Container; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/fda-table-service/services/src/main/java/at/tuwien/repository/DatabaseRepository.java b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseRepository.java similarity index 88% rename from fda-table-service/services/src/main/java/at/tuwien/repository/DatabaseRepository.java rename to fda-table-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseRepository.java index 7ce19f928d2031dbf0cf01af25fa89043af72f50..35ca349b07cab2ee44e5c0d145d37084b2a836f0 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/repository/DatabaseRepository.java +++ b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/DatabaseRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository; +package at.tuwien.repository.jpa; import at.tuwien.entities.database.Database; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/fda-table-service/services/src/main/java/at/tuwien/repository/ImageRepository.java b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageRepository.java similarity index 88% rename from fda-table-service/services/src/main/java/at/tuwien/repository/ImageRepository.java rename to fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageRepository.java index 92d114decede0954b1993032403e011f40186052..247ce97770d636831aef83e8cc1a471ed67019a9 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/repository/ImageRepository.java +++ b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ImageRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository; +package at.tuwien.repository.jpa; import at.tuwien.entities.container.image.ContainerImage; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/fda-table-service/services/src/main/java/at/tuwien/repository/TableRepository.java b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/TableRepository.java similarity index 94% rename from fda-table-service/services/src/main/java/at/tuwien/repository/TableRepository.java rename to fda-table-service/services/src/main/java/at/tuwien/repository/jpa/TableRepository.java index c65c8e38f95dcd7f14b69f0549f1ccf2171d155e..ffecb43d937bf00bbaecb3459bdd83ac8372d0b4 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/repository/TableRepository.java +++ b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/TableRepository.java @@ -1,4 +1,4 @@ -package at.tuwien.repository; +package at.tuwien.repository.jpa; import at.tuwien.entities.database.Database; import at.tuwien.entities.database.table.Table; diff --git a/fda-table-service/services/src/main/java/at/tuwien/service/DataService.java b/fda-table-service/services/src/main/java/at/tuwien/service/DataService.java index 37c1fcd50ffe4e8a0e29386e27a33cc5f3415902..7fe902356773dcc20de46ba081ed7b23484cec60 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/service/DataService.java +++ b/fda-table-service/services/src/main/java/at/tuwien/service/DataService.java @@ -11,8 +11,8 @@ import at.tuwien.exception.*; import at.tuwien.mapper.ImageMapper; import at.tuwien.mapper.QueryMapper; import at.tuwien.mapper.TableMapper; -import at.tuwien.repository.DatabaseRepository; -import at.tuwien.repository.TableRepository; +import at.tuwien.repository.jpa.DatabaseRepository; +import at.tuwien.repository.jpa.TableRepository; import com.opencsv.CSVParser; import com.opencsv.CSVParserBuilder; import com.opencsv.CSVReader; @@ -24,7 +24,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mock.web.MockMultipartFile; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.ResourceUtils; import org.springframework.web.multipart.MultipartFile; import javax.persistence.EntityNotFoundException; @@ -32,7 +31,6 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; import java.nio.file.Files; -import java.nio.file.Path; import java.nio.file.Paths; import java.sql.SQLException; import java.util.*; diff --git a/fda-table-service/services/src/main/java/at/tuwien/service/TableService.java b/fda-table-service/services/src/main/java/at/tuwien/service/TableService.java index 7ea1bb33cd000567035327dde50a6b5397a030aa..0d50bff8d5f8ab64699f9f018cb9119c39d26f4f 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/service/TableService.java +++ b/fda-table-service/services/src/main/java/at/tuwien/service/TableService.java @@ -10,8 +10,8 @@ import at.tuwien.exception.*; import at.tuwien.mapper.ImageMapper; import at.tuwien.mapper.QueryMapper; import at.tuwien.mapper.TableMapper; -import at.tuwien.repository.DatabaseRepository; -import at.tuwien.repository.TableRepository; +import at.tuwien.repository.jpa.DatabaseRepository; +import at.tuwien.repository.jpa.TableRepository; import com.opencsv.CSVParser; import com.opencsv.CSVParserBuilder; import com.opencsv.CSVReader; @@ -22,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import org.synchronoss.cloud.nio.multipart.Multipart; import javax.persistence.EntityNotFoundException; import java.io.*;