Seems to me, that if you have a "conversation id" string, you could
just store page properties with conversation scope state directly in
the session, but incorporate the conversation id into the session
attribute name. I did something not too dissimilar for tapestry-flash
(and refactored the "session" scope implementation to make it easier
to create new scopes that are ultimately stored in the HttpSession).

Ideally, the conversation state manager could be a HiveMind service,
not an ASO, that would manage the storing of it internal state into
the HttpSession.

Also, I should be saying WebSession, not HttpSession ... the value is
magnified if it is not dependent on the servlet API.

On 1/23/06, Schulte Marcus <[EMAIL PROTECTED]> wrote:
> > Your approach seems interesting. But I don't know if it would
> > be cleaner
> > to implement that kind of ASO and declare it in Hivemind.
> > Something like this:
> >
> >     <state-object name="some-conversation" scope="conversation">
> >       <create-instance class="xxx.some.builder.class"/>
> >     </state-object>
> >
>
> Actually that's pretty much what I did. My previous explanations were a bit
> incomplete. Currently my setup in kickstart is as follows:
>
> a) I have one "special", session-scoped ASO, the current conversation, which
> is, basically, a Map, and an ASO-Manager which can be called to clean out
> the map (=terminate the conversation). This is a plain Tapestry ASO, no
> magic involved.
>
> b) Then I have a new ASO-scope "conversation", exactly as you propose. The
> corresponding ApplicationsStateManger stores its conversation-scoped ASOs in
> the session scoped conversation-ASO from a)
>
> c) And there' the PropertyPersistenceStrategy, of course. It's also called
> "conversation" ;) and stores its inhabitants in _the_ conversation-ASO from
> a)
>
> d) Finally there's a hivemeind service-model, somewhat inappropriately
> called "stateful" which stores a service in ... the conversation-ASO from
> a).
>
> So, it's really nothing new - just some wiring together - thanks to
> hivemind.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to