You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by ta...@apache.org on 2015/07/16 11:01:10 UTC
deltaspike git commit: DELTASPIKE-959 DS cuts the windowId generated
from JSF 2.2
Repository: deltaspike
Updated Branches:
refs/heads/master c9529a54f -> 938e6ecb3
DELTASPIKE-959 DS cuts the windowId generated from JSF 2.2
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/938e6ecb
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/938e6ecb
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/938e6ecb
Branch: refs/heads/master
Commit: 938e6ecb307af8973b0d44c0c0cb6c4435c37a38
Parents: c9529a5
Author: tandraschko <ta...@apache.org>
Authored: Thu Jul 16 11:01:02 2015 +0200
Committer: tandraschko <ta...@apache.org>
Committed: Thu Jul 16 11:01:02 2015 +0200
----------------------------------------------------------------------
.../jsf/api/config/JsfModuleConfig.java | 17 +++++-----------
.../component/window/WindowIdHtmlRenderer.java | 21 ++++++++++++--------
.../strategy/AbstractClientWindowStrategy.java | 14 +++++++++----
3 files changed, 28 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/938e6ecb/deltaspike/modules/jsf/api/src/main/java/org/apache/deltaspike/jsf/api/config/JsfModuleConfig.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jsf/api/src/main/java/org/apache/deltaspike/jsf/api/config/JsfModuleConfig.java b/deltaspike/modules/jsf/api/src/main/java/org/apache/deltaspike/jsf/api/config/JsfModuleConfig.java
index 92972de..181a00d 100644
--- a/deltaspike/modules/jsf/api/src/main/java/org/apache/deltaspike/jsf/api/config/JsfModuleConfig.java
+++ b/deltaspike/modules/jsf/api/src/main/java/org/apache/deltaspike/jsf/api/config/JsfModuleConfig.java
@@ -126,7 +126,7 @@ public class JsfModuleConfig implements DeltaSpikeConfig
* Defines the {@link javax.enterprise.Qualifier} which will be used to fire the
* {@link org.apache.deltaspike.core.api.exception.control.event.ExceptionToCatchEvent}
* for unhandled JSF exceptions.
- *
+ *
* @return the {@link javax.enterprise.Qualifier}.
*/
public Class<? extends Annotation> getExceptionQualifier()
@@ -142,17 +142,10 @@ public class JsfModuleConfig implements DeltaSpikeConfig
public boolean isJsf22Available()
{
lazyInit();
-
+
return this.jsf22Available;
}
-
- public boolean isDelegatedWindowHandlingEnabled()
- {
- lazyInit();
-
- return this.delegatedWindowHandlingEnabled;
- }
-
+
private void lazyInit()
{
if (this.initialized == null)
@@ -182,13 +175,13 @@ public class JsfModuleConfig implements DeltaSpikeConfig
}
else
{
-
+
String initParam = facesContext.getExternalContext().getInitParameter(CLIENT_WINDOW_CONFIG_KEY);
this.delegatedWindowHandlingEnabled =
!(initParam == null || "none".equalsIgnoreCase(initParam.trim()));
}
}
-
+
this.initialized = true;
}
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/938e6ecb/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/component/window/WindowIdHtmlRenderer.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/component/window/WindowIdHtmlRenderer.java b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/component/window/WindowIdHtmlRenderer.java
index 7db4de4..7cd2e03 100644
--- a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/component/window/WindowIdHtmlRenderer.java
+++ b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/component/window/WindowIdHtmlRenderer.java
@@ -60,24 +60,29 @@ public class WindowIdHtmlRenderer extends Renderer
lazyInit();
String windowId = clientWindow.getWindowId(context);
- String clientWindowRenderMode = clientWindowConfig.getClientWindowRenderMode(context).name();
+ ClientWindowConfig.ClientWindowRenderMode clientWindowRenderMode =
+ clientWindowConfig.getClientWindowRenderMode(context);
- //already ensured by DefaultClientWindow
- //just to ensure that we don't get a security issue in case of a customized client-window implementation
- //will never happen usually -> no real overhead
- if (windowId != null && windowId.length() > this.maxWindowIdCount)
+ // don't cut the windowId generated from JSF
+ if (!ClientWindowConfig.ClientWindowRenderMode.DELEGATED.equals(clientWindowRenderMode))
{
- windowId = windowId.substring(0, this.maxWindowIdCount);
+ //already ensured by DefaultClientWindow
+ //just to ensure that we don't get a security issue in case of a customized client-window implementation
+ //will never happen usually -> no real overhead
+ if (windowId != null && windowId.length() > this.maxWindowIdCount)
+ {
+ windowId = windowId.substring(0, this.maxWindowIdCount);
+ }
}
ResponseWriter writer = context.getResponseWriter();
writer.startElement("script", component);
writer.writeAttribute("type", "text/javascript", null);
writer.write("(function(){");
- writer.write("dswh.init('" + windowId + "','" + clientWindowRenderMode + "',{");
+ writer.write("dswh.init('" + windowId + "','" + clientWindowRenderMode.name() + "',{");
writer.write("'storeWindowTree':'" + clientWindowConfig.isClientWindowStoreWindowTreeEnabled() + "'");
-
+
// see #729
if (clientWindow.isInitialRedirectSupported(context))
{
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/938e6ecb/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/scope/window/strategy/AbstractClientWindowStrategy.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/scope/window/strategy/AbstractClientWindowStrategy.java b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/scope/window/strategy/AbstractClientWindowStrategy.java
index af956a2..ea70794 100644
--- a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/scope/window/strategy/AbstractClientWindowStrategy.java
+++ b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/scope/window/strategy/AbstractClientWindowStrategy.java
@@ -79,9 +79,15 @@ public abstract class AbstractClientWindowStrategy implements ClientWindow
if (windowId != null)
{
- if (windowId.length() > this.maxWindowIdCount)
+ // don't cut the windowId generated from JSF
+ ClientWindowConfig.ClientWindowRenderMode clientWindowRenderMode =
+ clientWindowConfig.getClientWindowRenderMode(facesContext);
+ if (!ClientWindowConfig.ClientWindowRenderMode.DELEGATED.equals(clientWindowRenderMode))
{
- windowId = windowId.substring(0, this.maxWindowIdCount);
+ if (windowId.length() > this.maxWindowIdCount)
+ {
+ windowId = windowId.substring(0, this.maxWindowIdCount);
+ }
}
requestMap.put(CACHE_WINDOW_ID, windowId);
@@ -135,7 +141,7 @@ public abstract class AbstractClientWindowStrategy implements ClientWindow
Map<String, String> requestParameters = facesContext.getExternalContext().getRequestParameterMap();
return requestParameters.get(ClientWindowHelper.RequestParameters.GET_WINDOW_ID);
}
-
+
@Override
public void disableClientWindowRenderMode(FacesContext facesContext)
{
@@ -178,7 +184,7 @@ public abstract class AbstractClientWindowStrategy implements ClientWindow
{
return false;
}
-
+
@Override
public Map<String, String> getQueryURLParameters(FacesContext facesContext)
{