[root]/proposal/myrmidon/src/test/org/apache/myrmidon/components/configurer
data
(0 files, 0 lines)
test
(0 files, 0 lines)
data
(0 files, 0 lines)
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 86 (100.0%) | 792 (100.0%) | 9.2 |
adammurdoch | 25 (29.1%) | 417 (52.7%) | 16.6 |
donaldp | 61 (70.9%) | 375 (47.3%) | 6.1 |
zappity zap
0 lines of code changed in:
TypeManager changes:
* Reverted TypeManager to reference roles by name, rather than type.
* DefaultTypeManager now uses the RoleManager to determine a role's type, to
use for doing instanceof checks.
* DefaultMasterConverter, InstantiatingServiceManager, and VfsManager no
longer look up a TypeFactory in their service() method.
* Added ROLE field to several interfaces.
6 lines of code changed in:
Configurer.configure -->
Configurer.configureElement + Configurer.configureAttribute
12 lines of code changed in:
Push logging methods into TaskContext.
1 lines of code changed in:
Touchups.
39 lines of code changed in:
Continued to refactor tests so that they are easier to maintain
104 lines of code changed in:
restyle via IDEA
5 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.
188 lines of code changed in:
Removed AntServiceManager:
* Renamed DefaultAntServiceManager to InstantiatingServiceManager. This
implementation now sets-up the service factories and service instances
(log enable, service, parameterise, initialise).
* Rearranged the service heirarchy, so that services deployed from a
service descriptor are visible in the root context (passed to workspaces
and project builders).
* Service factories are registered using the role name, not the role class name.
* Added unit tests for InstantiatingServiceManager.
Changes to DefaultConfigurer error messages:
* All exceptions thrown by DefaultConfigurer indicate which configuration
element the error happened in.
* Updated DefaultConfigurer test cases, to check nested error messages
where appropriate.
33 lines of code changed in:
Changes to RoleManager:
* A class may now be explicitly associated with a role, rather than being
implicit in the role name.
* Added RoleInfo to bundle up role meta-info.
* Reworked the methods of RoleManager.
* Added test-cases for DefaultRoleManager.
* Make tests compile again.
33 lines of code changed in:
Rename myrmidons ServiceManager stuff to AntServiceManager
Refactored the codebase to use Avalons ServiceManager rather than ComponentManager. The reason for this is that the ComponentManager required that contained objects implement the Component interface while the ServiceManager constructs do not have this requirement.
This makes it much easier to extract parts of Myrmidon without any dependency on Ant/Avalon
3 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:
Update to latest converter architecture
1 lines of code changed in:
* DefaultTaskContext now uses a ServiceManager to locate services, rather than
a ComponentManager. Currently all components are also exposed as services.
* Some tidy up to DefaultExecutionFrame and DefaultWorkspace.
1 lines of code changed in:
Changes to DefaultConfigurer:
* Uses the DataType role when creating instances for interface properties,
rather than using the interface itself as the role.
* Added ObjectConfigurer.getTypedProperty(). This replaces the implicit
behaviour in DefaultObjectConfigurer.getProperty() where the typed
property was returned for an unknown property name.
* Typed properties are set using attributes and references, with the
property's interface role shorthand name. Previously, the DefaultConfigurer
would attempt to set the typed property for any unknown attribute or
reference name.
* Can have a set() method for a typed property, rather than an add() method.
Same semantics as setX() and addX() methods.
* Added a several more test cases.
136 lines of code changed in:
Rename ComponentTestBase to AbstractComponentTest and make AbstractComponentTest abstract.
2 lines of code changed in:
* Added TypeDefinition and sub-classes, which are passed to TypeDeployer to
explicitly deploy a type. These replace the multi-arg deployX() methods.
* ConverterDef now sub-classes AbstractTypeDef.
* Changed AbstractTypeDef to use TypeDefinition objects, and to configure
them using the configurer. Removed all setX() methods from AbstractTypeDef
and sub-classes.
* Added some units tests for DefaultDeployer.
* Moved component set-up from DefaultConfigurerTest -> super class.
17 lines of code changed in:
Got rid of some detail from an error message, so that the mesage
is independent of the method introspection order. This is to get
the unit tests to pass with the IBM JVM.
1 lines of code changed in:
Allow typelibs to define custom roles:
* Add TypeDeployer interface, which allows control over the deployment of
types from a typelib.
* Add RoleManager.addNameRoleMapping().
* TypeManager methods now take a role Class object, rather than role name.
* Replace implicit role and type deployment in DefaultRoleManager.initialize()
and DefaultDeployer.initialize() with explicit createDeployer( ClassLoader )
method.
* DefaultDeployer now keeps track of the ClassLoader created for each typelib.
* Moved all ClassLoader creation to DefaultDeployer, for the time being.
* ConverterDef and AbstractTypeDef now use Deployer, rather than
deploying manually.
* Fixed DefaultMasterConverter for the case where destination is an interface,
and there is no appropriate converter registered.
2 lines of code changed in:
Test Configurable objects are handled correctly
19 lines of code changed in:
(6 more)