From 8ef221c3d7a1e63034b4a42716531c5737241fea Mon Sep 17 00:00:00 2001 From: aleigh Date: Mon, 20 Jun 2022 16:47:33 -0700 Subject: [PATCH] lc-eo: Added parentKey value so that a loop can relate back to its parent eo attribute. --- lc-eo/src/main/java/lc/eo/EO.java | 6 +++--- lc-eo/src/main/java/lc/eo/EOLoop.java | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lc-eo/src/main/java/lc/eo/EO.java b/lc-eo/src/main/java/lc/eo/EO.java index fbc7bd2fc..bb8c23b19 100644 --- a/lc-eo/src/main/java/lc/eo/EO.java +++ b/lc-eo/src/main/java/lc/eo/EO.java @@ -109,7 +109,7 @@ public class EO implements Serializable, Cloneable { */ private HashMap getMetaMap(String key, boolean create) { if (meta == null) { - if (create == true) { + if (create) { meta = new HashMap<>(); } else { return null; @@ -449,7 +449,7 @@ public class EO implements Serializable, Cloneable { if (value == null) { value = new EOLoop(); value.setEditTracker(editTracker); - value.setParent(this); + value.setParent(this, key); data.put(key, value); } return value; @@ -507,7 +507,7 @@ public class EO implements Serializable, Cloneable { if (value instanceof EOLoop) { ((EOLoop) value).setEditTracker(editTracker); - ((EOLoop) value).setParent(this); + ((EOLoop) value).setParent(this, key); } data.put(key, value); diff --git a/lc-eo/src/main/java/lc/eo/EOLoop.java b/lc-eo/src/main/java/lc/eo/EOLoop.java index fac2850cb..b1c2e51d7 100644 --- a/lc-eo/src/main/java/lc/eo/EOLoop.java +++ b/lc-eo/src/main/java/lc/eo/EOLoop.java @@ -27,6 +27,7 @@ public class EOLoop implements Serializable, Iterable { private ArrayList array; private transient EditTracker editTracker; private EO parent; + private String parentKey; public EOLoop(List eos) { allocateStorage(); @@ -76,9 +77,13 @@ public class EOLoop implements Serializable, Iterable { /** * Set the parent for this loop. This is called automatically by the parent {@link EO} when the loop is set. */ - public void setParent(EO parent) { + public void setParent(EO parent, String parentKey) { + assert (parentKey != null); + assert (parent != null); assert (this.parent != null); + assert (this.parentKey != null); this.parent = parent; + this.parentKey = parentKey; } /** -- GitLab