cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java

2003-04-04 Thread costin
costin  2003/04/04 14:22:25

  Modified:coyote/src/java/org/apache/coyote/tomcat5
MapperListener.java
  Log:
  Avoid problems if the engine is registered after the mapper.
  
  Revision  ChangesPath
  1.11  +1 -0  
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java
  
  Index: MapperListener.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- MapperListener.java   28 Mar 2003 14:23:59 -  1.10
  +++ MapperListener.java   4 Apr 2003 22:22:25 -   1.11
  @@ -264,6 +264,7 @@
   throws Exception
   {
   ObjectName engineName=new ObjectName(domain + ":type=Engine");
  +if( ! mBeanServer.isRegistered(engineName)) return;
   //if (container instanceof Engine) {
   String defaultHost = (String)mBeanServer.getAttribute(engineName, 
"defaultHost");
   // This should probablt be called later 
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java

2003-03-28 Thread remm
remm2003/03/28 06:24:00

  Modified:coyote/src/java/org/apache/coyote/tomcat5
MapperListener.java
  Log:
  - The right key is "host", not "name", which fixes the NPEs.
  
  Revision  ChangesPath
  1.10  +3 -3  
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java
  
  Index: MapperListener.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- MapperListener.java   25 Mar 2003 17:50:21 -  1.9
  +++ MapperListener.java   28 Mar 2003 14:23:59 -  1.10
  @@ -278,8 +278,8 @@
   private void registerHost(ObjectName objectName)
   throws Exception
   {
  -String name=objectName.getKeyProperty("name");
  -log.info("Register host " + name);
  +String name=objectName.getKeyProperty("host");
  +log.debug("Register host " + name);
   if( name != null ) {
   mapper.addHost(name, objectName);
   }
  @@ -291,7 +291,7 @@
*/
   private void unregisterHost(ObjectName objectName)
   throws Exception {
  -String name=objectName.getKeyProperty("name");
  +String name=objectName.getKeyProperty("host");
   mapper.removeHost(name);
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java

2003-03-25 Thread costin
costin  2003/03/25 09:50:21

  Modified:coyote/src/java/org/apache/coyote/tomcat5
MapperListener.java
  Log:
  Remove unused imports.
  
  Deal with Hosts. Use JMX for hosts, remove some deps.
  
  Use a domain
  
  Revision  ChangesPath
  1.9   +73 -48
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java
  
  Index: MapperListener.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- MapperListener.java   17 Mar 2003 07:46:24 -  1.8
  +++ MapperListener.java   25 Mar 2003 17:50:21 -  1.9
  @@ -70,41 +70,32 @@
   
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  +
   import org.apache.commons.modeler.Registry;
   
   import org.apache.tomcat.util.http.mapper.Mapper;
   
  -import org.apache.catalina.Container;
  -import org.apache.catalina.Context;
  -import org.apache.catalina.Engine;
  -import org.apache.catalina.Host;
  -import org.apache.catalina.ServerFactory;
  -import org.apache.catalina.Wrapper;
  -import org.apache.catalina.Server;
  -import org.apache.catalina.util.StringManager;
  +import org.apache.tomcat.util.res.StringManager;
   
   
   /**
* Mapper listener.
*
* @author Remy Maucherat
  + * @author Costin Manolache
*/
   public class MapperListener
  -implements NotificationListener {
  -
  -
  +implements NotificationListener 
  + {
   private static Log log = LogFactory.getLog(MapperListener.class);
   
   
   // - Instance Variables
  -
  -
   /**
* Associated mapper.
*/
   protected Mapper mapper = null;
   
  -
   /**
* MBean server.
*/
  @@ -117,6 +108,8 @@
   private StringManager sm =
   StringManager.getManager(Constants.Package);
   
  +// It should be null - and fail if not set
  +private String domain="*";
   
   // --- Constructors
   
  @@ -131,6 +124,13 @@
   
   // - Public Methods
   
  +public String getDomain() {
  +return domain;
  +}
  +
  +public void setDomain(String domain) {
  +this.domain = domain;
  +}
   
   /**
* Initialize associated mapper.
  @@ -142,20 +142,31 @@
   mBeanServer = Registry.getServer();
   
   // FIXME
  -registerHost(null);
  +registerHosts(null);
   
  -// Query contexts
  -String onStr = "*:j2eeType=WebModule,*";
  +// Query hosts
  +String onStr = domain + ":type=Host,*";
   ObjectName objectName = new ObjectName(onStr);
   Set set = mBeanServer.queryMBeans(objectName, null);
   Iterator iterator = set.iterator();
   while (iterator.hasNext()) {
   ObjectInstance oi = (ObjectInstance) iterator.next();
  +registerHost(oi.getObjectName());
  +}
  +
  +
  +// Query contexts
  +onStr = domain + ":j2eeType=WebModule,*";
  +objectName = new ObjectName(onStr);
  +set = mBeanServer.queryMBeans(objectName, null);
  +iterator = set.iterator();
  +while (iterator.hasNext()) {
  +ObjectInstance oi = (ObjectInstance) iterator.next();
   registerContext(oi.getObjectName());
   }
   
   // Query wrappers
  -onStr = "*:j2eeType=Servlet,*";
  +onStr = domain + ":j2eeType=Servlet,*";
   objectName = new ObjectName(onStr);
   set = mBeanServer.queryMBeans(objectName, null);
   iterator = set.iterator();
  @@ -184,8 +195,26 @@
   if (notification instanceof MBeanServerNotification) {
   ObjectName objectName = 
   ((MBeanServerNotification) notification).getMBeanName();
  +if( ! "*".equals( domain ) &&
  +! domain.equals( objectName.getDomain() )) {
  +// A different domain - not ours
  +String j2eeType = objectName.getKeyProperty("j2eeType");
  +if( j2eeType!=null )
  +log.debug("MBean in different domain " + objectName);
  +return;
  +}
  +log.debug( "Handle " + objectName );
   if (notification.getType().equals
   (MBeanServerNotification.REGISTRATION_NOTIFICATION)) {
  +String type=objectName.getKeyProperty("type");
  +if( "Host".equals( type )) {
  +try {
  + 

cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java

2003-03-16 Thread costin
costin  2003/03/16 23:46:24

  Modified:coyote/src/java/org/apache/coyote/tomcat5
MapperListener.java
  Log:
  Remove service from the name
  
  Revision  ChangesPath
  1.8   +1 -1  
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java
  
  Index: MapperListener.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- MapperListener.java   8 Mar 2003 06:52:36 -   1.7
  +++ MapperListener.java   17 Mar 2003 07:46:24 -  1.8
  @@ -237,7 +237,7 @@
   container=server.findServices()[0].getContainer();
   } else {
   String domain="Catalina";
  -ObjectName engineName=new ObjectName(domain + 
":type=Engine,name=Tomcat-Standalone");
  +ObjectName engineName=new ObjectName(domain + ":type=Engine");
   container=(Container)mBeanServer.getAttribute(engineName, 
"managedResource");
   }
   Container[] hosts = null;
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java

2003-03-08 Thread Costin Manolache
Remy Maucherat wrote:

> [EMAIL PROTECTED] wrote:
>> costin  2003/03/07 22:52:36
>> 
>>   Modified:coyote/src/java/org/apache/coyote/tomcat5
>> MapperListener.java
>>   Log:
>>   A Server is not required for non-standalone operation. In fact, Embeded
>>   doesn't define
>>a server, and most apps embeding tomcat use this approach.
>>   
>>   All we care is an Engine.
> 
> Hmm, yes. Well, actually, no. In that junk code (I should have put a
> fixme), I'm trying to look up the hosts. I was planning to rewrite the
> code using JMX and remove the coupling (the only good solution IMO).
> 
> What do you think ?

It's even better. 
But you can just look for contexts - using the j2eeType=WebModule to
do the query ( but you'll have to parse the host and path from
the name - the spec doesn't define a host attribute ).

What I think is that we should clean up a bit before 5.0 is final - 
we have Embeded which doesn't extend or use Service or Server, and 
is probably used either directly or as a model by people. 

Engine is the only stable point ( which makes sense ), we should deprecate
and make sure we don't depend too much on Service or Server ( except the 
standalone case ), otherwise some features will not work very well if tomcat
is embeded in some other app.

And we should clean up the naming conventions ASAP. We don't need 5 names
( server name, service name, engine name, jvmroute and JMX domain ) - 
all we need is a Servlet Engine ID - common to all of them. 

Costin 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java

2003-03-07 Thread costin
costin  2003/03/07 22:52:36

  Modified:coyote/src/java/org/apache/coyote/tomcat5
MapperListener.java
  Log:
  A Server is not required for non-standalone operation. In fact, Embeded doesn't 
define
   a server, and most apps embeding tomcat use this approach.
  
  All we care is an Engine.
  
  Revision  ChangesPath
  1.7   +14 -5 
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java
  
  Index: MapperListener.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MapperListener.java   2 Mar 2003 16:11:57 -   1.6
  +++ MapperListener.java   8 Mar 2003 06:52:36 -   1.7
  @@ -80,6 +80,7 @@
   import org.apache.catalina.Host;
   import org.apache.catalina.ServerFactory;
   import org.apache.catalina.Wrapper;
  +import org.apache.catalina.Server;
   import org.apache.catalina.util.StringManager;
   
   
  @@ -226,11 +227,19 @@
* Register host (FIXME).
*/
   private void registerHost(ObjectName objectName)
  -throws Exception {
  -
  -Container container = 
  -ServerFactory.getServer().findServices()[0].getContainer();
  -
  +throws Exception
  +{
  +Container container =null;
  +
  +Server server=ServerFactory.getServer();
  +if( server!= null ) {
  +// a Server is not required
  +container=server.findServices()[0].getContainer();
  +} else {
  +String domain="Catalina";
  +ObjectName engineName=new ObjectName(domain + 
":type=Engine,name=Tomcat-Standalone");
  +container=(Container)mBeanServer.getAttribute(engineName, 
"managedResource");
  +}
   Container[] hosts = null;
   String defaultHost = null;
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java

2003-03-02 Thread remm
remm2003/03/02 08:11:58

  Modified:coyote/src/java/org/apache/coyote/tomcat5
MapperListener.java
  Log:
  - Log register/unregister contexts and wrappers as debug.
  
  Revision  ChangesPath
  1.6   +7 -6  
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java
  
  Index: MapperListener.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MapperListener.java   17 Feb 2003 05:13:14 -  1.5
  +++ MapperListener.java   2 Mar 2003 16:11:57 -   1.6
  @@ -287,8 +287,8 @@
   contextName = "";
   }
   
  -log.info(sm.getString
  - ("mapperListener.registerContext", contextName));
  +log.debug(sm.getString
  +  ("mapperListener.registerContext", contextName));
   
   Object context = 
   mBeanServer.getAttribute(objectName, "mappingObject");
  @@ -328,8 +328,8 @@
   contextName = "";
   }
   
  -log.info(sm.getString
  - ("mapperListener.unregisterContext", contextName));
  +log.debug(sm.getString
  +  ("mapperListener.unregisterContext", contextName));
   
   mapper.removeContext(hostName, contextName);
   
  @@ -362,8 +362,9 @@
   contextName = "";
   }
   
  -log.info(sm.getString
  - ("mapperListener.registerWrapper", wrapperName, contextName));
  +log.debug(sm.getString
  +  ("mapperListener.registerWrapper", 
  +   wrapperName, contextName));
   
   String[] mappings = (String[])
   mBeanServer.invoke(objectName, "findMappings", null, null);
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java

2003-02-16 Thread billbarker
billbarker2003/02/16 21:13:14

  Modified:coyote/src/java/org/apache/coyote/tomcat5
MapperListener.java
  Log:
  Convert to using c-l methods.
  
  Revision  ChangesPath
  1.5   +4 -4  
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java
  
  Index: MapperListener.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- MapperListener.java   10 Feb 2003 00:51:20 -  1.4
  +++ MapperListener.java   17 Feb 2003 05:13:14 -  1.5
  @@ -168,7 +168,7 @@
   mBeanServer.addNotificationListener(objectName, this, null, null);
   
   } catch (Exception e) {
  -e.printStackTrace();
  +log.warn("Error registering contexts",e);
   }
   
   }
  @@ -191,13 +191,13 @@
   try {
   registerContext(objectName);
   } catch (Throwable t) {
  -t.printStackTrace();
  +log.warn("Error registering Context " + objectName,t);
   }
   } else if (j2eeType.equals("Servlet")) {
   try {
   registerWrapper(objectName);
   } catch (Throwable t) {
  -t.printStackTrace();
  +log.warn("Error registering Wrapper " + objectName,t);
   }
   }
   }
  @@ -209,7 +209,7 @@
   try {
   unregisterContext(objectName);
   } catch (Throwable t) {
  -t.printStackTrace();
  +log.warn("Error unregistering webapp " + objectName,t);
   }
   }
   }
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java

