[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