[root]/proposal/myrmidon/src/main/org/apache/tools/ant/types/converters
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 5 (100.0%) | 5 (100.0%) | 1.0 |
donaldp | 4 (80.0%) | 5 (100.0%) | 1.2 |
adammurdoch | 1 (20.0%) | 0 (0.0%) | 0.0 |
zappity zap
0 lines of code changed in:
Replaced usage of Avalon Context with Myrmidon specific Context:
* Moved read-only property and resolve methods from TaskContext to new Context
interface. TaskContext now extends the new Context interface.
* Changed the Configurer methods to use the new Context. Both implementations
use the supplied Context to do property resolution.
* Renamed TaskContext.getPropertys() -> getProperties().
* Moved PropertyUtil from configurer to workspace package, as that is now
the only place it is used.
* Changed PropertyUtil to work with the new Context.
RoleManager:
* A default implementation for a role can now be specified. Currently
can only do this programatically.
DefaultMasterConverter:
* Removed MasterConverter interface. It is now identified by the Converter
role.
* Now caches the converter instances.
* Changed the converter search algorithm to traverse the *source* class
hierarchy, including all interfaces. Chooses the most specialised
conversion, and fails if there is more than one such choice.
DefaultConfigurer:
* Attempts to convert references, if the type does not match the expected type.
* Changed handling of nested elements, for named adders/setters:
* If the method type can be mapped to a role, and that role has a default
implementation, then use that default implementation.
* Otherwise, if the method type is an interface, fail.
* Otherwise, create an instance using no-args constructor.
* Changed handling of nested elements, for typed adders/setters:
* If the method type can be mapped to a role, and the element name is
a type of that role, then use that role to create the instance.
* Otherwise, use the type factory for the generic data-type role.
* Attempt to convert the instance if it is not of the expected type.
* Added a bunch of test cases for new functionality.
* Renamed all the ConfigTest classes to have descriptive names.
Misc:
* Renamed package framework.factorys -> framework.factories.
* Made tests work when fork = false.
0 lines of code changed in:
Moved Converter architecture into aut hierarchy as it is completely decoupled from rest of ant
2 lines of code changed in:
Generalized the converter architecture by making the "context" a raw object that can be cast for the needs of a specific project
Thus converters are now independent of ant and avalon
1 lines of code changed in:
The attached patch makes <path> useable as a data-type in myrmidon.
* Added a String -> Path converter.
* Added the appropriate declarations to ant1-ant-descriptor.xml.
* PathLocation is now only used internally by Path. This means a <path> may
not contain nested <pathlocation> elements any more. Nested <path> elements
can be used to do the same thing.
* Removed Path.systemClasspath and Path.concatSystemClassPath(). The goal
is to add specialised <systemclasspath>, <antruntime>, and <javaruntime>
data-types to control this explicitly. I left it unfinished, because the
as-yet-unwritten Java util stuff will determine how it should be done.
* Moved Path.addExtdirs() -> DefaultCompilerAdaptor. This was the only
place it was used.
* Cleaned out a few more Path createX() methods.
2 lines of code changed in: