changeset 345:ec382195c477

LogupdateTest with TopologyManager
author nozomi
date Wed, 13 Sep 2017 17:37:56 +0900
parents 3fc39bff7a67
children f7a5189d94d7
files src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/bbs/BBSTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/LogupdateTest.java src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/LogupdateTestConfig.java src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/LogupdateTestStartCodeSegment.java src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/Logupdator.java
diffstat 5 files changed, 54 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/bbs/BBSTest.java	Wed Sep 13 16:32:31 2017 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/jungle/bbs/BBSTest.java	Wed Sep 13 17:37:56 2017 +0900
@@ -62,7 +62,7 @@
         bbs.checkMessage();
     }
 
-    void createBoard(){
+    public void createBoard(){
 
         requestCounter.incrementAndGet();
         JungleTree tree = jungle.getTreeByName(_board);
@@ -112,7 +112,7 @@
         } while (either.isA());
     }
 
-    void createMessage(){
+    public void createMessage(){
         requestCounter.incrementAndGet();
         JungleTree tree = jungle.getTreeByName(_board);
         if (tree == null) {
@@ -162,7 +162,7 @@
 
     }
 
-    void checkMessage(){
+    public void checkMessage(){
         JungleTree tree = jungle.getTreeByName(_board);
         TreeNode node = tree.getRootNode();
         for (TreeNode child : node.getChildren()){
@@ -178,8 +178,12 @@
                 }
                 System.out.println(" ");
             }
-
+            System.out.println(" ");
 
         }
     }
+
+    public Jungle getJungle() {
+        return jungle;
+    }
 }
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/LogupdateTest.java	Wed Sep 13 16:32:31 2017 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/LogupdateTest.java	Wed Sep 13 17:37:56 2017 +0900
@@ -1,17 +1,21 @@
 package jp.ac.u_ryukyu.ie.cr.junglenetwork.logupdate;
 
-import alice.daemon.AliceDaemon;
-import alice.datasegment.DataSegment;
+
+import alice.topology.node.TopologyNode;
+import alice.topology.node.TopologyNodeConfig;
 
 /**
  * Created by kono on 2017/08/28.
  */
 public class LogupdateTest {
     public static void main(String[] args) {
-        LogupdateTestConfig conf = new LogupdateTestConfig(args);//トポロジー設定をコマンドライン引数からとって設定?
-
-        new AliceDaemon(conf).listen();//構成開始?TopMはない
-        DataSegment.connect(conf.key, "", conf.hostname, conf.connectPort);
-        new LogupdateTestStartCodeSegment().execute();
+        LogupdateTestConfig conf = new LogupdateTestConfig(args);
+        LogupdateTestStartCodeSegment cs = new LogupdateTestStartCodeSegment();
+        if (conf.getManagerHostName() !=null){
+            new TopologyNode(conf, cs);
+        } else {
+            cs.ods.put("host", "local0");
+            cs.execute();
+        }
     }
 }
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/LogupdateTestConfig.java	Wed Sep 13 16:32:31 2017 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/LogupdateTestConfig.java	Wed Sep 13 17:37:56 2017 +0900
@@ -1,15 +1,18 @@
 package jp.ac.u_ryukyu.ie.cr.junglenetwork.logupdate;
 
 import alice.daemon.Config;
+import alice.topology.node.TopologyNode;
+import alice.topology.node.TopologyNodeConfig;
 
 /**
  * Created by kono on 2017/08/28.
  */
-public class LogupdateTestConfig extends Config {
+public class LogupdateTestConfig extends TopologyNodeConfig {
 
     public String hostname = "127.0.0.1";
     public int connectPort = 10000;
     public String key = "remote";
+    private boolean writeMode = false;
 
     public LogupdateTestConfig(String[] args) {
         super(args);
@@ -20,7 +23,13 @@
                 connectPort = Integer.parseInt(args[++i]);
             } else if ("-key".equals(args[i])) {
                 key = args[++i];
+            } else if ("-write".equals(args[i])) {
+                writeMode = true;
             }
         }
     }
+
+    public boolean isWriteMode() {
+        return writeMode;
+    }
 }
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/LogupdateTestStartCodeSegment.java	Wed Sep 13 16:32:31 2017 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/LogupdateTestStartCodeSegment.java	Wed Sep 13 17:37:56 2017 +0900
@@ -3,7 +3,11 @@
 import alice.codesegment.CodeSegment;
 import alice.datasegment.CommandType;
 import alice.datasegment.Receiver;
+import alice.topology.node.TopologyNodeConfig;
+import jp.ac.u_ryukyu.ie.cr.jungle.DefaultJungle;
+import jp.ac.u_ryukyu.ie.cr.jungle.bbs.BBSTest;
 import jp.ac.u_ryukyu.ie.cr.jungleNetwork.codesegment.LogUpdateCodeSegment;
+import jp.ac.u_ryukyu.ie.cr.jungleNetwork.core.NetworkDefaultJungle;
 
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -15,13 +19,21 @@
 
     int bbsPort = 8080;
     Receiver host = ids.create(CommandType.PEEK);
+    Receiver conf = ids.create(CommandType.PEEK);
     private Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$");
     private String[] args;
     boolean persistentFlag = false;
 
+    public LogupdateTestStartCodeSegment(){
+        conf.setKey("config");
+        host.setKey("host");
+    }
+
     @Override
     public void run() {
         String name = host.asString();
+        LogupdateTestConfig config = conf.asClass(LogupdateTestConfig.class);
+
         Matcher matcher = pattern.matcher(name);
         matcher.find();
         //		String type = matcher.group(1);
@@ -29,10 +41,16 @@
             if (arg.equals("-persistent")) {
                 persistentFlag = true;
             }
-        Logupdator cassaBBS = new Logupdator(name);
+        BBSTest bbsTest = new BBSTest(new NetworkDefaultJungle(null, "hoge"));
+        Logupdator cassaBBS = new Logupdator(name, bbsTest);
         cassaBBS.init();
         ods.put("updator", cassaBBS);
 
         new LogUpdateCodeSegment();
+        if (config.isWriteMode()){
+            bbsTest.createBoard();
+            bbsTest.createMessage();
+            bbsTest.checkMessage();
+        }
     }
 }
--- a/src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/Logupdator.java	Wed Sep 13 16:32:31 2017 +0900
+++ b/src/test/java/jp/ac/u_ryukyu/ie/cr/junglenetwork/logupdate/Logupdator.java	Wed Sep 13 17:37:56 2017 +0900
@@ -1,6 +1,7 @@
 package jp.ac.u_ryukyu.ie.cr.junglenetwork.logupdate;
 
 import jp.ac.u_ryukyu.ie.cr.jungle.Jungle;
+import jp.ac.u_ryukyu.ie.cr.jungle.bbs.BBSTest;
 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.DefaultNodePath;
 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.editor.jungleTreeEditor.JungleTreeEditor;
 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode;
@@ -19,10 +20,11 @@
  */
 public class Logupdator implements JungleDistributedUpdator {
 
-    private Jungle jungle;
+    private BBSTest bbsTest;
     private AtomicInteger requestCounter = new AtomicInteger(0);
 
-    public Logupdator(String name) {
+    public Logupdator(String name, BBSTest bbsTest) {
+        this.bbsTest = bbsTest;
     }
 
     public void init() {
@@ -66,6 +68,7 @@
             either = editor.success();
         }while(either.isA());
         requestIncrementAndGet();
+        bbsTest.checkMessage();
         return either;
     }
 
@@ -87,6 +90,6 @@
     }
 
     public Jungle getJungle() {
-        return jungle;
+        return bbsTest.getJungle();
     }
 }