X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=runtime%2Forg.argeo.slc.support.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fjcr%2Fdao%2FTreeTestResultNodeMapper.java;h=471de7100879f918c8b8a6ffa93f16257a8889ff;hb=b554c0910f6ddce935ceea5f99d399fe23af6f58;hp=9cb59edb7bdc96d4b52c22f1b2441a627cc0db8e;hpb=f0dc878635cd48403837159fc9f9a6cb555379d7;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultNodeMapper.java b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultNodeMapper.java index 9cb59edb7..471de7100 100644 --- a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultNodeMapper.java +++ b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/dao/TreeTestResultNodeMapper.java @@ -14,7 +14,6 @@ import javax.jcr.NodeIterator; import javax.jcr.Property; import javax.jcr.PropertyIterator; import javax.jcr.RepositoryException; -import javax.jcr.Session; import javax.jcr.query.Query; import javax.jcr.query.QueryManager; @@ -95,7 +94,12 @@ public class TreeTestResultNodeMapper extends BeanNodeMapper { // We add the tags Map tags = elements.get(key).getTags(); for (String tag : tags.keySet()) { - childNode.setProperty(tag, tags.get(tag)); + // remove forbidden characters + String cleanTag = JcrUtils.removeForbiddenCharacters(tag); + if (!cleanTag.equals(tag)) + log.warn("Tag '" + tag + "' persisted as '" + cleanTag + + "'"); + childNode.setProperty(cleanTag, tags.get(tag)); } // We set the class in order to be able to retrieve @@ -135,7 +139,7 @@ public class TreeTestResultNodeMapper extends BeanNodeMapper { Node listNode; int i; for (i = 0; i < list.size(); i++) { - TestResultPart trp = list.get(i); + // TestResultPart trp = list.get(i); // FIXME : ResultParts are systematicaly added. // There no check to see if already exists. listNode = childNode.addNode("resultpart"); @@ -190,8 +194,7 @@ public class TreeTestResultNodeMapper extends BeanNodeMapper { if (log.isTraceEnabled()) log.debug("Map node " + node.getPath() + " to bean " + clssName); - - // It's a very specific implementation, + // It's a very specific implementation, // We don't need to use a bean wrapper. TreeTestResult ttr = new TreeTestResult(); @@ -210,7 +213,7 @@ public class TreeTestResultNodeMapper extends BeanNodeMapper { props: while (propIt.hasNext()) { Property prop = propIt.nextProperty(); - //TODO Define a rule to generalize it (Namespace ??) + // TODO Define a rule to generalize it (Namespace ??) // Get rid of specific case. mainly uuid if ("uuid".equals(prop.getName()) || prop.getName().equals(getClassProperty()) @@ -238,8 +241,8 @@ public class TreeTestResultNodeMapper extends BeanNodeMapper { ttr.setAttachments(attachments); } - // STRUCTURED ELEMENTS - + // STRUCTURED ELEMENTS + String basePath = node.getPath(); SortedMap resultParts = new TreeMap(); SortedMap elements = new TreeMap(); @@ -271,9 +274,9 @@ public class TreeTestResultNodeMapper extends BeanNodeMapper { PropertyIterator tagIt = curNode.getProperties(); tags: while (tagIt.hasNext()) { Property prop = tagIt.nextProperty(); - log.debug("Handling property named : " + prop.getName()); + //log.debug("Handling property named : " + prop.getName()); - //TODO Define a rule to generalize it + // TODO Define a rule to generalize it // Specific case. mainly uuid if ("uuid".equals(prop.getName()) || prop.getName().equals(getClassProperty()) @@ -293,7 +296,7 @@ public class TreeTestResultNodeMapper extends BeanNodeMapper { ttr.setElements(elements); // RESULTPARTS - + // We have to had the uuid of the current node to be sure that we are in // its sub tree queryString = "//testresult[@uuid='" + uuid + "']";