view DVN-web/src/main/java/de/mpiwg/monographs/servlet/GetAllUsers.java @ 4:9b408c9b05ab

Integration with LGServices.
author "jurzua <jurzua@mpiwg-berlin.mpg.de>"
date Thu, 07 May 2015 14:56:46 +0200
parents 2ae72563a29d
children
line wrap: on
line source

package de.mpiwg.monographs.servlet;

import java.io.IOException;
import java.util.List;

import javax.inject.Inject;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;

import edu.harvard.iq.dvn.api.datadeposit.SwordAuth;
import edu.harvard.iq.dvn.core.admin.VDCUser;

public class GetAllUsers  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();	
		
		List<VDCUser> userList = swordAuth.getAllUsers();
		JSONArray array = new JSONArray();
		for(VDCUser user : userList){
			JSONObject json = MonographUtils.jsonVDCUser(user);
			array.put(json);
		}
		
		try {
			jsonResponse.put("state", "ok");
			jsonResponse.put("users", array);
		} catch (JSONException e) {
			e.printStackTrace();
		}		
		
		java.io.PrintWriter out = response.getWriter();
		out.print(jsonResponse);
		out.flush();
	}

}