Mercurial > hg > LGDataverses
annotate src/main/java/de/mpiwg/gazetteer/servlet/GetRoleAssignments.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 |
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 static edu.harvard.iq.dataverse.util.JsfHelper.JH; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5 import java.io.IOException; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6 import java.util.ArrayList; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7 import java.util.LinkedList; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8 import java.util.List; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9 import java.util.Set; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10 import java.util.logging.Level; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11 import java.util.logging.Logger; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13 import javax.ejb.EJB; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14 import javax.servlet.ServletException; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15 import javax.servlet.http.HttpServletRequest; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16 import javax.servlet.http.HttpServletResponse; |
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 import org.apache.commons.lang.StringUtils; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19 import org.primefaces.json.JSONArray; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20 import org.primefaces.json.JSONException; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21 import org.primefaces.json.JSONObject; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23 import edu.harvard.iq.dataverse.DataFile; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24 import edu.harvard.iq.dataverse.Dataverse; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25 import edu.harvard.iq.dataverse.DataverseRoleServiceBean; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26 import edu.harvard.iq.dataverse.DvObject; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
27 import edu.harvard.iq.dataverse.DvObjectServiceBean; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
28 import edu.harvard.iq.dataverse.RoleAssigneeServiceBean; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
29 import edu.harvard.iq.dataverse.RoleAssignment; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
30 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
|
31 import edu.harvard.iq.dataverse.authorization.AuthenticationRequest; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
32 import edu.harvard.iq.dataverse.authorization.CredentialsAuthenticationProvider; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
33 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
|
34 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
|
35 import edu.harvard.iq.dataverse.authorization.RoleAssigneeDisplayInfo; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
36 import edu.harvard.iq.dataverse.authorization.exceptions.AuthenticationFailedException; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
37 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
|
38 |
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 public class GetRoleAssignments extends AbstractMonographServlet{ |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
41 |
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 private static final Logger logger = Logger.getLogger(GetRoleAssignments.class.getName()); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
44 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
45 @EJB |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
46 DvObjectServiceBean dvObjectService; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
47 @EJB |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
48 DataverseRoleServiceBean roleService; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
49 @EJB |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
50 RoleAssigneeServiceBean roleAssigneeService; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
51 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
52 public List<JSONObject> getRoleAssignments (String datasetId) { |
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 List<JSONObject> raList = new ArrayList<JSONObject>(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
55 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
56 DvObject dvObject = dvObjectService.findDvObject(Long.parseLong(datasetId)); |
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 if (dvObject != null && dvObject.getId() != null) { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
59 Set<RoleAssignment> ras = roleService.rolesAssignments(dvObject); |
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 for (RoleAssignment roleAssignment : ras) { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
62 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
63 RoleAssignee roleAssignee = roleAssigneeService.getRoleAssignee(roleAssignment.getAssigneeIdentifier()); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
64 if (roleAssignee != null) { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
65 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
66 try { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
67 JSONObject aroleAssignment = new JSONObject(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
68 aroleAssignment.put("roleAssignment", roleAssignment); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
69 raList.add(aroleAssignment); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
70 |
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 } catch (JSONException e) { |
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 e.printStackTrace(); |
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 } else { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
78 logger.info("Could not find role assignee based on role assignment id " + roleAssignment.getId()); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
79 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
80 |
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 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
83 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
84 return raList; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
85 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
86 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
87 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
88 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
89 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
90 // Set response content type |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
91 response.setContentType("application/json"); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
92 JSONObject jsonResponse = new JSONObject(); |
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 String user = request.getParameter("user"); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
95 String password = request.getParameter("password"); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
96 String datasetId = request.getParameter("datasetId"); |
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 if(StringUtils.isNotEmpty(user) && StringUtils.isNotEmpty(password)){ |
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 // authenticate checking. TODO use GetUser.java or something like that to do the authenticate checking. |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
101 AuthenticationRequest authReq = new AuthenticationRequest(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
102 authReq.putCredential("Username", user); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
103 authReq.putCredential("Password", password); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
104 try { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
105 String credentialsAuthProviderId = "builtin"; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
106 this.authUser = authSvc.authenticate(credentialsAuthProviderId, authReq); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
107 System.out.println("User authenticated: " + authUser.getIdentifier()); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
108 } catch (AuthenticationFailedException ex) { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
109 ex.printStackTrace(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
110 return; |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
111 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
112 if(authUser == null){ |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
113 try { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
114 jsonResponse.put("state", "error"); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
115 jsonResponse.put("error", "User " + user + " no found."); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
116 } catch (JSONException e) { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
117 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
118 e.printStackTrace(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
119 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
120 } else { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
121 // get roleAssignments |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
122 try { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
123 jsonResponse.put("state", "ok"); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
124 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
125 List<JSONObject> raJson = getRoleAssignments(datasetId); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
126 // raJson contains all roleAssignments in the dataset |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
127 // find the roleAssignment for the user |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
128 JSONArray assignments = new JSONArray(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
129 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
130 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
131 for (int i = 0; i < raJson.size(); i++) { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
132 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
133 RoleAssignment aUser = (RoleAssignment) raJson.get(i).get("roleAssignment"); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
134 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
135 JSONObject assignment = new JSONObject(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
136 assignment.put("identifier", aUser.getAssigneeIdentifier()); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
137 assignment.put("roleName", aUser.getRole().getName()); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
138 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
139 assignments.put(assignment); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
140 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
141 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
142 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
143 jsonResponse.put("roleAssignments", assignments); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
144 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
145 } catch (JSONException e) { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
146 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
147 e.printStackTrace(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
148 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
149 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
150 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
151 } else { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
152 try { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
153 jsonResponse.put("state", "error"); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
154 jsonResponse.put("error", "Request error. Parameters 'user' and 'password' are mandatory"); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
155 } catch (Exception e) { |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
156 e.printStackTrace(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
157 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
158 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
159 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
160 // ====================== |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
161 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
162 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
163 java.io.PrintWriter out = response.getWriter(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
164 out.print(jsonResponse); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
165 out.flush(); |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
166 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
167 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
168 |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
169 } |
c2e2d794847f
new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
170 } |