Author: markt
Date: Wed Dec 30 12:02:26 2009
New Revision: 894599
URL: http://svn.apache.org/viewvc?rev=894599&view=rev
Log:
Prevent definition of duplicate URIs for tag libraries and improve error
messages for all duplicates
Modified:
tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/startup/WebXml.java
Modified: tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties?rev=894599&r1=894598&r2=894599&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties
(original)
+++ tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties Wed
Dec 30 12:02:26 2009
@@ -116,12 +116,13 @@
userConfig.stop=UserConfig: Processing STOP
webRuleSet.absoluteOrdering=<absolute-ordering> element not valid in
web-fragment.xml and will be ignored
webRuleSet.relativeOrdering=<ordering> element not valid in web.xml and will
be ignored
-webXml.duplicateEnvEntry=Duplicate env-entry name
-webXml.duplicateFilter=Duplicate filter name
-webXml.duplicateMessageDestination=Duplicate message-destination name
-webXml.duplicateMessageDestinationRef=Duplicate message-destination-ref name
-webXml.duplicateResourceEnvRef=Duplicate resource-env-ref name
-webXml.duplicateResourceRef=Duplicate resource-ref name
+webXml.duplicateEnvEntry=Duplicate env-entry name [{0}]
+webXml.duplicateFilter=Duplicate filter name [{0}]
+webXml.duplicateMessageDestination=Duplicate message-destination name [{0}]
+webXml.duplicateMessageDestinationRef=Duplicate message-destination-ref name
[{0}]
+webXml.duplicateResourceEnvRef=Duplicate resource-env-ref name [{0}]
+webXml.duplicateResourceRef=Duplicate resource-ref name [{0}]
+webXml.duplicateTaglibUri=Duplicate tag library URI [{0}]
webXml.reservedName=A web.xml file was detected using a reserved name [{0}].
The name element will be ignored for this fragment.
webXml.mergeConflictDisplayName=The display name was defined in multiple
fragments with different values including fragment with name [{0}] located at
[{1}]
webXml.mergeConflictErrorPage=The Error Page for [{0}] was defined
inconsistently in multiple fragments including fragment with name [{1}] located
at [{2}]
Modified: tomcat/trunk/java/org/apache/catalina/startup/WebXml.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/WebXml.java?rev=894599&r1=894598&r2=894599&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/WebXml.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/WebXml.java Wed Dec 30
12:02:26 2009
@@ -194,7 +194,8 @@
if (filters.containsKey(filter.getFilterName())) {
// Filter names must be unique within a web(-fragment).xml
throw new IllegalArgumentException(
- sm.getString("webXml.duplicateFilter"));
+ sm.getString("webXml.duplicateFilter",
+ filter.getFilterName()));
}
filters.put(filter.getFilterName(), filter);
}
@@ -279,6 +280,11 @@
// jsp-config/taglib or taglib (2.3 and earlier)
private Map<String,String> taglibs = new HashMap<String,String>();
public void addTaglib(String uri, String location) {
+ if (taglibs.containsKey(uri)) {
+ // Taglib URIs must be unique within a web(-fragment).xml
+ throw new IllegalArgumentException(
+ sm.getString("webXml.duplicateTaglibUri", uri));
+ }
taglibs.put(uri, location);
}
public Map<String,String> getTaglibs() { return taglibs; }
@@ -329,7 +335,8 @@
if (envEntries.containsKey(envEntry.getName())) {
// env-entry names must be unique within a web(-fragment).xml
throw new IllegalArgumentException(
- sm.getString("webXml.duplicateEnvEntry"));
+ sm.getString("webXml.duplicateEnvEntry",
+ envEntry.getName()));
}
envEntries.put(envEntry.getName(),envEntry);
}
@@ -373,7 +380,8 @@
if (resourceRefs.containsKey(resourceRef.getName())) {
// resource-ref names must be unique within a web(-fragment).xml
throw new IllegalArgumentException(
- sm.getString("webXml.duplicateResourceRef"));
+ sm.getString("webXml.duplicateResourceRef",
+ resourceRef.getName()));
}
resourceRefs.put(resourceRef.getName(), resourceRef);
}
@@ -389,7 +397,8 @@
if (resourceEnvRefs.containsKey(resourceEnvRef.getName())) {
// resource-env-ref names must be unique within a
web(-fragment).xml
throw new IllegalArgumentException(
- sm.getString("webXml.duplicateResourceEnvRef"));
+ sm.getString("webXml.duplicateResourceEnvRef",
+ resourceEnvRef.getName()));
}
resourceEnvRefs.put(resourceEnvRef.getName(), resourceEnvRef);
}
@@ -408,7 +417,8 @@
// message-destination-ref names must be unique within a
// web(-fragment).xml
throw new IllegalArgumentException(sm.getString(
- "webXml.duplicateMessageDestinationRef"));
+ "webXml.duplicateMessageDestinationRef",
+ messageDestinationRef.getName()));
}
messageDestinationRefs.put(messageDestinationRef.getName(),
messageDestinationRef);
@@ -430,7 +440,8 @@
// message-destination names must be unique within a
// web(-fragment).xml
throw new IllegalArgumentException(
- sm.getString("webXml.duplicateMessageDestination"));
+ sm.getString("webXml.duplicateMessageDestination",
+ messageDestination.getName()));
}
messageDestinations.put(messageDestination.getName(),
messageDestination);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]