\r
import java.util.UUID;\r
\r
-import org.argeo.slc.core.deploy.DeployedSystem;\r
-import org.argeo.slc.core.process.SlcExecution;\r
-import org.argeo.slc.core.process.SlcExecutionRelated;\r
-import org.argeo.slc.core.process.SlcExecutionStep;\r
+import org.argeo.slc.core.structure.tree.TreeSPath;\r
+import org.argeo.slc.core.structure.tree.TreeSRegistry;\r
+import org.argeo.slc.deploy.DeployedSystem;\r
+import org.argeo.slc.process.SlcExecution;\r
+import org.argeo.slc.process.SlcExecutionRelated;\r
+import org.argeo.slc.process.SlcExecutionStep;\r
+import org.argeo.slc.structure.StructureAware;\r
+import org.argeo.slc.structure.StructureElement;\r
+import org.argeo.slc.structure.StructureRegistry;\r
+import org.argeo.slc.test.ExecutableTestRun;\r
+import org.argeo.slc.test.TestData;\r
+import org.argeo.slc.test.TestDefinition;\r
+import org.argeo.slc.test.TestResult;\r
+import org.argeo.slc.test.WritableTestRun;\r
\r
/**\r
* A basic bean implementation of a <code>WritableTestRun</code>, holding\r
* references to the various parts of a test run.\r
*/\r
-public class SimpleTestRun implements WritableTestRun, ExecutableTestRun, SlcExecutionRelated {\r
+public class SimpleTestRun implements WritableTestRun, ExecutableTestRun,\r
+ SlcExecutionRelated, StructureAware<TreeSPath> {\r
private String uuid;\r
\r
private String slcExecutionUuid;\r
private String slcExecutionStepUuid;\r
\r
+ private TreeSPath path;\r
+ private StructureRegistry<TreeSPath> registry;\r
+\r
private DeployedSystem deployedSystem;\r
private TestData testData;\r
private TestDefinition testDefinition;\r
private TestResult testResult;\r
\r
/** Executes the underlying test definition. */\r
- public void execute() {\r
+ public void run() {\r
uuid = UUID.randomUUID().toString();\r
if (testResult != null)\r
testResult.notifyTestRun(this);\r
+\r
+ // Structure\r
+ if (testResult != null && path != null\r
+ && testResult instanceof StructureAware)\r
+ ((StructureAware<TreeSPath>) testResult).notifyCurrentPath(\r
+ registry, path);\r
+\r
+ if (path != null && testDefinition instanceof StructureAware)\r
+ ((StructureAware<TreeSPath>) testDefinition).notifyCurrentPath(\r
+ registry, path);\r
+\r
testDefinition.execute(this);\r
}\r
\r
}\r
}\r
\r
+ public void notifyCurrentPath(StructureRegistry<TreeSPath> registry,\r
+ TreeSPath path) {\r
+ this.registry = registry;\r
+ this.path = path;\r
+ }\r
+\r
}\r