[jboss-remoting-commits] JBoss Remoting SVN: r3983 - in remoting3/trunk: samples/src/main/java and 6 other directories.

jboss-remoting-commits at lists.jboss.org jboss-remoting-commits at lists.jboss.org
Mon Apr 14 09:25:12 EDT 2008


Author: david.lloyd at jboss.com
Date: 2008-04-14 09:25:11 -0400 (Mon, 14 Apr 2008)
New Revision: 3983

Added:
   remoting3/trunk/samples/src/main/java/org/
   remoting3/trunk/samples/src/main/java/org/jboss/
   remoting3/trunk/samples/src/main/java/org/jboss/cx/
   remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/
   remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/
   remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/
   remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/Main.java
   remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/Rot13RequestListener.java
Modified:
   remoting3/trunk/build.xml
Log:
Samples

Modified: remoting3/trunk/build.xml
===================================================================
--- remoting3/trunk/build.xml	2008-04-13 13:42:29 UTC (rev 3982)
+++ remoting3/trunk/build.xml	2008-04-14 13:25:11 UTC (rev 3983)
@@ -772,6 +772,8 @@
             <compilerarg value="-Xlint:unchecked"/>
             <classpath>
                 <path refid="api.classpath"/>
+                <path refid="srp.classpath"/>
+                <path refid="standalone.classpath"/>
             </classpath>
         </javac>
         <touch file="samples/target/main/.lastcompile" verbose="false"/>
@@ -781,7 +783,7 @@
         <delete dir="samples/target"/>
     </target>
 
-    <target name="samples" description="Build the samples module" depends="api,samples.compile">
+    <target name="samples" description="Build the samples module" depends="api,srp,standalone,samples.compile">
         <path id="samples.classpath">
             <pathelement location="samples/target/main/classes"/>
         </path>

Added: remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/Main.java
===================================================================
--- remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/Main.java	                        (rev 0)
+++ remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/Main.java	2008-04-14 13:25:11 UTC (rev 3983)
@@ -0,0 +1,51 @@
+package org.jboss.cx.remoting.samples.simple;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+import java.security.Security;
+import org.jboss.cx.remoting.Context;
+import org.jboss.cx.remoting.Endpoint;
+import org.jboss.cx.remoting.Remoting;
+import org.jboss.cx.remoting.RemoteExecutionException;
+import org.jboss.cx.remoting.core.security.sasl.Provider;
+
+/**
+ *
+ */
+public final class Main {
+
+    public static void main(String[] args) throws IOException, RemoteExecutionException {
+        Security.addProvider(new Provider());
+        final Rot13RequestListener listener = new Rot13RequestListener();
+        final Endpoint endpoint = Remoting.createEndpoint("simple", listener);
+        try {
+            final Context<Reader,Reader> context = endpoint.createContext(listener);
+            try {
+                final String original = "The Secret Message\n";
+                final StringReader originalReader = new StringReader(original);
+                try {
+                    final Reader reader = context.send(originalReader).get();
+                    try {
+                        final BufferedReader bufferedReader = new BufferedReader(reader);
+                        try {
+                            final String secretLine = bufferedReader.readLine();
+                            System.out.printf("The secret message \"%s\" became \"%s\"!\n", original.trim(), secretLine);
+                        } finally {
+                            bufferedReader.close();
+                        }
+                    } finally {
+                        reader.close();
+                    }
+                } finally {
+                    originalReader.close();
+                }
+            } finally {
+                context.close();
+            }
+        } finally {
+            endpoint.close();
+        }
+    }
+}

Added: remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/Rot13RequestListener.java
===================================================================
--- remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/Rot13RequestListener.java	                        (rev 0)
+++ remoting3/trunk/samples/src/main/java/org/jboss/cx/remoting/samples/simple/Rot13RequestListener.java	2008-04-14 13:25:11 UTC (rev 3983)
@@ -0,0 +1,57 @@
+package org.jboss.cx.remoting.samples.simple;
+
+import java.io.Reader;
+import java.io.IOException;
+import org.jboss.cx.remoting.AbstractRequestListener;
+import org.jboss.cx.remoting.RequestContext;
+import org.jboss.cx.remoting.RemoteExecutionException;
+import org.jboss.cx.remoting.RemotingException;
+
+/**
+ *
+ */
+public final class Rot13RequestListener extends AbstractRequestListener<Reader, Reader> {
+
+    public void handleRequest(final RequestContext<Reader> readerRequestContext, final Reader request) throws RemoteExecutionException, InterruptedException {
+        try {
+            readerRequestContext.sendReply(new Reader() {
+
+                public int read() throws IOException {
+                    final int i = request.read();
+                    if (i > 0) {
+                        return rot13((char) i);
+                    } else {
+                        return i;
+                    }
+                }
+
+                public int read(final char cbuf[], final int off, final int len) throws IOException {
+                    for (int i = 0; i < len; i++) {
+                        final int c = read();
+                        if (c == -1) {
+                            return i;
+                        }
+                        cbuf[off + i] = (char) c;
+                    }
+                    return len;
+                }
+
+                public void close() throws IOException {
+                    request.close();
+                }
+            });
+        } catch (RemotingException e) {
+            throw new RemoteExecutionException("Failed to send reply", e);
+        }
+    }
+
+    private char rot13(final char i) {
+        if (i >= 'A' && i <= 'M' || i >= 'a' && i <= 'm') {
+            return (char) (i + 13);
+        } else if (i >= 'N' && i <= 'Z' || i >= 'n' && i <= 'z') {
+            return (char) (i - 13);
+        } else {
+            return i;
+        }
+    }
+}




More information about the jboss-remoting-commits mailing list