You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2007/11/15 16:49:27 UTC

svn commit: r595338 - in /tapestry/tapestry4/trunk: ./ tapestry-framework/src/java/org/apache/tapestry/dojo/html/ tapestry-framework/src/java/org/apache/tapestry/services/impl/ tapestry-framework/src/java/org/apache/tapestry/util/ tapestry-framework/sr...

Author: jkuhnert
Date: Thu Nov 15 07:49:25 2007
New Revision: 595338

URL: http://svn.apache.org/viewvc?rev=595338&view=rev
Log:
-) Upgraded to javassist 3.6.ga which is now in the normal maven2 ibiblio repos.
-) Fixed bug in responsebuilders not having a valid instance of PageRenderSupport when interacted with before the render cycle had begun.
-) Added new resize() method to Dialog component so that people can use it to dynamically resize the client side widget when content within the Dialog grows/shrinks.

Modified:
    tapestry/tapestry4/trunk/pom.xml
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/html/Dialog.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseBuilder.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseContributorImpl.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/JSONResponseBuilder.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/PrototypeResponseBuilder.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/util/PageRenderSupportImpl.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java
    tapestry/tapestry4/trunk/tapestry-portlet/src/java/org/apache/tapestry/portlet/PortletRendererImpl.java
    tapestry/tapestry4/trunk/tapestry-portlet/src/test/org/apache/tapestry/portlet/TestPortletRenderer.java

Modified: tapestry/tapestry4/trunk/pom.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/pom.xml?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/pom.xml (original)
+++ tapestry/tapestry4/trunk/pom.xml Thu Nov 15 07:49:25 2007
@@ -109,7 +109,7 @@
             <dependency>
                 <groupId>jboss</groupId>
                 <artifactId>javassist</artifactId>
-                <version>3.4.ga</version>
+                <version>3.6.ga</version>
                 <scope>runtime</scope>
             </dependency>
             <dependency>
@@ -117,12 +117,24 @@
                 <artifactId>hivemind</artifactId>
                 <version>1.1.1</version>
                 <scope>compile</scope>
+                <exclusions>
+                    <exclusion>
+                        <groupId>jboss</groupId>
+                        <artifactId>javassist</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>hivemind</groupId>
                 <artifactId>hivemind-lib</artifactId>
                 <version>1.1.1</version>
                 <scope>compile</scope>
+                <exclusions>
+                    <exclusion>
+                        <groupId>jboss</groupId>
+                        <artifactId>javassist</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <!-- Really, a transitive dependency of hivemind. -->
             <dependency>

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/html/Dialog.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/html/Dialog.java?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/html/Dialog.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/html/Dialog.java Thu Nov 15 07:49:25 2007
@@ -19,6 +19,7 @@
 import org.apache.tapestry.TapestryUtils;
 import org.apache.tapestry.dojo.AbstractWidget;
 import org.apache.tapestry.json.JSONObject;
+import org.apache.tapestry.services.ResponseBuilder;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -48,7 +49,17 @@
     public abstract String getToggle();
     
     public abstract int getToggleDuration();
-    
+
+    /**
+     * If called will execute the client side widget checkSize() function to re-size
+     * and re-center the widget.  This is useful in circumstances where you are updating
+     * content within the dialog itself.
+     */
+    public void resize()
+    {
+        setResizing(true);
+    }
+
     public void show()
     {
         setHidden(false);
@@ -93,9 +104,25 @@
             parms.put("props", json.toString());
             
             getScript().execute(this, cycle, TapestryUtils.getPageRenderSupport(cycle, this), parms);
+
+            if (isResizing())
+            {
+                if (!getResponseBuilder().isInitializationScriptAllowed(this))
+                {
+                    getResponseBuilder().updateComponent(getId());
+                }
+
+                getResponseBuilder().addScriptAfterInitialization(this, "dojo.widget.byId('" + getClientId() + "').checkSize();");
+            }
         }
     }
-        
+
+    public abstract ResponseBuilder getResponseBuilder();
+
+    public abstract boolean isResizing();
+
+    public abstract void setResizing(boolean value);
+
     /** injected. */
     public abstract IScript getScript();
 }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseBuilder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseBuilder.java?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseBuilder.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseBuilder.java Thu Nov 15 07:49:25 2007
