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

[email protected]
Newsgroups gmane.comp.jakarta.avalon.cvs
Message-ID <[email protected]>
Author: niclas
Date: Tue Jul 27 03:11:52 2004
New Revision: 30772

Added:
   avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/Ajp13Listener.java   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/JsseListener.java   (contents, props changed)
   avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListener.java
      - copied, changed from rev 30710, avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListenerComponent.java
Removed:
   avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListenerComponent.java
Modified:
   avalon/trunk/planet/facilities/http/impl/src/etc/default-server.xml
Log:
Added the Ajp and Jsse listener wrappers. They are yet to be tested.

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	Tue Jul 27 03:11:52 2004
@@ -26,7 +26,7 @@
   <component name="secondary" class="test.http.TestComponent" profile="secondary"/>
 
 <!-- Actual Facility  -->  
-  <component name="socketlistener" class="org.apache.avalon.http.impl.SocketListenerComponent">
+  <component name="socketlistener" class="org.apache.avalon.http.impl.SocketListener">
     <parameters>
       <parameter name="port" value="8088"/>
       <parameter name="hostname" value="0.0.0.0"/>

Added: avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/Ajp13Listener.java
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/Ajp13Listener.java	Tue Jul 27 03:11:52 2004
@@ -0,0 +1,141 @@
+/* 
+ * Copyright 2004 Apache Software Foundation
+ * Licensed  under the  Apache License,  Version 2.0  (the "License");
+ * you may not use  this file  except in  compliance with the License.
+ * You may obtain a copy of the License at 
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed  under the  License is distributed on an "AS IS" BASIS,
+ * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
+ * implied.
+ * 
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.avalon.http.impl;
+
+import org.apache.avalon.framework.activity.Startable;
+
+import org.apache.avalon.framework.logger.LogEnabled;
+import org.apache.avalon.framework.logger.Logger;
+
+import org.apache.avalon.framework.parameters.ParameterException;
+import org.apache.avalon.framework.parameters.Parameterizable;
+import org.apache.avalon.framework.parameters.Parameters;
+
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+
+import org.apache.avalon.http.HttpService;
+
+import org.mortbay.http.HttpListener;
+
+/** Wrapper for the Jetty SocketListener.
+ *
+ * @avalon.component name="http-socket-listener" lifestyle="singleton"
+ * @avalon.service type="org.mortbay.http.HttpListener"
+ */
+public class Ajp13Listener extends org.mortbay.http.ajp.AJP13Listener
+    implements Parameterizable, Startable, Serviceable, LogEnabled, HttpListener
+{
+    private HttpService m_HttpServer;
+    private Logger      m_Logger;
+    
+    public Ajp13Listener()
+    {
+    }
+    
+    /**
+     * Enable the logging system.
+     *
+     * @avalon.logger name="http"
+     */
+    public void enableLogging( Logger logger )
+    {
+        m_Logger = logger;
+    }
+    
+    public Logger getLogger()
+    {
+        return m_Logger;
+    }
+    
+    public void parameterize( Parameters params )
+        throws ParameterException
+    {
+        int reserve = params.getParameterAsInteger( "buffer-reserve", -1 );
+        if( reserve > 0 )
+            setBufferReserve( reserve );
+        
+        int size = params.getParameterAsInteger( "buffer-size", -1 );
+        if( size > 0 )
+            setBufferSize( size );
+    
+        int confPort = params.getParameterAsInteger( "confidential-port", -1 );
+        if( confPort > 0 )
+            setConfidentialPort( confPort );
+        
+        String confScheme = params.getParameter( "confidential-scheme", null );
+        if( confScheme != null )
+            setConfidentialScheme( confScheme );
+    
+        int integralPort = params.getParameterAsInteger( "integral-port", -1 );
+        if( integralPort > 0 )
+            setIntegralPort( integralPort );
+        
+        String integralScheme = params.getParameter( "integral-scheme", null );
+        if( integralScheme != null )
+            setIntegralScheme( integralScheme );
+    
+        String host = params.getParameter( "hostname", null );
+        try
+        {
+            if( host != null )
+                setHost( host );
+        } catch( java.net.UnknownHostException e )
+        {
+            throw new ParameterException( "Unknown hostname: " + host );
+        }
+        
+        int port = params.getParameterAsInteger( "port", 8080 );
+        setPort( port );
+        
+        boolean identify = params.getParameterAsBoolean( "identify-listener", false );
+        setIdentifyListener( identify );
+        
+        
+    }
+    
+    /**
+     * @avalon.dependency type="org.apache.avalon.http.HttpService" 
+     *                    key="server"
+     */
+    public void service( ServiceManager man )
+        throws ServiceException
+    {
+        m_HttpServer = (HttpService) man.lookup( "server" );
+    }
+    
+    public void start()
+        throws Exception
+    {
+        if( m_Logger.isDebugEnabled() )
+            m_Logger.debug( "Starting socket: " + this );
+        m_HttpServer.addListener( this );
+        super.start();
+    }
+    
+    public void stop()
+        throws InterruptedException
+    {
+        if( m_Logger.isDebugEnabled() )
+            m_Logger.debug( "Stopping socket: " + this );
+        super.stop();
+        m_HttpServer.removeListener( this );
+    }
+} 
+ 

