You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2011/10/22 23:02:44 UTC
svn commit: r1187781 [2/6] - in /tomcat/trunk/java/org/apache/tomcat: ./
buildutil/ jni/ util/ util/bcel/ util/bcel/classfile/ util/bcel/util/
util/buf/ util/digester/ util/file/ util/http/fileupload/ util/http/mapper/
util/log/ util/modeler/ util/mode...
Modified: tomcat/trunk/java/org/apache/tomcat/util/bcel/classfile/Utility.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/bcel/classfile/Utility.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/bcel/classfile/Utility.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/bcel/classfile/Utility.java Sat Oct 22 21:02:40 2011
@@ -78,7 +78,7 @@ public abstract class Utility {
* Special case: Classes compiled with new compilers and with the
* `ACC_SUPER' flag would be said to be "synchronized". This is
* because SUN used the same value for the flags `ACC_SUPER' and
- * `ACC_SYNCHRONIZED'.
+ * `ACC_SYNCHRONIZED'.
*
* @param access_flags Access flags
* @param for_class access flags are for class qualifiers ?
@@ -107,7 +107,7 @@ public abstract class Utility {
/**
* @param access_flags the class flags
- *
+ *
* @return "class" or "interface", depending on the ACC_INTERFACE flag
*/
public static final String classOrInterface( int access_flags ) {
@@ -116,7 +116,7 @@ public abstract class Utility {
/**
- * Disassemble a byte array of JVM byte codes starting from code line
+ * Disassemble a byte array of JVM byte codes starting from code line
* `index' and return the disassembled string representation. Decode only
* `num' opcodes (including their operands), use -1 if you want to
* decompile everything.
@@ -161,7 +161,7 @@ public abstract class Utility {
* @param constant_pool Array of constants
* @param verbose be verbose, e.g. print constant pool index
* @return String representation of byte code
- *
+ *
* @throws IOException if a failure from reading from the bytes argument occurs
*/
public static final String codeToString( ByteSequence bytes, ConstantPool constant_pool,
@@ -409,7 +409,7 @@ public abstract class Utility {
/**
- * Shorten long class names, <em>java/lang/String</em> becomes
+ * Shorten long class names, <em>java/lang/String</em> becomes
* <em>String</em>.
*
* @param str The long class name
@@ -445,7 +445,7 @@ public abstract class Utility {
/**
- * Shorten long class names, <em>java/lang/String</em> becomes
+ * Shorten long class names, <em>java/lang/String</em> becomes
* <em>java.lang.String</em>,
* e.g.. If <em>chopit</em> is <em>true</em> the prefix <em>java.lang</em>
* is also removed.
@@ -476,7 +476,7 @@ public abstract class Utility {
* <arguments_signature>::= <argument_signature>*
*
* This method converts such a string into a Java type declaration like
- * `void main(String[])' and throws a `ClassFormatException' when the parsed
+ * `void main(String[])' and throws a `ClassFormatException' when the parsed
* type is invalid.
*
* @param signature Method signature
@@ -485,7 +485,7 @@ public abstract class Utility {
* @param chopit
* @param vars
* @return Java type declaration
- * @throws ClassFormatException
+ * @throws ClassFormatException
*/
public static final String methodSignatureToString( String signature, String name,
String access, boolean chopit, LocalVariableTable vars ) throws ClassFormatException {
@@ -581,8 +581,8 @@ public abstract class Utility {
/**
- * The field signature represents the value of an argument to a function or
- * the value of a variable. It is a series of bytes generated by the
+ * The field signature represents the value of an argument to a function or
+ * the value of a variable. It is a series of bytes generated by the
* following grammar:
*
* <PRE>
@@ -606,7 +606,7 @@ public abstract class Utility {
* </PRE>
*
* This method converts this string into a Java type declaration such as
- * `String[]' and throws a `ClassFormatException' when the parsed type is
+ * `String[]' and throws a `ClassFormatException' when the parsed type is
* invalid.
*
* @param signature Class signature
@@ -685,7 +685,7 @@ public abstract class Utility {
/** Convert bytes into hexadecimal string
*
* @param bytes an array of bytes to convert to hexadecimal
- *
+ *
* @return bytes as hexadecimal string, e.g. 00 FA 12 ...
*/
public static final String toHexString( byte[] bytes ) {
Modified: tomcat/trunk/java/org/apache/tomcat/util/bcel/util/BCELComparator.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/bcel/util/BCELComparator.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/bcel/util/BCELComparator.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/bcel/util/BCELComparator.java Sat Oct 22 21:02:40 2011
@@ -19,7 +19,7 @@ package org.apache.tomcat.util.bcel.util
/**
* Used for BCEL comparison strategy
- *
+ *
* @author <A HREF="mailto:m.dahm@gmx.de">M. Dahm</A>
* @version $Id$
* @since 5.2
@@ -28,7 +28,7 @@ public interface BCELComparator {
/**
* Compare two objects and return what THIS.equals(THAT) should return
- *
+ *
* @param THIS
* @param THAT
* @return true if and only if THIS equals THAT
@@ -38,7 +38,7 @@ public interface BCELComparator {
/**
* Return hashcode for THIS.hashCode()
- *
+ *
* @param THIS
* @return hashcode for THIS.hashCode()
*/
Modified: tomcat/trunk/java/org/apache/tomcat/util/bcel/util/ByteSequence.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/bcel/util/ByteSequence.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/bcel/util/ByteSequence.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/bcel/util/ByteSequence.java Sat Oct 22 21:02:40 2011
@@ -22,7 +22,7 @@ import java.io.DataInputStream;
/**
* Utility class that implements a sequence of bytes which can be read
- * via the `readByte()' method. This is used to implement a wrapper for the
+ * via the `readByte()' method. This is used to implement a wrapper for the
* Java byte code stream to gain some more readability.
*
* @version $Id$
Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/package.html
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/package.html?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/package.html (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/package.html Sat Oct 22 21:02:40 2011
@@ -18,21 +18,21 @@
<H1>Buffers and Encodings</h1>
This package contains buffers and utils to perform encoding/decoding of buffers. That includes byte to char
-conversions, URL encodings, etc.
+conversions, URL encodings, etc.
<p>
-Encoding is a critical operation for performance. There are few tricks in this package - the C2B and
-B2C converters are caching a ISReader/OSWriter and keep everything allocated to do the conversions
+Encoding is a critical operation for performance. There are few tricks in this package - the C2B and
+B2C converters are caching a ISReader/OSWriter and keep everything allocated to do the conversions
in any VM without any garbage.
<p>
-This package must accomodate future extensions and additional converters ( most imporant: the nio.charset,
-which should be detected and used if available ). Also, we do have one hand-written UTF8Decoder, and
+This package must accomodate future extensions and additional converters ( most imporant: the nio.charset,
+which should be detected and used if available ). Also, we do have one hand-written UTF8Decoder, and
other tuned encoders could be added.
<p>
My benchmarks ( I'm costin :-) show only small differences between C2B, B2C and hand-written codders/decoders,
-so UTF8Decoder may be disabled.
+so UTF8Decoder may be disabled.
<p>
</body></html>
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/AbstractObjectCreationFactory.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/ArrayStack.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/ArrayStack.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/ArrayStack.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/ArrayStack.java Sat Oct 22 21:02:40 2011
@@ -5,9 +5,9 @@
* The ASF licenses this file to You 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.
@@ -43,7 +43,7 @@ import java.util.EmptyStackException;
*/
public class ArrayStack<E> extends ArrayList<E> {
- /** Ensure serialization compatibility */
+ /** Ensure serialization compatibility */
private static final long serialVersionUID = 2130079159931574599L;
/**
@@ -56,7 +56,7 @@ public class ArrayStack<E> extends Array
/**
* Constructs a new empty <code>ArrayStack</code> with an initial size.
- *
+ *
* @param initialSize the initial size to use
* @throws IllegalArgumentException if the specified initial size
* is negative
@@ -70,7 +70,7 @@ public class ArrayStack<E> extends Array
* <p>
* This method exists for compatibility with <code>java.util.Stack</code>.
* New users of this class should use <code>isEmpty</code> instead.
- *
+ *
* @return true if the stack is currently empty
*/
public boolean empty() {
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/CallMethodRule.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/CallMethodRule.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/CallMethodRule.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/CallMethodRule.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
@@ -25,15 +25,15 @@ import org.xml.sax.Attributes;
/**
* <p>Rule implementation that calls a method on an object on the stack
- * (normally the top/parent object), passing arguments collected from
+ * (normally the top/parent object), passing arguments collected from
* subsequent <code>CallParamRule</code> rules or from the body of this
* element. </p>
*
- * <p>By using {@link #CallMethodRule(String methodName)}
+ * <p>By using {@link #CallMethodRule(String methodName)}
* a method call can be made to a method which accepts no
* arguments.</p>
*
- * <p>Incompatible method parameter types are converted
+ * <p>Incompatible method parameter types are converted
* using <code>org.apache.commons.beanutils.ConvertUtils</code>.
* </p>
*
@@ -43,16 +43,16 @@ import org.xml.sax.Attributes;
* </a> by default.
* This increases the kinds of methods successfully and allows primitives
* to be matched by passing in wrapper classes.
- * There are rare cases when org.apache.commons.beanutils.MethodUtils#invokeExactMethod
+ * There are rare cases when org.apache.commons.beanutils.MethodUtils#invokeExactMethod
* (the old default) is required.
* This method is much stricter in its reflection.
- * Setting the <code>UseExactMatch</code> to true reverts to the use of this
+ * Setting the <code>UseExactMatch</code> to true reverts to the use of this
* method.</p>
*
* <p>Note that the target method is invoked when the <i>end</i> of
* the tag the CallMethodRule fired on is encountered, <i>not</i> when the
* last parameter becomes available. This implies that rules which fire on
- * tags nested within the one associated with the CallMethodRule will
+ * tags nested within the one associated with the CallMethodRule will
* fire before the CallMethodRule invokes the target method. This behaviour is
* not configurable. </p>
*
@@ -86,7 +86,7 @@ public class CallMethodRule extends Rule
* parameter types (if any) default to java.lang.String.
*
* @param targetOffset location of the target object. Positive numbers are
- * relative to the top of the digester object stack. Negative numbers
+ * relative to the top of the digester object stack. Negative numbers
* are relative to the bottom of the stack. Zero implies the top
* object on the stack.
* @param methodName Method name of the parent method to call
@@ -99,7 +99,7 @@ public class CallMethodRule extends Rule
this.targetOffset = targetOffset;
this.methodName = methodName;
- this.paramCount = paramCount;
+ this.paramCount = paramCount;
if (paramCount == 0) {
this.paramTypes = new Class[] { String.class };
} else {
@@ -112,34 +112,34 @@ public class CallMethodRule extends Rule
}
/**
- * Construct a "call method" rule with the specified method name.
+ * Construct a "call method" rule with the specified method name.
* The method should accept no parameters.
*
* @param methodName Method name of the parent method to call
*/
public CallMethodRule(String methodName) {
-
+
this(0, methodName, 0, (Class[]) null);
-
+
}
-
+
/**
- * Construct a "call method" rule with the specified method name.
+ * Construct a "call method" rule with the specified method name.
* The method should accept no parameters.
*
* @param targetOffset location of the target object. Positive numbers are
- * relative to the top of the digester object stack. Negative numbers
+ * relative to the top of the digester object stack. Negative numbers
* are relative to the bottom of the stack. Zero implies the top
* object on the stack.
* @param methodName Method name of the parent method to call
*/
public CallMethodRule(int targetOffset, String methodName) {
-
+
this(targetOffset, methodName, 0, (Class[]) null);
-
+
}
-
+
/**
* Construct a "call method" rule with the specified method name and
@@ -158,7 +158,7 @@ public class CallMethodRule extends Rule
*/
public CallMethodRule(
String methodName,
- int paramCount,
+ int paramCount,
String paramTypes[]) {
this(0, methodName, paramCount, paramTypes);
}
@@ -171,7 +171,7 @@ public class CallMethodRule extends Rule
* case the rule will call the specified method with no arguments.
*
* @param targetOffset location of the target object. Positive numbers are
- * relative to the top of the digester object stack. Negative numbers
+ * relative to the top of the digester object stack. Negative numbers
* are relative to the bottom of the stack. Zero implies the top
* object on the stack.
* @param methodName Method name of the parent method to call
@@ -184,7 +184,7 @@ public class CallMethodRule extends Rule
*/
public CallMethodRule( int targetOffset,
String methodName,
- int paramCount,
+ int paramCount,
String paramTypes[]) {
this.targetOffset = targetOffset;
@@ -197,7 +197,7 @@ public class CallMethodRule extends Rule
}
} else {
// copy the parameter class names into an array
- // the classes will be loaded when the digester is set
+ // the classes will be loaded when the digester is set
this.paramClassNames = new String[paramTypes.length];
for (int i = 0; i < this.paramClassNames.length; i++) {
this.paramClassNames[i] = paramTypes[i];
@@ -225,7 +225,7 @@ public class CallMethodRule extends Rule
*/
public CallMethodRule(
String methodName,
- int paramCount,
+ int paramCount,
Class<?> paramTypes[]) {
this(0, methodName, paramCount, paramTypes);
}
@@ -238,7 +238,7 @@ public class CallMethodRule extends Rule
* case the rule will call the specified method with no arguments.
*
* @param targetOffset location of the target object. Positive numbers are
- * relative to the top of the digester object stack. Negative numbers
+ * relative to the top of the digester object stack. Negative numbers
* are relative to the bottom of the stack. Zero implies the top
* object on the stack.
* @param methodName Method name of the parent method to call
@@ -252,7 +252,7 @@ public class CallMethodRule extends Rule
*/
public CallMethodRule( int targetOffset,
String methodName,
- int paramCount,
+ int paramCount,
Class<?> paramTypes[]) {
this.targetOffset = targetOffset;
@@ -282,7 +282,7 @@ public class CallMethodRule extends Rule
protected String bodyText = null;
- /**
+ /**
* location of the target object for the call, relative to the
* top of the digester object stack. The default value of zero
* means the target object is the one on top of the stack.
@@ -313,14 +313,14 @@ public class CallMethodRule extends Rule
* This attribute allows creation of the classes to be postponed until the digester is set.
*/
protected String paramClassNames[] = null;
-
+
/**
* Should <code>MethodUtils.invokeExactMethod</code> be used for reflection.
*/
protected boolean useExactMatch = false;
-
+
// --------------------------------------------------------- Public Methods
-
+
/**
* Should <code>MethodUtils.invokeExactMethod</code>
* be used for the reflection.
@@ -328,13 +328,13 @@ public class CallMethodRule extends Rule
public boolean getUseExactMatch() {
return useExactMatch;
}
-
+
/**
* Set whether <code>MethodUtils.invokeExactMethod</code>
* should be used for the reflection.
- */
+ */
public void setUseExactMatch(boolean useExactMatch)
- {
+ {
this.useExactMatch = useExactMatch;
}
@@ -366,10 +366,10 @@ public class CallMethodRule extends Rule
/**
* Process the start of this element.
*
- * @param namespace the namespace URI of the matching element, or an
+ * @param namespace the namespace URI of the matching element, or an
* empty string if the parser is not namespace aware or the element has
* no namespace
- * @param name the local name if the parser is namespace aware, or just
+ * @param name the local name if the parser is namespace aware, or just
* the element name otherwise
* @param attributes The attribute list for this element
*/
@@ -392,10 +392,10 @@ public class CallMethodRule extends Rule
/**
* Process the body text of this element.
*
- * @param namespace the namespace URI of the matching element, or an
+ * @param namespace the namespace URI of the matching element, or an
* empty string if the parser is not namespace aware or the element has
* no namespace
- * @param name the local name if the parser is namespace aware, or just
+ * @param name the local name if the parser is namespace aware, or just
* the element name otherwise
* @param bodyText The body text of this element
*/
@@ -412,11 +412,11 @@ public class CallMethodRule extends Rule
/**
* Process the end of this element.
- *
- * @param namespace the namespace URI of the matching element, or an
+ *
+ * @param namespace the namespace URI of the matching element, or an
* empty string if the parser is not namespace aware or the element has
* no namespace
- * @param name the local name if the parser is namespace aware, or just
+ * @param name the local name if the parser is namespace aware, or just
* the element name otherwise
*/
@Override
@@ -427,13 +427,13 @@ public class CallMethodRule extends Rule
if (paramCount > 0) {
parameters = (Object[]) digester.popParams();
-
+
if (digester.log.isTraceEnabled()) {
for (int i=0,size=parameters.length;i<size;i++) {
digester.log.trace("[CallMethodRule](" + i + ")" + parameters[i]) ;
}
}
-
+
// In the case where the parameter for the method
// is taken from an attribute, and that attribute
// isn't actually defined in the source XML file,
@@ -463,16 +463,16 @@ public class CallMethodRule extends Rule
// Construct the parameter values array we will need
// We only do the conversion if the param value is a String and
- // the specified paramType is not String.
+ // the specified paramType is not String.
Object paramValues[] = new Object[paramTypes.length];
for (int i = 0; i < paramTypes.length; i++) {
- // convert nulls and convert stringy parameters
+ // convert nulls and convert stringy parameters
// for non-stringy param types
if(
parameters[i] == null ||
- (parameters[i] instanceof String &&
+ (parameters[i] instanceof String &&
!String.class.isAssignableFrom(paramTypes[i]))) {
-
+
paramValues[i] =
IntrospectionUtils.convert((String) parameters[i], paramTypes[i]);
} else {
@@ -487,7 +487,7 @@ public class CallMethodRule extends Rule
} else {
target = digester.peek( digester.getCount() + targetOffset );
}
-
+
if (target == null) {
StringBuilder sb = new StringBuilder();
sb.append("[CallMethodRule]{");
@@ -500,7 +500,7 @@ public class CallMethodRule extends Rule
sb.append(")");
throw new org.xml.sax.SAXException(sb.toString());
}
-
+
// Invoke the required method on the top object
if (digester.log.isDebugEnabled()) {
StringBuilder sb = new StringBuilder("[CallMethodRule]{");
@@ -530,7 +530,7 @@ public class CallMethodRule extends Rule
digester.log.debug(sb.toString());
}
Object result = IntrospectionUtils.callMethodN(target, methodName,
- paramValues, paramTypes);
+ paramValues, paramTypes);
processMethodCallResult(result);
}
@@ -546,7 +546,7 @@ public class CallMethodRule extends Rule
}
/**
- * Subclasses may override this method to perform additional processing of the
+ * Subclasses may override this method to perform additional processing of the
* invoked method's result.
*
* @param result the Object returned by the method invoked, possibly null
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/CallParamRule.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/CallParamRule.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/CallParamRule.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/CallParamRule.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
@@ -23,7 +23,7 @@ import org.xml.sax.Attributes;
/**
- * <p>Rule implementation that saves a parameter for use by a surrounding
+ * <p>Rule implementation that saves a parameter for use by a surrounding
* <code>CallMethodRule<code>.</p>
*
* <p>This parameter may be:
@@ -32,9 +32,9 @@ import org.xml.sax.Attributes;
* See {@link #CallParamRule(int paramIndex, String attributeName)}
* <li>from current the element body
* See {@link #CallParamRule(int paramIndex)}
- * <li>from the top object on the stack.
+ * <li>from the top object on the stack.
* See {@link #CallParamRule(int paramIndex, boolean fromStack)}
- * <li>the current path being processed (separate <code>Rule</code>).
+ * <li>the current path being processed (separate <code>Rule</code>).
* See {@link PathCallParamRule}
* </ul>
* </p>
@@ -78,29 +78,29 @@ public class CallParamRule extends Rule
*
* @param paramIndex The zero-relative parameter number
* @param fromStack should this parameter be taken from the top of the stack?
- */
+ */
public CallParamRule(int paramIndex, boolean fromStack) {
-
- this.paramIndex = paramIndex;
+
+ this.paramIndex = paramIndex;
this.fromStack = fromStack;
}
-
+
/**
* Constructs a "call parameter" rule which sets a parameter from the stack.
* If the stack contains too few objects, then the parameter will be set to null.
*
* @param paramIndex The zero-relative parameter number
- * @param stackIndex the index of the object which will be passed as a parameter.
+ * @param stackIndex the index of the object which will be passed as a parameter.
* The zeroth object is the top of the stack, 1 is the next object down and so on.
- */
+ */
public CallParamRule(int paramIndex, int stackIndex) {
-
- this.paramIndex = paramIndex;
+
+ this.paramIndex = paramIndex;
this.fromStack = true;
this.stackIndex = stackIndex;
}
-
+
// ----------------------------------------------------- Instance Variables
@@ -120,13 +120,13 @@ public class CallParamRule extends Rule
* Is the parameter to be set from the stack?
*/
protected boolean fromStack = false;
-
+
/**
* The position of the object from the top of the stack
*/
protected int stackIndex = 0;
- /**
+ /**
* Stack is used to allow nested body text to be processed.
* Lazy creation.
*/
@@ -138,10 +138,10 @@ public class CallParamRule extends Rule
/**
* Process the start of this element.
*
- * @param namespace the namespace URI of the matching element, or an
+ * @param namespace the namespace URI of the matching element, or an
* empty string if the parser is not namespace aware or the element has
* no namespace
- * @param name the local name if the parser is namespace aware, or just
+ * @param name the local name if the parser is namespace aware, or just
* the element name otherwise
* @param attributes The attribute list for this element
*/
@@ -150,31 +150,31 @@ public class CallParamRule extends Rule
throws Exception {
Object param = null;
-
+
if (attributeName != null) {
-
+
param = attributes.getValue(attributeName);
-
+
} else if(fromStack) {
-
+
param = digester.peek(stackIndex);
-
+
if (digester.log.isDebugEnabled()) {
-
+
StringBuilder sb = new StringBuilder("[CallParamRule]{");
sb.append(digester.match);
sb.append("} Save from stack; from stack?").append(fromStack);
sb.append("; object=").append(param);
digester.log.debug(sb.toString());
- }
+ }
}
-
+
// Have to save the param object to the param stack frame here.
// Can't wait until end(). Otherwise, the object will be lost.
- // We can't save the object as instance variables, as
+ // We can't save the object as instance variables, as
// the instance variables will be overwritten
// if this CallParamRule is reused in subsequent nesting.
-
+
if(param != null) {
Object parameters[] = (Object[]) digester.peekParams();
parameters[paramIndex] = param;
@@ -185,10 +185,10 @@ public class CallParamRule extends Rule
/**
* Process the body text of this element.
*
- * @param namespace the namespace URI of the matching element, or an
+ * @param namespace the namespace URI of the matching element, or an
* empty string if the parser is not namespace aware or the element has
* no namespace
- * @param name the local name if the parser is namespace aware, or just
+ * @param name the local name if the parser is namespace aware, or just
* the element name otherwise
* @param bodyText The body text of this element
*/
@@ -207,7 +207,7 @@ public class CallParamRule extends Rule
}
}
-
+
/**
* Process any body texts now.
*/
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/Digester.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
@@ -74,9 +74,9 @@ import org.xml.sax.helpers.DefaultHandle
public class Digester extends DefaultHandler {
-
- // ---------------------------------------------------------- Static Fields
- private static class SystemPropertySource
+
+ // ---------------------------------------------------------- Static Fields
+ private static class SystemPropertySource
implements IntrospectionUtils.PropertySource {
@Override
public String getProperty( String key ) {
@@ -84,9 +84,9 @@ public class Digester extends DefaultHan
}
}
- protected static IntrospectionUtils.PropertySource source[] =
+ protected static IntrospectionUtils.PropertySource source[] =
new IntrospectionUtils.PropertySource[] { new SystemPropertySource() };
-
+
static {
String className = System.getProperty("org.apache.tomcat.util.digester.PROPERTY_SOURCE");
if (className!=null) {
@@ -178,12 +178,12 @@ public class Digester extends DefaultHan
* in the input is entered, the matching rules are pushed onto this
* stack. After the end tag is reached, the matches are popped again.
* The depth of is stack is therefore exactly the same as the current
- * "nesting" level of the input xml.
+ * "nesting" level of the input xml.
*
* @since 1.6
*/
protected ArrayStack<List<Rule>> matches = new ArrayStack<List<Rule>>(10);
-
+
/**
* The class loader to use for instantiating application objects.
* If not specified, the context class loader, or the class loader
@@ -203,7 +203,7 @@ public class Digester extends DefaultHan
* The EntityResolver used by the SAX parser. By default it use this class
*/
protected EntityResolver entityResolver;
-
+
/**
* The URLs of entityValidator that have been registered, keyed by the public
* identifier that corresponds.
@@ -319,7 +319,7 @@ public class Digester extends DefaultHan
*/
protected boolean rulesValidation = false;
-
+
/**
* Fake attributes map (attributes are often used for object creation).
*/
@@ -338,12 +338,12 @@ public class Digester extends DefaultHan
*/
protected Log saxLog =
LogFactory.getLog("org.apache.tomcat.util.digester.Digester.sax");
-
-
+
+
/** Stacks used for interrule communication, indexed by name String */
private HashMap<String,ArrayStack<Object>> stacksByName =
new HashMap<String,ArrayStack<Object>>();
-
+
// ------------------------------------------------------------- Properties
/**
@@ -354,7 +354,7 @@ public class Digester extends DefaultHan
* @param prefix Prefix to look up
*/
public String findNamespaceURI(String prefix) {
-
+
ArrayStack<String> stack = namespaces.get(prefix);
if (stack == null) {
return (null);
@@ -458,9 +458,9 @@ public class Digester extends DefaultHan
/**
* Return the SAXParserFactory we will use, creating one if necessary.
- * @throws ParserConfigurationException
- * @throws SAXNotSupportedException
- * @throws SAXNotRecognizedException
+ * @throws ParserConfigurationException
+ * @throws SAXNotSupportedException
+ * @throws SAXNotRecognizedException
*/
public SAXParserFactory getFactory()
throws SAXNotRecognizedException, SAXNotSupportedException,
@@ -566,10 +566,10 @@ public class Digester extends DefaultHan
* @since 1.6
*/
public Log getSAXLogger() {
-
+
return saxLog;
}
-
+
/**
* Sets the logger used for logging SAX-related information.
@@ -577,9 +577,9 @@ public class Digester extends DefaultHan
* @param saxLog Log, not null
*
* @since 1.6
- */
+ */
public void setSAXLogger(Log saxLog) {
-
+
this.saxLog = saxLog;
}
@@ -614,7 +614,7 @@ public class Digester extends DefaultHan
}
-
+
/**
* Set the public id of the current file being parse.
* @param publicId the DTD/Schema public's id.
@@ -622,8 +622,8 @@ public class Digester extends DefaultHan
public void setPublicId(String publicId){
this.publicId = publicId;
}
-
-
+
+
/**
* Return the public identifier of the DTD we are currently
* parsing under, if any.
@@ -745,7 +745,7 @@ public class Digester extends DefaultHan
}
-
+
/**
* Set the <code>Rules</code> implementation object containing our
* rules collection and associated matching policy.
@@ -878,24 +878,24 @@ public class Digester extends DefaultHan
/**
* Return the XMLReader to be used for parsing the input document.
*
- * FIX ME: there is a bug in JAXP/XERCES that prevent the use of a
+ * FIX ME: there is a bug in JAXP/XERCES that prevent the use of a
* parser that contains a schema with a DTD.
* @exception SAXException if no XMLReader can be instantiated
*/
public XMLReader getXMLReader() throws SAXException {
if (reader == null){
reader = getParser().getXMLReader();
- }
-
- reader.setDTDHandler(this);
- reader.setContentHandler(this);
-
+ }
+
+ reader.setDTDHandler(this);
+ reader.setContentHandler(this);
+
if (entityResolver == null){
reader.setEntityResolver(this);
} else {
- reader.setEntityResolver(entityResolver);
+ reader.setEntityResolver(entityResolver);
}
-
+
reader.setErrorHandler(this);
return reader;
}
@@ -998,7 +998,7 @@ public class Digester extends DefaultHan
// Parse system properties
bodyText = updateBodyText(bodyText);
- // the actual element name is either in localName or qName, depending
+ // the actual element name is either in localName or qName, depending
// on whether the parser is namespace aware
String name = localName;
if ((name == null) || (name.length() < 1)) {
@@ -1204,7 +1204,7 @@ public class Digester extends DefaultHan
saxLog.debug("startDocument()");
}
- // ensure that the digester is properly configured, as
+ // ensure that the digester is properly configured, as
// the digester could be used as a SAX ContentHandler
// rather than via the parse() methods.
configure();
@@ -1221,7 +1221,7 @@ public class Digester extends DefaultHan
* @param qName The qualified name (with prefix), or the empty
* string if qualified names are not available.\
* @param list The attributes attached to the element. If there are
- * no attributes, it shall be an empty Attributes object.
+ * no attributes, it shall be an empty Attributes object.
* @exception SAXException if a parsing error is to be reported
*/
@Override
@@ -1229,15 +1229,15 @@ public class Digester extends DefaultHan
String qName, Attributes list)
throws SAXException {
boolean debug = log.isDebugEnabled();
-
+
if (saxLog.isDebugEnabled()) {
saxLog.debug("startElement(" + namespaceURI + "," + localName + "," +
qName + ")");
}
-
+
// Parse system properties
list = updateAttributes(list);
-
+
// Save the body text accumulated for our surrounding element
bodyTexts.push(bodyText);
if (debug) {
@@ -1245,7 +1245,7 @@ public class Digester extends DefaultHan
}
bodyText = new StringBuilder();
- // the actual element name is either in localName or qName, depending
+ // the actual element name is either in localName or qName, depending
// on whether the parser is namespace aware
String name = localName;
if ((name == null) || (name.length() < 1)) {
@@ -1370,8 +1370,8 @@ public class Digester extends DefaultHan
public void setEntityResolver(EntityResolver entityResolver){
this.entityResolver = entityResolver;
}
-
-
+
+
/**
* Return the Entity Resolver used by the SAX parser.
* @return Return the Entity Resolver used by the SAX parser.
@@ -1387,47 +1387,47 @@ public class Digester extends DefaultHan
* @param systemId The system identifier of the entity being referenced
*
* @exception SAXException if a parsing exception occurs
- *
+ *
*/
@Override
public InputSource resolveEntity(String publicId, String systemId)
- throws SAXException {
-
+ throws SAXException {
+
if (saxLog.isDebugEnabled()) {
saxLog.debug("resolveEntity('" + publicId + "', '" + systemId + "')");
}
-
+
if (publicId != null)
this.publicId = publicId;
-
+
// Has this system identifier been registered?
String entityURL = null;
if (publicId != null) {
entityURL = entityValidator.get(publicId);
}
-
- if (entityURL == null) {
+
+ if (entityURL == null) {
if (systemId == null) {
// cannot resolve
if (log.isDebugEnabled()) {
log.debug(" Cannot resolve entity: '" + publicId + "'");
}
return (null);
-
+
} else {
// try to resolve using system ID
if (log.isDebugEnabled()) {
log.debug(" Trying to resolve using system ID '" + systemId + "'");
- }
+ }
entityURL = systemId;
}
}
-
+
// Return an input source to our alternative URL
if (log.isDebugEnabled()) {
log.debug(" Resolving to alternate DTD '" + entityURL + "'");
- }
-
+ }
+
try {
return (new InputSource(entityURL));
} catch (Exception e) {
@@ -1495,7 +1495,7 @@ public class Digester extends DefaultHan
log.warn("Parse Warning Error at line " + exception.getLineNumber() +
" column " + exception.getColumnNumber() + ": " +
exception.getMessage(), exception);
-
+
errorHandler.warning(exception);
}
@@ -1521,7 +1521,7 @@ public class Digester extends DefaultHan
getXMLReader().parse(input);
return (root);
- }
+ }
/**
* Parse the content of the specified input source using this Digester.
* Returns the root element from the object stack (if any).
@@ -1532,7 +1532,7 @@ public class Digester extends DefaultHan
* @exception SAXException if a parsing exception occurs
*/
public Object parse(InputSource input) throws IOException, SAXException {
-
+
configure();
getXMLReader().parse(input);
return (root);
@@ -1602,18 +1602,18 @@ public class Digester extends DefaultHan
* This must be called before the first call to <code>parse()</code>.
* </p><p>
* <code>Digester</code> contains an internal <code>EntityResolver</code>
- * implementation. This maps <code>PUBLICID</code>'s to URLs
+ * implementation. This maps <code>PUBLICID</code>'s to URLs
* (from which the resource will be loaded). A common use case for this
- * method is to register local URLs (possibly computed at runtime by a
+ * method is to register local URLs (possibly computed at runtime by a
* classloader) for DTDs. This allows the performance advantage of using
* a local version without having to ensure every <code>SYSTEM</code>
* URI on every processed xml document is local. This implementation provides
* only basic functionality. If more sophisticated features are required,
* using {@link #setEntityResolver} to set a custom resolver is recommended.
* </p><p>
- * <strong>Note:</strong> This method will have no effect when a custom
- * <code>EntityResolver</code> has been set. (Setting a custom
- * <code>EntityResolver</code> overrides the internal implementation.)
+ * <strong>Note:</strong> This method will have no effect when a custom
+ * <code>EntityResolver</code> has been set. (Setting a custom
+ * <code>EntityResolver</code> overrides the internal implementation.)
* </p>
* @param publicId Public identifier of the DTD to be resolved
* @param entityURL The URL to use for reading this DTD
@@ -1726,7 +1726,7 @@ public class Digester extends DefaultHan
addRule(pattern,
new CallMethodRule(
methodName,
- paramCount,
+ paramCount,
paramTypes));
}
@@ -1755,7 +1755,7 @@ public class Digester extends DefaultHan
addRule(pattern,
new CallMethodRule(
methodName,
- paramCount,
+ paramCount,
paramTypes));
}
@@ -1798,18 +1798,18 @@ public class Digester extends DefaultHan
/**
* Add a "call parameter" rule.
- * This will either take a parameter from the stack
- * or from the current element body text.
+ * This will either take a parameter from the stack
+ * or from the current element body text.
*
* @param paramIndex The zero-relative parameter number
* @param fromStack Should the call parameter be taken from the top of the stack?
* @see CallParamRule
- */
+ */
public void addCallParam(String pattern, int paramIndex, boolean fromStack) {
-
+
addRule(pattern,
new CallParamRule(paramIndex, fromStack));
-
+
}
/**
@@ -1820,16 +1820,16 @@ public class Digester extends DefaultHan
* @param stackIndex set the call parameter to the stackIndex'th object down the stack,
* where 0 is the top of the stack, 1 the next element down and so on
* @see CallMethodRule
- */
+ */
public void addCallParam(String pattern, int paramIndex, int stackIndex) {
-
+
addRule(pattern,
new CallParamRule(paramIndex, stackIndex));
-
+
}
-
+
/**
- * Add a "call parameter" rule that sets a parameter from the current
+ * Add a "call parameter" rule that sets a parameter from the current
* <code>Digester</code> matching path.
* This is sometimes useful when using rules that support wildcards.
*
@@ -1840,9 +1840,9 @@ public class Digester extends DefaultHan
public void addCallParamPath(String pattern,int paramIndex) {
addRule(pattern, new PathCallParamRule(paramIndex));
}
-
+
/**
- * Add a "call parameter" rule that sets a parameter from a
+ * Add a "call parameter" rule that sets a parameter from a
* caller-provided object. This can be used to pass constants such as
* strings to methods; it can also be used to pass mutable objects,
* providing ways for objects to do things like "register" themselves
@@ -1860,15 +1860,15 @@ public class Digester extends DefaultHan
* @see CallMethodRule
*
* @since 1.6
- */
- public void addObjectParam(String pattern, int paramIndex,
+ */
+ public void addObjectParam(String pattern, int paramIndex,
Object paramObj) {
-
+
addRule(pattern,
new ObjectParamRule(paramIndex, paramObj));
-
+
}
-
+
/**
* Add a "factory create" rule for the specified parameters.
* Exceptions thrown during the object creation process will be propagated.
@@ -1961,7 +1961,7 @@ public class Digester extends DefaultHan
* @see FactoryCreateRule
*/
public void addFactoryCreate(
- String pattern,
+ String pattern,
String className,
boolean ignoreCreateExceptions) {
@@ -1982,7 +1982,7 @@ public class Digester extends DefaultHan
* @see FactoryCreateRule
*/
public void addFactoryCreate(
- String pattern,
+ String pattern,
Class<?> clazz,
boolean ignoreCreateExceptions) {
@@ -2005,7 +2005,7 @@ public class Digester extends DefaultHan
* @see FactoryCreateRule
*/
public void addFactoryCreate(
- String pattern,
+ String pattern,
String className,
String attributeName,
boolean ignoreCreateExceptions) {
@@ -2029,7 +2029,7 @@ public class Digester extends DefaultHan
* @see FactoryCreateRule
*/
public void addFactoryCreate(
- String pattern,
+ String pattern,
Class<?> clazz,
String attributeName,
boolean ignoreCreateExceptions) {
@@ -2216,7 +2216,7 @@ public class Digester extends DefaultHan
* @see SetPropertiesRule
*/
public void addSetProperties(
- String pattern,
+ String pattern,
String attributeName,
String propertyName) {
@@ -2235,7 +2235,7 @@ public class Digester extends DefaultHan
* @see SetPropertiesRule
*/
public void addSetProperties(
- String pattern,
+ String pattern,
String [] attributeNames,
String [] propertyNames) {
@@ -2303,7 +2303,7 @@ public class Digester extends DefaultHan
* Clear the current contents of the object stack.
* <p>
* Calling this method <i>might</i> allow another document of the same type
- * to be correctly parsed. However this method was not intended for this
+ * to be correctly parsed. However this method was not intended for this
* purpose. In general, a separate Digester object should be created for
* each document to be parsed.
*/
@@ -2317,10 +2317,10 @@ public class Digester extends DefaultHan
log = null;
saxLog = null;
configured = false;
-
+
}
-
+
public void reset() {
root = null;
setErrorHandler(null);
@@ -2397,7 +2397,7 @@ public class Digester extends DefaultHan
/**
* Pushes the given object onto the stack with the given name.
* If no stack already exists with the given name then one will be created.
- *
+ *
* @param stackName the name of the stack onto which the object should be pushed
* @param value the Object to be pushed onto the named stack.
*
@@ -2417,9 +2417,9 @@ public class Digester extends DefaultHan
*
* <p><strong>Note:</strong> a stack is considered empty
* if no objects have been pushed onto it yet.</p>
- *
+ *
* @param stackName the name of the stack from which the top value is to be popped
- * @return the top <code>Object</code> on the stack or or null if the stack is either
+ * @return the top <code>Object</code> on the stack or or null if the stack is either
* empty or has not been created yet
* @throws EmptyStackException if the named stack is empty
*
@@ -2433,14 +2433,14 @@ public class Digester extends DefaultHan
log.debug("Stack '" + stackName + "' is empty");
}
throw new EmptyStackException();
-
+
} else {
-
+
result = namedStack.pop();
}
return result;
}
-
+
/**
* <p>Gets the top object from the stack with the given name.
* This method does not remove the object from the stack.
@@ -2449,9 +2449,9 @@ public class Digester extends DefaultHan
* if no objects have been pushed onto it yet.</p>
*
* @param stackName the name of the stack to be peeked
- * @return the top <code>Object</code> on the stack or null if the stack is either
+ * @return the top <code>Object</code> on the stack or null if the stack is either
* empty or has not been created yet
- * @throws EmptyStackException if the named stack is empty
+ * @throws EmptyStackException if the named stack is empty
*
* @since 1.6
*/
@@ -2461,11 +2461,11 @@ public class Digester extends DefaultHan
if (namedStack == null ) {
if (log.isDebugEnabled()) {
log.debug("Stack '" + stackName + "' is empty");
- }
+ }
throw new EmptyStackException();
-
+
} else {
-
+
result = namedStack.peek();
}
return result;
@@ -2475,9 +2475,9 @@ public class Digester extends DefaultHan
* <p>Is the stack with the given name empty?</p>
* <p><strong>Note:</strong> a stack is considered empty
* if no objects have been pushed onto it yet.</p>
- * @param stackName the name of the stack whose emptiness
+ * @param stackName the name of the stack whose emptiness
* should be evaluated
- * @return true if the given stack if empty
+ * @return true if the given stack if empty
*
* @since 1.6
*/
@@ -2489,19 +2489,19 @@ public class Digester extends DefaultHan
}
return result;
}
-
+
/**
- * When the Digester is being used as a SAXContentHandler,
+ * When the Digester is being used as a SAXContentHandler,
* this method allows you to access the root object that has been
* created after parsing.
- *
+ *
* @return the root object that has been created after parsing
* or null if the digester has not parsed any XML yet.
*/
public Object getRoot() {
return root;
}
-
+
// ------------------------------------------------ Parameter Stack Methods
@@ -2519,7 +2519,7 @@ public class Digester extends DefaultHan
* <p>
* <strong>Note</strong> This method may be called more than once.
* Once only initialization code should be placed in {@link #initialize}
- * or the code should take responsibility by checking and setting the
+ * or the code should take responsibility by checking and setting the
* {@link #configured} flag.
* </p>
*/
@@ -2541,19 +2541,19 @@ public class Digester extends DefaultHan
configured = true;
}
-
+
/**
* <p>
* Provides a hook for lazy initialization of this <code>Digester</code>
- * instance.
+ * instance.
* The default implementation does nothing, but subclasses
* can override as needed.
* Digester (by default) only calls this method once.
* </p>
*
* <p>
- * <strong>Note</strong> This method will be called by {@link #configure}
- * only when the {@link #configured} flag is false.
+ * <strong>Note</strong> This method will be called by {@link #configure}
+ * only when the {@link #configured} flag is false.
* Subclasses that override <code>configure</code> or who set <code>configured</code>
* may find that this method may be called more than once.
* </p>
@@ -2565,7 +2565,7 @@ public class Digester extends DefaultHan
// Perform lazy initialization as needed
// Nothing required by default
- }
+ }
// -------------------------------------------------------- Package Methods
@@ -2584,7 +2584,7 @@ public class Digester extends DefaultHan
* <p>Return the top object on the parameters stack without removing it. If there are
* no objects on the stack, return <code>null</code>.</p>
*
- * <p>The parameters stack is used to store <code>CallMethodRule</code> parameters.
+ * <p>The parameters stack is used to store <code>CallMethodRule</code> parameters.
* See {@link #params}.</p>
*/
public Object peekParams() {
@@ -2604,7 +2604,7 @@ public class Digester extends DefaultHan
* and [getCount()-1] is the bottom element. If the specified index
* is out of range, return <code>null</code>.</p>
*
- * <p>The parameters stack is used to store <code>CallMethodRule</code> parameters.
+ * <p>The parameters stack is used to store <code>CallMethodRule</code> parameters.
* See {@link #params}.</p>
*
* @param n Index of the desired element, where 0 is the top of the stack,
@@ -2626,7 +2626,7 @@ public class Digester extends DefaultHan
* <p>Pop the top object off of the parameters stack, and return it. If there are
* no objects on the stack, return <code>null</code>.</p>
*
- * <p>The parameters stack is used to store <code>CallMethodRule</code> parameters.
+ * <p>The parameters stack is used to store <code>CallMethodRule</code> parameters.
* See {@link #params}.</p>
*/
public Object popParams() {
@@ -2647,7 +2647,7 @@ public class Digester extends DefaultHan
/**
* <p>Push a new object onto the top of the parameters stack.</p>
*
- * <p>The parameters stack is used to store <code>CallMethodRule</code> parameters.
+ * <p>The parameters stack is used to store <code>CallMethodRule</code> parameters.
* See {@link #params}.</p>
*
* @param object The new object
@@ -2716,7 +2716,7 @@ public class Digester extends DefaultHan
public SAXException createSAXException(String message) {
return createSAXException(message, null);
}
-
+
// ------------------------------------------------------- Private Methods
@@ -2731,13 +2731,13 @@ public class Digester extends DefaultHan
if (list.getLength() == 0) {
return list;
}
-
+
AttributesImpl newAttrs = new AttributesImpl(list);
int nAttributes = newAttrs.getLength();
for (int i = 0; i < nAttributes; ++i) {
String value = newAttrs.getValue(i);
try {
- String newValue =
+ String newValue =
IntrospectionUtils.replaceProperties(value, null, source);
if (value != newValue) {
newAttrs.setValue(i, newValue);
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/FactoryCreateRule.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/FactoryCreateRule.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/FactoryCreateRule.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/FactoryCreateRule.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
@@ -35,7 +35,7 @@ import org.xml.sax.Attributes;
public class FactoryCreateRule extends Rule {
// ----------------------------------------------------------- Fields
-
+
/** Should exceptions thrown by the factory be ignored? */
private boolean ignoreCreateExceptions;
/** Stock to manage */
@@ -127,7 +127,7 @@ public class FactoryCreateRule extends R
this(creationFactory, false);
}
-
+
/**
* Construct a factory create rule that will use the specified
* class name to create an {@link ObjectCreationFactory} which will
@@ -175,7 +175,7 @@ public class FactoryCreateRule extends R
* creation factory will be ignored.
*/
public FactoryCreateRule(
- String className,
+ String className,
String attributeName,
boolean ignoreCreateExceptions) {
@@ -199,7 +199,7 @@ public class FactoryCreateRule extends R
* creation factory will be ignored.
*/
public FactoryCreateRule(
- Class<?> clazz,
+ Class<?> clazz,
String attributeName,
boolean ignoreCreateExceptions) {
@@ -217,7 +217,7 @@ public class FactoryCreateRule extends R
* creation factory will be ignored.
*/
public FactoryCreateRule(
- ObjectCreationFactory creationFactory,
+ ObjectCreationFactory creationFactory,
boolean ignoreCreateExceptions) {
this.creationFactory = creationFactory;
@@ -258,23 +258,23 @@ public class FactoryCreateRule extends R
*/
@Override
public void begin(String namespace, String name, Attributes attributes) throws Exception {
-
+
if (ignoreCreateExceptions) {
-
+
if (exceptionIgnoredStack == null) {
exceptionIgnoredStack = new ArrayStack<Boolean>();
}
-
+
try {
Object instance = getFactory(attributes).createObject(attributes);
-
+
if (digester.log.isDebugEnabled()) {
digester.log.debug("[FactoryCreateRule]{" + digester.match +
"} New " + instance.getClass().getName());
}
digester.push(instance);
exceptionIgnoredStack.push(Boolean.FALSE);
-
+
} catch (Exception e) {
// log message and error
if (digester.log.isInfoEnabled()) {
@@ -286,10 +286,10 @@ public class FactoryCreateRule extends R
}
exceptionIgnoredStack.push(Boolean.TRUE);
}
-
+
} else {
Object instance = getFactory(attributes).createObject(attributes);
-
+
if (digester.log.isDebugEnabled()) {
digester.log.debug("[FactoryCreateRule]{" + digester.match +
"} New " + instance.getClass().getName());
@@ -304,14 +304,14 @@ public class FactoryCreateRule extends R
*/
@Override
public void end(String namespace, String name) throws Exception {
-
- // check if object was created
+
+ // check if object was created
// this only happens if an exception was thrown and we're ignoring them
if (
ignoreCreateExceptions &&
exceptionIgnoredStack != null &&
!(exceptionIgnoredStack.empty())) {
-
+
if ((exceptionIgnoredStack.pop()).booleanValue()) {
// creation exception was ignored
// nothing was put onto the stack
@@ -320,7 +320,7 @@ public class FactoryCreateRule extends R
}
return;
}
- }
+ }
Object top = digester.pop();
if (digester.log.isDebugEnabled()) {
@@ -398,5 +398,5 @@ public class FactoryCreateRule extends R
}
return (creationFactory);
- }
+ }
}
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/GenericParser.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/GenericParser.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/GenericParser.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/GenericParser.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
@@ -61,11 +61,11 @@ public class GenericParser{
* @return an XML Schema/DTD enabled <code>SAXParser</code>
*/
public static SAXParser newSAXParser(Properties properties)
- throws ParserConfigurationException,
+ throws ParserConfigurationException,
SAXException,
- SAXNotRecognizedException{
+ SAXNotRecognizedException{
- SAXParserFactory factory =
+ SAXParserFactory factory =
(SAXParserFactory)properties.get("SAXParserFactory");
SAXParser parser = factory.newSAXParser();
String schemaLocation = (String)properties.get("schemaLocation");
@@ -77,8 +77,8 @@ public class GenericParser{
parser.setProperty(JAXP_SCHEMA_SOURCE, schemaLocation);
}
} catch (SAXNotRecognizedException e){
- log.info(parser.getClass().getName() + ": "
- + e.getMessage() + " not supported.");
+ log.info(parser.getClass().getName() + ": "
+ + e.getMessage() + " not supported.");
}
return parser;
}
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/NodeCreateRule.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/NodeCreateRule.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/NodeCreateRule.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/NodeCreateRule.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
@@ -47,11 +47,11 @@ import org.xml.sax.helpers.DefaultHandle
* {@link org.w3c.dom.DocumentFragment DocumentFragment}, which will contain
* only the XML content under the element the rule was triggered on.</li>
* </ul>
- * The created node will be normalized, meaning it will not contain text nodes
+ * The created node will be normalized, meaning it will not contain text nodes
* that only contain white space characters.
- *
+ *
- *
+ *
* <p>The created <code>Node</code> will be pushed on Digester's object stack
* when done. To use it in the context of another DOM
* {@link org.w3c.dom.Document Document}, it must be imported first, using the
@@ -60,12 +60,12 @@ import org.xml.sax.helpers.DefaultHandle
* </p>
*
* <p><strong>Important Note:</strong> This is implemented by replacing the SAX
- * {@link org.xml.sax.ContentHandler ContentHandler} in the parser used by
- * Digester, and resetting it when the matched element is closed. As a side
- * effect, rules that would match XML nodes under the element that matches
- * a <code>NodeCreateRule</code> will never be triggered by Digester, which
+ * {@link org.xml.sax.ContentHandler ContentHandler} in the parser used by
+ * Digester, and resetting it when the matched element is closed. As a side
+ * effect, rules that would match XML nodes under the element that matches
+ * a <code>NodeCreateRule</code> will never be triggered by Digester, which
* usually is the behavior one would expect.</p>
- *
+ *
* <p><strong>Note</strong> that the current implementation does not set the namespace prefixes
* in the exported nodes. The (usually more important) namespace URIs are set,
* of course.</p>
@@ -80,7 +80,7 @@ public class NodeCreateRule extends Rule
/**
- * The SAX content handler that does all the actual work of assembling the
+ * The SAX content handler that does all the actual work of assembling the
* DOM node tree from the SAX events.
*/
private class NodeBuilder
@@ -92,16 +92,16 @@ public class NodeCreateRule extends Rule
/**
* Constructor.
- *
- * <p>Stores the content handler currently used by Digester so it can
- * be reset when done, and initializes the DOM objects needed to
+ *
+ * <p>Stores the content handler currently used by Digester so it can
+ * be reset when done, and initializes the DOM objects needed to
* build the node.</p>
- *
+ *
* @param doc the document to use to create nodes
* @param root the root node
- * @throws ParserConfigurationException if the DocumentBuilderFactory
+ * @throws ParserConfigurationException if the DocumentBuilderFactory
* could not be instantiated
- * @throws SAXException if the XMLReader could not be instantiated by
+ * @throws SAXException if the XMLReader could not be instantiated by
* Digester (should not happen)
*/
public NodeBuilder(Document doc, Node root)
@@ -110,7 +110,7 @@ public class NodeCreateRule extends Rule
this.doc = doc;
this.root = root;
this.top = root;
-
+
oldContentHandler = digester.getXMLReader().getContentHandler();
}
@@ -120,7 +120,7 @@ public class NodeCreateRule extends Rule
/**
- * The content handler used by Digester before it was set to this
+ * The content handler used by Digester before it was set to this
* content handler.
*/
protected ContentHandler oldContentHandler = null;
@@ -156,7 +156,7 @@ public class NodeCreateRule extends Rule
/**
* Appends a {@link org.w3c.dom.Text Text} node to the current node.
- *
+ *
* @param ch the characters from the XML document
* @param start the start position in the array
* @param length the number of characters to read from the array
@@ -168,7 +168,7 @@ public class NodeCreateRule extends Rule
try {
String str = new String(ch, start, length);
- if (str.trim().length() > 0) {
+ if (str.trim().length() > 0) {
top.appendChild(doc.createTextNode(str));
}
} catch (DOMException e) {
@@ -180,7 +180,7 @@ public class NodeCreateRule extends Rule
/**
* Checks whether control needs to be returned to Digester.
- *
+ *
* @param namespaceURI the namespace URI
* @param localName the local name
* @param qName the qualified (prefixed) name
@@ -190,7 +190,7 @@ public class NodeCreateRule extends Rule
public void endElement(String namespaceURI, String localName,
String qName)
throws SAXException {
-
+
try {
if (depth == 0) {
getDigester().getXMLReader().setContentHandler(
@@ -198,7 +198,7 @@ public class NodeCreateRule extends Rule
getDigester().push(root);
getDigester().endElement(namespaceURI, localName, qName);
}
-
+
top = top.getParentNode();
depth--;
} catch (DOMException e) {
@@ -210,18 +210,18 @@ public class NodeCreateRule extends Rule
/**
* Adds a new
- * {@link org.w3c.dom.ProcessingInstruction ProcessingInstruction} to
+ * {@link org.w3c.dom.ProcessingInstruction ProcessingInstruction} to
* the current node.
- *
+ *
* @param target the processing instruction target
- * @param data the processing instruction data, or null if none was
+ * @param data the processing instruction data, or null if none was
* supplied
* @throws SAXException if the DOM implementation throws an exception
*/
@Override
public void processingInstruction(String target, String data)
throws SAXException {
-
+
try {
top.appendChild(doc.createProcessingInstruction(target, data));
} catch (DOMException e) {
@@ -234,7 +234,7 @@ public class NodeCreateRule extends Rule
/**
* Adds a new child {@link org.w3c.dom.Element Element} to the current
* node.
- *
+ *
* @param namespaceURI the namespace URI
* @param localName the local name
* @param qName the qualified (prefixed) name
@@ -248,7 +248,7 @@ public class NodeCreateRule extends Rule
try {
Node previousTop = top;
- if ((localName == null) || (localName.length() == 0)) {
+ if ((localName == null) || (localName.length() == 0)) {
top = doc.createElement(qName);
} else {
top = doc.createElementNS(namespaceURI, localName);
@@ -294,10 +294,10 @@ public class NodeCreateRule extends Rule
/**
* Constructor. Creates an instance of this rule that will create a DOM
- * {@link org.w3c.dom.Element Element}, but lets you specify the JAXP
+ * {@link org.w3c.dom.Element Element}, but lets you specify the JAXP
* <code>DocumentBuilder</code> that should be used when constructing the
* node tree.
- *
+ *
* @param documentBuilder the JAXP <code>DocumentBuilder</code> to use
*/
public NodeCreateRule(DocumentBuilder documentBuilder) {
@@ -308,13 +308,13 @@ public class NodeCreateRule extends Rule
/**
- * Constructor. Creates an instance of this rule that will create either a
- * DOM {@link org.w3c.dom.Element Element} or a DOM
+ * Constructor. Creates an instance of this rule that will create either a
+ * DOM {@link org.w3c.dom.Element Element} or a DOM
* {@link org.w3c.dom.DocumentFragment DocumentFragment}, depending on the
* value of the <code>nodeType</code> parameter.
- *
+ *
* @param nodeType the type of node to create, which can be either
- * {@link org.w3c.dom.Node#ELEMENT_NODE Node.ELEMENT_NODE} or
+ * {@link org.w3c.dom.Node#ELEMENT_NODE Node.ELEMENT_NODE} or
* {@link org.w3c.dom.Node#DOCUMENT_FRAGMENT_NODE Node.DOCUMENT_FRAGMENT_NODE}
* @throws IllegalArgumentException if the node type is not supported
*/
@@ -327,15 +327,15 @@ public class NodeCreateRule extends Rule
/**
- * Constructor. Creates an instance of this rule that will create either a
- * DOM {@link org.w3c.dom.Element Element} or a DOM
+ * Constructor. Creates an instance of this rule that will create either a
+ * DOM {@link org.w3c.dom.Element Element} or a DOM
* {@link org.w3c.dom.DocumentFragment DocumentFragment}, depending on the
* value of the <code>nodeType</code> parameter. This constructor lets you
* specify the JAXP <code>DocumentBuilder</code> that should be used when
* constructing the node tree.
- *
+ *
* @param nodeType the type of node to create, which can be either
- * {@link org.w3c.dom.Node#ELEMENT_NODE Node.ELEMENT_NODE} or
+ * {@link org.w3c.dom.Node#ELEMENT_NODE Node.ELEMENT_NODE} or
* {@link org.w3c.dom.Node#DOCUMENT_FRAGMENT_NODE Node.DOCUMENT_FRAGMENT_NODE}
* @param documentBuilder the JAXP <code>DocumentBuilder</code> to use
* @throws IllegalArgumentException if the node type is not supported
@@ -365,7 +365,7 @@ public class NodeCreateRule extends Rule
/**
* The type of the node that should be created. Must be one of the
* constants defined in {@link org.w3c.dom.Node Node}, but currently only
- * {@link org.w3c.dom.Node#ELEMENT_NODE Node.ELEMENT_NODE} and
+ * {@link org.w3c.dom.Node#ELEMENT_NODE Node.ELEMENT_NODE} and
* {@link org.w3c.dom.Node#DOCUMENT_FRAGMENT_NODE Node.DOCUMENT_FRAGMENT_NODE}
* are allowed values.
*/
@@ -376,13 +376,13 @@ public class NodeCreateRule extends Rule
/**
- * Implemented to replace the content handler currently in use by a
+ * Implemented to replace the content handler currently in use by a
* NodeBuilder.
- *
- * @param namespaceURI the namespace URI of the matching element, or an
+ *
+ * @param namespaceURI the namespace URI of the matching element, or an
* empty string if the parser is not namespace aware or the element has
* no namespace
- * @param name the local name if the parser is namespace aware, or just
+ * @param name the local name if the parser is namespace aware, or just
* the element name otherwise
* @param attributes The attribute list of this element
* @throws Exception indicates a JAXP configuration problem
@@ -422,11 +422,11 @@ public class NodeCreateRule extends Rule
/**
* Pop the Node off the top of the stack.
- *
- * @param namespace the namespace URI of the matching element, or an
+ *
+ * @param namespace the namespace URI of the matching element, or an
* empty string if the parser is not namespace aware or the element has
* no namespace
- * @param name the local name if the parser is namespace aware, or just
+ * @param name the local name if the parser is namespace aware, or just
* the element name otherwise
*/
@Override
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreateRule.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreateRule.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreateRule.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreateRule.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
@@ -111,10 +111,10 @@ public class ObjectCreateRule extends Ru
/**
* Process the beginning of this element.
*
- * @param namespace the namespace URI of the matching element, or an
+ * @param namespace the namespace URI of the matching element, or an
* empty string if the parser is not namespace aware or the element has
* no namespace
- * @param name the local name if the parser is namespace aware, or just
+ * @param name the local name if the parser is namespace aware, or just
* the element name otherwise
* @param attributes The attribute list for this element
*/
@@ -149,11 +149,11 @@ public class ObjectCreateRule extends Ru
/**
* Process the end of this element.
- *
- * @param namespace the namespace URI of the matching element, or an
+ *
+ * @param namespace the namespace URI of the matching element, or an
* empty string if the parser is not namespace aware or the element has
* no namespace
- * @param name the local name if the parser is namespace aware, or just
+ * @param name the local name if the parser is namespace aware, or just
* the element name otherwise
*/
@Override
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectCreationFactory.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectParamRule.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectParamRule.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectParamRule.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/ObjectParamRule.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java?rev=1187781&r1=1187780&r2=1187781&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/digester/ParserFeatureSetterFactory.java Sat Oct 22 21:02:40 2011
@@ -5,15 +5,15 @@
* The ASF licenses this file to You 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.apache.tomcat.util.digester;
@@ -39,7 +39,7 @@ public class ParserFeatureSetterFactory{
/**
* <code>true</code> is Xerces is used.
*/
- private static boolean isXercesUsed;
+ private static boolean isXercesUsed;
static {
try{
@@ -58,9 +58,9 @@ public class ParserFeatureSetterFactory{
* parser implementation.
*/
public static SAXParser newSAXParser(Properties properties)
- throws ParserConfigurationException,
+ throws ParserConfigurationException,
SAXException,
- SAXNotRecognizedException,
+ SAXNotRecognizedException,
SAXNotSupportedException {
if (isXercesUsed){
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org