Author: rmannibucau
Date: Sun Mar 3 21:30:41 2013
New Revision: 1452132
URL: http://svn.apache.org/r1452132
Log:
trying to make tcks passing with 1.5.x branch
Modified:
tomee/tomee/branches/tomee-1.5.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
Modified:
tomee/tomee/branches/tomee-1.5.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.5.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1452132&r1=1452131&r2=1452132&view=diff
==============================================================================
---
tomee/tomee/branches/tomee-1.5.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
(original)
+++
tomee/tomee/branches/tomee-1.5.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
Sun Mar 3 21:30:41 2013
@@ -38,6 +38,8 @@ import org.apache.openejb.loader.SystemI
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.URLs;
+import org.apache.tomcat.util.bcel.classfile.AnnotationEntry;
+import org.apache.tomcat.util.bcel.classfile.ElementValuePair;
import org.apache.tomcat.util.digester.Digester;
import org.apache.tomee.common.NamingUtil;
import org.apache.tomee.common.ResourceFactory;
@@ -132,6 +134,35 @@ public class OpenEJBContextConfig extend
}
@Override
+ protected void processAnnotationWebServlet(final String className, final
AnnotationEntry ae, final WebXml fragment) {
+ try {
+ super.processAnnotationWebServlet(className, ae, fragment);
+ } catch (IllegalArgumentException iae) {
+ // otherwise TCKs are not passing, hope to be able to let it with
next TCK versions
+
+ String[] urlPatterns = null;
+ for (ElementValuePair evp : ae.getElementValuePairs()) {
+ String name = evp.getNameString();
+ if ("value".equals(name) || "urlPatterns".equals(name)) {
+ urlPatterns =
processAnnotationsStringArray(evp.getValue());
+ break;
+ }
+ }
+
+ if (urlPatterns != null) {
+ for (String pattern : urlPatterns) {
+ if (fragment.getServletMappings().containsKey(pattern)) {
+ logger.warning(iae.getMessage(), iae);
+ return;
+ }
+ }
+ }
+
+ throw iae;
+ }
+ }
+
+ @Override
protected void contextConfig(final Digester digester) {
final NamingResources resources;
if (context != null) {