annotate src/main/java/de/mpiwg/itgroup/annotations/Person.java @ 102:9140017e8962

fix bug with empty username. add logging for JSON exceptions.
author casties
date Thu, 09 Feb 2017 20:46:15 +0100
parents b406507a953d
children f83eb8b335b1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
90911b2da322 more work on permissions...
casties
parents:
diff changeset
1 package de.mpiwg.itgroup.annotations;
90911b2da322 more work on permissions...
casties
parents:
diff changeset
2
70
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
3 /*
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
4 * #%L
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
5 * AnnotationManager
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
6 * %%
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
7 * Copyright (C) 2012 - 2014 MPIWG Berlin
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
8 * %%
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
9 * This program is free software: you can redistribute it and/or modify
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
10 * it under the terms of the GNU Lesser General Public License as
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
11 * published by the Free Software Foundation, either version 3 of the
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
12 * License, or (at your option) any later version.
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
13 *
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
14 * This program is distributed in the hope that it will be useful,
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
17 * GNU General Lesser Public License for more details.
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
18 *
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
19 * You should have received a copy of the GNU General Lesser Public
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
20 * License along with this program. If not, see
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
21 * <http://www.gnu.org/licenses/lgpl-3.0.html>.
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
22 * #L%
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
23 */
2b1e6df5e21a added lgpl_v3 license information.
casties
parents: 69
diff changeset
24
88
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
25 import java.util.Set;
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
26
32
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
27 import de.mpiwg.itgroup.annotations.restlet.BaseRestlet;
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
28
10
90911b2da322 more work on permissions...
casties
parents:
diff changeset
29 /**
90911b2da322 more work on permissions...
casties
parents:
diff changeset
30 * @author casties
90911b2da322 more work on permissions...
casties
parents:
diff changeset
31 *
90911b2da322 more work on permissions...
casties
parents:
diff changeset
32 */
90911b2da322 more work on permissions...
casties
parents:
diff changeset
33 public class Person extends Actor {
90911b2da322 more work on permissions...
casties
parents:
diff changeset
34
88
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
35 public Set<String> groups;
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
36
12
5928c5d9aae8 more work on permissions...
casties
parents: 10
diff changeset
37 public Person() {
5928c5d9aae8 more work on permissions...
casties
parents: 10
diff changeset
38 }
5928c5d9aae8 more work on permissions...
casties
parents: 10
diff changeset
39
5928c5d9aae8 more work on permissions...
casties
parents: 10
diff changeset
40 public Person(String id) {
5928c5d9aae8 more work on permissions...
casties
parents: 10
diff changeset
41 super();
5928c5d9aae8 more work on permissions...
casties
parents: 10
diff changeset
42 this.id = id;
5928c5d9aae8 more work on permissions...
casties
parents: 10
diff changeset
43 }
5928c5d9aae8 more work on permissions...
casties
parents: 10
diff changeset
44
10
90911b2da322 more work on permissions...
casties
parents:
diff changeset
45 public Person(String uri, String name) {
90911b2da322 more work on permissions...
casties
parents:
diff changeset
46 super();
90911b2da322 more work on permissions...
casties
parents:
diff changeset
47 this.uri = uri;
90911b2da322 more work on permissions...
casties
parents:
diff changeset
48 this.name = name;
90911b2da322 more work on permissions...
casties
parents:
diff changeset
49 }
90911b2da322 more work on permissions...
casties
parents:
diff changeset
50
15
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
51 public Person(String id, String uri, String name) {
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
52 super();
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
53 this.id = id;
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
54 this.uri = uri;
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
55 this.name = name;
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
56 }
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
57
10
90911b2da322 more work on permissions...
casties
parents:
diff changeset
58 @Override
90911b2da322 more work on permissions...
casties
parents:
diff changeset
59 public boolean isGroup() {
90911b2da322 more work on permissions...
casties
parents:
diff changeset
60 return false;
90911b2da322 more work on permissions...
casties
parents:
diff changeset
61 }
90911b2da322 more work on permissions...
casties
parents:
diff changeset
62
90911b2da322 more work on permissions...
casties
parents:
diff changeset
63 public String getIdString() {
90911b2da322 more work on permissions...
casties
parents:
diff changeset
64 if (id == null) {
90911b2da322 more work on permissions...
casties
parents:
diff changeset
65 id = getIdFromUri(uri, false);
90911b2da322 more work on permissions...
casties
parents:
diff changeset
66 }
90911b2da322 more work on permissions...
casties
parents:
diff changeset
67 return id;
90911b2da322 more work on permissions...
casties
parents:
diff changeset
68 }
90911b2da322 more work on permissions...
casties
parents:
diff changeset
69
15
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
70 /**
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
71 * Returns a Person with this id or null.
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
72 *
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
73 * @param id
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
74 * @return
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
75 */
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
76 public static Person createPersonWithId(String id) {
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
77 if (id != null) {
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
78 return new Person(id);
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
79 }
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
80 return null;
58357a4b86de ASSIGNED - # 249: Annotations shared in groups
casties
parents: 12
diff changeset
81 }
32
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
82
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
83 /**
87
2beafb8e19e4 tiny doc improvement.
casties
parents: 86
diff changeset
84 * Sets the name from the id using getFullNameForId of the Application.
32
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
85 *
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
86 * @param application
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
87 * @return
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
88 */
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
89 public String updateName(BaseRestlet application) {
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
90 if (id != null) {
86
e3f0613b2f2d renamed getFullname to make it configurable.
casties
parents: 70
diff changeset
91 name = application.getFullNameForId(id);
32
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
92 }
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
93 return name;
0731c4549065 UI for editing groups and persons works now. (still no authorisation!)
casties
parents: 15
diff changeset
94 }
88
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
95
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
96 /**
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
97 * Returns the anonymous Person.
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
98 *
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
99 * @return
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
100 */
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
101 public static Person getAnonymous() {
102
9140017e8962 fix bug with empty username. add logging for JSON exceptions.
casties
parents: 88
diff changeset
102 return new Person("anonymous", "Anonymous");
88
b406507a953d upped version to 0.5.
casties
parents: 87
diff changeset
103 }
69
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
104
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
105 /* (non-Javadoc)
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
106 * @see java.lang.Object#toString()
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
107 */
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
108 @Override
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
109 public String toString() {
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
110 String s = "PERSON["+id+"]";
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
111 if (name != null) {
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
112 s += ": "+name;
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
113 }
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
114 return s;
9d3885d1681e for nicer log messages.
casties
parents: 32
diff changeset
115 }
10
90911b2da322 more work on permissions...
casties
parents:
diff changeset
116 }