? test/unit/src/org/openide/util/lookup/RecursiveUpdateTest.java Index: src/org/openide/explorer/propertysheet/DefaultPropertyModel.java =================================================================== RCS file: /cvs/openide/src/org/openide/explorer/propertysheet/DefaultPropertyModel.java,v retrieving revision 1.10 diff -r1.10 DefaultPropertyModel.java 64a65,90 > this (bean, findInfo (bean, propertyName)); > } > > /** Creates new DefaultPropertyModel with provided specific > * PropertyDescriptor. This can be useful if one needs to > * set to provide specific attributes to the property editor. > *
>      * PropertyDescriptor pd = new PropertyDescriptor ("myProperty", bean.getClass ());
>      * pd.setPropertyEditorClass (PropertyEditorManager.findEditor (Object.class));
>      *
>      * // special attributes to the property editor
>      * pb.setValue ("superClass", MyProperty.class);
>      *
>      *
>      * model = new DefaultPropertyModel (bean, pd);
>      * panel = new PropertyPanel (model);
>      * 
> * This constructor replaces the default use of BeanInfo and that is why > * simplifies the use of ExPropertyEditors. > * > * @param bean the java bean to be introspected > * @param descr the property descriptor of the property to use > * > * @since 2.4 > */ > public DefaultPropertyModel(Object bean, PropertyDescriptor descr) { 67a94,98 > > this.prop = descr; > this.readMethod = descr.getReadMethod (); > this.writeMethod = descr.getWriteMethod (); > 74a106,110 > } > catch (Exception e) { > ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, e); > } > } 75a112,120 > /** Finds property descriptor for a bean. > * @param bean the bean > * @param name name of the property to find > * @return the descriptor > * @exception IllegalArgumentException if the method is not found > */ > private static PropertyDescriptor findInfo (Object bean, String name) > throws IllegalArgumentException { > try { 79,84c124,125 < if (descr[i].getName().equals(propertyName)) { < prop = descr[i]; < propertyTypeClass = prop.getPropertyType(); < readMethod = prop.getReadMethod(); < writeMethod = prop.getWriteMethod(); < break; --- > if (descr[i].getName().equals(name)) { > return descr[i]; 86a128,134 > throw new IllegalArgumentException ( > "No property named " + name + " in class " + bean.getClass () // NOI18N > ); > } catch (IntrospectionException e) { > IllegalArgumentException newEx = new IllegalArgumentException(); > ErrorManager.getDefault().annotate (newEx, e); > throw newEx; 88,93d135 < catch (Exception e) { < ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, e); < } < < if (prop == null) < throw new IllegalArgumentException(); 95c137 < --- >