From 7e6b6bef40a10284e4cee9d9709b2d96f4a7dd80 Mon Sep 17 00:00:00 2001 From: Brian Rosenberger Date: Sun, 15 Jun 2014 09:24:33 +0000 Subject: [PATCH] Fixed bug: insertNodes inserted nodes in reverse order git-svn-id: https://brutex.net/svn/xservices/trunk@158 e7e49efb-446e-492e-b9ec-fcafc1997a86 --- .../net/brutex/xservices/ws/impl/XmlServiceImpl.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java b/src/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java index 9e369b9..ef761d6 100644 --- a/src/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java +++ b/src/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java @@ -29,12 +29,14 @@ import java.util.List; import java.util.StringTokenizer; import javax.jws.WebService; +import javax.ws.rs.NotAuthorizedException; import javax.xml.namespace.QName; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; import javax.xml.stream.XMLStreamWriter; +import net.brutex.xservices.security.DirectoryPermission; import net.brutex.xservices.types.AttributeType; import net.brutex.xservices.types.NamespaceListType; import net.brutex.xservices.types.NamespaceType; @@ -42,6 +44,7 @@ import net.brutex.xservices.types.StringSplitType; import net.brutex.xservices.types.ant.FileResource; import net.brutex.xservices.ws.XServicesFault; import net.brutex.xservices.ws.XmlService; + import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMAttribute; import org.apache.axiom.om.OMCloneOptions; @@ -56,6 +59,8 @@ import org.apache.axiom.om.OMText; import org.apache.axiom.om.OMXMLBuilderFactory; import org.apache.axiom.om.xpath.AXIOMXPath; import org.apache.log4j.Logger; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authz.UnauthorizedException; import org.jaxen.JaxenException; import org.jaxen.SimpleNamespaceContext; @@ -420,6 +425,7 @@ public class XmlServiceImpl implements XmlService { private OMDocument replaceNodes(OMDocument xmldocument, AXIOMXPath axp, OMDocument xmlfragment) throws XServicesFault { + List olist = null; try { olist = axp.selectNodes(xmldocument.getOMDocumentElement()); @@ -469,7 +475,7 @@ public class XmlServiceImpl implements XmlService { while (children.hasNext()) { OMNode container = (OMNode) children.next(); - match.insertSiblingAfter((OMNode) container.clone(new OMCloneOptions())); + match.insertSiblingBefore((OMNode) container.clone(new OMCloneOptions())); } match.detach(); } @@ -503,4 +509,6 @@ public class XmlServiceImpl implements XmlService { logger.debug("Setting source xml string encoding to '"+encoding+"'"); return encoding; } + + }