I presume this event is only being fired from the WebBeansPhaseListener and won&#39;t exist for non-faces requests?<br><br>-Clint<br><br><div class="gmail_quote">On Sat, May 30, 2009 at 3:41 PM, Gavin King <span dir="ltr">&lt;<a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Or we could say it is an event that is observable by Extensions:<br>
<br>
   void request(@Observes BeforeRestoreConversation brc) {<br>
       brc.setId( brc.getRequest().getParameter(&quot;specialcid&quot;) );<br>
   }<br>
<br>
where we define the following interface:<br>
<br>
   public interface BeforeRestoreConversation {<br>
      String getId();<br>
      void setId(String id);<br>
      ServletContext getContext();<br>
      HttpServletRequest getRequest();<br>
   }<br>
<br>
This seems to me like the better option, WDYT?<br>
<div><div></div><div class="h5"><br>
On Sat, May 30, 2009 at 1:31 PM, Gavin King &lt;<a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a>&gt; wrote:<br>
&gt; On Sat, May 30, 2009 at 12:43 PM, Gavin King &lt;<a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt;&gt; Looking at the Conversation public API I don&#39;t see any programmatic<br>
&gt;&gt;&gt; way to restore a conversation.  Perhaps we should add such an API?<br>
&gt;&gt;<br>
&gt;&gt; Ugh, I really didn&#39;t want to go there in this release, though it<br>
&gt;&gt; would, very clearly, be a very useful feature.<br>
&gt;&gt;<br>
&gt;&gt; If we were going to go there, the way I would do it is to say that the<br>
&gt;&gt; conversation context is defined for all servlet requests, but it is by<br>
&gt;&gt; default transient. The container would be required to call back to<br>
&gt;&gt; Extensions to obtain a conversation id.<br>
&gt;<br>
&gt; Actually, upon reflection, I think we need to do this :-/<br>
&gt;<br>
&gt; Because even in JSF, we want a way to customize the mechanism for<br>
&gt; conversation propagation.<br>
&gt;<br>
&gt; So we could say that an Extension may optionally implement this interface:<br>
&gt;<br>
&gt;    public interface ConversationExtension {<br>
&gt;        String getConversationId(HttpServletRequest request,<br>
&gt; ServletContext context);<br>
&gt;    }<br>
&gt;<br>
&gt; And say that before any Filter is called, the container calls all<br>
&gt; ConversationExtensions looking for a conversation id, and if it finds<br>
&gt; one, restores the conversation.<br>
&gt;<br>
&gt; Alternatively, we could say that the conversation is only restored<br>
&gt; *after* all ServletFilters have been called, and say that the<br>
&gt; container looks in a specially-named request attribute, for example<br>
&gt; &quot;javax.contexts.spi.conversationId&quot;. Then we would not need a special<br>
&gt; interface, and any servlet filter could do conversation management.<br>
&gt; This seems more elegant, but means you don&#39;t get a conversation<br>
&gt; context in your filters.<br>
&gt;<br>
</div></div><div><div></div><div class="h5">&gt; WDYT?<br>
&gt;<br>
&gt; --<br>
&gt; Gavin King<br>
&gt; <a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a><br>
&gt; <a href="http://in.relation.to/Bloggers/Gavin" target="_blank">http://in.relation.to/Bloggers/Gavin</a><br>
&gt; <a href="http://hibernate.org" target="_blank">http://hibernate.org</a><br>
&gt; <a href="http://seamframework.org" target="_blank">http://seamframework.org</a><br>
&gt;<br>
<br>
<br>
<br>
--<br>
Gavin King<br>
<a href="mailto:gavin.king@gmail.com">gavin.king@gmail.com</a><br>
<a href="http://in.relation.to/Bloggers/Gavin" target="_blank">http://in.relation.to/Bloggers/Gavin</a><br>
<a href="http://hibernate.org" target="_blank">http://hibernate.org</a><br>
<a href="http://seamframework.org" target="_blank">http://seamframework.org</a><br>
<br>
_______________________________________________<br>
webbeans-dev mailing list<br>
<a href="mailto:webbeans-dev@lists.jboss.org">webbeans-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/webbeans-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/webbeans-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Clint Popetz<br><a href="http://42lines.net">http://42lines.net</a><br>Scalable Web Application Development<br>