You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@apache.org on 2001/01/23 03:52:01 UTC

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup ContextConfig.java

craigmcc    01/01/22 18:52:01

  Modified:    catalina/src/share/org/apache/catalina/startup
                        ContextConfig.java
  Log:
  Third of four commits for the Valve API change.
  
  Changes reflect the fact that the Context implementation delegates to a
  Pipeline implementation, rather than implementing Pipeline directly.
  
  Revision  Changes    Path
  1.36      +36 -29    jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java
  
  Index: ContextConfig.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- ContextConfig.java	2000/12/22 00:37:52	1.35
  +++ ContextConfig.java	2001/01/23 02:52:00	1.36
  @@ -1,13 +1,13 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v 1.35 2000/12/22 00:37:52 craigmcc Exp $
  - * $Revision: 1.35 $
  - * $Date: 2000/12/22 00:37:52 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/startup/ContextConfig.java,v 1.36 2001/01/23 02:52:00 craigmcc Exp $
  + * $Revision: 1.36 $
  + * $Date: 2001/01/23 02:52:00 $
    *
    * ====================================================================
    *
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 1999 The Apache Software Foundation.  All rights
  + * Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -118,7 +118,7 @@
    * of that Context, and the associated defined servlets.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.35 $ $Date: 2000/12/22 00:37:52 $
  + * @version $Revision: 1.36 $ $Date: 2001/01/23 02:52:00 $
    */
   
   public final class ContextConfig
  @@ -278,21 +278,18 @@
   	// Has an authenticator been configured already?
   	if (context instanceof Authenticator)
   	    return;
  -	if (context instanceof ContainerBase) {
  -	    Valve basic = ((ContainerBase) context).getBasic();
  -	    if ((basic != null) && (basic instanceof Authenticator))
  -		return;
  -	}
  -	if (context instanceof Pipeline) {
  -	    Valve valve = ((Pipeline) context).findValves();
  -	    while (valve != null) {
  -		if (valve instanceof Authenticator)
  -		    return;
  -		if (valve instanceof ValveBase)
  -		    valve = ((ValveBase) valve).getNext();
  -		else
  -		    valve = null;
  -	    }
  +        if (context instanceof ContainerBase) {
  +            Pipeline pipeline = ((ContainerBase) context).getPipeline();
  +            if (pipeline != null) {
  +                Valve basic = pipeline.getBasic();
  +                if ((basic != null) && (basic instanceof Authenticator))
  +                    return;
  +                Valve valves[] = pipeline.getValves();
  +                for (int i = 0; i < valves.length; i++) {
  +                    if (valves[i] instanceof Authenticator)
  +                        return;
  +                }
  +            }
   	} else {
   	    return;	// Cannot install a Valve even if it would be needed
   	}
  @@ -336,9 +333,14 @@
   	try {
   	    Class authenticatorClass = Class.forName(authenticatorName);
   	    authenticator = (Valve) authenticatorClass.newInstance();
  -	    ((Pipeline) context).addValve(authenticator);
  -	    log(sm.getString("contextConfig.authenticatorConfigured",
  -			     loginConfig.getAuthMethod()));
  +            if (context instanceof ContainerBase) {
  +                Pipeline pipeline = ((ContainerBase) context).getPipeline();
  +                if (pipeline != null) {
  +                    pipeline.addValve(authenticator);
  +                    log(sm.getString("contextConfig.authenticatorConfigured",
  +                                     loginConfig.getAuthMethod()));
  +                }
  +            }
   	} catch (Throwable t) {
   	    log(sm.getString("contextConfig.authenticatorInstantiate",
   			     authenticatorName), t);
  @@ -377,8 +379,14 @@
   
           // Add this Valve to our Pipeline
           try {
  -            ((Pipeline) context).addValve(certificates);
  -            log(sm.getString("contextConfig.certificatesConfig.added"));
  +            if (context instanceof ContainerBase) {
  +                Pipeline pipeline = ((ContainerBase) context).getPipeline();
  +                if (pipeline != null) {
  +                    pipeline.addValve(certificates);
  +                    log(sm.getString
  +                        ("contextConfig.certificatesConfig.added"));
  +                }
  +            }
           } catch (Throwable t) {
               log(sm.getString("contextConfig.certificatesConfig.error"), t);
               ok = false;
  @@ -899,10 +907,9 @@
           // Dump the contents of this pipeline if requested
           if (debug >= 1) {
               log("Pipline Configuration:");
  -            Valve valve = ((Pipeline) context).findValves();
  -            while (valve != null) {
  -                log("  " + valve.getInfo());
  -                valve = valve.getNext();
  +            Valve valves[] = ((Pipeline) context).getValves();
  +            for (int i = 0; i < valves.length; i++) {
  +                log("  " + valves[i].getInfo());
               }
               log("======================");
           }