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/08/12 22:16:44 UTC

svn commit: r984945 - in /myfaces/extensions/cdi/trunk: core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/api/ jee-modules/jsf-mod...

Author: gpetracek
Date: Thu Aug 12 20:16:44 2010
New Revision: 984945

URL: http://svn.apache.org/viewvc?rev=984945&view=rev
Log:
EXTCDI-1, EXTCDI-2 and EXTCDI-3 config refactoring (intermediate result)

Modified:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContextConfig.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/api/ConfigParameter.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/config/DefaultWindowContextConfig.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/RedirectedConversationAwareExternalContext.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf2/impl/scope/conversation/RedirectedConversationAwareExternalContext.java

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContextConfig.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContextConfig.java?rev=984945&r1=984944&r2=984945&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContextConfig.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContextConfig.java Thu Aug 12 20:16:44 2010
@@ -30,6 +30,9 @@ public interface WindowContextConfig ext
 
     boolean isUnknownWindowIdsAllowed();
 
+    @Deprecated
+    boolean isAddWindowIdToActionUrlsEnabled();
+    
     int getWindowContextTimeoutInMinutes();
 
     int getMaxWindowContextCount();

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/api/ConfigParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/api/ConfigParameter.java?rev=984945&r1=984944&r2=984945&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/api/ConfigParameter.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/api/ConfigParameter.java Thu Aug 12 20:16:44 2010
@@ -40,6 +40,11 @@ public interface ConfigParameter
 
     static final boolean ALLOW_UNKNOWN_WINDOW_IDS_DEFAULT = false;
 
+    static final String ADD_WINDOW_ID_TO_ACTION_URL_ENABLED =
+            CoreCodiConfigParameter.BASE_NAME + "ADD_WINDOW_ID_TO_ACTION_URL_ENABLED";
+
+    static final boolean ADD_WINDOW_ID_TO_ACTION_URL_ENABLED_DEFAULT = false;
+
     static final String DISABLE_INITIAL_REDIRECT =
             CoreCodiConfigParameter.BASE_NAME + "DISABLE_INITIAL_REDIRECT";
 

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/config/DefaultWindowContextConfig.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/config/DefaultWindowContextConfig.java?rev=984945&r1=984944&r2=984945&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/config/DefaultWindowContextConfig.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/config/DefaultWindowContextConfig.java Thu Aug 12 20:16:44 2010
@@ -90,6 +90,12 @@ public class DefaultWindowContextConfig 
         return getAttribute(ALLOW_UNKNOWN_WINDOW_IDS, Boolean.class);
     }
 
+    public boolean isAddWindowIdToActionUrlsEnabled()
+    {
+        lazyInit();
+        return getAttribute(ADD_WINDOW_ID_TO_ACTION_URL_ENABLED, Boolean.class);
+    }
+
     public int getWindowContextTimeoutInMinutes()
     {
         lazyInit();
@@ -188,6 +194,7 @@ public class DefaultWindowContextConfig 
         initConversationTimeout(facesContext);
         initDisableInitialRedirect(facesContext);
         initConversatonEvents(facesContext);
+        initActionUrlEncoding(facesContext);
 
         //init custom implementations
         initWindowContextManagerFactory(facesContext);
@@ -261,6 +268,17 @@ public class DefaultWindowContextConfig 
                 ENABLE_UNSCOPE_BEAN_EVENT, new BooleanConfigValueParser(), ENABLE_UNSCOPE_BEAN_EVENT_DEFAULT);
     }
 
