Author: hlship
Date: Fri Dec 16 08:36:04 2005
New Revision: 357180

URL: http://svn.apache.org/viewcvs?rev=357180&view=rev
Log:
TAPESTRY-808: Engine Service proxies don't correctly forward "post" parameter 
of IEngineService.getLink

Added:
    
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/AbstractEngineServiceProxyTestCase.java
    
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/EngineServiceInnerProxyTest.java
      - copied, changed from r357177, 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/TestEngineServiceInnerProxy.java
    
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/EngineServiceOuterProxyTest.java
      - copied, changed from r357177, 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/TestEngineServiceOuterProxy.java
Removed:
    
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/TestEngineServiceInnerProxy.java
    
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/TestEngineServiceOuterProxy.java
Modified:
    
jakarta/tapestry/branches/4.0/framework/src/java/org/apache/tapestry/services/impl/EngineServiceInnerProxy.java
    
jakarta/tapestry/branches/4.0/framework/src/java/org/apache/tapestry/services/impl/EngineServiceOuterProxy.java
    jakarta/tapestry/branches/4.0/project.properties
    jakarta/tapestry/branches/4.0/status.xml

Modified: 
jakarta/tapestry/branches/4.0/framework/src/java/org/apache/tapestry/services/impl/EngineServiceInnerProxy.java
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/branches/4.0/framework/src/java/org/apache/tapestry/services/impl/EngineServiceInnerProxy.java?rev=357180&r1=357179&r2=357180&view=diff
==============================================================================
--- 
jakarta/tapestry/branches/4.0/framework/src/java/org/apache/tapestry/services/impl/EngineServiceInnerProxy.java
 (original)
+++ 
jakarta/tapestry/branches/4.0/framework/src/java/org/apache/tapestry/services/impl/EngineServiceInnerProxy.java
 Fri Dec 16 08:36:04 2005
@@ -69,7 +69,7 @@
 
     public synchronized ILink getLink(boolean post, Object parameter)
     {
-        return resolve().getLink(false, parameter);
+        return resolve().getLink(post, parameter);
     }
 
     public synchronized void service(IRequestCycle cycle) throws IOException

Modified: 
jakarta/tapestry/branches/4.0/framework/src/java/org/apache/tapestry/services/impl/EngineServiceOuterProxy.java
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/branches/4.0/framework/src/java/org/apache/tapestry/services/impl/EngineServiceOuterProxy.java?rev=357180&r1=357179&r2=357180&view=diff
==============================================================================
--- 
jakarta/tapestry/branches/4.0/framework/src/java/org/apache/tapestry/services/impl/EngineServiceOuterProxy.java
 (original)
+++ 
jakarta/tapestry/branches/4.0/framework/src/java/org/apache/tapestry/services/impl/EngineServiceOuterProxy.java
 Fri Dec 16 08:36:04 2005
@@ -58,7 +58,7 @@
 
     public ILink getLink(boolean post, Object parameter)
     {
-        return _delegate.getLink(false, parameter);
+        return _delegate.getLink(post, parameter);
     }
 
     public void service(IRequestCycle cycle) throws IOException

Added: 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/AbstractEngineServiceProxyTestCase.java
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/AbstractEngineServiceProxyTestCase.java?rev=357180&view=auto
==============================================================================
--- 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/AbstractEngineServiceProxyTestCase.java
 (added)
+++ 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/AbstractEngineServiceProxyTestCase.java
 Fri Dec 16 08:36:04 2005
@@ -0,0 +1,52 @@
+// Copyright 2005 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry.services.impl;
+
+import org.apache.hivemind.test.HiveMindTestCase;
+import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.engine.IEngineService;
+import org.apache.tapestry.engine.ILink;
+
+/**
+ * Base class for test cases of engine service proxies.
+ * 
+ * @author Howard M. Lewis Ship
+ * @since 4.0
+ */
+public abstract class AbstractEngineServiceProxyTestCase extends 
HiveMindTestCase
+{
+
+    protected IRequestCycle newCycle()
+    {
+        return (IRequestCycle) newMock(IRequestCycle.class);
+    }
+
+    protected IEngineService newEngineService()
+    {
+        return (IEngineService) newMock(IEngineService.class);
+    }
+
+    protected void trainGetLink(IEngineService service, boolean post, Object 
parameter, ILink link)
+    {
+        service.getLink(post, parameter);
+        setReturnValue(service, link);
+    }
+
+    protected ILink newLink()
+    {
+        return (ILink) newMock(ILink.class);
+    }
+
+}

Copied: 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/EngineServiceInnerProxyTest.java
 (from r357177, 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/TestEngineServiceInnerProxy.java)
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/EngineServiceInnerProxyTest.java?p2=jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/EngineServiceInnerProxyTest.java&p1=jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/TestEngineServiceInnerProxy.java&r1=357177&r2=357180&rev=357180&view=diff
==============================================================================
--- 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/TestEngineServiceInnerProxy.java
 (original)
