- fixed compile error and possible NPE #4810
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / UpdateResult.java
index 77ca422924375ae5216d7335054231416fd465dc..b651ca8ea15a9f628b0206b824aa126776b04009 100644 (file)
@@ -8,19 +8,18 @@
        * The contents of this file are subject to the Mozilla Public License Version 1.1\r
        * See LICENSE.TXT at the top of this package for the full license terms.\r
        */\r
-       package eu.etaxonomy.cdm.api.service;\r
+package eu.etaxonomy.cdm.api.service;\r
 \r
-       import java.io.Serializable;\r
-import java.util.ArrayList;\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
 import java.util.HashSet;\r
-import java.util.List;\r
 import java.util.Set;\r
 \r
-       import org.apache.log4j.Logger;\r
+import org.apache.commons.collections.buffer.CircularFifoBuffer;\r
+import org.apache.log4j.Logger;\r
 \r
-       import eu.etaxonomy.cdm.model.common.CdmBase;\r
+import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;\r
-import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
 \r
        /**\r
         * This class represents the result of an update action.\r
@@ -30,19 +29,23 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode;
         *\r
         */\r
 public class UpdateResult implements Serializable{\r
-       \r
-       \r
 \r
-               @SuppressWarnings("unused")\r
+\r
+        private static final long serialVersionUID = 1L;\r
+\r
+        @SuppressWarnings("unused")\r
                private static final Logger logger = Logger.getLogger(UpdateResult.class);\r
 \r
                private Status status = Status.OK;\r
 \r
-               private final List<Exception> exceptions = new ArrayList<Exception>();\r
+               @SuppressWarnings("unchecked")\r
+               private final Collection<Exception> exceptions = new CircularFifoBuffer(10);\r
 \r
                private final Set<CdmBase> upatedObjects = new HashSet<CdmBase>();\r
-               \r
-               private CdmBase cdmEntity;\r
+\r
+               private final Set<CdmBase> unchangedObjects = new HashSet<CdmBase>();\r
+\r
+        private CdmBase cdmEntity;\r
 \r
 //             private Set<PersistPair> objectsToDelete = new HashSet<PersistPair>();\r
        //\r
@@ -83,17 +86,17 @@ public class UpdateResult implements Serializable{
                        this.status = status;\r
                }\r
 \r
-               /**\r
+               /** \r
                 * The highest exception that occurred during delete (if any).\r
                 * @return\r
                 */\r
-               public List<Exception> getExceptions() {\r
+               public Collection<Exception> getExceptions() {\r
                        return exceptions;\r
                }\r
                public void addException(Exception exception) {\r
                        this.exceptions.add(exception);\r
                }\r
-               public void addExceptions(List<Exception> exceptions) {\r
+               public void addExceptions(Collection<Exception> exceptions) {\r
                        this.exceptions.addAll(exceptions);\r
                }\r
 \r
@@ -212,10 +215,23 @@ public class UpdateResult implements Serializable{
                }\r
                public void setCdmEntity(CdmBase cdmBase) {\r
                        this.cdmEntity = cdmBase;\r
-                       \r
+\r
                }\r
 \r
+               public CdmBase getCdmEntity(){\r
+                   return cdmEntity;\r
+               }\r
+\r
+               public Set<CdmBase> getUnchangedObjects() {\r
+            return unchangedObjects;\r
+        }\r
+\r
+               public void addUnchangedObjects(Set<? extends CdmBase> unchangedObjects) {\r
+                   this.unchangedObjects.addAll(unchangedObjects);\r
+               }\r
+               public void addUnChangedObject(CdmBase unchangedObject) {\r
+                   this.unchangedObjects.add(unchangedObject);\r
+               }\r
 \r
-       \r
 \r
 }\r