[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