You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/11/27 20:27:19 UTC
svn commit: r1546165 -
/tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
Author: markt
Date: Wed Nov 27 19:27:19 2013
New Revision: 1546165
URL: http://svn.apache.org/r1546165
Log:
Need to convert Path to string before checking the extension
scanWebInfClasses() still requires an implementation for when scanAllDirectories is enabled
Modified:
tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
Modified: tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java?rev=1546165&r1=1546164&r2=1546165&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java (original)
+++ tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java Wed Nov 27 19:27:19 2013
@@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
@@ -317,7 +318,7 @@ public class TldScanner {
public FileVisitResult visitFile(Path file,
BasicFileAttributes attrs)
throws IOException {
- if (!file.endsWith(TLD_EXT)) {
+ if (!file.toString().toLowerCase(Locale.ENGLISH).endsWith(TLD_EXT)) {
return FileVisitResult.CONTINUE;
}
@@ -336,7 +337,17 @@ public class TldScanner {
@Override
public void scanWebInfClasses() throws IOException {
- // this is now handled when WEB-INF is scanned for resources
+ // This is used when scanAllDirectories is enabled and one or more
+ // JARs have been unpacked into WEB-INF/classes as happens with some
+ // IDEs.
+
+ // We know that WEB-INF/classes/META-INF must be a directory on disk
+ String webappPath = WEB_INF + "classes";
+ String realPath = context.getRealPath(webappPath);
+
+ File webInfClasses = new File(realPath);
+
+ scan(webInfClasses, webappPath, true);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r1546165 - /tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
Posted by Konstantin Kolinko <kn...@gmail.com>.
2013/11/27 <ma...@apache.org>:
> Author: markt
> Date: Wed Nov 27 19:27:19 2013
> New Revision: 1546165
>
> URL: http://svn.apache.org/r1546165
> Log:
> Need to convert Path to string before checking the extension
> scanWebInfClasses() still requires an implementation for when scanAllDirectories is enabled
>
> Modified:
> tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
>
> Modified: tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java
> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java?rev=1546165&r1=1546164&r2=1546165&view=diff
> ==============================================================================
> --- tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java (original)
> +++ tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java Wed Nov 27 19:27:19 2013
> @@ -29,6 +29,7 @@ import java.util.ArrayList;
> import java.util.Collection;
> import java.util.HashMap;
> import java.util.List;
> +import java.util.Locale;
> import java.util.Map;
> import java.util.Set;
>
> @@ -317,7 +318,7 @@ public class TldScanner {
> public FileVisitResult visitFile(Path file,
> BasicFileAttributes attrs)
> throws IOException {
> - if (!file.endsWith(TLD_EXT)) {
> + if (!file.toString().toLowerCase(Locale.ENGLISH).endsWith(TLD_EXT)) {
> return FileVisitResult.CONTINUE;
> }
>
> @@ -336,7 +337,17 @@ public class TldScanner {
>
> @Override
> public void scanWebInfClasses() throws IOException {
> - // this is now handled when WEB-INF is scanned for resources
> + // This is used when scanAllDirectories is enabled and one or more
> + // JARs have been unpacked into WEB-INF/classes as happens with some
> + // IDEs.
> +
> + // We know that WEB-INF/classes/META-INF must be a directory on disk
Why?
Anybody is free to pack their IDE-managed directory as a war file.
Their context.xml may still have this option turned on.
> + String webappPath = WEB_INF + "classes";
> + String realPath = context.getRealPath(webappPath);
The realPath might be null here.
> +
> + File webInfClasses = new File(realPath);
> +
> + scan(webInfClasses, webappPath, true);
> }
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org