From 3bd17e6e841a0b53f9f89a2b3826e3e6c8309e76 Mon Sep 17 00:00:00 2001 From: Francesco Date: Tue, 19 Sep 2023 23:02:37 +0200 Subject: [PATCH] WIP --- .../controller/DefaultDbAdminController.java | 3 ++- .../tech/ailef/dbadmin/dbmapping/DbObject.java | 7 ++++++- .../ailef/dbadmin/dbmapping/DbObjectSchema.java | 16 ++++++++-------- .../resources/templates/fragments/forms.html | 6 +++--- src/main/resources/templates/model/create.html | 4 ++-- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/main/java/tech/ailef/dbadmin/controller/DefaultDbAdminController.java b/src/main/java/tech/ailef/dbadmin/controller/DefaultDbAdminController.java index be4b6f8..c4bc1ed 100644 --- a/src/main/java/tech/ailef/dbadmin/controller/DefaultDbAdminController.java +++ b/src/main/java/tech/ailef/dbadmin/controller/DefaultDbAdminController.java @@ -61,7 +61,8 @@ import tech.ailef.dbadmin.misc.Utils; * - SQL console (PRO) * - JPA Validation (PRO) * - Logging - * - ERROR 500: http://localhost:8080/dbadmin/model/tech.ailef.dbadmin.test.models.Order?query=2021 + * - TODO FIX: list model page crash + * EDIT error on table product * - Logs in web ui * - Tests: AutocompleteController, REST API, create/edit */ diff --git a/src/main/java/tech/ailef/dbadmin/dbmapping/DbObject.java b/src/main/java/tech/ailef/dbadmin/dbmapping/DbObject.java index df7a82b..88ad372 100644 --- a/src/main/java/tech/ailef/dbadmin/dbmapping/DbObject.java +++ b/src/main/java/tech/ailef/dbadmin/dbmapping/DbObject.java @@ -199,8 +199,13 @@ public class DbObject { String capitalize = Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1); Method[] methods = instance.getClass().getDeclaredMethods(); + String prefix = "get"; + if (schema.getFieldByJavaName(fieldName).getType() == DbFieldType.BOOLEAN) { + prefix = "is"; + } + for (Method m : methods) { - if (m.getName().equals("get" + capitalize)) + if (m.getName().equals(prefix + capitalize)) return m; } diff --git a/src/main/java/tech/ailef/dbadmin/dbmapping/DbObjectSchema.java b/src/main/java/tech/ailef/dbadmin/dbmapping/DbObjectSchema.java index 581c1f9..a2705a4 100644 --- a/src/main/java/tech/ailef/dbadmin/dbmapping/DbObjectSchema.java +++ b/src/main/java/tech/ailef/dbadmin/dbmapping/DbObjectSchema.java @@ -220,16 +220,16 @@ public class DbObjectSchema { value = files.get(name); } - String type = params.get("__dbadmin_" + name + "_type"); +// String type = params.get("__dbadmin_" + name + "_type"); - if (type == null) - throw new RuntimeException("Missing type hidden field for: " + name); +// if (type == null) +// throw new RuntimeException("Missing type hidden field for: " + name); try { if (value == null) row[currentIndex++] = null; else - row[currentIndex++] = DbFieldType.valueOf(type).parseValue(value); + row[currentIndex++] = value; //DbFieldType.valueOf(type).parseValue(value); } catch (IllegalArgumentException | SecurityException e) { e.printStackTrace(); } @@ -257,16 +257,16 @@ public class DbObjectSchema { value = files.get(name); } - String type = params.get("__dbadmin_" + name + "_type"); +// String type = params.get("__dbadmin_" + name + "_type"); - if (type == null) - throw new RuntimeException("Missing type hidden field for: " + name); +// if (type == null) +// throw new RuntimeException("Missing type hidden field for: " + name); try { if (value == null) row[currentIndex++] = null; else - row[currentIndex++] = DbFieldType.valueOf(type).parseValue(value); + row[currentIndex++] = value; //DbFieldType.valueOf(type).parseValue(value); } catch (IllegalArgumentException | SecurityException e) { e.printStackTrace(); } diff --git a/src/main/resources/templates/fragments/forms.html b/src/main/resources/templates/fragments/forms.html index 3633029..e5ec680 100644 --- a/src/main/resources/templates/fragments/forms.html +++ b/src/main/resources/templates/fragments/forms.html @@ -45,7 +45,7 @@ -
+
@@ -57,7 +57,7 @@
- +
@@ -74,7 +74,7 @@ step="any" oninvalid="this.setCustomValidity('This field is not nullable.')" oninput="this.setCustomValidity('')"> - + diff --git a/src/main/resources/templates/model/create.html b/src/main/resources/templates/model/create.html index 832a340..bbb942d 100644 --- a/src/main/resources/templates/model/create.html +++ b/src/main/resources/templates/model/create.html @@ -39,7 +39,7 @@ : (object != null ? object.traverse(field).getPrimaryKeyValue() : '' ) })}">
- +
- +