[prev in list] [next in list] [prev in thread] [next in thread]
List: slide-dev
Subject: cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods XMLResponseMethodBase.
From: remm () locus ! apache ! org
Date: 2000-11-29 6:13:58
[Download RAW message or body]
remm 00/11/28 22:13:58
Modified: src/webdav/client/src/org/apache/webdav/lib/methods
XMLResponseMethodBase.java
Log:
- Optimization : JAXP is only initialized once, since the doc builder is
reusable.
Revision Changes Path
1.2 +33 -11 \
jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/XMLResponseMethodBase.java
Index: XMLResponseMethodBase.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/methods/XMLResponseMethodBase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XMLResponseMethodBase.java 2000/11/27 06:34:17 1.1
+++ XMLResponseMethodBase.java 2000/11/29 06:13:57 1.2
@@ -76,17 +76,31 @@
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
+/**
+ * Utility class for XML response parsing.
+ *
+ * @author B.C. Holmes
+ * @author Remy Maucherat
+ */
public class XMLResponseMethodBase
extends WebdavMethodBase {
+
// ----------------------------------------------------- Instance Variables
+
/**
- * Response document
+ * Response document.
*/
private Document responseDocument = null;
-
+
+ /**
+ * Document builder.
+ */
+ protected static DocumentBuilder builder = null;
+
+
// ------------------------------------------------------------- Properties
/**
@@ -109,20 +123,28 @@
*/
public void parseResponse(InputStream input)
throws IOException {
-
+
+ if (builder == null) {
try {
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- responseDocument = builder.parse(new InputSource(input));
-
+ builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
-// throw new IllegalArgumentException("XML Parser Configuration \
error", e);
- } catch (SAXException e) {
- throw new IllegalArgumentException(
- "XML parsing error; response stream is not valid XML: " +
- e.getMessage());
+ throw new IllegalArgumentException
+ ("XML Parser Configuration error: " + e.getMessage());
+ }
+ }
+
+ try {
+
+ responseDocument = builder.parse(new InputSource(input));
+
+ } catch (Exception e) {
+ throw new IOException
+ ("XML parsing error; response stream is not valid XML: "
+ + e.getMessage());
}
+
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic