From b8865342bb649e05b95570eaeb2a241bd838b52a Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Wed, 17 May 2023 08:17:34 +0200 Subject: [PATCH] Hotfix nullpointer --- .../java/at/tuwien/mapper/QueryMapper.java | 34 +++++++++++++------ docker-compose.dbrepo2.yml | 3 -- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/dbrepo-query-service/services/src/main/java/at/tuwien/mapper/QueryMapper.java b/dbrepo-query-service/services/src/main/java/at/tuwien/mapper/QueryMapper.java index f3ddd14c58..63acb8522a 100644 --- a/dbrepo-query-service/services/src/main/java/at/tuwien/mapper/QueryMapper.java +++ b/dbrepo-query-service/services/src/main/java/at/tuwien/mapper/QueryMapper.java @@ -627,6 +627,14 @@ public interface QueryMapper { log.error("Timestamp is null"); throw new IllegalArgumentException("Please provide a timestamp before"); } + if (page == null) { + log.warn("page is null, default to 0"); + page = 0L; + } + if (size == null) { + log.warn("size is null, default to 100"); + size = 100L; + } query = query.toLowerCase(Locale.ROOT) .trim(); if (query.matches(";$")) { @@ -760,10 +768,11 @@ public interface QueryMapper { return null; } switch (column.getColumnType()) { - case BLOB: + case BLOB -> { log.trace("mapping {} to blob", data); return new MariaDbBlob((byte[]) data); - case DATE: + } + case DATE -> { if (column.getDateFormat() == null) { log.error("Missing date format for column {} of table {}", column.getId(), column.getTable().getId()); @@ -777,7 +786,8 @@ public interface QueryMapper { final LocalDate date = LocalDate.parse(String.valueOf(data), formatter); return date.atStartOfDay(ZoneId.of("UTC")) .toInstant(); - case TIMESTAMP: + } + case TIMESTAMP -> { if (column.getDateFormat() == null) { log.error("Missing date format for column {} of table {}", column.getId(), column.getTable().getId()); @@ -786,23 +796,27 @@ public interface QueryMapper { log.trace("mapping {} to timestamp with format '{}'", data, column.getDateFormat()); return Timestamp.valueOf(data.toString()) .toInstant(); - case ENUM: - case TEXT: - case STRING: + } + case ENUM, TEXT, STRING -> { log.trace("mapping {} to character array", data); return String.valueOf(data); - case NUMBER: + } + case NUMBER -> { log.trace("mapping {} to non-decimal number", data); return new BigInteger(String.valueOf(data)); - case DECIMAL: + } + case DECIMAL -> { log.trace("mapping {} to decimal number", data); return Double.valueOf(String.valueOf(data)); - case BOOLEAN: + } + case BOOLEAN -> { log.trace("mapping {} to boolean", data); return Boolean.valueOf(String.valueOf(data)); - default: + } + default -> { log.warn("column type {} is not known", column.getColumnType()); throw new IllegalArgumentException("Column type not known"); + } } } diff --git a/docker-compose.dbrepo2.yml b/docker-compose.dbrepo2.yml index 5efb845c60..2da1829a6f 100644 --- a/docker-compose.dbrepo2.yml +++ b/docker-compose.dbrepo2.yml @@ -313,9 +313,6 @@ services: networks: core: public: - ports: - - "80:80" - - "443:443" volumes: - ./dbrepo.conf:/etc/nginx/conf.d/default.conf depends_on: -- GitLab