Added: avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/JsseListener.java
==============================================================================
--- (empty file)
+++ avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/JsseListener.java	Tue Jul 27 03:11:52 2004
@@ -0,0 +1,177 @@
+/* 
+ * Copyright 2004 Apache Software Foundation
+ * Licensed  under the  Apache License,  Version 2.0  (the "License");
+ * you may not use  this file  except in  compliance with the License.
+ * You may obtain a copy of the License at 
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed  under the  License is distributed on an "AS IS" BASIS,
+ * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
+ * implied.
+ * 
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.avalon.http.impl;
+
+import org.apache.avalon.framework.activity.Startable;
+
+import org.apache.avalon.framework.logger.LogEnabled;
+import org.apache.avalon.framework.logger.Logger;
+
+import org.apache.avalon.framework.parameters.ParameterException;
+import org.apache.avalon.framework.parameters.Parameterizable;
+import org.apache.avalon.framework.parameters.Parameters;
+
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+
+import org.apache.avalon.http.HttpService;
+
+import org.mortbay.http.HttpListener;
+
+/** Wrapper for the Jetty SocketListener.
+ *
+ * @avalon.component name="http-socket-listener" lifestyle="singleton"
+ * @avalon.service type="org.mortbay.http.HttpListener"
+ */
+public class JsseListener extends org.mortbay.http.SunJsseListener
+    implements Parameterizable, Startable, Serviceable, LogEnabled, HttpListener
+{
+    private HttpService m_HttpServer;
+    private Logger      m_Logger;
+    
+    public JsseListener()
+    {
+    }
+    
+    /**
+     * Enable the logging system.
+     *
+     * @avalon.logger name="http"
+     */
+    public void enableLogging( Logger logger )
+    {
+        m_Logger = logger;
+    }
+    
+    public Logger getLogger()
+    {
+        return m_Logger;
+    }
+    
+    public void parameterize( Parameters params )
+        throws ParameterException
+    {
+        int reserve = params.getParameterAsInteger( "buffer-reserve", -1 );
+        if( reserve > 0 )
+            setBufferReserve( reserve );
+        
+        int size = params.getParameterAsInteger( "buffer-size", -1 );
+        if( size > 0 )
+            setBufferSize( size );
+    
+        int confPort = params.getParameterAsInteger( "confidential-port", -1 );
+        if( confPort > 0 )
+            setConfidentialPort( confPort );
+        
+        String confScheme = params.getParameter( "confidential-scheme", null );
+        if( confScheme != null )
+            setConfidentialScheme( confScheme );
+    
+        String defScheme = params.getParameter( "default-scheme", null );
+        if( defScheme != null )
+            setDefaultScheme( defScheme );
+        
+        int integralPort = params.getParameterAsInteger( "integral-port", -1 );
+        if( integralPort > 0 )
+            setIntegralPort( integralPort );
+        
+        String integralScheme = params.getParameter( "integral-scheme", null );
+        if( integralScheme != null )
+            setIntegralScheme( integralScheme );
+    
+        String host = params.getParameter( "hostname", null );
+        try
+        {
+            if( host != null )
+                setHost( host );
+        } catch( java.net.UnknownHostException e )
+        {
+            throw new ParameterException( "Unknown hostname: " + host );
+        }
+        
+        int port = params.getParameterAsInteger( "port", 8443 );
+        setPort( port );
+        
+        int lowResMs = params.getParameterAsInteger( "low-resource-persist-ms", -1 );
+        if( lowResMs > 0 )
+            setLowResourcePersistTimeMs( lowResMs );
+        
+        boolean identify = params.getParameterAsBoolean( "identify-listener", false );
+        setIdentifyListener( identify );
+        
+        boolean needClientAuth = params.getParameterAsBoolean( "need-client-authentication", false );
+        setNeedClientAuth( needClientAuth );
+        
+        boolean useDefTrustStore = params.getParameterAsBoolean( "use-default-trust-store", false );
+        setUseDefaultTrustStore( useDefTrustStore );
+        
+        String keyPass = params.getParameter( "key-password", null );
+        if( keyPass != null )
+            setKeyPassword( keyPass );
+            
+        String keyStore = params.getParameter( "key-store", null );
+        if( keyStore != null )
+            setKeystore( keyStore );
+            
+        String keyStoreProviderClass = params.getParameter( "key-store-provider-class", null );
+        if( keyStoreProviderClass != null )
+            setKeystoreProviderClass( keyStoreProviderClass );
+            
+        String keyStoreProviderName = params.getParameter( "key-store-provider-name", null );
+        if( keyStoreProviderName != null )
+            setKeystoreProviderName( keyStoreProviderName );
+            
+        String keyStoreType = params.getParameter( "key-store-type", null );
+        if( keyStoreType != null )
+            setKeystoreType( keyStoreType );
+            
+        String password = params.getParameter( "password", null );
+        if( password != null )
+            setPassword( password );
+    }
+    
+    /**
+     * @avalon.dependency type="org.apache.avalon.http.HttpService" 
+     *                    key="server"
+     */
+    public void service( ServiceManager man )
+        throws ServiceException
+    {
+        m_HttpServer = (HttpService) man.lookup( "server" );
+    }
+    
+    public void start()
+        throws Exception
+    {
+        if( m_Logger.isDebugEnabled() )
+            m_Logger.debug( "Starting SSL socket: " + this );
+        m_HttpServer.addListener( this );
+        super.start();
+    }
+    
+    public void stop()
+        throws InterruptedException
+    {
+        if( m_Logger.isDebugEnabled() )
+            m_Logger.debug( "Stopping SSL socket: " + this );
+        super.stop();
+        m_HttpServer.removeListener( this );
+    }
+} 
+ 

Copied: avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListener.java (from rev 30710, avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListenerComponent.java)
==============================================================================
--- avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListenerComponent.java	(original)
+++ avalon/trunk/planet/facilities/http/impl/src/main/org/apache/avalon/http/impl/SocketListener.java	Tue Jul 27 03:11:52 2004
@@ -33,20 +33,19 @@
 import org.apache.avalon.http.HttpService;
 
 import org.mortbay.http.HttpListener;
-import org.mortbay.http.SocketListener;
 
 /** Wrapper for the Jetty SocketListener.
  *
  * @avalon.component name="http-socket-listener" lifestyle="singleton"
  * @avalon.service type="org.mortbay.http.HttpListener"
  */
-public class SocketListenerComponent extends SocketListener
+public class SocketListener extends org.mortbay.http.SocketListener
     implements Parameterizable, Startable, Serviceable, LogEnabled, HttpListener
 {
     private HttpService m_HttpServer;
     private Logger      m_Logger;
     
-    public SocketListenerComponent()
+    public SocketListener()
     {
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.