You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2004/09/19 02:35:08 UTC
svn commit: rev 46305 - in incubator/directory/seda/trunk: . src/examples/org/apache/seda/examples src/java/org/apache/seda/listener src/test/org/apache/seda src/test/org/apache/seda/listener
Author: akarasulu
Date: Sat Sep 18 17:35:07 2004
New Revision: 46305
Added:
incubator/directory/seda/trunk/maven.xml
incubator/directory/seda/trunk/src/examples/org/apache/seda/examples/EchoTest.java
incubator/directory/seda/trunk/src/java/org/apache/seda/listener/SocketListenerConfig.java
Removed:
incubator/directory/seda/trunk/src/java/org/apache/seda/listener/SocketListenerAddress.java
Modified:
incubator/directory/seda/trunk/project.xml
incubator/directory/seda/trunk/src/java/org/apache/seda/listener/ListenerConfig.java
incubator/directory/seda/trunk/src/java/org/apache/seda/listener/TCPListenerConfig.java
incubator/directory/seda/trunk/src/java/org/apache/seda/listener/TCPListenerManager.java
incubator/directory/seda/trunk/src/java/org/apache/seda/listener/UDPListenerConfig.java
incubator/directory/seda/trunk/src/test/org/apache/seda/DefaultFrontendFactoryTest.java
incubator/directory/seda/trunk/src/test/org/apache/seda/listener/TCPListenerManagerTest.java
Log:
Commit changes ...
o applied latest patch by Trustin here: http://ecolapon.notlong.com
o added new maven.xml to add src/examples to the list of src paths
o removed SocketListenerAddress since its not needed anymore
o added a simple EchoTest CLI prog for remote tests
o Added new SocketListenerConfig which was not in Trustin's diff
hope we got this right but he should check it out
Added: incubator/directory/seda/trunk/maven.xml
==============================================================================
--- (empty file)
+++ incubator/directory/seda/trunk/maven.xml Sat Sep 18 17:35:07 2004
@@ -0,0 +1,13 @@
+<project default="test"
+ xmlns:ant="jelly:ant" xmlns:maven="jelly:maven">
+
+ <preGoal name="java:compile">
+ <ant:path
+ id="my.other.src.dir"
+ location="${basedir}/src/examples"/>
+ <maven:addPath
+ id="maven.compile.src.set"
+ refid="my.other.src.dir"/>
+ </preGoal>
+
+</project>
\ No newline at end of file
Modified: incubator/directory/seda/trunk/project.xml
==============================================================================
--- incubator/directory/seda/trunk/project.xml (original)
+++ incubator/directory/seda/trunk/project.xml Sat Sep 18 17:35:07 2004
@@ -159,9 +159,9 @@
</excludes>
<resources>
- <!-- Actual test cases and supporting classes here -->
+ <!-- Examples of protocol providers using framework -->
<resource>
- <directory>${basedir}/src/test</directory>
+ <directory>${basedir}/src/examples</directory>
<includes>
<include>**/*.dtd</include>
<include>**/*.ldif</include>
@@ -172,9 +172,9 @@
</includes>
</resource>
- <!-- Examples of protocol providers using framework -->
+ <!-- Actual test cases and supporting classes here -->
<resource>
- <directory>${basedir}/src/examples</directory>
+ <directory>${basedir}/src/test</directory>
<includes>
<include>**/*.dtd</include>
<include>**/*.ldif</include>
@@ -184,6 +184,7 @@
<include>**/*.jar</include>
</includes>
</resource>
+
</resources>
</unitTest>
Added: incubator/directory/seda/trunk/src/examples/org/apache/seda/examples/EchoTest.java
==============================================================================
--- (empty file)
+++ incubator/directory/seda/trunk/src/examples/org/apache/seda/examples/EchoTest.java Sat Sep 18 17:35:07 2004
@@ -0,0 +1,39 @@
+import org.apache.commons.net.EchoTCPClient;
+
+
+public class EchoTest
+{
+ public static void main(String[]args)
+ {
+ byte[] recieved = null;
+
+ try
+ {
+ EchoTCPClient client = new EchoTCPClient();
+ client.connect( args[0], 7 );
+ byte[] toSend = args[1].getBytes();
+ recieved = new byte[toSend.length];
+ client.getOutputStream().write( toSend );
+ client.getInputStream().read( recieved );
+ client.disconnect();
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ System.out.println( "echo of '" + args[1] +
+ "' to " + args[0] + " failed!" );
+ System.exit( 1 );
+ }
+
+ if ( args[1].equals( new String( recieved ) ) )
+ {
+ System.out.println( "Successfully echo'd '" + args[1] +
+ "' to " + args[0] ) ;
+ System.exit( 0 );
+ }
+
+ System.out.println( "echo of '" + args[1] + "' to "
+ + args[0] + " failed!" );
+ System.exit( 2 );
+ }
+}
Modified: incubator/directory/seda/trunk/src/java/org/apache/seda/listener/ListenerConfig.java
==============================================================================
--- incubator/directory/seda/trunk/src/java/org/apache/seda/listener/ListenerConfig.java (original)
+++ incubator/directory/seda/trunk/src/java/org/apache/seda/listener/ListenerConfig.java Sat Sep 18 17:35:07 2004
@@ -17,7 +17,7 @@
package org.apache.seda.listener;
-import org.apache.seda.protocol.InetServiceEntry;
+
/**
@@ -28,33 +28,18 @@
*/
public abstract class ListenerConfig
{
- private final ListenerAddress address;
-
- public ListenerConfig(ListenerAddress address) {
- if (address == null)
- throw new NullPointerException("address");
- this.address = address;
- }
/**
- * Gets the address on which this ListenerConfig listens.
+ * Empty default constructor.
*/
- public final ListenerAddress getAddress() {
- return address;
- }
-
+ protected ListenerConfig() {
+ }
+
/**
- * Gets the URL for this ListenerConfig using the specified ip address and
+ * Gets the URI for this ListenerConfig using the specified ip address and
* the tcp port number listened to. The ipaddress is resolved to a host
* name.
*
- * @return the URL with scheme like so ldap://localhost:389
- */
- public abstract String getURL();
-
- /**
- * Gets the InetServiceEntry associated with this ListenerConfig.
- *
- * @return the service entry for this listener
+ * @return the URI with scheme like so ldap://localhost:389
*/
- public abstract InetServiceEntry getInetServiceEntry();
+ public abstract String getURI();
}
Added: incubator/directory/seda/trunk/src/java/org/apache/seda/listener/SocketListenerConfig.java
==============================================================================
--- (empty file)
+++ incubator/directory/seda/trunk/src/java/org/apache/seda/listener/SocketListenerConfig.java Sat Sep 18 17:35:07 2004
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2004 The 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.seda.listener;
+
+
+import org.apache.seda.protocol.InetServiceEntry;
+
+import java.net.InetAddress;
+
+
+/**
+ * The configuration base class for socket based listeners.
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org"> Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class SocketListenerConfig extends ListenerConfig
+{
+ /** the InetAddress associated with this server socket configuration */
+ private final InetAddress inetAddress;
+ /** the service entry in the inet service database */
+ private final InetServiceEntry servEnt;
+
+
+ /**
+ * Creates a socket listener config with all the supplied properties.
+ *
+ * @param inetAddress the inetAddress for the server listener
+ * @param servEnt the inet service entry for the service this listner
+ * provides
+ */
+ public SocketListenerConfig( InetAddress inetAddress, InetServiceEntry servEnt )
+ {
+ this.servEnt = servEnt;
+ this.inetAddress = inetAddress;
+ }
+
+
+ /**
+ * Gets the InetAddress associated with this server socket configuration.
+ *
+ * @return the address for the server socket associated with this config
+ */
+ public InetAddress getInetAddress()
+ {
+ return inetAddress;
+ }
+
+
+ /**
+ * Gets the service entry in the inet service database associated with
+ * this server socket configuration.
+ *
+ * @return the service entry in the inet service database
+ */
+ public InetServiceEntry getInetServiceEntry()
+ {
+ return servEnt;
+ }
+
+
+ public String getURI()
+ {
+ StringBuffer l_buf = new StringBuffer();
+
+ l_buf.append( servEnt.getName() );
+ l_buf.append( "://" );
+ l_buf.append( inetAddress );
+ l_buf.append( ':' );
+ l_buf.append( servEnt.getPort() );
+
+ return l_buf.toString();
+ }
+}
Modified: incubator/directory/seda/trunk/src/java/org/apache/seda/listener/TCPListenerConfig.java
==============================================================================
--- incubator/directory/seda/trunk/src/java/org/apache/seda/listener/TCPListenerConfig.java (original)
+++ incubator/directory/seda/trunk/src/java/org/apache/seda/listener/TCPListenerConfig.java Sat Sep 18 17:35:07 2004
@@ -19,6 +19,8 @@
import org.apache.seda.protocol.InetServiceEntry;
+import java.net.InetAddress;
+
/**
* A default server listener.
@@ -27,26 +29,21 @@
* @author $LastChangedBy$
* @version $LastChangedRevision$
*/
-public class TCPListenerConfig extends ListenerConfig
+public class TCPListenerConfig extends SocketListenerConfig
{
/** the connection backlog */
private int backlog;
- /** the interface address or hostname of the server */
- private byte[] address;
- /** the inet service provided by this listener */
- private InetServiceEntry servEnt;
/**
* Creates a default listener with all the supplied properties.
*
- * @param address the address for the server listener
+ * @param inetAddress the inetAddress for the server listener
* @param servEnt the inet service entry for the service this listner
* provides
*/
- public TCPListenerConfig( ListenerAddress address, InetServiceEntry servEnt )
+ public TCPListenerConfig( InetAddress inetAddress, InetServiceEntry servEnt )
{
- super( address );
- this.servEnt = servEnt;
+ super( inetAddress, servEnt );
}
@@ -58,64 +55,12 @@
return this.backlog;
}
-
- /* (non-Javadoc)
- * @see org.apache.seda.listener.ServerListener#getURL()
- */
- public String getURL()
- {
- StringBuffer l_buf = new StringBuffer();
-
- l_buf.append( servEnt.getName() );
- l_buf.append( "://" );
- l_buf.append( this.address );
- l_buf.append( ':' );
- l_buf.append( servEnt.getPort() );
-
- return l_buf.toString();
- }
-
-
- /**
- * Gets the Inet service entry for the service this config's listner
- * provides.
- *
- * @return the served service's entry
- */
- public InetServiceEntry getInetServiceEntry()
- {
- return servEnt;
- }
-
-
- /**
- * Sets the address for the
- *
- * @param a_address The address to set.
- */
- protected void setAddress( byte[] a_address )
- {
- this.address = a_address;
- }
-
-
/**
* @param a_backlog The backlog to set.
*/
protected void setBacklog( int a_backlog )
{
this.backlog = a_backlog;
- }
-
-
- /**
- * Set's the inet service entry.
- *
- * @param servEnt the service entry of the service this listener provides
- */
- protected void setInetServiceEntry( InetServiceEntry servEnt )
- {
- this.servEnt = servEnt;
}
}
Modified: incubator/directory/seda/trunk/src/java/org/apache/seda/listener/TCPListenerManager.java
==============================================================================
--- incubator/directory/seda/trunk/src/java/org/apache/seda/listener/TCPListenerManager.java (original)
+++ incubator/directory/seda/trunk/src/java/org/apache/seda/listener/TCPListenerManager.java Sat Sep 18 17:35:07 2004
@@ -166,8 +166,9 @@
try
{
ServerSocketChannel channel = ServerSocketChannel.open();
- InetSocketAddress address = new InetSocketAddress(
- ((SocketListenerAddress) listener.getAddress()).getAddress(),
+ InetSocketAddress address =
+ new InetSocketAddress(
+ listener.getInetAddress(),
listener.getInetServiceEntry().getPort() );
channel.socket().bind( address, listener.getBacklog() );
channel.configureBlocking( false );
Modified: incubator/directory/seda/trunk/src/java/org/apache/seda/listener/UDPListenerConfig.java
==============================================================================
--- incubator/directory/seda/trunk/src/java/org/apache/seda/listener/UDPListenerConfig.java (original)
+++ incubator/directory/seda/trunk/src/java/org/apache/seda/listener/UDPListenerConfig.java Sat Sep 18 17:35:07 2004
@@ -18,6 +18,8 @@
import org.apache.seda.protocol.InetServiceEntry;
+import java.net.InetAddress;
+
/**
* A default server listener.
*
@@ -25,11 +27,8 @@
* @author $LastChangedBy$
* @version $LastChangedRevision$
*/
-public class UDPListenerConfig extends ListenerConfig
+public class UDPListenerConfig extends SocketListenerConfig
{
- /** the inet service provided by this listener */
- private InetServiceEntry servEnt;
-
/**
* Creates a default listener with all the supplied properties.
*
@@ -37,49 +36,8 @@
* @param servEnt the inet service entry for the service this listner
* provides
*/
- public UDPListenerConfig( SocketListenerAddress a_address, InetServiceEntry servEnt )
- {
- super(a_address);
-
- this.servEnt = servEnt;
- }
-
- /* (non-Javadoc)
- * @see org.apache.seda.listener.ServerListener#getURL()
- */
- public String getURL()
- {
- StringBuffer l_buf = new StringBuffer();
-
- l_buf.append( servEnt.getName() );
- l_buf.append( "://" );
- l_buf.append( ((SocketListenerAddress) this.getAddress()).getAddress().
- getHostAddress());
- l_buf.append( ':' );
- l_buf.append( servEnt.getPort() );
-
- return l_buf.toString();
- }
-
-
- /**
- * Gets the Inet service entry for the service this config's listner
- * provides.
- *
- * @return the served service's entry
- */
- public InetServiceEntry getInetServiceEntry()
- {
- return servEnt;
- }
-
- /**
- * Set's the inet service entry.
- *
- * @param servEnt the service entry of the service this listener provides
- */
- protected void setInetServiceEntry( InetServiceEntry servEnt )
+ public UDPListenerConfig( InetAddress a_address, InetServiceEntry servEnt )
{
- this.servEnt = servEnt;
+ super(a_address, servEnt);
}
}
Modified: incubator/directory/seda/trunk/src/test/org/apache/seda/DefaultFrontendFactoryTest.java
==============================================================================
--- incubator/directory/seda/trunk/src/test/org/apache/seda/DefaultFrontendFactoryTest.java (original)
+++ incubator/directory/seda/trunk/src/test/org/apache/seda/DefaultFrontendFactoryTest.java Sat Sep 18 17:35:07 2004
@@ -18,14 +18,13 @@
import junit.framework.TestCase;
+import org.apache.commons.net.EchoTCPClient;
+import org.apache.seda.examples.EchoProtocolProvider;
+import org.apache.seda.listener.AvailablePortFinder;
import org.apache.seda.listener.ListenerConfig;
import org.apache.seda.listener.TCPListenerConfig;
-import org.apache.seda.listener.SocketListenerAddress;
-import org.apache.seda.listener.AvailablePortFinder;
-import org.apache.seda.protocol.InetServiceEntry;
import org.apache.seda.protocol.DefaultInetServicesDatabase;
-import org.apache.seda.examples.EchoProtocolProvider;
-import org.apache.commons.net.EchoTCPClient;
+import org.apache.seda.protocol.InetServiceEntry;
import java.io.IOException;
import java.net.InetAddress;
@@ -93,8 +92,9 @@
{
int port = AvailablePortFinder.getNextAvailable();
ListenerConfig config = null;
- config = new TCPListenerConfig( new SocketListenerAddress(
- InetAddress.getLocalHost() ), new InetServiceEntry( "ldap", port ) );
+ config = new TCPListenerConfig(
+ InetAddress.getLocalHost(),
+ new InetServiceEntry( "ldap", port ) );
fe.getListenerManager().bind( config );
fe.getListenerManager().unbind( config );
}
@@ -107,8 +107,7 @@
( ( DefaultInetServicesDatabase ) fe.getInetServicesDatabase() )
.addEntry( srvEntry );
ListenerConfig config = null;
- config = new TCPListenerConfig( new SocketListenerAddress(
- InetAddress.getLocalHost() ), srvEntry );
+ config = new TCPListenerConfig( InetAddress.getLocalHost(), srvEntry );
fe.getListenerManager().bind( config );
fe.register( new EchoProtocolProvider() );
Modified: incubator/directory/seda/trunk/src/test/org/apache/seda/listener/TCPListenerManagerTest.java
==============================================================================
--- incubator/directory/seda/trunk/src/test/org/apache/seda/listener/TCPListenerManagerTest.java (original)
+++ incubator/directory/seda/trunk/src/test/org/apache/seda/listener/TCPListenerManagerTest.java Sat Sep 18 17:35:07 2004
@@ -80,7 +80,7 @@
{
int port = AvailablePortFinder.getNextAvailable();
ListenerConfig config = new TCPListenerConfig(
- new SocketListenerAddress( InetAddress.getLocalHost() ),
+ InetAddress.getLocalHost(),
new InetServiceEntry( "ldap", port ) );
listener.bind( config );
listener.unbind( config );
@@ -91,7 +91,7 @@
{
int port = AvailablePortFinder.getNextAvailable();
ListenerConfig config = new TCPListenerConfig(
- new SocketListenerAddress(InetAddress.getLocalHost()),
+ InetAddress.getLocalHost(),
new InetServiceEntry( "ldap", port ) );
listener.bind( config );
listener.unbind( config );