]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/test/SlcReportTask.java
Introduce agent project
[gpl/argeo-slc.git] / org.argeo.slc.agent / src / main / java / org / argeo / slc / ant / test / SlcReportTask.java
diff --git a/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/test/SlcReportTask.java b/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/test/SlcReportTask.java
new file mode 100644 (file)
index 0000000..7587762
--- /dev/null
@@ -0,0 +1,40 @@
+package org.argeo.slc.ant.test;\r
+\r
+import org.argeo.slc.ant.structure.SAwareTask;\r
+import org.argeo.slc.core.structure.StructureAware;\r
+import org.argeo.slc.core.structure.StructureRegistry;\r
+import org.argeo.slc.core.test.TestReport;\r
+import org.argeo.slc.core.test.TestResult;\r
+\r
+/** Ant tasks generating a report. */\r
+public class SlcReportTask extends SAwareTask {\r
+       private String result;\r
+       private String report;\r
+\r
+       @Override\r
+       public void executeActions(String mode) {\r
+               if (!mode.equals(StructureRegistry.READ)) {\r
+                       TestResult testResult = null;\r
+                       if (result != null) {\r
+                               testResult = (TestResult) getContext().getBean(result);\r
+                       }\r
+                       TestReport testReport = (TestReport) getContext().getBean(report);\r
+                       if (testReport instanceof StructureAware) {\r
+                               ((StructureAware) testReport).notifyCurrentPath(getRegistry(),\r
+                                               null);\r
+                       }\r
+                       testReport.generateTestReport(testResult);\r
+               }\r
+       }\r
+\r
+       /** Sets the bean name of the result to close. */\r
+       public void setResult(String bean) {\r
+               this.result = bean;\r
+       }\r
+\r
+       /** Sets the bean name of the report to generate. */\r
+       public void setReport(String report) {\r
+               this.report = report;\r
+       }\r
+\r
+}\r