[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