Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.2
-
Fix Version/s: 3.0.1, EE-3.0.0.GA
-
Component/s: Framework
-
Labels:None
-
Environment:ICEfaces 2 Portlets
-
ICEsoft Forum Reference:
Description
CharacterEncodingHandler was originally added to solve:
http://jira.icefaces.org/browse/ICE-5977
which was a workaround for this Mojarra issue:
http://java.net/jira/browse/JAVASERVERFACES-1767
The ProxyHttpServletResponse is a class that allows things like ICEpush to treat Portlet responses like Http responses without having to check and cast all the time. Unfortunately, only the minimum amount of implemenation was put into the Proxy so there's a bunch of unimplemented methods. This includes:
public java.lang.String getCharacterEncoding() {
log.severe("ProxyHttpServletResponse unsupported operation");
throw new UnsupportedOperationException();
}
public void setCharacterEncoding(java.lang.String encoding) {
log.severe("ProxyHttpServletResponse unsupported operation");
throw new UnsupportedOperationException();
}
The involved logic is not always called in CharacterEncodingHandler as it depends on a calculating a character encoding and seeing if it matches the existing encoding. If it doesn't, that's when it tries to set it. The fix is to do additional testing and implementation of relevant methods for portlets running on other app servers. Note that only certain types of PortletResponses support the encoding methods (Mime)
http://jira.icefaces.org/browse/ICE-5977
which was a workaround for this Mojarra issue:
http://java.net/jira/browse/JAVASERVERFACES-1767
The ProxyHttpServletResponse is a class that allows things like ICEpush to treat Portlet responses like Http responses without having to check and cast all the time. Unfortunately, only the minimum amount of implemenation was put into the Proxy so there's a bunch of unimplemented methods. This includes:
public java.lang.String getCharacterEncoding() {
log.severe("ProxyHttpServletResponse unsupported operation");
throw new UnsupportedOperationException();
}
public void setCharacterEncoding(java.lang.String encoding) {
log.severe("ProxyHttpServletResponse unsupported operation");
throw new UnsupportedOperationException();
}
The involved logic is not always called in CharacterEncodingHandler as it depends on a calculating a character encoding and seeing if it matches the existing encoding. If it doesn't, that's when it tries to set it. The fix is to do additional testing and implementation of relevant methods for portlets running on other app servers. Note that only certain types of PortletResponses support the encoding methods (Mime)
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Resolving as the get/set methods on the proxy class have now been implemented.