On Monday, October 13, 2003, at 05:46 PM, Andriy Shapochka wrote:
> Hi everybody,
> "Cayenne Data Views" - new addition to our Cayenne framework is
> sandboxed in the Cayenne Sandbox under name 'andriy'. In short, it is
> intended to close the gap between Cayenne Data Domain layer and
> presentation layers based on Swing. While this is work in progress, at
> its early stages, to be exact, it seems to be ripe enough for review
> by the members of the Cayenne developer's community. Everybody who is
> interested in this side of the "Moon" - development of rich Java
> clients with Cayenne is absolutely welcome to the discussion of this
> subproject. Please see the illustrated introduction in
> sandbox/andriy/dataview/doc/dataview.pdf. The code is still poorly
> documented, so this pdf is the most convenient source of information
> about the library. Once an acceptable level of maturity is archived by
> the library it will be merged with the main Cayenne trunk.
I finally got a chance to read the document and browse through the
code. I am very excited about having dataview framework in Cayenne.
Having mixed experience with Swing in the past, I really appreciate
having a framework that defines a common pattern for all the
application screens, and reduces mechanical copy/paste from screen to
screen (this is why I like Scope that we started using in the Modeler).
I can already see at least 2 projects where dataview package can be
useful for me personally (one being CayenneModeler itself). While I am
not ready for any serious technical comments until I start using the
framework (other than the fact that I liked everything I saw in the
code and the docs :-)), here is a few random ideas, mostly about
tighter integration with Cayenne:
1. EventDispatcher. Any reason why you are not using EventManager from
cayenne.event package? I can name a few myself :-), but we are (will
be) working on fixing those. Don't know if you remember this recent
2. DataObjectUtils. This will likely become a part of DataObject
itself. E.g. CayenneDataObject already has "readNestedProperty" method
that allows retrieving both persistent and non-persistent properties
and span relationships (though until 1.0.1 it had a bug in reading
non-persistent properties). I think it would make sense to define such
method in DataObject interface, and add something for "write..". I
guess we switch from DataObjectUtils once we do that.
3. Data View Modeler. Oh, this is beautiful... GUI tools is definitely
what makes Cayenne to stand out of the crowd. Do you see any
possibility to make it a part of CayenneModeler, instead of a separate
application? If this means making the rest of the modeler look as slick
as the screenshots you have, I am all for it :-). If the two apps are
just too far apart in architecture, I wonder if we could at least
create a single workbench app serving as a launcher of both tools. The
idea is to make it simple for the users...
4. Validation. You may have seen the patch from Vabricio for
It is not applied yet, but it is going to be soon. I wonder if dataview
validation can be integrated with this somehow?
This archive was generated by hypermail 2.0.0 : Thu Oct 16 2003 - 18:08:14 EDT