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



Reply via email to