2003-01-30 Thread remm
remm2003/01/30 08:45:27

  Modified:coyote/src/java/org/apache/coyote/tomcat5
MapperListener.java
  Log:
  - Handle context unregistration (wrapper unregistration seems irrelevant, and the
mapper doesn't need them to be individually removed).
  
  Revision  ChangesPath
  1.3   +30 -2 
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java
  
  Index: MapperListener.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MapperListener.java   30 Jan 2003 14:26:59 -  1.2
  +++ MapperListener.java   30 Jan 2003 16:45:27 -  1.3
  @@ -189,7 +189,16 @@
   }
   } else if (notification.getType().equals
  (MBeanServerNotification.UNREGISTRATION_NOTIFICATION)) {
  -
  +String j2eeType = objectName.getKeyProperty("j2eeType");
  +if (j2eeType != null) {
  +if (j2eeType.equals("WebModule")) {
  +try {
  +unregisterContext(objectName);
  +} catch (Throwable t) {
  +t.printStackTrace();
  +}
  +}
  +}
   }
   }
   
  @@ -283,7 +292,26 @@
   private void unregisterContext(ObjectName objectName)
   throws Exception {
   
  -// FIXME: Also takes care of host registration
  +String name = objectName.getKeyProperty("name");
  +
  +String hostName = null;
  +String contextName = null;
  +if (name.startsWith("//")) {
  +name = name.substring(2);
  +}
  +int slash = name.indexOf("/");
  +if (slash != -1) {
  +hostName = name.substring(0, slash);
  +contextName = name.substring(slash);
  +} else {
  +return;
  +}
  +// Special case for the root context
  +if (contextName.equals("/")) {
  +contextName = "";
  +}
  +
  +mapper.removeContext(hostName, contextName);
   
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java

2003-01-30 Thread remm
remm2003/01/30 06:26:59

  Modified:coyote/src/java/org/apache/coyote/tomcat5
MapperListener.java
  Log:
  - Update mapper using JMX.
  
  Revision  ChangesPath
  1.2   +136 -28   
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java
  
  Index: MapperListener.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/MapperListener.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MapperListener.java   29 Jan 2003 12:54:59 -  1.1
  +++ MapperListener.java   30 Jan 2003 14:26:59 -  1.2
  @@ -62,6 +62,7 @@
   import java.util.Set;
   
   import javax.management.MBeanServer;
  +import javax.management.MBeanServerNotification;
   import javax.management.Notification;
   import javax.management.NotificationListener;
   import javax.management.ObjectInstance;
  @@ -96,6 +97,12 @@
   protected Mapper mapper = null;
   
   
  +/**
  + * MBean server.
  + */
  +protected MBeanServer mBeanServer = null;
  +
  +
   // --- Constructors
   
   
  @@ -117,7 +124,10 @@
   
   try {
   
  -MBeanServer mBeanServer = Registry.getServer();
  +mBeanServer = Registry.getServer();
  +
  +// FIXME
  +registerHost(null);
   
   // Query contexts
   String onStr = "*:j2eeType=WebModule,*";
  @@ -126,7 +136,7 @@
   Iterator iterator = set.iterator();
   while (iterator.hasNext()) {
   ObjectInstance oi = (ObjectInstance) iterator.next();
  -String name = oi.getObjectName().getKeyProperty("name");
  +registerContext(oi.getObjectName());
   }
   
   // Query wrappers
  @@ -136,13 +146,12 @@
   iterator = set.iterator();
   while (iterator.hasNext()) {
   ObjectInstance oi = (ObjectInstance) iterator.next();
  -String name = oi.getObjectName().getKeyProperty("name");
  -String contextName = 
  -oi.getObjectName().getKeyProperty("WebModule");
  -registerWrapper(contextName, name);
  +registerWrapper(oi.getObjectName());
   }
   
  -//mBeanServer.addNotificationListener(objectName, this, null, null);
  +onStr = "JMImplementation:type=MBeanServerDelegate";
  +objectName = new ObjectName(onStr);
  +mBeanServer.addNotificationListener(objectName, this, null, null);
   
   } catch (Exception e) {
   e.printStackTrace();
  @@ -157,7 +166,32 @@
   public void handleNotification(Notification notification,
  java.lang.Object handback) {
   
  -
  +if (notification instanceof MBeanServerNotification) {
  +ObjectName objectName = 
  +((MBeanServerNotification) notification).getMBeanName();
  +if (notification.getType().equals
  +(MBeanServerNotification.REGISTRATION_NOTIFICATION)) {
  +String j2eeType = objectName.getKeyProperty("j2eeType");
  +if (j2eeType != null) {
  +if (j2eeType.equals("WebModule")) {
  +try {
  +registerContext(objectName);
  +} catch (Throwable t) {
  +t.printStackTrace();
  +}
  +} else if (j2eeType.equals("Servlet")) {
  +try {
  +registerWrapper(objectName);
  +} catch (Throwable t) {
  +t.printStackTrace();
  +}
  +}
  +}
  +} else if (notification.getType().equals
  +   (MBeanServerNotification.UNREGISTRATION_NOTIFICATION)) {
  +
  +}
  +}
   
   }
   
  @@ -166,14 +200,52 @@
   
   
   /**
  - * Find context.
  + * Register host (FIXME).
*/
  -private void registerWrapper(String name, String wrapperName) {
  +private void registerHost(ObjectName objectName)
  +throws Exception {
   
  +Container container = 
  +ServerFactory.getServer().findServices()[0].getContainer();
  +
  +Container[] hosts = null;
   String defaultHost = null;
  -Host host = null;
  -Context context = null;
  -Wrapper wrapper = null;
  +
  +if (container instanceof Engine) {
  +defaultHost = ((Engine) container).getDefaultHost();
  +hosts = container.findChildren();
  +} else if (containe

cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 MapperListener.java CoyoteConnector.java CoyoteRequest.java

2003-01-29 Thread remm
remm2003/01/29 04:54:59

  Modified:coyote/src/java/org/apache/coyote/tomcat5
CoyoteConnector.java CoyoteRequest.java
  Added:   coyote/src/java/org/apache/coyote/tomcat5
MapperListener.java
  Log:
  - Use the new mapper.
  - This will very likely cause problems (although for now the old mapper still tries 
to
map requests whcih have not been fully mapped). If it does, the mapper
can be uncommented easily in CoyoteAdapter.postParseRequest.
  - Currently, the new mapper intgroduces a quite nasty B2C conversion on the
URI, which will be addressed.
  
  Revision  ChangesPath
  1.11  +10 -2 
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/CoyoteConnector.java
  
  Index: CoyoteConnector.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/CoyoteConnector.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- CoyoteConnector.java  28 Jan 2003 18:19:38 -  1.10
  +++ CoyoteConnector.java  29 Jan 2003 12:54:59 -  1.11
  @@ -70,8 +70,8 @@
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
   
  -import org.apache.tomcat.util.http.mapper.Mapper;
   import org.apache.tomcat.util.IntrospectionUtils;
  +import org.apache.tomcat.util.http.mapper.Mapper;
   
   import org.apache.coyote.Adapter;
   import org.apache.coyote.ProtocolHandler;
  @@ -329,6 +329,12 @@
private Mapper mapper = new Mapper();
   
   
  + /**
  +  * Mapper listener.
  +  */
  + private MapperListener mapperListener = new MapperListener(mapper);
  +
  +
   // - Properties
   
   
  @@ -1113,6 +1119,8 @@
   (sm.getString
("coyoteConnector.protocolHandlerStartFailed", e));
   }
  +
  +mapperListener.init();
   
   }
   
  
  
  
  1.16  +57 -37
jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/CoyoteRequest.java
  
  Index: CoyoteRequest.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/CoyoteRequest.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- CoyoteRequest.java28 Jan 2003 18:19:38 -  1.15
  +++ CoyoteRequest.java29 Jan 2003 12:54:59 -  1.16
  @@ -100,8 +100,11 @@
   import javax.servlet.http.HttpServletResponse;
   import javax.servlet.http.HttpSession;
   
  +import org.apache.tomcat.util.buf.MessageBytes;
   import org.apache.tomcat.util.http.FastHttpDateFormat;
   import org.apache.tomcat.util.http.Parameters;
  +import org.apache.tomcat.util.http.mapper.MappingData;
  +import org.apache.tomcat.util.net.SSLSupport;
   
   import org.apache.coyote.ActionCode;
   import org.apache.coyote.Request;
  @@ -124,9 +127,6 @@
   import org.apache.catalina.util.StringManager;
   import org.apache.catalina.util.StringParser;
   
  -import org.apache.tomcat.util.http.mapper.MappingData;
  -import org.apache.tomcat.util.net.SSLSupport;
  -
   /**
* Wrapper object for the Coyote request.
*
  @@ -272,24 +272,6 @@
   
   
   /**
  - * Context path.
  - */
  -protected String contextPath = "";
  -
  -
  -/**
  - * Path info.
  - */
  -protected String pathInfo = null;
  -
  -
  -/**
  - * Servlet path.
  - */
  -protected String servletPath = null;
  -
  -
  -/**
* User principal.
*/
   protected Principal userPrincipal = null;
  @@ -396,9 +378,6 @@
   inputBuffer.recycle();
   usingInputStream = false;
   usingReader = false;
  -contextPath = "";
  -pathInfo = null;
  -servletPath = null;
   userPrincipal = null;
   sessionParsed = false;
   requestParametersParsed = false;
  @@ -1475,9 +1454,9 @@
   public void setContextPath(String path) {
   
   if (path == null) {
  -this.contextPath = "";
  +mappingData.contextPath.setString("");
   } else {
  -this.contextPath = path;
  +mappingData.contextPath.setString(path);
   }
   
   }
  @@ -1512,7 +1491,7 @@
* @param path The path information
*/
   public void setPathInfo(String path) {
  -this.pathInfo = path;
  +mappingData.pathInfo.setString(path);
   }
   
   
  @@ -1589,6 +1568,16 @@
   
   
   /**
  + * Get the decoded request URI.
  + * 
  + * @return the URL decoded request URI
  + */
  +public MessageBytes getDecodedRequestURIMB() {
  +return (coyoteRequest.decodedURI());
  +}
  +
  +
  +/**
* Set the servlet path for this