From: Mathieu Baudier Date: Wed, 21 Nov 2007 12:56:12 +0000 (+0000) Subject: Improve structure management for composite test definitions X-Git-Tag: argeo-slc-2.1.7~3157 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=57e2add027ae8a7c7756343e50676421937edd2f;p=gpl%2Fargeo-slc.git Improve structure management for composite test definitions git-svn-id: https://svn.argeo.org/slc/trunk@729 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java b/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java index d877e2b4b..9a13834dc 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/ant/SlcProjectHelper.java @@ -104,7 +104,7 @@ public class SlcProjectHelper extends ProjectHelperImpl { final String description; if (i == 0) {// project itself description = project.getDescription() != null ? project - .getDescription() : ""; + .getDescription() : "[no desc]"; } else { description = slcAntConfig.getDescriptionForDir(dir); } diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/CompositeTreeTestDefinition.java b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/CompositeTreeTestDefinition.java index d5fa0095e..25479069b 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/CompositeTreeTestDefinition.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/CompositeTreeTestDefinition.java @@ -27,6 +27,7 @@ public class CompositeTreeTestDefinition implements TestDefinition, private List tasks = null; private List taskPaths = null; private TreeSPath path; + private StructureRegistry registry; public void execute(TestRun testRun) { log.info("Execute sequence of test definitions..."); @@ -35,7 +36,7 @@ public class CompositeTreeTestDefinition implements TestDefinition, for (TestDefinition task : tasks) { TestResult result = testRun.getTestResult(); if (result instanceof StructureAware) { - ((StructureAware) result).notifyCurrentPath(null, taskPaths + ((StructureAware) result).notifyCurrentPath(registry, taskPaths .get(i)); } @@ -43,7 +44,7 @@ public class CompositeTreeTestDefinition implements TestDefinition, // Reset current path in case it has been changed if (result instanceof StructureAware) { - ((StructureAware) result).notifyCurrentPath(null, path); + ((StructureAware) result).notifyCurrentPath(registry, path); } i++; } @@ -59,7 +60,8 @@ public class CompositeTreeTestDefinition implements TestDefinition, public void notifyCurrentPath(StructureRegistry registry, StructurePath path) { this.path = (TreeSPath) path; - + this.registry = registry; + // clear task paths taskPaths.clear(); @@ -69,7 +71,7 @@ public class CompositeTreeTestDefinition implements TestDefinition, if (task instanceof StructureElement) { element = (StructureElement) task; } else { - element = new SimpleSElement(""); + element = new SimpleSElement("[no desc]"); } TreeSPath taskPath = this.path.createChild(count.toString()); registry.register(taskPath, element); diff --git a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java index c16e70a76..ca92b4908 100644 --- a/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java +++ b/org.argeo.slc/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultPersister.java @@ -112,6 +112,11 @@ public class TreeTestResultPersister extends AsynchronousTreeTestResultListener private void syncPath(TreeSRegistry registry, StructureRegistry localRegistry, TreeSPath path) { + if (path.getParent() != null) { + TreeSPath parent = treeSPathDao.getOrCreate(path.getParent()); + syncPath(registry, localRegistry, parent); + } + if (registry.getElement(path) == null) { if (localRegistry != null) { registry.register(path, localRegistry.getElement(path)); @@ -121,9 +126,5 @@ public class TreeTestResultPersister extends AsynchronousTreeTestResultListener treeSRegistryDao.update(registry); } - if (path.getParent() != null) { - TreeSPath parent = treeSPathDao.getOrCreate(path.getParent()); - syncPath(registry, localRegistry, parent); - } } }