package org.argeo.slc.core.test.tree;\r
\r
+import java.util.Date;\r
import java.util.List;\r
import java.util.SortedMap;\r
import java.util.TreeMap;\r
+import java.util.Vector;\r
\r
import org.apache.commons.logging.Log;\r
import org.apache.commons.logging.LogFactory;\r
private Long tid;\r
\r
private NumericTRId testResultId;\r
- private List<TestResultListener> listeners;\r
+ private List<TestResultListener> listeners = new Vector<TestResultListener>();\r
\r
private TreeSPath currentPath;\r
\r
+ private Date closeDate;\r
+\r
private boolean isClosed = false;\r
\r
private SortedMap<TreeSPath, PartSubList> resultParts = new TreeMap<TreeSPath, PartSubList>();\r
\r
+ private StructureRegistry registry;\r
+\r
public TestResultId getTestResultId() {\r
return testResultId;\r
}\r
return testResultId;\r
}\r
\r
+ /** Sets the test result id as a numeric test result id. */\r
public void setNumericResultId(NumericTRId testResultId) {\r
this.testResultId = testResultId;\r
}\r
\r
+ /** Sets the list of listeners. */\r
public void setListeners(List<TestResultListener> listeners) {\r
this.listeners = listeners;\r
}\r
\r
public void notifyCurrentPath(StructureRegistry registry, StructurePath path) {\r
currentPath = (TreeSPath) path;\r
+ this.registry = registry;\r
}\r
\r
+ /** Gets the current path. */\r
public TreeSPath getCurrentPath() {\r
return currentPath;\r
}\r
throw new SlcException("Test Result #" + getTestResultId()\r
+ " alredy closed.");\r
}\r
+ closeDate = new Date();\r
\r
synchronized (listeners) {\r
for (TestResultListener listener : listeners) {\r
- listener.close();\r
+ listener.close(this);\r
}\r
listeners.clear();\r
}\r
isClosed = true;\r
+\r
log.info("Test Result #" + getTestResultId() + " closed.");\r
}\r
\r
this.tid = tid;\r
}\r
\r
+ /** Gets the related registry (can be null). */\r
+ public StructureRegistry getRegistry() {\r
+ return registry;\r
+ }\r
+\r
+ /** Sets the related registry. */\r
+ public void setRegistry(StructureRegistry registry) {\r
+ this.registry = registry;\r
+ }\r
+\r
+ public Date getCloseDate() {\r
+ return closeDate;\r
+ }\r
+\r
+ /** Sets the close date (for ORM) */\r
+ public void setCloseDate(Date closeDate) {\r
+ this.closeDate = closeDate;\r
+ }\r
+\r
}\r