List of usage examples for org.apache.commons.fileupload FileUploadException getMessage
public String getMessage()
From source file:at.gv.egovernment.moa.id.auth.servlet.GetForeignIDServlet.java
/** * Verifies the identity link and responds with a new * <code>CreateXMLSignatureRequest</code>. * <br>/*from ww w . j av a2 s. co m*/ * Request parameters: * <ul> * <li>MOASessionID: ID of associated authentication session</li> * <li>XMLResponse: <code><InfoboxReadResponse></code></li> * </ul> * Response: * <ul> * <li>Content type: <code>"text/xml"</code></li> * <li>Content: see return value of {@link AuthenticationServer#verifyIdentityLink}</li> * <li>Error status: <code>500</code> * </ul> * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest, HttpServletResponse) */ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Logger.debug("POST GetForeignIDServlet"); Logger.warn(getClass().getName() + " is deprecated and should not be used any more."); resp.setHeader(MOAIDAuthConstants.HEADER_EXPIRES, MOAIDAuthConstants.HEADER_VALUE_EXPIRES); resp.setHeader(MOAIDAuthConstants.HEADER_PRAGMA, MOAIDAuthConstants.HEADER_VALUE_PRAGMA); resp.setHeader(MOAIDAuthConstants.HEADER_CACHE_CONTROL, MOAIDAuthConstants.HEADER_VALUE_CACHE_CONTROL); resp.addHeader(MOAIDAuthConstants.HEADER_CACHE_CONTROL, MOAIDAuthConstants.HEADER_VALUE_CACHE_CONTROL_IE); Map<String, String> parameters; String pendingRequestID = null; try { parameters = getParameters(req); } catch (FileUploadException e) { Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage()); throw new IOException(e.getMessage()); } String sessionID = req.getParameter(PARAM_SESSIONID); pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID); // escape parameter strings sessionID = StringEscapeUtils.escapeHtml(sessionID); String redirectURL = null; AuthenticationSession session = null; try { String xmlCreateXMLSignatureResponse = (String) parameters.get(PARAM_XMLRESPONSE); // check parameter if (!ParamValidatorUtils.isValidSessionID(sessionID)) throw new WrongParametersException("GetForeignID", PARAM_SESSIONID, "auth.12"); if (!ParamValidatorUtils.isValidXMLDocument(xmlCreateXMLSignatureResponse)) throw new WrongParametersException("GetForeignID", PARAM_XMLRESPONSE, "auth.12"); session = AuthenticationServer.getSession(sessionID); //change MOASessionID sessionID = AuthenticationSessionStoreage.changeSessionID(session); Logger.debug(xmlCreateXMLSignatureResponse); CreateXMLSignatureResponse csresp = new CreateXMLSignatureResponseParser(xmlCreateXMLSignatureResponse) .parseResponseDsig(); try { String serializedAssertion = DOMUtils.serializeNode(csresp.getDsigSignature()); session.setAuthBlock(serializedAssertion); } catch (TransformerException e) { throw new ParseException("parser.04", new Object[] { REQ_VERIFY_AUTH_BLOCK, PARAM_XMLRESPONSE }); } catch (IOException e) { throw new ParseException("parser.04", new Object[] { REQ_VERIFY_AUTH_BLOCK, PARAM_XMLRESPONSE }); } Element signature = csresp.getDsigSignature(); try { session.setSignerCertificate(AuthenticationServer.getCertificateFromXML(signature)); } catch (CertificateException e) { Logger.error("Could not extract certificate from CreateXMLSignatureResponse"); throw new MOAIDException("auth.14", null); } // make SZR request to the identity link CreateIdentityLinkResponse response = AuthenticationServer.getInstance().getIdentityLink(signature); if (null != response.getErrorResponse()) { // TODO fix exception parameter throw new SZRGWClientException("service.08", (String) response.getErrorResponse().getErrorCode(), (String) response.getErrorResponse().getInfo()); } else { IdentityLinkAssertionParser ilParser = new IdentityLinkAssertionParser( new ByteArrayInputStream(response.getIdentityLink())); IdentityLink identitylink = ilParser.parseIdentityLink(); session.setIdentityLink(identitylink); //set QAA Level four in case of card authentifcation session.setQAALevel(PVPConstants.STORK_QAA_1_4); String samlArtifactBase64 = AuthenticationServer.getInstance() .getForeignAuthenticationData(session); //session is implicit stored in changeSessionID!!!! String newMOASessionID = AuthenticationSessionStoreage.changeSessionID(session); Logger.info("Changed MOASession " + sessionID + " to Session " + newMOASessionID); Logger.info("Daten angelegt zu MOASession " + newMOASessionID); if (!samlArtifactBase64.equals("Redirect to Input Processor")) { /*redirectURL = session.getOAURLRequested(); if (!session.getBusinessService()) { redirectURL = addURLParameter(redirectURL, PARAM_TARGET, URLEncoder.encode(session.getTarget(), "UTF-8")); } redirectURL = addURLParameter(redirectURL, PARAM_SAMLARTIFACT, URLEncoder.encode(samlArtifactBase64, "UTF-8")); redirectURL = resp.encodeRedirectURL(redirectURL);*/ redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(), ModulUtils.buildAuthURL(session.getModul(), session.getAction(), pendingRequestID), newMOASessionID); redirectURL = resp.encodeRedirectURL(redirectURL); } else { redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(), AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, newMOASessionID); } try { AuthenticationSessionStoreage.storeSession(session); } catch (MOADatabaseException e) { throw new MOAIDException("Session store error", null); } resp.setContentType("text/html"); resp.setStatus(302); resp.addHeader("Location", redirectURL); Logger.debug("REDIRECT TO: " + redirectURL); } } catch (MOAIDException ex) { handleError(null, ex, req, resp, pendingRequestID); } catch (Exception e) { Logger.error("GetForeignIDServlet has an interal Error.", e); } }
From source file:controller.uploadProductController.java
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request//from w w w. j a va 2 s.c o m * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(true); String userPath = request.getServletPath(); if (userPath.equals("/uploadProduct")) { boolean success = true; // configures upload settings DiskFileItemFactory factory = new DiskFileItemFactory(); // sets memory threshold - beyond which files are stored in disk factory.setSizeThreshold(MEMORY_THRESHOLD); // sets temporary location to store files factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); // sets maximum size of upload file upload.setFileSizeMax(MAX_FILE_SIZE); // sets maximum size of request (include file + form data) upload.setSizeMax(MAX_REQUEST_SIZE); // constructs the directory path to store upload file // this path is relative to application's directory String uploadPath = getServletContext().getInitParameter("upload.location"); //creates a HashMap of all inputs HashMap hashMap = new HashMap(); String productId = UUID.randomUUID().toString(); try { @SuppressWarnings("unchecked") List<FileItem> formItems = upload.parseRequest(request); for (FileItem item : formItems) { // processes only fields that are not form fields if (!item.isFormField()) { File file = new File(item.getName()); File file2 = new File(productId + ".jpg"); String filePath = uploadPath + File.separator + file.getName(); // saves the file on disk File storeFile = new File(filePath); item.write(storeFile); File rename = new File(filePath); boolean flag = rename.renameTo(file2); } else { hashMap.put(item.getFieldName(), item.getString()); } } } catch (FileUploadException ex) { Logger.getLogger(uploadProductController.class.getName()).log(Level.SEVERE, null, ex); request.setAttribute("error", true); request.setAttribute("errorMessage", ex.getMessage()); success = false; } catch (Exception ex) { Logger.getLogger(uploadProductController.class.getName()).log(Level.SEVERE, null, ex); request.setAttribute("error", true); request.setAttribute("errorMessage", ex.getMessage()); success = false; } String owner = (String) session.getAttribute("customerEmail"); if (owner == null) { owner = "shop"; } String pName = hashMap.get("pName").toString(); String mNo = hashMap.get("mNo").toString(); String brand = hashMap.get("brand").toString(); String description = hashMap.get("description").toString(); String quantity = hashMap.get("quantity").toString(); String price = hashMap.get("price").toString(); String addInfo = hashMap.get("addInfo").toString(); int categoryId = Integer.parseInt(hashMap.get("category").toString()); ProductDAO productDAO = new ProductDAOImpl(); Product product; try { double priceDouble = Double.parseDouble(price); int quantityInt = Integer.parseInt(quantity); Category category = (new CategoryDAOImpl()).getCategoryFromID(categoryId); if (owner.equals("shop")) { product = new Product(productId, pName, mNo, category, quantityInt, priceDouble, brand, description, addInfo, true, true, owner); } else { product = new Product(productId, pName, mNo, category, quantityInt, priceDouble, brand, description, addInfo, false, false, owner); } if (!(productDAO.addProduct(product, category.getName()))) { throw new Exception("update unsuccessful"); } } catch (Exception e) { request.setAttribute("error", true); request.setAttribute("errorMessage", e.getMessage()); success = false; } request.setAttribute("pName", pName); request.setAttribute("mNo", mNo); request.setAttribute("brand", brand); request.setAttribute("description", description); request.setAttribute("quantity", quantity); request.setAttribute("price", price); request.setAttribute("addInfo", addInfo); request.setAttribute("categoryId", categoryId); request.setAttribute("success", success); if (success == true) { request.setAttribute("error", false); request.setAttribute("errorMessage", null); } String url; if (owner.equals("shop")) { url = "/WEB-INF/view/adminAddProducts.jsp"; } else { url = "/WEB-INF/view/clientSideView/addRecycleProduct.jsp"; } try { request.getRequestDispatcher(url).forward(request, response); } catch (ServletException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } } }
From source file:io.milton.servlet.ServletRequest.java
@Override public void parseRequestParameters(Map<String, String> params, Map<String, io.milton.http.FileItem> files) throws RequestParseException { try {// w w w.j a v a2 s . co m if (isMultiPart()) { log.trace("parseRequestParameters: isMultiPart"); UploadListener listener = new UploadListener(); MonitoredDiskFileItemFactory factory = new MonitoredDiskFileItemFactory(listener); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(request); parseQueryString(params); for (Object o : items) { FileItem item = (FileItem) o; if (item.isFormField()) { params.put(item.getFieldName(), item.getString()); } else { // See http://jira.ettrema.com:8080/browse/MIL-118 - ServletRequest#parseRequestParameters overwrites multiple file uploads when using input type="file" multiple="multiple" String itemKey = item.getFieldName(); if (files.containsKey(itemKey)) { int count = 1; while (files.containsKey(itemKey + count)) { count++; } itemKey = itemKey + count; } files.put(itemKey, new FileItemWrapper(item)); } } } else { for (Enumeration en = request.getParameterNames(); en.hasMoreElements();) { String nm = (String) en.nextElement(); String[] vals = request.getParameterValues(nm); if (vals.length == 1) { params.put(nm, vals[0]); } else { StringBuilder sb = new StringBuilder(); for (String s : vals) { sb.append(s).append(","); } if (sb.length() > 0) { sb.deleteCharAt(sb.length() - 1); // remove last comma } params.put(nm, sb.toString()); } } } } catch (FileUploadException ex) { throw new RequestParseException("FileUploadException", ex); } catch (Throwable ex) { throw new RequestParseException(ex.getMessage(), ex); } }
From source file:Controlador.Contr_Seleccion.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from ww w . j a v a 2 s .com*/ * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /*Se detalla el contenido que tendra el servlet*/ response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); /*Se crea una variable para la sesion*/ HttpSession session = request.getSession(true); boolean b; try { /*Se declaran las variables necesarias*/ Cls_Seleccion sel = new Cls_Seleccion(); String Codigo = "", Mensaje = "", Nombre = "", Tipo = "", Imagen = "", url, Peti; String urlsalidaimg; urlsalidaimg = "/media/santiago/Santiago/IMGTE/"; //urlsalidaimg = "D:\\IMGTE\\"; String urlimgservidor = this.getServletContext().getRealPath("/Libs/Customs/images/Seleccion"); /*FileItemFactory es una interfaz para crear FileItem*/ FileItemFactory file_factory = new DiskFileItemFactory(); /*ServletFileUpload esta clase convierte los input file a FileItem*/ ServletFileUpload servlet_up = new ServletFileUpload(file_factory); /*sacando los FileItem del ServletFileUpload en una lista */ servlet_up.setHeaderEncoding("UTF-8"); List items = servlet_up.parseRequest(request); Iterator it = items.iterator(); /*Se evalua cada una de las posibles peticiones y los posibles campos que envien*/ while (it.hasNext()) { FileItem item = (FileItem) it.next(); if (item.isFormField()) { //Plain request parameters will come here. String name = item.getFieldName(); if (name.equals("Codigo")) { /*Se guarda el campo en la clase*/ sel.setCodigo(item.getString()); } else if (name.equals("Nombre")) { /** * Se guarda el campo en la clase */ sel.setNombre(item.getString()); } else if (name.equals("Tipo")) { /** * Se guarda el campo en la clase */ sel.setTipo(item.getString()); } else if (name.equals("Estado")) { /** * Se guarda el campo en la clase */ sel.setEstado(item.getString()); } else if (name.equals("RegistrarSeleccion")) { /*Se evalua si se mando una iamgen, cuando se va a registrar un evento*/ if (!sel.getImagen().equals("")) { /*Si se envia una imagen obtiene la imagen para guardarla en el server luego*/ File img = new File(sel.getImagen()); /*Se ejecuta el metodo de registrar usuario que se encuentra, en la clase modelo con los datos que se encuentran en la clase*/ b = sel.setRegistrarSeleccion(sel.getNombre(), sel.getTipo(), sel.getTypeImg()); if (b) { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ File imagedb = new File(urlimgservidor + "/" + sel.getCodigo() + sel.getTypeImg()); img.renameTo(imagedb); session.setAttribute("Mensaje", "El gusto o ambiente ha sido registrado correctamente."); session.setAttribute("TipoMensaje", "Dio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } else { img.delete(); /*Se guarda un mensaje de error mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", sel.getMensaje()); session.setAttribute("TipoMensaje", "NODio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } } else { /*Se guarda un mensaje de error mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Seleccione una imagen, para registrar el ambiente o gusto."); session.setAttribute("TipoMensaje", "NODio"); } } else if (name.equals("ModificarSeleccion")) { if (sel.getImagen().equals("")) { /*Se ejecuta el metodo de actualizar los datos de la seleccion usuario que se encuentra, en la clase modelo con los datos que se encuentran en la clase*/ b = sel.actualizardatosSeleccion(sel.getCodigo(), sel.getNombre(), sel.getTipo(), sel.getEstado()); if (b) { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "El gusto o ambiente ha sido registrada correctamente."); session.setAttribute("TipoMensaje", "Dio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", sel.getMensaje()); session.setAttribute("TipoMensaje", "NODio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } } else { /*Se ejecuta el metodo de actualizar los datos de la seleccion usuario que se encuentra, en la clase modelo con los datos que se encuentran en la clase*/ File img = new File(sel.getImagen()); b = sel.actualizardatosSeleccion(sel.getCodigo(), sel.getNombre(), sel.getTipo(), sel.getTypeImg(), sel.getEstado()); if (b) { File imagedb = new File(urlimgservidor + "/" + sel.getCodigo() + sel.getTypeImg()); img.renameTo(imagedb); /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "El gusto o ambiente ha sido modificado correctamente."); session.setAttribute("TipoMensaje", "Dio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } else { img.delete(); /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", sel.getMensaje()); session.setAttribute("TipoMensaje", "NODio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } } } } else { if (!item.getName().equals("")) { //uploaded files will come here. FileItem file = item; String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); if (sizeInBytes > 1000000) { /*Se muestra un mensaje en caso de pesar mas de 3 MB*/ session.setAttribute("Mensaje", "El tamao lmite de la imagen es: 1 MB"); session.setAttribute("TipoMensaje", "NODio"); /*Se redirecciona*/ response.sendRedirect("View/ConsultaSeleccion.jsp"); } else { if (contentType.indexOf("jpeg") > 0 || contentType.indexOf("png") > 0) { if (contentType.indexOf("jpeg") > 0) { contentType = ".jpg"; } else { contentType = ".png"; } /*Se crea la imagne*/ File archivo_server = new File(urlimgservidor + "/" + item.getName()); /*Se guardael nombre y tipo de imagen en la clase*/ sel.setImagen(urlimgservidor + "/" + item.getName()); sel.setTypeImg(contentType); /*Se guarda la imagen*/ item.write(archivo_server); } else { session.setAttribute("Mensaje", "Solo se pueden registrar imagenes JPG o PNG"); session.setAttribute("TipoMensaje", "NODio"); } } } else { /*Se guarda el url de la imagen en la clase*/ sel.setImagen(""); } } } /*Se redirecciona sino se recive ninguna peticion*/ response.sendRedirect("View/index.jsp"); } catch (FileUploadException ex) { /*Se muestra un mensaje en caso de error*/ System.out.print(ex.getMessage().toString()); } catch (Exception ex) { /*Se muestra un mensaje en caso de error*/ Logger.getLogger(Contr_Seleccion.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.picdrop.service.implementation.FileResourceService.java
@POST @Path("/") @Permission("write") @Consumes("multipart/form-data") public List<FileResource> create(@Context HttpServletRequest request) throws ApplicationException { log.traceEntry();/*from ww w. j a v a 2s . com*/ List<FileResource> res = new ArrayList<>(); List<FileItem> files; log.debug(SERVICE, "Parsing multipart request"); try { files = parseRequest(request); } catch (FileUploadException ex) { throw new ApplicationException(ex).status(400).devMessage(ex.getMessage()) .code(ErrorMessageCode.BAD_UPLOAD); } log.debug(SERVICE, "Processing file items"); for (FileItem file : files) { if (!file.isFormField()) { validateFileItem(file); FileResource r = new FileResource(); r.setName(file.getName()); r.setSize(file.getSize()); r.setOwner(contextProv.get().getPrincipal().to(RegisteredUser.class)); try { log.debug(SERVICE, "Validating mime type"); FileType mime = parseMimeType(file); r.setDescriptor(ResourceDescriptor.get(mime)); res.add(processCreateUpdate(r, file)); } catch (IOException ex) { throw new ApplicationException(ex).status(500).devMessage(ex.getMessage()) .code(ErrorMessageCode.ERROR_INTERNAL); } } } log.info(SERVICE, "FileResource created"); log.traceExit(res); return res; }
From source file:com.picdrop.service.implementation.FileResourceService.java
@PUT @Path("/{id}") @Permission("write") @Consumes("multipart/form-data") public FileResource updateFile(@PathParam("id") String id, @Context HttpServletRequest request) throws ApplicationException { log.entry(id);//from w w w .j a v a 2 s . c om FileResource r = getResource(id); List<FileItem> files = null; if (r == null) { throw new ApplicationException().status(404).code(ErrorMessageCode.NOT_FOUND) .devMessage(String.format("Object with id '%s' not found", id)); } log.debug(SERVICE, "Parsing multipart request"); try { files = parseRequest(request); } catch (FileUploadException ex) { throw new ApplicationException(ex).status(400).devMessage(ex.getMessage()) .code(ErrorMessageCode.BAD_UPLOAD); } log.debug(SERVICE, "Processing file items"); for (FileItem file : files) { if (!file.isFormField()) { try { validateFileItem(file); log.debug(SERVICE, "Validating mime type"); FileType mime = parseMimeType(file); r.setDescriptor(ResourceDescriptor.get(mime)); r = processCreateUpdate(r, file); } catch (IOException ex) { throw new ApplicationException(ex).status(500).devMessage(ex.getMessage()) .code(ErrorMessageCode.ERROR_INTERNAL); } } } log.info(SERVICE, "FileResource updated"); log.traceExit(r); return r; }
From source file:com.ikon.servlet.admin.LanguageServlet.java
@Override @SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { log.debug("doPost({}, {})", request, response); request.setCharacterEncoding("UTF-8"); String action = WebUtils.getString(request, "action"); boolean persist = WebUtils.getBoolean(request, "persist"); String userId = request.getRemoteUser(); Session dbSession = null;//from ww w . ja v a 2 s.com updateSessionManager(request); try { if (ServletFileUpload.isMultipartContent(request)) { InputStream is = null; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); Language lang = new Language(); byte data[] = null; for (Iterator<FileItem> it = items.iterator(); it.hasNext();) { FileItem item = it.next(); if (item.isFormField()) { if (item.getFieldName().equals("action")) { action = item.getString("UTF-8"); } else if (item.getFieldName().equals("lg_id")) { lang.setId(item.getString("UTF-8")); } else if (item.getFieldName().equals("lg_name")) { lang.setName(item.getString("UTF-8")); } else if (item.getFieldName().equals("persist")) { persist = true; } } else { is = item.getInputStream(); data = IOUtils.toByteArray(is); lang.setImageMime(MimeTypeConfig.mimeTypes.getContentType(item.getName())); is.close(); } } if (action.equals("create")) { lang.setImageContent(SecureStore.b64Encode(data)); LanguageDAO.create(lang); // Activity log UserActivity.log(request.getRemoteUser(), "ADMIN_LANGUAGE_CREATE", lang.getId(), null, lang.toString()); } else if (action.equals("edit")) { lang.setImageContent(SecureStore.b64Encode(data)); LanguageDAO.update(lang); // Activity log UserActivity.log(request.getRemoteUser(), "ADMIN_LANGUAGE_EDIT", lang.getId(), null, lang.toString()); } else if (action.equals("delete")) { LanguageDAO.delete(lang.getId()); // Activity log UserActivity.log(request.getRemoteUser(), "ADMIN_LANGUAGE_DELETE", lang.getId(), null, null); } else if (action.equals("import")) { dbSession = HibernateUtil.getSessionFactory().openSession(); importLanguage(userId, request, response, data, dbSession); // Activity log UserActivity.log(request.getRemoteUser(), "ADMIN_LANGUAGE_IMPORT", null, null, null); } } else if (action.equals("translate")) { translate(userId, request, response); } else if (action.equals("addTranslation")) { addTranslation(userId, request, response); } if (!action.equals("addTranslation") && (action.equals("") || action.equals("import") || persist)) { list(userId, request, response); } } catch (FileUploadException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (DatabaseException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } catch (SQLException e) { log.error(e.getMessage(), e); sendErrorRedirect(request, response, e); } finally { HibernateUtil.close(dbSession); } }
From source file:at.gv.egovernment.moa.id.auth.servlet.VerifyAuthenticationBlockServlet.java
/** * Verifies the signed authentication block and redirects the browser * to the online application requested, adding a parameter needed for * retrieving the authentication data./*from w w w .jav a 2 s . co m*/ * <br> * Request parameters: * <ul> * <li>MOASessionID: ID of associated authentication session</li> * <li>XMLResponse: <code><CreateXMLSignatureResponse></code></li> * </ul> * Response: * <ul> * <li>Status: <code>302</code></li> * <li>Header <code>"Location"</code>: URL of the online application requested, with * parameters <code>"Target"</code>(only if the online application is * a public service) and <code>"SAMLArtifact"</code> added</li> * <li>Error status: <code>500</code> * </ul> * @see AuthenticationServer#verifyAuthenticationBlock * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest, HttpServletResponse) */ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Logger.debug("POST VerifyAuthenticationBlock"); Logger.warn(getClass().getName() + " is deprecated and should not be used any more."); resp.setHeader(MOAIDAuthConstants.HEADER_EXPIRES, MOAIDAuthConstants.HEADER_VALUE_EXPIRES); resp.setHeader(MOAIDAuthConstants.HEADER_PRAGMA, MOAIDAuthConstants.HEADER_VALUE_PRAGMA); resp.setHeader(MOAIDAuthConstants.HEADER_CACHE_CONTROL, MOAIDAuthConstants.HEADER_VALUE_CACHE_CONTROL); resp.addHeader(MOAIDAuthConstants.HEADER_CACHE_CONTROL, MOAIDAuthConstants.HEADER_VALUE_CACHE_CONTROL_IE); String pendingRequestID = null; Map<String, String> parameters; try { parameters = getParameters(req); } catch (FileUploadException e) { Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage()); throw new IOException(e.getMessage()); } String sessionID = req.getParameter(PARAM_SESSIONID); String createXMLSignatureResponse = (String) parameters.get(PARAM_XMLRESPONSE); // escape parameter strings sessionID = StringEscapeUtils.escapeHtml(sessionID); pendingRequestID = AuthenticationSessionStoreage.getPendingRequestID(sessionID); String redirectURL = null; try { // check parameter if (!ParamValidatorUtils.isValidSessionID(sessionID)) throw new WrongParametersException("VerifyAuthenticationBlock", PARAM_SESSIONID, "auth.12"); if (!ParamValidatorUtils.isValidXMLDocument(createXMLSignatureResponse)) throw new WrongParametersException("VerifyAuthenticationBlock", PARAM_XMLRESPONSE, "auth.12"); AuthenticationSession session = AuthenticationServer.getSession(sessionID); //change MOASessionID sessionID = AuthenticationSessionStoreage.changeSessionID(session); String samlArtifactBase64 = AuthenticationServer.getInstance().verifyAuthenticationBlock(session, createXMLSignatureResponse); if (samlArtifactBase64 == null) { //mandate Mode AuthConfigurationProvider authConf = AuthConfigurationProvider.getInstance(); ConnectionParameter connectionParameters = authConf.getOnlineMandatesConnectionParameter(); SSLSocketFactory sslFactory = SSLUtils.getSSLSocketFactory(AuthConfigurationProvider.getInstance(), connectionParameters); // get identitity link as byte[] Element elem = session.getIdentityLink().getSamlAssertion(); String s = DOMUtils.serializeNode(elem); //System.out.println("IDL: " + s); byte[] idl = s.getBytes("UTF-8"); // redirect url // build redirect(to the GetMISSessionIdSerlvet) //change MOASessionID before MIS request String newMOASessionID = AuthenticationSessionStoreage.changeSessionID(session); redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(), GET_MIS_SESSIONID, newMOASessionID); String oaURL = session.getOAURLRequested(); OAAuthParameter oaParam = authConf.getOnlineApplicationParameter(oaURL); List<String> profiles = oaParam.getMandateProfiles(); if (profiles == null) { Logger.error("No Mandate/Profile for OA configured."); throw new AuthenticationException("config.21", new Object[] { GET_MIS_SESSIONID }); } // String profilesArray[] = profiles.split(","); // for(int i = 0; i < profilesArray.length; i++) { // profilesArray[i] = profilesArray[i].trim(); // } String oaFriendlyName = oaParam.getFriendlyName(); String mandateReferenceValue = session.getMandateReferenceValue(); byte[] cert = session.getEncodedSignerCertificate(); byte[] authBlock = session.getAuthBlock().getBytes("UTF-8"); //TODO: check in case of SSO!!! String targetType = null; if (oaParam.getBusinessService()) { String id = oaParam.getIdentityLinkDomainIdentifier(); if (id.startsWith(AuthenticationSession.REGISTERANDORDNR_PREFIX_)) targetType = id; else targetType = AuthenticationSession.REGISTERANDORDNR_PREFIX_ + session.getDomainIdentifier(); } else { targetType = AuthenticationSession.TARGET_PREFIX_ + oaParam.getTarget(); } MISSessionId misSessionID = MISSimpleClient.sendSessionIdRequest(connectionParameters.getUrl(), idl, cert, oaFriendlyName, redirectURL, mandateReferenceValue, profiles, targetType, authBlock, sslFactory); if (misSessionID == null) { Logger.error("Fehler bei Anfrage an Vollmachten Service. MIS Session ID ist null."); throw new MISSimpleClientException("Fehler bei Anfrage an Vollmachten Service."); } String redirectMISGUI = misSessionID.getRedirectURL(); session.setMISSessionID(misSessionID.getSessiondId()); try { AuthenticationSessionStoreage.storeSession(session); } catch (MOADatabaseException e) { throw new MOAIDException("Session store error", null); } resp.setStatus(302); resp.addHeader("Location", redirectMISGUI); Logger.debug("REDIRECT TO: " + redirectURL); } else { if (!samlArtifactBase64.equals("Redirect to Input Processor")) { /*redirectURL = session.getOAURLRequested(); if (!session.getBusinessService()) { redirectURL = addURLParameter(redirectURL, PARAM_TARGET, URLEncoder.encode(session.getTarget(), "UTF-8")); } redirectURL = addURLParameter(redirectURL, PARAM_SAMLARTIFACT, URLEncoder.encode(samlArtifactBase64, "UTF-8")); redirectURL = resp.encodeRedirectURL(redirectURL);*/ redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(), ModulUtils.buildAuthURL(session.getModul(), session.getAction(), pendingRequestID), samlArtifactBase64); } else { redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(), AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, session.getSessionID()); } resp.setContentType("text/html"); resp.setStatus(302); resp.addHeader("Location", redirectURL); Logger.debug("REDIRECT TO: " + redirectURL); } } catch (MOAIDException ex) { handleError(null, ex, req, resp, pendingRequestID); } catch (GeneralSecurityException e) { handleError(null, e, req, resp, pendingRequestID); } catch (PKIException e) { handleError(null, e, req, resp, pendingRequestID); } catch (TransformerException e) { handleError(null, e, req, resp, pendingRequestID); } catch (Exception e) { Logger.error("AuthBlockValidation has an interal Error.", e); } finally { ConfigurationDBUtils.closeSession(); } }
From source file:com.krawler.formbuilder.servlet.ModuleBuilderController.java
public Map parseRequest(HttpServletRequest request, List<FileItem> fi) throws ServiceException { Map arrParam = new HashMap(); FileItemFactory factory = new DiskFileItemFactory(4096, new File("/tmp")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(1000000);//ww w .ja v a2 s. c o m FileItem fi1 = null; List fileItems = null; try { fileItems = upload.parseRequest(request); } catch (FileUploadException e) { logger.warn(e.getMessage(), e); throw ServiceException.FAILURE("File upload has some problem", e); } for (Iterator k = fileItems.iterator(); k.hasNext();) { fi1 = (FileItem) k.next(); if (fi1.isFormField()) { String key = fi1.getFieldName(); try { if (arrParam.containsKey(key)) { arrParam.put(key, arrParam.get(key) + ", " + fi1.getString("UTF-8")); } else { arrParam.put(fi1.getFieldName(), fi1.getString("UTF-8")); } } catch (UnsupportedEncodingException e) { logger.error(e.getMessage()); } } else { if (fi1.getSize() != 0) { fi.add(fi1); } } } return arrParam; }
From source file:Controlador.Contr_Evento.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from w w w . j a va 2 s .com*/ * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /*Se detalla el contenido que tendra el servlet*/ response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); /*Se crea una variable para la sesion*/ HttpSession session = request.getSession(true); boolean b; try { /*Se declaran las variables necesarias*/ Cls_Evento eve = new Cls_Evento(); Cls_Mensajeria sms = new Cls_Mensajeria(); String Codigo = "", Mensaje = "", Nombre = "", Tipo = "", Imagen = "", url, Peti; String urlsalidaimg; urlsalidaimg = "/media/santiago/Santiago/IMGTE/"; //urlsalidaimg = "I:\\IMGTE\\"; String urlimgservidor = this.getServletContext().getRealPath("/Libs/Customs/images/Evento"); /*FileItemFactory es una interfaz para crear FileItem*/ FileItemFactory file_factory = new DiskFileItemFactory(); /*ServletFileUpload esta clase convierte los input file a FileItem*/ ServletFileUpload servlet_up = new ServletFileUpload(file_factory); /*sacando los FileItem del ServletFileUpload en una lista */ List items = servlet_up.parseRequest(request); Iterator it = items.iterator(); /*Se evalua cada una de las posibles peticiones y los posibles campos que envien*/ while (it.hasNext()) { FileItem item = (FileItem) it.next(); if (item.isFormField()) { //Plain request parameters will come here. String name = item.getFieldName(); if (name.equals("Creador")) { /*Se guarda el campo en la clase*/ eve.setCreador(item.getString()); } else if (name.equals("Nombre")) { /*Se guarda el campo en la clase*/ eve.setNombre(item.getString()); } else if (name.equals("Codigo")) { /*Se guarda el campo en la clase*/ eve.setCodigo(item.getString()); } else if (name.equals("Rango")) { /*Se guarda el campo en la clase*/ eve.setRango(item.getString()); } else if (name.equals("Rangomaximo")) { /*Se guarda el campo en la clase*/ eve.setRangoMaximo(item.getString()); } else if (name.equals("Fecha")) { /*Se guarda el campo en la clase*/ eve.setFecha(item.getString()); } else if (name.equals("Descripcion")) { /*Se guarda el campo en la clase*/ eve.setDescipcion(item.getString()); } else if (name.equals("Ciudad")) { /*Se guarda el campo en la clase*/ eve.setCiudad(item.getString()); } else if (name.equals("Direccion")) { /*Se guarda el campo en la clase*/ eve.setDireccion(item.getString()); } else if (name.equals("Motivo")) { /*Se guarda el campo en la clase*/ eve.setMotivo(item.getString()); } else if (name.equals("Latitud")) { /*Se guarda el campo en la clase*/ eve.setLatitud(item.getString()); } else if (name.equals("Longitud")) { /*Se guarda el campo en la clase*/ eve.setLongitud(item.getString()); } else if (name.equals("RegistrarEvento")) { /*Se convierte la fecha a date*/ if (eve.ConvertirFecha(eve.getFecha())) { /*Se evalua si la fecha tiene dos dias mas a la fecha de hoy*/ if (eve.ValidarDosDiasFecha(eve.getFechaDate())) { /*Se evalua si se mando una iamgen*/ if (!eve.getImagen().equals("")) { /*Si se envia una imagen obtiene la imagen para eliminarla luego*/ File img = new File(eve.getImagen()); /*Se ejecuta el metodo de registrar evento, en la clase modelo con los datos que se encuentran en la clase*/ String rangoprecios = eve.getRango() + "-" + eve.getRangoMaximo(); b = eve.setRegistrarEvento(eve.getTypeimg(), eve.getNombre(), eve.getFechaDate(), eve.getDescipcion(), rangoprecios, eve.getCreador(), eve.getCiudad(), eve.getDireccion(), eve.getLatitud(), eve.getLongitud()); if (b) { File imagedb = new File( urlimgservidor + "/" + eve.getCodigo() + eve.getTypeimg()); img.renameTo(imagedb); /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Se registro el evento satisfactoriamente."); session.setAttribute("TipoMensaje", "Dio"); response.sendRedirect( "View/RClasificacionEvento.jsp?CodigoEvento=" + eve.getCodigo()); } else { img.delete(); /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", eve.getMensaje()); session.setAttribute("TipoMensaje", "NODio"); response.sendRedirect("View/RegistrarEvento.jsp"); } } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Seleccione una imagen para registrar el evento"); session.setAttribute("TipoMensaje", "NODio"); response.sendRedirect("View/RegistrarEvento.jsp"); } } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "No se puede registrar un evento que inicie antes de dos das"); session.setAttribute("TipoMensaje", "NODio"); response.sendRedirect("View/RegistrarEvento.jsp"); } } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Ocurri un problema inesperado con la fecha del evento. Estamos trabajando para solucionar este problema."); session.setAttribute("TipoMensaje", "NODio"); response.sendRedirect("View/RegistrarEvento.jsp"); } } else if (name.equals("DesactivarEvento")) { if (eve.validar_Cancelar_Evento_Un_Dia(eve.getCodigo())) { /*Se ejecuta el metodo de desaprobar evento, en la clase modelo con los datos que se encuentran en la clase*/ if (eve.setDesaprobarEvento(eve.getCodigo(), eve.getMotivo())) { String[] Datos = eve.BuscarEventoParaMensaje(eve.getCodigo()); if (sms.EnviarMensajeCambioEstadoEvento(Datos, "Desaprobado", eve.getMotivo())) { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Se cancel el evento satisfactoriamente."); session.setAttribute("TipoMensaje", "Dio"); } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Se cancel el evento, pero no se logr enviar la notificacin al correo electrnico de la empresa."); session.setAttribute("TipoMensaje", "NODio"); } } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Ocurri un error al cancelar el evento. Estamos trabajando para solucionar este problema."); session.setAttribute("TipoMensaje", "NODio"); } } else { session.setAttribute("Mensaje", "No se puede cancelar un evento antes de un da de su inicio. Lo lamentamos."); session.setAttribute("TipoMensaje", "NODio"); } response.sendRedirect("View/CEventoPendiente.jsp"); } else if (name.equals("DesactivarEventoAdmin")) { if (eve.validar_Cancelar_Evento_Un_Dia(eve.getCodigo())) { /*Se ejecuta el metodo de desaprobar evento, en la clase modelo con los datos que se encuentran en la clase(administradir)*/ if (eve.setDesaprobarEvento(eve.getCodigo(), eve.getMotivo())) { String[] Datos = eve.BuscarEventoParaMensaje(eve.getCodigo()); if (sms.EnviarMensajeCambioEstadoEvento(Datos, "Desaprobado", eve.getMotivo())) { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Se desaprob el evento satisfactoriamente."); session.setAttribute("TipoMensaje", "Dio"); } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Se desaprob el evento, pero no se logr enviar la notificacin al correo electrnico de la empresa."); session.setAttribute("TipoMensaje", "NODio"); } } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Ocurri un error al desaprobar el evento. Estamos trabajando para solucionar este problema."); session.setAttribute("TipoMensaje", "NODio"); } } else { session.setAttribute("Mensaje", "No se puede cancelar un evento antes de un da de su inicio. Lo lamentamos."); session.setAttribute("TipoMensaje", "NODio"); } response.sendRedirect("View/ConsultaTodosEventos.jsp"); } else if (name.equals("DesactivarEventoEmpresa")) { if (eve.validar_Cancelar_Evento_Un_Dia(eve.getCodigo())) { /*Se ejecuta el metodo de desaprobar evento, en la clase modelo con los datos que se encuentran en la clase(Empresa)*/ if (eve.setCancelarEvento(eve.getCodigo(), eve.getMotivo())) { session.setAttribute("Mensaje", "Se cancel el evento satisfactoriamente."); session.setAttribute("TipoMensaje", "Dio"); } else { session.setAttribute("Mensaje", "Ocurri un error al cancelar el evento. Estamos trabajando para solucionar este problema."); session.setAttribute("TipoMensaje", "NODio"); } } else { session.setAttribute("Mensaje", "No se puede cancelar un evento antes de un da de su inicio. Lo lamentamos."); session.setAttribute("TipoMensaje", "NODio"); } response.sendRedirect("View/MisEventos.jsp"); } } else { if (!item.getName().equals("")) { //uploaded files will come here. FileItem file = item; String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); if (sizeInBytes > 1000000) { /*Se muestra un mensaje en caso de pesar mas de 3 MB*/ session.setAttribute("Mensaje", "El tamao lmite de la imagen es: 1 MB"); session.setAttribute("TipoMensaje", "NODio"); /*Se redirecciona*/ response.sendRedirect("View/ConsultaSeleccion.jsp"); } else { if (contentType.indexOf("jpeg") > 0 || contentType.indexOf("png") > 0) { if (contentType.indexOf("jpeg") > 0) { contentType = ".jpg"; } else { contentType = ".png"; } /*Se crea la imagne*/ File archivo_server = new File(urlimgservidor + "/" + item.getName()); /*Se guardael url de la imagen en la clase*/ eve.setImagen(urlimgservidor + "/" + item.getName()); eve.setTypeimg(contentType); /*Se guarda la imagen*/ item.write(archivo_server); } else { session.setAttribute("Mensaje", "Solo se pueden registrar imagenes JPG o PNG"); session.setAttribute("TipoMensaje", "NODio"); } } } else { /** * Se guardael url de la imagen en la clase */ eve.setImagen(""); } } } response.sendRedirect("View/index.jsp"); } catch (FileUploadException ex) { System.out.print(ex.getMessage().toString()); } catch (Exception ex) { Logger.getLogger(Contr_Seleccion.class.getName()).log(Level.SEVERE, null, ex); } }