]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/JcrTestResult.java
Work in progress - work on modular distributions.
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / main / java / org / argeo / slc / jcr / JcrTestResult.java
index 45de6597aacdfb30313a5cd88c7eb1600699e765..e3394e05cbbda6ecbcd8c11800487512d5b86e2b 100644 (file)
@@ -127,23 +127,23 @@ public class JcrTestResult implements TestResult, SlcNames, AttachmentsEnabled {
 
        public void addResultPart(TestResultPart testResultPart) {
                Node node = getNode();
-               
+
                try {
-               
-                       // error
-            if (testResultPart.getExceptionMessage() != null)
-                    JcrUtils.discardQuietly(node.getSession());
+                       // error : revert all unsaved changes on the resultNode to be sure
+                       // it is in a consistant state
+                       if (testResultPart.getExceptionMessage() != null)
+                               JcrUtils.discardQuietly(node.getSession());
                        node.getSession().save();
-                       
+
                        // add the new result part, retrieving status information
                        Node resultPartNode = node.addNode(SlcNames.SLC_RESULT_PART,
                                        SlcTypes.SLC_CHECK);
-                       resultPartNode.setProperty(SLC_SUCCESS,
-                                       testResultPart.getStatus() == TestStatus.PASSED);
-                       // if (testResultPart.getMessage() != null)
-                       // resultPartNode.setProperty(SLC_MESSAGE,
-                       // testResultPart.getMessage());
-                       if (testResultPart.getStatus() == TestStatus.ERROR) {
+                       resultPartNode.setProperty(SLC_SUCCESS, testResultPart.getStatus()
+                                       .equals(TestStatus.PASSED));
+                       if (testResultPart.getMessage() != null)
+                               resultPartNode.setProperty(SLC_MESSAGE,
+                                               testResultPart.getMessage());
+                       if (testResultPart.getStatus().equals(TestStatus.ERROR)) {
                                resultPartNode.setProperty(SLC_ERROR_MESSAGE,
                                                (testResultPart.getExceptionMessage() == null) ? ""
                                                                : testResultPart.getExceptionMessage());
@@ -204,7 +204,7 @@ public class JcrTestResult implements TestResult, SlcNames, AttachmentsEnabled {
                        node.getSession().save();
                } catch (Exception e) {
                        JcrUtils.discardUnderlyingSessionQuietly(node);
-                       throw new SlcException("Cannot get UUID from " + node, e);
+                       throw new SlcException("Cannot add ResultPart to node " + node, e);
                }
        }