hi pete, i pushed a first draft to [1]. it would be great, if you can have a look at the todos (esp. WeldContainerControl#shutdownContainer)
regards, gerhard [1] http://s.apache.org/tC 2012/2/20 Pete Muir <[email protected]> > > On 18 Feb 2012, at 09:22, Mark Struberg wrote: > > > Hi folks! > > > > I've now drafted a first version of the API > > > > > https://github.com/struberg/incubator-deltaspike/blob/containerctrl/deltaspike/containerctrl/api/src/main/java/org/apache/deltaspike/containerctrl/api/ContainerControl.java > > > > wdyt? > > Looks good. I would rename ContainerControl -> CDIControl, and > bootContainer()/shutdownContainer() -> start()/stop() > > And add some javadoc for start/stopContexts so that people like me don't > get confused about what they do: > > "startContexts() will start all the build in contexts, activating them as > needed" > > and cover edge cases like what happens if start is called again etc. > > > > > I think it's now clear that we only need this for built-in scopes, but > it's really nice to provide that way. > > Pete, I don't get the argument with CDI<T> because it doesn't offer > anything close to the functionality of the ContainerControl. > > Ignore this. > > > > > LieGrue, > > strub > > > > > > > > ----- Original Message ----- > >> From: Pete Muir <[email protected]> > >> To: [email protected]; Mark Struberg < > [email protected]> > >> Cc: > >> Sent: Wednesday, February 15, 2012 9:31 PM > >> Subject: Re: [DISCUSS] bootstrap api > >> > >> Aha, so this is "mixing" bootstrap and context lifecycle management? > >> If so, I would prefer we keep these as two separate APIs. I can make a > proposal > >> for a context lifecycle management api based on what we have in Weld. > >> > >> On 15 Feb 2012, at 17:17, Mark Struberg wrote: > >> > >>> Hi Pete! > >>> > >>> fluent api is fine for me. > >>> > >>> The reason why the context control is so fine granular is that you > >> don't have any well defined extension points in an SE app. Thus the > >> application must perform those steps itself. > >>> > >>> > >>> Imagine a Swing App. > >>> A Request could be a user interaction. > >>> > >>> A Conversation could start when a multi-page dialogue gets opened and > ends > >> when it will finally be stored. > >>> etc. > >>> Of course for custom scopes this needs to be refined or the Extension > >> providing this scope must allow us to control this. > >>> > >>> LieGrue, > >>> strub > >>> > >>> > >>> > >>> ----- Original Message ----- > >>>> From: Pete Muir <[email protected]> > >>>> To: [email protected]; Mark Struberg > >> <[email protected]> > >>>> Cc: > >>>> Sent: Wednesday, February 15, 2012 4:59 PM > >>>> Subject: Re: [DISCUSS] bootstrap api > >>>> > >>>> My first thoughts: > >>>> > >>>> * the API should be fluent - always return an instance of the > bootstrap > >> API > >>>> class > >>>> * I would prefer to avoid the use of the word container, on the whole > >> the spec > >>>> avoids that term as it's overloaded > >>>> * I'm unsure of why you want to start the contexts with such > >> granularity, > >>>> and want to understand the use cases better. I'm not really sure > >> why you > >>>> want to control this outside the main start/stop methods... > >>>> * I would prefer start/stop to boot/shutdown - again, slightly less > >> meaning > >>>> attached to the terms which might be confusing > >>>> * Make sure that this class has the same methods as the CDI class from > >> CDI 1.1, > >>>> so that we don't make people change their API too much > >>>> > >>>> On 10 Feb 2012, at 17:35, Mark Struberg wrote: > >>>> > >>>>> Hi! > >>>>> > >>>>> Thats perfectly fine. Keep the ideas rolling ;) > >>>>> > >>>>> The original API was intended for doing a quick cdi boot for unit > >> testing, > >>>> thus it might miss some features. > >>>>> > >>>>> LieGrue, > >>>>> strub > >>>>> > >>>>> > >>>>> > >>>>> ----- Original Message ----- > >>>>>> From: Pete Muir <[email protected]> > >>>>>> To: [email protected]; Mark Struberg > >>>> <[email protected]> > >>>>>> Cc: > >>>>>> Sent: Friday, February 10, 2012 12:11 PM > >>>>>> Subject: Re: [DISCUSS] bootstrap api > >>>>>> > >>>>>> +1 to the idea but I would want to discuss the API in quite a > >> lot of > >>>> detail. > >>>>>> > >>>>>> On 9 Feb 2012, at 10:13, Mark Struberg wrote: > >>>>>> > >>>>>>> Hi! > >>>>>>> > >>>>>>> > >>>>>>> I developed an API to bootstrap and control CDI containers > >> from > >>>> within a SE > >>>>>> application [1]. > >>>>>>> This was originally developed to make OpenWebBeans SE > >> applications > >>>> easily > >>>>>> testable, but it also can be used for SE applications in > >> general! > >>>>>>> > >>>>>>> There is already an implementation for OpenWebBeans [2] and > >> it > >>>> would be > >>>>>> really easy to also provide the same for various Weld versions. > >>>>>>> > >>>>>>> > >>>>>>> wdyt? Could be nice to import this as > >>>>>>> > >>>>>>> > >>>>>>> core/bootstrap/api > >>>>>>> core/bootstrap/owb > >>>>>>> and add a new > >>>>>>> core/bootstrap/weld > >>>>>>> > >>>>>>> > >>>>>>> LieGrue, > >>>>>>> strub > >>>>>>> > >>>>>>> > >>>>>>> [1] > >>>>>> > >>>> > >> > https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-test/cditest/src/main/java/org/apache/webbeans/cditest/ > >>>>>>> [2] > >>>>>> > >>>> > >> > https://svn.apache.org/repos/asf/openwebbeans/trunk/webbeans-test/cditest-owb/ > >>>>>>> > >>>>>> > >>>> > >> > >
