package org.argeo.slc.ant.test;\r
\r
+import java.util.List;\r
+import java.util.Vector;\r
+\r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+import org.argeo.slc.ant.spring.SpringArg;\r
import org.argeo.slc.ant.structure.SAwareTask;\r
import org.argeo.slc.core.structure.StructureRegistry;\r
import org.argeo.slc.core.test.TestResult;\r
\r
/** Ant tasks closing a given result. */\r
public class SlcCloseTestResultTask extends SAwareTask {\r
- private String result;\r
+ private final static Log log = LogFactory\r
+ .getLog(SlcCloseTestResultTask.class);\r
+\r
+ public List<SpringArg<TestResult>> results = new Vector<SpringArg<TestResult>>();\r
\r
@Override\r
public void executeActions(String mode) {\r
if (!mode.equals(StructureRegistry.READ)) {\r
- TestResult testResult = (TestResult) getContext().getBean(result);\r
- testResult.close();\r
+ for (SpringArg<TestResult> result : results) {\r
+ try {\r
+ result.getBeanInstance().close();\r
+ } catch (RuntimeException e) {\r
+ log.error("Could not close result "\r
+ + (result.getBean() != null ? result.getBean()\r
+ : result.getAntref()), e);\r
+ }\r
+ }\r
}\r
}\r
\r
- /** Sets the bean name of the result to close. */\r
- public void setResult(String bean) {\r
- this.result = bean;\r
+ public SpringArg<TestResult> createResult() {\r
+ SpringArg<TestResult> result = new SpringArg<TestResult>();\r
+ results.add(result);\r
+ return result;\r
}\r
-\r
}\r