hammant 02/01/29 02:42:18
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/test
DirectMarshalledTest.java
Log:
Two direct servers more modular now, in that they can take preexiting invocation
handlers.
Revision Changes Path
1.18 +5 -2
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.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- AbstractServer.java 29 Jan 2002 10:05:00 -0000 1.17
+++ AbstractServer.java 29 Jan 2002 10:42:18 -0000 1.18
@@ -29,13 +29,13 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.17 $
+ * @version $Revision: 1.18 $
*/
public abstract class AbstractServer extends AbstractMethodHandler implements
AltrmiServer {
private Vector mConnections = new Vector();
- private InovcationHandlerAdapter mInovcationHandlerAdapter;
+ protected InovcationHandlerAdapter mInovcationHandlerAdapter;
protected static final int SHUTTINGDOWN = 11;
protected static final int STARTED = 22;
protected static final int STOPPED = 33;
@@ -46,6 +46,9 @@
mInovcationHandlerAdapter = new InovcationHandlerAdapter();
}
+ public AbstractServer(InovcationHandlerAdapter inovcationHandlerAdapter) {
+ mInovcationHandlerAdapter = inovcationHandlerAdapter;
+ }
1.3 +64 -2
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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DirectMarshalledServer.java 28 Jan 2002 14:04:54 -0000 1.2
+++ DirectMarshalledServer.java 29 Jan 2002 10:42:18 -0000 1.3
@@ -1,3 +1,4 @@
+
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
@@ -10,10 +11,13 @@
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.AltrmiServerException;
import org.apache.commons.altrmi.common.AltrmiReply;
import org.apache.commons.altrmi.common.AltrmiRequest;
import org.apache.commons.altrmi.common.AltrmiInvocationException;
+import org.apache.commons.altrmi.common.AltrmiMarshalledInvocationHandler;
/**
@@ -21,11 +25,52 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
-public class DirectMarshalledServer extends AbstractServer {
+public class DirectMarshalledServer extends AbstractServer
+ implements AltrmiMarshalledInvocationHandler {
+
+ MarshalledInovcationHandlerAdapter mMarshalledInovcationHandlerAdapter;
+
+ /**
+ * Constructor DirectMarshalledServer makes a new InovcationHandlerAdapter.
+ *
+ *
+ */
+ public DirectMarshalledServer() {
+ mMarshalledInovcationHandlerAdapter = new
MarshalledInovcationHandlerAdapter(this);
+ }
+
+ /**
+ * Constructor DirectMarshalledServer for use with pre-exiting
InovcationHandlerAdapter.
+ *
+ *
+ * @param inovcationHandlerAdapter
+ *
+ */
+ public DirectMarshalledServer(InovcationHandlerAdapter
inovcationHandlerAdapter) {
+ super(inovcationHandlerAdapter);
+ mMarshalledInovcationHandlerAdapter = new
MarshalledInovcationHandlerAdapter(this);
+ }
+
+ /**
+ * Constructor DirectMarshalledServer for use with pre-exiting
InovcationHandlerAdapter and MarshalledInvocationHandler
+ *
+ *
+ * @param inovcationHandlerAdapter
+ * @param marshalledInovcationHandlerAdapter
+ *
+ */
+ public DirectMarshalledServer(
+ InovcationHandlerAdapter inovcationHandlerAdapter,
+ MarshalledInovcationHandlerAdapter marshalledInovcationHandlerAdapter) {
+
+ super(inovcationHandlerAdapter);
+
+ mMarshalledInovcationHandlerAdapter = marshalledInovcationHandlerAdapter;
+ }
/**
* Method start
@@ -40,8 +85,11 @@
*
*/
public void stop() {
+
mState = SHUTTINGDOWN;
+
killAllConnections();
+
mState = STOPPED;
}
@@ -54,7 +102,21 @@
* @return
*
*/
+ public byte[] handleInvocation(byte[] request) {
+ return mMarshalledInovcationHandlerAdapter.handleInvocation(request);
+ }
+
+ /**
+ * Method handleInvocation
+ *
+ *
+ * @param request
+ *
+ * @return
+ *
+ */
public AltrmiReply handleInvocation(AltrmiRequest request) {
+
if (mState == STARTED) {
return super.handleInvocation(request);
} else {
1.3 +23 -1
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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DirectServer.java 28 Jan 2002 14:04:54 -0000 1.2
+++ DirectServer.java 29 Jan 2002 10:42:18 -0000 1.3
@@ -1,3 +1,4 @@
+
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
@@ -10,6 +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.AltrmiServerException;
import org.apache.commons.altrmi.common.AltrmiReply;
import org.apache.commons.altrmi.common.AltrmiRequest;
@@ -21,11 +23,27 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class DirectServer extends AbstractServer {
+ /**
+ * Constructor DirectServer makes a new InovcationHandlerAdapter.
+ *
+ *
+ */
+ public DirectServer() {}
+ /**
+ * Constructor DirectServer for use with pre-exiting InovcationHandlerAdapter.
+ *
+ *
+ * @param inovcationHandlerAdapter
+ *
+ */
+ public DirectServer(InovcationHandlerAdapter inovcationHandlerAdapter) {
+ super(inovcationHandlerAdapter);
+ }
/**
* Method start
@@ -40,8 +58,11 @@
*
*/
public void stop() {
+
mState = SHUTTINGDOWN;
+
killAllConnections();
+
mState = STOPPED;
}
@@ -55,6 +76,7 @@
*
*/
public AltrmiReply handleInvocation(AltrmiRequest request) {
+
if (mState == STARTED) {
return super.handleInvocation(request);
} else {
1.3 +3 -3
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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DirectMarshalledTest.java 28 Jan 2002 14:04:55 -0000 1.2
+++ DirectMarshalledTest.java 29 Jan 2002 10:42:18 -0000 1.3
@@ -32,7 +32,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class DirectMarshalledTest {
@@ -62,7 +62,7 @@
ds.publish(ti, "Hello", TestInterface.class, TestInterface2.class);
ds.start();
- DirectMarshalledTestClient dtc = new DirectMarshalledTestClient(new
MarshalledInovcationHandlerAdapter(ds));
+ DirectMarshalledTestClient dtc = new DirectMarshalledTestClient(ds);
Thread thread = new Thread(dtc);
thread.start();
@@ -73,7 +73,7 @@
*
*
* @author Paul Hammant <a
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
static class DirectMarshalledTestClient implements Runnable {
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>