Mercurial > hg > Members > nobuyasu > Consensus
changeset 39:870553e92e3e
create getUserConsensusStatus action
author | one |
---|---|
date | Thu, 04 Oct 2012 01:39:44 +0900 |
parents | a2abe67d7c7a |
children | 1d5c086e069b |
files | app/controllers/Claim.java app/models/ClaimModel.java conf/routes target/scala-2.9.1/cache/compile/compile test/RequestTest.java |
diffstat | 5 files changed, 57 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/app/controllers/Claim.java Thu Oct 04 01:05:19 2012 +0900 +++ b/app/controllers/Claim.java Thu Oct 04 01:39:44 2012 +0900 @@ -6,6 +6,7 @@ import models.ClaimModel; import models.NodeModel; import models.TPGraph; +import models.UserModel; import com.tinkerpop.blueprints.Graph; import com.tinkerpop.blueprints.Vertex; @@ -76,6 +77,21 @@ return created(); } + public static Result getUserConsensusStatus(String id, String name) { + TPGraph tpGraph = TPGraph.getInstance(); + Graph graph = tpGraph.getGraph(); + ClaimModel claim = new ClaimModel(graph.getVertex(id)); + if (claim.getVertex() == null) { + return badRequest("Claim id "+id+" does not exist"); + } + UserModel user = new UserModel(graph.getVertex(name)); + if (user.getVertex() == null) { + return badRequest("User "+name+" does not exist"); + } + ObjectNode result = claim.getUserRequestStatus(user); + return ok(result); + } + @BodyParser.Of(BodyParser.Json.class) public static Result createMention(String mentionType, String id) { @@ -116,7 +132,7 @@ Graph graph = tpGraph.getGraph(); Vertex claimV = graph.getVertex(id); if (claimV == null) { - badRequest("Claim id "+id+" is not found."); + badRequest("Claim id "+id+" is not exist."); } ClaimModel claim = new ClaimModel(claimV); ObjectNode claimInfo = claim.getSimpleClaimInfo(); @@ -130,7 +146,7 @@ Graph graph = tpGraph.getGraph(); Vertex v = graph.getVertex(id); if (v == null) { - return badRequest("Consensus id "+ id +" is not found."); + return badRequest("Consensus id "+ id +" is not exist."); } ClaimModel consensusRoot = new ClaimModel(v); ObjectNode resultEntity = consensusRoot.getClaimInfoTraverse();
--- a/app/models/ClaimModel.java Thu Oct 04 01:05:19 2012 +0900 +++ b/app/models/ClaimModel.java Thu Oct 04 01:39:44 2012 +0900 @@ -78,6 +78,22 @@ return getInfoArray(L_REQUEST); } + public ObjectNode getUserRequestStatus(UserModel user) { + GremlinPipeline<Vertex,Edge> pipeEdge = new GremlinPipeline<Vertex,Edge>(); + pipeEdge.start(vertex).outE(L_REQUEST); + ObjectNode info = Json.newObject(); + for (Edge e : pipeEdge) { + GremlinPipeline<Edge,Vertex> pipeChildVertex = new GremlinPipeline<Edge,Vertex>(); + pipeChildVertex.start(e).inV(); + Vertex childVertex = pipeChildVertex.next(); + if (childVertex.getId() == user.getId()) { + info.put(STATUS, Json.toJson(e.getProperty(STATUS))); + break; + } + } + return info; + } + public Object[] getUsersIdAndStatus() { GremlinPipeline<Vertex,Edge> pipeEdge = new GremlinPipeline<Vertex,Edge>(); pipeEdge.start(vertex).outE(L_REQUEST);
--- a/conf/routes Thu Oct 04 01:05:19 2012 +0900 +++ b/conf/routes Thu Oct 04 01:39:44 2012 +0900 @@ -9,14 +9,14 @@ GET /users/requests/:name controllers.User.getUserRequests(name: String) GET /users/consensus/:name controllers.User.getUserConsensus(name: String) GET /users/claims/:name controllers.User.getUserClaims(name: String) - GET /claims/browse/:id controllers.Claim.getClaimInfo(id: String) GET /claims/consensus/:id controllers.Claim.getClaimTree(id: String) +GET /consensus/browse/:id controllers.Claim.getClaimTree(id: String) +GET /claims/answer/:id/:name controllers.Claim.getUserConsensusStatus(id: String, name: String) POST /claims/create controllers.Claim.crateClaim() POST /claims/:mentionType/:id/create controllers.Claim.createMention(mentionType: String ,id: String) POST /claims/edit/:id controllers.Claim.editClaim(id: String) -GET /consensus/browse/:id controllers.Claim.getClaimTree(id: String) # test action
--- a/test/RequestTest.java Thu Oct 04 01:05:19 2012 +0900 +++ b/test/RequestTest.java Thu Oct 04 01:39:44 2012 +0900 @@ -39,29 +39,34 @@ createMention(user2, users3, NodeModel.L_QUESTION, claimId); createMention(user3, users3, NodeModel.L_REFUTATION, claimId); } - JsonNode user2Claim = getUserInfo(user2,"claims/"); + JsonNode user2Claim = getUserInfo(user2,"claims/"); for (int i=0; i<user2Claim.size(); i++) { - int claimId = user2Claim.get(i).asInt(); + int claimId = user2Claim.get(user2Claim.size()-1).asInt(); System.out.println("claimId = "+claimId); String[] users = {user2}; createMention(user1, users, NodeModel.L_SUGGESTION, claimId); } -/* getUserInfo(user1,"requests/"); + getUserInfo(user1,"claims/"); getUserInfo(user1,"consensus/"); + + getUserInfo(user2,"requests/"); getUserInfo(user2,"claims/"); - getUserInfo(user2,"consensus/"); + getUserInfo(user3,"claims/"); getUserInfo(user3,"consensus/"); -*/ + for (int i=0; i<user1Claim.size(); i++) { - int id = user1Claim.get(i).asInt(); + int id = user1Claim.get(i).asInt(); getClaimTree(id); + getUserConsensusStatus(id, user2); } } + + public static JsonNode editClaimInfo(String author, String[] users, int id) { ObjectNode jobj = createEditClaimParameter(author,users); final String uri = SERVER_ROOT_URI + "/claims/edit/"+id; @@ -85,6 +90,16 @@ return Json.parse(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);