7
|
1 package models;
|
|
2
|
20
|
3 import java.util.ArrayList;
|
22
|
4 import java.util.HashMap;
|
23
|
5 import java.util.HashSet;
|
|
6 import java.util.Iterator;
|
17
|
7
|
7
|
8 import com.tinkerpop.blueprints.Vertex;
|
18
|
9 import com.tinkerpop.gremlin.java.GremlinPipeline;
|
7
|
10
|
|
11 public class UserModel extends NodeModel {
|
8
|
12
|
7
|
13
|
|
14 public UserModel(Vertex vertex) {
|
|
15 super(vertex);
|
|
16 }
|
|
17
|
18
|
18 private Object[] getEdgeInUser(String labels) {
|
|
19 GremlinPipeline<Vertex,Vertex> pipe = new GremlinPipeline<Vertex,Vertex>();
|
|
20 pipe.start(this.vertex).in(labels);
|
20
|
21 ArrayList<Object> array = new ArrayList<Object>();
|
|
22 for (Vertex v : pipe) {
|
|
23 array.add(v.getId());
|
18
|
24 }
|
20
|
25 if (array.size() == 0) return null;
|
|
26 return array.toArray();
|
9
|
27 }
|
|
28
|
18
|
29 public Object[] getUserRequests() {
|
|
30 return getEdgeInUser(L_REQUEST);
|
|
31 }
|
|
32
|
|
33 public Object[] getUserClaims() {
|
21
|
34 return getEdgeInUser(L_AUTHOR);
|
10
|
35 }
|
17
|
36
|
23
|
37 public HashSet<Object> getClaimsAndRequests() {
|
|
38 Object[] claims = getUserClaims();
|
|
39 Object[] requests = getUserRequests();
|
|
40 HashSet<Object> set = new HashSet<Object>();
|
|
41 if (claims != null)
|
|
42 for (Object id : claims) set.add(id);
|
|
43 if (requests != null)
|
|
44 for (Object id : requests) set.add(id);
|
|
45 if (set.size() == 0) return null;
|
|
46 return set;
|
|
47
|
|
48
|
10
|
49 }
|
22
|
50
|
|
51 public HashMap<Object,Object[]> getUserInfo() {
|
|
52 HashMap<Object,Object[]> hash = new HashMap<Object, Object[]>();
|
|
53 hash.put(NodeModel.REQUESTS, getUserRequests());
|
|
54 hash.put(NodeModel.CLAIMS, getUserClaims());
|
|
55 hash.put(NodeModel.CONSENSUS, getUserConsensus());
|
|
56 return hash;
|
|
57 }
|
10
|
58
|
20
|
59
|
7
|
60
|
|
61 }
|