From 07ca7beb63daec5a9ca19a0879174c953a16e406 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Fri, 15 Jan 2021 10:29:01 +0100 Subject: [PATCH] Make settings XML text for robust. --- org.argeo.jcr/src/org/argeo/jcr/JcrxApi.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/org.argeo.jcr/src/org/argeo/jcr/JcrxApi.java b/org.argeo.jcr/src/org/argeo/jcr/JcrxApi.java index 64f22b603..0223b6944 100644 --- a/org.argeo.jcr/src/org/argeo/jcr/JcrxApi.java +++ b/org.argeo.jcr/src/org/argeo/jcr/JcrxApi.java @@ -54,9 +54,12 @@ public class JcrxApi { */ public static void setXmlValue(Node node, String name, String value) { try { - if (node.hasNode(name)) - node.getNode(name).getNode(Jcr.JCR_XMLTEXT).setProperty(Jcr.JCR_XMLCHARACTERS, value); - else + if (node.hasNode(name)) { + Node child = node.getNode(name); + if (!child.hasNode(Jcr.JCR_XMLTEXT)) + child.addNode(Jcr.JCR_XMLTEXT, JcrxType.JCRX_XMLTEXT); + child.getNode(Jcr.JCR_XMLTEXT).setProperty(Jcr.JCR_XMLCHARACTERS, value); + } else node.addNode(name, JcrxType.JCRX_XMLVALUE).addNode(Jcr.JCR_XMLTEXT, JcrxType.JCRX_XMLTEXT) .setProperty(Jcr.JCR_XMLCHARACTERS, value); } catch (RepositoryException e) { -- 2.30.2