]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java
Basic reporting
[gpl/argeo-slc.git] / org.argeo.slc / src / main / java / org / argeo / slc / core / test / tree / TreeTestResultPersister.java
index 16ec6facda707373ac4eb320640309b16642d658..17cf66499c463af4174eeb03ea748fec88f66b07 100644 (file)
@@ -1,32 +1,51 @@
 package org.argeo.slc.core.test.tree;\r
 \r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+\r
 import org.argeo.slc.dao.test.TestResultDao;\r
 \r
 public class TreeTestResultPersister extends AsynchronousTreeTestResultListener {\r
+       private static Log log = LogFactory.getLog(TreeTestResultPersister.class);\r
+\r
        private TestResultDao testResultDao;\r
 \r
        @Override\r
        protected void resultPartAdded(PartStruct partStruct) {\r
-               TreeTestResult persistedResult = (TreeTestResult) testResultDao\r
-                               .getTestResult(partStruct.resultId);\r
-               if (persistedResult == null) {\r
-                       persistedResult = new TreeTestResult();\r
-                       persistedResult.setNumericResultId(partStruct.resultId);\r
-                       PartSubList subList = new PartSubList();\r
-                       subList.getParts().add(partStruct.part);\r
-                       persistedResult.getResultParts().put(partStruct.path, subList);\r
-\r
-                       testResultDao.create(persistedResult);\r
-               } else {\r
-                       PartSubList subList = persistedResult.getResultParts().get(\r
-                                       partStruct.path);\r
-                       if (subList == null) {\r
-                               subList = new PartSubList();\r
+               try {\r
+                       TreeTestResult persistedResult = (TreeTestResult) testResultDao\r
+                                       .getTestResult(partStruct.resultId);\r
+                       if (persistedResult == null) {\r
+                               persistedResult = new TreeTestResult();\r
+                               persistedResult.setNumericResultId(partStruct.resultId);\r
+                               PartSubList subList = new PartSubList();\r
+                               subList.getParts().add(partStruct.part);\r
                                persistedResult.getResultParts().put(partStruct.path, subList);\r
-                       }\r
-                       subList.getParts().add(partStruct.part);\r
 \r
-                       testResultDao.update(persistedResult);\r
+                               testResultDao.create(persistedResult);\r
+                       } else {\r
+                               PartSubList subList = persistedResult.getResultParts().get(\r
+                                               partStruct.path);\r
+                               if (subList == null) {\r
+                                       subList = new PartSubList();\r
+                                       persistedResult.getResultParts().put(partStruct.path,\r
+                                                       subList);\r
+                               }\r
+                               persistedResult.getResultParts().get(partStruct.path)\r
+                                               .getParts().add(partStruct.part);\r
+\r
+                               if (log.isTraceEnabled()) {\r
+                                       log.trace("ResultId:" + persistedResult.getTestResultId());\r
+                                       log.trace("ResultParts size:"\r
+                                                       + persistedResult.getResultParts().size());\r
+                                       log.trace("Sublist size:" + subList.getParts().size());\r
+                                       log.trace("Part: " + partStruct.part);\r
+                               }\r
+                               testResultDao.update(persistedResult);\r
+                       }\r
+               } catch (Exception e) {\r
+                       log.error("Could not persist part for result #"\r
+                                       + partStruct.resultId, e);\r
                }\r
        }\r
 \r