Migrates tiles-portlet to the same version

Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/f6d0e15f
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/f6d0e15f
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/f6d0e15f

Branch: refs/heads/master
Commit: f6d0e15f6b1a3a6fd0f9c46c00671d0aadf00a81
Parents: 0748886
Author: Lukasz Lenart <lukasz.len...@gmail.com>
Authored: Tue Jan 12 10:36:46 2016 +0100
Committer: Lukasz Lenart <lukasz.len...@gmail.com>
Committed: Tue Jan 19 16:19:18 2016 +0100

----------------------------------------------------------------------
 plugins/portlet-tiles/pom.xml                   |  2 +-
 .../struts2/views/tiles/PortletTilesResult.java | 50 +++++++++++++++-----
 pom.xml                                         |  5 +-
 3 files changed, 41 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/f6d0e15f/plugins/portlet-tiles/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/portlet-tiles/pom.xml b/plugins/portlet-tiles/pom.xml
index 9e9a81f..8b710b2 100644
--- a/plugins/portlet-tiles/pom.xml
+++ b/plugins/portlet-tiles/pom.xml
@@ -44,7 +44,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.tiles</groupId>
-            <artifactId>tiles-portlet</artifactId>
+            <artifactId>tiles-request-portlet</artifactId>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>

http://git-wip-us.apache.org/repos/asf/struts/blob/f6d0e15f/plugins/portlet-tiles/src/main/java/org/apache/struts2/views/tiles/PortletTilesResult.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet-tiles/src/main/java/org/apache/struts2/views/tiles/PortletTilesResult.java
 
b/plugins/portlet-tiles/src/main/java/org/apache/struts2/views/tiles/PortletTilesResult.java
index 83fcd4e..f12274b 100644
--- 
a/plugins/portlet-tiles/src/main/java/org/apache/struts2/views/tiles/PortletTilesResult.java
+++ 
b/plugins/portlet-tiles/src/main/java/org/apache/struts2/views/tiles/PortletTilesResult.java
@@ -22,22 +22,20 @@
 package org.apache.struts2.views.tiles;
 
 import com.opensymphony.xwork2.ActionInvocation;
-import freemarker.template.TemplateException;
-import org.apache.struts2.ServletActionContext;
-import org.apache.struts2.result.ServletDispatcherResult;
 import org.apache.struts2.portlet.PortletConstants;
 import org.apache.struts2.portlet.context.PortletActionContext;
+import org.apache.struts2.result.ServletDispatcherResult;
 import org.apache.tiles.TilesContainer;
 import org.apache.tiles.TilesException;
 import org.apache.tiles.access.TilesAccess;
-import org.apache.tiles.portlet.context.PortletUtil;
+import org.apache.tiles.request.ApplicationContext;
+import org.apache.tiles.request.Request;
+import org.apache.tiles.request.portlet.RenderPortletRequest;
 
 import javax.portlet.ActionResponse;
-import javax.portlet.PortletException;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
+import javax.portlet.PortletContext;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
 import java.util.Map;
 
 /**
@@ -68,12 +66,15 @@ public class PortletTilesResult extends 
ServletDispatcherResult {
     protected void executeRenderResult(String location) throws TilesException {
         setLocation(location);
 
-        TilesContainer container = 
PortletUtil.getContainer(PortletActionContext.getPortletContext());
+        PortletContext portletContext = 
PortletActionContext.getPortletContext();
+        RenderRequest request = PortletActionContext.getRenderRequest();
+        RenderResponse response = PortletActionContext.getRenderResponse();
 
-        HttpServletRequest request = ServletActionContext.getRequest();
-        HttpServletResponse response = ServletActionContext.getResponse();
+        TilesContainer container = getCurrentContainer(request, 
portletContext);
+        ApplicationContext applicationContext = 
container.getApplicationContext();
+        Request currentRequest = new RenderPortletRequest(applicationContext, 
portletContext, request, response);
 
-        container.render(location, request, response);
+        container.render(location, currentRequest);
     }
 
     protected void executeActionResult(String location, ActionInvocation 
invocation) {
@@ -87,4 +88,27 @@ public class PortletTilesResult extends 
ServletDispatcherResult {
         res.setRenderParameter(PortletConstants.MODE_PARAM, 
PortletActionContext.getRequest().getPortletMode().toString());
     }
 
+    protected TilesContainer getCurrentContainer(javax.portlet.PortletRequest 
request, PortletContext context) {
+
+        TilesContainer container = (TilesContainer) 
request.getAttribute(TilesAccess.CURRENT_CONTAINER_ATTRIBUTE_NAME);
+
+        if (container == null) {
+            container = getContainer(context);
+            request.setAttribute(TilesAccess.CURRENT_CONTAINER_ATTRIBUTE_NAME, 
container);
+        }
+
+        return container;
+    }
+
+    protected TilesContainer getContainer(PortletContext context) {
+        return getContainer(context, TilesAccess.CONTAINER_ATTRIBUTE);
+    }
+
+    protected TilesContainer getContainer(PortletContext context, String key) {
+        if (key == null) {
+            key = TilesAccess.CONTAINER_ATTRIBUTE;
+        }
+        return (TilesContainer) context.getAttribute(key);
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/struts/blob/f6d0e15f/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3732ad1..1e0f708 100644
--- a/pom.xml
+++ b/pom.xml
@@ -89,6 +89,7 @@
         <asm.version>3.3</asm.version>
         <asm5.version>5.0.2</asm5.version>
         <tiles.version>3.0.5</tiles.version>
+        <tiles-request.version>1.0.6</tiles-request.version>
         <log4j2.version>2.5</log4j2.version>
 
         <!-- SCM Site Configuration -->
@@ -620,8 +621,8 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.tiles</groupId>
-                <artifactId>tiles-portlet</artifactId>
-                <version>${tiles.version}</version>
+                <artifactId>tiles-request-portlet</artifactId>
+                <version>${tiles-request.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.tiles</groupId>

Reply via email to