Author: mgrigorov
Date: Tue Nov 30 20:20:59 2010
New Revision: 1040756

URL: http://svn.apache.org/viewvc?rev=1040756&view=rev
Log:
Use JDK 1.5 Properties#loadFromXML() and remove the code used to support this 
in Wicket 1.3

Modified:
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java?rev=1040756&r1=1040755&r2=1040756&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java 
(original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java 
Tue Nov 30 20:20:59 2010
@@ -23,23 +23,8 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.io.Reader;
-import java.io.StringReader;
 import java.util.Properties;
 
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
 /**
  * Utilities methods for working with input and output streams.
  * 
@@ -56,7 +41,7 @@ public final class Streams
 
        /**
         * @deprecated
-        *
+        * 
         * @see IOUtils#close(Closeable);
         */
        @Deprecated
@@ -138,76 +123,7 @@ public final class Streams
                        throw new IllegalArgumentException("inputStream must 
not be null");
                }
 
-               // TODO in a Wicket version that supports Java 5 (Wicket 2.0?), 
we can
-               // just use the loadFromXml method on java.util.Properties 
directly
-               // rather than manual as we do here
-
-               DocumentBuilderFactory documentBuilderFactory = 
DocumentBuilderFactory.newInstance();
-               
documentBuilderFactory.setIgnoringElementContentWhitespace(true);
-               documentBuilderFactory.setValidating(true);
-               documentBuilderFactory.setCoalescing(true);
-               documentBuilderFactory.setIgnoringComments(true);
-               try
-               {
-                       DocumentBuilder db = 
documentBuilderFactory.newDocumentBuilder();
-                       db.setEntityResolver(new EntityResolver()
-                       {
-                               public InputSource resolveEntity(String 
publicId, String systemId)
-                                       throws SAXException
-                               {
-                                       if 
(systemId.equals("http://java.sun.com/dtd/properties.dtd";))
-                                       {
-                                               InputSource inputSource;
-                                               inputSource = new 
InputSource(new StringReader(XML_PROPERTIES_DTD));
-                                               
inputSource.setSystemId("http://java.sun.com/dtd/properties.dtd";);
-                                               return inputSource;
-                                       }
-                                       else
-                                       {
-                                               throw new SAXException("Invalid 
system identifier: " + systemId);
-                                       }
-                               }
-                       });
-                       db.setErrorHandler(new ErrorHandler()
-                       {
-                               public void error(SAXParseException e) throws 
SAXException
-                               {
-                                       throw e;
-                               }
-
-                               public void fatalError(SAXParseException e) 
throws SAXException
-                               {
-                                       throw e;
-                               }
-
-                               public void warning(SAXParseException e) throws 
SAXException
-                               {
-                                       throw e;
-                               }
-                       });
-                       InputSource is = new InputSource(inputStream);
-                       Document doc = db.parse(is);
-                       NodeList entries = 
doc.getChildNodes().item(1).getChildNodes();
-                       int len = entries.getLength();
-                       for (int i = (len > 0 && 
entries.item(0).getNodeName().equals("comment")) ? 1 : 0; i < len; i++)
-                       {
-                               Element entry = (Element)entries.item(i);
-                               if (entry.hasAttribute("key"))
-                               {
-                                       Node node = entry.getFirstChild();
-                                       String val = (node == null) ? "" : 
node.getNodeValue();
-                                       
properties.setProperty(entry.getAttribute("key"), val);
-                               }
-                       }
-               }
-               catch (ParserConfigurationException e)
-               {
-                       throw new RuntimeException(e);
-               }
-               catch (SAXException e)
-               {
-                       throw new RuntimeException("invalid XML properties 
format", e);
-               }
+               properties.loadFromXML(inputStream);
        }
 
        /**


Reply via email to