I've started working on a small project which is looking for an open
source home and a friendly community, so OPS4J would be a natural choice :-)
The working title is XVisitor: this is going to be a plugin for the xjc
code generator to enrich the JAXB model generated from an XML schema so
that users can work with the Visitor pattern on this model.
A similar project is http://code.google.com/p/jaxb-visitor - I'm
currently using a patched version of this in some of my daytime
projects, and based on that experience, there's couple of things I would
like to do differently:
* Support mixed content
* No separation of Visitor and Traverser.
(I do appreciate the design goal of this, but in practice I find myself
writing too much boilerplate code for theoretical flexibility that I
don't actually need)
* Not just a single visit() method, but enter() and leave() methods for
each model class, which are called before and after traversing the child
elements of the current node.
* The visitor methods have a return type of VisitorAction, an enum with
values CONTINUE, SKIP and TERMINATE, which allow the user to skip a
subtree or terminate the traversal prematurely.
There is no relation to OSGi, so this project would not be part of the
Pax family. In my sandbox, I'm currently using a package name
org.ops4j.xvisitor and a Maven reactor inheriting from
org.ops4j:master:2.0.0, with two modules, one for the plugin and one for
integration tests.
Potential hosting alternatives to OPS4J include jaxb2-commons.java.net
and Google Code. jaxb2-commons might be the natural fit at first sight,
but it doesn't seem to be very active, the procedure of releasing to
Maven central is not clear, there is no CI server, and I'm not really
keen on getting familiar with yet another OSS platform.
Google Code is what I use for other projects. Biggest plus: Mercurial.
Minuses: No CI server, no community, no automatic push to Maven central.
OPS4J pluses: Great community, low barriers, JIRA, Confluence, Hudson,
Sonatype OSS and Maven Central integration. Minus: Git.
Oh well, if Git is the only price I have to pay for all the rest, then I
don't really mind ;-)
Best regards,
Harald
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general