From 54836221b3add000d643657a5b6cd99da5a05646 Mon Sep 17 00:00:00 2001 From: Jonas Arnhold Date: Wed, 29 May 2024 18:22:13 +0200 Subject: [PATCH 1/8] Fix typo in Table#primaryColumn --- .../com/bakdata/conquery/models/datasets/Table.java | 2 +- .../bakdata/conquery/util/TablePrimaryColumnUtil.java | 10 ++++++---- .../conquery/integration/common/RequiredTable.java | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/com/bakdata/conquery/models/datasets/Table.java b/backend/src/main/java/com/bakdata/conquery/models/datasets/Table.java index 8439974550..26a5c19389 100644 --- a/backend/src/main/java/com/bakdata/conquery/models/datasets/Table.java +++ b/backend/src/main/java/com/bakdata/conquery/models/datasets/Table.java @@ -41,7 +41,7 @@ public class Table extends Labeled implements NamespacedIdentifiable findPrimaryColumn(Table table, DatabaseConfig sqlConfig) { - String primaryColumnName = table.getPrimaryColum() == null - ? sqlConfig.getPrimaryColumn() - : table.getPrimaryColum().getName(); + public static Field findPrimaryColumn(Table table, DatabaseConfig databaseConfig) { + String primaryColumnName = table.getPrimaryColumn() == null + ? databaseConfig.getPrimaryColumn() + : table.getPrimaryColumn().getName(); return DSL.field(DSL.name(table.getName(), primaryColumnName)); } diff --git a/backend/src/test/java/com/bakdata/conquery/integration/common/RequiredTable.java b/backend/src/test/java/com/bakdata/conquery/integration/common/RequiredTable.java index 55a3155cfd..3de4cf93bf 100644 --- a/backend/src/test/java/com/bakdata/conquery/integration/common/RequiredTable.java +++ b/backend/src/test/java/com/bakdata/conquery/integration/common/RequiredTable.java @@ -40,7 +40,7 @@ public class RequiredTable { public Table toTable(Dataset dataset, CentralRegistry centralRegistry) { Table table = new Table(); - table.setPrimaryColum(primaryColumn.toColumn(table, centralRegistry)); + table.setPrimaryColumn(primaryColumn.toColumn(table, centralRegistry)); table.setDataset(dataset); table.setName(name); table.setColumns(Arrays.stream(columns) From 2c41ef7fa94b5b926886e2d77ba049323b696031 Mon Sep 17 00:00:00 2001 From: Jonas Arnhold Date: Wed, 29 May 2024 18:37:08 +0200 Subject: [PATCH 2/8] Make DatabaseConfigs in SqlConnectorConfig a required prop --- .../com/bakdata/conquery/models/config/SqlConnectorConfig.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java index 2a65aa5ca6..ed2cad27b4 100644 --- a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java +++ b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java @@ -9,6 +9,7 @@ import lombok.Data; import lombok.Getter; import lombok.NoArgsConstructor; +import lombok.NonNull; @Data @Builder @@ -26,6 +27,7 @@ public class SqlConnectorConfig { /** * Keys must match the name of existing {@link Dataset}s. */ + @NonNull @Getter(AccessLevel.PRIVATE) private Map databaseConfigs; From a1b3777660162e85d56b8ca9c9f41545e3737493 Mon Sep 17 00:00:00 2001 From: Jonas Arnhold Date: Thu, 30 May 2024 12:33:42 +0200 Subject: [PATCH 3/8] Update backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java Co-authored-by: MT <12283268+thoniTUB@users.noreply.github.com> --- .../com/bakdata/conquery/models/config/SqlConnectorConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java index ed2cad27b4..cb3a4205ca 100644 --- a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java +++ b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java @@ -29,7 +29,7 @@ public class SqlConnectorConfig { */ @NonNull @Getter(AccessLevel.PRIVATE) - private Map databaseConfigs; + private Map databaseConfigs; public DatabaseConfig getDatabaseConfig(Dataset dataset) { return databaseConfigs.get(dataset.getName()); From cc99d477c3f1c6705b0466e78df37d0e1242f921 Mon Sep 17 00:00:00 2001 From: Jonas Arnhold Date: Thu, 30 May 2024 12:38:26 +0200 Subject: [PATCH 4/8] Fix Valid import and add make SQL configs Jacksonized --- .../com/bakdata/conquery/models/config/DatabaseConfig.java | 2 ++ .../com/bakdata/conquery/models/config/SqlConnectorConfig.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/backend/src/main/java/com/bakdata/conquery/models/config/DatabaseConfig.java b/backend/src/main/java/com/bakdata/conquery/models/config/DatabaseConfig.java index b42aa9bf0e..86a6aaa039 100644 --- a/backend/src/main/java/com/bakdata/conquery/models/config/DatabaseConfig.java +++ b/backend/src/main/java/com/bakdata/conquery/models/config/DatabaseConfig.java @@ -2,9 +2,11 @@ import lombok.Builder; import lombok.Data; +import lombok.extern.jackson.Jacksonized; @Data @Builder +@Jacksonized public class DatabaseConfig { private static final String DEFAULT_PRIMARY_COLUMN = "pid"; diff --git a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java index cb3a4205ca..9f5e629843 100644 --- a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java +++ b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java @@ -3,6 +3,7 @@ import java.util.Map; import com.bakdata.conquery.models.datasets.Dataset; +import jakarta.validation.Valid; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Builder; @@ -10,9 +11,11 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.NonNull; +import lombok.extern.jackson.Jacksonized; @Data @Builder +@Jacksonized @NoArgsConstructor @AllArgsConstructor public class SqlConnectorConfig { From 4f4b857d64b972d9d3770602ecc2a7de6ebbb126 Mon Sep 17 00:00:00 2001 From: Jonas Arnhold Date: Thu, 30 May 2024 13:41:23 +0200 Subject: [PATCH 5/8] Remove non-null prop in SqlConnectorConfig --- .../conquery/models/config/SqlConnectorConfig.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java index 9f5e629843..08ea367300 100644 --- a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java +++ b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java @@ -3,6 +3,7 @@ import java.util.Map; import com.bakdata.conquery.models.datasets.Dataset; +import io.dropwizard.validation.ValidationMethod; import jakarta.validation.Valid; import lombok.AccessLevel; import lombok.AllArgsConstructor; @@ -10,7 +11,6 @@ import lombok.Data; import lombok.Getter; import lombok.NoArgsConstructor; -import lombok.NonNull; import lombok.extern.jackson.Jacksonized; @Data @@ -30,7 +30,6 @@ public class SqlConnectorConfig { /** * Keys must match the name of existing {@link Dataset}s. */ - @NonNull @Getter(AccessLevel.PRIVATE) private Map databaseConfigs; @@ -38,4 +37,9 @@ public DatabaseConfig getDatabaseConfig(Dataset dataset) { return databaseConfigs.get(dataset.getName()); } + @ValidationMethod(message = "At lease 1 DatabaseConfig has to be present if SqlConnector config is enabled") + public boolean isValidSqlConnectorConfig() { + return enabled && databaseConfigs != null && !databaseConfigs.isEmpty(); + } + } From 38d39923a3efe6fe80d781c411712ee54712d509 Mon Sep 17 00:00:00 2001 From: Jonas Arnhold Date: Thu, 30 May 2024 13:42:01 +0200 Subject: [PATCH 6/8] Remove logger --- .../java/com/bakdata/conquery/util/TablePrimaryColumnUtil.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/backend/src/main/java/com/bakdata/conquery/util/TablePrimaryColumnUtil.java b/backend/src/main/java/com/bakdata/conquery/util/TablePrimaryColumnUtil.java index fd051ea7e0..685bdf254f 100644 --- a/backend/src/main/java/com/bakdata/conquery/util/TablePrimaryColumnUtil.java +++ b/backend/src/main/java/com/bakdata/conquery/util/TablePrimaryColumnUtil.java @@ -2,11 +2,9 @@ import com.bakdata.conquery.models.config.DatabaseConfig; import com.bakdata.conquery.models.datasets.Table; -import lombok.extern.slf4j.Slf4j; import org.jooq.Field; import org.jooq.impl.DSL; -@Slf4j public class TablePrimaryColumnUtil { public static Field findPrimaryColumn(Table table, DatabaseConfig databaseConfig) { From 8ca01fb2b1fcce9971514070986cecb66ee4750d Mon Sep 17 00:00:00 2001 From: Jonas Arnhold Date: Thu, 30 May 2024 13:42:39 +0200 Subject: [PATCH 7/8] Fix validation method --- .../bakdata/conquery/models/config/SqlConnectorConfig.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java index 08ea367300..4037735266 100644 --- a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java +++ b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java @@ -39,7 +39,10 @@ public DatabaseConfig getDatabaseConfig(Dataset dataset) { @ValidationMethod(message = "At lease 1 DatabaseConfig has to be present if SqlConnector config is enabled") public boolean isValidSqlConnectorConfig() { - return enabled && databaseConfigs != null && !databaseConfigs.isEmpty(); + if (!enabled) { + return true; + } + return databaseConfigs != null && !databaseConfigs.isEmpty(); } } From d1cea630990417e73976466a24d07a038390c955 Mon Sep 17 00:00:00 2001 From: Jonas Arnhold Date: Thu, 30 May 2024 13:46:09 +0200 Subject: [PATCH 8/8] Add missing JsonIgnore --- .../com/bakdata/conquery/models/config/SqlConnectorConfig.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java index 4037735266..cfce88537b 100644 --- a/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java +++ b/backend/src/main/java/com/bakdata/conquery/models/config/SqlConnectorConfig.java @@ -3,6 +3,7 @@ import java.util.Map; import com.bakdata.conquery.models.datasets.Dataset; +import com.fasterxml.jackson.annotation.JsonIgnore; import io.dropwizard.validation.ValidationMethod; import jakarta.validation.Valid; import lombok.AccessLevel; @@ -37,6 +38,7 @@ public DatabaseConfig getDatabaseConfig(Dataset dataset) { return databaseConfigs.get(dataset.getName()); } + @JsonIgnore @ValidationMethod(message = "At lease 1 DatabaseConfig has to be present if SqlConnector config is enabled") public boolean isValidSqlConnectorConfig() { if (!enabled) {