Berin Loritsch wrote:
Stephen McConnell wrote:
This should be under the avalon CVS, not excalibur. It not a utility - it's a couple of interfaces that define extensions to the framework contract.
:/ I don't think you are going to get consensus on that.
Lets' discuss it and see.
Esp. since
by the time we are done with handling these things, they might go
away.
Sorry - I'm using extensions and I'm not about to drop support for extensions.
I did not say that we would not be able to support extending the
lifecycle. All I am saying is that the is a possibility of doing
it in a more elegant way in the future.
Berin:
Its kind of accademic if one likes/dislikes/or-whatever the lifecycle interfaces (I happen to feel that the meet a requirement and I havn't had any problems with them). The subject here is the *release* of the lifecycle package. Before removal from from sandbox there are a couple of things to consider:
(a) do we have agreement on the release of lifecycle - in
particular, the migration out of sandbox
(b) what is the CVS destination that the package will migrate to
I also am using extensions for my GUIApp project over at SourceForge. Vincent has been helping me make it sing--including support for an event bus and more. I myself don't want to see them go away.
Peter's interceptor ideas have merit, and with the advent of utilities like CGLib, it makes it really easy to use interceptors.
I understand your position, but in order to get a release RSN I
suggest going with the least radical path towards adoption.
I'm tempted to say that this strategy will backfire. Even we are releasing the lifecycle package or not. If we release it we should do it properly. If we are not releasing it then you should kill of referenced to extension in Fortress. I don't know if this is viable or not in Fortress - I do know that (a) interfaces are required in Merlin, and (b) that the interfaces have been validated and have proved functional and valuable.
We need to release it. I would be able to kill off the reference to it in Fortress, BUT then I would lose instrumentation support (I have a InstrumentableCreator that takes care of the integration).
I'm 100% with you - *release* is the objective.
The question is *where* do they go.
Yes.
I really don't think that they should be in Avalon Framework.
I agree - see prev. email where I said the same thing. I said that lifecycle extensions below in the avalon CVS because that represent a an optional extension to the component contract. The package itself is not a utility.
To be clear - I do not see the avalon CVS repository as exclusive to framework. In fact we have already discussed this substantially a few months ago. That discussion focussed on what things belong where. The process identified excalibur as the place for utilities for building containers and components. It also identified the avalon CVS as the place for constructs relating to the container/component contract (currently framework) and eventually other things like meta models, or interfaces dealing with framework extension.
They kind of have the same conundrum as the Instrument package. They are a set of interfaces, which can be used in other projects. Both of these projects sit between Framework and the components/containers.
I don't see Instrument on the same level as the lifecycle extensions. Lifecycle is a very simple contract for declaring lifecycle extension semantics. It does not contain a lifecycle extension implementation (that's a container concern). The Instrument package is an example of a set of interfaces that should be using the lifecycle extension mechanism to introduce itself formally. Instrument is an example of a lifecycle stage interface and Instrument Manager is an example of a stage handler. Clearly, the instrument suite is an instance of an extension.
Currently the avalon CVS contains the framework. This does not mean that framework is the only project at this level. We have already discussed the need to start work on the seperation of framework imp and interfaces which means we will rapidly being seeing the emergence of at least two projects in framework. The lifecycle extension simply belong at this level. I am not suggesting that the extension interfaces be included in framework - only that that the extension package belongs in the avalon cvs - not excalibur.
Can you put up a proposal for it?
OK - I'll put something together ASAP.
I already did the vote for moving it
to excalibur, to which I believe you gave your +1. I was not aware that
you felt it should be in the "Avalon" repository.
I did raise it in my reply to the email you referenced.
;-)
Cheers, Steve.
--
Stephen J. McConnell mailto:[EMAIL PROTECTED] http://www.osm.net
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
