60
|
1 import org.codehaus.jackson.node.ObjectNode;
|
|
2
|
|
3 import models.ClaimModel;
|
|
4 import models.NodeModel;
|
7
|
5 import models.TPGraph;
|
60
|
6 import models.UserModel;
|
7
|
7
|
|
8 import com.tinkerpop.blueprints.Graph;
|
|
9 import com.tinkerpop.blueprints.Vertex;
|
|
10
|
|
11 import play.Application;
|
|
12 import play.GlobalSettings;
|
|
13 import play.Logger;
|
60
|
14 import play.libs.Json;
|
7
|
15
|
|
16 public class Global extends GlobalSettings {
|
|
17
|
|
18 @Override
|
|
19 public void onStart(Application app) {
|
60
|
20 /*
|
|
21 TPGraph tpGraph = TPGraph.getInstance();
|
|
22 tpGraph.setPath(null);
|
|
23 Graph graph = tpGraph.getGraph();
|
|
24 // Graph graph = tpGraph.newGraph();
|
7
|
25 Vertex claimV = graph.addVertex(null);
|
60
|
26 tpGraph.setClaimRootId(claimV.getId());
|
7
|
27 Vertex userV = graph.addVertex(null);
|
60
|
28 tpGraph.setUserRootId(userV.getId());
|
|
29 */
|
|
30 initialData();
|
7
|
31 }
|
52
|
32
|
|
33 @Override
|
|
34 public void onStop(Application app) {
|
|
35 Logger.info("Application shutdown...");
|
60
|
36 TPGraph tpGraph = TPGraph.getInstance();
|
|
37 tpGraph.shutdownGraph();
|
61
|
38 TPGraph.resetInstance();
|
60
|
39 }
|
|
40
|
|
41
|
|
42 public void initialData() {
|
|
43 TPGraph tpGraph = TPGraph.getInstance();
|
|
44 tpGraph.setPath(null);
|
|
45 Graph graph = tpGraph.newGraph();
|
|
46 Vertex claimV = graph.addVertex(null);
|
|
47 tpGraph.setClaimRootId(claimV.getId());
|
|
48 Vertex userV = graph.addVertex(null);
|
|
49 tpGraph.setUserRootId(userV.getId());
|
|
50
|
|
51 String user1 = "Takaaki";
|
|
52 String user2 = "Akifumi";
|
|
53 String user3 = "Yosiaki";
|
|
54
|
|
55 String[] otherUser1 = {user2,user3};
|
|
56 String[] otherUser2 = {user1,user3};
|
|
57 String[] otherUser3 = {user1,user2};
|
|
58
|
|
59 UserModel user1Model = new UserModel(graph.addVertex(user1));
|
|
60 UserModel user2Model = new UserModel(graph.addVertex(user2));
|
|
61 UserModel user3Model = new UserModel(graph.addVertex(user3));
|
|
62
|
|
63 tpGraph.setLabelToRootUser(user1Model);
|
|
64 tpGraph.setLabelToRootUser(user2Model);
|
|
65 tpGraph.setLabelToRootUser(user3Model);
|
|
66
|
61
|
67 ClaimModel claimModel1 = new ClaimModel(graph.addVertex(null));
|
60
|
68 ObjectNode t1 = createToulmin("アプリでGraphDBを利用する。");
|
61
|
69 createFirstClaim(claimModel1, t1, user1, otherUser1);
|
|
70
|
|
71 ClaimModel claimModel2 = new ClaimModel(graph.addVertex(null));
|
|
72 ObjectNode t2 = createToulmin("RDBを利用すべきである。");
|
|
73 String[] usersClaim2 = {user1};
|
|
74 createClaimMention(claimModel2, t2, user2, usersClaim2);
|
|
75 tpGraph.setLabelMention(claimModel1, claimModel2, NodeModel.L_REFUTATION);
|
|
76
|
|
77 ClaimModel claimModel3 = new ClaimModel(graph.addVertex(null));
|
|
78 ObjectNode t3 = createToulmin("RDBを利用すべきである。");
|
|
79 String[] usersClaim3 = {user2};
|
|
80 createClaimMention(claimModel3, t3, user1, usersClaim3);
|
|
81 tpGraph.setLabelMention(claimModel2, claimModel3, NodeModel.L_REFUTATION);
|
|
82
|
|
83 ClaimModel claimModel4 = new ClaimModel(graph.addVertex(null));
|
|
84 ObjectNode t4 = createToulmin("どのGraphDBを利用するのか。");
|
|
85 createClaimMention(claimModel4, t4, user3, usersClaim2);
|
|
86 tpGraph.setLabelMention(claimModel1, claimModel4, NodeModel.L_QUESTION);
|
|
87
|
|
88 ClaimModel claimModel5 = new ClaimModel(graph.addVertex(null));
|
|
89 ObjectNode t5 = createToulmin("TinkerPopはどうか?");
|
|
90 String[] usersClaim5 = {user3};
|
|
91 createClaimMention(claimModel5, t5, user1, usersClaim5);
|
|
92 tpGraph.setLabelMention(claimModel4, claimModel5, NodeModel.L_SUGGESTION);
|
|
93
|
|
94 }
|
|
95
|
|
96 private void createClaimMention(ClaimModel claim, ObjectNode t, String author, String[] users) {
|
|
97 createClaimSetToulmin(claim, t, author, users);
|
|
98 }
|
60
|
99
|
61
|
100 private void createFirstClaim(ClaimModel claim, ObjectNode t, String author, String[] users) {
|
|
101 TPGraph tpGraph = TPGraph.getInstance();
|
|
102 createClaimSetToulmin(claim, t, author, users);
|
|
103 tpGraph.setLabelToRootClaim(claim);
|
60
|
104 }
|
|
105
|
|
106 private void createClaimSetToulmin(ClaimModel claim, ObjectNode t, String author, String[] users) {
|
|
107 TPGraph tpGraph = TPGraph.getInstance();
|
|
108 tpGraph.setLabelToAuthor(claim, author);
|
61
|
109 claim.setClaimProperties(t, NodeModel.UNANIMOUSLY);
|
60
|
110 tpGraph.setLabelStatusToUsers(claim, users, NodeModel.L_REQUEST, NodeModel.UNKNOWN);
|
52
|
111 }
|
61
|
112
|
60
|
113 private ObjectNode createToulmin(String title) {
|
|
114 ObjectNode t = Json.newObject();
|
|
115 t.put(NodeModel.TITLE, title);
|
|
116 t.put(NodeModel.CONTENTS,title);
|
|
117 t.put(NodeModel.QUALIFIER,"");
|
|
118 t.put(NodeModel.DATA,"");
|
|
119 t.put(NodeModel.WARRANT,"");
|
|
120 t.put(NodeModel.BACKING,"");
|
|
121 t.put(NodeModel.REBUTTLE,"");
|
|
122 return t;
|
|
123 }
|
|
124
|
|
125
|
|
126
|
|
127
|
|
128
|
7
|
129 }
|