svn commit: r909650 - in /ofbiz/trunk: .classpath LICENSE NOTICE framework/base/lib/xpp3_min-1.1.4c.jar framework/base/lib/xstream-1.3.1.jar framework/base/src/org/ofbiz/base/util/UtilXml.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r909650 - in /ofbiz/trunk: .classpath LICENSE NOTICE framework/base/lib/xpp3_min-1.1.4c.jar framework/base/lib/xstream-1.3.1.jar framework/base/src/org/ofbiz/base/util/UtilXml.java

adrianc
Author: adrianc
Date: Fri Feb 12 23:09:20 2010
New Revision: 909650

URL: http://svn.apache.org/viewvc?rev=909650&view=rev
Log:
Added the XStream library to the project:

http://xstream.codehaus.org/

Added:
    ofbiz/trunk/framework/base/lib/xpp3_min-1.1.4c.jar   (with props)
    ofbiz/trunk/framework/base/lib/xstream-1.3.1.jar   (with props)
Modified:
    ofbiz/trunk/.classpath
    ofbiz/trunk/LICENSE
    ofbiz/trunk/NOTICE
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilXml.java

Modified: ofbiz/trunk/.classpath
URL: http://svn.apache.org/viewvc/ofbiz/trunk/.classpath?rev=909650&r1=909649&r2=909650&view=diff
==============================================================================
--- ofbiz/trunk/.classpath (original)
+++ ofbiz/trunk/.classpath Fri Feb 12 23:09:20 2010
@@ -44,6 +44,8 @@
     <classpathentry kind="lib" path="framework/base/lib/xml-apis-2.9.1.jar"/>
     <classpathentry kind="lib" path="framework/base/lib/xml-apis-ext-1.3.04.jar"/>
     <classpathentry kind="lib" path="framework/base/lib/xmlgraphics-commons-1.3.1.jar"/>
+    <classpathentry kind="lib" path="framework/base/lib/xstream-1.3.1.jar"/>
+    <classpathentry kind="lib" path="framework/base/lib/xpp3_min-1.1.4c.jar"/>
     <classpathentry kind="lib" path="framework/base/lib/commons/commons-beanutils-1.7.0.jar"/>
     <classpathentry kind="lib" path="framework/base/lib/commons/commons-cli-1.0.jar"/>
     <classpathentry kind="lib" path="framework/base/lib/commons/commons-codec-1.4.jar"/>

Modified: ofbiz/trunk/LICENSE
URL: http://svn.apache.org/viewvc/ofbiz/trunk/LICENSE?rev=909650&r1=909649&r2=909650&view=diff
==============================================================================
--- ofbiz/trunk/LICENSE (original)
+++ ofbiz/trunk/LICENSE Fri Feb 12 23:09:20 2010
@@ -483,6 +483,8 @@
 ofbiz/trunk/framework/base/lib/javacc/javacc-4.1.jar
 ofbiz/trunk/framework/base/lib/javolution-5.4.3.jar
 ofbiz/trunk/framework/base/lib/junitperf.jar
+ofbiz/trunk/framework/base/lib/xpp3_min-1.1.4c.jar
+ofbiz/trunk/framework/base/lib/xstream-1.3.1.jar
 ofbiz/trunk/framework/base/lib/owasp-esapi-full-java-1.4.jar
 ofbiz/trunk/framework/base/lib/scripting/antlr-2.7.6.jar
 ofbiz/trunk/framework/base/lib/scripting/asm-3.2.jar

Modified: ofbiz/trunk/NOTICE
URL: http://svn.apache.org/viewvc/ofbiz/trunk/NOTICE?rev=909650&r1=909649&r2=909650&view=diff
==============================================================================
--- ofbiz/trunk/NOTICE (original)
+++ ofbiz/trunk/NOTICE Fri Feb 12 23:09:20 2010
@@ -377,3 +377,9 @@
 
 This product includes software developed by the javacc team
 (http://javacc.dev.java.net/).  The included version is 4.1.
+=========================================================================
+==  XPP3   Notice                                                      ==
+=========================================================================
+
+This product includes software developed by the Indiana University
+Extreme! Lab (http://www.extreme.indiana.edu/).

Added: ofbiz/trunk/framework/base/lib/xpp3_min-1.1.4c.jar
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/lib/xpp3_min-1.1.4c.jar?rev=909650&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ofbiz/trunk/framework/base/lib/xpp3_min-1.1.4c.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: ofbiz/trunk/framework/base/lib/xstream-1.3.1.jar
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/lib/xstream-1.3.1.jar?rev=909650&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ofbiz/trunk/framework/base/lib/xstream-1.3.1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilXml.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilXml.java?rev=909650&r1=909649&r2=909650&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilXml.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/UtilXml.java Fri Feb 12 23:09:20 2010
@@ -26,6 +26,8 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.io.Reader;
+import java.io.Writer;
 import java.net.URL;
 import java.util.List;
 import java.util.Set;
@@ -71,6 +73,8 @@
 import org.xml.sax.SAXParseException;
 import org.xml.sax.helpers.DefaultHandler;
 
+import com.thoughtworks.xstream.XStream;
+
 /**
  * Utilities methods to simplify dealing with JAXP & DOM XML parsing
  *
@@ -78,6 +82,7 @@
 public class UtilXml {
 
     public static final String module = UtilXml.class.getName();
+    protected static final XStream xstream = new XStream();
 
     // ----- DOM Level 3 Load and Save Methods -- //
 
@@ -226,7 +231,63 @@
         transformDomDocument(transformer, node, os);
     }
 
-    // ------------------------------------ //
+    // ----- Java Object Marshalling/Unmarshalling ----- //
+
+    /** Deserialize an object from an <code>InputStream</code>.
+     *
+     * @param input The <code>InputStream</code>
+     * @return The deserialized <code>Object</code>
+     */
+    public static Object fromXml(InputStream input) {
+        return xstream.fromXML(input);
+    }
+
+    /** Deserialize an object from a <code>Reader</code>.
+     *
+     * @param reader The <code>Reader</code>
+     * @return The deserialized <code>Object</code>
+     */
+    public static Object fromXml(Reader reader) {
+        return xstream.fromXML(reader);
+    }
+
+    /** Deserialize an object from a <code>String</code>.
+     *
+     * @param str The <code>String</code>
+     * @return The deserialized <code>Object</code>
+     */
+    public static Object fromXml(String str) {
+        return xstream.fromXML(str);
+    }
+
+    /** Serialize an object to an XML <code>String</code>.
+     *
+     * @param obj The object to serialize
+     * @return An XML <code>String</code>
+     */
+    public static String toXml(Object obj) {
+        return xstream.toXML(obj);
+    }
+
+    /** Serialize an object to an <code>OutputStream</code>.
+     *
+     * @param obj The object to serialize
+     * @param output The <code>OutputStream</code>
+     */
+    public static void toXml(Object obj, OutputStream output) {
+        xstream.toXML(obj, output);
+    }
+
+    /** Serialize an object to a <code>Writer</code>.
+     *
+     * @param obj The object to serialize
+     * @param writer The <code>Writer</code>
+     */
+    public static void toXml(Object obj, Writer writer) {
+        xstream.toXML(obj, writer);
+    }
+
+    // ------------------------------------------------- //
 
     public static String writeXmlDocument(Node node) throws java.io.IOException {
         if (node == null) {