annotate src/main/java/de/mpiwg/monographs/servlet/GetUser.java @ 0:fcb8807fbd84

Fist commit!
author "jurzua <jurzua@mpiwg-berlin.mpg.de>"
date Tue, 10 Mar 2015 15:15:30 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
1 package de.mpiwg.monographs.servlet;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
2
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
3 import java.io.IOException;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
4
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
5 import javax.inject.Inject;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
6 import javax.servlet.ServletException;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
7 import javax.servlet.http.HttpServletRequest;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
8 import javax.servlet.http.HttpServletResponse;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
9
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
10 import org.apache.commons.lang.StringUtils;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
11 import org.codehaus.jettison.json.JSONObject;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
12 import org.swordapp.server.AuthCredentials;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
13 import org.swordapp.server.SwordAuthException;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
14 import org.swordapp.server.SwordServerException;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
15
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
16 import edu.harvard.iq.dvn.api.datadeposit.SwordAuth;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
17 import edu.harvard.iq.dvn.core.admin.VDCUser;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
18
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
19 public class GetUser extends AbstractMonographServlet{
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
20
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
21 @Inject
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
22 private SwordAuth swordAuth;
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
23
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
24 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
25 // Set response content type
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
26 response.setContentType("application/json");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
27 JSONObject jsonResponse = new JSONObject();
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
28
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
29 String user = request.getParameter("user");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
30 String password = request.getParameter("password");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
31
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
32
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
33 if(StringUtils.isNotEmpty(user) && StringUtils.isNotEmpty(password)){
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
34 AuthCredentials authCredentials = new AuthCredentials(user, password, null);
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
35 try {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
36
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
37 VDCUser vdcUser = swordAuth.auth(authCredentials);
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
38
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
39
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
40 if(vdcUser != null){
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
41 JSONObject jsonUser = MonographUtils.jsonVDCUser(vdcUser);
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
42 jsonResponse.put("state", "ok");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
43 jsonResponse.put("user", jsonUser);
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
44
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
45 }else{
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
46 jsonResponse.put("state", "error");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
47 jsonResponse.put("error", "User " + user + " no found.");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
48 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
49
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
50
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
51 } catch (SwordAuthException e) {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
52 e.printStackTrace();
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
53 } catch (SwordServerException e) {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
54 e.printStackTrace();
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
55 } catch (Exception e){
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
56 e.printStackTrace();
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
57 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
58 }else{
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
59 try {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
60 jsonResponse.put("state", "error");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
61 jsonResponse.put("error", "Request error. Parameters 'user' and 'password' are mandatory");
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
62 } catch (Exception e) {
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
63 e.printStackTrace();
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
64 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
65 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
66
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
67 java.io.PrintWriter out = response.getWriter();
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
68 out.print(jsonResponse);
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
69 out.flush();
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
70 }
fcb8807fbd84 Fist commit!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
71 }