]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java
Introduce complex tree test definition
[gpl/argeo-slc.git] / org.argeo.slc / src / main / java / org / argeo / slc / core / test / tree / TreeTestResult.java
index 29f1c8d0616ff08407cd8b63c2a3957ed652d373..3c5be7305e3547c33683abcf59bbfe59898b5662 100644 (file)
@@ -4,6 +4,9 @@ import java.util.List;
 import java.util.SortedMap;\r
 import java.util.TreeMap;\r
 \r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+\r
 import org.argeo.slc.core.SlcException;\r
 import org.argeo.slc.core.structure.StructureAware;\r
 import org.argeo.slc.core.structure.StructurePath;\r
@@ -16,6 +19,7 @@ import org.argeo.slc.core.test.TestResultListener;
 import org.argeo.slc.core.test.TestResultPart;\r
 \r
 public class TreeTestResult implements TestResult, StructureAware {\r
+       private Log log = LogFactory.getLog(TreeTestResult.class);\r
        /** For ORM */\r
        private Long tid;\r
 \r
@@ -23,6 +27,8 @@ public class TreeTestResult implements TestResult, StructureAware {
        private List<TestResultListener> listeners;\r
 \r
        private TreeSPath currentPath;\r
+       \r
+       private boolean isClosed = false;\r
 \r
        private SortedMap<TreeSPath, PartSubList> resultParts = new TreeMap<TreeSPath, PartSubList>();\r
 \r
@@ -78,12 +84,18 @@ public class TreeTestResult implements TestResult, StructureAware {
        }\r
 \r
        public void close() {\r
+               if(isClosed){\r
+                       throw new SlcException("Test Result #"+getTestResultId()+" alredy closed.");\r
+               }\r
+               \r
                synchronized (listeners) {\r
                        for (TestResultListener listener : listeners) {\r
                                listener.close();\r
                        }\r
                        listeners.clear();\r
                }\r
+               isClosed = true;\r
+               log.info("Test Result #"+getTestResultId()+" closed.");\r
        }\r
 \r
        Long getTid() {\r