Simplify the way ReceiveProcess is used
diff --git a/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java b/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java
index c6dc94f..3d11f77 100644
--- a/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java
+++ b/src/main/java/org/apache/ode/jacob/oo/ProcessUtil.java
@@ -42,12 +42,11 @@
return result.or(process);
}
- @SuppressWarnings("serial")
public static <T extends Channel> ChannelListener receive(T proxy, T listener) {
// TODO: NOTE: this *only* works when the listnere doesn't need to be Serialiazble really
// because we cannot declare a staic serialVersionUID like this
// once we fix serialization, this can be simplified significantly via a dsl
- return new ReceiveProcess() {}.setChannel(proxy).setReceiver(listener);
+ return new ReceiveProcess().setChannel(proxy).setReceiver(listener);
}
}
diff --git a/src/main/java/org/apache/ode/jacob/oo/ReceiveProcess.java b/src/main/java/org/apache/ode/jacob/oo/ReceiveProcess.java
index 9334def..cd7b781 100644
--- a/src/main/java/org/apache/ode/jacob/oo/ReceiveProcess.java
+++ b/src/main/java/org/apache/ode/jacob/oo/ReceiveProcess.java
@@ -24,9 +24,9 @@
import java.util.Set;
+public class ReceiveProcess extends ChannelListener {
+ private static final long serialVersionUID = 1L;
-@SuppressWarnings("serial")
-public abstract class ReceiveProcess extends ChannelListener {
private transient Set<Method> _implementedMethods;
private transient Channel channel;
private Channel receiver;
diff --git a/src/test/java/org/apache/ode/jacob/examples/cell/CELL_.java b/src/test/java/org/apache/ode/jacob/examples/cell/CELL_.java
index a6426f9..1370562 100644
--- a/src/test/java/org/apache/ode/jacob/examples/cell/CELL_.java
+++ b/src/test/java/org/apache/ode/jacob/examples/cell/CELL_.java
@@ -46,9 +46,7 @@
public void run() {
// INSTANTIATION{Cell(run,val)}
// ==> run ? [ read(r)={...} & write(newVal)={...} ]
- object(new ReceiveProcess() {
- private static final long serialVersionUID = 8883128084307471572L;
- }.setChannel(_self).setReceiver(new Cell() {
+ object(new ReceiveProcess().setChannel(_self).setReceiver(new Cell() {
public void read(Val r) {
// COMMUNICATION{x & [read... & ... ] | x ! read} ==> Cell(run, val) ...
instance(new CELL_<T>(_self, _val));
diff --git a/src/test/java/org/apache/ode/jacob/examples/eratosthenes/Sieve.java b/src/test/java/org/apache/ode/jacob/examples/eratosthenes/Sieve.java
index 61b1438..034b399 100644
--- a/src/test/java/org/apache/ode/jacob/examples/eratosthenes/Sieve.java
+++ b/src/test/java/org/apache/ode/jacob/examples/eratosthenes/Sieve.java
@@ -73,9 +73,7 @@
public void run() {
Synch ret = newChannel(Synch.class);
- object(new ReceiveProcess() {
- private static final long serialVersionUID = -4336285925619915276L;
- }.setChannel(ret).setReceiver(new Synch() {
+ object(new ReceiveProcess().setChannel(ret).setReceiver(new Synch() {
public void ret() {
instance(new Counter(_out, _n+1));
}
@@ -106,14 +104,10 @@
}
public void run() {
- object(new ReceiveProcess() {
- private static final long serialVersionUID = -2145752474431263689L;
- }.setChannel(_in).setReceiver(new NaturalNumberStream() {
+ object(new ReceiveProcess().setChannel(_in).setReceiver(new NaturalNumberStream() {
public void val(final int n, final Synch ret) {
Synch r = newChannel(Synch.class);
- object(new ReceiveProcess() {
- private static final long serialVersionUID = -3009595654233593893L;
- }.setChannel(r).setReceiver(new Synch() {
+ object(new ReceiveProcess().setChannel(r).setReceiver(new Synch() {
public void ret() {
NaturalNumberStream x = newChannel(NaturalNumberStream.class);
instance(new PrimeFilter(n, _in, x));
@@ -135,9 +129,7 @@
_in = in;
}
public void run() {
- object(true, new ReceiveProcess() {
- private static final long serialVersionUID = 7671019806323866866L;
- }.setChannel(_in).setReceiver(new NaturalNumberStream(){
+ object(true, new ReceiveProcess().setChannel(_in).setReceiver(new NaturalNumberStream(){
public void val(int n, Synch ret) {
_cnt ++;
_last = n;
@@ -169,15 +161,11 @@
_out = out;
}
public void run() {
- object(true, new ReceiveProcess() {
- private static final long serialVersionUID = 2523405590764193613L;
- }.setChannel(_in).setReceiver(new NaturalNumberStream() {
+ object(true, new ReceiveProcess().setChannel(_in).setReceiver(new NaturalNumberStream() {
public void val(int n, final Synch ret) {
if (n % _prime != 0) {
Synch r = newChannel(Synch.class);
- object(new ReceiveProcess() {
- private static final long serialVersionUID = 2523405590764193613L;
- }.setChannel(r).setReceiver(new Synch() {
+ object(new ReceiveProcess().setChannel(r).setReceiver(new Synch() {
public void ret() {
ret.ret();
}
diff --git a/src/test/java/org/apache/ode/jacob/examples/helloworld/HelloWorld.java b/src/test/java/org/apache/ode/jacob/examples/helloworld/HelloWorld.java
index 45b51a0..2253699 100644
--- a/src/test/java/org/apache/ode/jacob/examples/helloworld/HelloWorld.java
+++ b/src/test/java/org/apache/ode/jacob/examples/helloworld/HelloWorld.java
@@ -77,10 +77,9 @@
}
public void run() {
- object(true, new ReliablePrinterReceiveProcess().setChannel(in).setReceiver(new ReliablePrinterCallback()));
+ object(true, new ReceiveProcess().setChannel(in).setReceiver(new ReliablePrinterCallback()));
}
- static class ReliablePrinterReceiveProcess extends ReceiveProcess {}
static class ReliablePrinterCallback implements Callback<String, Synch> {
public void invoke(String value, Synch callback) {
System.out.println(value);
@@ -101,11 +100,10 @@
public void run() {
Synch callback = newChannel(Synch.class, "callback channel to ACK " + str);
- object(new ReliableStringEmitterReceiveProcess().setChannel(callback).setReceiver(new ReliableStringEmitterSynch(str)));
+ object(new ReceiveProcess().setChannel(callback).setReceiver(new ReliableStringEmitterSynch(str)));
to.invoke(str, callback);
}
- static class ReliableStringEmitterReceiveProcess extends ReceiveProcess {}
static class ReliableStringEmitterSynch implements Synch {
private String str;
@@ -129,10 +127,9 @@
}
public void run() {
- object(true, new PrinterProcessReceiveProcess().setChannel(_in).setReceiver(new PrinterProcessVal()));
+ object(true, new ReceiveProcess().setChannel(_in).setReceiver(new PrinterProcessVal()));
}
- static class PrinterProcessReceiveProcess extends ReceiveProcess {}
static class PrinterProcessVal implements Val {
public void val(Object o) {
System.out.println(o);
@@ -166,10 +163,9 @@
}
public void run() {
- object(true, new ForwarderProcessReceiveProcess().setChannel(in).setReceiver(new ForwarderProcessVal(out)));
+ object(true, new ReceiveProcess().setChannel(in).setReceiver(new ForwarderProcessVal(out)));
}
- static class ForwarderProcessReceiveProcess extends ReceiveProcess {}
static class ForwarderProcessVal implements Val {
private Val out;
@JsonCreator
diff --git a/src/test/java/org/apache/ode/jacob/examples/sequence/Sequence.java b/src/test/java/org/apache/ode/jacob/examples/sequence/Sequence.java
index 17ee867..659cf9e 100644
--- a/src/test/java/org/apache/ode/jacob/examples/sequence/Sequence.java
+++ b/src/test/java/org/apache/ode/jacob/examples/sequence/Sequence.java
@@ -53,7 +53,7 @@
}
} else {
Synch r = newChannel(Synch.class);
- object(new SequenceReceiveProcess().setChannel(r).setReceiver(new SequenceSynch(data, this)));
+ object(new ReceiveProcess().setChannel(r).setReceiver(new SequenceSynch(data, this)));
instance(doStep(data._current, r));
}
}
@@ -73,7 +73,6 @@
//public Sequence _seq;
}
- static class SequenceReceiveProcess extends ReceiveProcess {}
static class SequenceSynch implements Synch {
private final SequenceData data;
private final Sequence parent;
diff --git a/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java b/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java
index 2b07dfa..bdaf878 100644
--- a/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java
+++ b/src/test/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java
@@ -45,9 +45,7 @@
@SuppressWarnings("serial")
public void run() {
- object(true, new ReceiveProcess() {
- private static final long serialVersionUID = -1990741944766989782L;
- }.setChannel(_self).setReceiver(new SynchPrint() {
+ object(true, new ReceiveProcess().setChannel(_self).setReceiver(new SynchPrint() {
public Synch print(String msg) {
System.out.println(msg);
return null; // Synch channel automatically created by JacobVPU