From 0ae52e222747d1499e023665e7da7e72911e10a0 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Wed, 25 Jun 2025 18:49:07 -0700 Subject: [PATCH] Hold GUID instead of Container --- .../ehr/demographics/AnimalRecordImpl.java | 23 +++++++++---------- .../EHRDemographicsServiceImpl.java | 5 ---- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/ehr/src/org/labkey/ehr/demographics/AnimalRecordImpl.java b/ehr/src/org/labkey/ehr/demographics/AnimalRecordImpl.java index 3e0bc8e0f..221e6cda3 100644 --- a/ehr/src/org/labkey/ehr/demographics/AnimalRecordImpl.java +++ b/ehr/src/org/labkey/ehr/demographics/AnimalRecordImpl.java @@ -18,9 +18,11 @@ import org.jetbrains.annotations.NotNull; import org.labkey.api.collections.CaseInsensitiveHashMap; import org.labkey.api.data.Container; +import org.labkey.api.data.ContainerManager; import org.labkey.api.ehr.demographics.AnimalRecord; import org.labkey.api.ehr.demographics.DemographicsProvider; import org.labkey.api.query.FieldKey; +import org.labkey.api.util.GUID; import java.util.Collections; import java.util.Date; @@ -29,27 +31,24 @@ /** * Immutable cached animal demographic record - * - * User: bimber - * Date: 7/14/13 */ public class AnimalRecordImpl implements AnimalRecord { - private Map _props = Collections.unmodifiableMap(new CaseInsensitiveHashMap<>()); - private final Container _container; + private Map _props = Collections.emptyMap(); + private final GUID _containerId; private final String _id; private final Date _created; - private AnimalRecordImpl(Container c, String id) + private AnimalRecordImpl(GUID containerId, String id) { - _container = c; + _containerId = containerId; _id = id; _created = new Date(); } - private AnimalRecordImpl(Container c, String id, Map props) + private AnimalRecordImpl(GUID containerId, String id, Map props) { - this(c, id); + this(containerId, id); if (props != null) { _props = Collections.unmodifiableMap(new CaseInsensitiveHashMap<>(props)); @@ -58,13 +57,13 @@ private AnimalRecordImpl(Container c, String id, Map props) public static AnimalRecordImpl create(Container c, String id, Map props) { - return new AnimalRecordImpl(c, id, props); + return new AnimalRecordImpl(c.getEntityId(), id, props); } @Override public AnimalRecord createCopy() { - return new AnimalRecordImpl(getContainer(), getId(), _props); + return new AnimalRecordImpl(_containerId, getId(), _props); } public synchronized void update(DemographicsProvider p, Map props) @@ -90,7 +89,7 @@ public String getId() @Override public Container getContainer() { - return _container; + return ContainerManager.getForId(_containerId); } @Override diff --git a/ehr/src/org/labkey/ehr/demographics/EHRDemographicsServiceImpl.java b/ehr/src/org/labkey/ehr/demographics/EHRDemographicsServiceImpl.java index 18750e94a..ba696f427 100644 --- a/ehr/src/org/labkey/ehr/demographics/EHRDemographicsServiceImpl.java +++ b/ehr/src/org/labkey/ehr/demographics/EHRDemographicsServiceImpl.java @@ -74,11 +74,6 @@ import java.util.TreeMap; import java.util.TreeSet; -/** - * User: bimber - * Date: 9/17/12 - * Time: 8:35 PM - */ public class EHRDemographicsServiceImpl extends EHRDemographicsService { private static final Logger _log = LogHelper.getLogger(EHRDemographicsServiceImpl.class, "Demographics caching, refreshing, and consistency checking");