[prev in list] [next in list] [prev in thread] [next in thread]
List: incubator-cvs
Subject: cvs commit: incubator-altrmi/src/test/org/apache/altrmi/test/betwixt BetwixtTestCase.java
From: hammant () apache ! org
Date: 2003-05-04 17:41:20
[Download RAW message or body]
hammant 2003/05/04 10:41:20
Added: lib/optional/betwixt commons-betwixt-1.0-alpha-1.jar
src/java/org/apache/altrmi/client/impl/betwixt
BetwixtHostContext.java
BetwixtInvocationHandler.java
ClientBetwixtReadWriter.java
src/java/org/apache/altrmi/server/impl/betwixt
CompleteBetwixtServer.java
ServerBetwixtReadWriter.java
src/test/org/apache/altrmi/test/betwixt BetwixtTestCase.java
Log:
Start of Betwixt transport paired with James Maggs.
Revision Changes Path
1.1 \
incubator-altrmi/lib/optional/betwixt/commons-betwixt-1.0-alpha-1.jar
<<Binary file>>
1.1 \
incubator-altrmi/src/java/org/apache/altrmi/client/impl/betwixt/BetwixtHostContext.java
Index: BetwixtHostContext.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 1997-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software
* itself, if and wherever such third-party acknowledgments
* normally appear.
*
* 4. The names "Incubator", "AltRMI", and "Apache Software Foundation"
* must not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.altrmi.client.impl.betwixt;
import org.apache.altrmi.client.HostContext;
import org.apache.altrmi.client.ClientInvocationHandler;
import org.apache.altrmi.client.impl.AbstractHostContext;
import org.apache.altrmi.common.ConnectionException;
/**
* Betwixt HostContext
* @author Paul Hammant and James Maggs
*/
public class BetwixtHostContext extends AbstractHostContext
{
public BetwixtHostContext(String host, int port) throws ConnectionException
{
super(new BetwixtInvocationHandler(host, port, BetwixtHostContext.class
.getClassLoader()));
}
}
1.1 \
incubator-altrmi/src/java/org/apache/altrmi/client/impl/betwixt/BetwixtInvocationHandler.java
Index: BetwixtInvocationHandler.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 1997-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software
* itself, if and wherever such third-party acknowledgments
* normally appear.
*
* 4. The names "Incubator", "AltRMI", and "Apache Software Foundation"
* must not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.altrmi.client.impl.betwixt;
import org.apache.altrmi.client.ConnectionRefusedException;
import org.apache.altrmi.client.impl.ClientStreamReadWriter;
import org.apache.altrmi.client.impl.stream.StreamInvocationHandler;
import org.apache.altrmi.common.BadConnectionException;
import org.apache.altrmi.common.ConnectionException;
import java.beans.IntrospectionException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
/**
* Betwixt Invocation Handler
* @author Paul Hammant and James Maggs
*/
public class BetwixtInvocationHandler extends StreamInvocationHandler
{
private String m_host;
private int m_port;
public BetwixtInvocationHandler(String host, int port,
ClassLoader classLoader) throws \
ConnectionException {
super(classLoader);
m_host = host;
m_port = port;
try
{
Socket socket = makeSocket();
setObjectReadWriter(createClientStreamReadWriter(socket.getInputStream(),
socket.getOutputStream()));
}
catch (IOException ioe)
{
if (ioe.getMessage().startsWith("Connection refused"))
{
throw new ConnectionRefusedException("Connection to port " + port + \
" on host " + host + " refused."); }
throw new BadConnectionException("Cannot open Stream(s) for socket: "
+ ioe.getMessage());
}
}
protected boolean tryReconnect()
{
return false;
}
private Socket makeSocket() throws IOException
{
Socket socket = new Socket(m_host, m_port);
// The 1 second value was causing unwanted timeouts when the remote
// method took more than a second to run or if either system was heavily
// loaded.
//socket.setSoTimeout(1000);
socket.setSoTimeout(60 * 1000);
return socket;
}
protected ClientStreamReadWriter createClientStreamReadWriter(
InputStream in, OutputStream out ) throws ConnectionException
{
try
{
return new ClientBetwixtReadWriter( in, out, m_interfacesClassLoader );
}
catch (IntrospectionException e)
{
throw new ConnectionException("Cannot connect to server: " + \
e.getMessage()); }
}
}
1.1 \
incubator-altrmi/src/java/org/apache/altrmi/client/impl/betwixt/ClientBetwixtReadWriter.java
Index: ClientBetwixtReadWriter.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 1997-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software
* itself, if and wherever such third-party acknowledgments
* normally appear.
*
* 4. The names "Incubator", "AltRMI", and "Apache Software Foundation"
* must not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.altrmi.client.impl.betwixt;
import org.apache.altrmi.client.impl.ClientStreamReadWriter;
import org.apache.altrmi.common.Reply;
import org.apache.altrmi.common.Request;
import org.apache.commons.betwixt.io.BeanReader;
import org.apache.commons.betwixt.io.BeanWriter;
import org.xml.sax.SAXException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;
import java.beans.IntrospectionException;
/**
* Betwixt Client ReadWriter
* @author Paul Hammant and James Maggs
*/
public class ClientBetwixtReadWriter implements ClientStreamReadWriter
{
private InputStream m_in;
private OutputStream m_out;
private BeanWriter beanWriter;
private BeanReader beanReader = new BeanReader();
public ClientBetwixtReadWriter(InputStream in, OutputStream out, ClassLoader \
interfacesClassLoader) throws IntrospectionException {
m_in = in;
m_out = out;
beanWriter = new BeanWriter(m_out);
beanReader.registerBeanClass("reply", Reply.class);
}
public synchronized Reply postRequest( Request altrmiRequest )
throws IOException, ClassNotFoundException
{
writeRequest( altrmiRequest );
Reply r = readReply();
return r;
}
private Reply readReply() throws IOException
{
try
{
return (Reply)beanReader.parse(m_in);
}
catch (SAXException e)
{
throw new IOException("Cannot read reply: " + e.getMessage());
}
}
private void writeRequest(Request altrmiRequest) throws IOException
{
try
{
beanWriter.write(altrmiRequest);
beanWriter.flush();
}
catch (SAXException e)
{
throw new IOException("Cannot write request: " + e.getMessage());
}
catch (IntrospectionException e)
{
throw new IOException("Cannot write request: " + e.getMessage());
}
}
}
1.1 \
incubator-altrmi/src/java/org/apache/altrmi/server/impl/betwixt/CompleteBetwixtServer.java
Index: CompleteBetwixtServer.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 1997-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software
* itself, if and wherever such third-party acknowledgments
* normally appear.
*
* 4. The names "Incubator", "AltRMI", and "Apache Software Foundation"
* must not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.altrmi.server.impl.betwixt;
import org.apache.altrmi.server.impl.AbstractServer;
import org.apache.altrmi.server.impl.AbstractServerStreamReadWriter;
import org.apache.altrmi.server.impl.ServerCustomStreamReadWriter;
import org.apache.altrmi.server.impl.socket.AbstractCompleteSocketStreamServer;
import org.apache.altrmi.server.impl.adapters.InvocationHandlerAdapter;
import org.apache.altrmi.server.ServerException;
/**
* Betwixt Complete Server
* @author Paul Hammant and James Maggs
*/
public class CompleteBetwixtServer extends AbstractCompleteSocketStreamServer
{
public CompleteBetwixtServer(int port) throws ServerException
{
super(new InvocationHandlerAdapter(), port);
}
protected AbstractServerStreamReadWriter createServerStreamReadWriter()
{
ServerBetwixtReadWriter rw = new ServerBetwixtReadWriter();
rw.setThreadPool(getThreadPool());
rw.setServerMonitor(getServerMonitor());
return rw;
}
}
1.1 \
incubator-altrmi/src/java/org/apache/altrmi/server/impl/betwixt/ServerBetwixtReadWriter.java
Index: ServerBetwixtReadWriter.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 1997-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software
* itself, if and wherever such third-party acknowledgments
* normally appear.
*
* 4. The names "Incubator", "AltRMI", and "Apache Software Foundation"
* must not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.altrmi.server.impl.betwixt;
import org.apache.altrmi.server.impl.AbstractServerStreamReadWriter;
import org.apache.altrmi.common.Request;
import org.apache.altrmi.common.Reply;
import org.apache.altrmi.common.ConnectionException;
import org.apache.commons.betwixt.io.BeanWriter;
import org.apache.commons.betwixt.io.BeanReader;
import org.xml.sax.SAXException;
import java.io.IOException;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.BufferedOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.beans.IntrospectionException;
/**
* Betwixt Server ReadWriter
* @author Paul Hammant and James Maggs
*/
public class ServerBetwixtReadWriter extends AbstractServerStreamReadWriter
{
private BeanWriter beanWriter;
private BeanReader beanReader = new BeanReader();
public ServerBetwixtReadWriter()
{
}
protected void initialize() throws IOException
{
beanWriter = new BeanWriter(getOutputStream());
}
protected Request writeReplyAndGetRequest(Reply altrmiReply) throws \
IOException, ConnectionException, ClassNotFoundException {
writeReply(altrmiReply);
return readRequest();
}
private void writeReply(Reply altrmiReply) throws IOException
{
try
{
beanWriter.write(altrmiReply);
beanWriter.flush();
}
catch (SAXException e)
{
throw new IOException("Cannot write reply: " + e.getMessage());
}
catch (IntrospectionException e)
{
throw new IOException("Cannot write reply: " + e.getMessage());
}
}
private Request readRequest() throws IOException
{
try
{
return (Request) beanReader.parse(getInputStream());
}
catch (SAXException e)
{
throw new IOException("Cannot read request: " + e.getMessage());
}
}
}
1.1 \
incubator-altrmi/src/test/org/apache/altrmi/test/betwixt/BetwixtTestCase.java
Index: BetwixtTestCase.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 1997-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software
* itself, if and wherever such third-party acknowledgments
* normally appear.
*
* 4. The names "Incubator", "AltRMI", and "Apache Software Foundation"
* must not be used to endorse or promote products derived from this
* software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* nor may "Apache" appear in their name, without prior written
* permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.altrmi.test.betwixt;
import org.apache.altrmi.client.impl.ClientSideClassFactory;
import org.apache.altrmi.client.impl.betwixt.BetwixtHostContext;
import org.apache.altrmi.server.PublicationDescription;
import org.apache.altrmi.server.impl.betwixt.CompleteBetwixtServer;
import org.apache.altrmi.test.AbstractHelloTestCase;
import org.apache.altrmi.test.TestInterfaceImpl;
import org.apache.altrmi.test.TestInterface;
import org.apache.altrmi.test.TestInterface3;
import org.apache.altrmi.test.TestInterface2;
/**
* Test Betwixt
* @author Paul Hammant and James Maggs
*/
public class BetwixtTestCase extends AbstractHelloTestCase
{
public BetwixtTestCase(String name)
{
super(name);
}
protected void setUp() throws Exception
{
super.setUp();
// server side setup.
server = new CompleteBetwixtServer(10001);
testServer = new TestInterfaceImpl();
PublicationDescription pd = new PublicationDescription(TestInterface.class,
new Class[] { TestInterface3.class, TestInterface2.class });
server.publish(testServer, "Hello", pd);
server.start();
// Client side setup
altrmiFactory = new ClientSideClassFactory();
altrmiFactory.setHostContext(new BetwixtHostContext("127.0.0.1", 10001), \
false); testClient = (TestInterface) altrmiFactory.lookup("Hello");
// just a kludge for unit testing given we are intrinsically dealing with
// threads, AltRMI being a client/server thing
Thread.yield();
}
protected void tearDown() throws Exception
{
testClient = null;
System.gc();
Thread.yield();
altrmiFactory.close();
Thread.yield();
server.stop();
Thread.yield();
server = null;
testServer = null;
super.tearDown();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic