package org.xdi.oxauth.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.inject.Inject;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONException;
import org.slf4j.Logger;
import org.xdi.oxauth.service.SectorIdentifierService;
/**
* @author Javier Rojas Blum
* @version January 15, 2016
*/
@WebServlet(urlPatterns = "/sectoridentifier/*")
public class SectorIdentifier extends HttpServlet {
private static final long serialVersionUID = -1222077047492070618L;
@Inject
private Logger log;
@Inject
private SectorIdentifierService sectorIdentifierService;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
final HttpServletRequest httpRequest = request;
final HttpServletResponse httpResponse = response;
httpResponse.setContentType("application/json");
PrintWriter out = httpResponse.getWriter();
try {
String urlPath = httpRequest.getPathInfo();
String inum = urlPath.substring(urlPath.lastIndexOf("/") + 1, urlPath.length());
org.xdi.oxauth.model.ldap.SectorIdentifier sectorIdentifier = sectorIdentifierService.getSectorIdentifierByInum(inum);
JSONArray jsonArray = new JSONArray();
for (String redirectUri : sectorIdentifier.getRedirectUris()) {
jsonArray.put(redirectUri);
}
out.println(jsonArray.toString(4).replace("\\/", "/"));
} catch (JSONException e) {
log.error(e.getMessage(), e);
} catch (Exception e) {
log.error(e.getMessage(), e);
} finally {
out.close();
}
}
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Sector Identifier";
}
}