annotate src/main/java/christie/topology/manager/FileParser.java @ 93:7abfe041b75c

update HostMessage del reverseKey
author akahori
date Sat, 15 Sep 2018 17:41:14 +0900
parents e4d16deb9627
children 87a203c99177
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
73
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
1 package christie.topology.manager;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
2
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
3 import christie.annotation.Peek;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
4 import christie.codegear.CodeGear;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
5 import christie.codegear.CodeGearManager;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
6
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
7 import java.io.File;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
8 import java.io.FileNotFoundException;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
9 import java.io.FileReader;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
10 import java.util.ArrayList;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
11 import java.util.HashMap;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
12 import java.util.LinkedList;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
13
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
14 import com.alexmerz.graphviz.ParseException;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
15 import com.alexmerz.graphviz.Parser;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
16 import com.alexmerz.graphviz.objects.*;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
17
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
18 public class FileParser extends CodeGear {
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
19
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
20 @Peek
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
21 TopologyManagerConfig topologyManagerConfig;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
22
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
23 @Override
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
24 protected void run(CodeGearManager cgm) {
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
25 LinkedList<String> nodeNames = new LinkedList<>();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
26 HashMap<String, LinkedList<NodeInfo>> resultParse = new HashMap<>();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
27 int nodeNum = 0;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
28
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
29 try {
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
30 FileReader reader = new FileReader(new File(topologyManagerConfig.confFilePath));
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
31 Parser parser = new Parser();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
32 parser.parse(reader);
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
33
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
34
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
35 ArrayList<Graph> digraphs = parser.getGraphs();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
36
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
37
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
38 for (Graph digraph : digraphs) {
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
39 ArrayList<Node> nodes = digraph.getNodes(false);
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
40 nodeNum = nodes.size();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
41
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
42 for (Node node : nodes) {
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
43 String nodeName = node.getId().getId();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
44 nodeNames.add(nodeName);
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
45 resultParse.put(nodeName, new LinkedList<>());
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
46 }
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
47
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
48 ArrayList<Edge> edges = digraph.getEdges();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
49
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
50 String connection;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
51 String source;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
52 String target;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
53
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
54 NodeInfo nodeInfo;
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
55
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
56 for (Edge edge : edges) {
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
57 connection = edge.getAttribute("label");
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
58 source = edge.getSource().getNode().getId().getId();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
59 target = edge.getTarget().getNode().getId().getId();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
60 nodeInfo = new NodeInfo(source, connection, target);
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
61
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
62 resultParse.get(source).add(nodeInfo);
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
63
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
64 }
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
65 }
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
66
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
67 } catch (FileNotFoundException e) {
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
68 e.printStackTrace();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
69 } catch (ParseException e) {
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
70 e.printStackTrace();
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
71 }
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
72
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
73 getLocalDGM().put("resultParse", resultParse);
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
74 getLocalDGM().put("nodeNum", nodeNum);
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
75 getLocalDGM().put("nodeNames", nodeNames);
74
e2ce8038815a fix FileParser
akahori
parents: 73
diff changeset
76 getLocalDGM().put("waiterNodeNames", nodeNames.clone());
e2ce8038815a fix FileParser
akahori
parents: 73
diff changeset
77
73
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
78
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
79
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
80 }
f1f34c3e33d4 add FileParser.java
akahori
parents:
diff changeset
81 }