Directory proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/

Directory Created:
2001-05-28 12:28
Directory Deleted:
2002-04-17 10:49
Total Files:
0
Deleted Files:
4
Lines of Code:
0

Browse with ViewVC

[root]/proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor

Lines of Code

proposal/myrmidon/src/java/org/apache/myrmidon/components/embeddor/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
Totals 80 (100.0%) 989 (100.0%) 12.3
donaldp 59 (73.8%) 668 (67.5%) 11.3
adammurdoch 19 (23.8%) 309 (31.2%) 16.2
darrell 1 (1.3%) 8 (0.8%) 8.0
sbailliez 1 (1.3%) 4 (0.4%) 4.0

Most Recent Commits

donaldp 2002-04-17 10:49

zappity zap

0 lines of code changed in:

adammurdoch 2002-04-09 07:21

Changed container config from Parameters to Context, to allow Objects to

be used in the config:



* All services that used to implement Parameterizable now implement Contextualizable.



* Changed 'myrmidon.home' to a File, and the paths to File[].



* DefaultEmbeddor now deploys Antlibs from all directories in 'myrmidon.lib.path',

rather than just a single dir. Can't specify alternative service

implementations (temporarily broken).



* Added 'myrmidon.antlib.path', which DefaultWorkspace uses to search for <import>-ed

antlibs.



* Replaced --task-lib-dir with --antlib-path, which appends directories to

'myrmidon.antlib.path'



* Added --ext-path, which appends directories to 'myrmidon.ext.path'.



* DefaultClassLoaderManager now uses the container config to locate the shared

classloader, rather than using the context classloader.

32 lines of code changed in:

adammurdoch 2002-04-09 02:26

* 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).

54 lines of code changed in:

adammurdoch 2002-04-08 10:45

* 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.

4 lines of code changed in:

adammurdoch 2002-04-07 02:23

Was not cleaning-up the services.

1 lines of code changed in:

adammurdoch 2002-04-03 10:58

ClassLoader hierarchy changes:



* Use multi-parent ClassLoaders for antlibs and extensions, so that each

extension jar is loaded by a single ClassLoader in the hierarchy. Allows

classes from extensions to be shared across dependent antlibs and extensions.



* Changed contract of ClassLoaderManager.createClassLoader( File[] ), so that

it creates a new ClassLoader each time it is called.



* Changed ExtensionManager, so that it no longer extends PackageRepository.



* Added a few test cases for DefaultClassLoaderManager.



* Moved responsibility for checking myrmidon.home and building the various paths,

from DefaultEmbeddor and DefaultExtensionManager to EmbeddedAnt. Use the

platform path separator for the paths, rather than the | char.



* Use EmbeddedAnt in AbstractProjectTest, rather than using an Embeddor directly.



* AbstractComponentTest was not parameterising or initialising the test

components.

2 lines of code changed in:

darrell 2002-04-01 09:56

* Fixed a bunch of checkstyle violations (mostly

javadoc)



* Added basic javadoc target to build.

8 lines of code changed in:

donaldp 2002-03-29 12:57

final static --> static final to follow JLS recomendations

1 lines of code changed in:

donaldp 2002-03-23 23:41

Made embeddor not implement the framework lifecycle stages

4 lines of code changed in:

adammurdoch 2002-03-23 10:16

* Use the shared classloader as the parent of antlib classloaders, rather

than using the container classloader.



* DefaultWorkspace and ExecManagerFactory figure out myrmidon.home using

their parameters, rather than using system properties.



* Split embeddor/workspace/project handling code out of CLIMain into a new

EmbeddedAnt helper class. CLIMain is now responsible for setting up the

logger, and command-line option handling. EmbeddedAnt is responsible for

starting the embeddor, building the project, and executing targets (and

cleaning-up). Should make it considerably simpler to embed myrmidon.

6 lines of code changed in:

donaldp 2002-03-23 09:06

Add embeddor to serviceManager.



Man is this an ugly hack ;)

2 lines of code changed in:

donaldp 2002-03-23 04:37

Merge DefaultConverterRegistry into DefaultMasterConverter

7 lines of code changed in:

adammurdoch 2002-03-15 02:48

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.

3 lines of code changed in:

donaldp 2002-03-12 10:20

Move PropertyResolver and friends into own package hierarchy

2 lines of code changed in:

adammurdoch 2002-03-11 06:02

Move ClassLoaderManager and DefaultClassLoaderManager into their own packages.

19 lines of code changed in:

adammurdoch 2002-03-09 02:04

* Added PropertyResolver service interface, together with 2 implementations.

(One implementation mimics Ant1 behaviour). These are added in the

"workspace" packages, since that's where PropertyUtil was. Not sure if this

is the right place.

* DefaultTaskContext now implements Context interface, used by

PropertyResolver. This avoids having the PropertyResolver dependent on

TaskContext, avoiding a potential circularity problem. (since TaskContext has

a "resolve" method of it's own).

* Removed PropertyUtil.

* Tests for PropertyResolver implementations.



Submitted by Darrell DeBoer [darrell@apache.org]

2 lines of code changed in:

adammurdoch 2002-02-25 10:42

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.

2 lines of code changed in:

adammurdoch 2002-02-24 07:43

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.

45 lines of code changed in:

donaldp 2002-02-21 11:06

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

19 lines of code changed in:

adammurdoch 2002-02-20 07:20

* Added test cases for DefaultEmbeddor.

* Target start and finish events are now fired for a project's implicit target.

* Unit tests now run against a dummy myrmidon install.

* Tidy-up some error messages.

8 lines of code changed in:

(45 more)

Generated by StatSVN 0.3.2-SNAPSHOT