The SAX2 helper remains here - I want to do few more improvement and to
keep it in sync with my next proposal ( for TaskFactory )
I'll make a separate proposal for the SAX2 ProjectHelper when it's ready -
it doesn't have to be part of the official ant1.5 ( since we'll need
more discussion/experiments to decide what's the best use of the namespaces )
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271782 13f79535-47bb-0310-9956-ffa450edef68
I only did a small refactoring to change inner classes to static inner classes
and pass explicitely the parameters. This improve the compatibility with jikes,
gcj and possibly other compilers, and is ( IMHO ) cleaner.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271781 13f79535-47bb-0310-9956-ffa450edef68
The default is ProjectHelperImpl, which have the original ( SAX1 ) implementation.
Most of the XML-related code has been removed, the only remaining problem
is the AttributeList that is passed to the introspection helper ( which is
XML and SAX1 specific ). It's easy to pass this by using a AttributeListImpl,
and hopefully the introspection helper will be made less SAX1-specific someday.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271780 13f79535-47bb-0310-9956-ffa450edef68
to the first one, and redo the fixes ).
I fixed the inner class problems, fixed the Attributes->AttributeList conversion.
I also turned the processing from 'implicit' recursive to an explicit
stack. The model is identical with the one used by Axis, and it's much
cleaner and easier to maintain/extend/etc.
Again, I can move back to the first one if anyone has a problem with this
change. I think it's a very good one, but may be too much.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271757 13f79535-47bb-0310-9956-ffa450edef68
The compiler is required to 'rewrite' the code, removing 'private' and
adding an extra parameter ( try to decompile ProjectHelper and look
at method signatures ). While standard javac seem to work fine, I had
problems with many other compilers ( usually gcj, but now jikes is
complaining as well ).
I manually did what the compiler would do - now it should work
with any compiler.
( the runtime exception was a "Verifier error, expecting object/array on stack" )
I'll do the same thing for the SAX2 helper.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271756 13f79535-47bb-0310-9956-ffa450edef68
XML DTDs. This allows such info to be shared among a number of different
tasks such as XMLValidate, ejbjar, style, etc.
Also checkstyle cleanup of the affected files.
Submitted by: dIon Gillard <dion@multitask.com.au>
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271745 13f79535-47bb-0310-9956-ffa450edef68
Note that it already had dependencies on SAX2 interfaces, but the original
helper worked with SAX1 parsers too. This one will only work with SAX2.
IMHO SAX2 should be the default, and the old one should be kept
around for backward compat or special cases.
The parser is not using the namespace in any way - it'll use the
RoleFactory plugin to allow use of the namespace in task creation.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271736 13f79535-47bb-0310-9956-ffa450edef68
I used the current sources ( with the new comments), and reimplemented
all changes.
The current version doesn't have anything related with the other proposals,
and is functionally equivalent with the old ProjectHelper - except it's
cleaner ( all private and SAX code moved to the helper imple ).
I created a new package, o.a.t.ant.helper to keep the core cleaner -
other helpers may be commited.
The SAX2 based helper is easy to write, but depends on few improvements
on RoleFactory ( createTask with namespace support, etc ).
I'm working on a new implementation of the task factory, with support
for data types and other roles - but that's another story.
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271735 13f79535-47bb-0310-9956-ffa450edef68