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]
