annotate app/models/UserModel.java @ 23:cad8e054fe4b

modifying getConsensus action
author one
date Tue, 02 Oct 2012 23:46:55 +0900
parents 6506b8742343
children 81d1d7c7bcde
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
20
34ea98c5a18c modified UserModel/getEdgeInUser
one
parents: 18
diff changeset
3 import java.util.ArrayList;
22
6506b8742343 modified getUser
one
parents: 21
diff changeset
4 import java.util.HashMap;
23
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
5 import java.util.HashSet;
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
6 import java.util.Iterator;
17
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
7
7
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
8 import com.tinkerpop.blueprints.Vertex;
18
one
parents: 17
diff changeset
9 import com.tinkerpop.gremlin.java.GremlinPipeline;
7
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
10
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
11 public class UserModel extends NodeModel {
8
7b314898fddd create action User.getUser()
one
parents: 7
diff changeset
12
7
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
13
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
14 public UserModel(Vertex vertex) {
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
15 super(vertex);
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
16 }
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
17
18
one
parents: 17
diff changeset
18 private Object[] getEdgeInUser(String labels) {
one
parents: 17
diff changeset
19 GremlinPipeline<Vertex,Vertex> pipe = new GremlinPipeline<Vertex,Vertex>();
one
parents: 17
diff changeset
20 pipe.start(this.vertex).in(labels);
20
34ea98c5a18c modified UserModel/getEdgeInUser
one
parents: 18
diff changeset
21 ArrayList<Object> array = new ArrayList<Object>();
34ea98c5a18c modified UserModel/getEdgeInUser
one
parents: 18
diff changeset
22 for (Vertex v : pipe) {
34ea98c5a18c modified UserModel/getEdgeInUser
one
parents: 18
diff changeset
23 array.add(v.getId());
18
one
parents: 17
diff changeset
24 }
20
34ea98c5a18c modified UserModel/getEdgeInUser
one
parents: 18
diff changeset
25 if (array.size() == 0) return null;
34ea98c5a18c modified UserModel/getEdgeInUser
one
parents: 18
diff changeset
26 return array.toArray();
9
d050b7fb4cda create getUserRequests action
one
parents: 8
diff changeset
27 }
d050b7fb4cda create getUserRequests action
one
parents: 8
diff changeset
28
18
one
parents: 17
diff changeset
29 public Object[] getUserRequests() {
one
parents: 17
diff changeset
30 return getEdgeInUser(L_REQUEST);
one
parents: 17
diff changeset
31 }
one
parents: 17
diff changeset
32
one
parents: 17
diff changeset
33 public Object[] getUserClaims() {
21
e113f946c9c1 modified getUserClaims
one
parents: 20
diff changeset
34 return getEdgeInUser(L_AUTHOR);
10
a8ea4191fa99 modified User.java
one
parents: 9
diff changeset
35 }
17
a134edaebf6f modified UserModel/appendRequests
one
parents: 13
diff changeset
36
23
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
37 public HashSet<Object> getClaimsAndRequests() {
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
38 Object[] claims = getUserClaims();
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
39 Object[] requests = getUserRequests();
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
40 HashSet<Object> set = new HashSet<Object>();
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
41 if (claims != null)
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
42 for (Object id : claims) set.add(id);
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
43 if (requests != null)
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
44 for (Object id : requests) set.add(id);
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
45 if (set.size() == 0) return null;
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
46 return set;
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
47
cad8e054fe4b modifying getConsensus action
one
parents: 22
diff changeset
48
10
a8ea4191fa99 modified User.java
one
parents: 9
diff changeset
49 }
22
6506b8742343 modified getUser
one
parents: 21
diff changeset
50
6506b8742343 modified getUser
one
parents: 21
diff changeset
51 public HashMap<Object,Object[]> getUserInfo() {
6506b8742343 modified getUser
one
parents: 21
diff changeset
52 HashMap<Object,Object[]> hash = new HashMap<Object, Object[]>();
6506b8742343 modified getUser
one
parents: 21
diff changeset
53 hash.put(NodeModel.REQUESTS, getUserRequests());
6506b8742343 modified getUser
one
parents: 21
diff changeset
54 hash.put(NodeModel.CLAIMS, getUserClaims());
6506b8742343 modified getUser
one
parents: 21
diff changeset
55 hash.put(NodeModel.CONSENSUS, getUserConsensus());
6506b8742343 modified getUser
one
parents: 21
diff changeset
56 return hash;
6506b8742343 modified getUser
one
parents: 21
diff changeset
57 }
10
a8ea4191fa99 modified User.java
one
parents: 9
diff changeset
58
20
34ea98c5a18c modified UserModel/getEdgeInUser
one
parents: 18
diff changeset
59
7
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
60
2122c50278bd add Global.java, ande models/*
one
parents:
diff changeset
61 }