Author: remy.maucherat(a)jboss.com
Date: 2009-03-12 14:09:30 -0400 (Thu, 12 Mar 2009)
New Revision: 957
Modified:
trunk/java/org/apache/catalina/Wrapper.java
trunk/java/org/apache/catalina/core/StandardWrapper.java
trunk/java/org/apache/catalina/core/StandardWrapperFacade.java
trunk/java/org/apache/catalina/startup/WebRuleSet.java
Log:
- Do some of the Servlet registration.
Modified: trunk/java/org/apache/catalina/Wrapper.java
===================================================================
--- trunk/java/org/apache/catalina/Wrapper.java 2009-03-12 16:05:46 UTC (rev 956)
+++ trunk/java/org/apache/catalina/Wrapper.java 2009-03-12 18:09:30 UTC (rev 957)
@@ -54,6 +54,20 @@
/**
+ * Return the async supported value.
+ */
+ public boolean getAsyncSupported();
+
+
+ /**
+ * Set the async supported value.
+ *
+ * @param value New async supported value
+ */
+ public void setAsyncSupported(boolean asyncSupported);
+
+
+ /**
* Return the available date/time for this servlet, in milliseconds since
* the epoch. If this date/time is in the future, any request for this
* servlet will return an SC_SERVICE_UNAVAILABLE error. If it is zero,
@@ -75,6 +89,18 @@
/**
+ * Return the Servlet description.
+ */
+ public String getDescription();
+
+
+ /**
+ * Set the description.
+ */
+ public void setDescription(String description);
+
+
+ /**
* Return the context-relative URI of the JSP file for this servlet.
*/
public String getJspFile();
Modified: trunk/java/org/apache/catalina/core/StandardWrapper.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardWrapper.java 2009-03-12 16:05:46 UTC (rev
956)
+++ trunk/java/org/apache/catalina/core/StandardWrapper.java 2009-03-12 18:09:30 UTC (rev
957)
@@ -43,6 +43,7 @@
import javax.servlet.SingleThreadModel;
import javax.servlet.UnavailableException;
+import org.apache.InstanceManager;
import org.apache.PeriodicEventListener;
import org.apache.catalina.Container;
import org.apache.catalina.ContainerServlet;
@@ -52,7 +53,6 @@
import org.apache.catalina.InstanceListener;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.Wrapper;
-import org.apache.InstanceManager;
import org.apache.catalina.security.SecurityUtil;
import org.apache.catalina.util.Enumerator;
import org.apache.catalina.util.InstanceSupport;
@@ -96,8 +96,14 @@
// ----------------------------------------------------- Instance Variables
-
+
/**
+ * Async supported flag.
+ */
+ protected boolean asyncSupported = false;
+
+
+ /**
* The date and time at which this servlet will become available (in
* milliseconds since the epoch), or zero if the servlet is available.
* If this value equals Long.MAX_VALUE, the unavailability of this
@@ -115,6 +121,12 @@
*/
protected int countAllocated = 0;
+
+ /**
+ * Description.
+ */
+ protected String description = null;
+
/**
* The facade associated with this wrapper.
@@ -270,6 +282,44 @@
/**
+ * Return the async supported value.
+ */
+ public boolean getAsyncSupported() {
+ return asyncSupported;
+ }
+
+
+ /**
+ * Return the Servlet description.
+ */
+ public String getDescription() {
+ return description;
+ }
+
+
+ /**
+ * Set the async supported value.
+ *
+ * @param value New async supported value
+ */
+ public void setAsyncSupported(boolean value) {
+ boolean oldAsyncSupported = this.asyncSupported;
+ this.asyncSupported = value;
+ support.firePropertyChange("asyncSupported", oldAsyncSupported,
asyncSupported);
+ }
+
+
+ /**
+ * Set the description.
+ */
+ public void setDescription(String description) {
+ String oldDescription = this.description;
+ this.description = description;
+ support.firePropertyChange("description", oldDescription,
description);
+ }
+
+
+ /**
* Return the available date/time for this servlet, in milliseconds since
* the epoch. If this date/time is Long.MAX_VALUE, it is considered to mean
* that unavailability is permanent and any request for this servlet will return
Modified: trunk/java/org/apache/catalina/core/StandardWrapperFacade.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardWrapperFacade.java 2009-03-12 16:05:46 UTC
(rev 956)
+++ trunk/java/org/apache/catalina/core/StandardWrapperFacade.java 2009-03-12 18:09:30 UTC
(rev 957)
@@ -20,13 +20,17 @@
import java.util.Enumeration;
+import java.util.Iterator;
import java.util.Map;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletRegistration;
+import org.apache.catalina.Context;
+import org.apache.catalina.util.StringManager;
+
/**
* Facade for the <b>StandardWrapper</b> object.
*
@@ -38,6 +42,13 @@
implements ServletRegistration, ServletConfig {
+ /**
+ * The string manager for this package.
+ */
+ private static final StringManager sm =
+ StringManager.getManager(Constants.Package);
+
+
// ----------------------------------------------------------- Constructors
@@ -96,35 +107,47 @@
public void addMapping(String... urlPatterns) {
- // TODO Auto-generated method stub
-
+ if (((Context) wrapper.getParent()).isInitialized()) {
+ throw new IllegalStateException(sm.getString
+ ("servletRegistration.addServletMapping.ise", ((Context)
wrapper.getParent()).getPath()));
+ }
+ if (urlPatterns == null) {
+ return;
+ }
+ for (int i = 0; i < urlPatterns.length; i++) {
+ ((Context) wrapper.getParent()).addServletMapping(urlPatterns[i],
wrapper.getName());
+ }
}
public void setAsyncSupported(boolean asyncSupported) {
- // TODO Auto-generated method stub
+ wrapper.setAsyncSupported(asyncSupported);
}
public void setDescription(String description) {
- // TODO Auto-generated method stub
+ wrapper.setDescription(description);
}
public boolean setInitParameter(String name, String value) {
- // TODO Auto-generated method stub
- return false;
+ wrapper.addInitParameter(name, value);
+ // FIXME: return value
+ return true;
}
public void setInitParameters(Map<String, String> initParameters) {
- // TODO Auto-generated method stub
-
+ Iterator<String> parameterNames = initParameters.keySet().iterator();
+ while (parameterNames.hasNext()) {
+ String parameterName = parameterNames.next();
+ wrapper.addInitParameter(parameterName, initParameters.get(parameterName));
+ }
}
public void setLoadOnStartup(int loadOnStartup) {
- // TODO Auto-generated method stub
+ wrapper.setLoadOnStartup(loadOnStartup);
}
Modified: trunk/java/org/apache/catalina/startup/WebRuleSet.java
===================================================================
--- trunk/java/org/apache/catalina/startup/WebRuleSet.java 2009-03-12 16:05:46 UTC (rev
956)
+++ trunk/java/org/apache/catalina/startup/WebRuleSet.java 2009-03-12 18:09:30 UTC (rev
957)
@@ -264,6 +264,9 @@
"addChild",
"org.apache.catalina.Container");
+ digester.addCallMethod(prefix + "web-app/servlet/description",
+ "setDescription", 0);
+
digester.addCallMethod(prefix + "web-app/servlet/init-param",
"addInitParameter", 2);
digester.addCallParam(prefix +
"web-app/servlet/init-param/param-name",