From: Keith D. <kd...@su...> - 2004-08-26 05:08:25
|
Yea... I just did some more detailed tests and there are definitely some issues - so let's just call it initial support for now;-)... but besides the notification chaining, things seem to be working nicely... Keith -----Original Message----- From: spr...@li... [mailto:spr...@li...] On Behalf Of Keith Donald Sent: Thursday, August 26, 2004 12:19 AM To: spr...@li... Subject: [Springframework-rcp-dev] RE: [Spring-rich-c-cvs] spring-richclient/src/org/springframework/richclient/forms SwingFormModel.java,1.26,1.27 I just committed initial support for nested property access strategies; specifically to support binding nested properties to a single form model, to better support a fine-grained domain model. Test cases exercised in my existing application all pass; I pushed to get this in today so I haven't yet had time to fully test the new features, so feel free to bang away... (in general this code can get kind of tricky) Basically, I extracted a lot of reusable code from BeanWrapper, and it is now part of BeanPropertyAccessStrategy. It makes sense to factor out a base AbstractPropertyAccessStrategy at some point, to make it easier to support additional domain object strategies (for example, hashmap, rowset.) As soon as we get that all flushed out Juergen and I are going to see how we can leverage the common code most effectively (obviously copying-and-pasting from bean wrapper is bad, but it's the safest thing to do now.) So, in essence, doing this: formModel.createBoundControl("address.city.name"); getValueModel("address").setValue(newAddress); ... should cause the city and city.name, and any other nested properties underneath address to receive value change notifications and refresh. Basically a hierarchy of access strategies exists for each nested level; and children subscribe to their parents for changes. So for example, changing address should cause it to fire, which should cause city to fire, which should cause name to fire, which should call all gui controls bound to name to refresh... Keith -----Original Message----- From: spr...@li... [mailto:spr...@li...] On Behalf Of Keith Donald Sent: Thursday, August 26, 2004 12:02 AM To: spr...@li... Subject: [Spring-rich-c-cvs] spring-richclient/src/org/springframework/richclient/forms SwingFormModel.java,1.26,1.27 Update of /cvsroot/spring-rich-c/spring-richclient/src/org/springframework/richclient/ forms In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8106/src/org/springframework/richcl ient/forms Modified Files: SwingFormModel.java Log Message: polishing; support for multiple message keys for label message resolution; nested property access strategy support for a single form model (needs tests!!!) Index: SwingFormModel.java =================================================================== RCS file: /cvsroot/spring-rich-c/spring-richclient/src/org/springframework/richclient/ forms/SwingFormModel.java,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** SwingFormModel.java 24 Aug 2004 08:17:33 -0000 1.26 --- SwingFormModel.java 26 Aug 2004 04:01:45 -0000 1.27 *************** *** 276,280 **** MutablePropertyAccessStrategy strategy = (MutablePropertyAccessStrategy)getPropertyAccessStrategy(); PropertyAdapter adapter = new PropertyAdapter(strategy ! .newNestedAccessor(parentValueHolder), childProperty); return adapter; } --- 276,280 ---- MutablePropertyAccessStrategy strategy = (MutablePropertyAccessStrategy)getPropertyAccessStrategy(); PropertyAdapter adapter = new PropertyAdapter(strategy ! .newPropertyAccessStrategy(parentValueHolder), childProperty); return adapter; } *************** *** 514,518 **** protected JCheckBox createNewCheckBox(String labelKey) { return getComponentFactory().createCheckBox( ! labelKey + "." + CHECK_BOX_LABEL_SUFFIX); } --- 514,519 ---- protected JCheckBox createNewCheckBox(String labelKey) { return getComponentFactory().createCheckBox( ! new String[] { labelKey + "." + CHECK_BOX_LABEL_SUFFIX, ! labelKey }); } ------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 _______________________________________________ spring-rich-c-cvs mailing list spr...@li... https://lists.sourceforge.net/lists/listinfo/spring-rich-c-cvs ------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 _______________________________________________ Springframework-rcp-dev mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-rcp-dev |