1 package org
.argeo
.slc
.dao
.test
.tree
;
3 import org
.apache
.commons
.logging
.Log
;
4 import org
.apache
.commons
.logging
.LogFactory
;
6 import org
.argeo
.slc
.core
.test
.TestResultListener
;
7 import org
.argeo
.slc
.core
.test
.TestResultPart
;
8 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResult
;
11 * Listener persisting tree-based results.
15 public class TreeTestResultPersister
implements
16 TestResultListener
<TreeTestResult
> {
17 private static Log log
= LogFactory
.getLog(TreeTestResultPersister
.class);
19 private TreeTestResultDao testResultDao
;
21 public void resultPartAdded(TreeTestResult testResult
,
22 TestResultPart testResultPart
) {
24 TreeTestResult persistedResult
= testResultDao
25 .getTestResult(testResult
.getUuid());
27 if (persistedResult
== null) {
28 testResultDao
.create(testResult
);
30 testResultDao
.update(testResult
);
32 } catch (Exception e
) {
33 log
.error("Could not persist result part " + testResultPart
34 + " for result " + testResult
.getUuid());
38 public void close(TreeTestResult testResult
) {
39 TreeTestResult persistedResult
= (TreeTestResult
) testResultDao
40 .getTestResult(testResult
.getUuid());
42 if (persistedResult
!= null) {
43 persistedResult
.setCloseDate(testResult
.getCloseDate());
44 testResultDao
.update(persistedResult
);
46 if (log
.isDebugEnabled())
47 log
.debug("Closed result persister for result "
48 + testResult
.getUuid());
51 /** Sets the DAO to use in order to persist the results. */
52 public void setTestResultDao(TreeTestResultDao testResultDao
) {
53 this.testResultDao
= testResultDao
;