]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java
Introduce test result attributes instead of root tags
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / core / test / tree / TreeTestResultLogger.java
index a0736fdbac0e45ace6c45a8d6f3401e9d20a057e..535abe61b52ba0c38a600b55dbb898703557635c 100644 (file)
@@ -3,7 +3,7 @@ package org.argeo.slc.core.test.tree;
 import org.apache.commons.logging.Log;\r
 import org.apache.commons.logging.LogFactory;\r
 \r
-import org.argeo.slc.core.test.SimpleResultPart;\r
+import org.argeo.slc.core.test.TestResultListener;\r
 import org.argeo.slc.core.test.TestResultPart;\r
 import org.argeo.slc.core.test.TestStatus;\r
 \r
@@ -13,28 +13,40 @@ import org.argeo.slc.core.test.TestStatus;
  * @see TreeTestResult\r
  * \r
  */\r
-public class TreeTestResultLogger extends AsynchronousTreeTestResultListener {\r
+public class TreeTestResultLogger implements TestResultListener<TreeTestResult> {\r
 \r
        private static Log log = LogFactory.getLog(TreeTestResultLogger.class);\r
 \r
-       public TreeTestResultLogger() {\r
-               super(true);\r
-       }\r
+       private Boolean logExceptionMessages = false;\r
 \r
-       @Override\r
-       protected void resultPartAdded(PartStruct partStruct) {\r
-               TestResultPart part = partStruct.part;\r
-               String msg = partStruct.part + " - " + partStruct.uuid + ":"\r
-                               + partStruct.path;\r
-               if (part.getStatus().equals(TestStatus.PASSED)) {\r
+       public void resultPartAdded(TreeTestResult testResult,\r
+                       TestResultPart testResultPart) {\r
+               String msg = testResultPart + " - " + testResult.getUuid() + ":"\r
+                               + testResult.getCurrentPath();\r
+               if (testResultPart.getStatus().equals(TestStatus.PASSED)) {\r
                        log.info(msg);\r
-               } else if (part.getStatus().equals(TestStatus.FAILED)) {\r
+               } else if (testResultPart.getStatus().equals(TestStatus.FAILED)) {\r
                        log.warn(msg);\r
-               } else if (part.getStatus().equals(TestStatus.ERROR)) {\r
-                       log.error(msg + ((SimpleResultPart) part).getExceptionMessage());\r
+               } else if (testResultPart.getStatus().equals(TestStatus.ERROR)) {\r
+                       if (logExceptionMessages)\r
+                               msg = msg + "\n" + testResultPart.getExceptionMessage();\r
+\r
+                       log.error(msg);\r
+\r
+                       if (!logExceptionMessages || log.isDebugEnabled())\r
+                               log.debug(testResultPart.getExceptionMessage());\r
+\r
                } else {\r
                        log.error("Unknow test status: " + msg);\r
                }\r
        }\r
 \r
+       public void close(TreeTestResult testResult) {\r
+               log.info("Test result " + testResult.getUuid() + " closed.");\r
+       }\r
+\r
+       public void setLogExceptionMessages(Boolean logExceptionMessages) {\r
+               this.logExceptionMessages = logExceptionMessages;\r
+       }\r
+\r
 }\r