From 00a3ff53f08865cab62182137690fc5697f316f7 Mon Sep 17 00:00:00 2001 From: Francesco Date: Wed, 20 Sep 2023 22:59:21 +0200 Subject: [PATCH] WIP --- .../tech/ailef/dbadmin/dbmapping/DbAdminRepository.java | 6 ++++++ src/main/java/tech/ailef/dbadmin/dbmapping/DbObject.java | 5 +++++ src/main/resources/templates/fragments/data_row.html | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/tech/ailef/dbadmin/dbmapping/DbAdminRepository.java b/src/main/java/tech/ailef/dbadmin/dbmapping/DbAdminRepository.java index d2716ee..9a70c99 100644 --- a/src/main/java/tech/ailef/dbadmin/dbmapping/DbAdminRepository.java +++ b/src/main/java/tech/ailef/dbadmin/dbmapping/DbAdminRepository.java @@ -195,6 +195,12 @@ public class DbAdminRepository { Map allValues = new HashMap<>(); allValues.putAll(values); + values.keySet().forEach(fieldName -> { + if (values.get(fieldName).isBlank()) { + allValues.put(fieldName, null); + } + }); + files.keySet().forEach(f -> { try { allValues.put(f, files.get(f).getBytes()); diff --git a/src/main/java/tech/ailef/dbadmin/dbmapping/DbObject.java b/src/main/java/tech/ailef/dbadmin/dbmapping/DbObject.java index 7fd4406..efa3647 100644 --- a/src/main/java/tech/ailef/dbadmin/dbmapping/DbObject.java +++ b/src/main/java/tech/ailef/dbadmin/dbmapping/DbObject.java @@ -21,6 +21,9 @@ public class DbObject { private DbObjectSchema schema; public DbObject(Object instance, DbObjectSchema schema) { + if (instance == null) + throw new DbAdminException("Trying to build object with instance == null"); + this.instance = instance; this.schema = schema; } @@ -54,6 +57,8 @@ public class DbObject { OneToOne oneToOne = field.getPrimitiveField().getAnnotation(OneToOne.class); if (oneToOne != null || manyToOne != null) { Object linkedObject = get(field.getJavaName()).getValue(); + if (linkedObject == null) return null; + DbObject linkedDbObject = new DbObject(linkedObject, field.getConnectedSchema()); return linkedDbObject; } else { diff --git a/src/main/resources/templates/fragments/data_row.html b/src/main/resources/templates/fragments/data_row.html index c59b035..b9b22cb 100644 --- a/src/main/resources/templates/fragments/data_row.html +++ b/src/main/resources/templates/fragments/data_row.html @@ -33,7 +33,7 @@ - +