]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/test/SimpleTestRun.java
Introduce a factory bean to use execution resources
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.simple / src / main / java / org / argeo / slc / core / test / SimpleTestRun.java
index bab085990ba9a22560a1f70c417cbc67e2436203..86b35323b2353e55572fec4469ec27fbc99ff2d2 100644 (file)
@@ -9,6 +9,7 @@ import org.argeo.slc.process.SlcExecution;
 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
@@ -21,13 +22,14 @@ import org.argeo.slc.test.WritableTestRun;
  * references to the various parts of a test run.\r
  */\r
 public class SimpleTestRun implements WritableTestRun, ExecutableTestRun,\r
-               SlcExecutionRelated {\r
+               SlcExecutionRelated, StructureAware<TreeSPath> {\r
        private String uuid;\r
 \r
        private String slcExecutionUuid;\r
        private String slcExecutionStepUuid;\r
 \r
-       private String path;\r
+       private TreeSPath path;\r
+       private StructureRegistry<TreeSPath> registry;\r
 \r
        private DeployedSystem deployedSystem;\r
        private TestData testData;\r
@@ -35,28 +37,20 @@ public class SimpleTestRun implements WritableTestRun, ExecutableTestRun,
        private TestResult testResult;\r
 \r
        /** Executes the underlying test definition. */\r
-       public void execute() {\r
-               TreeSPath basePath = null;\r
-               StructureRegistry<TreeSPath> registry = null;\r
-               if (path != null) {\r
-                       // TODO: generalize\r
-                       basePath = new TreeSPath(path);\r
-                       registry = new TreeSRegistry();\r
-               }\r
-\r
+       public void run() {\r
                uuid = UUID.randomUUID().toString();\r
                if (testResult != null)\r
                        testResult.notifyTestRun(this);\r
 \r
                // Structure\r
-               if (testResult != null && basePath != null\r
+               if (testResult != null && path != null\r
                                && testResult instanceof StructureAware)\r
                        ((StructureAware<TreeSPath>) testResult).notifyCurrentPath(\r
-                                       registry, basePath);\r
+                                       registry, path);\r
 \r
-               if (basePath != null && testDefinition instanceof StructureAware)\r
+               if (path != null && testDefinition instanceof StructureAware)\r
                        ((StructureAware<TreeSPath>) testDefinition).notifyCurrentPath(\r
-                                       registry, basePath);\r
+                                       registry, path);\r
 \r
                testDefinition.execute(this);\r
        }\r
@@ -127,7 +121,9 @@ public class SimpleTestRun implements WritableTestRun, ExecutableTestRun,
                }\r
        }\r
 \r
-       public void setPath(String path) {\r
+       public void notifyCurrentPath(StructureRegistry<TreeSPath> registry,\r
+                       TreeSPath path) {\r
+               this.registry = registry;\r
                this.path = path;\r
        }\r
 \r