You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ja...@apache.org on 2010/11/19 12:11:28 UTC

svn commit: r1036807 - in /myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl: scope/conversation/RedirectedConversationAwareExternalContext.java windowhandler/Jsf2WindowHandlerServlet.java

Author: jakobk
Date: Fri Nov 19 11:11:28 2010
New Revision: 1036807

URL: http://svn.apache.org/viewvc?rev=1036807&view=rev
Log:
EXTCDI-79 introduce client side windowhandler (correct servlet-mapping to work in Servlet 2.5 environments)

Modified:
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/RedirectedConversationAwareExternalContext.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/windowhandler/Jsf2WindowHandlerServlet.java

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/RedirectedConversationAwareExternalContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/RedirectedConversationAwareExternalContext.java?rev=1036807&r1=1036806&r2=1036807&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/RedirectedConversationAwareExternalContext.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/RedirectedConversationAwareExternalContext.java Fri Nov 19 11:11:28 2010
@@ -18,10 +18,9 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf2.impl.scope.conversation;
 
-import static org.apache.myfaces.extensions.cdi.jsf.impl.util.ConversationUtils.*;
-import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.spi.WindowHandler;
-import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.spi.JsfModuleConfig;
 import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
+import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.spi.JsfModuleConfig;
+import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.spi.WindowHandler;
 import org.apache.myfaces.extensions.cdi.jsf2.impl.windowhandler.Jsf2WindowHandlerServlet;
 
 import javax.faces.context.ExternalContext;
@@ -32,6 +31,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.apache.myfaces.extensions.cdi.jsf.impl.util.ConversationUtils.getWindowHandler;
+import static org.apache.myfaces.extensions.cdi.jsf.impl.util.ConversationUtils.sendRedirect;
+
 /**
  * @author Gerhard Petracek
  */
@@ -81,7 +83,7 @@ public class RedirectedConversationAware
         List<String> urlParam= new ArrayList<String>();
         urlParam.add(wrapped.encodeBookmarkableURL(baseUrl, parameters));
         newparms.put(Jsf2WindowHandlerServlet.URL_PARAM, urlParam);
-        return wrapped.encodeBookmarkableURL(Jsf2WindowHandlerServlet.WINDOWHANDLER_URL, newparms);
+        return wrapped.encodeBookmarkableURL(getWindowHandlerPath(), newparms);
     }
 
     private synchronized void lazyInit()
@@ -99,4 +101,19 @@ public class RedirectedConversationAware
     {
         return this.windowHandler.encodeURL(url);
     }
+
+    private String getWindowHandlerPath()
+    {
+        String contextPath = getRequestContextPath();
+
+        if (contextPath == null)
+        {
+            return Jsf2WindowHandlerServlet.WINDOWHANDLER_URL;
+        }
+        else
+        {
+            return contextPath + Jsf2WindowHandlerServlet.WINDOWHANDLER_URL;
+        }
+    }
+
 }

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/windowhandler/Jsf2WindowHandlerServlet.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/windowhandler/Jsf2WindowHandlerServlet.java?rev=1036807&r1=1036806&r2=1036807&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/windowhandler/Jsf2WindowHandlerServlet.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/windowhandler/Jsf2WindowHandlerServlet.java Fri Nov 19 11:11:28 2010
@@ -44,7 +44,7 @@ public class Jsf2WindowHandlerServlet ex
     private static final long serialVersionUID = 6109043260242858474L;
 
     public final static String URL_PARAM = "url";
-    public final static String WINDOWHANDLER_URL = "windowhandler";
+    public final static String WINDOWHANDLER_URL = "/windowhandler";
 
     private ClientInformation clientInformation;