X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Ftest%2Ftree%2FTreeTestResult.java;h=3c5be7305e3547c33683abcf59bbfe59898b5662;hb=29dd4087314b2f5fa541d13b9723c47b40e14700;hp=29f1c8d0616ff08407cd8b63c2a3957ed652d373;hpb=9eb5d8493deed66f11248550fe5ec2202151846f;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java index 29f1c8d06..3c5be7305 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java @@ -4,6 +4,9 @@ import java.util.List; import java.util.SortedMap; import java.util.TreeMap; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + import org.argeo.slc.core.SlcException; import org.argeo.slc.core.structure.StructureAware; import org.argeo.slc.core.structure.StructurePath; @@ -16,6 +19,7 @@ import org.argeo.slc.core.test.TestResultListener; import org.argeo.slc.core.test.TestResultPart; public class TreeTestResult implements TestResult, StructureAware { + private Log log = LogFactory.getLog(TreeTestResult.class); /** For ORM */ private Long tid; @@ -23,6 +27,8 @@ public class TreeTestResult implements TestResult, StructureAware { private List listeners; private TreeSPath currentPath; + + private boolean isClosed = false; private SortedMap resultParts = new TreeMap(); @@ -78,12 +84,18 @@ public class TreeTestResult implements TestResult, StructureAware { } public void close() { + if(isClosed){ + throw new SlcException("Test Result #"+getTestResultId()+" alredy closed."); + } + synchronized (listeners) { for (TestResultListener listener : listeners) { listener.close(); } listeners.clear(); } + isClosed = true; + log.info("Test Result #"+getTestResultId()+" closed."); } Long getTid() {