X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.simple%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Ftest%2Ftree%2FTreeTestResult.java;h=9ab13e9dc24e8282866e8d826d87bfdf52e481d7;hb=5ae9dc81ad1c3ddfa99a8456b0c5263dd483642d;hp=3e365afe0822c6f28b51f3f835d89189a6fd7328;hpb=19a9d8d57baf647f8a1a9aac3d9cb55c86dccbcc;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java index 3e365afe0..9ab13e9dc 100644 --- a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java +++ b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java @@ -1,5 +1,6 @@ package org.argeo.slc.core.test.tree; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -9,23 +10,26 @@ import java.util.Vector; 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.StructureElement; -import org.argeo.slc.core.structure.StructureRegistry; +import org.argeo.slc.SlcException; +import org.argeo.slc.core.attachment.Attachment; +import org.argeo.slc.core.attachment.AttachmentsEnabled; +import org.argeo.slc.core.attachment.SimpleAttachment; import org.argeo.slc.core.structure.tree.TreeSPath; -import org.argeo.slc.core.test.TestResult; -import org.argeo.slc.core.test.TestResultListener; -import org.argeo.slc.core.test.TestResultPart; -import org.argeo.slc.core.test.TestRun; -import org.argeo.slc.core.test.TestRunAware; +import org.argeo.slc.structure.StructureAware; +import org.argeo.slc.structure.StructureElement; +import org.argeo.slc.structure.StructureRegistry; +import org.argeo.slc.test.TestResult; +import org.argeo.slc.test.TestResultListener; +import org.argeo.slc.test.TestResultPart; +import org.argeo.slc.test.TestRun; +import org.argeo.slc.test.TestRunAware; /** * Complex implementation of a test result compatible with a tree based * structure. */ public class TreeTestResult implements TestResult, StructureAware, - Comparable { + Comparable, AttachmentsEnabled { private Log log = LogFactory.getLog(TreeTestResult.class); private List> listeners = new Vector>(); @@ -43,6 +47,7 @@ public class TreeTestResult implements TestResult, StructureAware, private SortedMap resultParts = new TreeMap(); private SortedMap elements = new TreeMap(); + private List attachments = new ArrayList(); private Map attributes = new TreeMap(); @@ -133,7 +138,6 @@ public class TreeTestResult implements TestResult, StructureAware, for (TestResultListener listener : listeners) { listener.close(this); } - listeners.clear(); } isClosed = true; @@ -216,4 +220,23 @@ public class TreeTestResult implements TestResult, StructureAware, this.warnIfAlreadyClosed = warnIfAlreadyClosed; } + public List getAttachments() { + return attachments; + } + + public void setAttachments(List attachments) { + this.attachments = attachments; + } + + public void addAttachment(Attachment attachment) { + attachments.add((SimpleAttachment) attachment); + synchronized (listeners) { + for (TestResultListener listener : listeners) { + if (listener instanceof TreeTestResultListener) + ((TreeTestResultListener) listener).addAttachment(this, + attachment); + } + } + } + }