beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "daryoush mehrtash (JIRA)" <beehive-...@incubator.apache.org>
Subject [jira] Updated: (BEEHIVE-844) J2SE Annotations under JDK1.4 for WSM
Date Wed, 06 Jul 2005 16:27:10 GMT
     [ http://issues.apache.org/jira/browse/BEEHIVE-844?page=all ]

daryoush mehrtash updated BEEHIVE-844:
--------------------------------------

    Attachment: daryoush-sandbox.zip

Dims,

This was a great find.  It would be interesting if we get the
annotations to work in 1.4.

To see how this would work for WSM, I tried to build WSM's object
model based on the ASM API and your sandbox work.   The idea is that
once I have the object model built we can use all our existing runtime
code without any modification.  So far we have built the model based
on Reflection, and APT.  I was interested to know if we can do the
same with ASM.

The good news is that it is working, except a few issues that I listed below.

The code I have here is my Eclipse project. To get it to work you need
to define "BEEHIVE_DIST_HOME" constant.  Configure it to point to  the
base beehive distribution.

To run the code, run the   "sandbox.WsmRunner"   and it would do the
same thing as your Runner class, except it does it based on our object
model (enforces 181 rules and defaults)

The interesting feature in the code that I have:

•       The WsmRunner.getObjectModel  first looks for the ".ser" file (which
you would have had if you had done an APT) in the path, if none is
found then it builds the object model based on the class information
using ASM.    This way we can merge the code to our
AnnotatedWebServiceDeploymentHandler so that it works as before with
1.5 annotations.

Changes I made to the  your sandbox:

•       I am not using the compile class laoder, I use the compiled classes
as we would have in Axis.
•       I am using a dynamic proxy to implement the Annotation interfaces.
•       I added wsm/asm package which implements the Info classes for the
object model based on the ASM.



Problems:

•       Defaults are not handled properly.  The problem is that the dynamic
proxy doesn't have the default setting from the annotation..   This
would be an easy fix as we can program this into the dynamic proxy.
•       Enumerations as in SoapBinding.Style, SoapBinding.Use, and
webParameter..mode is not handled.
•       We are not yet 1.4 compatible, the problem is that WSM does use 1.5
features itself.  We would need to change this at least in the Runtime
portion of the WSM.

Based on this prototype my conclusion is that we have few issues to
solve but we can move to ASM.

> J2SE Annotations under JDK1.4 for WSM
> -------------------------------------
>
>          Key: BEEHIVE-844
>          URL: http://issues.apache.org/jira/browse/BEEHIVE-844
>      Project: Beehive
>         Type: New Feature
>   Components: Web Services (181)
>     Reporter: Davanum Srinivas
>  Attachments: daryoush-sandbox.zip, jam.zip
>
> Here's some code using a patched commons-jci, eclipse JDT and ASM. that can compile java
source files with JSR 181 annotations using a CompilingClassLoader and then some code to traverse
the annotations (compile and load all in JDK1.4)
> -- dims

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message