geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shiva Kumar H R" <shiv...@gmail.com>
Subject [Discuss] Moving JAXB classes from GEP to G (was Shifting from xmlbean to JAXB in PlanCreator)
Date Tue, 29 Jul 2008 14:15:27 GMT
I too am +1 to moving JAXB classes from Geronimo Eclipse Plug-in (GEP) to
Geronimo (G). That way in addition to GEP, G's deployment system in future,
Plan Creator and may be some others too will reap the benefits of JAXB.

One concern however is about "where should the JAXB classes be moved to?" I
see two ways for this (please correct me if I am wrong here):
A) Move JAXB code into server (
https://svn.apache.org/repos/asf/geronimo/server/trunk/) as a new module or
plug-in and release it along with server.
B) Move JAXB code into specs (
https://svn.apache.org/repos/asf/geronimo/specs/trunk/) and release it
whenever the schema changes. (for ex. I see geronimo-application-2.0.xsd has
not changed across G 2.0, 2.1 & 2.2, however G2.0 had plugins-1.2.xsd, while
G2.1 & G2.2 have plugins-1.3.xsd).

And below is my reasoning to consider Approach-B:
i) GEP has traditionally supported previous releases of G too. For. ex. in
addition to current G2.1 (and its minor versions), GEP also supports G2.0. A
major reason behind this I think is to allow easier porting of applications
from one version to another.
ii) Now, if we move away JAXB classes from GEP and put it into G server
(approach-A), then these JAXB classes will only be available starting from
G2.2 onwards and will probably support only latest version of G schemas. So
how should GEP support previous versions of G servers and G schemas?
iii) If however, we move JAXB classes into G specs and release a new
spec-jar everytime a new version of G schema comes up, then GEP will easily
be able to support multiple versions of G server & G schemas.

-- 
Thanks,
Shiva

On Mon, Jul 28, 2008 at 9:53 PM, David Jencks <david_jencks@yahoo.com>wrote:

> I don't really understand why (2) requires multiple schema version
> compatibility, but I think we need to organize the code this way or move the
> plan creator code to GEP.  We definitely shouldn't have circular
> dependencies between geronimo and GEP.
> thanks
> david jencks
>
> On Jul 27, 2008, at 11:59 PM, Shrey Banga wrote:
>
> I have made all the changes to EAR PlanCreator needed to move to JAXB+DWR.
> But for this to work I need the JAXB jar in PlanCreator. I've attached a
> patch for the minor changes to the JAXB classes needed to make it work with
> DWR. I'd like to know which approach to be used.
>
> If approach 1 is to be used, the JAXB jar has to be published to the maven
> repositories and a dependency has to be added to PlanCreator. Can someone
> explain how to go about it?
>
> Instad if we should directly go for the second approach, is there something
> I can do to hasten the process?
>
> On Thu, Jul 24, 2008 at 6:22 PM, Shrey Banga <banga.shrey@gmail.com>wrote:
>
>> About shifting the PlanCreator to JAXB, I think there can be two
>> approaches:
>>
>> 1. Have a dependency to the jaxb jar present with GEP within PlanCreator
>> itself. This means whatever changes are needed will need to be done in GEP
>> and the jar rebuilt and added to PlanCreator. This is a quick albeit dirty
>> approach.
>>
>> 2. Take out the jaxb classes from GEP and include in Geronimo as say
>> geronimo-jaxb-api_spec and use them in both GEP and PlanCreator. These
>> classes will need to be compatible with multiple versions of the schema,
>> something Sainath has been working on ("Multiple schema version support in
>> GEP"). This approach would help reduce maintenance problems and assist in
>> shifting the deployment system to JAXB as well.
>>
>>
>> On Thu, Jul 24, 2008 at 5:55 PM, Shrey Banga <banga.shrey@gmail.com>
>> wrote:
>>
>>> Hi David,
>>>
>>> I'm currently focusing on the PlanCreator since my internship ends on
>>> 31st July and I already have a few thing on my To-do list :-|
>>> I'll be happy to work on the deployment system once I get back to my
>>> college, if that's ok.
>>>
>>> Thanks,
>>>
>>> On Wed, Jul 23, 2008 at 10:45 PM, David Jencks <david_jencks@yahoo.com>
>>> wrote:
>>>
>>>>
>>>> On Jul 23, 2008, at 4:24 AM, Shrey Banga wrote:
>>>>
>>>>     I had opened a JIRA (GERONIMO-4197<https://issues.apache.org/jira/browse/GERONIMO-4197>)
>>>> which is intended to shift from using xmlbean classes to JAXB classes for
>>>> making the task of PlanCreator easier by exposing the JAXB classes directly.
>>>> I've been able to use this approach to maintain an object of the JAXB class
>>>> 'Application' with javascript and use it to call a function through DWR that
>>>> marshalls it into the deployment plan. Similarly, I'm able to unmarshal the
>>>> plan if it is modified by the user and reflect those changes in the
>>>> PlanCreator.
>>>>     The reason to shift from xmlbean to JAXB in this case was the way
>>>> JAXB classes are organized- by adding just a few lines to dwr.xml, I can
>>>> expose all those classes and use them to maintain a copy of the Application
>>>> object. The same would have been a lot more tedious to configure and
>>>> maintain in xmlbean, considering each class provides more functions and
>>>> factory classes than what is needed by DWR. Earlier, this was being done
by
>>>> creating wrapper classes to the xmlbean which were becoming unmanagable and
>>>> would need heavy maintenance with changes in the schema. I did have to
>>>> modify some JAXB classes to have setters where it had only getters that
>>>> returned live Lists to make it work with the DWR BeanConverter.
>>>>     So now this shift will help reduce a lot of bloated code from
>>>> PlanCreator and improve maintainability. Since GEP already uses these
>>>> classes we can shift the jar to geronimo and add a dependency in GEP and
>>>> PlanCreator for the same.
>>>> Opinions?
>>>>
>>>>
>>>> I think this is great.  Do you have any interest in working on (or just
>>>> helping with) rewriting the deployment system to use the jaxb classes?  That
>>>> would be a lot more work than the plan creator and get much more into
>>>> geronimo internals but would have similar benefits (IMO)
>>>>
>>>> thanks
>>>> david jencks
>>>>
>>>>
>>>>
>>>> --
>>>> Shrey Banga
>>>> Bachelor of Technology, III year
>>>> Department of Electrical Engineering
>>>> Indian Institute of Technology Roorkee
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Shrey Banga
>>> Bachelor of Technology, III year
>>> Department of Electrical Engineering
>>> Indian Institute of Technology Roorkee
>>>
>>
>>
>>
>> --
>> Shrey Banga
>> Bachelor of Technology, III year
>> Department of Electrical Engineering
>> Indian Institute of Technology Roorkee
>>
>
>
>
> --
> Shrey Banga
> Bachelor of Technology, III year
> Department of Electrical Engineering
> Indian Institute of Technology Roorkee
>
>
>

Mime
View raw message