diff src/main/java/christie/topology/manager/IncomingHosts.java @ 44:6664efac18ee

fix CheckCommingHost ConfigWaiter IncommingHosts
author akahori
date Thu, 02 Aug 2018 11:44:47 +0900
parents cf5a75bc3e55
children 8dfd93810041
line wrap: on
line diff
--- a/src/main/java/christie/topology/manager/IncomingHosts.java	Thu Aug 02 11:41:29 2018 +0900
+++ b/src/main/java/christie/topology/manager/IncomingHosts.java	Thu Aug 02 11:44:47 2018 +0900
@@ -13,18 +13,22 @@
 
 public class IncomingHosts extends CodeGear {
 
-    @Peek // Topology from parse file
-    HashMap<String, LinkedList<NodeInfo>> topology;
+    @Take // Topology from parse file
+    HashMap<String, LinkedList<NodeInfo>> resultParse;
 
-    @Peek // nodeName list
+    @Take // nodeName list
     LinkedList<String> nodeNames;
 
     @Take // new coming host info
-    HostMessage host;
+    HostMessage newHost;
+
+    @Take
+    HashMap<String, String> absCookieTable;
+
+    @Take
+    String MD5;
 
 
-    //private Receiver absCookieTable = ids.create(CommandType.TAKE); // cookie, AbsName HashMap
-    //private Receiver cookie = ids.create(CommandType.TAKE);    // MD5
     private Logger log = Logger.getLogger(IncomingHosts.class);
 
     public IncomingHosts() {
@@ -36,48 +40,44 @@
 
         // not have or match cookie
         String nodeName = nodeNames.poll();
+
         // Manager connect to Node
-
-        cgm.createRemoteDGM(nodeName, host.name, host.port);
+        cgm.createRemoteDGM(nodeName, newHost.name, newHost.port);
         getDGM(nodeName).put( "host", nodeName);
 
 
-        /* cookie
-        String cookie = this.cookie.asString();
-        absCookieTable.put(cookie, nodeName);
-        ods.put(this.absCookieTable.key, absCookieTable);
+        absCookieTable.put(MD5, nodeName);
+        getLocalDGM().put("absCookieTable", absCookieTable);
 
-        ods.put(nodeName, "cookie", cookie);
-        */
+        getDGM(nodeName).put("cookie", MD5);
         log.info( "toplology manager connected from " + nodeName);
 
-        LinkedList<NodeInfo> nodes = topology.get(nodeName);
-        for (NodeInfo nodeInfo : nodes) {
-            HostMessage newHost = new HostMessage(host.name, host.port,
+        LinkedList<NodeInfo> nodeInfoList = resultParse.get(nodeName);
+        for (NodeInfo nodeInfo : nodeInfoList) {
+            HostMessage hostMessage = new HostMessage(newHost.name, newHost.port,
                     nodeInfo.connectionName, nodeInfo.reverseName);
-            newHost.absName = nodeName;
-            newHost.remoteAbsName = nodeInfo.sourceNodeName;
+            hostMessage.absName = nodeName;
+            hostMessage.remoteAbsName = nodeInfo.sourceNodeName;
 
-            getLocalDGM().put("nodeInfo", newHost);
-            getLocalDGM().put(nodeInfo.sourceNodeName, newHost);
-            log.info(" write to " + nodeInfo.sourceNodeName + " config message =" + newHost.toString() + " remain "
+            getLocalDGM().put("nodeInfo", hostMessage);
+            getLocalDGM().put(nodeInfo.sourceNodeName, hostMessage);
+            log.info(" write to " + nodeInfo.sourceNodeName + " config message =" + hostMessage.toString() + " remain "
                     + Integer.toString((nodeNames.size())));
-            new RecordTopology();
+            cgm.setup(new RecordTopology());
         }
 
         log.info(" remaining configure host = " + Integer.toString(nodeNames.size()));
         if (nodeNames.isEmpty()) {
             // configuration finish
-            for (String key : topology.keySet()) {
+            for (String key : resultParse.keySet()) {
                 log.info(" write to " + key + " end message =" + (new HostMessage("",0,"","")).toString());
                 getLocalDGM().put(key, new HostMessage("",0,"","")); // end mark
             }
         }
 
-        // idsのときはkeyメソッドが使えたけど, 今はlistなのでエラーが出る.
-        // これが何をする処理か読めていないので, 今はコメントアウト.
-        //getLocalDGM().put(this.nodeNames.key, nodeNames);
-        //getLocalDGM().put(this.topology.key, topology);
+
+        getLocalDGM().put("nodeNames", nodeNames);
+        getLocalDGM().put("resultParse", resultParse);
 
         cgm.setup(new IncomingHosts());
     }