]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/DetachedXmlConverterCompat.java
Remove deprecated APIs
[gpl/argeo-slc.git] / runtime / org.argeo.slc.detached / src / main / java / org / argeo / slc / detached / DetachedXmlConverterCompat.java
index 7ad49fadaad5ba1ad161345a2292f17a746d4dec..6cba2ba8d457cd3d8fb3e2964a51643bff9e3809 100644 (file)
@@ -1,6 +1,22 @@
+/*
+ * Copyright (C) 2007-2012 Mathieu Baudier
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *         http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.argeo.slc.detached;
 
 import java.io.StringReader;
+import java.io.StringWriter;
 import java.util.Enumeration;
 import java.util.Properties;
 
@@ -10,18 +26,24 @@ import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerException;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
-/** For compatibility with old JDKs (pre 1.5). Use Spring base one when possible. */
+/**
+ * For compatibility with old JDKs (pre 1.5). Use Spring base one when possible.
+ */
 public class DetachedXmlConverterCompat implements DetachedXmlConverter {
        public final static String SLC_DETACHED_NAMESPACE_URI = "http://argeo.org/projects/slc/schemas/detached";
-       // private final static Log log = LogFactory
-       // .getLog(DetachedXmlConverterCompat.class);
+       private final static Log log = LogFactory
+                       .getLog(DetachedXmlConverterCompat.class);
 
        private final Transformer copy;
 
@@ -53,9 +75,23 @@ public class DetachedXmlConverterCompat implements DetachedXmlConverter {
                } catch (TransformerException e) {
                        throw new DetachedException("Could not copy xml source", e);
                }
+
+               if (log.isTraceEnabled()) {
+                       try {
+                               DOMSource domSource = new DOMSource(result.getNode());
+                               StringWriter stringWriter = new StringWriter();
+                               StreamResult streamResult = new StreamResult(stringWriter);
+                               copy.transform(domSource, streamResult);
+                               log.trace("Unmarshall communication:\n"
+                                               + stringWriter.toString());
+                               IOUtils.closeQuietly(stringWriter);
+                       } catch (TransformerException e) {
+                               log.warn("Could not log xml source", e);
+                       }
+               }
                Element root = (Element) ((Document) result.getNode())
                                .getDocumentElement();
-               
+
                // Create objects
                String requestType = root.getLocalName();
                if (requestType.equals("detached-request")) {
@@ -67,9 +103,6 @@ public class DetachedXmlConverterCompat implements DetachedXmlConverter {
                                        .setRef(root.getElementsByTagNameNS(
                                                        SLC_DETACHED_NAMESPACE_URI, "ref").item(0)
                                                        .getTextContent());
-                       request.setPath(root.getElementsByTagNameNS(
-                                       SLC_DETACHED_NAMESPACE_URI, "path").item(0)
-                                       .getTextContent());
                        Element propertiesElement = (Element) root.getElementsByTagNameNS(
                                        SLC_DETACHED_NAMESPACE_URI, "properties").item(0);
                        NodeList propElements = propertiesElement.getElementsByTagNameNS(
@@ -141,8 +174,6 @@ public class DetachedXmlConverterCompat implements DetachedXmlConverter {
                                "uuid").item(0).getTextContent());
                request.setRef(node.getElementsByTagNameNS(SLC_DETACHED_NAMESPACE_URI,
                                "ref").item(0).getTextContent());
-               request.setPath(node.getElementsByTagNameNS(SLC_DETACHED_NAMESPACE_URI,
-                               "path").item(0).getTextContent());
                Element propertiesElement = (Element) node.getElementsByTagNameNS(
                                SLC_DETACHED_NAMESPACE_URI, "properties").item(0);
                NodeList propElements = propertiesElement.getElementsByTagNameNS(