Author: greddin
Date: Wed Aug 9 07:49:07 2006
New Revision: 430065
URL: http://svn.apache.org/viewvc?rev=430065&view=rev
Log:
SHALE-232. Upgraded TilesViewHandler to be compatible with the Tiles
2.0-SNAPSHOT version.
Calls to Tiles API now use the TilesContext instead of Servlet dependencies.
Modified:
shale/framework/trunk/shale-tiles/pom.xml
shale/framework/trunk/shale-tiles/src/main/java/org/apache/shale/tiles/TilesViewHandler.java
Modified: shale/framework/trunk/shale-tiles/pom.xml
URL:
http://svn.apache.org/viewvc/shale/framework/trunk/shale-tiles/pom.xml?rev=430065&r1=430064&r2=430065&view=diff
==============================================================================
--- shale/framework/trunk/shale-tiles/pom.xml (original)
+++ shale/framework/trunk/shale-tiles/pom.xml Wed Aug 9 07:49:07 2006
@@ -40,7 +40,7 @@
<dependency>
<groupId>org.apache.struts.tiles</groupId>
<artifactId>tiles-core</artifactId>
- <version>0.2-SNAPSHOT</version>
+ <version>2.0-SNAPSHOT</version>
</dependency>
</dependencies>
Modified:
shale/framework/trunk/shale-tiles/src/main/java/org/apache/shale/tiles/TilesViewHandler.java
URL:
http://svn.apache.org/viewvc/shale/framework/trunk/shale-tiles/src/main/java/org/apache/shale/tiles/TilesViewHandler.java?rev=430065&r1=430064&r2=430065&view=diff
==============================================================================
---
shale/framework/trunk/shale-tiles/src/main/java/org/apache/shale/tiles/TilesViewHandler.java
(original)
+++
shale/framework/trunk/shale-tiles/src/main/java/org/apache/shale/tiles/TilesViewHandler.java
Wed Aug 9 07:49:07 2006
@@ -27,8 +27,6 @@
import javax.faces.component.UIViewRoot;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -37,6 +35,8 @@
import org.apache.tiles.DefinitionsFactoryException;
import org.apache.tiles.NoSuchDefinitionException;
import org.apache.tiles.TilesUtil;
+import org.apache.tiles.TilesContext;
+import org.apache.tiles.context.TilesContextFactory;
/**
* This view handler strips the suffix off of the view ID and looks
@@ -258,21 +258,13 @@
Object request = externalContext.getRequest();
Object context = externalContext.getContext();
ComponentDefinition tile = null;
- 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");
- }
+ try {
+ TilesContext tilesContext = TilesContextFactory.getInstance(context,
request);
+ tile = TilesUtil.getDefinition(name, tilesContext);
+ } catch (NoSuchDefinitionException nsex) {
+ log.error("Couldn't find Tiles definition.", nsex);
+ } catch (DefinitionsFactoryException dex) {
+ log.error("Tiles error", dex);
}
return tile;
@@ -305,11 +297,13 @@
private void dispatchToTile(ExternalContext externalContext,
ComponentDefinition tile)
throws java.io.IOException {
- ServletRequest request = (ServletRequest)externalContext.getRequest();
- ComponentContext tileContext = ComponentContext.getContext(request);
+ Object request = externalContext.getRequest();
+ Object context = externalContext.getContext();
+ TilesContext tilesContext = TilesContextFactory.getInstance(context,
request);
+ ComponentContext tileContext = ComponentContext.getContext(tilesContext);
if (tileContext == null) {
tileContext = new ComponentContext(tile.getAttributes());
- ComponentContext.setContext(tileContext, request);
+ ComponentContext.setContext(tileContext, tilesContext);
}
else
tileContext.addMissing(tile.getAttributes());