[jboss-svn-commits] JBL Code SVN: r9640 - in labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper: command and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Feb 20 08:18:50 EST 2007
Author: adamw
Date: 2007-02-20 08:18:50 -0500 (Tue, 20 Feb 2007)
New Revision: 9640
Added:
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/MapperTools.java
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/WikiCommandFactory.java
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/WikiUrlFactory.java
Log:
Wiki mappers
Added: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/MapperTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/MapperTools.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/MapperTools.java 2007-02-20 13:18:50 UTC (rev 9640)
@@ -0,0 +1,8 @@
+package org.jboss.labs.mapper;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class MapperTools {
+ public static final String JSF_VIEW_ID_PARAM = "org.apache.myfaces.portlet.MyFacesGenericPortlet.VIEW_ID";
+}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java 2007-02-20 12:36:15 UTC (rev 9639)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java 2007-02-20 13:18:50 UTC (rev 9640)
@@ -26,6 +26,7 @@
import java.util.Map;
import java.util.HashMap;
+import java.util.Collections;
/**
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
@@ -46,10 +47,17 @@
throw new IllegalArgumentException("Window cannot be null.");
}
+ Map bodyParams = invocation.getServerContext().getBodyParameterMap();
+ if (bodyParams == null) { bodyParams = Collections.emptyMap(); }
Map<String, String[]> queryParams = new HashMap<String, String[]>(
invocation.getServerContext().getQueryParameterMap());
- if (additionalParameters != null) {
+
+ if (additionalParameters != null) {
for (String key : additionalParameters.keySet()) {
+ if (queryParams.containsKey(key) || bodyParams.containsKey(key)) {
+ continue;
+ }
+
Object value = additionalParameters.get(key);
if (value instanceof String[]) {
queryParams.put(key, (String[]) value);
@@ -61,8 +69,7 @@
// Decoding the window state.
PortletRequestDecoder decoder = new PortletRequestDecoder();
- decoder.decode(queryParams,
- invocation.getServerContext().getBodyParameterMap());
+ decoder.decode(queryParams, bodyParams);
// Get the window navigational state
WindowNavigationalState windowNavState = getWindowNavState(invocation, window);
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/WikiCommandFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/WikiCommandFactory.java 2007-02-20 12:36:15 UTC (rev 9639)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/WikiCommandFactory.java 2007-02-20 13:18:50 UTC (rev 9640)
@@ -8,6 +8,7 @@
import org.jboss.portal.portlet.PortletParametersStateString;
import org.jboss.portal.portlet.impl.PortletRequestDecoder;
import org.jboss.labs.mapper.PathParser;
+import org.jboss.labs.mapper.MapperTools;
import org.jboss.forge.common.Constants;
/**
@@ -64,14 +65,11 @@
public ControllerCommand doMapping(ServerInvocation invocation, String host,
String contextPath, PathParser parser) {
- if (!parser.hasFirstToken()) {
- return getDefaultCommand();
- }
-
String firstToken = parser.getFirstToken();
String language = null;
- if ((firstToken.length() == 2) && (Character.isUpperCase(firstToken.charAt(1)))) {
+ if ((firstToken != null) && (firstToken.length() == 2) &&
+ (Character.isUpperCase(firstToken.charAt(1)))) {
language = firstToken;
parser.proceed();
}
@@ -85,22 +83,16 @@
} else {
page += "/" + firstToken;
}
- } else if ((firstToken.startsWith("file:")) ||
- (Character.isLowerCase(firstToken.charAt(0)))) {
- sendRedirect(invocation, "/wiki-files/" + parser.getFullPath());
} else {
- return getDefaultCommand();
+ sendRedirect(invocation, "/wiki-files/" + parser.getFullPath());
+ return null;
}
parser.proceed();
}
- if (page == null) {
- return getDefaultCommand();
- }
-
String version = null;
- if (page.contains(":")) {
+ if ((page != null) && (page.contains(":"))) {
String[] tokens = page.split("[:]", 2);
if ((tokens.length == 2)) {
page = tokens[0];
@@ -111,12 +103,11 @@
}
PortletParametersStateString params = new PortletParametersStateString();
- params.setValue("org.apache.myfaces.portlet.MyFacesGenericPortlet.VIEW_ID",
- "/views/wiki_view.xhtml");
- params.setValue("page", page);
+ params.setValue(MapperTools.JSF_VIEW_ID_PARAM, "/views/wiki_view.xhtml");
+ if (page != null) params.setValue("page", page);
if (language != null) { params.setValue("language", language); }
if (version != null) { params.setValue("version", version); }
-
+
Window wikiWindow = (Window) getContainer().getObject(windowId);
if (hasMetaParameter(invocation)) {
return getPortalObjectCF().doMapping(invocation, wikiWindow, params.getMap());
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/WikiUrlFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/WikiUrlFactory.java 2007-02-20 12:36:15 UTC (rev 9639)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/WikiUrlFactory.java 2007-02-20 13:18:50 UTC (rev 9640)
@@ -8,6 +8,7 @@
import org.jboss.portal.portlet.PortletParametersStateString;
import org.jboss.portal.portlet.impl.PortletRequestEncoder;
import org.jboss.portal.portlet.impl.PortletRequestDecoder;
+import org.jboss.labs.mapper.MapperTools;
/**
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
@@ -95,7 +96,13 @@
renderCmd.getMode(), renderCmd.getWindowState());
}
- url.getParameterMap().remove("org.apache.myfaces.portlet.MyFacesGenericPortlet.VIEW_ID");
+ String[] jsfPageParam = (String[]) url.getParameterMap().get(
+ MapperTools.JSF_VIEW_ID_PARAM);
+ String jsfPage = jsfPageParam == null ? null : jsfPageParam[0];
+
+ if ("/views/wiki_view.xhtml".equals(jsfPage)) {
+ url.getParameterMap().remove(MapperTools.JSF_VIEW_ID_PARAM);
+ }
url.getParameterMap().remove("language");
url.getParameterMap().remove("page");
url.getParameterMap().remove("version");
More information about the jboss-svn-commits
mailing list