Mercurial > hg > LGDataverses
view 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 source
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(); } }
