remm        02/05/29 13:09:01

  Modified:    catalina/src/share/org/apache/catalina/core
                        NamingContextListener.java
  Log:
  - Fix code to update the resource params on the fly (without a Tomcat restart).
  
  Revision  Changes    Path
  1.16      +35 -23    
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/NamingContextListener.java
  
  Index: NamingContextListener.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/NamingContextListener.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- NamingContextListener.java        23 May 2002 22:27:46 -0000      1.15
  +++ NamingContextListener.java        29 May 2002 20:09:01 -0000      1.16
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/NamingContextListener.java,v
 1.15 2002/05/23 22:27:46 remm Exp $
  - * $Revision: 1.15 $
  - * $Date: 2002/05/23 22:27:46 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/NamingContextListener.java,v
 1.16 2002/05/29 20:09:01 remm Exp $
  + * $Revision: 1.16 $
  + * $Date: 2002/05/29 20:09:01 $
    *
    * ====================================================================
    *
  @@ -118,7 +118,7 @@
    * with each context and server.
    *
    * @author Remy Maucherat
  - * @version $Revision: 1.15 $ $Date: 2002/05/23 22:27:46 $
  + * @version $Revision: 1.16 $ $Date: 2002/05/29 20:09:01 $
    */
   
   public class NamingContextListener
  @@ -629,28 +629,40 @@
                   }
               }
           } else if (name.equals("resourceParams")) {
  +            String resourceParamsName = null;
  +            ResourceParams rp = null;
               if (oldValue != null) {
  -                ResourceParams rp = (ResourceParams) oldValue;
  -                if (rp.getName() != null) {
  -                    // Remove and re-add the resource without the parameters
  -                    ContextResource resource =
  -                        namingResources.findResource(rp.getName());
  -                    if (resource != null) {
  -                        removeResource(resource.getName());
  -                        addResource(resource);
  -                    }
  -                }
  +                rp = (ResourceParams) oldValue;
               }
               if (newValue != null) {
  -                ResourceParams rp = (ResourceParams) newValue;
  -                if (rp.getName() != null) {
  -                    // Remove and re-add the resource with the parameters
  -                    ContextResource resource =
  -                        namingResources.findResource(rp.getName());
  -                    if (resource != null) {
  -                        removeResource(resource.getName());
  -                        addResource(resource);
  -                    }
  +                rp = (ResourceParams) newValue;
  +            }
  +            if (rp != null) {
  +                resourceParamsName = rp.getName();
  +            }
  +            if (resourceParamsName != null) {
  +                ContextEjb ejb = namingResources.findEjb(resourceParamsName);
  +                if (ejb != null) {
  +                    removeEjb(resourceParamsName);
  +                    addEjb(ejb);
  +                }
  +                ContextResource resource = 
  +                    namingResources.findResource(resourceParamsName);
  +                if (resource != null) {
  +                    removeResource(resourceParamsName);
  +                    addResource(resource);
  +                }
  +                String resourceEnvRefValue = 
  +                    namingResources.findResourceEnvRef(resourceParamsName);
  +                if (resourceEnvRefValue != null) {
  +                    removeResourceEnvRef(resourceParamsName);
  +                    addResourceEnvRef(resourceParamsName, resourceEnvRefValue);
  +                }
  +                ContextResourceLink resourceLink = 
  +                    namingResources.findResourceLink(resourceParamsName);
  +                if (resourceLink != null) {
  +                    removeResourceLink(resourceParamsName);
  +                    addResourceLink(resourceLink);
                   }
               }
           }
  
  
  

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

Reply via email to