Author: markt
Date: Sun Mar 21 21:22:54 2010
New Revision: 925901

URL: http://svn.apache.org/viewvc?rev=925901&view=rev
Log:
Fix various exceptions that prevented one of the TCK web applications from 
starting

Modified:
    tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
    
tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterRegistration.java
    
tomcat/trunk/java/org/apache/catalina/core/ApplicationServletRegistration.java
    tomcat/trunk/java/org/apache/catalina/core/StandardContext.java

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=925901&r1=925900&r2=925901&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Sun Mar 
21 21:22:54 2010
@@ -907,6 +907,8 @@ public class ApplicationContext
         // a name
         if (filterDef == null) {
             filterDef = new FilterDef();
+            filterDef.setFilterName(filterName);
+            context.addFilterDef(filterDef);
         } else {
             if (filterDef.getFilterName() != null &&
                     filterDef.getFilterClass() != null) {
@@ -914,7 +916,6 @@ public class ApplicationContext
             }
         }
 
-        // Name must already be set
         if (filter == null) {
             filterDef.setFilterClass(filterClass);
         } else {
@@ -1036,6 +1037,8 @@ public class ApplicationContext
         // a name
         if (wrapper == null) {
             wrapper = context.createWrapper();
+            wrapper.setName(servletName);
+            context.addChild(wrapper);
         } else {
             if (wrapper.getName() != null &&
                     wrapper.getServletClass() != null) {
@@ -1043,7 +1046,6 @@ public class ApplicationContext
             }
         }
 
-        // Name must already be set
         if (servlet == null) {
             wrapper.setServletClass(servletClass);
         } else {
@@ -1176,6 +1178,9 @@ public class ApplicationContext
 
     @Override
     public boolean setInitParameter(String name, String value) {
+        
+        mergeParameters();
+        
         if (parameters.containsKey(name)) {
             return false;
         }

Modified: 
tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterRegistration.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterRegistration.java?rev=925901&r1=925900&r2=925901&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterRegistration.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterRegistration.java 
Sun Mar 21 21:22:54 2010
@@ -58,6 +58,8 @@ public class ApplicationFilterRegistrati
 
         FilterMap filterMap = new FilterMap();
         
+        filterMap.setFilterName(filterDef.getFilterName());
+        
         if (dispatcherTypes != null) {
             for (DispatcherType dispatcherType : dispatcherTypes) {
                 filterMap.setDispatcher(dispatcherType.name());

Modified: 
tomcat/trunk/java/org/apache/catalina/core/ApplicationServletRegistration.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationServletRegistration.java?rev=925901&r1=925900&r2=925901&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/core/ApplicationServletRegistration.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/core/ApplicationServletRegistration.java 
Sun Mar 21 21:22:54 2010
@@ -19,13 +19,11 @@ package org.apache.catalina.core;
 
 import java.util.Collection;
 import java.util.Collections;
-import java.util.Enumeration;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
 import javax.servlet.MultipartConfigElement;
-import javax.servlet.ServletConfig;
 import javax.servlet.ServletRegistration;
 import javax.servlet.ServletSecurityElement;
 
@@ -62,21 +60,19 @@ public class ApplicationServletRegistrat
 
     @Override
     public String getInitParameter(String name) {
-        return wrapper.getServlet().getServletConfig().getInitParameter(name);
+        return wrapper.findInitParameter(name);
     }
 
     @Override
     public Map<String, String> getInitParameters() {
         ParameterMap<String,String> result = new ParameterMap<String,String>();
-        ServletConfig servletConfig =  
wrapper.getServlet().getServletConfig(); 
-        Enumeration<String> parameterNames =
-            servletConfig.getInitParameterNames();
-        
-        while (parameterNames.hasMoreElements()) {
-            String parameterName = parameterNames.nextElement();
-            result.put(parameterName,
-                    servletConfig.getInitParameter(parameterName));
+        
+        String[] parameterNames = wrapper.findInitParameters();
+        
+        for (String parameterName : parameterNames) {
+            result.put(parameterName, 
wrapper.findInitParameter(parameterName));
         }
+
         result.setLocked(true);
         return result;
     }

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=925901&r1=925900&r2=925901&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Sun Mar 21 
21:22:54 2010
@@ -2550,12 +2550,11 @@ public class StandardContext
             System.arraycopy(filterMaps, 0, results, 0, filterMapInsertPoint);
             results[filterMapInsertPoint] = filterMap;
             System.arraycopy(filterMaps, filterMapInsertPoint, results,
-                    filterMaps.length - filterMapInsertPoint+1,
-                    filterMapInsertPoint);
+                    filterMaps.length - filterMapInsertPoint + 1,
+                    filterMaps.length - filterMapInsertPoint);
             
             filterMapInsertPoint++;
-            
-            results[filterMaps.length] = filterMap;
+
             filterMaps = results;
         }
         fireContainerEvent("addFilterMap", filterMap);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to