Author: dmitri Date: Sat Oct 29 14:07:19 2005 New Revision: 329481 URL: http://svn.apache.org/viewcvs?rev=329481&view=rev Log: Introduced specialized exceptions
Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathException.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/functions/ConstructorFunction.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/functions/MethodFunction.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/Parser.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/axes/SimplePathInterpreter.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/CoreFunction.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/ExtensionFunction.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/NodePointer.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/VariablePointer.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/BeanPropertyPointer.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/NullPropertyPointer.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/PropertyOwnerPointer.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/PropertyPointer.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dom/DOMNodePointer.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dynabeans/DynaBeanPropertyPointer.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dynamic/DynamicPropertyPointer.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/jdom/JDOMNodePointer.java jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/util/BasicTypeConverter.java Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathException.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathException.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathException.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathException.java Sat Oct 29 14:07:19 2005 @@ -23,7 +23,8 @@ */ public class JXPathException extends RuntimeException { - + private static final long serialVersionUID = 4306409701468017766L; + /** @serial */ private Throwable exception; @@ -116,4 +117,12 @@ public Throwable getException() { return exception; } + + /** + * Same as [EMAIL PROTECTED] #getException() getException()} + */ + public Throwable getCause() { + return exception; + } + } Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/functions/ConstructorFunction.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/functions/ConstructorFunction.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/functions/ConstructorFunction.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/functions/ConstructorFunction.java Sat Oct 29 14:07:19 2005 @@ -20,7 +20,7 @@ import org.apache.commons.jxpath.ExpressionContext; import org.apache.commons.jxpath.Function; -import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathInvalidAccessException; import org.apache.commons.jxpath.util.TypeUtils; /** @@ -66,7 +66,7 @@ if (ex instanceof InvocationTargetException) { ex = ((InvocationTargetException) ex).getTargetException(); } - throw new JXPathException( + throw new JXPathInvalidAccessException( "Cannot invoke constructor " + constructor, ex); } Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/functions/MethodFunction.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/functions/MethodFunction.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/functions/MethodFunction.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/functions/MethodFunction.java Sat Oct 29 14:07:19 2005 @@ -21,7 +21,7 @@ import org.apache.commons.jxpath.ExpressionContext; import org.apache.commons.jxpath.Function; -import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathInvalidAccessException; import org.apache.commons.jxpath.util.TypeUtils; import org.apache.commons.jxpath.util.ValueUtils; @@ -91,7 +91,8 @@ if (ex instanceof InvocationTargetException) { ex = ((InvocationTargetException) ex).getTargetException(); } - throw new JXPathException("Cannot invoke " + method, ex); + throw new JXPathInvalidAccessException("Cannot invoke " + method, + ex); } } Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java Sat Oct 29 14:07:19 2005 @@ -32,6 +32,10 @@ import org.apache.commons.jxpath.Functions; import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathFunctionNotFoundException; +import org.apache.commons.jxpath.JXPathInvalidSyntaxException; +import org.apache.commons.jxpath.JXPathNotFoundException; +import org.apache.commons.jxpath.JXPathTypeConversionException; import org.apache.commons.jxpath.Pointer; import org.apache.commons.jxpath.Variables; import org.apache.commons.jxpath.ri.axes.InitialContext; @@ -320,7 +324,8 @@ if (result == null) { if (expr instanceof Path) { if (!isLenient()) { - throw new JXPathException("No value for xpath: " + xpath); + throw new JXPathNotFoundException("No value for xpath: " + + xpath); } } return null; @@ -329,7 +334,8 @@ EvalContext ctx = (EvalContext) result; result = ctx.getSingleNodePointer(); if (!isLenient() && result == null) { - throw new JXPathException("No value for xpath: " + xpath); + throw new JXPathNotFoundException("No value for xpath: " + + xpath); } } if (result instanceof NodePointer) { @@ -346,7 +352,8 @@ if (parent == null || !parent.isContainer() || !parent.isActual()) { - throw new JXPathException("No value for xpath: " + xpath); + throw new JXPathNotFoundException("No value for xpath: " + + xpath); } } result = ((NodePointer) result).getValue(); @@ -367,7 +374,7 @@ Object value = getValue(xpath, expr); if (value != null && requiredType != null) { if (!TypeUtils.canConvert(value, requiredType)) { - throw new JXPathException( + throw new JXPathTypeConversionException( "Invalid expression type. '" + xpath + "' returns " @@ -404,7 +411,8 @@ } if (result instanceof Pointer) { if (!isLenient() && !((NodePointer) result).isActual()) { - throw new JXPathException("No pointer for xpath: " + xpath); + throw new JXPathNotFoundException("No pointer for xpath: " + + xpath); } return (Pointer) result; } @@ -517,7 +525,7 @@ private void checkSimplePath(Expression expr) { if (!(expr instanceof LocationPath) || !((LocationPath) expr).isSimplePath()) { - throw new JXPathException( + throw new JXPathInvalidSyntaxException( "JXPath can only create a path if it uses exclusively " + "the child:: and attribute:: axes and has " + "no context-dependent predicates"); @@ -647,7 +655,7 @@ } funcCtx = funcCtx.getParentContext(); } - throw new JXPathException( + throw new JXPathFunctionNotFoundException( "Undefined function: " + functionName.toString()); } Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/Parser.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/Parser.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/Parser.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/Parser.java Sat Oct 29 14:07:19 2005 @@ -17,7 +17,7 @@ import java.io.StringReader; -import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathInvalidSyntaxException; import org.apache.commons.jxpath.ri.parser.ParseException; import org.apache.commons.jxpath.ri.parser.TokenMgrError; import org.apache.commons.jxpath.ri.parser.XPathParser; @@ -48,7 +48,7 @@ expr = parser.parseExpression(); } catch (TokenMgrError e) { - throw new JXPathException( + throw new JXPathInvalidSyntaxException( "Invalid XPath: '" + addEscapes(expression) + "'. Invalid symbol '" @@ -57,7 +57,7 @@ + describePosition(expression, e.getPosition())); } catch (ParseException e) { - throw new JXPathException( + throw new JXPathInvalidSyntaxException( "Invalid XPath: '" + addEscapes(expression) + "'. Syntax error " Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/axes/SimplePathInterpreter.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/axes/SimplePathInterpreter.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/axes/SimplePathInterpreter.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/axes/SimplePathInterpreter.java Sat Oct 29 14:07:19 2005 @@ -661,7 +661,7 @@ value = ((NodePointer) value).getValue(); } if (value == null) { - throw new JXPathException("Predicate value is null"); + throw new JXPathException("Predicate value is null: " + predicate); } if (value instanceof Number) { Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/CoreFunction.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/CoreFunction.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/CoreFunction.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/CoreFunction.java Sat Oct 29 14:07:19 2005 @@ -23,6 +23,7 @@ import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathInvalidSyntaxException; import org.apache.commons.jxpath.ri.Compiler; import org.apache.commons.jxpath.ri.EvalContext; import org.apache.commons.jxpath.ri.InfoSetUtil; @@ -682,7 +683,8 @@ private void assertArgCount(int count) { if (getArgumentCount() != count) { - throw new JXPathException("Incorrect number of argument: " + this); + throw new JXPathInvalidSyntaxException( + "Incorrect number of argument: " + this); } } } Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/ExtensionFunction.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/ExtensionFunction.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/ExtensionFunction.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/ExtensionFunction.java Sat Oct 29 14:07:19 2005 @@ -18,7 +18,7 @@ import java.util.Arrays; import org.apache.commons.jxpath.Function; -import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathFunctionNotFoundException; import org.apache.commons.jxpath.ri.EvalContext; import org.apache.commons.jxpath.ri.QName; @@ -83,10 +83,8 @@ Function function = context.getRootContext().getFunction(functionName, parameters); if (function == null) { - throw new JXPathException( - "No such function: " - + functionName - + Arrays.asList(parameters)); + throw new JXPathFunctionNotFoundException("No such function: " + + functionName + Arrays.asList(parameters)); } return function.invoke(context, parameters); Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/NodePointer.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/NodePointer.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/NodePointer.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/NodePointer.java Sat Oct 29 14:07:19 2005 @@ -427,36 +427,21 @@ int index, Object value) { - throw new JXPathException( - "Cannot create an object for path " - + asPath() - + "/" - + name - + "[" - + (index + 1) - + "]" + throw new JXPathException("Cannot create an object for path " + + asPath() + "/" + name + "[" + (index + 1) + "]" + ", operation is not allowed for this type of node"); } /** - * Called by a child pointer when it needs to create a parent object - * for a non-existent collection element. It may have to expand the - * collection, then create an element object and return a new pointer - * describing the newly created element. + * Called by a child pointer when it needs to create a parent object for a + * non-existent collection element. It may have to expand the collection, + * then create an element object and return a new pointer describing the + * newly created element. */ - public NodePointer createChild( - JXPathContext context, - QName name, - int index) + public NodePointer createChild(JXPathContext context, QName name, int index) { - throw new JXPathException( - "Cannot create an object for path " - + asPath() - + "/" - + name - + "[" - + (index + 1) - + "]" + throw new JXPathException("Cannot create an object for path " + + asPath() + "/" + name + "[" + (index + 1) + "]" + ", operation is not allowed for this type of node"); } @@ -464,16 +449,14 @@ * Called to create a non-existing attribute */ public NodePointer createAttribute(JXPathContext context, QName name) { - throw new JXPathException( - "Cannot create an attribute for path " + throw new JXPathException("Cannot create an attribute for path " + asPath() + "/@" + name + ", operation is not allowed for this type of node"); } /** - * If the Pointer has a parent, returns the parent's locale; - * otherwise returns the locale specified when this Pointer - * was created. + * If the Pointer has a parent, returns the parent's locale; otherwise + * returns the locale specified when this Pointer was created. */ public Locale getLocale() { if (locale == null) { @@ -720,11 +703,8 @@ if (depth1 == 1) { throw new JXPathException( - "Cannot compare pointers that do not belong to the same tree: '" - + p1 - + "' and '" - + p2 - + "'"); + "Cannot compare pointers that do not belong to the same tree: '" + + p1 + "' and '" + p2 + "'"); } int r = compareNodePointers(p1.parent, depth1 - 1, p2.parent, depth2 - 1); Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/VariablePointer.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/VariablePointer.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/VariablePointer.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/VariablePointer.java Sat Oct 29 14:07:19 2005 @@ -16,9 +16,11 @@ package org.apache.commons.jxpath.ri.model; import org.apache.commons.jxpath.AbstractFactory; +import org.apache.commons.jxpath.JXPathAbstractFactoryException; import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.jxpath.JXPathException; import org.apache.commons.jxpath.JXPathIntrospector; +import org.apache.commons.jxpath.JXPathInvalidAccessException; import org.apache.commons.jxpath.Variables; import org.apache.commons.jxpath.ri.QName; import org.apache.commons.jxpath.ri.compiler.NodeTest; @@ -154,11 +156,9 @@ if (!actual) { AbstractFactory factory = getAbstractFactory(context); if (!factory.declareVariable(context, name.toString())) { - throw new JXPathException( - "Factory cannot define variable '" - + name - + "' for path: " - + asPath()); + throw new JXPathAbstractFactoryException( + "Factory cannot define variable '" + name + + "' for path: " + asPath()); } findVariables(context); // Assert: actual == true @@ -182,8 +182,8 @@ getName().toString(), index); if (!success) { - throw new JXPathException( - "Factory could not create object path: " + asPath()); + throw new JXPathAbstractFactoryException( + "Factory could not create object path: " + asPath()); } NodePointer cln = (NodePointer) clone(); cln.setIndex(index); @@ -210,7 +210,7 @@ Object collection = getBaseValue(); if (collection == null) { - throw new JXPathException( + throw new JXPathAbstractFactoryException( "Factory did not assign a collection to variable '" + name + "' for path: " @@ -221,7 +221,8 @@ index = 0; } else if (index < 0) { - throw new JXPathException("Index is less than 1: " + asPath()); + throw new JXPathInvalidAccessException("Index is less than 1: " + + asPath()); } if (index >= getLength()) { @@ -239,7 +240,7 @@ } else { if (index < 0) { - throw new JXPathException( + throw new JXPathInvalidAccessException( "Index is less than 1: " + asPath()); } Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/BeanPropertyPointer.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/BeanPropertyPointer.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/BeanPropertyPointer.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/BeanPropertyPointer.java Sat Oct 29 14:07:19 2005 @@ -20,7 +20,7 @@ import org.apache.commons.jxpath.JXPathBeanInfo; import org.apache.commons.jxpath.JXPathContext; -import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathInvalidAccessException; import org.apache.commons.jxpath.ri.model.NodePointer; import org.apache.commons.jxpath.util.ValueUtils; @@ -204,7 +204,7 @@ public void setValue(Object value) { PropertyDescriptor pd = getPropertyDescriptor(); if (pd == null) { - throw new JXPathException( + throw new JXPathInvalidAccessException( "Cannot set property: " + asPath() + " - no such property"); } Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/NullPropertyPointer.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/NullPropertyPointer.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/NullPropertyPointer.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/NullPropertyPointer.java Sat Oct 29 14:07:19 2005 @@ -16,7 +16,7 @@ package org.apache.commons.jxpath.ri.model.beans; import org.apache.commons.jxpath.JXPathContext; -import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathInvalidAccessException; import org.apache.commons.jxpath.ri.QName; import org.apache.commons.jxpath.ri.model.NodePointer; @@ -76,7 +76,7 @@ public void setValue(Object value) { if (parent == null || parent.isContainer()) { - throw new JXPathException( + throw new JXPathInvalidAccessException( "Cannot set property " + asPath() + ", the target object is null"); @@ -92,7 +92,7 @@ propertyPointer.setValue(value); } else { - throw new JXPathException( + throw new JXPathInvalidAccessException( "Cannot set property " + asPath() + ", path does not match a changeable location"); Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/PropertyOwnerPointer.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/PropertyOwnerPointer.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/PropertyOwnerPointer.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/PropertyOwnerPointer.java Sat Oct 29 14:07:19 2005 @@ -17,7 +17,7 @@ import java.util.Locale; -import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathInvalidAccessException; import org.apache.commons.jxpath.ri.Compiler; import org.apache.commons.jxpath.ri.QName; import org.apache.commons.jxpath.ri.compiler.NodeNameTest; @@ -128,7 +128,7 @@ + "some other object's property"); } else { - throw new JXPathException( + throw new JXPathInvalidAccessException( "The specified collection element does not exist: " + this); } } Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/PropertyPointer.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/PropertyPointer.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/PropertyPointer.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/beans/PropertyPointer.java Sat Oct 29 14:07:19 2005 @@ -16,6 +16,7 @@ package org.apache.commons.jxpath.ri.model.beans; import org.apache.commons.jxpath.AbstractFactory; +import org.apache.commons.jxpath.JXPathAbstractFactoryException; import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.jxpath.JXPathException; import org.apache.commons.jxpath.JXPathIntrospector; @@ -142,11 +143,8 @@ getPropertyName(), inx); if (!success) { - throw new JXPathException( - "Factory " - + factory - + " could not create an object for path: " - + asPath()); + throw new JXPathAbstractFactoryException("Factory " + factory + + " could not create an object for path: " + asPath()); } } return this; Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dom/DOMNodePointer.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dom/DOMNodePointer.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dom/DOMNodePointer.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dom/DOMNodePointer.java Sat Oct 29 14:07:19 2005 @@ -20,6 +20,7 @@ import java.util.Map; import org.apache.commons.jxpath.AbstractFactory; +import org.apache.commons.jxpath.JXPathAbstractFactoryException; import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.jxpath.JXPathException; import org.apache.commons.jxpath.Pointer; @@ -405,14 +406,9 @@ return it.getNodePointer(); } } - throw new JXPathException( - "Factory could not create a child node for path: " - + asPath() - + "/" - + name - + "[" - + (index + 1) - + "]"); + throw new JXPathAbstractFactoryException( + "Factory could not create a child node for path: " + asPath() + + "/" + name + "[" + (index + 1) + "]"); } public NodePointer createChild(JXPathContext context, Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dynabeans/DynaBeanPropertyPointer.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dynabeans/DynaBeanPropertyPointer.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dynabeans/DynaBeanPropertyPointer.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dynabeans/DynaBeanPropertyPointer.java Sat Oct 29 14:07:19 2005 @@ -20,7 +20,7 @@ import org.apache.commons.beanutils.DynaBean; import org.apache.commons.beanutils.DynaClass; import org.apache.commons.beanutils.DynaProperty; -import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathTypeConversionException; import org.apache.commons.jxpath.ri.model.NodePointer; import org.apache.commons.jxpath.ri.model.beans.PropertyPointer; import org.apache.commons.jxpath.util.TypeUtils; @@ -254,12 +254,10 @@ return TypeUtils.convert(value, type); } catch (Exception ex) { - throw new JXPathException( - "Cannot convert value of class " - + (value == null ? "null" : value.getClass().getName()) - + " to type " - + type, - ex); + String string = value == null ? "null" : value.getClass().getName(); + throw new JXPathTypeConversionException( + "Cannot convert value of class " + string + " to type " + + type, ex); } } } Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dynamic/DynamicPropertyPointer.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dynamic/DynamicPropertyPointer.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dynamic/DynamicPropertyPointer.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/dynamic/DynamicPropertyPointer.java Sat Oct 29 14:07:19 2005 @@ -20,8 +20,10 @@ import org.apache.commons.jxpath.AbstractFactory; import org.apache.commons.jxpath.DynamicPropertyHandler; +import org.apache.commons.jxpath.JXPathAbstractFactoryException; import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathInvalidAccessException; import org.apache.commons.jxpath.ri.model.NodePointer; import org.apache.commons.jxpath.ri.model.beans.PropertyPointer; import org.apache.commons.jxpath.util.ValueUtils; @@ -33,6 +35,9 @@ * @version $Revision$ $Date$ */ public class DynamicPropertyPointer extends PropertyPointer { + + private static final long serialVersionUID = -5720585681149150822L; + private DynamicPropertyHandler handler; private String name; private String[] names; @@ -212,7 +217,7 @@ getPropertyName(), 0); if (!success) { - throw new JXPathException( + throw new JXPathAbstractFactoryException( "Factory could not create an object for path: " + asPath()); } collection = getBaseValue(); @@ -220,9 +225,10 @@ if (index != WHOLE_COLLECTION) { if (index < 0) { - throw new JXPathException("Index is less than 1: " + asPath()); + throw new JXPathInvalidAccessException("Index is less than 1: " + + asPath()); } - + if (index >= getLength()) { collection = ValueUtils.expandCollection(collection, index + 1); handler.setProperty(getBean(), getPropertyName(), collection); Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/jdom/JDOMNodePointer.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/jdom/JDOMNodePointer.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/jdom/JDOMNodePointer.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/model/jdom/JDOMNodePointer.java Sat Oct 29 14:07:19 2005 @@ -19,6 +19,7 @@ import java.util.Locale; import org.apache.commons.jxpath.AbstractFactory; +import org.apache.commons.jxpath.JXPathAbstractFactoryException; import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.jxpath.JXPathException; import org.apache.commons.jxpath.ri.Compiler; @@ -523,15 +524,9 @@ return it.getNodePointer(); } } - throw new JXPathException( - "Factory could not create " - + "a child node for path: " - + asPath() - + "/" - + name - + "[" - + (index + 1) - + "]"); + throw new JXPathAbstractFactoryException("Factory could not create " + + "a child node for path: " + asPath() + "/" + name + "[" + + (index + 1) + "]"); } public NodePointer createChild( Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/util/BasicTypeConverter.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/util/BasicTypeConverter.java?rev=329481&r1=329480&r2=329481&view=diff ============================================================================== --- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/util/BasicTypeConverter.java (original) +++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/util/BasicTypeConverter.java Sat Oct 29 14:07:19 2005 @@ -27,7 +27,8 @@ import org.apache.commons.beanutils.ConvertUtils; import org.apache.commons.beanutils.Converter; -import org.apache.commons.jxpath.JXPathException; +import org.apache.commons.jxpath.JXPathInvalidAccessException; +import org.apache.commons.jxpath.JXPathTypeConversionException; import org.apache.commons.jxpath.NodeSet; import org.apache.commons.jxpath.Pointer; @@ -299,8 +300,8 @@ return converter.convert(toType, object); } - throw new RuntimeException( - "Cannot convert " + object.getClass() + " to " + toType); + throw new JXPathTypeConversionException("Cannot convert " + + object.getClass() + " to " + toType); } protected Object convertNullToPrimitive(Class toType) { @@ -404,9 +405,8 @@ return (Collection) type.newInstance(); } catch (Exception ex) { - throw new JXPathException( - "Cannot create collection of type: " + type, - ex); + throw new JXPathInvalidAccessException( + "Cannot create collection of type: " + type, ex); } } @@ -416,7 +416,8 @@ if (type == Set.class) { return new HashSet(); } - throw new RuntimeException("Cannot create collection of type: " + type); + throw new JXPathInvalidAccessException( + "Cannot create collection of type: " + type); } protected Collection unmodifiableCollection(Collection collection) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]