comparison src/main/java/christie/topology/manager/IncomingHosts.java @ 170:f9f83bb213e8

fix topology manager
author akahori
date Tue, 22 Jan 2019 18:32:39 +0900
parents c7300be0fff6
children 6eb548c188e5
comparison
equal deleted inserted replaced
169:1e696b2d3c6d 170:f9f83bb213e8
23 @Take // new coming host info 23 @Take // new coming host info
24 HostMessage newHost; 24 HostMessage newHost;
25 @Take 25 @Take
26 String MD5; 26 String MD5;
27 27
28 @Take
29 HashMap<String, LinkedList<HostMessage>> topology;
30
28 @Peek 31 @Peek
29 TopologyDataGear topoDG; 32 TopologyDataGear topoDG;
30 33
31 public IncomingHosts() { 34 public IncomingHosts() {
32 35
44 newHost.getPort()); 47 newHost.getPort());
45 48
46 absCookieTable.put(MD5, nodeName); 49 absCookieTable.put(MD5, nodeName);
47 getLocalDGM().put("absCookieTable", absCookieTable); 50 getLocalDGM().put("absCookieTable", absCookieTable);
48 51
49 topoDG.setNodeName(nodeName); 52
50 getDGM(nodeName).put( "topoDG", topoDG);
51 getDGM(nodeName).put("cookie", MD5); 53 getDGM(nodeName).put("cookie", MD5);
52 54
53 LinkedList<HostMessage> nodeInfoList = resultParse.get(nodeName); 55 LinkedList<HostMessage> nodeInfoList = resultParse.get(nodeName);
56 put(nodeName, "connectNodeNum", nodeInfoList.size());
57 if(nodeInfoList.size() == 0) put(nodeName,"reverseNodeName", "");
58
54 for (HostMessage nodeInfo : nodeInfoList) { 59 for (HostMessage nodeInfo : nodeInfoList) {
60
55 61
56 nodeInfo.setHostAndPort(newHost); 62 nodeInfo.setHostAndPort(newHost);
57 63
58 getLocalDGM().put("nodeInfo", nodeInfo); 64 //getLocalDGM().put("nodeInfo", nodeInfo);
59 getDGM(nodeName).put("remoteNodeInfo", nodeInfo); 65
60 cgm.setup(new RecordTopology()); 66 //getDGM(nodeName).put("remoteNodeInfo", nodeInfo);
67 //cgm.setup(new RecordTopology());
68
69 String nodeInfoNodeName = nodeInfo.getNodeName();
70 LinkedList<HostMessage> connections;
71
72 if (!topology.containsKey(nodeInfoNodeName)) {
73 connections = new LinkedList<HostMessage>();
74 } else {
75 connections = topology.get(nodeInfoNodeName);
76 }
77 connections.add(nodeInfo);
78 topology.put(nodeInfoNodeName, connections);
61 } 79 }
80
81 getLocalDGM().put("topology", topology);
82
62 83
63 if (nodeNames.isEmpty()) { 84 if (nodeNames.isEmpty()) {
64 // configuration finish 85 // configuration finish
65 for (String key : resultParse.keySet()) { 86 for (String key : resultParse.keySet()) {
87 topoDG.setNodeName(key);
88 getDGM(key).put("topoDG", topoDG);
89 if(topology.containsKey(key)){
90 LinkedList<HostMessage> connections = topology.get(key);
91 for(HostMessage connection: connections) {
92 put(key, "remoteNodeInfo", connection);
93 }
94 }
66 put(key, "remoteNodeInfo", new HostMessage()); // end mark 95 put(key, "remoteNodeInfo", new HostMessage()); // end mark
67 } 96 }
68 } 97 }
69 getLocalDGM().put("resultParse", resultParse); 98 getLocalDGM().put("resultParse", resultParse);
70 99