Add load capability for MergeResult objects
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / java / eu / etaxonomy / taxeditor / remoting / cache / CacheLoader.java
index 526e990e46779b5b09ec00a261e668b6225acc69..62fc5c20ae36ae79eed8f3ddcc89e9f6643ea702 100644 (file)
@@ -25,6 +25,7 @@ import org.springframework.util.ReflectionUtils;
 import eu.etaxonomy.cdm.api.service.pager.Pager;
 import eu.etaxonomy.cdm.model.ICdmCacher;
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.persistence.dto.MergeResult;
 
 /**
  * @author cmathew
@@ -72,6 +73,8 @@ public class CacheLoader {
         } else if(obj instanceof Pager) {
              load(((Pager)obj).getRecords(), recursive, update);
              return obj;
+        } else if(obj instanceof MergeResult) {
+            return (T) load((MergeResult<CdmBase>)obj, recursive, update);
         }
 
         return obj;
@@ -199,6 +202,13 @@ public class CacheLoader {
     }
 
 
+    public MergeResult<CdmBase> load(MergeResult<CdmBase> mergeResult, boolean recursive, boolean update) {
+        CdmBase cdmBase = load(mergeResult.getMergedEntity(), recursive, update);
+        load(mergeResult.getNewEntities(), recursive, update);
+        return mergeResult;
+    }
+
+
     /**
      * Puts the (Key,Value) pair of ({@link java.util.UUID}, {@link eu.etaxonomy.cdm.model.common.CdmBase}),
      * in the cache corresponding to the given cache id