From 66327a1c3277821ae59bba6f93a7aaa3a4c7b55a Mon Sep 17 00:00:00 2001 From: victorsosa Date: Fri, 1 Apr 2016 14:04:07 -0400 Subject: [PATCH 1/2] fix for WW-4622 StrutsWildcardServletTilesApplicationContext getRealPath NPE --- .../tiles/StrutsWildcardServletApplicationContext.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsWildcardServletApplicationContext.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsWildcardServletApplicationContext.java index 70a21ed221..e98409b27b 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsWildcardServletApplicationContext.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsWildcardServletApplicationContext.java @@ -46,7 +46,7 @@ public class StrutsWildcardServletApplicationContext extends ServletApplicationC private static final Logger LOG = LogManager.getLogger(StrutsWildcardServletApplicationContext.class); private ResourceFinder finder; - + public StrutsWildcardServletApplicationContext(ServletContext context) { super(context); @@ -54,8 +54,12 @@ public StrutsWildcardServletApplicationContext(ServletContext context) { for (Object path : context.getResourcePaths("/")) { try { - URL url = new File(context.getRealPath(String.valueOf(path))).toURI().toURL(); - urls.add(url); + String filename = context.getRealPath(String.valueOf(path)); + // protect call from NPE + if (filename != null) { + URL url = new File(filename).toURI().toURL(); + urls.add(url); + } } catch (MalformedURLException e) { throw new ConfigurationException(e); } From b9a7cfef279c5967070b392989600635fbb06d4c Mon Sep 17 00:00:00 2001 From: victorsosa Date: Fri, 1 Apr 2016 14:04:07 -0400 Subject: [PATCH 2/2] fix for WW-4622 StrutsWildcardServletTilesApplicationContext getRealPath Change method call to contect.getResource() --- .../tiles/StrutsWildcardServletApplicationContext.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsWildcardServletApplicationContext.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsWildcardServletApplicationContext.java index 70a21ed221..d4a306bd38 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsWildcardServletApplicationContext.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsWildcardServletApplicationContext.java @@ -46,7 +46,7 @@ public class StrutsWildcardServletApplicationContext extends ServletApplicationC private static final Logger LOG = LogManager.getLogger(StrutsWildcardServletApplicationContext.class); private ResourceFinder finder; - + public StrutsWildcardServletApplicationContext(ServletContext context) { super(context); @@ -54,8 +54,11 @@ public StrutsWildcardServletApplicationContext(ServletContext context) { for (Object path : context.getResourcePaths("/")) { try { - URL url = new File(context.getRealPath(String.valueOf(path))).toURI().toURL(); - urls.add(url); + URL url = context.getResource(String.valueOf(path)); + // protect call from NPE + if (url != null) { + urls.add(url); + } } catch (MalformedURLException e) { throw new ConfigurationException(e); }