annotate app/models/UserModel.java @ 18:c8ad59a52c7e

fix
author one
date Tue, 02 Oct 2012 21:50:31 +0900
parents a134edaebf6f
children 34ea98c5a18c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
1 package models;
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
2
8
7b314898fddd create action User.getUser()
one
parents: 7
diff changeset
3 import java.util.HashMap;
17
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
4 import java.util.Iterator;
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
5
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
6
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
7
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
8 import org.codehaus.jackson.JsonNode;
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
9 import org.codehaus.jackson.node.ArrayNode;
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
10 import org.codehaus.jackson.node.JsonNodeFactory;
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
11
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
12 import play.libs.Json;
8
7b314898fddd create action User.getUser()
one
parents: 7
diff changeset
13
18
one
parents: 17
diff changeset
14 import com.tinkerpop.blueprints.Direction;
one
parents: 17
diff changeset
15 import com.tinkerpop.blueprints.Edge;
7
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
16 import com.tinkerpop.blueprints.Vertex;
18
one
parents: 17
diff changeset
17 import com.tinkerpop.gremlin.java.GremlinPipeline;
7
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
18
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
19 public class UserModel extends NodeModel {
8
7b314898fddd create action User.getUser()
one
parents: 7
diff changeset
20
7
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
21
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
22 public UserModel(Vertex vertex) {
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
23 super(vertex);
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
24 }
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
25
18
one
parents: 17
diff changeset
26 private Object[] getEdgeInUser(String labels) {
one
parents: 17
diff changeset
27 GremlinPipeline<Vertex,Vertex> pipe = new GremlinPipeline<Vertex,Vertex>();
one
parents: 17
diff changeset
28 pipe.start(this.vertex).in(labels);
one
parents: 17
diff changeset
29 long length = pipe.count();
one
parents: 17
diff changeset
30 if (length == 0) return null;
one
parents: 17
diff changeset
31 Object[] requests = new Object[(int) length];
one
parents: 17
diff changeset
32 int i = 0;
one
parents: 17
diff changeset
33 for (Vertex v :pipe) {
one
parents: 17
diff changeset
34 requests[i] = v.getId();
one
parents: 17
diff changeset
35 i++;
one
parents: 17
diff changeset
36 }
one
parents: 17
diff changeset
37 return requests;
9
d050b7fb4cda create getUserRequests action
one
parents: 8
diff changeset
38 }
d050b7fb4cda create getUserRequests action
one
parents: 8
diff changeset
39
18
one
parents: 17
diff changeset
40 public Object[] getUserRequests() {
one
parents: 17
diff changeset
41 return getEdgeInUser(L_REQUEST);
one
parents: 17
diff changeset
42 }
one
parents: 17
diff changeset
43
one
parents: 17
diff changeset
44 public Object[] getUserClaims() {
one
parents: 17
diff changeset
45 return getEdgeInUser(L_CLAIMS);
10
a8ea4191fa99 modified User.java
one
parents: 9
diff changeset
46 }
17
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
47
18
one
parents: 17
diff changeset
48 public Object[] getUserConsensus() {
one
parents: 17
diff changeset
49 return null;
10
a8ea4191fa99 modified User.java
one
parents: 9
diff changeset
50 }
a8ea4191fa99 modified User.java
one
parents: 9
diff changeset
51
17
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
52 public void appendRequests(Vertex claimVertex) {
18
one
parents: 17
diff changeset
53 Object[] requestsObj = getUserRequests();
17
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
54 int length = requestsObj == null ? 0 : requestsObj.length;
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
55 Object[] newRequestsObj = new Object[length+1];
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
56 for (int i=0; i<length; i++ ) {
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
57 newRequestsObj[i] = requestsObj[i];
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
58 }
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
59 newRequestsObj[length] = claimVertex.getId();
18
one
parents: 17
diff changeset
60 // vertex.setProperty(REQUESTS, newRequestsObj);
17
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
61 }
8
7b314898fddd create action User.getUser()
one
parents: 7
diff changeset
62
7b314898fddd create action User.getUser()
one
parents: 7
diff changeset
63 /*
7
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
64 public Vertex setName(String name) {
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
65 this.vertex.setProperty(NAME, name);
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
66 return vertex;
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
67 }
8
7b314898fddd create action User.getUser()
one
parents: 7
diff changeset
68 */
7
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
69
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
70
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
71
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
72 }