You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@click.apache.org by sa...@apache.org on 2009/07/07 19:57:54 UTC
svn commit: r791922 -
/incubator/click/trunk/click/framework/src/org/apache/click/service/ClickResourceService.java
Author: sabob
Date: Tue Jul 7 17:57:54 2009
New Revision: 791922
URL: http://svn.apache.org/viewvc?rev=791922&view=rev
Log:
fixed couple of NPE
Modified:
incubator/click/trunk/click/framework/src/org/apache/click/service/ClickResourceService.java
Modified: incubator/click/trunk/click/framework/src/org/apache/click/service/ClickResourceService.java
URL: http://svn.apache.org/viewvc/incubator/click/trunk/click/framework/src/org/apache/click/service/ClickResourceService.java?rev=791922&r1=791921&r2=791922&view=diff
==============================================================================
--- incubator/click/trunk/click/framework/src/org/apache/click/service/ClickResourceService.java (original)
+++ incubator/click/trunk/click/framework/src/org/apache/click/service/ClickResourceService.java Tue Jul 7 17:57:54 2009
@@ -156,6 +156,12 @@
// from jar
boolean logFeedback = true;
while ((jarEntry = jarInputStream.getNextJarEntry()) != null) {
+
+ // Guard against loading folders -> META-INF/web/click/
+ if (jarEntry.isDirectory()) {
+ continue;
+ }
+
// jarEntryName example -> META-INF/web/click/table.css
String jarEntryName = jarEntry.getName();
@@ -198,6 +204,12 @@
while (files.hasNext()) {
// file example -> META-INF/web/click/table.css
File file = (File) files.next();
+
+ // Guard against loading folders -> META-INF/web/click/
+ if (file.isDirectory()) {
+ continue;
+ }
+
String fileName = file.getCanonicalPath().replace('\\', '/');
// Only deploy resources from "META-INF/web/"
@@ -259,24 +271,26 @@
Set resources = servletContext.getResourcePaths("/click/");
- // Add all resources withtin web application
- for (Iterator i = resources.iterator(); i.hasNext();) {
- String resource = (String) i.next();
+ if (resources != null) {
+ // Add all resources withtin web application
+ for (Iterator i = resources.iterator(); i.hasNext();) {
+ String resource = (String) i.next();
- if (!resource.endsWith(".htm")
- && !resource.endsWith(".jsp")
- && !resource.endsWith("/")) {
+ if (!resource.endsWith(".htm") && !resource.endsWith(".jsp")
+ && !resource.endsWith("/")) {
- InputStream inputStream = null;
- try {
- inputStream = servletContext.getResourceAsStream(resource);
+ InputStream inputStream = null;
+ try {
+ inputStream = servletContext.getResourceAsStream(
+ resource);
- byte[] resourceData = IOUtils.toByteArray(inputStream);
+ byte[] resourceData = IOUtils.toByteArray(inputStream);
- resourceCache.put(resource, resourceData);
+ resourceCache.put(resource, resourceData);
- } finally {
- ClickUtils.close(inputStream);
+ } finally {
+ ClickUtils.close(inputStream);
+ }
}
}
}