Author: adamw
Date: 2005-09-30 12:14:51 -0400 (Fri, 30 Sep 2005)
New Revision: 1248
Removed:
trunk/forge/portal-extensions/portal-default/src/java/org/
trunk/forge/portal-extensions/portal-default/src/web/WEB-INF/jboss-web.xml
Modified:
trunk/forge/portal-extensions/forge-root-redirect/src/java/org/jboss/forge/redirect/RootRedirectFilter.java
trunk/forge/portal-extensions/portal-default/src/web/WEB-INF/web.xml
Log:
Projects and products redirects
Modified: trunk/forge/portal-extensions/forge-root-redirect/src/java/org/jboss/forge/redirect/RootRedirectFilter.java
===================================================================
--- trunk/forge/portal-extensions/forge-root-redirect/src/java/org/jboss/forge/redirect/RootRedirectFilter.java 2005-09-30 15:52:51 UTC (rev 1247)
+++ trunk/forge/portal-extensions/forge-root-redirect/src/java/org/jboss/forge/redirect/RootRedirectFilter.java 2005-09-30 16:14:51 UTC (rev 1248)
@@ -14,32 +14,63 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.jboss.forge.common.projects.ProjectsHelper;
+
/**
* @author adamw
*/
public class RootRedirectFilter implements Filter {
- private final static String WRONG_REQ_RESP = "Error accessing the requested resource.";
-
- public void init(FilterConfig conf) {
-
- }
+ /**
+ * <code>DEFAULT_PORTAL</code> - Name of the portal in which forge pages are in.
+ */
+ private final static String FORGE_PORTAL = "default";
+ private final static String WRONG_REQ_RESP = "Error accessing the requested resource.";
+
+ public void init(FilterConfig conf) {
+
+ }
+
+ private boolean checkFirstToken(String token) {
+ return "projects".equals(token) || "products".equals(token);
+ }
+
+ public void doFilter(ServletRequest request, ServletResponse response,
+ FilterChain chain) throws IOException {
+ if ((request instanceof HttpServletRequest)
+ && (response instanceof HttpServletResponse)) {
+ HttpServletRequest httpRequest = (HttpServletRequest) request;
+ HttpServletResponse httpResponse = (HttpServletResponse) response;
+
+ String requestURI = httpRequest.getRequestURI();
+ String[] tokens = requestURI.split("[/]", 4);
+
+ String redirectTo;
+
+ if ((tokens.length > 3) && (!"".equals(tokens[3])) && (checkFirstToken(tokens[1]))) {
+ String freezonePage = tokens[3];
+
+ if (!freezonePage.contains(".")) {
+ if (!freezonePage.endsWith("/")) freezonePage += "/";
+ freezonePage += "index.html";
+ }
+
+ redirectTo = ProjectsHelper.createFreezonePageLink(FORGE_PORTAL,
+ tokens[2], freezonePage);
+ } else if ((tokens.length > 2) && (!"".equals(tokens[2])) && (checkFirstToken(tokens[1]))) {
+ redirectTo = ProjectsHelper.getProjects(FORGE_PORTAL).getProjectLink(tokens[2]);
+ } else if ((tokens.length > 1) && (!"".equals(tokens[1]))) {
+ redirectTo = "/portal/" + FORGE_PORTAL;
+ } else {
+ redirectTo = "/portal"+requestURI;
+ }
- public void doFilter(ServletRequest request, ServletResponse response,
- FilterChain chain) throws IOException {
- if ((request instanceof HttpServletRequest)
- && (response instanceof HttpServletResponse)) {
- HttpServletRequest httpRequest = (HttpServletRequest)request;
- HttpServletResponse httpResponse = (HttpServletResponse) response;
-
- String requestURI = httpRequest.getRequestURI();
-
- httpResponse.sendRedirect("/portal"+requestURI);
- } else {
- response.setContentType("text/html");
- response.getWriter().write(WRONG_REQ_RESP);
- }
- }
-
- public void destroy() {
- }
+ httpResponse.sendRedirect(redirectTo);
+ } else {
+ response.setContentType("text/html");
+ response.getWriter().write(WRONG_REQ_RESP);
+ }
+ }
+
+ public void destroy() {
+ }
}
Deleted: trunk/forge/portal-extensions/portal-default/src/web/WEB-INF/jboss-web.xml
===================================================================
--- trunk/forge/portal-extensions/portal-default/src/web/WEB-INF/jboss-web.xml 2005-09-30 15:52:51 UTC (rev 1247)
+++ trunk/forge/portal-extensions/portal-default/src/web/WEB-INF/jboss-web.xml 2005-09-30 16:14:51 UTC (rev 1248)
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<jboss-web>
- <context-root>/projects</context-root>
-</jboss-web>
Modified: trunk/forge/portal-extensions/portal-default/src/web/WEB-INF/web.xml
===================================================================
--- trunk/forge/portal-extensions/portal-default/src/web/WEB-INF/web.xml 2005-09-30 15:52:51 UTC (rev 1247)
+++ trunk/forge/portal-extensions/portal-default/src/web/WEB-INF/web.xml 2005-09-30 16:14:51 UTC (rev 1248)
@@ -3,14 +3,5 @@
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
- <filter>
- <filter-name>redirectFilter</filter-name>
- <filter-class>org.jboss.forge.redirect.RedirectFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>redirectFilter</filter-name>
- <url-pattern>/*</url-pattern>
- <dispatcher>REQUEST</dispatcher>
- </filter-mapping>
+
</web-app>
\ No newline at end of file
|