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 2018/12/11 14:10:30 UTC
svn commit: r1848682 -
/tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java
Author: markt
Date: Tue Dec 11 14:10:30 2018
New Revision: 1848682
URL: http://svn.apache.org/viewvc?rev=1848682&view=rev
Log:
Improve fix for duplicate fragment name
Modified:
tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java
Modified: tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java?rev=1848682&r1=1848681&r2=1848682&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java Tue Dec 11 14:10:30 2018
@@ -79,22 +79,7 @@ public class FragmentJarScannerCallback
}
}
} finally {
- fragment.setURL(jar.getJarFileURL());
- if (fragment.getName() == null) {
- fragment.setName(fragment.getURL().toString());
- }
- fragment.setJarName(extractJarFileName(jar.getJarFileURL()));
- if (fragments.containsKey(fragment.getName())) {
- // Duplicate. Mark the fragment that has already been found with
- // this name as having a duplicate so Tomcat can handle it
- // correctly when the fragments are being ordered.
- String duplicateName = fragment.getName();
- fragments.get(duplicateName).setDuplicated(true);
- // Rename the current fragment so it doesn't clash
- fragment.setName(fragment.getURL().toString());
- } else {
- fragments.put(fragment.getName(), fragment);
- }
+ addFragment(fragment, jar.getJarFileURL());
}
}
@@ -135,13 +120,27 @@ public class FragmentJarScannerCallback
fragment.setDistributable(true);
}
} finally {
- fragment.setURL(file.toURI().toURL());
- if (fragment.getName() == null) {
- fragment.setName(fragment.getURL().toString());
- }
- fragment.setJarName(file.getName());
- fragments.put(fragment.getName(), fragment);
+ addFragment(fragment, file.toURI().toURL());
+ }
+ }
+
+
+ private void addFragment(WebXml fragment, URL url) {
+ fragment.setURL(url);
+ if (fragment.getName() == null) {
+ fragment.setName(url.toString());
+ }
+ fragment.setJarName(extractJarFileName(url));
+ if (fragments.containsKey(fragment.getName())) {
+ // Duplicate. Mark the fragment that has already been found with
+ // this name as having a duplicate so Tomcat can handle it
+ // correctly when the fragments are being ordered.
+ String duplicateName = fragment.getName();
+ fragments.get(duplicateName).setDuplicated(true);
+ // Rename the current fragment so it doesn't clash
+ fragment.setName(url.toString());
}
+ fragments.put(fragment.getName(), fragment);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org