# HG changeset patch # User akahori # Date 1548149559 -32400 # Node ID f9f83bb213e8fa4b396123b28e67a0b19343af82 # Parent 1e696b2d3c6d22f7f5a7efb0fc1fea5efbfca5ec fix topology manager diff -r 1e696b2d3c6d -r f9f83bb213e8 src/main/java/christie/topology/manager/IncomingHosts.java --- a/src/main/java/christie/topology/manager/IncomingHosts.java Tue Jan 22 18:32:13 2019 +0900 +++ b/src/main/java/christie/topology/manager/IncomingHosts.java Tue Jan 22 18:32:39 2019 +0900 @@ -25,6 +25,9 @@ @Take String MD5; + @Take + HashMap> topology; + @Peek TopologyDataGear topoDG; @@ -46,23 +49,49 @@ absCookieTable.put(MD5, nodeName); getLocalDGM().put("absCookieTable", absCookieTable); - topoDG.setNodeName(nodeName); - getDGM(nodeName).put( "topoDG", topoDG); + getDGM(nodeName).put("cookie", MD5); LinkedList nodeInfoList = resultParse.get(nodeName); + put(nodeName, "connectNodeNum", nodeInfoList.size()); + if(nodeInfoList.size() == 0) put(nodeName,"reverseNodeName", ""); + for (HostMessage nodeInfo : nodeInfoList) { + nodeInfo.setHostAndPort(newHost); - getLocalDGM().put("nodeInfo", nodeInfo); - getDGM(nodeName).put("remoteNodeInfo", nodeInfo); - cgm.setup(new RecordTopology()); + //getLocalDGM().put("nodeInfo", nodeInfo); + + //getDGM(nodeName).put("remoteNodeInfo", nodeInfo); + //cgm.setup(new RecordTopology()); + + String nodeInfoNodeName = nodeInfo.getNodeName(); + LinkedList connections; + + if (!topology.containsKey(nodeInfoNodeName)) { + connections = new LinkedList(); + } else { + connections = topology.get(nodeInfoNodeName); + } + connections.add(nodeInfo); + topology.put(nodeInfoNodeName, connections); } + getLocalDGM().put("topology", topology); + + if (nodeNames.isEmpty()) { // configuration finish for (String key : resultParse.keySet()) { + topoDG.setNodeName(key); + getDGM(key).put("topoDG", topoDG); + if(topology.containsKey(key)){ + LinkedList connections = topology.get(key); + for(HostMessage connection: connections) { + put(key, "remoteNodeInfo", connection); + } + } put(key, "remoteNodeInfo", new HostMessage()); // end mark } } diff -r 1e696b2d3c6d -r f9f83bb213e8 src/main/java/christie/topology/node/ConfigurationFinish.java --- a/src/main/java/christie/topology/node/ConfigurationFinish.java Tue Jan 22 18:32:13 2019 +0900 +++ b/src/main/java/christie/topology/node/ConfigurationFinish.java Tue Jan 22 18:32:39 2019 +0900 @@ -4,6 +4,7 @@ import christie.annotation.Take; import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; +import christie.topology.TopologyDataGear; public class ConfigurationFinish extends CodeGear { @@ -19,6 +20,7 @@ @Peek TopologyNodeConfig topologyNodeConfig; + public ConfigurationFinish() { } @@ -36,8 +38,8 @@ /*ClosedEventManager closedEventManager = new ClosedEventManager(); closedEventManager.register(cgm, DeleteConnection.class); - cgm.setup(closedEventManager); - return;*/ + cgm.setup(closedEventManager);*/ + return; }else { getLocalDGM().put("reverseCount", reverseCount); diff -r 1e696b2d3c6d -r f9f83bb213e8 src/main/java/christie/topology/node/CreateConnectionList.java --- a/src/main/java/christie/topology/node/CreateConnectionList.java Tue Jan 22 18:32:13 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -package christie.topology.node; - -import christie.annotation.Peek; -import christie.annotation.Take; -import christie.codegear.CodeGear; -import christie.codegear.CodeGearManager; -import christie.topology.TopologyDataGear; - -import java.util.List; - -public class CreateConnectionList extends CodeGear { - @Take - TopologyDataGear topoDG; - @Take - String cMember; - - public CreateConnectionList() { } - - @Override - protected void run(CodeGearManager cgm) { - - topoDG.addConnection(cMember); - getLocalDGM().put("topoDG", topoDG); - } - -} diff -r 1e696b2d3c6d -r f9f83bb213e8 src/main/java/christie/topology/node/IncomingConnectionInfo.java --- a/src/main/java/christie/topology/node/IncomingConnectionInfo.java Tue Jan 22 18:32:13 2019 +0900 +++ b/src/main/java/christie/topology/node/IncomingConnectionInfo.java Tue Jan 22 18:32:39 2019 +0900 @@ -14,11 +14,11 @@ @Take HostMessage remoteNodeInfo; + int count; + @Take TopologyDataGear topoDG; - int count; - public IncomingConnectionInfo() { this.count = 0; } @@ -32,22 +32,19 @@ protected void run(CodeGearManager cgm) { String connectionName = remoteNodeInfo.getConnectionName(); - if (remoteNodeInfo.getHostName().equals("")) { // end case - put("connectNodeNum", count); getLocalDGM().put("topoDG", topoDG); return; - }else{ + } cgm.createRemoteDGM(connectionName, remoteNodeInfo.getHostName(), remoteNodeInfo.getPort()); - getDGM(connectionName).put("reverseNodeName", topoDG.getNodeName()); topoDG.addConnection(connectionName); getLocalDGM().put("topoDG", topoDG); + getDGM(connectionName).put("reverseNodeName",connectionName); count++; - } cgm.setup(new IncomingConnectionInfo(count)); }