@@ -58,13 +58,15 @@
      *
      * @param writer
      */
-    public DefaultResponseBuilder(IMarkupWriter writer,
+    public DefaultResponseBuilder(IRequestCycle cycle, IMarkupWriter writer,
                                   AssetFactory assetFactory, String namespace, boolean closeWriter)
     {
         _writer = writer;
         _assetFactory = assetFactory;
         _namespace = namespace;
         _closeWriter = closeWriter;
+
+        _prs = new PageRenderSupportImpl(_assetFactory, _namespace, this, cycle);
     }
 
     /**
@@ -82,14 +84,20 @@
      * Creates a new response builder with the required services it needs
      * to render the response when {@link #renderResponse(IRequestCycle)} is called.
      *
+     * @param cycle
+     *          The current request.
      * @param localeManager
      *          Used to set the locale on the response.
      * @param markupWriterSource
      *          Creates IMarkupWriter instance to be used.
      * @param webResponse
      *          Web response for output stream.
+     * @param assetFactory
+     *          Used to generate asset urls.
+     * @param namespace
+     *          Used for portal / javascript namespacing support.
      */
-    public DefaultResponseBuilder(RequestLocaleManager localeManager,
+    public DefaultResponseBuilder(IRequestCycle cycle, RequestLocaleManager localeManager,
                                   MarkupWriterSource markupWriterSource, WebResponse webResponse,
                                   AssetFactory assetFactory, String namespace)
     {
@@ -103,6 +111,8 @@
 
         _assetFactory = assetFactory;
         _namespace = namespace;
+
+        _prs = new PageRenderSupportImpl(_assetFactory, _namespace, this, cycle);
     }
 
     /**
@@ -143,8 +153,6 @@
         }
 
         // render response
-
-        _prs = new PageRenderSupportImpl(_assetFactory, _namespace, cycle.getPage().getLocation(), this);
 
         TapestryUtils.storePageRenderSupport(cycle, _prs);
 

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseContributorImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseContributorImpl.java?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseContributorImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseContributorImpl.java Thu Nov 15 07:49:25 2007
@@ -13,8 +13,6 @@
 // limitations under the License.
 package org.apache.tapestry.services.impl;
 
-import java.io.IOException;
-
 import org.apache.tapestry.IRequestCycle;
 import org.apache.tapestry.asset.AssetFactory;
 import org.apache.tapestry.markup.MarkupWriterSource;
@@ -23,6 +21,8 @@
 import org.apache.tapestry.services.ResponseContributor;
 import org.apache.tapestry.web.WebResponse;
 
+import java.io.IOException;
+
 /**
  * Factory that is used if no other has been chosen, handles normal html
  * responses.
@@ -47,7 +47,7 @@
     public ResponseBuilder createBuilder(IRequestCycle cycle)
     throws IOException
     {
-        return new DefaultResponseBuilder(_localeManager, _markupWriterSource, 
+        return new DefaultResponseBuilder(cycle, _localeManager, _markupWriterSource,
                 _webResponse, _assetFactory, _webResponse.getNamespace());
     }
     

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java Thu Nov 15 07:49:25 2007
@@ -177,6 +177,8 @@
 
         _assetFactory = assetFactory;
         _namespace = namespace;
+
+        _prs = new PageRenderSupportImpl(_assetFactory, _namespace, this, cycle);
     }
 
     /**
@@ -233,8 +235,6 @@
         }
 
         // render response
-
-        _prs = new PageRenderSupportImpl(_assetFactory, _namespace, cycle.getPage().getLocation(), this);
 
         TapestryUtils.storePageRenderSupport(cycle, _prs);
 

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/JSONResponseBuilder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/JSONResponseBuilder.java?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/JSONResponseBuilder.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/JSONResponseBuilder.java Thu Nov 15 07:49:25 2007
@@ -91,6 +91,8 @@
 
         _assetFactory = assetFactory;
         _namespace = namespace;
+        
+        _prs = new PageRenderSupportImpl(_assetFactory, _namespace, this, cycle);
     }
 
     /**
@@ -133,8 +135,6 @@
         }
 
         // render response
-
-        _prs = new PageRenderSupportImpl(_assetFactory, _namespace, cycle.getPage().getLocation(), this);
 
         TapestryUtils.storePageRenderSupport(cycle, _prs);
 

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/PrototypeResponseBuilder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/PrototypeResponseBuilder.java?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/PrototypeResponseBuilder.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/PrototypeResponseBuilder.java Thu Nov 15 07:49:25 2007
@@ -102,6 +102,8 @@
 
         _assetFactory = assetFactory;
         _namespace = namespace;
+        
+        _prs = new PageRenderSupportImpl(_assetFactory, _namespace, this, cycle);
     }
 
     /**
@@ -142,8 +144,6 @@
         }
 
         // render response
-
-        _prs = new PageRenderSupportImpl(_assetFactory, _namespace, cycle.getPage().getLocation(), this);
 
         TapestryUtils.storePageRenderSupport(cycle, _prs);
 

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/util/PageRenderSupportImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/util/PageRenderSupportImpl.java?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/util/PageRenderSupportImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/util/PageRenderSupportImpl.java Thu Nov 15 07:49:25 2007
@@ -39,7 +39,7 @@
 {
     private final AssetFactory _assetFactory;
 
-    private final Location _location;
+    private Location _location;
 
     private final ResponseBuilder _builder;
 
@@ -79,6 +79,24 @@
 
     private final Map _requires = new HashMap();
 
+    private IRequestCycle _cycle;
+
+    /**
+     * Creates a new instance bound to the specific location.
+     *
+     * @param assetFactory
+     *          Used to generate asset urls.
+     * @param namespace
+     *          Namespace that javascript / portlet related items should be in.
+     * @param location
+     *          Location of what is primarily the {@link org.apache.tapestry.html.Body} component.
+     * @param builder
+     *          The response delegate.
+     *
+     * @deprecated To be removed in 4.1.2 - use the
+     *              new {@link #PageRenderSupportImpl(org.apache.tapestry.asset.AssetFactory, String, org.apache.tapestry.services.ResponseBuilder, org.apache.tapestry.IRequestCycle)}
+     *              constructor instead.
+     */
     public PageRenderSupportImpl(AssetFactory assetFactory, String namespace,
                                  Location location, ResponseBuilder builder)
     {
@@ -92,6 +110,19 @@
         _preloadName = (namespace.equals("") ? "tapestry." : namespace) + "preload";
     }
 
+    public PageRenderSupportImpl(AssetFactory assetFactory, String namespace,
+                                 ResponseBuilder builder, IRequestCycle cycle)
+    {
+        Defense.notNull(assetFactory, "assetService");
+
+        _assetFactory = assetFactory;
+        _idAllocator = new IdAllocator(namespace);
+        _builder = builder;
+        _cycle = cycle;
+
+        _preloadName = (namespace.equals("") ? "tapestry." : namespace) + "preload";
+    }
+
     /**
      * Returns the location, which may be used in error messages. In practical terms, this is the
      * location of the {@link org.apache.tapestry.html.Body}&nbsp;component.
@@ -99,7 +130,22 @@
 
     public Location getLocation()
     {
-        return _location;
+        if (_location != null)
+        {
+            return _location;
+        }
+
+        if (_cycle != null)
+        {
+            IRender render = _cycle.renderStackPeek();
+
+            if (render != null && IComponent.class.isInstance(render))
+            {
+                return ((IComponent)render).getLocation();
+            }
+        }
+        
+        return null;
     }
 
     public String getPreloadedImageReference(String URL)

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java Thu Nov 15 07:49:25 2007
@@ -13,24 +13,8 @@
 // limitations under the License.
 package org.apache.tapestry.services.impl;
 
-import java.io.CharArrayWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.hivemind.Location;
-import org.apache.tapestry.BaseComponentTestCase;
-import org.apache.tapestry.IComponent;
-import org.apache.tapestry.IMarkupWriter;
-import org.apache.tapestry.IPage;
-import org.apache.tapestry.IRender;
-import org.apache.tapestry.IRequestCycle;
-import org.apache.tapestry.NestedMarkupWriter;
-import org.apache.tapestry.PageRenderSupport;
-import org.apache.tapestry.RedirectException;
-import org.apache.tapestry.TapestryUtils;
+import org.apache.tapestry.*;
 import org.apache.tapestry.asset.AssetFactory;
 import org.apache.tapestry.engine.IEngineService;
 import org.apache.tapestry.engine.ILink;
@@ -45,19 +29,20 @@
 import org.apache.tapestry.services.ServiceConstants;
 import org.apache.tapestry.util.ContentType;
 import org.apache.tapestry.web.WebResponse;
-import static org.easymock.EasyMock.checkOrder;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.isA;
+import static org.easymock.EasyMock.*;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.Test;
 
+import java.io.CharArrayWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 
 /**
  * Tests functionality of {@link DojoAjaxResponseBuilder}.
- *
- * @author jkuhnert
  */
 @SuppressWarnings("cast")
 @Test(sequential=true)
@@ -209,9 +194,6 @@
         List parts = new ArrayList();
         parts.add("id1");
 
-        DojoAjaxResponseBuilder builder =
-          new DojoAjaxResponseBuilder(cycle, rlm, mrs, resp, errorPages, assetFactory, "", pageService);
-
         expect(page.getPageName()).andReturn("RequestPage").anyTimes();
         expect(cycle.getParameter(ServiceConstants.PAGE)).andReturn("RequestPage").anyTimes();
         expect(page.peekClientId()).andReturn("pageId");
@@ -222,6 +204,9 @@
 
         replay();
 
+        DojoAjaxResponseBuilder builder =
+          new DojoAjaxResponseBuilder(cycle, rlm, mrs, resp, errorPages, assetFactory, "", pageService);
+
         builder.render(null, page, cycle);
 
         verify();
@@ -249,10 +234,6 @@
         List parts = new ArrayList();
         parts.add("id1");
 
-        DojoAjaxResponseBuilder builder =  new DojoAjaxResponseBuilder(cycle, rlm, mrs, resp, errorPages, assetFactory, "", pageService);
-
-        builder.setWriter(writer);
-
         expect(page.getPageName()).andReturn("RequestPage").anyTimes();
         expect(cycle.getParameter(ServiceConstants.PAGE)).andReturn("anotherPage").anyTimes();
 
@@ -267,6 +248,9 @@
 
         replay();
 
+        DojoAjaxResponseBuilder builder =  new DojoAjaxResponseBuilder(cycle, rlm, mrs, resp, errorPages, assetFactory, "", pageService);
+        builder.setWriter(writer);
+
         builder.render(null, page, cycle);
 
         verify();
@@ -279,12 +263,11 @@
     {
         IPage page = newMock(IPage.class);
         checkOrder(page, false);
+        
         IRequestCycle cycle = newMock(IRequestCycle.class);
         Infrastructure infra = newMock(Infrastructure.class);
         IMarkupWriter writer = newBufferWriter();
-        NestedMarkupWriter nwriter = newNestedWriter();
 
-        ILink link = newMock(ILink.class);
         Location l = newLocation();
 
         RequestLocaleManager rlm = newMock(RequestLocaleManager.class);
@@ -298,10 +281,8 @@
         List parts = new ArrayList();
         parts.add("id1");
 
-        DojoAjaxResponseBuilder builder =  new DojoAjaxResponseBuilder(cycle, rlm, mrs, resp, errorPages, assetFactory, "", pageService);
-
         PrintWriter pw = newPrintWriter();
-
+        
         rlm.persistLocale();
         expect(cycle.getInfrastructure()).andReturn(infra).anyTimes();
         expect(infra.getOutputEncoding()).andReturn(("UTF-8")).anyTimes();
@@ -309,22 +290,25 @@
         expect(resp.getPrintWriter(isA(ContentType.class))).andReturn(pw);
         expect(mrs.newMarkupWriter(eq(pw), isA(ContentType.class))).andReturn(writer);
 
-        expect(cycle.getPage()).andReturn(page);
-        expect(page.getLocation()).andReturn(l);
         expect(cycle.getAttribute(TapestryUtils.PAGE_RENDER_SUPPORT_ATTRIBUTE)).andReturn(null);
         cycle.setAttribute(eq(TapestryUtils.PAGE_RENDER_SUPPORT_ATTRIBUTE), isA(PageRenderSupport.class));
 
-        cycle.renderPage(builder);
-        // only done to simulate a caught internal stale link / other exception that would cause a new renderPage() request 
+        cycle.renderPage(isA(DojoAjaxResponseBuilder.class));
+        
+        // only done to simulate a caught internal stale link / other
+        // exception that would cause a new renderPage() request
+        
         expectLastCall().andThrow(new RedirectException("redir"));
 
-        cycle.renderPage(builder);
+        cycle.renderPage(isA(DojoAjaxResponseBuilder.class));
         cycle.removeAttribute(TapestryUtils.PAGE_RENDER_SUPPORT_ATTRIBUTE);
 
         replay();
 
-        try {
+        DojoAjaxResponseBuilder builder =  new DojoAjaxResponseBuilder(cycle, rlm, mrs, resp, errorPages, assetFactory, "", pageService);
 
+        try
+        {
             builder.renderResponse(cycle);
             unreachable();
         } catch (RedirectException e)

Modified: tapestry/tapestry4/trunk/tapestry-portlet/src/java/org/apache/tapestry/portlet/PortletRendererImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-portlet/src/java/org/apache/tapestry/portlet/PortletRendererImpl.java?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-portlet/src/java/org/apache/tapestry/portlet/PortletRendererImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-portlet/src/java/org/apache/tapestry/portlet/PortletRendererImpl.java Thu Nov 15 07:49:25 2007
@@ -62,7 +62,7 @@
         
         IMarkupWriter nested = writer.getNestedWriter();
 
-        ResponseBuilder builder = new DefaultResponseBuilder(nested, _assetFactory, namespace, false);
+        ResponseBuilder builder = new DefaultResponseBuilder(cycle, nested, _assetFactory, namespace, false);
         
         builder.renderResponse(cycle);
         

Modified: tapestry/tapestry4/trunk/tapestry-portlet/src/test/org/apache/tapestry/portlet/TestPortletRenderer.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-portlet/src/test/org/apache/tapestry/portlet/TestPortletRenderer.java?rev=595338&r1=595337&r2=595338&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-portlet/src/test/org/apache/tapestry/portlet/TestPortletRenderer.java (original)
+++ tapestry/tapestry4/trunk/tapestry-portlet/src/test/org/apache/tapestry/portlet/TestPortletRenderer.java Thu Nov 15 07:49:25 2007
@@ -14,7 +14,6 @@
 
 package org.apache.tapestry.portlet;
 
-import org.apache.hivemind.Location;
 import org.apache.tapestry.*;
 import org.apache.tapestry.asset.AssetFactory;
 import org.apache.tapestry.markup.MarkupWriterSource;
@@ -75,7 +74,6 @@
         IPage page = newMock(IPage.class);
 
         expect(page.getResponseContentType()).andReturn(contentType);
-        
         expect(page.getPageName()).andReturn("ZePage");
 
         return page;
@@ -91,23 +89,17 @@
         IRequestCycle cycle = newCycle();
         
         cycle.activate(pageName);
-
-        expect(cycle.getPage()).andReturn(page).anyTimes();
-        
-        Location l = newLocation();
-        
-        expect(page.getLocation()).andReturn(l);
         
+        expect(cycle.getPage()).andReturn(page).anyTimes();                
         expect(cycle.getAttribute("org.apache.tapestry.PageRenderSupport")).andReturn(null);
         
         // We can check that an instance of PageRenderSupport is passed in, but
         // we can't (easily) check thta it's configured the way we want.
         
-        cycle.setAttribute(eq("org.apache.tapestry.PageRenderSupport"), 
-                isA(PageRenderSupport.class));
+        cycle.setAttribute(eq("org.apache.tapestry.PageRenderSupport"),  isA(PageRenderSupport.class));
         
         cycle.renderPage(isA(ResponseBuilder.class));
-        
+
         cycle.removeAttribute("org.apache.tapestry.PageRenderSupport");
         
         return cycle;
@@ -138,7 +130,6 @@
         writer.comment("Page: ZePage");
         
         writer.comment(matches("Generated:.*"));
-        
         writer.comment(matches("Framework version:.*"));
 
         nested.close();