MyFaces need integration with the portlet spec
----------------------------------------------
Key: MYFACES-86
URL: http://issues.apache.org/jira/browse/MYFACES-86
Project: MyFaces
Type: New Feature
Reporter: Stan Silvert
The JSF specification includes provisions for a JSF application to run inside a
Portlet. As this is currently missing from MyFaces, I have written code to add
this feature to the org.apache.myfaces source tree.
There are two new pacakges:
org.apache.myfaces.portlet
org.apache.myfaces.context.portlet
Plus there are several changes to the existing code base. Most of them are
simple changes to account for the differences between a PortletRequest and a
regular ServletRequest. While the JSF spec does a pretty good job of hiding
these differences with the ExternalContext, they could not hide it completely.
Plus, there are a few places that MyFaces code failed to use the
ExternalContext properly. All of this has been fixed in the modified source.
Here is the result of a CVS update to HEAD for the org.apache.myfaces source
tree:
C:\projects\incubator-myfaces\src\myfaces>cvs update
? org/apache/myfaces/portlet
? org/apache/myfaces/context/ReleaseableExternalContext.java
? org/apache/myfaces/context/portlet
cvs server: Updating .
cvs server: Updating javax
cvs server: Updating javax/faces
cvs server: Updating org
cvs server: Updating org/apache
cvs server: Updating org/apache/myfaces
cvs server: Updating org/apache/myfaces/application
M org/apache/myfaces/application/NavigationHandlerImpl.java
cvs server: Updating org/apache/myfaces/application/cbp
cvs server: Updating org/apache/myfaces/application/jsp
M org/apache/myfaces/application/jsp/JspViewHandlerImpl.java
cvs server: Updating org/apache/myfaces/cbp
cvs server: Updating org/apache/myfaces/cbp/designer
cvs server: Updating org/apache/myfaces/component
cvs server: Updating org/apache/myfaces/component/ext
cvs server: Updating org/apache/myfaces/component/html
cvs server: Updating org/apache/myfaces/config
M org/apache/myfaces/config/FacesConfigurator.java
cvs server: Updating org/apache/myfaces/config/configure
cvs server: Updating org/apache/myfaces/config/element
cvs server: Updating org/apache/myfaces/config/impl
cvs server: Updating org/apache/myfaces/config/impl/digester
cvs server: Updating org/apache/myfaces/config/impl/digester/elements
cvs server: Updating org/apache/myfaces/confignew
cvs server: Updating org/apache/myfaces/confignew/element
cvs server: Updating org/apache/myfaces/confignew/impl
cvs server: Updating org/apache/myfaces/confignew/impl/digester
cvs server: Updating org/apache/myfaces/confignew/impl/digester/elements
cvs server: Updating org/apache/myfaces/confignew/impl/dom
cvs server: Updating org/apache/myfaces/context
M org/apache/myfaces/context/FacesContextFactoryImpl.java
cvs server: Updating org/apache/myfaces/context/maphelp
cvs server: Updating org/apache/myfaces/context/resource
cvs server: Updating org/apache/myfaces/context/servlet
M org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
M org/apache/myfaces/context/servlet/ServletFacesContextImpl.java
cvs server: Updating org/apache/myfaces/convert
cvs server: Updating org/apache/myfaces/convert/impl
cvs server: Updating org/apache/myfaces/convert/legacy
cvs server: Updating org/apache/myfaces/convert/map
cvs server: Updating org/apache/myfaces/el
cvs server: Updating org/apache/myfaces/event
cvs server: Updating org/apache/myfaces/exception
cvs server: Updating org/apache/myfaces/lifecycle
M org/apache/myfaces/lifecycle/LifecycleImpl.java
cvs server: Updating org/apache/myfaces/model
cvs server: Updating org/apache/myfaces/renderkit
cvs server: Updating org/apache/myfaces/renderkit/attr
cvs server: Updating org/apache/myfaces/renderkit/attr/ext
cvs server: Updating org/apache/myfaces/renderkit/callback
cvs server: Updating org/apache/myfaces/renderkit/config
cvs server: Updating org/apache/myfaces/renderkit/html
cvs server: Updating org/apache/myfaces/renderkit/html/attr
cvs server: Updating org/apache/myfaces/renderkit/html/ext
cvs server: Updating org/apache/myfaces/renderkit/html/jsp_parser
cvs server: Updating org/apache/myfaces/renderkit/html/jsp_parser/jasper
cvs server: Updating org/apache/myfaces/renderkit/html/jsp_parser/jasper/compile
r
cvs server: Updating org/apache/myfaces/renderkit/html/jsp_parser/jasper/core
cvs server: Updating org/apache/myfaces/renderkit/html/jsp_parser/jasper/logging
cvs server: Updating org/apache/myfaces/renderkit/html/jsp_parser/jasper/parser
cvs server: Updating org/apache/myfaces/renderkit/html/jsp_parser/jasper/resourc
es
cvs server: Updating org/apache/myfaces/renderkit/html/jsp_parser/jasper/runtime
cvs server: Updating org/apache/myfaces/renderkit/html/jsp_parser/jasper/servlet
cvs server: Updating org/apache/myfaces/renderkit/html/jsp_parser/jasper/util
cvs server: Updating org/apache/myfaces/renderkit/html/jspinfo
cvs server: Updating org/apache/myfaces/renderkit/html/jspinfo/jasper
cvs server: Updating org/apache/myfaces/renderkit/html/jspinfo/jasper/compiler
cvs server: Updating org/apache/myfaces/renderkit/html/jspinfo/jasper/core
cvs server: Updating org/apache/myfaces/renderkit/html/jspinfo/jasper/logging
cvs server: Updating org/apache/myfaces/renderkit/html/jspinfo/jasper/parser
cvs server: Updating org/apache/myfaces/renderkit/html/jspinfo/jasper/resources
cvs server: Updating org/apache/myfaces/renderkit/html/jspinfo/jasper/runtime
cvs server: Updating org/apache/myfaces/renderkit/html/jspinfo/jasper/util
cvs server: Updating org/apache/myfaces/renderkit/html/legacy
cvs server: Updating org/apache/myfaces/renderkit/html/state
cvs server: Updating org/apache/myfaces/renderkit/html/state/client
cvs server: Updating org/apache/myfaces/renderkit/html/state/server
cvs server: Updating org/apache/myfaces/renderkit/html/util
cvs server: Updating org/apache/myfaces/resource
cvs server: Updating org/apache/myfaces/strict
cvs server: Updating org/apache/myfaces/strict/component
cvs server: Updating org/apache/myfaces/strict/renderkit
cvs server: Updating org/apache/myfaces/strict/renderkit/html
cvs server: Updating org/apache/myfaces/strict/taglib
cvs server: Updating org/apache/myfaces/taglib
cvs server: Updating org/apache/myfaces/taglib/common
cvs server: Updating org/apache/myfaces/taglib/core
cvs server: Updating org/apache/myfaces/taglib/ext
cvs server: Updating org/apache/myfaces/taglib/html
cvs server: Updating org/apache/myfaces/taglib/html/package
cvs server: Updating org/apache/myfaces/taglib/html/package/html
cvs server: Updating org/apache/myfaces/taglib/if
cvs server: Updating org/apache/myfaces/taglib/legacy
cvs server: Updating org/apache/myfaces/tree
cvs server: Updating org/apache/myfaces/util
cvs server: Updating org/apache/myfaces/util/bean
cvs server: Updating org/apache/myfaces/util/bundle
cvs server: Updating org/apache/myfaces/util/commons
cvs server: Updating org/apache/myfaces/util/logging
cvs server: Updating org/apache/myfaces/util/xml
cvs server: Updating org/apache/myfaces/util/zip
cvs server: Updating org/apache/myfaces/webapp
cvs server: Updating org/apache/myfaces/webapp/filter
cvs server: Updating org/apache/myfaces/webapp/servletmapping
cvs server: Updating org/apache/myfaces/webapp/webxml
Changes to build.xml and build.default.properties were needed to add the
portlet.jar to the build.
M build.default.properties
M build.xml
The portlet-api-1.0.jar is added to the lib directory.
This integration code was tested on the Portlet reference implementation known
as Jakarta Pluto. I can help with configuration of that for whoever is going
to be working on this.
I am attaching everything that is needed to build the code. When someone is
ready, I will help with documentation and testing with Pluto.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira