annotate src/main/java/de/mpiwg/gazetteer/servlet/MonographUtils.java @ 12:c2e2d794847f

new: add config.properties file for gazetteer
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Wed, 30 Sep 2015 13:43:54 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1 package de.mpiwg.gazetteer.servlet;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
2
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 import java.util.ArrayList;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
4 import java.util.List;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
5 import java.util.Set;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
6
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
7 import org.primefaces.json.JSONObject;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
8
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
9 import edu.harvard.iq.dataverse.DataFile;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
10 import edu.harvard.iq.dataverse.RoleAssignment;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 import edu.harvard.iq.dataverse.ManagePermissionsPage.RoleAssignmentRow;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
12 import edu.harvard.iq.dataverse.authorization.Permission;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
13 import edu.harvard.iq.dataverse.authorization.RoleAssignee;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
14 import edu.harvard.iq.dataverse.authorization.groups.impl.explicit.ExplicitGroup;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
15 import edu.harvard.iq.dataverse.authorization.providers.builtin.BuiltinUser;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
16 import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
17
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
18
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
19 public class MonographUtils {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
20
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
21
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
22 public static JSONObject jsonAuthenticatedUser(AuthenticatedUser user){
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
23 JSONObject json = new JSONObject();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
24
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
26
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 json.put("email", user.getEmail());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
28 json.put("firstName", user.getFirstName());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
29 json.put("id", user.getId());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
30 //json.put("version", user.getVersion());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 json.put("userName", user.getUserIdentifier()); // getUserName->getUserIdentifier
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
32 json.put("position", user.getPosition());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
33 json.put("lastName", user.getLastName());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 json.put("affiliation", user.getAffiliation());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
35
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
36 // structure in dv4 does not support this
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 /*
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
38 JSONArray array0 = new JSONArray();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
39
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
40 // zoe added
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
41 Collection<ExplicitGroup> groups = findGroupsOfUser(user.getId());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
42
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
43 if( groups != null) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
44 for(ExplicitGroup group : groups){
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
45 array0.put(jsonGroup(group));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
46 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
47 json.put("userGroups", array0);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
48 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
49 */
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
50 } catch (Exception e) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
51 e.printStackTrace();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
52 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
53
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
54
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
55 return json;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
56 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
57
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
58
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
59
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
60
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
61 public static JSONObject jsonGroup(ExplicitGroup group){
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
62 JSONObject json = new JSONObject();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
63
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
64 if(group != null){
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
65 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
66 json.put("friendlyName", group.getDisplayName());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
67 json.put("id", group.getId());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
68
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
69 } catch (Exception e) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
70 e.printStackTrace();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
71 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
72 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
73
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
74 return json;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
75 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
76
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
77
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
78
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
79 public static JSONObject jsonBuiltinUser(BuiltinUser user) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
80 JSONObject json = new JSONObject();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
81
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
82 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
83 json.put("email", user.getEmail());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
84 json.put("firstName", user.getFirstName());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
85 json.put("id", user.getId());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
86 json.put("userName", user.getUserName());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
87 json.put("position", user.getPosition());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
88 json.put("lastName", user.getLastName());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
89 json.put("affiliation", user.getAffiliation());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
90
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
91 } catch (Exception e) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
92 e.printStackTrace();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
93 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
94
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
95
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
96 return json;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
97 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
98
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
99
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
100
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
101 }