]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.core/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultPersister.java
Fix the format of tree test result attributes.
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / dao / test / tree / TreeTestResultPersister.java
1 package org.argeo.slc.dao.test.tree;
2
3 import org.apache.commons.logging.Log;
4 import org.apache.commons.logging.LogFactory;
5
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;
9
10 /**
11 * Listener persisting tree-based results.
12 *
13 * @see TreeTestResult
14 */
15 public class TreeTestResultPersister implements
16 TestResultListener<TreeTestResult> {
17 private static Log log = LogFactory.getLog(TreeTestResultPersister.class);
18
19 private TreeTestResultDao testResultDao;
20
21 public void resultPartAdded(TreeTestResult testResult,
22 TestResultPart testResultPart) {
23 try {
24 TreeTestResult persistedResult = testResultDao
25 .getTestResult(testResult.getUuid());
26
27 if (persistedResult == null) {
28 testResultDao.create(testResult);
29 } else {
30 testResultDao.update(testResult);
31 }
32 } catch (Exception e) {
33 log.error("Could not persist result part " + testResultPart
34 + " for result " + testResult.getUuid());
35 }
36 }
37
38 public void close(TreeTestResult testResult) {
39 TreeTestResult persistedResult = (TreeTestResult) testResultDao
40 .getTestResult(testResult.getUuid());
41
42 if (persistedResult != null) {
43 persistedResult.setCloseDate(testResult.getCloseDate());
44 testResultDao.update(persistedResult);
45 }
46 if (log.isDebugEnabled())
47 log.debug("Closed result persister for result "
48 + testResult.getUuid());
49 }
50
51 /** Sets the DAO to use in order to persist the results. */
52 public void setTestResultDao(TreeTestResultDao testResultDao) {
53 this.testResultDao = testResultDao;
54 }
55 }