From a7c97f979bc26dd6a666b6ed5886a6dddd8b219f Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 30 Jul 2009 12:40:01 +0000 Subject: [PATCH] Make trees test result less strict with closed tree test results git-svn-id: https://svn.argeo.org/slc/trunk@2836 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../slc/core/test/tree/TreeTestResult.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java index 789d468ae..dc9de9a51 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResult.java @@ -34,7 +34,7 @@ public class TreeTestResult implements TestResult, StructureAware, Comparable, AttachmentsEnabled, Serializable { private static final long serialVersionUID = 1L; - private Log log = LogFactory.getLog(TreeTestResult.class); + private final static Log log = LogFactory.getLog(TreeTestResult.class); private List> listeners = new Vector>(); @@ -55,6 +55,8 @@ public class TreeTestResult implements TestResult, StructureAware, private Map attributes = new TreeMap(); + private Boolean strictChecks = false; + /** Sets the list of listeners. */ public void setListeners(List> listeners) { this.listeners = listeners; @@ -62,8 +64,12 @@ public class TreeTestResult implements TestResult, StructureAware, public void addResultPart(TestResultPart part) { if (isClosed) - throw new SlcException("Cannot result parts to a closed result"); - + notifyIssue( + "Trying to add result parts to an already closed result," + + " consider changing the scope of this test result:" + + " you are referencing the same stored data with each new call.", + null); + if (currentPath == null) throw new SlcException("No current path set."); @@ -85,6 +91,13 @@ public class TreeTestResult implements TestResult, StructureAware, } } + protected void notifyIssue(String msg, Exception e) { + if (strictChecks) + throw new SlcException(msg, e); + else + log.error(msg, e); + } + public void notifyCurrentPath(StructureRegistry registry, TreeSPath path) { if (registry != null) { @@ -271,4 +284,8 @@ public class TreeTestResult implements TestResult, StructureAware, } } + public void setStrictChecks(Boolean strictChecks) { + this.strictChecks = strictChecks; + } + } -- 2.39.2