I have recently spent some time with the Spring RCP framework and can only say that it looks very interesting and promising.
I played with the PetClinic example for a few hours and actually managed to convert the OwnerView into using a table instead of a tree without too much hassle, so it must be good! :-)
However, the lack of documentation and examples makes it a real challenge grasping even core consepts like Page and View and their roles. According to the User Document (http://opensource.atlassian.com/conf...+Documentation) "Each ApplicationPage is defined by one or more dockable Views placed in different sections of the page area (left, bottom, center, etc)
I'm having real probles seeing where I can add different Views to a page. From the PetClinic example I can identify the OwnerView and VetView, but it seems to me they are added to different Page's ? At least I can't see how the can be shown at the same time in one page.
Having programmed Swing for a year or two, mainly with CRUD-like admin-applications I really need a Master-Detail look on things and have also developed my own tiny little framework that provides this in a simple way.
For example, I can have a tree view for Customers in the left side and their Orders in a table to the top right and their OrderLines at the bottom right, all separated by splitpanes.
The views are organized in a hirearchical structure so that selecting a Customer in the tree will show the corresponding Orders in the Order's table in the top-right table. Likewise, selecting different Order's will show the correct OrderLine's in the bottom right view.
In effect, the View's are related to each other in a one-to-many relationship exactly like the corresponding domain model shows and when a parent object is selected, sub-views are notified and can retrieve the corresponding objects using the key of the parent object.
I can't find any support for this in Spring RC. Having searched the doc and this forum the closest I have come is some advice that one can:
- create a splitpane in a View and add the different components there, but this means that the realtionship between the "sub-views" are not handled by the framework at all
- write a separate PageDescriptor that adds more than one view, but I really can't see how these can cooperate without me adding all the code for it. Again, no support for this in the current framework?
One question here: is it possible to wire up Views in the bean descriptors? I see from the PetClinic example that the views are wired up to the Clinic bean, but could I also wire up the OwnerView to the VetView, or more logically a OwnerView to a PetView (if there was one) since these have a 1:M relationship (I guess one can own more that one pet!)?
This would give me the relationship I needed between the views, but I am still lost as how to show them in the same Page in an orderly fashion (prefferably a splitpane).
Ok, this was a lot! Hope it makes som sense and that someone can point me in the right direction.
Apart from the things mentioned here I see a lot of interesting features in Spring RPC so please keep ut the good work!
PS: The User Documentation referes to "ApplicationPageLayoutBuilder" on page http://opensource.atlassian.com/conf...TheApplication, but I can't find that class anywhere in the source.