+++ 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/EngineServiceInnerProxyTest.java
 Fri Dec 16 08:36:04 2005
@@ -14,11 +14,9 @@
 
 package org.apache.tapestry.services.impl;
 
-import org.apache.hivemind.test.HiveMindTestCase;
 import org.apache.tapestry.IRequestCycle;
 import org.apache.tapestry.engine.IEngineService;
 import org.apache.tapestry.engine.ILink;
-import org.easymock.MockControl;
 
 /**
  * Tests for [EMAIL PROTECTED] 
org.apache.tapestry.services.impl.EngineServiceInnerProxy}.
@@ -26,25 +24,14 @@
  * @author Howard M. Lewis Ship
  * @since 4.0
  */
-public class TestEngineServiceInnerProxy extends HiveMindTestCase
+public class EngineServiceInnerProxyTest extends 
AbstractEngineServiceProxyTestCase
 {
-    private ILink newLink()
-    {
-        return (ILink) newMock(ILink.class);
-    }
-
-    private IRequestCycle newCycle()
-    {
-        return (IRequestCycle) newMock(IRequestCycle.class);
-    }
-
     private EngineServiceSource newSource(String name, IEngineService service)
     {
-        MockControl control = newControl(EngineServiceSource.class);
-        EngineServiceSource source = (EngineServiceSource) control.getMock();
+        EngineServiceSource source = newSource();
 
         source.resolveEngineService(name);
-        control.setReturnValue(service);
+        setReturnValue(source, service);
 
         return source;
     }
@@ -52,7 +39,7 @@
     public void testGetName()
     {
         EngineServiceOuterProxy outer = new EngineServiceOuterProxy("Outer");
-        EngineServiceSource source = (EngineServiceSource) 
newMock(EngineServiceSource.class);
+        EngineServiceSource source = newSource();
 
         replayControls();
 
@@ -64,17 +51,20 @@
         verifyControls();
     }
 
-    public void testGetLink()
+    protected EngineServiceSource newSource()
+    {
+        return (EngineServiceSource) newMock(EngineServiceSource.class);
+    }
+
+    public void testGetLinkNonPost()
     {
         ILink link = newLink();
 
-        MockControl control = newControl(IEngineService.class);
-        IEngineService service = (IEngineService) control.getMock();
+        IEngineService service = newEngineService();
 
         Object parameter = new Object();
 
-        service.getLink(false, parameter);
-        control.setReturnValue(link);
+        trainGetLink(service, false, parameter, link);
 
         EngineServiceSource source = newSource("fred", service);
 
@@ -92,10 +82,35 @@
         verifyControls();
     }
 
+    public void testGetLinkPost()
+    {
+        ILink link = newLink();
+
+        IEngineService service = newEngineService();
+
+        Object parameter = new Object();
+
+        trainGetLink(service, true, parameter, link);
+
+        EngineServiceSource source = newSource("fred", service);
+
+        replayControls();
+
+        EngineServiceOuterProxy outer = new EngineServiceOuterProxy("fred");
+        EngineServiceInnerProxy inner = new EngineServiceInnerProxy("fred", 
outer, source);
+
+        outer.installDelegate(inner);
+
+        assertSame(link, outer.getLink(true, parameter));
+
+        assertSame(service, outer.getDelegate());
+
+        verifyControls();
+    }
     public void testService() throws Exception
     {
         IRequestCycle cycle = newCycle();
-        IEngineService service = (IEngineService) 
newMock(IEngineService.class);
+        IEngineService service = newEngineService();
 
         service.service(cycle);
 

Copied: 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/EngineServiceOuterProxyTest.java
 (from r357177, 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/TestEngineServiceOuterProxy.java)
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/EngineServiceOuterProxyTest.java?p2=jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/EngineServiceOuterProxyTest.java&p1=jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/TestEngineServiceOuterProxy.java&r1=357177&r2=357180&rev=357180&view=diff
==============================================================================
--- 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/TestEngineServiceOuterProxy.java
 (original)
+++ 
jakarta/tapestry/branches/4.0/framework/src/test/org/apache/tapestry/services/impl/EngineServiceOuterProxyTest.java
 Fri Dec 16 08:36:04 2005
@@ -14,11 +14,9 @@
 
 package org.apache.tapestry.services.impl;
 
-import org.apache.hivemind.test.HiveMindTestCase;
 import org.apache.tapestry.IRequestCycle;
 import org.apache.tapestry.engine.IEngineService;
 import org.apache.tapestry.engine.ILink;
-import org.easymock.MockControl;
 
 /**
  * Tests for [EMAIL PROTECTED] 
org.apache.tapestry.services.impl.EngineServiceOuterProxy}.
@@ -26,7 +24,7 @@
  * @author Howard M. Lewis Ship
  * @since 4.0
  */
-public class TestEngineServiceOuterProxy extends HiveMindTestCase
+public class EngineServiceOuterProxyTest extends 
AbstractEngineServiceProxyTestCase
 {
     public void testToString()
     {
@@ -35,57 +33,55 @@
         assertEquals("<OuterProxy for engine service 'fred'>", s.toString());
     }
 
-    public void testGetLink()
+    public void testGetName()
     {
-        ILink link = (ILink) newMock(ILink.class);
+        EngineServiceOuterProxy proxy = new EngineServiceOuterProxy("Fred");
 
-        MockControl control = newControl(IEngineService.class);
-        IEngineService delegate = (IEngineService) control.getMock();
+        assertEquals("Fred", proxy.getName());
+    }
 
-        Object parameter = new Object();
+    public void testService() throws Exception
+    {
+        IRequestCycle cycle = newCycle();
+        IEngineService delegate = newEngineService();
 
-        delegate.getLink(false, parameter);
-        control.setReturnValue(link);
+        delegate.service(cycle);
 
         replayControls();
 
         EngineServiceOuterProxy proxy = new EngineServiceOuterProxy("xxx");
         proxy.installDelegate(delegate);
 
-        assertSame(link, proxy.getLink(false, parameter));
-
-        verifyControls();
-    }
-
-    private IRequestCycle newCycle()
-    {
-        return (IRequestCycle) newMock(IRequestCycle.class);
-    }
-
-    public void testGetName()
-    {
+        assertSame(delegate, proxy.getDelegate());
 
-        EngineServiceOuterProxy proxy = new EngineServiceOuterProxy("Fred");
+        proxy.service(cycle);
 
-        assertEquals("Fred", proxy.getName());
+        verifyControls();
     }
 
-    public void testService() throws Exception
+    public void testGetLink() throws Exception
     {
-        IRequestCycle cycle = newCycle();
-        IEngineService delegate = (IEngineService) 
newMock(IEngineService.class);
+        IEngineService delegate = newEngineService();
+        ILink link = newLink();
+        Object parameter = new Object();
 
-        delegate.service(cycle);
+        trainGetLink(delegate, false, parameter, link);
 
         replayControls();
 
         EngineServiceOuterProxy proxy = new EngineServiceOuterProxy("xxx");
         proxy.installDelegate(delegate);
 
-        assertSame(delegate, proxy.getDelegate());
+        assertSame(link, proxy.getLink(false, parameter));
 
-        proxy.service(cycle);
+        verifyControls();
+
+        trainGetLink(delegate, true, parameter, link);
+
+        replayControls();
+
+        assertSame(link, proxy.getLink(true, parameter));
 
         verifyControls();
     }
-}
\ No newline at end of file
+}

Modified: jakarta/tapestry/branches/4.0/project.properties
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/branches/4.0/project.properties?rev=357180&r1=357179&r2=357180&view=diff
==============================================================================
--- jakarta/tapestry/branches/4.0/project.properties (original)
+++ jakarta/tapestry/branches/4.0/project.properties Fri Dec 16 08:36:04 2005
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 project.name=jakarta-tapestry
-project.version=4.0
+project.version=4.0-rc-2
 
 dist.name=tapestry
 

Modified: jakarta/tapestry/branches/4.0/status.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/tapestry/branches/4.0/status.xml?rev=357180&r1=357179&r2=357180&view=diff
==============================================================================
--- jakarta/tapestry/branches/4.0/status.xml (original)
+++ jakarta/tapestry/branches/4.0/status.xml Fri Dec 16 08:36:04 2005
@@ -54,9 +54,11 @@
     -->
   </todo>
   <changes>
-    <release version="4.0" date="unreleased">
+    <release version="4.0-rc-2" date="unreleased">
       <action type="fix" dev="HLS" 
fixes-bug="TAPESTRY-789">DefaultResourceLocalizerTest is under framework/src 
not framework/test</action>
       <action type="fix" dev="HLS" fixes-bug="TAPESTRY-658" due-to="Leonardo 
Quijano Vincenzi">LabeledPropertySelectionModel throws NPE on null 
value</action>
+      <action type="fix" dev="HLS" fixes-bug="TAPESTRY-808">Engine Service 
proxies don't correctly forward "post" parameter of 
IEngineService.getLink</action>
+      <action type="add" dev="HLS" fixes-bug="TAPESTRY-790">Add Tapestry @ 
JavaForge as related project</action>
     </release>
     <release version="4.0-rc-1" date="Dec 6 2005">
       <action type="update" dev="HLS">Make default binding prefix 
configurable</action>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to