changeset 58:a4540fee6db6

add ETDemo
author one
date Thu, 08 Nov 2012 00:01:26 +0900
parents ed77c5258568
children e2b703e173ab
files target/scala-2.9.1/cache/compile/copy-resources target/scala-2.9.1/classes/routes test/ETDemo.java
diffstat 3 files changed, 307 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
Binary file target/scala-2.9.1/cache/compile/copy-resources has changed
--- a/target/scala-2.9.1/classes/routes	Thu Nov 08 00:00:59 2012 +0900
+++ b/target/scala-2.9.1/classes/routes	Thu Nov 08 00:01:26 2012 +0900
@@ -15,7 +15,7 @@
 GET		/consensus/browse/:id		controllers.Claim.getClaimTree(id: String)
 GET		/claims/answer/:id/:name	controllers.Claim.getUserConsensusStatus(id: String, name: String)
 POST	/claims/answer/:id/:name/:status	controllers.Claim.updateUserConsensusStatus(id: String, name: String, status: String)
-POST	/claims/create				controllers.Claim.crateClaim()
+POST	/claims/create				controllers.Claim.createClaim()
 POST	/claims/:mentionType/:id/create			controllers.Claim.createMention(mentionType: String ,id: String)
 POST	/claims/edit/:id			controllers.Claim.editClaim(id: String)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/ETDemo.java	Thu Nov 08 00:01:26 2012 +0900
