Yeah, I'd think we should preserve the 1.4 compatibility for 3.0
Cayenne Persistence API (vs. JPA that is 1.5 by definition).
Personally I hope I'll be off 1.4 in a matter of months on all my
projects, but I am sure lots of users will appreciate us preserving
it for another year or so.
I don't care much for generics personally, but since they are here to
stay, we'll have to make Cayenne generics-friendly at some point, I
just suggest to postpone that decision.
Andrus
P.S. OT - Wonder when Apple releases a decent version of JDK 6 for OS
X that is compatible with Sun JDK 6 final. The current developer
preview Java 6 is just that - a preview and has incompatible API that
makes it impossible to develop on Mac and deploy on any other
platform (at least for the SQL packages that we care about).
On Aug 4, 2007, at 4:12 AM, Aristedes Maniatis wrote:
On 04/08/2007, at 4:07 AM, Kevin Menard wrote:
How much longer is 1.4 going to be the target platform?
Interesting because I am in the middle of a process of taking our
biggest piece of software (around 100,000 lines of code) and
generifying [1] it for 1.5. The decision was made to abandon 1.4
since we will no longer support OSX 10.3 (which only had JDK1.4)
once 10.5 is released later this year.
However Cayenne does need to support a wider range of
possibilities, particularly in conservative server environments
where upgrades are slow to happen. I know that on the servers in
our colo facility we still run 1.4 only because it works nicely
with the installed WebObjects deployments and I don't like touching
things that are working. But upgrades are likely this year for
other reasons.
This process of adding generics to our application has been very
instructive. Our application deals with Lists and Maps of entities
in very many places and so generics make the the code much more
readable and robust. But the weak point is in the lists we get back
from Cayenne (mostly returned from queries) not being typed.
However, if I've learnt something else about this process it is
that Java generics are slippery things. You can't always just add a
couple of <keywords> to your code and be done with it. In some
cases it requires rethinking the API itself to make it work well.
The guy who wrote some of the Collection classes in the JDK thinks
so [2]. And we may need to add some extra class parameters to parts
of the API.
From a personal point of view I'd love to see Cayenne move to 1.5.
It would help with my own work. But I don't know whether that is
the best thing for the product and all its users. Perhaps that
should be focus of 4.0 rather than the 3.0 version which is already
more than halfway to completion.
Ari
[1] is that a word?
[2] http://gafter.blogspot.com/2004/09/puzzling-through-erasure-
answer.html
-------------------------->
Aristedes Maniatis
phone +61 2 9660 9700
PGP fingerprint 08 57 20 4B 80 69 59 E2 A9 BF 2D 48 C2 20 0C C8