[jboss-svn-commits] JBL Code SVN: r19455 - in labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper: command and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Apr 7 11:23:33 EDT 2008


Author: adamw
Date: 2008-04-07 11:23:33 -0400 (Mon, 07 Apr 2008)
New Revision: 19455

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/RedirectCommand.java
Removed:
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/delegating/page/BlogCF.java
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/BlogUrlFactory.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractBaseCF.java
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/MainCF.java
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/PortalObjectCFImpl.java
   labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/delegating/page/WikiCF.java
Log:
Fixing mappers

Added: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/RedirectCommand.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/RedirectCommand.java	                        (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/RedirectCommand.java	2008-04-07 15:23:33 UTC (rev 19455)
@@ -0,0 +1,26 @@
+package org.jboss.labs.mapper;
+
+import org.jboss.portal.core.controller.ControllerCommand;
+import org.jboss.portal.core.controller.ControllerException;
+import org.jboss.portal.core.controller.ControllerResponse;
+import org.jboss.portal.core.controller.command.info.CommandInfo;
+import org.jboss.portal.core.controller.command.response.RedirectionResponse;
+
+public class RedirectCommand extends ControllerCommand {
+	private String redirectTo;
+	
+	public RedirectCommand(String redirectTo) {
+		this.redirectTo = redirectTo;
+	}
+	
+	@Override
+	public ControllerResponse execute() throws ControllerException {
+		return new RedirectionResponse(redirectTo);
+	}
+
+	@Override
+	public CommandInfo getInfo() {
+		return null;
+	}
+
+}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractBaseCF.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractBaseCF.java	2008-04-07 14:32:31 UTC (rev 19454)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/AbstractBaseCF.java	2008-04-07 15:23:33 UTC (rev 19455)
@@ -1,8 +1,8 @@
 package org.jboss.labs.mapper.command;
 
 import org.jboss.portal.core.model.portal.*;
-import org.jboss.portal.core.model.portal.navstate.WindowNavigationalState;
 import org.jboss.portal.core.model.portal.command.action.InvokePortletWindowRenderCommand;
+import org.jboss.portal.core.model.portal.navstate.WindowNavigationalState;
 import org.jboss.portal.core.controller.ControllerCommand;
 import org.jboss.portal.core.controller.ControllerContext;
 import org.jboss.portal.jems.as.system.AbstractJBossService;
@@ -10,9 +10,8 @@
 import org.jboss.portal.portlet.StateString;
 import org.jboss.portal.portlet.impl.PortletRequestDecoder;
 import org.jboss.labs.mapper.MapperTools;
+import org.jboss.labs.mapper.RedirectCommand;
 
-import java.io.IOException;
-
 /**
  * A base class for Labs command factories.
  * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
@@ -42,16 +41,13 @@
                     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 ...
+    protected ControllerCommand sendRedirect(ServerInvocation invocation, String where) {
+        String queryString = invocation.getServerContext().getClientRequest().getQueryString();
+        if (queryString != null) {
+            where += "?" + queryString;
         }
+            
+        return new RedirectCommand(where);
     }
 
     /*

Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/MainCF.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/MainCF.java	2008-04-07 14:32:31 UTC (rev 19454)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/MainCF.java	2008-04-07 15:23:33 UTC (rev 19455)
@@ -1,6 +1,7 @@
 package org.jboss.labs.mapper.command;
 
 import org.jboss.portal.core.controller.command.mapper.CommandFactory;
+import org.jboss.portal.core.controller.command.response.RedirectionResponse;
 import org.jboss.portal.core.controller.ControllerCommand;
 import org.jboss.portal.core.controller.ControllerContext;
 import org.jboss.portal.core.model.portal.*;
@@ -86,7 +87,7 @@
 			ServerInvocation invocation, String host, String contextPath,
 			String requestPath) {
 		PathParser parser = new PathParser(requestPath);
-
+		
 		// Redirects.
 		if ("portal".equals(parser.getFirstToken())) {
 			String rest = parser.getRest();
@@ -100,8 +101,7 @@
 						rest = "";
 					}
 
-					sendRedirect(invocation, "/developers/" + rest);
-					return null;
+					return sendRedirect(invocation, "/developers/" + rest);
 				}
 			}
 
@@ -109,8 +109,7 @@
 				rest = "";
 			}
 
-			sendRedirect(invocation, "/" + rest);
-			return null;
+			return sendRedirect(invocation, "/" + rest);
 		} else if ("jbossrules".equals(parser.getFirstToken())) {
 			String rest = parser.getRest();
 
@@ -118,12 +117,7 @@
 				rest = "";
 			}
 
-			sendRedirect(invocation, "/drools/" + rest);
-			return null;
-		} else if ("feeds".equals(parser.getFirstToken()) && parser.hasMoreTokens()) {
-			parser.proceed();
-			sendRedirect(invocation, "/feeds/xml/" + parser.getFirstToken() + "?type=atom");
-			return null;
+			return sendRedirect(invocation, "/drools/" + rest);
 		}
 		// End of redirects.
 
@@ -140,8 +134,7 @@
 					if (lastSlash != -1) {
 						String lastToken = rest.substring(lastSlash + 1);
 						if (!lastToken.contains(".") && !lastToken.equals("")) {
-							sendRedirect(invocation, parser.getFullPath() + "/");
-							return null;
+							return sendRedirect(invocation, parser.getFullPath() + "/");
 						}
 					}
 				}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/PortalObjectCFImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/PortalObjectCFImpl.java	2008-04-07 14:32:31 UTC (rev 19454)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/PortalObjectCFImpl.java	2008-04-07 15:23:33 UTC (rev 19455)
@@ -170,8 +170,7 @@
                         path);
                 if (!Constants.PAGES_MIME_TYPE.equals(cm.getNode(absPath).getMimeType())) {
                     // A binary request; redirecting to file-access.
-                    sendRedirect(invocation, ForgeHelper.createFileAccessPath(absPath));
-                    return null;
+                    return sendRedirect(invocation, ForgeHelper.createFileAccessPath(absPath));
                 }
             } catch (ResourceDoesNotExist resourceDoesNotExist) {
                 // The page does not exist; proceeding.

Deleted: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/delegating/page/BlogCF.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/delegating/page/BlogCF.java	2008-04-07 14:32:31 UTC (rev 19454)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/delegating/page/BlogCF.java	2008-04-07 15:23:33 UTC (rev 19455)
@@ -1,96 +0,0 @@
-package org.jboss.labs.mapper.command.delegating.page;
-
-import org.jboss.labs.mapper.PathParser;
-import org.jboss.portal.server.ServerInvocation;
-import org.jboss.portal.portlet.impl.PortletRequestDecoder;
-import org.jboss.portal.core.controller.ControllerCommand;
-import org.jboss.portal.core.controller.ControllerContext;
-import org.jboss.portal.core.model.portal.Page;
-import org.jboss.portal.core.model.portal.PortalObjectPath;
-import org.jboss.portal.core.model.portal.Window;
-import org.jboss.portal.core.model.portal.PortalObjectId;
-import org.jboss.forge.common.Constants;
-import org.jboss.forge.common.exceptions.ServiceRetrievalException;
-import org.jboss.forge.common.ejb3.ProjectPagesService;
-import org.jboss.forge.common.ejb3.LabsServices;
-
-import java.util.Map;
-import java.util.HashMap;
-
-/**
- * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
- */
-public class BlogCF extends AbstractProjectPortletDelegateCF {
-    public String getPortletName() {
-        return "blog";
-    }
-
-    public void fillParams(ControllerContext controllerContext, ServerInvocation invocation, PathParser parser, Map<String, Object> params) {
-        String current = parser.getCurrent();
-        if (current != null) {
-            params.put("post", parser.getCurrent());
-        }
-
-        params.put("windowstate", "maximized");
-        params.put(PortletRequestDecoder.META_PARAMETER, Integer
-					.toHexString((PortletRequestDecoder.RENDER_MASK | PortletRequestDecoder.WINDOW_STATE_MASK)));
-    }
-
-    /**
-     * Portal id of the labs portal.
-     */
-    private PortalObjectId defaultProjectPagePath = PortalObjectId.parse(
-            "/" + Constants.LABS_PORTAL + "/" + "default",
-            PortalObjectPath.CANONICAL_FORMAT);
-
-    public ControllerCommand doMapping(ControllerContext controllerContext, ServerInvocation invocation, String host,
-                                       String contextPath, PathParser parser, Page page) {
-        String projectId = page.getDeclaredProperty(Constants.PORTAL_OBJECT_LABS_MARKER);
-
-        if (projectId == null) {
-            // If the page from which the request came isn't a project page, trying to
-            // display the blog on the default page.
-            page = (Page) getContainer().getObject(defaultProjectPagePath);
-        }
-
-        ProjectPagesService pps;
-
-        try {
-            pps = LabsServices.getProjectPagesService();
-        } catch (ServiceRetrievalException e) {
-            return null;
-        }
-
-        String pageName = null;
-        if (!page.getName().equals(projectId)) {
-            pageName = page.getName();
-        }
-
-        // First trying a window with a possible unique-id
-        Window portletWindow = page.getWindow(pps.createWindowId(getPortletName(), projectId, pageName,
-                parser.getFirstToken()));
-        if (portletWindow == null) {
-            // Trying if there is no single downloads window.
-            portletWindow = page.getWindow(pps.createWindowId(getPortletName(), projectId, pageName, null));
-        } else {
-            // Forgetting the unique-id.
-            parser.proceed();
-        }
-
-        // Checking if a downloads window was found on the page.
-        if (portletWindow == null) {
-            return null;
-        }
-
-        Map<String, Object> params = new HashMap<String, Object>();
-        fillParams(controllerContext, invocation, parser, params);
-
-        if (!params.containsKey(PortletRequestDecoder.META_PARAMETER)) {
-            params.put(PortletRequestDecoder.META_PARAMETER, Integer
-					.toHexString(PortletRequestDecoder.RENDER_MASK));
-        }
-
-        return getPortalObjectCF().doMapping(controllerContext, invocation, portletWindow,
-					params, false);
-    }
-}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/delegating/page/WikiCF.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/delegating/page/WikiCF.java	2008-04-07 14:32:31 UTC (rev 19454)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/command/delegating/page/WikiCF.java	2008-04-07 15:23:33 UTC (rev 19455)
@@ -87,8 +87,7 @@
 					page += "/" + firstToken;
 				}
 			} else {
-				sendRedirect(invocation, "/wiki-files/" + current);
-				return null;
+				return sendRedirect(invocation, "/wiki-files/" + current);
 			}
 
 			parser.proceed();

