comparison test/ETDemo.java @ 58:a4540fee6db6

add ETDemo
author one
date Thu, 08 Nov 2012 00:01:26 +0900
parents
children
comparison
equal deleted inserted replaced
57:ed77c5258568 58:a4540fee6db6
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 }