From 5be33cb8eefe340dd5582f23e21fdab9bceed3b5 Mon Sep 17 00:00:00 2001 From: Luca Frosini Date: Fri, 12 Mar 2021 19:13:57 +0100 Subject: [PATCH] Implemented corner cases --- .../persistence/PersistencePostgreSQL.java | 25 ++- .../PersistencePostgreSQLTest.java | 30 ++- .../persistence/TestUsageRecord.java | 210 ++++++++++++++++++ .../resources/ServiceUsageRecordTable.sql | 21 ++ .../resources/StorageUsageRecordTable.sql | 17 ++ .../resources/insert-usagerecord-example.sql | 20 ++ src/test/resources/url | 3 + 7 files changed, 309 insertions(+), 17 deletions(-) create mode 100644 src/test/java/org/gcube/documentstore/persistence/TestUsageRecord.java create mode 100644 src/test/resources/ServiceUsageRecordTable.sql create mode 100644 src/test/resources/StorageUsageRecordTable.sql create mode 100644 src/test/resources/insert-usagerecord-example.sql create mode 100644 src/test/resources/url diff --git a/src/main/java/org/gcube/documentstore/persistence/PersistencePostgreSQL.java b/src/main/java/org/gcube/documentstore/persistence/PersistencePostgreSQL.java index c1c4bb5..bb04b9e 100644 --- a/src/main/java/org/gcube/documentstore/persistence/PersistencePostgreSQL.java +++ b/src/main/java/org/gcube/documentstore/persistence/PersistencePostgreSQL.java @@ -50,7 +50,7 @@ public class PersistencePostgreSQL extends PersistenceBackend { try { Class.forName("org.postgresql.Driver"); connection = DriverManager.getConnection(url, username, password); - logger.trace("Opened database successfully"); + logger.trace("Database opened successfully"); connection.setAutoCommit(false); statement = connection.createStatement(); } catch (Exception e) { @@ -69,16 +69,11 @@ public class PersistencePostgreSQL extends PersistenceBackend { } protected void appendValue(StringBuffer values, Serializable serializable) { - if(serializable instanceof Integer || serializable instanceof Long) { + if(serializable instanceof Number) { values.append(serializable.toString()); return; } - if(serializable instanceof String) { - appendString(values, serializable.toString()); - return; - } - if(serializable instanceof Calendar) { Calendar calendar = (Calendar) serializable; SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DATETIME_PATTERN); @@ -93,16 +88,22 @@ public class PersistencePostgreSQL extends PersistenceBackend { return; } - values.append(serializable.toString()); + // String, URI etc + appendString(values, serializable.toString()); } protected void appendKey(StringBuffer sql, String key) { - - int lenght = key.length(); + int lenght = key.length(); + boolean lastLowerCase = true; for (int i=0; i