diff --git a/fda-table-service/api/src/main/java/at/tuwien/CreateTableRawQuery.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java similarity index 81% rename from fda-table-service/api/src/main/java/at/tuwien/CreateTableRawQuery.java rename to fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java index 2b9c7a12769f1bc95c50a135d6b984a9f073a80f..a587587d2f9f6744df69f37468defc945f77fc06 100644 --- a/fda-table-service/api/src/main/java/at/tuwien/CreateTableRawQuery.java +++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java @@ -1,4 +1,4 @@ -package at.tuwien; +package at.tuwien.api.database.table; import lombok.*; @@ -10,7 +10,7 @@ import java.sql.PreparedStatement; @Builder @AllArgsConstructor @NoArgsConstructor -public class CreateTableRawQuery { +public class TableCreateRawQuery { private PreparedStatement preparedStatement; diff --git a/fda-table-service/api/src/main/java/at/tuwien/InsertTableRawQuery.java b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java similarity index 75% rename from fda-table-service/api/src/main/java/at/tuwien/InsertTableRawQuery.java rename to fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java index 4541a7786d68ad227d7ce61ac78ac85e2adc1f10..66d09bb136800751d821414fd57ffb9cb45a4359 100644 --- a/fda-table-service/api/src/main/java/at/tuwien/InsertTableRawQuery.java +++ b/fda-metadata-db/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java @@ -1,4 +1,4 @@ -package at.tuwien; +package at.tuwien.api.database.table; import lombok.*; @@ -11,7 +11,7 @@ import java.util.List; @Builder @AllArgsConstructor @NoArgsConstructor -public class InsertTableRawQuery { +public class TableInsertRawQuery { private String query; diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java index 4c0faa00290150180161b7bfac7fbae639b077c1..9cf3d52728f767a76e85b8f8d2d738f5f0aaad2e 100644 --- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java +++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java @@ -2,8 +2,8 @@ package at.tuwien.entities.database.table.columns; import at.tuwien.entities.container.image.ContainerImageDate; import at.tuwien.entities.database.table.Table; -import at.tuwien.entities.database.table.columns.concepts.Concept; -import at.tuwien.entities.database.table.columns.concepts.Unit; +import at.tuwien.entities.database.table.columns.concepts.ColumnConcept; +import at.tuwien.entities.database.table.columns.units.ColumnUnit; import at.tuwien.entities.user.User; import lombok.*; import net.sf.jsqlparser.statement.select.SelectItem; @@ -123,7 +123,7 @@ public class TableColumn implements Comparable<TableColumn> { @JoinColumn(name = "cdbid", referencedColumnName = "cdbid", insertable = false, updatable = false) }, inverseJoinColumns = @JoinColumn(name = "uri", referencedColumnName = "uri")) - private Concept concept; + private ColumnConcept concept; @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE) @JoinTable(name = "mdb_columns_units", @@ -133,7 +133,7 @@ public class TableColumn implements Comparable<TableColumn> { @JoinColumn(name = "cdbid", referencedColumnName = "cdbid", insertable = false, updatable = false) }, inverseJoinColumns = @JoinColumn(name = "uri", referencedColumnName = "uri")) - private Unit unit; + private ColumnUnit unit; @Column @LastModifiedDate diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConcept.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConcept.java index 711a86286e860e2eee8d84d19fed8d14e53787c4..4d0e5f60482b4fb1bd4f43e998a08336791cf6b5 100644 --- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConcept.java +++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConcept.java @@ -1,43 +1,46 @@ package at.tuwien.entities.database.table.columns.concepts; +import at.tuwien.entities.database.table.columns.TableColumn; import lombok.*; -import org.hibernate.annotations.GenericGenerator; +import org.springframework.data.annotation.CreatedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax.persistence.*; -import java.io.Serializable; +import java.time.Instant; +import java.util.List; -/** - * Join Table - */ @Data @Entity @Builder @AllArgsConstructor @NoArgsConstructor @ToString -@IdClass(ColumnConceptKey.class) @EntityListeners(AuditingEntityListener.class) @EqualsAndHashCode(onlyExplicitlyIncluded = true) -@javax.persistence.Table(name = "mdb_columns_concepts") -public class ColumnConcept implements Serializable { +@javax.persistence.Table(name = "mdb_concepts") +public class ColumnConcept { @Id @EqualsAndHashCode.Include - @GeneratedValue(generator = "columns-concepts-sequence") - @GenericGenerator(name = "columns-concepts-sequence", strategy = "increment") - @Column(updatable = false, nullable = false) - private Long cid; + @Column(nullable = false, columnDefinition = "TEXT") + private String uri; - @Id - @EqualsAndHashCode.Include - private Long tid; + @Column(name = "name", nullable = false) + private String name; - @Id - @EqualsAndHashCode.Include - private Long cdbid; + @org.springframework.data.annotation.Transient + @ToString.Exclude + @OneToMany(fetch = FetchType.LAZY) + @JoinTable(name = "mdb_columns_concepts", + joinColumns = @JoinColumn(name = "uri", referencedColumnName = "uri", insertable = false, updatable = false), + inverseJoinColumns = { + @JoinColumn(name = "cid", referencedColumnName = "id", insertable = false, updatable = false), + @JoinColumn(name = "tid", referencedColumnName = "tid", insertable = false, updatable = false), + @JoinColumn(name = "cdbid", referencedColumnName = "cdbid", insertable = false, updatable = false) + }) + private List<TableColumn> columns; - @EqualsAndHashCode.Include - @Column(columnDefinition = "TEXT") - private String uri; + @Column(nullable = false, updatable = false) + @CreatedDate + private Instant created; } diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConceptKey.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConceptKey.java deleted file mode 100644 index 7b0b79ee862529996f9418f4da963651e7d631f9..0000000000000000000000000000000000000000 --- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/ColumnConceptKey.java +++ /dev/null @@ -1,16 +0,0 @@ -package at.tuwien.entities.database.table.columns.concepts; - -import lombok.EqualsAndHashCode; - -import java.io.Serializable; - -@EqualsAndHashCode -public class ColumnConceptKey implements Serializable { - - private Long cid; - - private Long cdbid; - - private Long tid; - -} diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java deleted file mode 100644 index 1771719c74763802a4519b88bbd6935a9d357bdc..0000000000000000000000000000000000000000 --- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Concept.java +++ /dev/null @@ -1,46 +0,0 @@ -package at.tuwien.entities.database.table.columns.concepts; - -import at.tuwien.entities.database.table.columns.TableColumn; -import lombok.*; -import org.springframework.data.annotation.CreatedDate; -import org.springframework.data.jpa.domain.support.AuditingEntityListener; - -import javax.persistence.*; -import java.time.Instant; -import java.util.List; - -@Data -@Entity -@Builder -@AllArgsConstructor -@NoArgsConstructor -@ToString -@EntityListeners(AuditingEntityListener.class) -@EqualsAndHashCode(onlyExplicitlyIncluded = true) -@javax.persistence.Table(name = "mdb_concepts") -public class Concept { - - @Id - @EqualsAndHashCode.Include - @Column(nullable = false, columnDefinition = "TEXT") - private String uri; - - @Column(name = "name", nullable = false) - private String name; - - @org.springframework.data.annotation.Transient - @ToString.Exclude - @OneToMany(fetch = FetchType.LAZY) - @JoinTable(name = "mdb_columns_concepts", - joinColumns = @JoinColumn(name = "uri", referencedColumnName = "uri", insertable = false, updatable = false), - inverseJoinColumns = { - @JoinColumn(name = "cid", referencedColumnName = "id", insertable = false, updatable = false), - @JoinColumn(name = "tid", referencedColumnName = "tid", insertable = false, updatable = false), - @JoinColumn(name = "cdbid", referencedColumnName = "cdbid", insertable = false, updatable = false) - }) - private List<TableColumn> columns; - - @Column(nullable = false, updatable = false) - @CreatedDate - private Instant created; -} diff --git a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Unit.java b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/units/ColumnUnit.java similarity index 94% rename from fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Unit.java rename to fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/units/ColumnUnit.java index 699cdf7d89af4c8083078cc211a3d0d9cbee4609..6969bc7a87af23cdae7f56c783ec5930caabc8be 100644 --- a/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/concepts/Unit.java +++ b/fda-metadata-db/entities/src/main/java/at/tuwien/entities/database/table/columns/units/ColumnUnit.java @@ -1,4 +1,4 @@ -package at.tuwien.entities.database.table.columns.concepts; +package at.tuwien.entities.database.table.columns.units; import at.tuwien.entities.database.table.columns.TableColumn; import lombok.*; @@ -18,7 +18,7 @@ import java.util.List; @EntityListeners(AuditingEntityListener.class) @EqualsAndHashCode(onlyExplicitlyIncluded = true) @javax.persistence.Table(name = "mdb_units") -public class Unit { +public class ColumnUnit { @Id @EqualsAndHashCode.Include diff --git a/fda-table-service/.dockerignore b/fda-table-service/.dockerignore deleted file mode 100644 index fcdfe8de55e91b3b65fcf598c5980ae256087910..0000000000000000000000000000000000000000 --- a/fda-table-service/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -rest-service/src/main/resources/*.csv \ No newline at end of file diff --git a/fda-table-service/.gitignore b/fda-table-service/.gitignore index 8e5c311b11047e6a821fed6e279bf28c129ca3bd..7731f1adf24dc32351fdde402faa04b19e2f389f 100644 --- a/fda-table-service/.gitignore +++ b/fda-table-service/.gitignore @@ -4,12 +4,8 @@ target/ !**/src/main/**/target/ !**/src/test/**/target/ -### Environment ### -.env - ### Generated ### ready -mapping.xml ### STS ### .apt_generated diff --git a/fda-table-service/Dockerfile b/fda-table-service/Dockerfile index ec1ab5c64e232d13cdd1a35f8e9ae221a2dc53a8..4752a4a140b1dd52e256350862067102131a78cd 100644 --- a/fda-table-service/Dockerfile +++ b/fda-table-service/Dockerfile @@ -14,7 +14,6 @@ COPY --from=dependency /root/.m2/repository/at/tuwien /root/.m2/repository/at/tu COPY ./rest-service ./rest-service COPY ./services ./services COPY ./report ./report -COPY ./api ./api # Make sure it compiles RUN mvn -q clean package -DskipTests > /dev/null @@ -27,9 +26,8 @@ ENV METADATA_USERNAME=root ENV METADATA_PASSWORD=dbrepo ENV BROKER_USERNAME=fda ENV BROKER_PASSWORD=fda -ENV SEARCH_ENDPOINT=search-service -ENV GATEWAY_ENDPOINT=http://gateway-service:9095 -ENV multipart.location=/tmp +ENV SHARED_FILESYSTEM=/tmp +ENV USER_NETWORK=userdb ENV LOG_LEVEL=debug COPY ./service_ready /usr/bin @@ -37,8 +35,8 @@ RUN chmod +x /usr/bin/service_ready HEALTHCHECK --interval=10s --timeout=5s --retries=12 CMD service_ready -COPY --from=build ./rest-service/target/rest-service-*.jar ./table-service.jar +COPY --from=build ./rest-service/target/rest-service-*.jar ./container-service.jar -EXPOSE 9094 +EXPOSE 9091 -ENTRYPOINT ["java", "-Dlog4j2.formatMsgNoLookups=true", "-jar", "./table-service.jar"] +ENTRYPOINT ["java", "-Dlog4j2.formatMsgNoLookups=true", "-jar", "./container-service.jar"] diff --git a/fda-table-service/README.md b/fda-table-service/README.md new file mode 100644 index 0000000000000000000000000000000000000000..986b2885e1bf0a1c49df81b9446c20e3c8d69e1f --- /dev/null +++ b/fda-table-service/README.md @@ -0,0 +1,7 @@ +# FDA Container Service + +## Documentation + +- OpenAPI v3: http://localhost:9091/swagger-ui/index.html +- OpenAPI v3 endpoint: http://localhost:9091/v3/api-docs/ +- OpenAPI v3 YAML: http://localhost:9091/v3/api-docs.yaml \ No newline at end of file diff --git a/fda-table-service/api/pom.xml b/fda-table-service/api/pom.xml deleted file mode 100644 index 658d47e0060c0fbea1948d5a747da7b4886c1d54..0000000000000000000000000000000000000000 --- a/fda-table-service/api/pom.xml +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <artifactId>fda-table-service</artifactId> - <groupId>at.tuwien</groupId> - <version>1.1.0-alpha</version> - </parent> - - <artifactId>api</artifactId> - <name>fda-table-service-api</name> - - <properties> - <jacoco.version>0.8.7</jacoco.version> - </properties> - - <dependencies /> - -</project> \ No newline at end of file diff --git a/fda-table-service/pom.xml b/fda-table-service/pom.xml index 01d11e684692457c7a75484888d5354b153319ed..e9faf0cbb3ab3fde41b0829c7f6b808d0deac51e 100644 --- a/fda-table-service/pom.xml +++ b/fda-table-service/pom.xml @@ -19,7 +19,6 @@ <module>rest-service</module> <module>services</module> <module>report</module> - <module>api</module> </modules> <properties> diff --git a/fda-table-service/report/pom.xml b/fda-table-service/report/pom.xml index 8b0c154b0fa72b821a567403a054908b4c664b10..1992c97aa94c5b023929ec61ba5a5764c0bf985b 100644 --- a/fda-table-service/report/pom.xml +++ b/fda-table-service/report/pom.xml @@ -4,13 +4,18 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <artifactId>fda-table-service</artifactId> <groupId>at.tuwien</groupId> + <artifactId>fda-table-service</artifactId> <version>1.1.0-alpha</version> </parent> <artifactId>report</artifactId> + <version>1.1.0-alpha</version> <name>fda-table-service-report</name> + <description> + This module is only intended for the pipeline coverage report. See the detailed report in the + respective modules + </description> <properties> <jacoco.version>0.8.7</jacoco.version> diff --git a/fda-table-service/rest-service/pom.xml b/fda-table-service/rest-service/pom.xml index b73a6ef21685e3b3ca361f9f2acd70c981d851fa..0fd761d629356adda3683ebb5d2cd2d545761234 100644 --- a/fda-table-service/rest-service/pom.xml +++ b/fda-table-service/rest-service/pom.xml @@ -4,14 +4,18 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <artifactId>fda-table-service</artifactId> <groupId>at.tuwien</groupId> + <artifactId>fda-table-service</artifactId> <version>1.1.0-alpha</version> </parent> <artifactId>rest-service</artifactId> <version>1.1.0-alpha</version> - <name>fda-table-service-rest</name> + <name>fda-table-service-rest-service</name> + + <properties> + <jacoco.version>0.8.7</jacoco.version> + </properties> <dependencies> <dependency> 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 627cfa68a4d342b87c9828be5289fe9410cb7144..ebc2e892715d0fba87700fc41870bb2e95fc7126 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 @@ -12,9 +12,9 @@ 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"}) -@EntityScan(basePackages = {"at.tuwien.entities"}) public class FdaTableServiceApplication { public static void main(String[] args) { diff --git a/fda-table-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java b/fda-table-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java index ce3c4aa05da48dbb9cc3addca3900eb936eaae0d..119eaa66881252b2696a1cf8adacd08c185f8cc7 100644 --- a/fda-table-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java +++ b/fda-table-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java @@ -7,7 +7,7 @@ import at.tuwien.api.database.table.columns.ColumnCreateDto; import at.tuwien.api.database.table.columns.ColumnTypeDto; import at.tuwien.api.user.UserDto; import at.tuwien.entities.container.image.*; -import at.tuwien.entities.database.table.columns.concepts.Concept; +import at.tuwien.entities.database.table.columns.concepts.ColumnConcept; import at.tuwien.entities.user.RoleType; import at.tuwien.entities.user.User; import at.tuwien.querystore.Query; @@ -744,7 +744,7 @@ public abstract class BaseUnitTest { public final static String CONCEPT_1_NAME = "Temperature"; public final static Instant CONCEPT_1_CREATED = Instant.now().minus(1, HOURS); - public final static Concept CONCEPT_1 = Concept.builder() + public final static ColumnConcept CONCEPT_1 = ColumnConcept.builder() .name(CONCEPT_1_NAME) .created(CONCEPT_1_CREATED) .uri("http://www.ontology-of-units-of-measure.org/resource/om-2/") diff --git a/fda-table-service/rest-service/src/test/java/at/tuwien/hibernate/DbrepoSchemaFilter.java b/fda-table-service/rest-service/src/test/java/at/tuwien/hibernate/DbrepoSchemaFilter.java index bdbe4aebe2ca11a97b0db67471872b1f2545a670..1f0ad27cc06da86c0849ebc5c9ef01dd7e1c0274 100644 --- a/fda-table-service/rest-service/src/test/java/at/tuwien/hibernate/DbrepoSchemaFilter.java +++ b/fda-table-service/rest-service/src/test/java/at/tuwien/hibernate/DbrepoSchemaFilter.java @@ -6,7 +6,7 @@ import org.hibernate.mapping.Table; import org.hibernate.tool.schema.spi.SchemaFilter; /** - * Do not create table for class {@link at.tuwien.entities.database.table.columns.concepts.Concept} when using JUnit test + * Do not create table for class {@link at.tuwien.entities.database.table.columns.concepts.ColumnConcept} when using JUnit test */ public class DbrepoSchemaFilter implements SchemaFilter { diff --git a/fda-table-service/rest-service/src/test/resources/application.properties b/fda-table-service/rest-service/src/test/resources/application.properties index ef996777c5f464998d4109c911a800c99a5ff527..d82af2fbd726ce9f2e14ce2d79c28db6cb034355 100644 --- a/fda-table-service/rest-service/src/test/resources/application.properties +++ b/fda-table-service/rest-service/src/test/resources/application.properties @@ -9,7 +9,7 @@ spring.cloud.config.discovery.enabled = false spring.cloud.config.enabled = false # internal datasource -spring.datasource.url=jdbc:h2:mem:testdb;DATABASE_TO_UPPER=false;DB_CLOSE_ON_EXIT=FALSE;INIT=RUNSCRIPT FROM './src/test/resources/init.sql' +spring.datasource.url=jdbc:h2:mem:fda;DATABASE_TO_UPPER=false;DB_CLOSE_ON_EXIT=FALSE;MODE=MYSQL;INIT=RUNSCRIPT FROM 'classpath:schema.sql' spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password=password diff --git a/fda-table-service/rest-service/src/test/resources/init.sql b/fda-table-service/rest-service/src/test/resources/init.sql deleted file mode 100644 index e25e2d0d036efb4512fd7b5028ad0c5157d67cbd..0000000000000000000000000000000000000000 --- a/fda-table-service/rest-service/src/test/resources/init.sql +++ /dev/null @@ -1,10 +0,0 @@ -CREATE SCHEMA IF NOT EXISTS fda; -DROP TABLE IF EXISTS fda.mdb_concepts CASCADE; -CREATE TABLE IF NOT EXISTS fda.mdb_concepts -( - uri varchar(255) not null, - name VARCHAR(255), - created timestamp NOT NULL DEFAULT NOW(), - created_by bigint, - PRIMARY KEY (uri) -); \ No newline at end of file diff --git a/fda-table-service/rest-service/src/test/resources/schema.sql b/fda-table-service/rest-service/src/test/resources/schema.sql new file mode 100644 index 0000000000000000000000000000000000000000..095a1096ea89d0955c64ee6e642a763dc802907d --- /dev/null +++ b/fda-table-service/rest-service/src/test/resources/schema.sql @@ -0,0 +1,2 @@ +CREATE SCHEMA IF NOT EXISTS `fda`; +SET SCHEMA `fda`; \ No newline at end of file diff --git a/fda-table-service/services/pom.xml b/fda-table-service/services/pom.xml index 4a87bfe0d309df457c3d2182637f9f00c2f7ece4..8deff1d33ebe581651b23a0fe5ca05c6c9453f79 100644 --- a/fda-table-service/services/pom.xml +++ b/fda-table-service/services/pom.xml @@ -13,15 +13,6 @@ <version>1.1.0-alpha</version> <name>fda-table-service-services</name> - <dependencies > - <dependency> - <groupId>at.tuwien</groupId> - <artifactId>api</artifactId> - <version>1.1.0-alpha</version> - <scope>compile</scope> - </dependency> - </dependencies> - <build> <plugins> <plugin> @@ -48,4 +39,4 @@ </plugins> </build> -</project> +</project> \ No newline at end of file diff --git a/fda-table-service/services/src/main/java/at/tuwien/mapper/TableMapper.java b/fda-table-service/services/src/main/java/at/tuwien/mapper/TableMapper.java index c4a316dd06edfe53ae2525127dcfa4300d03138b..a90f9517084bd27188d39aabe3edbccecf8421c9 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/mapper/TableMapper.java +++ b/fda-table-service/services/src/main/java/at/tuwien/mapper/TableMapper.java @@ -1,8 +1,8 @@ package at.tuwien.mapper; -import at.tuwien.CreateTableRawQuery; import at.tuwien.api.database.table.TableBriefDto; import at.tuwien.api.database.table.TableCreateDto; +import at.tuwien.api.database.table.TableCreateRawQuery; import at.tuwien.api.database.table.TableDto; import at.tuwien.api.database.table.columns.ColumnCreateDto; import at.tuwien.api.database.table.columns.ColumnDto; @@ -72,7 +72,7 @@ public interface TableMapper { @Mapping(source = "data.dfid", target = "dfid"), @Mapping(source = "data.lastModified", target = "lastModified"), }) - TableColumn tableColumnToTableColumn(Table table, TableColumn data, CreateTableRawQuery query); + TableColumn tableColumnToTableColumn(Table table, TableColumn data, TableCreateRawQuery query); @Named("internalMapping") default String nameToInternalName(String data) { @@ -172,7 +172,7 @@ public interface TableMapper { * @param data The table * @return The create table query */ - default CreateTableRawQuery tableToCreateTableRawQuery(Connection connection, Database database, TableCreateDto data) + default TableCreateRawQuery tableToCreateTableRawQuery(Connection connection, Database database, TableCreateDto data) throws ImageNotSupportedException, TableMalformedException, QueryMalformedException { if (!database.getContainer().getImage().getRepository().equals("mariadb")) { log.error("Currently only MariaDB is supported"); @@ -263,7 +263,7 @@ public interface TableMapper { try { final PreparedStatement pstmt = connection.prepareStatement(query.toString()); log.trace("prepared create table statement {}", query); - return CreateTableRawQuery.builder() + return TableCreateRawQuery.builder() .preparedStatement(pstmt) .generated(!primaryColumnExists) .build(); diff --git a/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ConceptRepository.java b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ConceptRepository.java index 2f29e719624c80f020f87473412af58c58bbb121..61d4cfe57edf657dc9dfa582aedd8ccfbbddd802 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ConceptRepository.java +++ b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/ConceptRepository.java @@ -1,10 +1,10 @@ package at.tuwien.repository.jpa; -import at.tuwien.entities.database.table.columns.concepts.Concept; +import at.tuwien.entities.database.table.columns.concepts.ColumnConcept; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface ConceptRepository extends JpaRepository<Concept, String> { +public interface ConceptRepository extends JpaRepository<ColumnConcept, String> { } diff --git a/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/UnitRepository.java b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/UnitRepository.java index 01cbeeaa411eac1b349fd88c21565b0839fb0fe7..5408cc4961bdd35d1eff5cc6d8ab33d100b35ee9 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/UnitRepository.java +++ b/fda-table-service/services/src/main/java/at/tuwien/repository/jpa/UnitRepository.java @@ -1,10 +1,10 @@ package at.tuwien.repository.jpa; -import at.tuwien.entities.database.table.columns.concepts.Unit; +import at.tuwien.entities.database.table.columns.units.ColumnUnit; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface UnitRepository extends JpaRepository<Unit, String> { +public interface UnitRepository extends JpaRepository<ColumnUnit, String> { } diff --git a/fda-table-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java b/fda-table-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java index 542fd151369b9bcb715a51b846416aee2de51424..6c8d45d11ae14c5e629de0fb32499596374e8c50 100644 --- a/fda-table-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java +++ b/fda-table-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java @@ -1,14 +1,14 @@ package at.tuwien.service.impl; -import at.tuwien.CreateTableRawQuery; import at.tuwien.api.database.table.TableCreateDto; +import at.tuwien.api.database.table.TableCreateRawQuery; import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto; import at.tuwien.entities.container.Container; import at.tuwien.entities.database.Database; import at.tuwien.entities.database.table.Table; import at.tuwien.entities.database.table.columns.TableColumn; -import at.tuwien.entities.database.table.columns.concepts.Concept; -import at.tuwien.entities.database.table.columns.concepts.Unit; +import at.tuwien.entities.database.table.columns.concepts.ColumnConcept; +import at.tuwien.entities.database.table.columns.units.ColumnUnit; import at.tuwien.entities.user.User; import at.tuwien.exception.*; import at.tuwien.mapper.TableMapper; @@ -134,7 +134,7 @@ public class TableServiceImpl extends HibernateConnector implements TableService } /* run query */ final ComboPooledDataSource dataSource = getDataSource(database.getContainer().getImage(), database.getContainer(), database); - final CreateTableRawQuery query; + final TableCreateRawQuery query; try { final Connection connection = dataSource.getConnection(); query = tableMapper.tableToCreateTableRawQuery(connection, database, createDto); @@ -217,7 +217,7 @@ public class TableServiceImpl extends HibernateConnector implements TableService final TableColumn column = findColumn(table, columnId); /* assign */ if (updateDto.getUnitUri() != null) { - final Unit unit = findUnit(updateDto.getUnitUri()); + final ColumnUnit unit = findUnit(updateDto.getUnitUri()); column.setUnit(unit); log.debug("update unit of column, unit={}, column={}", unit, column); } else { @@ -225,12 +225,12 @@ public class TableServiceImpl extends HibernateConnector implements TableService log.debug("remove unit of column, column={}", column); } if (updateDto.getConceptUri() != null) { - final Concept concept = findConcept(updateDto.getConceptUri()); + final ColumnConcept concept = findConcept(updateDto.getConceptUri()); column.setConcept(concept); - log.debug("update concept of column, concept={}, column={}", concept, column); + log.debug("update ColumnConcept of column, concept={}, column={}", concept, column); } else { column.setConcept(null); - log.debug("remove concept of column, column={}", column); + log.debug("remove ColumnConcept of column, column={}", column); } final TableColumn out = tableColumnRepository.save(column); log.info("Updated table column with id {} of table with id {}", columnId, tableId); @@ -259,16 +259,16 @@ public class TableServiceImpl extends HibernateConnector implements TableService } /** - * Finds a concept with given uri + * Finds a ColumnConcept with given uri * * @param uri The uri. * @return The concept, if successful. - * @throws ConceptNotFoundException The concept was not found in the metadata database. + * @throws ConceptNotFoundException The ColumnConcept was not found in the metadata database. */ - protected Concept findConcept(String uri) throws ConceptNotFoundException { - final Optional<Concept> optional = conceptRepository.findById(uri); + protected ColumnConcept findConcept(String uri) throws ConceptNotFoundException { + final Optional<ColumnConcept> optional = conceptRepository.findById(uri); if (optional.isEmpty()) { - log.error("Failed to find concept with uri {}", uri); + log.error("Failed to find ColumnConcept with uri {}", uri); throw new ConceptNotFoundException("Failed to find concept"); } return optional.get(); @@ -281,8 +281,8 @@ public class TableServiceImpl extends HibernateConnector implements TableService * @return The unit, if successful. * @throws UnitNotFoundException The unit was not found in the metadata database. */ - protected Unit findUnit(String uri) throws UnitNotFoundException { - final Optional<Unit> optional = unitRepository.findById(uri); + protected ColumnUnit findUnit(String uri) throws UnitNotFoundException { + final Optional<ColumnUnit> optional = unitRepository.findById(uri); if (optional.isEmpty()) { log.error("Failed to find unit with uri {}", uri); throw new UnitNotFoundException("Failed to find unit");