Deleted: labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/BlogUrlFactory.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/BlogUrlFactory.java	2008-04-07 14:32:31 UTC (rev 19454)
+++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/src/java/org/jboss/labs/mapper/url/BlogUrlFactory.java	2008-04-07 15:23:33 UTC (rev 19455)
@@ -1,91 +0,0 @@
-package org.jboss.labs.mapper.url;
-
-import org.jboss.portal.server.ServerURL;
-import org.jboss.portal.server.ServerInvocation;
-import org.jboss.portal.portlet.PortletParametersStateString;
-import org.jboss.portal.portlet.StateString;
-import org.jboss.portal.core.controller.ControllerCommand;
-import org.jboss.portal.core.controller.ControllerContext;
-import org.jboss.portal.core.model.portal.command.action.InvokeWindowCommand;
-import org.jboss.portal.core.model.portal.command.action.InvokePortletWindowActionCommand;
-import org.jboss.portal.core.model.portal.command.action.InvokePortletWindowRenderCommand;
-import org.jboss.portal.core.model.portal.command.PortalObjectCommand;
-import org.jboss.portal.core.model.portal.PortalObjectId;
-import org.jboss.portal.core.model.portal.PortalObject;
-import org.jboss.forge.common.Constants;
-
-/**
- * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
- */
-public class BlogUrlFactory extends AbstractLabsProjectPortletUrlFactory {
-    public void buildPathFromPortletParameters(StringBuffer sb, PortletParametersStateString ppss) {
-        if (ppss.getValue("post") != null) {
-            addTokenToPath(sb, ppss.getValue("post").toLowerCase());
-        }
-    }
-
-    public void finishUrl(ServerURL url) {
-        url.getParameterMap().remove("post");
-    }
-
-    public ServerURL doMapping(ControllerContext context, ServerInvocation invocation, ControllerCommand cmd) {
-        if (cmd == null) {
-            throw new IllegalArgumentException("No null command accepted");
-        }
-
-        if (cmd instanceof InvokeWindowCommand) {
-            PortalObjectCommand poc = (PortalObjectCommand) cmd;
-            PortalObjectId targetId = poc.getTargetId();
-
-            if (targetId.getPath().getLength() <= 0) {
-                return null;
-            }
-
-            if (targetId.getPath().getName(targetId.getPath().getLength() - 1).toLowerCase().contains(getPath())) {
-                PortalObject po = getContainer().getObject(targetId);
-                StringBuffer sb = new StringBuffer();
-
-                if (po.getDeclaredProperty(Constants.PORTAL_OBJECT_LABS_MARKER) != null) {
-                    addToPath(sb, targetId, false);
-                }
-                
-                addTokenToPath(sb, getPath());
-
-                InvokePortletWindowActionCommand actionCmd = null;
-                InvokePortletWindowRenderCommand renderCmd = null;
-
-                StateString navigationalState = null;
-
-                if (poc instanceof InvokePortletWindowActionCommand) {
-                    actionCmd = (InvokePortletWindowActionCommand) poc;
-                    navigationalState = actionCmd.getNavigationalState();
-                } else if (poc instanceof InvokePortletWindowRenderCommand) {
-                    renderCmd = (InvokePortletWindowRenderCommand) poc;
-                    navigationalState = renderCmd.getNavigationalState();
-                }
-
-                String uniqueId = po.getDeclaredProperty(
-                        Constants.PORTAL_OBJECT_UNIQUE_ID_MARKER);
-                if (uniqueId != null) {
-                    addTokenToPath(sb, uniqueId);
-                }
-
-                if (navigationalState instanceof PortletParametersStateString) {
-                    PortletParametersStateString ppss =
-                            (PortletParametersStateString) navigationalState;
-
-                    buildPathFromPortletParameters(sb, ppss);
-                }
-
-                ServerURL url = convertToURL(sb);
-                encodeUrl(actionCmd, renderCmd, url, navigationalState);
-
-                finishUrl(url);
-
-                return url;
-            }
-        }
-
-        return null;
-    }
-}




More information about the jboss-svn-commits mailing list