diff src/main/java/christie/topology/manager/CreateTreeTopology.java @ 129:2e2d761ea806

fix List Peek to Take
author akahori
date Tue, 25 Dec 2018 15:16:17 +0900
parents ce96f375f369
children e295cb59e514
line wrap: on
line diff
--- a/src/main/java/christie/topology/manager/CreateTreeTopology.java	Tue Dec 25 15:13:59 2018 +0900
+++ b/src/main/java/christie/topology/manager/CreateTreeTopology.java	Tue Dec 25 15:16:17 2018 +0900
@@ -17,16 +17,16 @@
     @Take
     int hostCount;
 
-    @Peek
+    @Take
     HashMap<String, HostMessage> nameTable;
 
     @Take
     String MD5;
 
-    @Peek
+    @Take
     HashMap<String, String> absCookieTable;
 
-    @Peek
+    @Take
     ParentManager parentManager;
 
     public CreateTreeTopology(){
@@ -46,8 +46,9 @@
         getDGM(nodeName).put("cookie", MD5);
 
         absCookieTable.put(MD5, nodeName);
+        getLocalDGM().put("absCookieTable", absCookieTable);
+
         getLocalDGM().put("hostCount", hostCount + 1);
-
         newHost.setAlive(true);
         nameTable.put(nodeName, newHost);
         parentManager.register(nodeName);
@@ -63,10 +64,12 @@
             getDGM(nodeName).put("connectNodeNum", 1);
             // put parent information own
             String parentNodeName = parentManager.getMyParent();
-            HostMessage parentHost = nameTable.get(parentNodeName);
+            HostMessage parentHost = nameTable.get(parentNodeName).clone();
+
 
             // 相手からhostNameとportはもらっているので, nodeの情報だけ与えれば良い.
             parentHost.setNodeInfo(nodeName, "parent", parentNodeName);
+            //parentHost.setNodeInfo(parentNodeName, "child", nodeName);
             getLocalDGM().put("nodeInfo", parentHost);
             cgm.setup(new RecordTopology());
 
@@ -76,6 +79,9 @@
             cgm.setup(new RecordTopology());
         }
 
+        getLocalDGM().put("nameTable", nameTable);
+        getLocalDGM().put("parentManager", parentManager);
+
         getDGM(nodeName).put("start", "start");
         getLocalDGM().put("startTime", System.currentTimeMillis());