[jboss-svn-commits] JBL Code SVN: r11183 - labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Apr 21 06:14:17 EDT 2007
Author: adamw
Date: 2007-04-21 06:14:16 -0400 (Sat, 21 Apr 2007)
New Revision: 11183
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/DownloadsFilter.java
Log:
Fixing NPE
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/DownloadsFilter.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/DownloadsFilter.java 2007-04-21 00:29:43 UTC (rev 11182)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portal-attr/src/java/org/jboss/forge/portal/DownloadsFilter.java 2007-04-21 10:14:16 UTC (rev 11183)
@@ -36,7 +36,6 @@
import org.jboss.forge.common.ejb3.LabsServices;
import org.jboss.forge.common.exceptions.ServiceRetrievalException;
-import org.jboss.forge.common.projects.project.Categories;
import org.jboss.forge.common.projects.project.Category;
import org.jboss.forge.common.projects.project.Downloads;
import org.jboss.forge.common.projects.project.File;
@@ -58,19 +57,15 @@
}
- public void doFilter(ServletRequest request, ServletResponse response,
- FilterChain chain) throws IOException, ServletException {
- if (request instanceof HttpServletRequest) {
- HttpServletRequest htReq = (HttpServletRequest) request;
+ public boolean process(HttpServletRequest htReq, ServletResponse response) throws IOException {
+ String uri = htReq.getRequestURI();
- String uri = htReq.getRequestURI();
-
if (uri.startsWith("/auth")) {
uri = uri.substring("/auth".length());
} else if (uri.startsWith("/authsec")) {
uri = uri.substring("/authsec".length());
}
-
+
if (uri.startsWith("/")) {
uri = uri.substring(1);
}
@@ -85,7 +80,7 @@
.getProjectDownloads(projectId);
String[] tokens = uri.split("/");
-
+
//log.info("tokens lenght: "+tokens.length);
Category cat = null;
@@ -105,36 +100,42 @@
// url is invalid (no such categories) - forward
// request
- chain.doFilter(request, response);
- return;
+ return true;
}
}
- String fileURI = getUri(tokens[tokens.length - 1], cat
- .getFiles().getFile(), uri);
+ if (cat == null || cat.getFiles() == null) {
+ return true;
+ }
+ String fileURI = getUri(tokens[tokens.length - 1], cat.getFiles().getFile(), uri);
+
//log.info("FILE URI: "+fileURI);
-
+
if (fileURI != null) {
//htReq.getRequestDispatcher(fileURI).forward(
// request, response);
((HttpServletResponse)response).sendRedirect(fileURI);
- return;
+ return false;
}
} else {
//no categories just check file
-
- String fileURI = getUri(tokens[tokens.length - 1],
+
+ if (downl == null || downl.getFiles() == null) {
+ return true;
+ }
+
+ String fileURI = getUri(tokens[tokens.length - 1],
downl.getFiles().getFile(), uri);
//log.info("FILE URI: "+fileURI);
-
+
if (fileURI != null) {
//htReq.getRequestDispatcher(fileURI).forward(
// request, response);
((HttpServletResponse)response).sendRedirect(fileURI);
-
- return;
+
+ return false;
}
}
} catch (ServiceRetrievalException e) {
@@ -142,9 +143,20 @@
}
}
- }
+ return true;
+ }
- chain.doFilter(request, response);
+ public void doFilter(ServletRequest request, ServletResponse response,
+ FilterChain chain) throws IOException, ServletException {
+ if (request instanceof HttpServletRequest) {
+ HttpServletRequest htReq = (HttpServletRequest) request;
+
+ if (process(htReq, response)) {
+ chain.doFilter(request, response);
+ }
+ } else {
+ chain.doFilter(request, response);
+ }
}
private String getUri(String fileName, List<? extends File> files,
More information about the jboss-svn-commits
mailing list