Mercurial > hg > LGDataverses
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/de/mpiwg/monographs/servlet/GetUser.java Tue Mar 10 15:15:30 2015 +0100 @@ -0,0 +1,71 @@ +package de.mpiwg.monographs.servlet; + +import java.io.IOException; + +import javax.inject.Inject; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang.StringUtils; +import org.codehaus.jettison.json.JSONObject; +import org.swordapp.server.AuthCredentials; +import org.swordapp.server.SwordAuthException; +import org.swordapp.server.SwordServerException; + +import edu.harvard.iq.dvn.api.datadeposit.SwordAuth; +import edu.harvard.iq.dvn.core.admin.VDCUser; + +public class GetUser extends AbstractMonographServlet{ + + @Inject + private SwordAuth swordAuth; + + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // Set response content type + response.setContentType("application/json"); + JSONObject jsonResponse = new JSONObject(); + + String user = request.getParameter("user"); + String password = request.getParameter("password"); + + + if(StringUtils.isNotEmpty(user) && StringUtils.isNotEmpty(password)){ + AuthCredentials authCredentials = new AuthCredentials(user, password, null); + try { + + VDCUser vdcUser = swordAuth.auth(authCredentials); + + + if(vdcUser != null){ + JSONObject jsonUser = MonographUtils.jsonVDCUser(vdcUser); + jsonResponse.put("state", "ok"); + jsonResponse.put("user", jsonUser); + + }else{ + jsonResponse.put("state", "error"); + jsonResponse.put("error", "User " + user + " no found."); + } + + + } catch (SwordAuthException e) { + e.printStackTrace(); + } catch (SwordServerException e) { + e.printStackTrace(); + } catch (Exception e){ + e.printStackTrace(); + } + }else{ + try { + jsonResponse.put("state", "error"); + jsonResponse.put("error", "Request error. Parameters 'user' and 'password' are mandatory"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + java.io.PrintWriter out = response.getWriter(); + out.print(jsonResponse); + out.flush(); + } +}
