package com.ciandt.techgallery.servlets;
import static com.ciandt.techgallery.utils.ExportUtils.createCsvUsersProfile;
import static com.ciandt.techgallery.utils.ExportUtils.createXlsUsersProfile;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ciandt.techgallery.persistence.model.profile.UserProfile;
import com.ciandt.techgallery.service.impl.profile.UserProfileServiceImpl;
import com.ciandt.techgallery.service.profile.UserProfileService;
@SuppressWarnings("serial")
public class UserServlet extends HttpServlet {
private static final Logger _LOG = Logger.getLogger(UserServlet.class.getName());
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) {
String exportType = request.getParameter("type");
response.setCharacterEncoding("UTF-8");
if (exportType != null && exportType.equals("xls")) {
exportXls(response);
} else {
exportCsv(response);
}
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) {
doGet(request, response);
}
private void exportCsv(HttpServletResponse response) {
UserProfileService service = UserProfileServiceImpl.getInstance();
response.setContentType("text/csv");
response.setHeader("Content-Disposition", "attachment; filename=\"Colaboradores.csv\"");
try {
List<UserProfile> allUsersProfile = service.findAllUsersProfile();
if (allUsersProfile != null) {
response.getOutputStream().write(createCsvUsersProfile(allUsersProfile));
}
} catch (Exception e) {
_LOG.log(Level.SEVERE, "Export exception: ", e);
}
}
private void exportXls(HttpServletResponse response) {
UserProfileService service = UserProfileServiceImpl.getInstance();
response.setContentType("application/ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=\"Colaboradores.xls\"");
try {
List<UserProfile> allUsersProfile = service.findAllUsersProfile();
if (allUsersProfile != null) {
response.getOutputStream().write(createXlsUsersProfile(allUsersProfile));
}
} catch (Exception e) {
_LOG.log(Level.SEVERE, "Export exception: ", e);
}
}
}