Author: abelevich
Date: 2008-07-14 06:20:27 -0400 (Mon, 14 Jul 2008)
New Revision: 9559
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseFilter.java
Log:
RF-3808, rename stop action to the richfaces_file_upload_action_stop
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseFilter.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseFilter.java 2008-07-14
09:58:18 UTC (rev 9558)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseFilter.java 2008-07-14
10:20:27 UTC (rev 9559)
@@ -289,102 +289,92 @@
* @throws IOException
* @throws ServletException
*/
- protected void processUploadsAndHandleRequest(HttpServletRequest request,
HttpServletResponse response,
- FilterChain chain) throws IOException, ServletException {
- HttpServletRequest httpRequest = (HttpServletRequest) request;
- String uid = httpRequest.getParameter(UPLOAD_FILES_ID);
- if (uid != null) {
- if (isMultipartRequest(httpRequest)) {
- MultipartRequest multipartRequest = new MultipartRequest(
- httpRequest, createTempFiles, maxRequestSize, uid);
-
- Map<String, MultipartRequest> sessionsMap = null;
- Map<String, Object> percentMap = null;
- boolean sendError = Boolean.parseBoolean(request.getParameter(SEND_HTTP_ERROR));
- String mimeType = xmlFilter.getMimetype();
- try {
- if (isFileSizeRestricted(request, maxRequestSize)) {
- if (sendError) {
- //request.getInputStream().close();
- //request.getInputStream().skip(request.getContentLength());
- response.sendError(413);
- System.out.println("413");
- return;
- } else {
- printResponse(response,
- "<html
id=\"_richfaces_file_upload_size_restricted\"></html>");
- }
- } else if (!checkFileCount(httpRequest)) {
- printResponse(response,
- "<html
id=\"_richfaces_file_upload_forbidden\"></html>");
+ protected void processUploadsAndHandleRequest(HttpServletRequest request,
HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
+ HttpServletRequest httpRequest = (HttpServletRequest) request;
+ String uid = httpRequest.getParameter(UPLOAD_FILES_ID);
+ if (uid != null) {
+
+ if (isMultipartRequest(httpRequest)) {
+ MultipartRequest multipartRequest = new MultipartRequest(httpRequest, createTempFiles,
maxRequestSize, uid);
+ Map<String, MultipartRequest> sessionsMap = null;
+ Map<String, Object> percentMap = null;
+
+ try {
+ if (isFileSizeRestricted(request, maxRequestSize)) {
+
+ boolean sendError = Boolean.parseBoolean(request.getParameter(SEND_HTTP_ERROR));
+ if (sendError) {
+ response.sendError(HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE);
+ System.err.println("ERROR " +
HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE + "request entity is larger than the
server is willing or able to process.");
+ return;
} else {
- HttpSession session = httpRequest.getSession();
- synchronized (session) {
- sessionsMap = (Map<String, MultipartRequest>) session
- .getAttribute(REQUESTS_SESSIONS_BEAN_NAME);
- percentMap = (Map<String, Object>) session
- .getAttribute(PERCENT_BEAN_NAME);
- if (sessionsMap == null) {
- sessionsMap = Collections
- .synchronizedMap(new HashMap<String, MultipartRequest>());
- session.setAttribute(
- REQUESTS_SESSIONS_BEAN_NAME,
- sessionsMap);
- }
- if (percentMap == null) {
- percentMap = new HashMap<String, Object>();
- session.setAttribute(PERCENT_BEAN_NAME,
- percentMap);
- }
+ printResponse(response, "<html
id=\"_richfaces_file_upload_size_restricted\"></html>");
+ }
+
+ } else if (!checkFileCount(httpRequest)) {
+ printResponse(response, "<html
id=\"_richfaces_file_upload_forbidden\"></html>");
+ } else {
+
+ HttpSession session = httpRequest.getSession();
+ synchronized (session) {
+ sessionsMap = (Map<String, MultipartRequest>)
session.getAttribute(REQUESTS_SESSIONS_BEAN_NAME);
+ percentMap = (Map<String, Object>) session.getAttribute(PERCENT_BEAN_NAME);
+ if (sessionsMap == null) {
+ sessionsMap = Collections.synchronizedMap(new HashMap<String,
MultipartRequest>());
+ session.setAttribute(REQUESTS_SESSIONS_BEAN_NAME, sessionsMap);
}
- percentMap.put(uid, 0); // associate percent value with
- // file
- // entry uid
- sessionsMap.put(uid, multipartRequest);
-
- if (multipartRequest.parseRequest()) {
-
- xmlFilter.setMimetype("text/html"); // We need set mimetype as HTML to
avoid
- // transforming response to XML tree under IE
- handleRequest(multipartRequest, response, chain);
- } else {
- printResponse(response,
- "<html
id=\"_richfaces_file_upload_stopped\"></html>");
+ if (percentMap == null) {
+ percentMap = new HashMap<String, Object>();
+ session.setAttribute(PERCENT_BEAN_NAME, percentMap);
}
}
- } finally {
- if (sessionsMap != null) {
- xmlFilter.setMimetype(mimeType); // Backup mimetype
- sessionsMap.remove(uid);
- percentMap.remove(uid);
+
+ /* associate percent value with file entry uid */
+ percentMap.put(uid, 0);
+ sessionsMap.put(uid, multipartRequest);
+
+ if (multipartRequest.parseRequest()) {
+ /*We need set mimetype as HTML to avoid transforming response to XML tree under IE
*/
+ xmlFilter.setMimetype("text/html");
+ handleRequest(multipartRequest, response, chain);
+ } else {
+ printResponse(response, "<html
id=\"_richfaces_file_upload_stopped\"></html>");
}
+
}
- } else {
- if ("stop".equals(httpRequest.getParameter("action"))) {
- HttpSession session = httpRequest.getSession();
- Map<String, MultipartRequest> sessions = (Map<String, MultipartRequest>)
session
- .getAttribute(REQUESTS_SESSIONS_BEAN_NAME);
+
+ } finally {
+
+ if (sessionsMap != null) {
+ String mimeType = xmlFilter.getMimetype();
+ xmlFilter.setMimetype(mimeType); // Backup mimetype
+ sessionsMap.remove(uid);
+ percentMap.remove(uid);
+ }
+
+ }
+ } else {
+
+ if
("richfaces_file_upload_action_stop".equals(httpRequest.getParameter("action")))
{
+ HttpSession session = httpRequest.getSession();
+ Map<String, MultipartRequest> sessions = (Map<String,
MultipartRequest>) session.getAttribute(REQUESTS_SESSIONS_BEAN_NAME);
- if (sessions != null) {
- MultipartRequest multipartRequest = sessions.get(uid);
- if (multipartRequest != null) {
- multipartRequest.stop();
- HttpServletResponse httpResponse = (HttpServletResponse) response;
- httpResponse
- .setStatus(HttpServletResponse.SC_OK);
- httpResponse.getOutputStream().close();
- }
+ if (sessions != null) {
+ MultipartRequest multipartRequest = sessions.get(uid);
+ if (multipartRequest != null) {
+ multipartRequest.stop();
+ handleRequest(request, response, chain);
}
-
- //TODO what's here?
- } else {
- handleRequest(request, response, chain);
}
+
+ } else {
+ handleRequest(request, response, chain);
}
- } else {
- handleRequest(request, response, chain);
}
+ } else {
+ handleRequest(request, response, chain);
}
+ }
/**
* @param httpServletRequest