You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mb...@apache.org on 2008/02/02 21:29:34 UTC
svn commit: r617884 -
/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathBasicBeanInfo.java
Author: mbenson
Date: Sat Feb 2 12:29:31 2008
New Revision: 617884
URL: http://svn.apache.org/viewvc?rev=617884&view=rev
Log:
avoid error due to calling getBeanInfo(Object.class, Object.class)
Modified:
commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathBasicBeanInfo.java
Modified: commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathBasicBeanInfo.java
URL: http://svn.apache.org/viewvc/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathBasicBeanInfo.java?rev=617884&r1=617883&r2=617884&view=diff
==============================================================================
--- commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathBasicBeanInfo.java (original)
+++ commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/JXPathBasicBeanInfo.java Sat Feb 2 12:29:31 2008
@@ -73,27 +73,32 @@
public synchronized PropertyDescriptor[] getPropertyDescriptors() {
if (propertyDescriptors == null) {
- try {
- BeanInfo bi = null;
- if (clazz.isInterface()) {
- bi = Introspector.getBeanInfo(clazz);
+ if (clazz == Object.class) {
+ propertyDescriptors = new PropertyDescriptor[0];
+ }
+ else {
+ try {
+ BeanInfo bi = null;
+ if (clazz.isInterface()) {
+ bi = Introspector.getBeanInfo(clazz);
+ }
+ else {
+ bi = Introspector.getBeanInfo(clazz, Object.class);
+ }
+ PropertyDescriptor[] pds = bi.getPropertyDescriptors();
+ PropertyDescriptor[] descriptors = new PropertyDescriptor[pds.length];
+ System.arraycopy(pds, 0, descriptors, 0, pds.length);
+ Arrays.sort(descriptors, new Comparator() {
+ public int compare(Object left, Object right) {
+ return ((PropertyDescriptor) left).getName().compareTo(
+ ((PropertyDescriptor) right).getName());
+ }
+ });
+ propertyDescriptors = descriptors;
}
- else {
- bi = Introspector.getBeanInfo(clazz, Object.class);
+ catch (IntrospectionException ex) {
+ ex.printStackTrace();
}
- PropertyDescriptor[] pds = bi.getPropertyDescriptors();
- PropertyDescriptor[] descriptors = new PropertyDescriptor[pds.length];
- System.arraycopy(pds, 0, descriptors, 0, pds.length);
- Arrays.sort(descriptors, new Comparator() {
- public int compare(Object left, Object right) {
- return ((PropertyDescriptor) left).getName().compareTo(
- ((PropertyDescriptor) right).getName());
- }
- });
- propertyDescriptors = descriptors;
- }
- catch (IntrospectionException ex) {
- ex.printStackTrace();
}
}
return propertyDescriptors;