Jump to: navigation, search

Difference between revisions of "New Help for Old Friends II"

(initial transition help page)
 
(Some API's changed to use Java 5 Generics)
Line 17: Line 17:
  
  
== Some API's changed to use Java 5 Generics ==  
+
== Some methods changed to use Java 5 Generics ==  
  
 
This can be a perfectly transparent transition to make, but, there are various ways to react:  
 
This can be a perfectly transparent transition to make, but, there are various ways to react:  
 
# clients can set their compiler to compile to the 1.4 spec, in which case, all is transparent (but do not get the extra compile time checking that generics provide).  
 
# clients can set their compiler to compile to the 1.4 spec, in which case, all is transparent (but do not get the extra compile time checking that generics provide).  
 
# clients can compile to Java 5, and then do a bunch of quick fixes to add casts, quick and easy, but also hides the advantage of compile time checking.  
 
# clients can compile to Java 5, and then do a bunch of quick fixes to add casts, quick and easy, but also hides the advantage of compile time checking.  
# clients that want to compile to Java 5 can actually change their code to use the proper types in the Collections so that they will get compile time errors, if the wrong type is ever used accidentally.  
+
# clients that want to compile to Java 5 can actually change their code to use the proper types in the Collections so that they will get compile time errors, if the wrong type is ever used accidentally.
  
 
== Breaking changes related to Dnd ==  
 
== Breaking changes related to Dnd ==  

Revision as of 04:19, 13 February 2007

This page to to collect miscellaneous notes and pointers to changes coming up in the WTP 2.0 (Europa) release. Its purpose it to be a central "jump off" point for those adopters of WTP 1.5, that are moving to WTP 2.0. Most of this information may be already contained in various mailing lists and bugzilla's, but ... we thought it best if there as a central place to get people started.

Adopters: if you run into trouble or notice things that are not covered here, please let us know (wtp-dev@eclilpse.org is a good place). This will not only help us keep this list up to date, but will help us better learn, over time, the discipline of "platform development" and help make sure we learn to provide compatible API's, migration instructions, etc., in the future. [ It isn't always easy, but our intent is to make it as simple and painless as possible for adopters to use WTP as a true platform.

One thing we've learned in the past is that some don't adopt every version ... some early adopters went from 0.7 directly to 1.5, for example. Unfortunately, it's hard for us to present the information in that way, covering perhaps multiple changes, but hopefully as we develop these for each release, they will all flow together to aide all adopters.

Note: as these notes develop and grow in number, they may occasionally be re-organized into categories, etc.

Version Changes

Often, adopters will have to increase the version per-req ranges to match. This is easiest to do by loading WTP as part of your PDE target and see what breaks. Also, for a bit of peek ahead, we list versioning information with each build. See for the M4 Build page for an example of "Versioning Information".


Classloading Behavior

There's some changes with OSGI classloading that I _think_ we've protected adopters from ... but, is still something Adopters should watch out for. One typical symptom would be to see Classcast Exceptions from "dom.Node" to "dom.Node". See | bug 167695 for details.


Some methods changed to use Java 5 Generics

This can be a perfectly transparent transition to make, but, there are various ways to react:

  1. clients can set their compiler to compile to the 1.4 spec, in which case, all is transparent (but do not get the extra compile time checking that generics provide).
  2. clients can compile to Java 5, and then do a bunch of quick fixes to add casts, quick and easy, but also hides the advantage of compile time checking.
  3. clients that want to compile to Java 5 can actually change their code to use the proper types in the Collections so that they will get compile time errors, if the wrong type is ever used accidentally.

Breaking changes related to Dnd

There's some changes with platform text DnD that I _think_ only effects source editors. We are not not sure yet of effects on multipage editors).