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]