changeset 137:cb2a15d5c915

add Example OddEven
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Fri, 28 Dec 2018 20:00:58 +0900
parents 08bd1ecbafc1
children 6b33e7dfb146
files src/test/java/christie/example/OddEven/EvenCodeGear.java src/test/java/christie/example/OddEven/OddCodeGear.java src/test/java/christie/example/OddEven/StartOddEven.java
diffstat 3 files changed, 69 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/test/java/christie/example/OddEven/EvenCodeGear.java	Fri Dec 28 20:00:58 2018 +0900
@@ -0,0 +1,22 @@
+package christie.example.OddEven;
+
+import christie.annotation.Peek;
+import christie.annotation.Take;
+import christie.codegear.CodeGear;
+import christie.codegear.CodeGearManager;
+
+public class EvenCodeGear extends CodeGear {
+    @Take
+    int even;
+
+    @Peek
+    int finishCount;
+
+    @Override
+    protected void run(CodeGearManager cgm) {
+        if (finishCount == even) return;
+        System.out.println(even + " : even");
+        getDGM("odd").put("odd", even + 1);
+        cgm.setup(new EvenCodeGear());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/test/java/christie/example/OddEven/OddCodeGear.java	Fri Dec 28 20:00:58 2018 +0900
@@ -0,0 +1,22 @@
+package christie.example.OddEven;
+
+import christie.annotation.Peek;
+import christie.annotation.Take;
+import christie.codegear.CodeGear;
+import christie.codegear.CodeGearManager;
+
+public class OddCodeGear extends CodeGear {
+    @Take
+    int odd;
+
+    @Peek
+    int finishCount;
+
+    @Override
+    protected void run(CodeGearManager cgm) {
+        if (finishCount - 1 == odd) return;
+        System.out.println(odd + " : odd");
+        getDGM("even").put("even", odd + 1);
+        cgm.setup(new OddCodeGear());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/test/java/christie/example/OddEven/StartOddEven.java	Fri Dec 28 20:00:58 2018 +0900
@@ -0,0 +1,25 @@
+package christie.example.OddEven;
+
+import christie.codegear.CodeGearManager;
+import christie.codegear.StartCodeGear;
+
+public class StartOddEven extends StartCodeGear {
+
+    public StartOddEven(CodeGearManager cgm) {
+        super(cgm);
+    }
+
+    public static void main(String[] args){
+        int finishCount = 10;
+        CodeGearManager odd = createCGM(10001);
+        CodeGearManager even = createCGM(10002);
+        odd.setup(new OddCodeGear());
+        even.setup(new EvenCodeGear());
+        odd.createRemoteDGM("even","localhost",10002);
+        even.createRemoteDGM("odd","localhost", 10001);
+        odd.getLocalDGM().put("odd", 1);
+        odd.getLocalDGM().put("finishCount",finishCount);
+        even.getLocalDGM().put("finishCount", finishCount);
+
+    }
+}