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

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

Author: gpetracek
Date: Fri Nov 19 15:37:45 2010
New Revision: 1036903

URL: http://svn.apache.org/viewvc?rev=1036903&view=rev
Log:
optional client aware window handler

Modified:
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/RedirectedConversationAwareExternalContext.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=1036903&r1=1036902&r2=1036903&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 15:37:45 2010
@@ -45,6 +45,8 @@ public class RedirectedConversationAware
 
     private boolean encodeActionURLs;
 
+    private boolean clientSideWindowHandlerUsed = false;
+
     public RedirectedConversationAwareExternalContext(ExternalContext wrapped)
     {
         this.wrapped = wrapped;
@@ -79,6 +81,13 @@ public class RedirectedConversationAware
     @Override
     public String encodeBookmarkableURL(String baseUrl, Map<String, List<String>> parameters)
     {
+        lazyInit();
+
+        if(!this.clientSideWindowHandlerUsed)
+        {
+            return super.encodeBookmarkableURL(baseUrl, parameters);
+        }
+        
         Map<String, List<String>> newparms = new HashMap<String, List<String>>();
         List<String> urlParam= new ArrayList<String>();
         urlParam.add(wrapped.encodeBookmarkableURL(baseUrl, parameters));
@@ -91,6 +100,12 @@ public class RedirectedConversationAware
         if(this.windowHandler == null)
         {
             this.windowHandler = getWindowHandler();
+
+            if(this.windowHandler instanceof Jsf2WindowHandler)
+            {
+                this.clientSideWindowHandlerUsed = true;
+            }
+
             this.encodeActionURLs = CodiUtils
                     .getContextualReferenceByClass(JsfModuleConfig.class)
                     .isAddWindowIdToActionUrlsEnabled();