Mercurial > hg > Members > nobuyasu > Consensus
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 } |