# HG changeset patch # User akahori # Date 1536108202 -32400 # Node ID e2ce8038815a047ce1698a55f818fa758f01438f # Parent f1f34c3e33d464627a1da0296bb2cb6b75aeefe1 fix FileParser diff -r f1f34c3e33d4 -r e2ce8038815a src/main/java/christie/topology/manager/ConfigWaiter.java --- a/src/main/java/christie/topology/manager/ConfigWaiter.java Wed Sep 05 09:04:06 2018 +0900 +++ b/src/main/java/christie/topology/manager/ConfigWaiter.java Wed Sep 05 09:43:22 2018 +0900 @@ -6,14 +6,13 @@ import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; -import java.util.HashMap; + import java.util.LinkedList; public class ConfigWaiter extends CodeGear { @Peek - HashMap> resultParse; - + LinkedList waiterNodeNames; @Take String nodePrepareDone; @@ -26,7 +25,7 @@ protected void run(CodeGearManager cgm) { nodeNum--; if (nodeNum == 0) { - for (String nodeName: resultParse.keySet()) getDGM(nodeName).put("start", "start"); + for (String nodeName: waiterNodeNames) getDGM(nodeName).put("start", "start"); getLocalDGM().put("startTime", System.currentTimeMillis()); getLocalDGM().put("running", true); diff -r f1f34c3e33d4 -r e2ce8038815a src/main/java/christie/topology/manager/FileParser.java --- a/src/main/java/christie/topology/manager/FileParser.java Wed Sep 05 09:04:06 2018 +0900 +++ b/src/main/java/christie/topology/manager/FileParser.java Wed Sep 05 09:43:22 2018 +0900 @@ -81,6 +81,8 @@ getLocalDGM().put("resultParse", resultParse); getLocalDGM().put("nodeNum", nodeNum); getLocalDGM().put("nodeNames", nodeNames); + getLocalDGM().put("waiterNodeNames", nodeNames.clone()); + } diff -r f1f34c3e33d4 -r e2ce8038815a src/main/java/christie/topology/manager/TopologyManager.java --- a/src/main/java/christie/topology/manager/TopologyManager.java Wed Sep 05 09:04:06 2018 +0900 +++ b/src/main/java/christie/topology/manager/TopologyManager.java Wed Sep 05 09:43:22 2018 +0900 @@ -4,10 +4,6 @@ import christie.codegear.CodeGear; import christie.codegear.CodeGearManager; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; @@ -15,6 +11,9 @@ public class TopologyManager extends CodeGear { + @Peek + TopologyManagerConfig topologyManagerConfig; + public TopologyManager() { } @@ -23,14 +22,16 @@ cgm.setup(new CheckComingHost()); getLocalDGM().put("absCookieTable", new HashMap()); - cgm.setup(new FileParser()); - cgm.setup(new IncomingHosts()); - cgm.setup(new ConfigWaiter()); + if(!topologyManagerConfig.dynamic) { + cgm.setup(new FileParser()); + cgm.setup(new IncomingHosts()); + cgm.setup(new ConfigWaiter()); + getLocalDGM().put("running", false); + } + cgm.setup(new CreateHash()); cgm.setup(new TopologyFinish()); - getLocalDGM().put("running", false); - getLocalDGM().put("hostInfoMap", new HashMap()); getLocalDGM().put("topology", new HashMap>()); getLocalDGM().put("createdList", new LinkedList()); diff -r f1f34c3e33d4 -r e2ce8038815a src/main/java/christie/topology/manager/TopologyManagerConfig.java --- a/src/main/java/christie/topology/manager/TopologyManagerConfig.java Wed Sep 05 09:04:06 2018 +0900 +++ b/src/main/java/christie/topology/manager/TopologyManagerConfig.java Wed Sep 05 09:43:22 2018 +0900 @@ -5,6 +5,7 @@ public class TopologyManagerConfig extends Config { public boolean showTime = false; public String confFilePath; + public boolean dynamic = false; public TopologyType type = TopologyType.Tree; public int hasChild = 2; @@ -24,5 +25,7 @@ showTime = true; } } + + if (confFilePath == null) dynamic = true; } }