Author: andrei_exadel
Date: 2008-07-18 04:22:49 -0400 (Fri, 18 Jul 2008)
New Revision: 9673
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseFilter.java
trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java
Log:
RF-3800
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-18
08:16:54 UTC (rev 9672)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseFilter.java 2008-07-18
08:22:49 UTC (rev 9673)
@@ -292,7 +292,6 @@
protected void processUploadsAndHandleRequest(HttpServletRequest request,
HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
String uid = httpRequest.getParameter(UPLOAD_FILES_ID);
- String mimeType = xmlFilter.getMimetype();
if (uid != null) {
@@ -336,8 +335,6 @@
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>");
@@ -348,9 +345,8 @@
} finally {
if (sessionsMap != null) {
- xmlFilter.setMimetype(mimeType); // Backup mimetype
- sessionsMap.remove(uid);
- percentMap.remove(uid);
+ sessionsMap.remove(uid);
+ percentMap.remove(uid);
}
}
@@ -364,8 +360,8 @@
MultipartRequest multipartRequest = sessions.get(uid);
if (multipartRequest != null) {
multipartRequest.stop();
- handleRequest(request, response, chain);
}
+ handleRequest(request, response, chain);
}
} else {
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java 2008-07-18
08:16:54 UTC (rev 9672)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/webapp/BaseXMLFilter.java 2008-07-18
08:22:49 UTC (rev 9673)
@@ -40,6 +40,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.ajax4jsf.Filter;
import org.ajax4jsf.Messages;
import org.ajax4jsf.application.AjaxViewHandler;
import org.ajax4jsf.context.AjaxContext;
@@ -234,9 +235,9 @@
// TODO - for null encoding, setup only Output encoding for
// filter ?
String outputEncoding = "UTF-8";
- String contentType = getMimetype() + ";charset=" + outputEncoding;
+ String contentType = getMimetype(request) + ";charset=" + outputEncoding;
response.setContentType(contentType);
- parser = getParser(getMimetype(), true, viewId);
+ parser = getParser(getMimetype(request), true, viewId);
if (null == parser) {
throw new ServletException(Messages.getMessage(
Messages.PARSER_NOT_INSTANTIATED_ERROR, contentType));
@@ -498,6 +499,19 @@
public String getMimetype() {
return mimetype;
}
+
+ /**
+ * Returns text/HTML mime type if request was sent from FileUpload.
+ * Else returns mimetype defined.
+ * @return Returns the mimetype.
+ */
+ public String getMimetype(HttpServletRequest request) {
+ if (request != null && request.getParameter(Filter.FILE_UPLOAD_INDICATOR) !=
null
+ &&
"true".equals(request.getParameter(Filter.FILE_UPLOAD_INDICATOR))) {
+ return TEXT_HTML;
+ }
+ return mimetype;
+ }
/**
* @return Returns the forcexml.
Show replies by date