From 7f5987338ac9f39dbc9dbfc42e06977b2595415a Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Tue, 22 Apr 2025 11:24:19 +0200 Subject: [PATCH] [FEAT] update naming of the TableCoversGeneric to be generic --- .../dataAccess/addOnSQL/AddOnDataJson.java | 51 ++++++++++--------- .../addOnSQL/model/TableCoversGeneric.java | 10 ++-- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/src/main/org/atriasoft/archidata/dataAccess/addOnSQL/AddOnDataJson.java b/src/main/org/atriasoft/archidata/dataAccess/addOnSQL/AddOnDataJson.java index 2852ba1..73729ba 100644 --- a/src/main/org/atriasoft/archidata/dataAccess/addOnSQL/AddOnDataJson.java +++ b/src/main/org/atriasoft/archidata/dataAccess/addOnSQL/AddOnDataJson.java @@ -219,62 +219,63 @@ public class AddOnDataJson implements DataAccessAddOn { public static void addLink( final DBAccess ioDb, final Class clazz, - final String clazzPrimaryKeyName, + String clazzPrimaryKeyName, final Object clazzPrimaryKeyValue, final String fieldNameToUpdate, final Object valueToAdd) throws Exception { final String tableName = AnnotationTools.getTableName(clazz); final QueryOptions options = new QueryOptions(new OverrideTableName(tableName), - new OptionSpecifyType("id", clazzPrimaryKeyValue.getClass()), - new OptionSpecifyType("covers", valueToAdd.getClass(), true)); - if (clazzPrimaryKeyName != null && !clazzPrimaryKeyName.equals("id")) { - options.add(new OptionRenameColumn("id", clazzPrimaryKeyName)); - } - if (fieldNameToUpdate != null && !fieldNameToUpdate.equals("covers")) { - options.add(new OptionRenameColumn("covers", fieldNameToUpdate)); + new OptionSpecifyType("idOfTheObject", clazzPrimaryKeyValue.getClass()), + new OptionSpecifyType("filedNameOfTheObject", valueToAdd.getClass(), true)); + if (clazzPrimaryKeyName == null) { + clazzPrimaryKeyName = "id"; } + options.add(new OptionRenameColumn("idOfTheObject", clazzPrimaryKeyName)); + options.add(new OptionRenameColumn("filedNameOfTheObject", fieldNameToUpdate)); final TableCoversGeneric data = ioDb.get(TableCoversGeneric.class, clazzPrimaryKeyValue, options.getAllArray()); - if (data.covers == null) { - data.covers = new ArrayList<>(); + if (data.filedNameOfTheObject == null) { + data.filedNameOfTheObject = new ArrayList<>(); } - for (final Object elem : data.covers) { + for (final Object elem : data.filedNameOfTheObject) { if (elem.equals(valueToAdd)) { return; } } - data.covers.add(valueToAdd); - ioDb.update(data, data.id, List.of("covers"), options.getAllArray()); + data.filedNameOfTheObject.add(valueToAdd); + ioDb.update(data, data.idOfTheObject, List.of("filedNameOfTheObject"), options.getAllArray()); } public static void removeLink( final DBAccess ioDb, final Class clazz, - final String clazzPrimaryKeyName, + String clazzPrimaryKeyName, final Object clazzPrimaryKeyValue, final String fieldNameToUpdate, final Object valueToRemove) throws Exception { final String tableName = AnnotationTools.getTableName(clazz); final QueryOptions options = new QueryOptions(new OverrideTableName(tableName), - new OptionSpecifyType("id", clazzPrimaryKeyValue.getClass()), - new OptionSpecifyType("covers", valueToRemove.getClass(), true)); - if (clazzPrimaryKeyName != null && !clazzPrimaryKeyName.equals("id")) { - options.add(new OptionRenameColumn("id", clazzPrimaryKeyName)); - } - if (fieldNameToUpdate != null && !fieldNameToUpdate.equals("covers")) { - options.add(new OptionRenameColumn("covers", fieldNameToUpdate)); + new OptionSpecifyType("idOfTheObject", clazzPrimaryKeyValue.getClass()), + new OptionSpecifyType("filedNameOfTheObject", valueToRemove.getClass(), true)); + if (clazzPrimaryKeyName == null) { + clazzPrimaryKeyName = "id"; } + options.add(new OptionRenameColumn("idOfTheObject", clazzPrimaryKeyName)); + options.add(new OptionRenameColumn("filedNameOfTheObject", fieldNameToUpdate)); final TableCoversGeneric data = ioDb.get(TableCoversGeneric.class, clazzPrimaryKeyValue, options.getAllArray()); - if (data.covers == null) { + if (data.filedNameOfTheObject == null) { return; } final List newList = new ArrayList<>(); - for (final Object elem : data.covers) { + for (final Object elem : data.filedNameOfTheObject) { if (elem.equals(valueToRemove)) { continue; } newList.add(elem); } - data.covers = newList; - ioDb.update(data, data.id, List.of("covers"), options.getAllArray()); + data.filedNameOfTheObject = newList; + if (data.filedNameOfTheObject.isEmpty()) { + data.filedNameOfTheObject = null; + } + ioDb.update(data, data.idOfTheObject, List.of("filedNameOfTheObject"), options.getAllArray()); } } diff --git a/src/main/org/atriasoft/archidata/dataAccess/addOnSQL/model/TableCoversGeneric.java b/src/main/org/atriasoft/archidata/dataAccess/addOnSQL/model/TableCoversGeneric.java index 202ed4a..99625a2 100644 --- a/src/main/org/atriasoft/archidata/dataAccess/addOnSQL/model/TableCoversGeneric.java +++ b/src/main/org/atriasoft/archidata/dataAccess/addOnSQL/model/TableCoversGeneric.java @@ -11,15 +11,15 @@ public class TableCoversGeneric { // nothing to do... } - public TableCoversGeneric(final Object id, final List covers) { - this.id = id; - this.covers = covers; + public TableCoversGeneric(final Object idOfTheObject, final List filedNameOfTheObject) { + this.idOfTheObject = idOfTheObject; + this.filedNameOfTheObject = filedNameOfTheObject; } @Id - public Object id; + public Object idOfTheObject; @DataJson() - public List covers; + public List filedNameOfTheObject; }