You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ni...@apache.org on 2004/07/26 12:09:12 UTC

svn commit: rev 30711 - in avalon/trunk/planet/facilities/http: impl/src/etc impl/src/main/org/apache/avalon/http/impl spi/src/main/org/apache/avalon/http

Author: niclas
Date: Mon Jul 26 03:09:11 2004
New Revision: 30711

Modified:
   avalon/trunk/planet/facilities/http/impl/src/etc/default-server.xml
   avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/HttpContextImpl.java
   avalon/trunk/planet/facilities/http/spi/src/main/org/apache/avalon/http/HttpService.java
Log:
Change the way the HttpContext is created.

Modified: avalon/trunk/planet/facilities/http/impl/src/etc/default-server.xml
==============================================================================
--- avalon/trunk/planet/facilities/http/impl/src/etc/default-server.xml	(original)
+++ avalon/trunk/planet/facilities/http/impl/src/etc/default-server.xml	Mon Jul 26 03:09:11 2004
@@ -33,22 +33,19 @@
       <context-path>/niclas/testing</context-path>
     </configuration>
   </component>
-  
+<!--  
   <component name="security-handler" class="org.apache.avalon.http.impl.SecurityHandler" >
     <parameters>
-      <parameter name="handler-index" value="1" />
     </parameters>
   </component>
   
   <component name="model-handler"    class="org.apache.avalon.http.impl.ModelHandler" >
     <parameters>
-      <parameter name="handler-index" value="2" />
     </parameters>
   </component>
-  
+-->  
   <component name="resource-handler" class="org.apache.avalon.http.impl.ResourceHandler" >
     <parameters>
-      <parameter name="handler-index" value="3" />
       <parameter name="allow-directory" value="true" />
       <parameter name="allow-methods" value="GET" />
     </parameters>
@@ -56,16 +53,14 @@
 <!--  
   <component name="notfound-handler" class="org.apache.avalon.http.impl.NotFoundHandler" >
     <parameters>
-      <parameter name="handler-index" value="4" />
     </parameters>
   </component>
--->  
+
   <component name="errorpage-handler" class="org.apache.avalon.http.impl.ErrorPageHandler" >
     <parameters>
-      <parameter name="handler-index" value="4" />
     </parameters>
   </component>
-  
+-->    
   <component name="request-log" class="org.apache.avalon.http.impl.NcsaRequestLog" >
     <parameters>
       <parameter name="filename" value="request.log" />

Modified: avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/HttpContextImpl.java
==============================================================================
--- avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/HttpContextImpl.java	(original)
+++ avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/HttpContextImpl.java	Mon Jul 26 03:09:11 2004
@@ -21,6 +21,7 @@
 
 import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.activity.Startable;
+import org.apache.avalon.framework.activity.Initializable;
 
 import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
@@ -57,16 +58,18 @@
  */
 public class HttpContextImpl
     implements LogEnabled, Contextualizable, Serviceable, Startable, 
-               Disposable, Configurable, HttpContextService
+               Disposable, Configurable, HttpContextService, Initializable
 {
     private HttpService m_HttpServer;
     private HttpContext m_HttpContext;
     private Logger      m_Logger;
     private boolean     m_Graceful;
-        
+    private File        m_TemporaryDir;
+    private ClassLoader m_ClassLoader;
+    private RequestLog  m_RequestLog;
+    
     public HttpContextImpl()
     {
-        m_HttpContext = new HttpContext();
     }
     
     public HttpContext getHttpContext()
@@ -98,12 +101,10 @@
     public void contextualize( Context ctx )
         throws ContextException
     {
-        File tmpDir = (File) ctx.get( "urn:avalon:temp" );
-        tmpDir.mkdirs();
-        m_HttpContext.setTempDirectory( tmpDir );
+        m_TemporaryDir = (File) ctx.get( "urn:avalon:temp" );
+        m_TemporaryDir.mkdirs();
     
-        ClassLoader cl = (ClassLoader) ctx.get( "urn:avalon:classloader" );
-        m_HttpContext.setClassLoader( cl );
+        m_ClassLoader = (ClassLoader) ctx.get( "urn:avalon:classloader" );
     }
     
     /**
@@ -134,8 +135,7 @@
             m_HttpContext.setRealmName( realm.getName() ); // Is this necessary?
         } 
         
-        RequestLog log = (RequestLog) man.lookup( "request-log" );
-        m_HttpContext.setRequestLog( log );
+        m_RequestLog = (RequestLog) man.lookup( "request-log" );
     }
 
     public void parameterize( Parameters params )
@@ -152,16 +152,18 @@
     public void configure( Configuration conf )
         throws ConfigurationException
     {
+        Configuration virtualHostConf = conf.getChild( "virtual-host" );
+        String virtualHost = virtualHostConf.getValue( null );
+        
+        Configuration contextConf = conf.getChild( "context-path" );
+        String contextPath = contextConf.getValue( "/" );
+        
+        m_HttpContext = m_HttpServer.getContext( virtualHost, contextPath );
+        
         m_Graceful = conf.getChild( "graceful-stop" ).getValueAsBoolean( false );
         
         Configuration attributes = conf.getChild( "attributes" );
         configureAttributes( attributes );
-        
-        Configuration contextPath = conf.getChild( "context-path" );
-        m_HttpContext.setContextPath( contextPath.getValue( "/" ) );
-        
-        Configuration virtualHosts = conf.getChild( "virtual-hosts" );
-        configureVirtualHosts( virtualHosts );
     
         Configuration welcomeFiles = conf.getChild( "welcome-files" );
         configureWelcomeFiles( welcomeFiles );
@@ -202,7 +204,14 @@
         for( int i=0 ; i < files.length ; i++ )
             m_HttpContext.addWelcomeFile( files[i].getValue() );
     }
-    
+
+    public void initialize()
+    {
+        m_HttpContext.setClassLoader( m_ClassLoader );
+        m_HttpContext.setTempDirectory( m_TemporaryDir );
+        m_HttpContext.setRequestLog( m_RequestLog );
+    }
+        
     public void start()
         throws Exception
     {

Modified: avalon/trunk/planet/facilities/http/spi/src/main/org/apache/avalon/http/HttpService.java
==============================================================================
--- avalon/trunk/planet/facilities/http/spi/src/main/org/apache/avalon/http/HttpService.java	(original)
+++ avalon/trunk/planet/facilities/http/spi/src/main/org/apache/avalon/http/HttpService.java	Mon Jul 26 03:09:11 2004
@@ -36,6 +36,8 @@
     
     boolean removeContext( HttpContext context );
     
+    HttpContext getContext( String virtualhost, String contextPath );
+    
     HttpListener addListener( HttpListener listener );
     
     void removeListener( HttpListener listener );

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org