package org.kvj.lima1.pg.sync.rest; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.amber.oauth2.common.OAuth; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.codehaus.jettison.json.JSONObject; import org.kvj.lima1.pg.sync.data.DAO; import org.kvj.lima1.pg.sync.data.RestoreManager; public class RestoreServlet extends OAuthSecuredServlet { private static final long serialVersionUID = 1L; @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String app = req.getParameter("app"); try { @SuppressWarnings("unchecked") List<FileItem> items = new ServletFileUpload( new DiskFileItemFactory()).parseRequest(req); log.debug("Restore: " + app + " - " + items.size()); String result = RestoreManager.restoreFromFiles( DAO.getDataSource(getServletContext()), app, (String) req.getAttribute(OAuth.OAUTH_CLIENT_ID), items); if (null != result) { throw new ServletException(result); } writeJSON(new JSONObject(), resp); } catch (Exception e) { log.error("Error parsing upload request", e); throw new ServletException("Invalid request"); } } }