You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ha...@apache.org on 2002/01/18 13:22:31 UTC
cvs commit: jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl ServerObjectStreamReadWriter.java
hammant 02/01/18 04:22:31
Modified: altrmi/src/java/org/apache/commons/altrmi/client/impl
ClientObjectStreamReadWriter.java
altrmi/src/java/org/apache/commons/altrmi/client/impl/piped
PipedObjectStreamInvocationHandler.java
altrmi/src/java/org/apache/commons/altrmi/client/impl/socket
AbstractSocketStreamInvocationHandler.java
SocketObjectStreamInvocationHandler.java
altrmi/src/java/org/apache/commons/altrmi/server/impl
ServerObjectStreamReadWriter.java
Log:
Start of JSX compatability
Revision Changes Path
1.4 +26 -4 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/ClientObjectStreamReadWriter.java
Index: ClientObjectStreamReadWriter.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/ClientObjectStreamReadWriter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ClientObjectStreamReadWriter.java 17 Jan 2002 17:48:45 -0000 1.3
+++ ClientObjectStreamReadWriter.java 18 Jan 2002 12:22:31 -0000 1.4
@@ -18,6 +18,7 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;
+import java.lang.reflect.Constructor;
/**
@@ -25,12 +26,14 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class ClientObjectStreamReadWriter extends ClientStreamReadWriter {
private ObjectInputStream mObjectInputStream;
private ObjectOutputStream mObjectOutputStream;
+ private String mObjectOutputStreamClassName = "java.io.ObjectOutputStream";
+ private String mObjectInputStreamClassName = "java.io.ObjectInputStream";
/**
* Constructor ClientObjectStreamReadWriter
@@ -38,14 +41,33 @@
*
* @param inputStream
* @param outputStream
+ * @param objectOutputStreamClassName
+ * @param objectInputStreamClassName
*
* @throws IOException
*
*/
- public ClientObjectStreamReadWriter(InputStream inputStream, OutputStream outputStream)
+ public ClientObjectStreamReadWriter(InputStream inputStream, OutputStream outputStream, String objectOutputStreamClassName, String objectInputStreamClassName)
throws IOException {
- mObjectOutputStream = new ObjectOutputStream(outputStream);
- mObjectInputStream = new ObjectInputStream(inputStream);
+ if (objectOutputStreamClassName != null) {
+ mObjectOutputStreamClassName = objectOutputStreamClassName;
+ }
+ if (objectInputStreamClassName != null) {
+ mObjectInputStreamClassName = objectInputStreamClassName;
+ }
+ try {
+ Class clazz = Class.forName(mObjectOutputStreamClassName);
+ Constructor con = clazz.getConstructor(new Class[] {OutputStream.class});
+ mObjectOutputStream = (ObjectOutputStream) con.newInstance(new Object[] {outputStream});
+
+ clazz = Class.forName(mObjectInputStreamClassName);
+ con = clazz.getConstructor(new Class[] {InputStream.class});
+ mObjectInputStream = (ObjectInputStream) con.newInstance(new Object[] {inputStream});
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new IOException("Some problem instantiating ObjectStream classes: " + e.getMessage());
+ }
}
protected synchronized AltrmiReply postRequest(AltrmiRequest altrmiRequest)
1.4 +2 -2 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/piped/PipedObjectStreamInvocationHandler.java
Index: PipedObjectStreamInvocationHandler.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/piped/PipedObjectStreamInvocationHandler.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PipedObjectStreamInvocationHandler.java 17 Jan 2002 12:14:29 -0000 1.3
+++ PipedObjectStreamInvocationHandler.java 18 Jan 2002 12:22:31 -0000 1.4
@@ -26,7 +26,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public final class PipedObjectStreamInvocationHandler
extends AbstractPipedStreamInvocationHandler {
@@ -49,6 +49,6 @@
protected ClientStreamReadWriter createClientStreamReadWriter(
InputStream in, OutputStream out) throws IOException {
- return new ClientObjectStreamReadWriter(in, out);
+ return new ClientObjectStreamReadWriter(in, out, null, null);
}
}
1.4 +2 -2 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/socket/AbstractSocketStreamInvocationHandler.java
Index: AbstractSocketStreamInvocationHandler.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/socket/AbstractSocketStreamInvocationHandler.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- AbstractSocketStreamInvocationHandler.java 17 Jan 2002 17:48:46 -0000 1.3
+++ AbstractSocketStreamInvocationHandler.java 18 Jan 2002 12:22:31 -0000 1.4
@@ -30,7 +30,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public abstract class AbstractSocketStreamInvocationHandler extends StreamInvocationHandler {
@@ -76,7 +76,7 @@
try {
Socket socket = new Socket(mHost, mPort);
- setObjectReadWriter(new ClientObjectStreamReadWriter(socket.getInputStream(),
+ setObjectReadWriter(createClientStreamReadWriter(socket.getInputStream(),
socket.getOutputStream()));
return true;
1.5 +2 -2 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/socket/SocketObjectStreamInvocationHandler.java
Index: SocketObjectStreamInvocationHandler.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/socket/SocketObjectStreamInvocationHandler.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SocketObjectStreamInvocationHandler.java 17 Jan 2002 12:14:29 -0000 1.4
+++ SocketObjectStreamInvocationHandler.java 18 Jan 2002 12:22:31 -0000 1.5
@@ -24,7 +24,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public final class SocketObjectStreamInvocationHandler
extends AbstractSocketStreamInvocationHandler {
@@ -49,6 +49,6 @@
protected ClientStreamReadWriter createClientStreamReadWriter(
InputStream in, OutputStream out) throws IOException {
- return new ClientObjectStreamReadWriter(in, out);
+ return new ClientObjectStreamReadWriter(in, out, null, null);
}
}
1.4 +26 -3 jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/ServerObjectStreamReadWriter.java
Index: ServerObjectStreamReadWriter.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/ServerObjectStreamReadWriter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ServerObjectStreamReadWriter.java 17 Jan 2002 17:48:46 -0000 1.3
+++ ServerObjectStreamReadWriter.java 18 Jan 2002 12:22:31 -0000 1.4
@@ -18,6 +18,8 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
/**
@@ -25,16 +27,37 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.3 $
+ * @version $Revision: 1.4 $
*/
public class ServerObjectStreamReadWriter extends ServerStreamReadWriter {
private ObjectInputStream mObjectInputStream;
private ObjectOutputStream mObjectOutputStream;
+ private String mObjectOutputStreamClassName = "java.io.ObjectOutputStream";
+ private String mObjectInputStreamClassName = "java.io.ObjectInputStream";
+
+ public ServerObjectStreamReadWriter() {
+ }
+
+ public ServerObjectStreamReadWriter(String objectOutputStreamClassName, String objectInputStreamClassName) {
+ mObjectOutputStreamClassName = objectOutputStreamClassName;
+ mObjectInputStreamClassName = objectInputStreamClassName;
+ }
protected void initialize() throws IOException {
- mObjectInputStream = new ObjectInputStream(mInputStream);
- mObjectOutputStream = new ObjectOutputStream(mOutputStream);
+ try {
+ Class clazz = Class.forName(mObjectInputStreamClassName);
+ Constructor con = clazz.getConstructor(new Class[] {InputStream.class});
+ mObjectInputStream = (ObjectInputStream) con.newInstance(new Object[] {mInputStream});
+
+ clazz = Class.forName(mObjectOutputStreamClassName);
+ con = clazz.getConstructor(new Class[] {OutputStream.class});
+ mObjectOutputStream = (ObjectOutputStream) con.newInstance(new Object[] {mOutputStream});
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new IOException("Some problem instantiating ObjectStream classes: " + e.getMessage());
+ }
+
}
protected synchronized AltrmiRequest writeReplyAndGetRequest(AltrmiReply altrmiReply) throws IOException, ClassNotFoundException {
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>