@@ -0,0 +1,306 @@
+import java.util.HashMap;
+
+import javax.ws.rs.core.MediaType;
+
+import models.NodeModel;
+
+import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.node.ArrayNode;
+import org.codehaus.jackson.node.ObjectNode;
+
+import play.libs.Json;
+
+import com.sun.jersey.api.client.Client;
+import com.sun.jersey.api.client.ClientResponse;
+import com.sun.jersey.api.client.WebResource;
+
+
+public class ETDemo {
+	final static String SERVER_ROOT_URI = "http://localhost:9000";
+
+	public static void main(String[] args) {
+		String userA = "Yana";
+		String userB = "Tatsumi";
+		String userC = "Shiomi";
+		String userD = "Ikuhiro";
+		createUser(userA);
+		createUser(userB);
+		createUser(userC);
+		String[] otherUserA = {userB,userC,userD};
+		String[] otherUserB = {userA,userC,userD};
+		String[] otherUserC = {userA,userB,userD};
+		String[] otherUserD = {userA,userB,userC};
+			
+		JsonNode allUsers = getAllUsers();
+		String[] allUsersArray = new String[allUsers.size()];
+		for (int i=0;i<allUsers.size(); i++) {
+			String id = allUsers.get(i).asText();
+			allUsersArray[i] = id;
+		}
+
+		HashMap<String, Long> idHash = new HashMap<String, Long>();
+		createClaimRoot(userA, otherUserA);
+		
+		createClaim1(userA, otherUserA);
+		createClaim2(userB, otherUserB);
+
+		
+
+	}
+	
+	public static JsonNode getAllUsers() {
+		final String uri = SERVER_ROOT_URI + "/users/all";
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.get(ClientResponse.class);
+		System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
+		String resStr = response.getEntity(String.class);
+		System.out.println(resStr);
+		return Json.toJson(resStr);		
+	}
+	
+	public static void allAgreed(String name) {
+		JsonNode requestsJson = getUserInfo(name,"requests/");
+		for (int i=0; i<requestsJson.size(); i++) {
+			int id = requestsJson.get(i).asInt();
+			updateUserConsensusStatus(id, name, NodeModel.AGREED);			
+		}
+	}
+	
+	public static JsonNode editClaimInfo(ObjectNode jobj, String author, String[] users, int id) {
+		final String uri = SERVER_ROOT_URI + "/claims/edit/"+id;
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.header("Content-type",MediaType.APPLICATION_JSON)
+				.entity(jobj.toString())
+				.post(ClientResponse.class);
+		System.out.println(String.format("POST on [%s], status code [%d]", uri, response.getStatus()));
+		String resStr = response.getEntity(String.class);
+		System.out.println(resStr);
+		return Json.toJson(resStr);		
+	}
+
+	public static JsonNode getClaimTree(int id) {
+		final String uri = SERVER_ROOT_URI + "/consensus/browse/"+id;
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.get(ClientResponse.class);
+		System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
+		String resStr = response.getEntity(String.class);
+		System.out.println(resStr);
+		return Json.parse(resStr);
+	}
+
+	public static void updateUserConsensusStatus(int id, String name, String status) {
+		final String uri = SERVER_ROOT_URI + "/claims/answer/"+id+"/"+name+"/"+status;
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.post(ClientResponse.class);
+		System.out.println(String.format("POST on [%s], status code [%d]", uri, response.getStatus()));
+		String resStr = response.getEntity(String.class);
+		System.out.println(resStr);
+	}
+	
+	public static JsonNode getUserConsensusStatus(int id, String name) {
+		final String uri = SERVER_ROOT_URI + "/claims/answer/"+id+"/"+name;
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.get(ClientResponse.class);
+		System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
+		String resStr = response.getEntity(String.class);
+		System.out.println(resStr);
+		return Json.parse(resStr);
+	}
+	
+	public static JsonNode getClaimInfo(int id) {
+		final String uri = SERVER_ROOT_URI + "/claims/browse/"+id;
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.get(ClientResponse.class);
+		System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
+		String resStr = response.getEntity(String.class);
+		System.out.println(resStr);
+		return Json.parse(resStr);
+	}
+	
+	public static void createMention(ObjectNode jobj, String author, String[] users, String type, Object id) {
+		final String uri = SERVER_ROOT_URI + "/claims/"+type+"/"+id+"/create";
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.header("Content-type",MediaType.APPLICATION_JSON)
+				.entity(jobj.toString())
+				.post(ClientResponse.class);
+		System.out.println(String.format("POST on [%s], status code [%d]", uri, response.getStatus()));
+		String resStr = response.getEntity(String.class);
+		System.out.println(resStr);
+	}
+
+	
+	
+	public static JsonNode createClaim(ObjectNode jobj, String author, String[] users) {
+		final String uri = SERVER_ROOT_URI + "/claims/create";
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.header("Content-type",MediaType.APPLICATION_JSON)
+				.entity(jobj.toString())
+				.post(ClientResponse.class);
+		System.out.println(String.format("POST on [%s], status code [%d]", uri, response.getStatus()));
+		String resStr = response.getEntity(String.class);
+		System.out.println(resStr);
+		return Json.toJson(resStr);
+	}
+
+	public static ObjectNode createToulmin(String title, String contents, String rebuttle, String qualifier, String data, String warrant, String backing) {
+		ObjectNode toulmin = Json.newObject();
+		toulmin.put(NodeModel.TITLE, title);
+		toulmin.put(NodeModel.CONTENTS, contents);
+		toulmin.put(NodeModel.REBUTTLE, rebuttle);
+		toulmin.put(NodeModel.QUALIFIER, qualifier);
+		toulmin.put(NodeModel.DATA, data);
+		toulmin.put(NodeModel.WARRANT, warrant);
+		toulmin.put(NodeModel.BACKING, backing);
+		return toulmin;
+	}
+
+	public static ObjectNode createClaimRoot(String author, String[] users) {
+		String title = "Aのパソコンを買う";
+		String contents = "";
+		String rebuttle = "";
+		String qualifier = "";
+		String data = "";
+		String warrant = "";
+		String backing = "";
+		ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
+		ObjectNode jobj = Json.newObject();
+		jobj.put(NodeModel.TOULMIN, toulmin);
+		jobj.put(NodeModel.L_AUTHOR, author);
+		ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
+		for (String u : users) usersArray.add(u);
+		jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);
+		return jobj;
+	}
+	
+	public static ObjectNode createClaim1(String author, String[] users) {
+		String title = "壊れたマシンと同じ程度のものがあればいい。";
+		String contents = "壊れたマシンと同じ程度のものがあればいいです。。";
+		String rebuttle = "仕事の内容が大幅に変わらない限りは";
+		String qualifier = "";
+		String data = "壊れてしまったパソコンは、Windows7の入ったノートブックで15インチです。";
+		String warrant = "困っていないので";
+		String backing = "";
+		ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
+		ObjectNode jobj = Json.newObject();
+		jobj.put(NodeModel.TOULMIN, toulmin);
+		jobj.put(NodeModel.L_AUTHOR, author);
+		ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
+		for (String u : users) usersArray.add(u);
+		jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);		
+		return jobj;
+	}
+
+	public static ObjectNode createClaim2(String author, String[] users) {
+		String title = "MacProの最新版を買うのはどうか";
+		String contents = "MacProの最新版を買う";
+		String rebuttle = "";
+		String qualifier = "";
+		String data = "次のプロジェクトで画面デザインの仕事が入る予定です。";
+		String warrant = "";
+		String backing = "";
+		ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
+		ObjectNode jobj = Json.newObject();
+		jobj.put(NodeModel.TOULMIN, toulmin);
+		jobj.put(NodeModel.L_AUTHOR, author);
+		ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
+		for (String u : users) usersArray.add(u);
+		jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);		
+		return jobj;
+	}
+
+	public static ObjectNode createClaim3(String author, String[] users) {
+		String title = "MacProの最新版を買います。";
+		String contents = "MacProの最新版を買います。";
+		String rebuttle = "";
+		String qualifier = "";
+		String data = "当社のグラフィックアプリケーションはMacバージョンです。";
+		String warrant = "Macでしか動かないので";
+		String backing = "";
+		ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
+		ObjectNode jobj = Json.newObject();
+		jobj.put(NodeModel.TOULMIN, toulmin);
+		jobj.put(NodeModel.L_AUTHOR, author);
+		ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
+		for (String u : users) usersArray.add(u);
+		jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);		
+		return jobj;
+	}
+	
+	public static ObjectNode createClaim4(String author, String[] users) {
+		String title = "MacProの最速マシンは高いのでやめましょう";
+		String contents = "";
+		String rebuttle = "";
+		String qualifier = "";
+		String data = "予算は250,000円までです。";
+		String warrant = "予算以内に収めなければなりません。";
+		String backing = "";
+		ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
+		ObjectNode jobj = Json.newObject();
+		jobj.put(NodeModel.TOULMIN, toulmin);
+		jobj.put(NodeModel.L_AUTHOR, author);
+		ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
+		for (String u : users) usersArray.add(u);
+		jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);		
+		return jobj;
+	}
+
+	public static ObjectNode createClaim5(String author, String[] users) {
+		String title = "MacProの最速マシンである必要はない。";
+		String contents = "";
+		String rebuttle = "";
+		String qualifier = "";
+		String data = "Macのタワー型ならグラフィックの性能は高いです。";
+		String warrant = "画面デザインなら最速でなくても良いです。。";
+		String backing = "";
+		ObjectNode toulmin = createToulmin(title, contents, rebuttle, qualifier, data, warrant, backing);
+		ObjectNode jobj = Json.newObject();
+		jobj.put(NodeModel.TOULMIN, toulmin);
+		jobj.put(NodeModel.L_AUTHOR, author);
+		ArrayNode usersArray = jobj.putArray(NodeModel.USERS);
+		for (String u : users) usersArray.add(u);
+		jobj.put(NodeModel.TYPE, NodeModel.UNANIMOUSLY);		
+		return jobj;
+	}
+	
+	
+	
+	public static JsonNode getUserInfo(String name, String preUri) {
+		final String uri = SERVER_ROOT_URI + "/users/"+preUri+name;
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.get(ClientResponse.class);
+		System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
+		String resStr = response.getEntity(String.class);
+		System.out.println(resStr);
+		return Json.parse(resStr);
+	}
+	
+	public static void createUser(String name) {
+		final String uri = SERVER_ROOT_URI + "/users/create/"+name;
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.put(ClientResponse.class);
+		System.out.println(String.format("PUT on [%s], status code [%d]", uri, response.getStatus()));
+		System.out.println(response.getEntity(String.class));
+	}
+
+	public static JsonNode getUser(String name) {
+		final String uri = SERVER_ROOT_URI + "/users/browse/"+name;
+		WebResource resource = Client.create().resource(uri);
+		ClientResponse response = resource.get(ClientResponse.class);
+		System.out.println(String.format("GET on [%s], status code [%d]", uri, response.getStatus()));
+		String resStr = response.getEntity(String.class);
+		return Json.parse(resStr);
+	}
+
+	public static void postName() {
+		final String uri = SERVER_ROOT_URI + "/hello";
+		WebResource resource = Client.create().resource(uri);
+		ObjectNode jobj = Json.newObject();
+		jobj.put("name","taro");
+//		ClientResponse response = resource.accept(MediaType.APPLICATION_JSON)
+		ClientResponse response = resource.header("Content-type",MediaType.APPLICATION_JSON)
+		.entity(jobj.toString())
+		.post(ClientResponse.class);
+		System.out.println(String.format("POST on [%s], status code [%d]", uri, response.getStatus()));
+		System.out.println(response.getEntity(String.class));
+	}
+}