Looping in the APT devs. Oisin, if STP is
interested in this area, BEA would be happy to demo our “annotation view”-style
property editor support to help you evaluate whether it’s something the
project might use. We’re currently evaluating whether a code donation
makes sense in this area. Knowing that more committers/projects would make use
of it and help test and support it would definitely build momentum behind a
decision to donate.
Jess Garms (cc’ed) is coordinating
this from BEA’s perspective, and can help you further with technical
details, webex sessions to demo, etc.
From: dali-dev-bounces@xxxxxxxxxxx
[mailto:dali-dev-bounces@xxxxxxxxxxx] On
Behalf Of Neil Hauge
Sent: Wednesday, October 11, 2006
8:25 AM
To: Oisin Hurley
Cc: Naci Dai; General Dali EJB ORM
developer discussion.
Subject: [dali-dev] Re: Annotation
Editing
Hi Oisin,
I'm not sure where your annotation support currently is, but I can give you a
brief history of our experience and where we are today. I'm not sure if
you are interested more with the UI related issues, model/JDT issues, or both,
so I'll just touch on everything here.
The annotation editing support in our initial 0.5 release consisted of a custom
View linked to the Java Editor with form based editing of annotations. An
example of this can be seen here - http://www.eclipse.org/dali/viewlets/03-Map_Entities_to_Tables_viewlet_swf.html.
Behind the UI, we are modifying the JDT's AST to accomplish the modification of
annotations and their values. This code can be found here -
/cvsroot/webtools/org.eclipse.jpa/plugins/org.eclipse.dali.core/source in the
package org.eclipse.dali.core.util.jdt.
Now, there are a lot of possible changes on the horizon, and the path is not
clear as to where the UI and model aspects of annotation editing are
headed. For starters, the code written (in core.util.jdt) to modify
annotations in the java source was written with minimal support for annotations
in the JDT. For 3.3, it appears that the JDT team is going to improve the
model support for annotations. Here are a couple of bugs related to this:
79112, 106108.
So, it is possible that our rather complex annotation editing code may be
simplified as a result of these enhancements (in addition to our own
refactoring).
There is also no support for annotation value code completion, which I'm not
sure pertains to your requirements, but there are bugs entered for this as well
if you are interested. On a related note, there is the APT project inside
JDT which provides annotation processor tool support. Up until now, we
haven't needed to integrate with APT, given the functionality currently
provided. We plan to use the APT in the future to provide certain types
of annotation validation.
Another part of our implementation that is likely to change is our custom View
for annotation editing. I wanted the tooling to behave in a more platform
consistent manner, so we have been making a push to use the new Tabbed
Properties view for annotation editing, and have the Java Editor participate in
Tabbed Properties to make this possible. This seemed like a good way to
move to a platform based UI component for a more consistent approach.
Related bugs are: 154781. We have run into some problems here as
well, including some Tabbed Properties issues, but we think this might be our solution for Europa.
In addition, there may be a contribution of a generic annotation editing view
in the future by BEA. This editing view behaves more like a Property
Inspector, and would potentially handle the editing of the annotations in some
way, although I am not sure exactly how this functionality works, as it is
currently still proprietary code.
So, in conclusion, I would say that annotation support has been a very bumpy
road, as it doesn't appear that many have traveled down this road before
us. It would appear that things might be getting a little smoother in the
near future, but there are no guarantees.
With another project interested in annotation support we might be able to push
harder for changes in the platform and JDT to accomodate the needs of
annotation support requirements. Let me know what questions you have and
we can continue this discussion. I would be interested to hear about how
you would like to support annotations.
Neil
Oisin Hurley wrote:
On 11 Oct 2006, at 10:48, Naci Dai wrote:
I want to introduce Oision from STP project.
They have been looking at annotation editing from the perspective of
SCA. Maybe you can share some of your experiences there so far.
Hi Neil
We have also been looking at this from the perspective of JAXWS
web service development. Your experiences would be very valuable
to us as we go on to extend our annotation support.
best regards
Oisin
----
+353 1 637 2639
http://blogs.iona.com/ohurley