This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-jxpath.git
commit c05ba079c977d6ee70d9e2e81604f7c4cbe8ec07 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Fri Jun 23 09:58:58 2023 -0400 ValueUtils.setValue() now throws IllegalArgumentException instead of RuntimeException. --- src/changes/changes.xml | 5 ++++- .../java/org/apache/commons/jxpath/util/ValueUtils.java | 17 ++++------------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index d582b7c..6f07cb8 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -88,7 +88,10 @@ The <action> type attribute can be add,update,fix,remove. </action> <action dev="ggregory" type="fix" due-to="Gary Gregory"> JDOMNodePointer.compareChildNodePointers() now throws IllegalStateException instead of RuntimeException. - </action> + </action> + <action dev="ggregory" type="fix" due-to="Gary Gregory"> + ValueUtils.setValue() now throws IllegalArgumentException instead of RuntimeException. + </action> <!-- ADD --> <action issue="JXPATH-123" dev="mbenson" type="add"> XPath function "ends-with" is not implemented (although "starts-with" is). diff --git a/src/main/java/org/apache/commons/jxpath/util/ValueUtils.java b/src/main/java/org/apache/commons/jxpath/util/ValueUtils.java index 843715a..ecee382 100644 --- a/src/main/java/org/apache/commons/jxpath/util/ValueUtils.java +++ b/src/main/java/org/apache/commons/jxpath/util/ValueUtils.java @@ -478,23 +478,15 @@ public class ValueUtils { final PropertyDescriptor propertyDescriptor, final int index, final Object value) { if (propertyDescriptor instanceof IndexedPropertyDescriptor) { try { - final IndexedPropertyDescriptor ipd = - (IndexedPropertyDescriptor) propertyDescriptor; + final IndexedPropertyDescriptor ipd = (IndexedPropertyDescriptor) propertyDescriptor; final Method method = ipd.getIndexedWriteMethod(); if (method != null) { - method.invoke( - bean, - Integer.valueOf(index), - convert(value, ipd.getIndexedPropertyType())); + method.invoke(bean, Integer.valueOf(index), convert(value, ipd.getIndexedPropertyType())); return; } } catch (final Exception ex) { - throw new RuntimeException( - "Cannot access property: " - + propertyDescriptor.getName() - + ", " - + ex.getMessage()); + throw new IllegalArgumentException("Cannot access property: " + propertyDescriptor.getName() + ", " + ex.getMessage()); } } // We will fall through if there is no indexed read @@ -506,8 +498,7 @@ public class ValueUtils { setValue(bean, propertyDescriptor, value); } else { - throw new RuntimeException( - "Not a collection: " + propertyDescriptor.getName()); + throw new IllegalArgumentException("Not a collection: " + propertyDescriptor.getName()); } }