You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by cr...@apache.org on 2005/09/18 02:46:21 UTC
svn commit: r289875 -
/struts/shale/trunk/core-library/src/java/org/apache/shale/tiles/TilesViewHandler.java
Author: craigmcc
Date: Sat Sep 17 17:46:18 2005
New Revision: 289875
URL: http://svn.apache.org/viewcvs?rev=289875&view=rev
Log:
Make TilesViewHandler work correctly even in a portlet environment, by skipping
the tile lookup (instead of throwing a class cast exception).
PR: Bugzilla #36521
Submitted by: Ronald Holshausen <uglyog AT gmail.com>
Modified:
struts/shale/trunk/core-library/src/java/org/apache/shale/tiles/TilesViewHandler.java
Modified: struts/shale/trunk/core-library/src/java/org/apache/shale/tiles/TilesViewHandler.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/core-library/src/java/org/apache/shale/tiles/TilesViewHandler.java?rev=289875&r1=289874&r2=289875&view=diff
==============================================================================
--- struts/shale/trunk/core-library/src/java/org/apache/shale/tiles/TilesViewHandler.java (original)
+++ struts/shale/trunk/core-library/src/java/org/apache/shale/tiles/TilesViewHandler.java Sat Sep 17 17:46:18 2005
@@ -261,24 +261,27 @@
ExternalContext externalContext = FacesContext.getCurrentInstance()
.getExternalContext();
- ServletRequest request = (ServletRequest)externalContext.getRequest();
- ServletContext servletContext = (ServletContext)externalContext.
- getContext();
+ Object request = externalContext.getRequest();
+ Object context = externalContext.getContext();
ComponentDefinition tile = null;
- try {
- tile = TilesUtil.getDefinition(name, request, servletContext);
- }
- catch(NoSuchDefinitionException nsex) { /* not here */ }
- catch(DefinitionsFactoryException dex) { /* not here */ }
-
- if (tile == null && name.startsWith("/")) { // try again w/o slash...
- try {
- tile = TilesUtil.getDefinition(name, request, servletContext);
- }
- catch(NoSuchDefinitionException nsdex) { /* not here */ }
- catch(DefinitionsFactoryException dfex) { /* not here */ }
+ if ((request instanceof ServletRequest) &&
+ (context instanceof ServletContext)) {
+ ServletRequest servletRequest = (ServletRequest) request;
+ ServletContext servletContext = (ServletContext) context;
+ try {
+ tile = TilesUtil.getDefinition(name, servletRequest, servletContext);
+ } catch (NoSuchDefinitionException nsex) {
+ /* not here */
+ } catch (DefinitionsFactoryException dex) {
+ /* not here */
+ }
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("Not a servlet request, skipping tile lookup");
+ }
}
return tile;
+
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org