Author: hlship
Date: Wed Nov 30 19:24:06 2005
New Revision: 350126
URL: http://svn.apache.org/viewcvs?rev=350126&view=rev
Log:
TAPESTRY-776: URLs for portlet links and forms are null
Modified:
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/services/impl/LinkFactoryImpl.java
jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/PortletLink.java
jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/PortletLinkFactoryImpl.java
jakarta/tapestry/trunk/portlet/src/test/org/apache/tapestry/portlet/TestPortletLink.java
jakarta/tapestry/trunk/status.xml
Modified:
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/services/impl/LinkFactoryImpl.java
URL:
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/services/impl/LinkFactoryImpl.java?rev=350126&r1=350125&r2=350126&view=diff
==============================================================================
---
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/services/impl/LinkFactoryImpl.java
(original)
+++
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/services/impl/LinkFactoryImpl.java
Wed Nov 30 19:24:06 2005
@@ -100,17 +100,7 @@
public ILink constructLink(IEngineService service, boolean post, Map
parameters,
boolean stateful)
{
- Defense.notNull(service, "service");
- Defense.notNull(parameters, "parameters");
-
- String serviceName = service.getName();
-
- if (serviceName == null)
- throw new
ApplicationRuntimeException(ImplMessages.serviceNameIsNull());
-
- parameters.put(ServiceConstants.SERVICE, serviceName);
-
- squeezeServiceParameters(parameters);
+ finalizeParameters(service, parameters);
IEngine engine = _requestCycle.getEngine();
@@ -126,6 +116,21 @@
return new EngineServiceLink(_requestCycle, fullServletPath,
engine.getOutputEncoding(),
_codec, _request, parameters, stateful);
+ }
+
+ protected void finalizeParameters(IEngineService service, Map parameters)
+ {
+ Defense.notNull(service, "service");
+ Defense.notNull(parameters, "parameters");
+
+ String serviceName = service.getName();
+
+ if (serviceName == null)
+ throw new
ApplicationRuntimeException(ImplMessages.serviceNameIsNull());
+
+ parameters.put(ServiceConstants.SERVICE, serviceName);
+
+ squeezeServiceParameters(parameters);
}
public ServiceEncoder[] getServiceEncoders()
Modified:
jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/PortletLink.java
URL:
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/PortletLink.java?rev=350126&r1=350125&r2=350126&view=diff
==============================================================================
---
jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/PortletLink.java
(original)
+++
jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/PortletLink.java
Wed Nov 30 19:24:06 2005
@@ -118,10 +118,12 @@
}
}
- public String getURL(String scheme, String server, int port, String
anchor, boolean includeParameters)
+ public String getURL(String scheme, String server, int port, String anchor,
+ boolean includeParameters)
{
- // TODO Auto-generated method stub
- return null;
+ // Ignore scheme, server and port ... those are under the control of
the portlet container.
+
+ return getURL(anchor, includeParameters);
}
public String getAbsoluteURL()
Modified:
jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/PortletLinkFactoryImpl.java
URL:
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/PortletLinkFactoryImpl.java?rev=350126&r1=350125&r2=350126&view=diff
==============================================================================
---
jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/PortletLinkFactoryImpl.java
(original)
+++
jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/PortletLinkFactoryImpl.java
Wed Nov 30 19:24:06 2005
@@ -44,11 +44,10 @@
_renderResponse = renderResponse;
}
- public ILink constructLink(IEngineService service, boolean post, Map
parameters, boolean stateful)
+ public ILink constructLink(IEngineService service, boolean post, Map
parameters,
+ boolean stateful)
{
- Defense.notNull(parameters, "parameters");
-
- squeezeServiceParameters(parameters);
+ finalizeParameters(service, parameters);
PortletURL url = _renderResponse.createActionURL();
Modified:
jakarta/tapestry/trunk/portlet/src/test/org/apache/tapestry/portlet/TestPortletLink.java
URL:
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/portlet/src/test/org/apache/tapestry/portlet/TestPortletLink.java?rev=350126&r1=350125&r2=350126&view=diff
==============================================================================
---
jakarta/tapestry/trunk/portlet/src/test/org/apache/tapestry/portlet/TestPortletLink.java
(original)
+++
jakarta/tapestry/trunk/portlet/src/test/org/apache/tapestry/portlet/TestPortletLink.java
Wed Nov 30 19:24:06 2005
@@ -190,17 +190,48 @@
verifyControls();
}
-
+
+ public void testGetURLLongForm()
+ {
+ IRequestCycle cycle = newCycle();
+ PortletURL url = newPortletURL();
+
+ QueryParameterMap parameters = (QueryParameterMap)
newMock(QueryParameterMap.class);
+
+ parameters.getParameterNames();
+ setReturnValue(parameters, new String[]
+ { "page" });
+
+ parameters.getParameterValues("page");
+ String[] values = new String[]
+ { "View" };
+ setReturnValue(parameters, values);
+
+ url.setParameter("page", values);
+
+ replayControls();
+
+ ILink link = new PortletLink(cycle, url, parameters, false);
+
+ assertEquals("EasyMock for interface javax.portlet.PortletURL#anchor",
link.getURL(
+ "scheme",
+ "server",
+ 99,
+ "anchor",
+ true));
+
+ verifyControls();
+ }
+
public void testGetURLUnencoding()
{
IRequestCycle cycle = newCycle();
PortletURL url = new PortletURLFixture("this=foo&that=bar");
- MockControl control = newControl(QueryParameterMap.class);
- QueryParameterMap parameters = (QueryParameterMap) control.getMock();
+ QueryParameterMap parameters = (QueryParameterMap)
newMock(QueryParameterMap.class);
parameters.getParameterNames();
- control.setReturnValue(new String[0]);
+ setReturnValue(parameters, new String[0]);
replayControls();
@@ -209,7 +240,7 @@
assertEquals("this=foo&that=bar", link.getURL());
verifyControls();
- }
+ }
public void testGetURLIncludeParameters()
{
Modified: jakarta/tapestry/trunk/status.xml
URL:
http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/status.xml?rev=350126&r1=350125&r2=350126&view=diff
==============================================================================
--- jakarta/tapestry/trunk/status.xml (original)
+++ jakarta/tapestry/trunk/status.xml Wed Nov 30 19:24:06 2005
@@ -69,6 +69,7 @@
<action type="fix" dev="HLS" fixes-bug="TAPESTRY-275" due-to="Igor
Grimaylo">Single quotes in a localization of DatePicker strings causes a
failure</action>
<action type="fix" dev="HLS" fixes-bug="TAPESTRY-701">NPE creating a
link from pageValidate() when there are client-persistent properties with page
scope</action>
<action type="fix" dev="HLS" fixes-bug="TAPESTRY-607">Output encoding
problem with some versions of Tomcat 5</action>
+ <action type="fix" dev="HLS" fixes-bug="TAPESTRY-776">URLs for portlet
links and forms are null</action>
</release>
<release version="4.0-beta-13" date="Nov 12 2005">
<action type="update" dev="HLS">Switch to HiveMind 1.1 (final)</action>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]