Author: lukaszlenart
Date: Fri Feb 24 08:14:55 2012
New Revision: 1293127
URL: http://svn.apache.org/viewvc?rev=1293127&view=rev
Log:
WW-3763 restores the old behaviour of Portlet plugin, to allow use portlets in
standalone application as well
Modified:
struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java
struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/portlet/context/PortletActionContext.java
Modified:
struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java?rev=1293127&r1=1293126&r2=1293127&view=diff
==
---
struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java
(original)
+++
struts/struts2/trunk/plugins/portlet/src/main/java/org/apache/struts2/components/PortletUrlRenderer.java
Fri Feb 24 08:14:55 2012
@@ -39,7 +39,6 @@ import java.io.Writer;
* Implementation of the {@link UrlRenderer} interface that renders URLs for
portlet environments.
*
* @see UrlRenderer
- *
*/
public class PortletUrlRenderer implements UrlRenderer {
@@ -62,31 +61,30 @@ public class PortletUrlRenderer implemen
}
@Inject
-public void setActionMapper( ActionMapper actionMapper) {
+public void setActionMapper(ActionMapper actionMapper) {
servletRenderer.setActionMapper(actionMapper);
}
- /**
-* {@inheritDoc}
-*/
- public void renderUrl(Writer writer, UrlProvider urlComponent) {
-String scheme = urlComponent.getHttpServletRequest().getScheme();
-
-if (urlComponent.getScheme() != null) {
-scheme = urlComponent.getScheme();
+/**
+ * {@inheritDoc}
+ */
+public void renderUrl(Writer writer, UrlProvider urlComponent) {
+if (PortletActionContext.getPortletContext() == null ||
"none".equalsIgnoreCase(urlComponent.getPortletUrlType())) {
+servletRenderer.renderUrl(writer, urlComponent);
+return;
}
String result;
if (onlyActionSpecified(urlComponent)) {
-result = portletUrlHelper.buildUrl(urlComponent.getAction(),
urlComponent.getNamespace(), urlComponent.getMethod(),
urlComponent.getParameters(), urlComponent.getPortletUrlType(),
urlComponent.getPortletMode(), urlComponent.getWindowState());
-} else if(onlyValueSpecified(urlComponent)){
-result =
portletUrlHelper.buildResourceUrl(urlComponent.getValue(),
urlComponent.getParameters());
-}
-else {
- result = createDefaultUrl(urlComponent);
+result = portletUrlHelper.buildUrl(urlComponent.getAction(),
urlComponent.getNamespace(), urlComponent.getMethod(),
+urlComponent.getParameters(),
urlComponent.getPortletUrlType(), urlComponent.getPortletMode(),
urlComponent.getWindowState());
+} else if (onlyValueSpecified(urlComponent)) {
+result =
portletUrlHelper.buildResourceUrl(urlComponent.getValue(),
urlComponent.getParameters());
+} else {
+result = createDefaultUrl(urlComponent);
}
final String anchor = urlComponent.getAnchor();
-if ( anchor != null && anchor.length() > 0 ) {
+if (anchor != null && anchor.length() > 0) {
result += '#' + anchor;
}
@@ -104,17 +102,17 @@ public class PortletUrlRenderer implemen
throw new StrutsException("IOError: " + e.getMessage(), e);
}
}
- }
+}
- private String createDefaultUrl(UrlProvider urlComponent) {
- String result;
- ActionInvocation ai =
(ActionInvocation)urlComponent.getStack().getContext().get(
- ActionContext.ACTION_INVOCATION);
- String action = ai.getProxy().getActionName();
- result = portletUrlHelper.buildUrl(action,
urlComponent.getNamespace(), urlComponent.getMethod(),
urlComponent.getParameters(),
+private String createDefaultUrl(UrlProvider urlComponent) {
+String result;
+ActionInvocation ai = (ActionInvocation)
urlComponent.getStack().getContext().get(
+ActionContext.ACTION_INVOCATION);
+String action = ai.getProxy().getActionName();
+result = portletUrlHelper.buildUrl(action,
urlComponent.getNamespace(), urlComponent.getMethod(),
urlComponent.getParameters(),
urlComponent.getPortletUrlType(),
urlComponent.getPortletMode(), urlComponent.getWindowState());
- return result;
- }
+return result;
+}
private boolean onlyValueSpecified(UrlProvider urlComponent) {
return urlComponent.getValue() != null && ur