58
|
1 import java.util.HashMap;
|
|
2
|
|
3 import javax.ws.rs.core.MediaType;
|
|
4
|
|
5 import models.NodeModel;
|
|
6
|
|
7 import org.codehaus.jackson.JsonNode;
|
|
8 import org.codehaus.jackson.node.ArrayNode;
|
|
9 import org.codehaus.jackson.node.ObjectNode;
|
|
10
|
|
11 import play.libs.Json;
|
|
12
|
|
13 import com.sun.jersey.api.client.Client;
|
|
14 import com.sun.jersey.api.client.ClientResponse;
|
|
15 import com.sun.jersey.api.client.WebResource;
|
|
16
|
|
17
|
|
18 public class ETDemo {
|
|
19 final static String SERVER_ROOT_URI = "http://localhost:9000";
|
|
20
|
|
21 public static void main(String[] args) {
|
|
22 String userA = "Yana";
|
|
23 String userB = "Tatsumi";
|
|
24 String userC = "Shiomi";
|
|
25 String userD = "Ikuhiro";
|
|
26 createUser(userA);
|
|
27 createUser(userB);
|
|
28 createUser(userC);
|
|
29 String[] otherUserA = {userB,userC,userD};
|
|
30 String[] otherUserB = {userA,userC,userD};
|
|
31 String[] otherUserC = {userA,userB,userD};
|
|
32 String[] otherUserD = {userA,userB,userC};
|
|
33
|
|
34 JsonNode allUsers = getAllUsers();
|
|
35 String[] allUsersArray = new String[allUsers.size()];
|
|
36 for (int i=0;i<allUsers.size(); i++) {
|
|
37 String id = allUsers.get(i).asText();
|
|
38 allUsersArray[i] = id;
|
|
39 }
|
|
40
|
|
41 HashMap<String, Long> idHash = new HashMap<String, Long>();
|
|
42 createClaimRoot(userA, otherUserA);
|
|
43
|
|
44 createClaim1(userA, otherUserA);
|
|
45 createClaim2(userB, otherUserB);
|
|
46
|
|
47
|
|
48
|
|
49 }
|
|
50
|
|
51 public static JsonNode getAllUsers() {
|
|
52 final String uri = SERVER_ROOT_URI + "/users/all";
|
|
53 WebResource resource = Client.create().resource(uri);
|
|
54 ClientResponse response = resource.get(ClientResponse.class);
|
|
55 System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
|
|
56 String resStr = response.getEntity(String.class);
|
|
57 System.out.println(resStr);
|
|
58 return Json.toJson(resStr);
|
|
59 }
|
|
60
|
|
61 public static void allAgreed(String name) {
|
|
62 JsonNode requestsJson = getUserInfo(name,"requests/");
|
|
63 for (int i=0; i<requestsJson.size(); i++) {
|
|
64 int id = requestsJson.get(i).asInt();
|
|
65 updateUserConsensusStatus(id, name, NodeModel.AGREED);
|
|
66 }
|
|
67 }
|
|
68
|
|
69 public static JsonNode editClaimInfo(ObjectNode jobj, String author, String[] users, int id) {
|
|
70 final String uri = SERVER_ROOT_URI + "/claims/edit/"+id;
|
|
71 WebResource resource = Client.create().resource(uri);
|
|
72 ClientResponse response = resource.header("Content-type",MediaType.APPLICATION_JSON)
|
|
73 .entity(jobj.toString())
|
|
74 .post(ClientResponse.class);
|
|
75 System.out.println(String.format("POST on [%s], status code [%d]", uri, response.getStatus()));
|
|
76 String resStr = response.getEntity(String.class);
|
|
77 System.out.println(resStr);
|
|
78 return Json.toJson(resStr);
|
|
79 }
|
|
80
|
|
81 public static JsonNode getClaimTree(int id) {
|
|
82 final String uri = SERVER_ROOT_URI + "/consensus/browse/"+id;
|
|
83 WebResource resource = Client.create().resource(uri);
|
|
84 ClientResponse response = resource.get(ClientResponse.class);
|
|
85 System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
|
|
86 String resStr = response.getEntity(String.class);
|
|
87 System.out.println(resStr);
|
|
88 return Json.parse(resStr);
|
|
89 }
|
|
90
|
|
91 public static void updateUserConsensusStatus(int id, String name, String status) {
|
|
92 final String uri = SERVER_ROOT_URI + "/claims/answer/"+id+"/"+name+"/"+status;
|
|
93 WebResource resource = Client.create().resource(uri);
|
|
94 ClientResponse response = resource.post(ClientResponse.class);
|
|
95 System.out.println(String.format("POST on [%s], status code [%d]", uri, response.getStatus()));
|
|
96 String resStr = response.getEntity(String.class);
|
|
97 System.out.println(resStr);
|
|
98 }
|
|
99
|
|
100 public static JsonNode getUserConsensusStatus(int id, String name) {
|
|
101 final String uri = SERVER_ROOT_URI + "/claims/answer/"+id+"/"+name;
|
|
102 WebResource resource = Client.create().resource(uri);
|
|
103 ClientResponse response = resource.get(ClientResponse.class);
|
|
104 System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
|
|
105 String resStr = response.getEntity(String.class);
|
|
106 System.out.println(resStr);
|
|
107 return Json.parse(resStr);
|
|
108 }
|
|
109
|
|
110 public static JsonNode getClaimInfo(int id) {
|
|
111 final String uri = SERVER_ROOT_URI + "/claims/browse/"+id;
|
|
112 WebResource resource = Client.create().resource(uri);
|
|
113 ClientResponse response = resource.get(ClientResponse.class);
|
|
114 System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
|
|
115 String resStr = response.getEntity(String.class);
|
|
116 System.out.println(resStr);
|
|
117 return Json.parse(resStr);
|
|
118 }
|
|
119
|
|
120 public static void createMention(ObjectNode jobj, String author, String[] users, String type, Object id) {
|
|
121 final String uri = SERVER_ROOT_URI + "/claims/"+type+"/"+id+"/create";
|
|
122 WebResource resource = Client.create().resource(uri);
|
|
123 ClientResponse response = resource.header("Content-type",MediaType.APPLICATION_JSON)
|
|
124 .entity(jobj.toString())
|
|
125 .post(ClientResponse.class);
|
|
126 System.out.println(String.format("POST on [%s], status code [%d]", uri, response.getStatus()));
|
|
127 String resStr = response.getEntity(String.class);
|
|
128 System.out.println(resStr);
|
|
129 }
|
|
130
|
|
131
|
|
132
|
|
133 public static JsonNode createClaim(ObjectNode jobj, String author, String[] users) {
|
|
134 final String uri = SERVER_ROOT_URI + "/claims/create";
|
|
135 WebResource resource = Client.create().resource(uri);
|
|
136 ClientResponse response = resource.header("Content-type",MediaType.APPLICATION_JSON)
|
|
137 .entity(jobj.toString())
|
|
138 .post(ClientResponse.class);
|
|
139 System.out.println(String.format("POST on [%s], status code [%d]", uri, response.getStatus()));
|
|
140 String resStr = response.getEntity(String.class);
|
|
141 System.out.println(resStr);
|
|
142 return Json.toJson(resStr);
|
|
143 }
|
|
144
|
|
145 public static ObjectNode createToulmin(String title, String contents, String rebuttle, String qualifier, String data, String warrant, String backing) {
|
|
146 ObjectNode toulmin = Json.newObject();
|
|
147 toulmin.put(NodeModel.TITLE, title);
|
|
148 toulmin.put(NodeModel.CONTENTS, contents);
|
|
149 toulmin.put(NodeModel.REBUTTLE, rebuttle);
|
|
150 toulmin.put(NodeModel.QUALIFIER, qualifier);
|
|
151 toulmin.put(NodeModel.DATA, data);
|
|
152 toulmin.put(NodeModel.WARRANT, warrant);
|
|
153 toulmin.put(NodeModel.BACKING, backing);
|
|
154 return toulmin;
|
|
155 }
|
|
156
|
|
157 public static ObjectNode createClaimRoot(String author, String[] users) {
|
|
158 String title = "Aのパソコンを買う";
|
|
159 String contents = "";
|
|
160 String rebuttle = "";
|
|
161 String qualifier = "";
|
|
162 String data = "";
|
|
163 String warrant = "";
|
|
164 String backing = "";
|
|
165 ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
|
|
166 ObjectNode jobj = Json.newObject();
|
|
167 jobj.put(NodeModel.TOULMIN, toulmin);
|
|
168 jobj.put(NodeModel.L_AUTHOR, author);
|
|
169 ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
|
|
170 for (String u : users) usersArray.add(u);
|
|
171 jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);
|
|
172 return jobj;
|
|
173 }
|
|
174
|
|
175 public static ObjectNode createClaim1(String author, String[] users) {
|
|
176 String title = "壊れたマシンと同じ程度のものがあればいい。";
|
|
177 String contents = "壊れたマシンと同じ程度のものがあればいいです。。";
|
|
178 String rebuttle = "仕事の内容が大幅に変わらない限りは";
|
|
179 String qualifier = "";
|
|
180 String data = "壊れてしまったパソコンは、Windows7の入ったノートブックで15インチです。";
|
|
181 String warrant = "困っていないので";
|
|
182 String backing = "";
|
|
183 ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
|
|
184 ObjectNode jobj = Json.newObject();
|
|
185 jobj.put(NodeModel.TOULMIN, toulmin);
|
|
186 jobj.put(NodeModel.L_AUTHOR, author);
|
|
187 ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
|
|
188 for (String u : users) usersArray.add(u);
|
|
189 jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);
|
|
190 return jobj;
|
|
191 }
|
|
192
|
|
193 public static ObjectNode createClaim2(String author, String[] users) {
|
|
194 String title = "MacProの最新版を買うのはどうか";
|
|
195 String contents = "MacProの最新版を買う";
|
|
196 String rebuttle = "";
|
|
197 String qualifier = "";
|
|
198 String data = "次のプロジェクトで画面デザインの仕事が入る予定です。";
|
|
199 String warrant = "";
|
|
200 String backing = "";
|
|
201 ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
|
|
202 ObjectNode jobj = Json.newObject();
|
|
203 jobj.put(NodeModel.TOULMIN, toulmin);
|
|
204 jobj.put(NodeModel.L_AUTHOR, author);
|
|
205 ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
|
|
206 for (String u : users) usersArray.add(u);
|
|
207 jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);
|
|
208 return jobj;
|
|
209 }
|
|
210
|
|
211 public static ObjectNode createClaim3(String author, String[] users) {
|
|
212 String title = "MacProの最新版を買います。";
|
|
213 String contents = "MacProの最新版を買います。";
|
|
214 String rebuttle = "";
|
|
215 String qualifier = "";
|
|
216 String data = "当社のグラフィックアプリケーションはMacバージョンです。";
|
|
217 String warrant = "Macでしか動かないので";
|
|
218 String backing = "";
|
|
219 ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
|
|
220 ObjectNode jobj = Json.newObject();
|
|
221 jobj.put(NodeModel.TOULMIN, toulmin);
|
|
222 jobj.put(NodeModel.L_AUTHOR, author);
|
|
223 ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
|
|
224 for (String u : users) usersArray.add(u);
|
|
225 jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);
|
|
226 return jobj;
|
|
227 }
|
|
228
|
|
229 public static ObjectNode createClaim4(String author, String[] users) {
|
|
230 String title = "MacProの最速マシンは高いのでやめましょう";
|
|
231 String contents = "";
|
|
232 String rebuttle = "";
|
|
233 String qualifier = "";
|
|
234 String data = "予算は250,000円までです。";
|
|
235 String warrant = "予算以内に収めなければなりません。";
|
|
236 String backing = "";
|
|
237 ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
|
|
238 ObjectNode jobj = Json.newObject();
|
|
239 jobj.put(NodeModel.TOULMIN, toulmin);
|
|
240 jobj.put(NodeModel.L_AUTHOR, author);
|
|
241 ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
|
|
242 for (String u : users) usersArray.add(u);
|
|
243 jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);
|
|
244 return jobj;
|
|
245 }
|
|
246
|
|
247 public static ObjectNode createClaim5(String author, String[] users) {
|
|
248 String title = "MacProの最速マシンである必要はない。";
|
|
249 String contents = "";
|
|
250 String rebuttle = "";
|
|
251 String qualifier = "";
|
|
252 String data = "Macのタワー型ならグラフィックの性能は高いです。";
|
|
253 String warrant = "画面デザインなら最速でなくても良いです。。";
|
|
254 String backing = "";
|
|
255 ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
|
|
256 ObjectNode jobj = Json.newObject();
|
|
257 jobj.put(NodeModel.TOULMIN, toulmin);
|
|
258 jobj.put(NodeModel.L_AUTHOR, author);
|
|
259 ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
|
|
260 for (String u : users) usersArray.add(u);
|
|
261 jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);
|
|
262 return jobj;
|
|
263 }
|
|
264
|
|
265
|
|
266
|
|
267 public static JsonNode getUserInfo(String name, String preUri) {
|
|
268 final String uri = SERVER_ROOT_URI + "/users/"+preUri+name;
|
|
269 WebResource resource = Client.create().resource(uri);
|
|
270 ClientResponse response = resource.get(ClientResponse.class);
|
|
271 System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
|
|
272 String resStr = response.getEntity(String.class);
|
|
273 System.out.println(resStr);
|
|
274 return Json.parse(resStr);
|
|
275 }
|
|
276
|
|
277 public static void createUser(String name) {
|
|
278 final String uri = SERVER_ROOT_URI + "/users/create/"+name;
|
|
279 WebResource resource = Client.create().resource(uri);
|
|
280 ClientResponse response = resource.put(ClientResponse.class);
|
|
281 System.out.println(String.format("PUT on [%s], status code [%d]", uri, response.getStatus()));
|
|
282 System.out.println(response.getEntity(String.class));
|
|
283 }
|
|
284
|
|
285 public static JsonNode getUser(String name) {
|
|
286 final String uri = SERVER_ROOT_URI + "/users/browse/"+name;
|
|
287 WebResource resource = Client.create().resource(uri);
|
|
288 ClientResponse response = resource.get(ClientResponse.class);
|
|
289 System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
|
|
290 String resStr = response.getEntity(String.class);
|
|
291 return Json.parse(resStr);
|
|
292 }
|
|
293
|
|
294 public static void postName() {
|
|
295 final String uri = SERVER_ROOT_URI + "/hello";
|
|
296 WebResource resource = Client.create().resource(uri);
|
|
297 ObjectNode jobj = Json.newObject();
|
|
298 jobj.put("name","taro");
|
|
299 // ClientResponse response = resource.accept(MediaType.APPLICATION_JSON)
|
|
300 ClientResponse response = resource.header("Content-type",MediaType.APPLICATION_JSON)
|
|
301 .entity(jobj.toString())
|
|
302 .post(ClientResponse.class);
|
|
303 System.out.println(String.format("POST on [%s], status code [%d]", uri, response.getStatus()));
|
|
304 System.out.println(response.getEntity(String.class));
|
|
305 }
|
|
306 }
|