[jdom-interest] XPath and Jaxon

Jason Hunter jhunter at servlets.com
Mon Sep 12 21:50:09 PDT 2011


How about you copy the code (into the test area), modify it for the new packages, and write the tests against current baseline.  Then author a new plugin for release.  We can distribute the modified Jaxen code with the test library if we want.  We already distribute the Jaxen library and its license.

-jh-

On Sep 12, 2011, at 7:06 PM, Rolf wrote:

> Hi All.
> 
> I had a look at the Jaxon JDOM plugin, and there are a few things I don't like about it... (not least of which is the headache of having to give attribution, etc/ as part of the license if we copy it). There are also a lot of inefficiencies in the code where it uses long-winded mechanisms for getting JDOM information. Finally, I am finding bugs in the implementation of the DocumentNavigator.
> 
> Given the headache of 'cloning' and 'fixing' the existing Jaxen/JDOM 1.x interface (and getting the right attribution/compliance with the license), it seems to make sense to write our own interface layer, and start fresh.
> 
> I have already started doing that, and it seems to be working OK now (I am working on some more esoteric issues though). It is neater, more logical, and more 'JDOM-like' in it's implementation. It also allows me to write some working jUnit tests
> 
> I have done Jaxon Handlers before for other projects, and it's a (relatively) simple interface to plug JDOM in to. It is also giving me a bunch of ideas for what would be useful in JDOM2.
> 
> This is a deviation from the original plan though, of first doing a full unit-test coverage before making changes.
> 
> It would seem, in general, that it is time for an progress update, but I want to address this issue independently.
> 
> Bottom line is: Current XPath is broken in jdom2. - can't write *any* tests for it. Three options available:
> 1. Get Jaxon to update the jaxon code (slow, and really the 'plugin' is JDOM code, not Jaxon code)
> 2. Copy/clone the Jaxon JDOM handler, fix the bugs, and sort out the deployment/licensing/compliance issues.
> 3. re-implement the interface in a more JDOM-natural way.
> 
> My preference is for 3, but, none of the options allow me to (easily) test the existing code *before* making changes. I am very reluctant to commit any Jaxon-derived code at all until this decision is made, which means the github code would not pass testing....
> 
> So, I think I will tackle the last remaing chunk of code (transforms), and come back to the XPath later.... (Wednesday?)
> 
> Rolf
> 
> On 12/09/2011 12:38 PM, Jason Hunter wrote:
>> It wasn't really discussed.
>> 
>> My guess on why it happened this way is Jaxen was a new project then and decided to provide support for the existing object models rather than ask them to support Jaxen.
>> 
>> -jh-
>> 
>> On Sep 12, 2011, at 2:45 AM, Rolf wrote:
>> 
>>> Indeed, that's the way I see it (and it's also what I am doing to get the testing done.
>>> 
>>> It is also what I see as the 'logical' way it should be done, which is also why I am asking... why was it not done that way first time around?
>>> 
>>> Rolf
>>> 
>>> 
>>> On 12/09/2011 1:52 AM, Thomas Scheffler wrote:
>>>> Am 12.09.2011 02:43, schrieb Rolf:
>>>>> What is the right way to do this migration...?
>>>> 
>>>> Hi,
>>>> 
>>>> as I understand the Jaxen code correctly you have to implement the
>>>> Navigator interface to add support to any library.
>>>> 
>>>> I would conclude that you have to move the JDOM-Jaxen-Code completely to
>>>> JDOM. This way there is no circle dependency anymore and no need to fork
>>>> any version of Jaxen here. As JDOM2 is an different library than JDOM
>>>> and you are free to do this. JDOM2 would than depend on Jaxen and that's
>>>> it.
>>>> 
>>>> regards,
>>>> 
>>>> Thomas
>>>> 
>>>> 
>>>> _______________________________________________
>>>> To control your jdom-interest membership:
>>>> http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com
>>>> 
>>> 
>>> _______________________________________________
>>> To control your jdom-interest membership:
>>> http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com
>> 




More information about the jdom-interest mailing list