[root]/proposal/myrmidon/src/java/org/apache/myrmidon/components/property
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 19 (100.0%) | 141 (100.0%) | 7.4 |
adammurdoch | 8 (42.1%) | 100 (70.9%) | 12.5 |
darrell | 4 (21.1%) | 21 (14.9%) | 5.2 |
donaldp | 7 (36.8%) | 20 (14.2%) | 2.8 |
zappity zap
0 lines of code changed in:
* Rolled back change to PropertyResolver.resolveProperties(), so that it
uses a TaskContext again. Added some regression tests.
* Changed Embeddor.createWorkspace() to use a Map, rather than a Parameters,
to supply initial workspace properties. Initial properties can be Objects,
rather than only Strings. Got rid of the Object -> String convertion from
<ant> and <antcall>.
* Generalised ExecutionFrame, so that it can represent any execution scope
(root, workspace, project, task, inherited, etc), rather than just task scope:
- Replaced getTaskContext() with getPropertyStore().
- Replaced getTypeManager() with getServiceManager().
* Executor is now responsible for creating TaskContext.
* Changed DefaultExecutor to use the configurer provided by the execution frame.
* Added ExecutionContainer, a lifecycle interface which is used to supply the
root execution frame to a service which executes tasks (directly or indirectly).
* Changed interaction between DefaultEmbeddor and workspaces. Embeddor is now
responsible for creating the base property store for workspaces. ExecutionContainer
is used to pass this to workspaces. Parameterizable is now used to pass
container params to workspaces (which matches how it is used with all the
other services).
34 lines of code changed in:
* Moved PropertyStore to interfaces.property. Left DefaultPropertyStore
where it was.
* Changed PropertyResolver.resolveProperties() to use a PropertyStore,
rather than a TaskContext.
* Changed PropertyStore methods to throw a TaskException.
* Changed contract of PropertyStore.getProperty() to throw exception if the
requested property is not set.
24 lines of code changed in:
final static --> static final to follow JLS recomendations
1 lines of code changed in:
* Added 'property-resolver' role, with 'default'
and 'classic' implementations.
* Ant1CompatProject doesn't instantiate
ClassicPropertyResolver directly.
4 lines of code changed in:
* Changed DefaultPropertyResolver to use the converter to convert from Object -> String.
* Added general purpose Object -> String converter that simply uses Object.toString().
* Reorganised AbstractComponentTestCase, to give sub-classes the opportunity to replace
the default implementation of a component, with a particular implementation.
40 lines of code changed in:
Modifications to Ant1 compatibility layer.
* Completed property hooks, so that the underlying Ant1 project
is not used for setting, getting or resolving properties.
* Made PropertyResolver.resolveProperties()take a TaskContext,
instead of Avalon Context. (We can always split out a generic
interface later, if need be.) Ant1 compatibility layer user
ClassicPropertyResolver, which needs a better name.
* Added modified BuildException, which incudes a Myrmidon-friendly
getCause() method, to allow Ant1 exceptions to be properly cascaded.
* DefaultTaskContext:
- Allow "+" in property names.
- Implemented DefaultTaskContext.getProperties()
- No longer implements avalon Context (not needed)
17 lines of code changed in:
Ran IDEA's optimise imports.
1 lines of code changed in:
Ran IDEAs new audit features across codebase to pick up a few anomalies
2 lines of code changed in:
Project Model:
* Removed "if" and "unless" conditions from targets.
* Moved parsing of "project->target" dependencies out of DefaultWorkspace,
into DefaultProjectBuilder.
* DefaultWorkspace now detects cycles in the target dependency graph.
* DefaultWorkspace now executes the implicit target for referenced projects.
* Changes to DefaultProjectBuilder error reporting.
* Added a few more test cases for DefaultProjectBuilder.
Unit Tests:
* Moved AbstractComponentTest.getLogger() up to AbstractMyrmidonTest.
* Removed AbstractComponentTest.setup(). Components are now created on demand.
* Use BasicLogger in unit tests.
1 lines of code changed in:
Move PropertyResolver and friends into own package hierarchy
17 lines of code changed in: