hammant 02/02/04 04:29:04
Modified: altrmi/src/java/org/apache/commons/altrmi/server/impl
AbstractServer.java
altrmi/src/java/org/apache/commons/altrmi/server/impl/direct
DirectMarshalledServer.java DirectServer.java
altrmi/src/java/org/apache/commons/altrmi/server/impl/socket
AbstractCompleteSocketStreamServer.java
CompleteSocketCustomStreamServer.java
altrmi/src/java/org/apache/commons/altrmi/test
DirectMarshalledTest.java DirectTest.java
Added: altrmi/src/java/org/apache/commons/altrmi/server/impl/adapters
InvocationHandlerAdapter.java
MarshalledInvocationHandlerAdapter.java
altrmi/src/java/org/apache/commons/altrmi/server/impl/socket
PartialSocketCustomStreamServer.java
Removed: altrmi/src/java/org/apache/commons/altrmi/server/impl/adapters
InovcationHandlerAdapter.java
MarshalledInovcationHandlerAdapter.java
Log:
adaptations for EOB
Revision Changes Path
1.19 +5 -5
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/AbstractServer.java
Index: AbstractServer.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/AbstractServer.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- AbstractServer.java 29 Jan 2002 10:42:18 -0000 1.18
+++ AbstractServer.java 4 Feb 2002 12:29:03 -0000 1.19
@@ -18,7 +18,7 @@
import org.apache.commons.altrmi.server.AltrmiServerConnection;
import org.apache.commons.altrmi.server.PublicationException;
import org.apache.commons.altrmi.server.MethodInvocationHandler;
-import org.apache.commons.altrmi.server.impl.adapters.InovcationHandlerAdapter;
+import org.apache.commons.altrmi.server.impl.adapters.InvocationHandlerAdapter;
import java.util.Vector;
import java.util.Iterator;
@@ -29,13 +29,13 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.18 $
+ * @version $Revision: 1.19 $
*/
public abstract class AbstractServer extends AbstractMethodHandler implements
AltrmiServer {
private Vector mConnections = new Vector();
- protected InovcationHandlerAdapter mInovcationHandlerAdapter;
+ protected InvocationHandlerAdapter mInovcationHandlerAdapter;
protected static final int SHUTTINGDOWN = 11;
protected static final int STARTED = 22;
protected static final int STOPPED = 33;
@@ -43,10 +43,10 @@
protected int mState = UNSTARTED;
public AbstractServer() {
- mInovcationHandlerAdapter = new InovcationHandlerAdapter();
+ mInovcationHandlerAdapter = new InvocationHandlerAdapter();
}
- public AbstractServer(InovcationHandlerAdapter inovcationHandlerAdapter) {
+ public AbstractServer(InvocationHandlerAdapter inovcationHandlerAdapter) {
mInovcationHandlerAdapter = inovcationHandlerAdapter;
}
1.1
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/adapters/InvocationHandlerAdapter.java
Index: InvocationHandlerAdapter.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.commons.altrmi.server.impl.adapters;
import org.apache.commons.altrmi.common.AltrmiInvocationHandler;
import org.apache.commons.altrmi.common.AltrmiReply;
import org.apache.commons.altrmi.common.AltrmiRequest;
import org.apache.commons.altrmi.common.SuspendedReply;
import org.apache.commons.altrmi.common.MethodRequest;
import org.apache.commons.altrmi.common.NotPublishedReply;
import org.apache.commons.altrmi.common.MethodFacadeRequest;
import org.apache.commons.altrmi.common.ExceptionReply;
import org.apache.commons.altrmi.common.AltrmiInvocationException;
import org.apache.commons.altrmi.common.RequestFailedReply;
import org.apache.commons.altrmi.common.MethodReply;
import org.apache.commons.altrmi.common.MethodFacadeReply;
import org.apache.commons.altrmi.common.LookupRequest;
import org.apache.commons.altrmi.common.AltrmiAuthenticationException;
import org.apache.commons.altrmi.common.LookupReply;
import org.apache.commons.altrmi.common.ClassRequest;
import org.apache.commons.altrmi.common.ClassReply;
import org.apache.commons.altrmi.common.ClassRetrievalFailedReply;
import org.apache.commons.altrmi.common.OpenConnectionReply;
import org.apache.commons.altrmi.common.PingReply;
import org.apache.commons.altrmi.common.ListReply;
import org.apache.commons.altrmi.common.MethodFacadeArrayReply;
import org.apache.commons.altrmi.server.AltrmiServer;
import org.apache.commons.altrmi.server.MethodInvocationHandler;
import org.apache.commons.altrmi.server.ClassRetrievalException;
import org.apache.commons.altrmi.server.ClassRetriever;
import org.apache.commons.altrmi.server.AltrmiAuthenticator;
import org.apache.commons.altrmi.server.impl.classretrievers.NoClassRetriever;
import org.apache.commons.altrmi.server.impl.DefaultAuthenticator;
import org.apache.commons.altrmi.server.impl.AbstractServer;
import java.util.Vector;
import java.util.HashMap;
import java.util.Iterator;
/**
* Class InvocationHandlerAdapter
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
* @version $Revision: 1.1 $
*/
public class InvocationHandlerAdapter extends PublicationAdapter
implements AltrmiInvocationHandler {
private static int SESSION = 0;
private Long mLastSession = new Long(0);
private Vector mSessions = new Vector();
private boolean mSuspend = false;
private ClassRetriever mClassRetriever = new NoClassRetriever();
private AltrmiAuthenticator mAltrmiAuthenticator = new DefaultAuthenticator();
/**
* Method setClassRetriever
*
*
* @param classRetriever
*
*/
public final void setClassRetriever(ClassRetriever classRetriever) {
mClassRetriever = classRetriever;
}
/**
* Method setAuthenticator
*
*
* @param altrmiAuthenticator
*
*/
public final void setAuthenticator(AltrmiAuthenticator altrmiAuthenticator) {
mAltrmiAuthenticator = altrmiAuthenticator;
}
/**
* Method handleInvocation
*
*
* @param request
*
* @return
*
*/
public AltrmiReply handleInvocation(AltrmiRequest request) {
if (mSuspend == true) {
return new SuspendedReply();
}
// Method request is positionid first as
// it is the one we want to be most speedy.
if (request.getRequestCode() == AltrmiRequest.METHODREQUEST) {
MethodRequest mReq = (MethodRequest) request;
String publishedThing = mReq.getPublishedServiceName() + "_" +
mReq.getObjectName();
if (!mPublishedObjects.containsKey(publishedThing)) {
return new NotPublishedReply();
}
AltrmiInvocationHandler ih =
(AltrmiInvocationHandler) mPublishedObjects.get(publishedThing);
return ih.handleInvocation(mReq);
} else if (request.getRequestCode() == AltrmiRequest.METHODFACADEREQUEST) {
MethodFacadeRequest mFacReq = (MethodFacadeRequest) request;
String publishedThing = mFacReq.getPublishedServiceName() + "_" +
mFacReq.getObjectName();
if (!mPublishedObjects.containsKey(publishedThing)) {
return new NotPublishedReply();
}
if (!sessionExists(mFacReq.getSession())) {
return new ExceptionReply(
new AltrmiInvocationException("TODO - you dirty rat/hacker"));
}
MethodInvocationHandler asih =
(MethodInvocationHandler) mPublishedObjects.get(publishedThing);
AltrmiReply ar = asih.handleInvocation(mFacReq);
if (ar.getReplyCode() == AltrmiReply.EXCEPTIONREPLY) {
return ar;
} else if (ar.getReplyCode() >= AltrmiReply.PROBLEMREPLY) {
return ar;
} else if (ar.getReplyCode() != AltrmiReply.METHODREPLY) {
return new RequestFailedReply("TODO");
}
Object replyObject = ((MethodReply) ar).getReplyObject();
if (!replyObject.getClass().isArray()) {
Object beanImpl = replyObject;
MethodInvocationHandler asih2 =
(MethodInvocationHandler) mPublishedObjects.get(
mFacReq.getPublishedServiceName() + "_" +
mFacReq.getBaseReturnClassNameEncoded());
if (asih2 == null) {
return new NotPublishedReply();
}
if (!sessionExists(mFacReq.getSession())) {
return new ExceptionReply(
new AltrmiInvocationException("TODO - you dirty
rat/hacker"));
}
//TODO a decent ref number for main?
Long newRef = asih2.getOrMakeReferenceIDForBean(beanImpl);
//long newRef2 = asih2.getOrMakeReferenceIDForBean(beanImpl);
return new MethodFacadeReply(newRef);
} else {
Object[] beanImpls = (Object[]) replyObject;
Long[] refs = new Long[beanImpls.length];
for (int i = 0; i < beanImpls.length; i++) {
Object impl = beanImpls[i];
MethodInvocationHandler asih2 =
(MethodInvocationHandler) mPublishedObjects.get(
mFacReq.getPublishedServiceName() + "_" +
mFacReq.getBaseReturnClassNameEncoded());
if (asih2 == null) {
return new NotPublishedReply();
}
if (!sessionExists(mFacReq.getSession())) {
return new ExceptionReply(
new AltrmiInvocationException("TODO - you dirty
rat/hacker"));
}
//TODO a decent ref number for main?
refs[i] = asih2.getOrMakeReferenceIDForBean(beanImpls[i]);
}
return new MethodFacadeArrayReply(refs);
}
} else if (request.getRequestCode() == AltrmiRequest.LOOKUPREQUEST) {
LookupRequest lr = (LookupRequest) request;
try {
mAltrmiAuthenticator.checkAuthority(lr.getAltrmiAuthentication(),
lr.getPublishedServiceName());
} catch (AltrmiAuthenticationException aae) {
return new ExceptionReply(aae);
}
//TODO a decent ref number for main?
return new LookupReply(new Long(0));
} else if (request.getRequestCode() == AltrmiRequest.CLASSREQUEST) {
ClassRequest cr = (ClassRequest) request;
String publishedThing = cr.getPublishedServiceName() + "_" +
cr.getObjectName();
try {
return new ClassReply(mClassRetriever.getBeanBytes(publishedThing),
mClassRetriever
.getInterfaceImplementationBytes(publishedThing));
} catch (ClassRetrievalException e) {
return new ClassRetrievalFailedReply();
}
} else if (request.getRequestCode() == AltrmiRequest.OPENCONNECTIONREQUEST) {
Long session = getNewSession();
mSessions.add(session);
return new OpenConnectionReply(mAltrmiAuthenticator.getTextToSign(),
session);
} else if (request.getRequestCode() == AltrmiRequest.PINGREQUEST) {
// we could communicate back useful state info in this transaction.
return new PingReply();
} else if (request.getRequestCode() == AltrmiRequest.LISTREQUEST) {
//return the list of published objects to the server
Iterator iterator = mPublishedObjects.keySet().iterator();
Vector vecOfPublishedObjectNames = new Vector();
while (iterator.hasNext()) {
final String item = (String) iterator.next();
if (item.endsWith("_Main")) {
vecOfPublishedObjectNames.add(item.substring(0,
item.lastIndexOf("_Main")));
}
}
String[] _listOfPublishedObjectNames = new
String[vecOfPublishedObjectNames.size()];
System.arraycopy(vecOfPublishedObjectNames.toArray(), 0,
_listOfPublishedObjectNames,
0, vecOfPublishedObjectNames.size());
return new ListReply(_listOfPublishedObjectNames);
} else {
return new RequestFailedReply("Unknown request :" +
request.getClass().getName());
}
}
private boolean sessionExists(Long session) {
if (mLastSession.equals(session)) {
// buffer last session for performance.
return true;
} else {
if (mSessions.contains(session)) {
mLastSession = session;
return true;
}
}
return false;
}
private Long getNewSession() {
// approve everything and set session identifier.
return new Long((long) ((long) SESSION++ << 32) + (long)
Math.round(Math.random()));
}
/**
* Method suspend
*
*/
public void suspend() {
mSuspend = true;
}
/**
* Method resume
*
*/
public void resume() {
mSuspend = false;
}
}
1.1
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/adapters/MarshalledInvocationHandlerAdapter.java
Index: MarshalledInvocationHandlerAdapter.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.commons.altrmi.server.impl.adapters;
import org.apache.commons.altrmi.common.AltrmiInvocationHandler;
import org.apache.commons.altrmi.common.AltrmiReply;
import org.apache.commons.altrmi.common.AltrmiRequest;
import org.apache.commons.altrmi.common.AltrmiMarshalledInvocationHandler;
import org.apache.commons.altrmi.common.SerializationHelper;
import org.apache.commons.altrmi.server.AltrmiServer;
import java.io.IOException;
/**
* Class MarshalledInvocationHandlerAdapter
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
* @version $Revision: 1.1 $
*/
public class MarshalledInvocationHandlerAdapter implements
AltrmiMarshalledInvocationHandler {
private AltrmiInvocationHandler mAltrmiInvocationHandler;
private ClassLoader mClassLoader;
/**
* Constructor MarshalledInvocationHandlerAdapter
*
*
* @param altrmiInvocationHandler
*
*/
public MarshalledInvocationHandlerAdapter(AltrmiInvocationHandler
altrmiInvocationHandler) {
mAltrmiInvocationHandler = altrmiInvocationHandler;
mClassLoader = getClass().getClassLoader();
}
public MarshalledInvocationHandlerAdapter(AltrmiInvocationHandler
altrmiInvocationHandler, ClassLoader classLoader) {
mAltrmiInvocationHandler = altrmiInvocationHandler;
mClassLoader = classLoader;
}
/**
* Method handleInvocation
*
*
* @param request
*
* @return
*
*/
public byte[] handleInvocation(byte[] request) {
try {
AltrmiRequest ar = (AltrmiRequest)
SerializationHelper.getInstanceFromBytes(request, mClassLoader);
AltrmiReply reply = mAltrmiInvocationHandler.handleInvocation(ar);
return SerializationHelper.getBytesFromInstance(reply);
} catch (IOException e) {
e.printStackTrace();
return null;
} catch (ClassNotFoundException e) {
e.printStackTrace();
return null;
}
}
}
1.4 +12 -12
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/direct/DirectMarshalledServer.java
Index: DirectMarshalledServer.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/direct/DirectMarshalledServer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DirectMarshalledServer.java 29 Jan 2002 10:42:18 -0000 1.3
+++ DirectMarshalledServer.java 4 Feb 2002 12:29:03 -0000 1.4
@@ -11,8 +11,8 @@
import org.apache.commons.altrmi.server.impl.AbstractServer;
-import org.apache.commons.altrmi.server.impl.adapters.InovcationHandlerAdapter;
-import
org.apache.commons.altrmi.server.impl.adapters.MarshalledInovcationHandlerAdapter;
+import org.apache.commons.altrmi.server.impl.adapters.InvocationHandlerAdapter;
+import
org.apache.commons.altrmi.server.impl.adapters.MarshalledInvocationHandlerAdapter;
import org.apache.commons.altrmi.server.AltrmiServerException;
import org.apache.commons.altrmi.common.AltrmiReply;
import org.apache.commons.altrmi.common.AltrmiRequest;
@@ -25,38 +25,38 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class DirectMarshalledServer extends AbstractServer
implements AltrmiMarshalledInvocationHandler {
- MarshalledInovcationHandlerAdapter mMarshalledInovcationHandlerAdapter;
+ MarshalledInvocationHandlerAdapter mMarshalledInovcationHandlerAdapter;
/**
- * Constructor DirectMarshalledServer makes a new InovcationHandlerAdapter.
+ * Constructor DirectMarshalledServer makes a new InvocationHandlerAdapter.
*
*
*/
public DirectMarshalledServer() {
- mMarshalledInovcationHandlerAdapter = new
MarshalledInovcationHandlerAdapter(this);
+ mMarshalledInovcationHandlerAdapter = new
MarshalledInvocationHandlerAdapter(this);
}
/**
- * Constructor DirectMarshalledServer for use with pre-exiting
InovcationHandlerAdapter.
+ * Constructor DirectMarshalledServer for use with pre-exiting
InvocationHandlerAdapter.
*
*
* @param inovcationHandlerAdapter
*
*/
- public DirectMarshalledServer(InovcationHandlerAdapter
inovcationHandlerAdapter) {
+ public DirectMarshalledServer(InvocationHandlerAdapter
inovcationHandlerAdapter) {
super(inovcationHandlerAdapter);
- mMarshalledInovcationHandlerAdapter = new
MarshalledInovcationHandlerAdapter(this);
+ mMarshalledInovcationHandlerAdapter = new
MarshalledInvocationHandlerAdapter(this);
}
/**
- * Constructor DirectMarshalledServer for use with pre-exiting
InovcationHandlerAdapter and MarshalledInvocationHandler
+ * Constructor DirectMarshalledServer for use with pre-exiting
InvocationHandlerAdapter and MarshalledInvocationHandler
*
*
* @param inovcationHandlerAdapter
@@ -64,8 +64,8 @@
*
*/
public DirectMarshalledServer(
- InovcationHandlerAdapter inovcationHandlerAdapter,
- MarshalledInovcationHandlerAdapter marshalledInovcationHandlerAdapter) {
+ InvocationHandlerAdapter inovcationHandlerAdapter,
+ MarshalledInvocationHandlerAdapter marshalledInovcationHandlerAdapter) {
super(inovcationHandlerAdapter);
1.4 +5 -5
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/direct/DirectServer.java
Index: DirectServer.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/direct/DirectServer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DirectServer.java 29 Jan 2002 10:42:18 -0000 1.3
+++ DirectServer.java 4 Feb 2002 12:29:03 -0000 1.4
@@ -11,7 +11,7 @@
import org.apache.commons.altrmi.server.impl.AbstractServer;
-import org.apache.commons.altrmi.server.impl.adapters.InovcationHandlerAdapter;
+import org.apache.commons.altrmi.server.impl.adapters.InvocationHandlerAdapter;
import org.apache.commons.altrmi.server.AltrmiServerException;
import org.apache.commons.altrmi.common.AltrmiReply;
import org.apache.commons.altrmi.common.AltrmiRequest;
@@ -23,25 +23,25 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class DirectServer extends AbstractServer {
/**
- * Constructor DirectServer makes a new InovcationHandlerAdapter.
+ * Constructor DirectServer makes a new InvocationHandlerAdapter.
*
*
*/
public DirectServer() {}
/**
- * Constructor DirectServer for use with pre-exiting InovcationHandlerAdapter.
+ * Constructor DirectServer for use with pre-exiting InvocationHandlerAdapter.
*
*
* @param inovcationHandlerAdapter
*
*/
- public DirectServer(InovcationHandlerAdapter inovcationHandlerAdapter) {
+ public DirectServer(InvocationHandlerAdapter inovcationHandlerAdapter) {
super(inovcationHandlerAdapter);
}
1.2 +26 -1
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/socket/AbstractCompleteSocketStreamServer.java
Index: AbstractCompleteSocketStreamServer.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/socket/AbstractCompleteSocketStreamServer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractCompleteSocketStreamServer.java 17 Jan 2002 12:14:30 -0000 1.1
+++ AbstractCompleteSocketStreamServer.java 4 Feb 2002 12:29:03 -0000 1.2
@@ -15,6 +15,7 @@
import org.apache.commons.altrmi.server.impl.AbstractServer;
import org.apache.commons.altrmi.server.impl.StreamServerConnection;
import org.apache.commons.altrmi.server.impl.ServerStreamReadWriter;
+import org.apache.commons.altrmi.server.impl.adapters.InvocationHandlerAdapter;
import org.apache.commons.altrmi.common.AltrmiRequest;
import org.apache.commons.altrmi.common.AltrmiReply;
@@ -29,7 +30,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public abstract class AbstractCompleteSocketStreamServer extends AbstractServer
implements Runnable {
@@ -47,6 +48,30 @@
*
*/
public AbstractCompleteSocketStreamServer(int port) throws
AltrmiServerException {
+
+ try {
+ mServerSocket = new ServerSocket(port);
+ } catch (IOException ioe) {
+ throw new AltrmiServerException("Some problem setting up server : "
+ + ioe.getMessage());
+ }
+ }
+
+ /**
+ * Constructor AbstractCompleteSocketStreamServer
+ *
+ *
+ * @param invocationHandlerAdapter
+ * @param port
+ *
+ * @throws AltrmiServerException
+ *
+ */
+ public AbstractCompleteSocketStreamServer(
+ InvocationHandlerAdapter invocationHandlerAdapter, int port)
+ throws AltrmiServerException {
+
+ super(invocationHandlerAdapter);
try {
mServerSocket = new ServerSocket(port);
1.2 +8 -1
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/socket/CompleteSocketCustomStreamServer.java
Index: CompleteSocketCustomStreamServer.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/socket/CompleteSocketCustomStreamServer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CompleteSocketCustomStreamServer.java 17 Jan 2002 12:14:30 -0000 1.1
+++ CompleteSocketCustomStreamServer.java 4 Feb 2002 12:29:03 -0000 1.2
@@ -16,6 +16,7 @@
import org.apache.commons.altrmi.server.impl.StreamServerConnection;
import org.apache.commons.altrmi.server.impl.ServerStreamReadWriter;
import org.apache.commons.altrmi.server.impl.ServerCustomStreamReadWriter;
+import org.apache.commons.altrmi.server.impl.adapters.InvocationHandlerAdapter;
import org.apache.commons.altrmi.common.AltrmiRequest;
import org.apache.commons.altrmi.common.AltrmiReply;
@@ -30,7 +31,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class CompleteSocketCustomStreamServer extends
AbstractCompleteSocketStreamServer {
@@ -46,6 +47,12 @@
public CompleteSocketCustomStreamServer(int port) throws AltrmiServerException {
super(port);
}
+
+ public CompleteSocketCustomStreamServer(InvocationHandlerAdapter
invocationHandlerAdapter, int port) throws AltrmiServerException {
+ super(invocationHandlerAdapter, port);
+ }
+
+
protected ServerStreamReadWriter createServerStreamReadWriter() {
return new ServerCustomStreamReadWriter();
1.1
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/socket/PartialSocketCustomStreamServer.java
Index: PartialSocketCustomStreamServer.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.commons.altrmi.server.impl.socket;
import org.apache.commons.altrmi.server.impl.AbstractServer;
import org.apache.commons.altrmi.server.impl.ServerStreamReadWriter;
import org.apache.commons.altrmi.server.impl.ServerObjectStreamReadWriter;
import org.apache.commons.altrmi.server.impl.adapters.InvocationHandlerAdapter;
import org.apache.commons.altrmi.server.AltrmiServerException;
import java.net.Socket;
import java.net.SocketException;
import java.io.IOException;
/**
* Class PartialSocketObjectStreamServer
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
* @version $Revision: 1.1 $
*/
public class PartialSocketCustomStreamServer extends AbstractServer {
/**
* Constructor PartialSocketObjectStreamServer
*
*
* @throws AltrmiServerException
*
*/
public PartialSocketCustomStreamServer() throws AltrmiServerException {}
/**
* Constructor PartialSocketCustomStreamServer
*
*
* @param invocationHandlerAdapter
*
* @throws AltrmiServerException
*
*/
public PartialSocketCustomStreamServer(InvocationHandlerAdapter
invocationHandlerAdapter)
throws AltrmiServerException {
super(invocationHandlerAdapter);
}
/**
* Method handleConnection
*
* @param sock
*
*/
public void handleConnection(final Socket sock) {
// see http://developer.java.sun.com/developer/bugParade/bugs/4508149.html
try {
sock.setSoTimeout(360000);
} catch (SocketException se) {
se.printStackTrace();
}
try {
if (mState == STARTED) {
ServerStreamReadWriter ssrw = new ServerObjectStreamReadWriter();
ssrw.setStreams(sock.getInputStream(), sock.getOutputStream());
SocketStreamServerConnection sssc = new
SocketStreamServerConnection(this, sock,
sock.getInputStream(),
sock.getOutputStream(),
ssrw);
sssc.run();
}
} catch (IOException ioe) {
System.err.println("Some problem connecting client via sockets.");
ioe.printStackTrace();
}
}
/**
* Method start
*
*/
public void start() {
mState = STARTED;
}
/**
* Method stop
*
*/
public void stop() {
mState = SHUTTINGDOWN;
killAllConnections();
mState = STOPPED;
}
}
1.4 +4 -4
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/DirectMarshalledTest.java
Index: DirectMarshalledTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/DirectMarshalledTest.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DirectMarshalledTest.java 29 Jan 2002 10:42:18 -0000 1.3
+++ DirectMarshalledTest.java 4 Feb 2002 12:29:03 -0000 1.4
@@ -10,8 +10,8 @@
import org.apache.commons.altrmi.server.impl.direct.DirectServer;
-import org.apache.commons.altrmi.server.impl.adapters.InovcationHandlerAdapter;
-import
org.apache.commons.altrmi.server.impl.adapters.MarshalledInovcationHandlerAdapter;
+import org.apache.commons.altrmi.server.impl.adapters.InvocationHandlerAdapter;
+import
org.apache.commons.altrmi.server.impl.adapters.MarshalledInvocationHandlerAdapter;
import org.apache.commons.altrmi.server.impl.direct.DirectMarshalledServer;
import org.apache.commons.altrmi.server.impl.classretrievers.JarFileClassRetriever;
import org.apache.commons.altrmi.common.AltrmiInvocationHandler;
@@ -32,7 +32,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class DirectMarshalledTest {
@@ -73,7 +73,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
static class DirectMarshalledTestClient implements Runnable {
1.10 +3 -3
jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/DirectTest.java
Index: DirectTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/DirectTest.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- DirectTest.java 29 Jan 2002 10:05:00 -0000 1.9
+++ DirectTest.java 4 Feb 2002 12:29:03 -0000 1.10
@@ -10,7 +10,7 @@
import org.apache.commons.altrmi.server.impl.direct.DirectServer;
-import org.apache.commons.altrmi.server.impl.adapters.InovcationHandlerAdapter;
+import org.apache.commons.altrmi.server.impl.adapters.InvocationHandlerAdapter;
import org.apache.commons.altrmi.server.impl.classretrievers.JarFileClassRetriever;
import org.apache.commons.altrmi.common.AltrmiInvocationHandler;
import org.apache.commons.altrmi.common.AltrmiConnectionException;
@@ -28,7 +28,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
*/
public class DirectTest {
@@ -69,7 +69,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
*/
static class DirectTestClient implements Runnable {
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>