svn commit: r1850015 - in /ofbiz/ofbiz-framework/trunk/framework/base: src/main/java/org/apache/ofbiz/base/util/UtilXml.java src/main/java/org/apache/ofbiz/base/util/test/UtilXmlTests.java testdef/basetests.xml

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

svn commit: r1850015 - in /ofbiz/ofbiz-framework/trunk/framework/base: src/main/java/org/apache/ofbiz/base/util/UtilXml.java src/main/java/org/apache/ofbiz/base/util/test/UtilXmlTests.java testdef/basetests.xml

jleroux@apache.org
Author: jleroux
Date: Mon Dec 31 06:38:36 2018
New Revision: 1850015

URL: http://svn.apache.org/viewvc?rev=1850015&view=rev
Log:
Improved: Prepare the migration to XStream 1.5

We currently use the UnsupportedClassConverter method in UtilXml class.
When the 1.5 version of XStream will be available another way to handle this
kind of things will be available and used by default. It's already possible to
use the same with the 1.4 version of XStream with its setupDefaultSecurity method.

So this replaces the UnsupportedClassConverter in UtilXml class by
XStream::setupDefaultSecurity method.

It's an improvement but better to backport it as much as possible

The UtilXmlTests class and its use is removed and the UnsupportedClassConverter
method deprecated (no use OOTB)


Removed:
    ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/test/UtilXmlTests.java
Modified:
    ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilXml.java
    ofbiz/ofbiz-framework/trunk/framework/base/testdef/basetests.xml

Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilXml.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilXml.java?rev=1850015&r1=1850014&r2=1850015&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilXml.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilXml.java Mon Dec 31 06:38:36 2018
@@ -91,7 +91,15 @@ public final class UtilXml {
 
     private static XStream createXStream() {
         XStream xstream = new XStream();
-        xstream.registerConverter(new UnsupportedClassConverter());
+        /* This method is a pure helper method for XStream 1.4.x.
+         * It initializes an XStream instance with a white list of well-known and simply types of the Java runtime
+         *  as it is done in XStream 1.5.x by default. This method will do therefore nothing in XStream 1.5
+         *  and could be removed them  
+         */
+        XStream.setupDefaultSecurity(xstream);
+        /* You may want to enhance the white list created by XStream::setupDefaultSecurity (or by default with XStream 1.5)
+         * using xstream::allowTypesByWildcard with your own classes
+         */  
         return xstream;
     }
 
@@ -1167,6 +1175,11 @@ public final class UtilXml {
         }
     }
 
+    /** This method is now useless
+     * Enhance rather the white list created by XStream::setupDefaultSecurity
+     * using xstream::allowTypesByWildcard with your own classes  
+     */
+    @Deprecated
     private static class UnsupportedClassConverter implements Converter {
 
         @Override
@@ -1191,7 +1204,7 @@ public final class UtilXml {
     /**
      * get node name without any prefix
      * @param node
-     * @return
+     * @return nodeName
      */
     public static String getNodeNameIgnorePrefix(Node node){
         if (node==null) {
@@ -1208,8 +1221,8 @@ public final class UtilXml {
     /**
      * get tag name without any prefix
      * @param element
-     * @return
-     */
+     * @return tagName
+     */
     public static String getTagNameIgnorePrefix(Element element){
         if (element==null) {
             return null;
@@ -1225,7 +1238,7 @@ public final class UtilXml {
     /**
      * get attribute value ignoring prefix in attribute name
      * @param element
-     * @return
+     * @return The value of the node, depending on its type; see the table Node class
      */
     public static String getAttributeValueIgnorePrefix(Element element, String attributeName){
         if (element==null) {

Modified: ofbiz/ofbiz-framework/trunk/framework/base/testdef/basetests.xml
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/testdef/basetests.xml?rev=1850015&r1=1850014&r2=1850015&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/base/testdef/basetests.xml (original)
+++ ofbiz/ofbiz-framework/trunk/framework/base/testdef/basetests.xml Mon Dec 31 06:38:36 2018
@@ -42,7 +42,6 @@
         <!--junit-test-suite class-name="org.apache.ofbiz.base.util.test.UtilIOTests"/-->
         <junit-test-suite class-name="org.apache.ofbiz.base.test.BaseUnitTests"/>
         <junit-test-suite class-name="org.apache.ofbiz.base.util.test.UtilPropertiesTests"/>
-        <junit-test-suite class-name="org.apache.ofbiz.base.util.test.UtilXmlTests"/>
         <groovy-test-suite name="simple" location="component://base/groovyScripts/test/SimpleTests.groovy"/>
     </test-group>
 </test-suite>