[jboss-svn-commits] JBL Code SVN: r9632 - in labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper: url and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Feb 20 06:34:36 EST 2007
Author: adamw
Date: 2007-02-20 06:34:35 -0500 (Tue, 20 Feb 2007)
New Revision: 9632
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractLabsBaseCommandFactory.java
labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactory.java
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 urls
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractLabsBaseCommandFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractLabsBaseCommandFactory.java 2007-02-20 11:24:13 UTC (rev 9631)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractLabsBaseCommandFactory.java 2007-02-20 11:34:35 UTC (rev 9632)
@@ -9,6 +9,8 @@
import org.jboss.portal.portlet.StateString;
import org.jboss.portal.portlet.impl.PortletRequestDecoder;
+import java.io.IOException;
+
/**
* A base class for Labs command factories.
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
@@ -52,6 +54,18 @@
PortletRequestDecoder.META_PARAMETER) != null;
}
+ protected void sendRedirect(ServerInvocation invocation, String where) {
+ try {
+ String queryString = invocation.getServerContext().getClientRequest().getQueryString();
+ if (queryString != null) {
+ where += "?" + queryString;
+ }
+ invocation.getServerContext().getClientResponse().sendRedirect(where);
+ } catch (IOException e) {
+ // Oh well ...
+ }
+ }
+
/*
* Service lifecycle methods.
*/
Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactory.java 2007-02-20 11:24:13 UTC (rev 9631)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactory.java 2007-02-20 11:34:35 UTC (rev 9632)
@@ -21,5 +21,5 @@
Window window);
public ControllerCommand doMapping(ServerInvocation invocation, Window window,
- Map<String, String> additionalParameters);
+ Map<String, Object> additionalParameters);
}
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 11:24:13 UTC (rev 9631)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/LabsPortalObjectCommandFactoryImpl.java 2007-02-20 11:34:35 UTC (rev 9632)
@@ -24,7 +24,6 @@
import org.jboss.shotoku.ContentManager;
import org.jboss.shotoku.exceptions.ResourceDoesNotExist;
-import java.io.IOException;
import java.util.Map;
import java.util.HashMap;
@@ -42,14 +41,27 @@
}
public ControllerCommand doMapping(ServerInvocation invocation, Window window,
- Map<String, String> additionalParameters) {
+ Map<String, Object> additionalParameters) {
if (window == null) {
throw new IllegalArgumentException("Window cannot be null.");
}
+ Map<String, String[]> queryParams = new HashMap<String, String[]>(
+ invocation.getServerContext().getQueryParameterMap());
+ if (additionalParameters != null) {
+ for (String key : additionalParameters.keySet()) {
+ Object value = additionalParameters.get(key);
+ if (value instanceof String[]) {
+ queryParams.put(key, (String[]) value);
+ } else if (value != null) {
+ queryParams.put(key, new String[] { value.toString() });
+ }
+ }
+ }
+
// Decoding the window state.
PortletRequestDecoder decoder = new PortletRequestDecoder();
- decoder.decode(invocation.getServerContext().getQueryParameterMap(),
+ decoder.decode(queryParams,
invocation.getServerContext().getBodyParameterMap());
// Get the window navigational state
@@ -70,13 +82,13 @@
// If any additional navigational parameters where passed and if we
// can add them, adding them.
StateString navState = decoder.getNavigationalstate();
- if ((additionalParameters != null) && (navState instanceof PortletParametersStateString)) {
+ /*if ((additionalParameters != null) && (navState instanceof PortletParametersStateString)) {
PortletParametersStateString ppss = (PortletParametersStateString) navState;
for (String key : additionalParameters.keySet()) {
ppss.setValue(key, additionalParameters.get(key));
}
- }
+ }*/
// Returning an appropriate command.
switch (decoder.getType())
@@ -111,18 +123,6 @@
}
}
- private void sendRedirect(ServerInvocation invocation, String where) {
- try {
- String queryString = invocation.getServerContext().getClientRequest().getQueryString();
- if (queryString != null) {
- where += "?" + queryString;
- }
- invocation.getServerContext().getClientResponse().sendRedirect(where);
- } catch (IOException e) {
- // Oh well ...
- }
- }
-
public ControllerCommand doMapping(ServerInvocation invocation, PathParser parser,
Page page) {
if (page == null) {
@@ -172,7 +172,7 @@
if (hasMetaParameter(invocation)) {
// If so, invoking default portal actions on a window action request,
// with a default path parameter.
- Map<String, String> additionalParameters = new HashMap<String, String>();
+ Map<String, Object> additionalParameters = new HashMap<String, Object>();
additionalParameters.put(Constants.FREEZONE_PATH_PARAM, path);
return doMapping(invocation, freezone, additionalParameters);
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 11:24:13 UTC (rev 9631)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/WikiCommandFactory.java 2007-02-20 11:34:35 UTC (rev 9632)
@@ -6,11 +6,10 @@
import org.jboss.portal.core.model.portal.command.RenderPageCommand;
import org.jboss.portal.server.ServerInvocation;
import org.jboss.portal.portlet.PortletParametersStateString;
+import org.jboss.portal.portlet.impl.PortletRequestDecoder;
import org.jboss.labs.mapper.PathParser;
import org.jboss.forge.common.Constants;
-import java.util.Map;
-
/**
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
*/
@@ -65,8 +64,6 @@
public ControllerCommand doMapping(ServerInvocation invocation, String host,
String contextPath, PathParser parser) {
- System.out.println("IN WIKI CF");
-
if (!parser.hasFirstToken()) {
return getDefaultCommand();
}
@@ -80,7 +77,6 @@
}
String page = null;
- String file = null;
while (parser.hasFirstToken()) {
firstToken = parser.getFirstToken();
if (Character.isUpperCase(firstToken.charAt(0))) {
@@ -89,11 +85,14 @@
} else {
page += "/" + firstToken;
}
- } else if (firstToken.startsWith("file:")) {
- file = parser.getCurrent().substring(5);
+ } else if ((firstToken.startsWith("file:")) ||
+ (Character.isLowerCase(firstToken.charAt(0)))) {
+ sendRedirect(invocation, "/wiki-files/" + parser.getFullPath());
} else {
return getDefaultCommand();
}
+
+ parser.proceed();
}
if (page == null) {
@@ -109,23 +108,11 @@
} else {
return getDefaultCommand();
}
- } else if ((file != null) && (file.contains(":"))) {
- String[] tokens = file.split("[:]", 2);
- if ((tokens.length == 2)) {
- file = tokens[0];
- version = tokens[1];
- } else {
- return getDefaultCommand();
- }
}
- if (file != null) {
- // Redirect - where?
- // TODO
- return null;
- }
-
PortletParametersStateString params = new PortletParametersStateString();
+ params.setValue("org.apache.myfaces.portlet.MyFacesGenericPortlet.VIEW_ID",
+ "/views/wiki_view.xhtml");
params.setValue("page", page);
if (language != null) { params.setValue("language", language); }
if (version != null) { params.setValue("version", version); }
@@ -134,8 +121,9 @@
if (hasMetaParameter(invocation)) {
return getPortalObjectCF().doMapping(invocation, wikiWindow, params.getMap());
} else {
- return invokeRenderCommand(invocation, wikiWindow,
- params);
+ params.setValue(PortletRequestDecoder.META_PARAMETER,
+ Integer.toString(PortletRequestDecoder.ACTION_MASK));
+ 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 11:24:13 UTC (rev 9631)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/WikiUrlFactory.java 2007-02-20 11:34:35 UTC (rev 9632)
@@ -74,11 +74,8 @@
PortletRequestEncoder.encodeAction(url, actionCmd.getNavigationalState(),
actionCmd.getInteractionState(), actionCmd.getMode(),
actionCmd.getWindowState());
- } else if (renderCmd != null) {
- PortletRequestEncoder.encodeRender(url, navigationalState,
- renderCmd.getMode(), renderCmd.getWindowState());
- // If the request isn't only a render request, but also, for
+ // If the request isn't only an action request, but also, for
// example, window state change, we leave the meta
// parameter intact. Otherwise, we remove it from the
// url.
@@ -88,13 +85,17 @@
if (meta != null) {
int metaInt = Integer.parseInt(((String []) meta)[0], 16);
- if ((metaInt | PortletRequestDecoder.RENDER_MASK) ==
- PortletRequestDecoder.RENDER_MASK) {
+ if ((metaInt | PortletRequestDecoder.ACTION_MASK) ==
+ PortletRequestDecoder.ACTION_MASK) {
url.getParameterMap().remove(PortletRequestDecoder.META_PARAMETER);
}
}
+ } else if (renderCmd != null) {
+ PortletRequestEncoder.encodeRender(url, navigationalState,
+ renderCmd.getMode(), renderCmd.getWindowState());
}
+ url.getParameterMap().remove("org.apache.myfaces.portlet.MyFacesGenericPortlet.VIEW_ID");
url.getParameterMap().remove("language");
url.getParameterMap().remove("page");
url.getParameterMap().remove("version");
More information about the jboss-svn-commits
mailing list