Mercurial > hg > AnnotationManagerN4J
annotate src/main/java/de/mpiwg/itgroup/annotations/Actor.java @ 28:f4ed2ed33e5b
Restinterface zur Anzeige von Tags hinzugefuegt-
| author | dwinter |
|---|---|
| date | Tue, 25 Sep 2012 09:32:56 +0200 |
| parents | aafa3884b2c4 |
| children | f5c0e6df7e88 |
| rev | line source |
|---|---|
| 9 | 1 /** |
| 2 * | |
| 3 */ | |
| 4 package de.mpiwg.itgroup.annotations; | |
| 5 | |
| 15 | 6 import de.mpiwg.itgroup.annotations.neo4j.AnnotationStore; |
| 10 | 7 |
| 9 | 8 /** |
| 9 * @author casties | |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
10 * |
| 9 | 11 */ |
| 10 | 12 public abstract class Actor { |
| 9 | 13 |
| 14 public String uri; | |
| 15 public String name; | |
| 10 | 16 public String id; |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
17 |
| 9 | 18 /** |
| 10 | 19 * @return if this Actor is a Group |
| 9 | 20 */ |
| 10 | 21 public abstract boolean isGroup(); |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
22 |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
23 /** |
| 15 | 24 * Returns if this Actor is equivalent to Person person. If this is |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
25 * a Group returns true when the Person is in the Group. |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
26 * |
| 15 | 27 * @param person |
| 28 * @param store AnnotationStore to check group membership | |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
29 * @return |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
30 */ |
| 15 | 31 public boolean isEquivalentWith(Person person, AnnotationStore store) { |
| 32 if (person == null) return false; | |
| 16 | 33 if (person.equals(this)) return true; |
| 34 if (person.getIdString().equals(this.getIdString())) return true; | |
| 15 | 35 if (isGroup() && store != null) { |
| 36 // check if person in group | |
| 37 return store.isPersonInGroup(person, (Group) this); | |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
38 } |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
39 return false; |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
40 } |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
41 |
| 9 | 42 /** |
| 43 * @return the uri | |
| 44 */ | |
| 45 public String getUri() { | |
| 46 return uri; | |
| 47 } | |
| 13 | 48 |
| 49 /** | |
| 50 * Returns the uri (uses id if empty). | |
| 51 * | |
| 52 * @return the uri | |
| 53 */ | |
| 54 public String getUriString() { | |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
55 if (uri == null) { |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
56 return getUriFromId(id, isGroup()); |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
57 } |
| 13 | 58 return uri; |
| 59 } | |
| 60 | |
| 9 | 61 /** |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
62 * @param uri |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
63 * the uri to set |
| 9 | 64 */ |
| 65 public void setUri(String uri) { | |
| 66 this.uri = uri; | |
| 67 } | |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
68 |
| 9 | 69 /** |
| 70 * @return the name | |
| 71 */ | |
| 72 public String getName() { | |
| 73 return name; | |
| 74 } | |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
75 |
| 9 | 76 /** |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
77 * @param name |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
78 * the name to set |
| 9 | 79 */ |
| 80 public void setName(String name) { | |
| 81 this.name = name; | |
| 82 } | |
| 10 | 83 |
| 84 /** | |
| 85 * @return the id | |
| 86 */ | |
| 87 public String getId() { | |
| 88 return id; | |
| 89 } | |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
90 |
| 10 | 91 /** |
| 92 * Returns id as a String starting with "group:" for groups. | |
| 93 * | |
| 94 * @return | |
| 95 */ | |
| 96 public abstract String getIdString(); | |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
97 |
| 10 | 98 /** |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
99 * @param id |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
100 * the id to set |
| 10 | 101 */ |
| 102 public void setId(String id) { | |
| 103 this.id = id; | |
| 104 } | |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
105 |
| 10 | 106 /** |
| 107 * Returns a short id from an uri. | |
| 108 * | |
| 109 * @param uri | |
| 110 * @return | |
| 111 */ | |
| 112 public static String getIdFromUri(String uri, boolean isGroup) { | |
| 113 String id = null; | |
| 114 String prefix = NS.MPIWG_PERSONS_URL; | |
| 115 if (isGroup) { | |
| 116 prefix = NS.MPIWG_GROUPS_URL; | |
| 117 } | |
| 118 if (uri != null && uri.startsWith(prefix)) { | |
| 119 id = uri.replace(prefix, ""); | |
| 120 } | |
| 121 return id; | |
| 122 } | |
| 123 | |
| 124 /** | |
| 125 * Returns an uri from a short id. | |
| 126 * | |
| 127 * @param id | |
| 128 * @return | |
| 129 */ | |
| 130 public static String getUriFromId(String id, boolean isGroup) { | |
| 131 String uri = null; | |
| 132 String prefix = NS.MPIWG_PERSONS_URL; | |
| 133 if (isGroup) { | |
| 134 prefix = NS.MPIWG_GROUPS_URL; | |
| 135 } | |
|
14
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
136 if (id != null && !id.startsWith("http://")) { |
|
629e15b345aa
permissions mostly work. need more server-side checking.
casties
parents:
13
diff
changeset
|
137 uri = prefix + id; |
| 10 | 138 } |
| 139 return uri; | |
| 140 } | |
| 141 | |
| 9 | 142 } |