+    private void initActionUrlEncoding(FacesContext facesContext)
+    {
+        initConfig(facesContext,
+                ADD_WINDOW_ID_TO_ACTION_URL_ENABLED,
+                new BooleanConfigValueParser(),
+                ADD_WINDOW_ID_TO_ACTION_URL_ENABLED_DEFAULT);
+    }
+
+    /*
+     * custom implementations
+     */
     private void initWindowContextManagerFactory(FacesContext facesContext)
     {
         initConfig(facesContext,

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/RedirectedConversationAwareExternalContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/RedirectedConversationAwareExternalContext.java?rev=984945&r1=984944&r2=984945&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/RedirectedConversationAwareExternalContext.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf/impl/scope/conversation/RedirectedConversationAwareExternalContext.java Thu Aug 12 20:16:44 2010
@@ -21,6 +21,9 @@ package org.apache.myfaces.extensions.cd
 import static org.apache.myfaces.extensions.cdi.javaee.jsf.impl.util.ConversationUtils.*;
 
 import org.apache.myfaces.extensions.cdi.javaee.jsf.impl.scope.conversation.spi.WindowHandler;
+import org.apache.myfaces.extensions.cdi.javaee.jsf.impl.scope.conversation.spi.JsfAwareWindowContextConfig;
+import org.apache.myfaces.extensions.cdi.core.impl.utils.CodiUtils;
+import org.apache.myfaces.extensions.cdi.core.api.resolver.ConfigResolver;
 
 import javax.faces.context.ExternalContext;
 import java.io.IOException;
@@ -43,6 +46,8 @@ public class RedirectedConversationAware
 
     private WindowHandler windowHandler;
 
+    private boolean encodeActionURLs;
+
     public RedirectedConversationAwareExternalContext(ExternalContext wrapped)
     {
         this.wrapped = wrapped;
@@ -51,8 +56,13 @@ public class RedirectedConversationAware
     public String encodeActionURL(String s)
     {
         lazyInit();
-        String url = addWindowIdToUrl(s);
-        return wrapped.encodeActionURL(url);
+
+        if(this.encodeActionURLs)
+        {
+            String url = addWindowIdToUrl(s);
+            return this.wrapped.encodeActionURL(url);
+        }
+        return this.wrapped.encodeActionURL(s);
     }
 
     public void redirect(String url)
@@ -64,9 +74,12 @@ public class RedirectedConversationAware
 
     private synchronized void lazyInit()
     {
-        if(windowHandler == null)
+        if(this.windowHandler == null)
         {
-            windowHandler = getWindowHandler();
+            this.windowHandler = getWindowHandler();
+            this.encodeActionURLs = CodiUtils
+                    .getOrCreateScopedInstanceOfBeanByClass(ConfigResolver.class)
+                    .resolve(JsfAwareWindowContextConfig.class).isAddWindowIdToActionUrlsEnabled();
         }
     }
 

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/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/javaee/jsf2/impl/scope/conversation/RedirectedConversationAwareExternalContext.java?rev=984945&r1=984944&r2=984945&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf2/impl/scope/conversation/RedirectedConversationAwareExternalContext.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/javaee/jsf2/impl/scope/conversation/RedirectedConversationAwareExternalContext.java Thu Aug 12 20:16:44 2010
@@ -20,6 +20,9 @@ package org.apache.myfaces.extensions.cd
 
 import static org.apache.myfaces.extensions.cdi.javaee.jsf.impl.util.ConversationUtils.*;
 import org.apache.myfaces.extensions.cdi.javaee.jsf.impl.scope.conversation.spi.WindowHandler;
+import org.apache.myfaces.extensions.cdi.javaee.jsf.impl.scope.conversation.spi.JsfAwareWindowContextConfig;
+import org.apache.myfaces.extensions.cdi.core.impl.utils.CodiUtils;
+import org.apache.myfaces.extensions.cdi.core.api.resolver.ConfigResolver;
 
 import javax.faces.context.ExternalContext;
 import javax.faces.context.ExternalContextWrapper;
@@ -34,6 +37,8 @@ public class RedirectedConversationAware
 
     private WindowHandler windowHandler;
 
+    private boolean encodeActionURLs;
+
     public RedirectedConversationAwareExternalContext(ExternalContext wrapped)
     {
         this.wrapped = wrapped;
@@ -55,8 +60,13 @@ public class RedirectedConversationAware
     public String encodeActionURL(String s)
     {
         lazyInit();
-        String url = addWindowIdToUrl(s);
-        return wrapped.encodeActionURL(url);
+
+        if(this.encodeActionURLs)
+        {
+            String url = addWindowIdToUrl(s);
+            return this.wrapped.encodeActionURL(url);
+        }
+        return this.wrapped.encodeActionURL(s);
     }
 
     private synchronized void lazyInit()
@@ -64,6 +74,9 @@ public class RedirectedConversationAware
         if(this.windowHandler == null)
         {
             this.windowHandler = getWindowHandler();
+            this.encodeActionURLs = CodiUtils
+                    .getOrCreateScopedInstanceOfBeanByClass(ConfigResolver.class)
+                    .resolve(JsfAwareWindowContextConfig.class).isAddWindowIdToActionUrlsEnabled();
         }
     }