Leo Sutic wrote:
> You can use the same approach to construct a servlet context or
> any other application specific context solution.
Stephen,
looking at Phoenix's BlockContext. How would this enable me to
get the
InputStream getResourceAsStream(String name)
operation going in a container that doesn't have such an operation?
You do it by forcing the assembly time declaration of a implementation class. The GenericBlockContext was an example of a conteext information that needed only standard context entries from which the rest of the behaviour could be derived. This has changed somewhat because of the recent additions to BlockContext that make it impractical to provide a mapping for all of the operations - however - in practice, 98% of components based on Phoenix only use the getBaseDirectory() operation which is only a convinience accessor to the APP_HOME context entry.
I think you're building an elaborate framework to cover up deficiencies
in cross-container portability, and I understand the reasons for this, but:
+ That framework is incomplete.
+ That framework itself is as big a committment as getting cross-container
portability properly working.
Actually is rather small - once you meta in place about the criteria from the component the amount of code requred to service this is small - in Merlin we are talking about 40-60 lines of code.
I'd much rather have a set of interfaces specifying context operations that a container *must* provide to a component, a set of interfaces that are container-specifc, and that may or may not be promoted to "*must* support" (i.e. accepted into framework) via a voting process, and then just consider the case when a component requires some operation that the container can't supply be filed under "tough luck".
I would much rather prefer that we respect the Context contract by ensuring that any accessor is simply a convinience operation to get a context entry. Anything else is in the service depedecy space. But more on that in a tick - I think I have an idea where the *real* problem is and if I am right - its got bugger all to do with Context. Hanf on a tick and I'll axplain in my next email.
Steve.
/LS
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
-- Stephen J. McConnell OSM SARL digital products for a global economy mailto:[EMAIL PROTECTED] http://www.osm.net -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
