[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3769) org.jboss.seam.ui.facelet.RendererRequest replaces HttpServletXXX with MockHttpServletXXX
by Kenneth Christensen (JIRA)
org.jboss.seam.ui.facelet.RendererRequest replaces HttpServletXXX with MockHttpServletXXX
-----------------------------------------------------------------------------------------
Key: JBSEAM-3769
URL: https://jira.jboss.org/jira/browse/JBSEAM-3769
Project: Seam
Issue Type: Bug
Components: JSF Integration
Affects Versions: 2.1.1.CR1
Environment: Mac OS X 10.5.5
JBoss AS 4.2.3.GA
JBoss Seam 2.1.1.CR1
Java 6
Reporter: Kenneth Christensen
Seam 2.0.3:
private void init()
{
// Make sure we are using the correct ClassLoader
originalClassLoader = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
// If a FacesContext isn't available, set one up
if (FacesContext.getCurrentInstance() == null)
{
MockFacesContext mockFacesContext = new MockFacesContext(new MockExternalContext(new MockServletContext()))
.setCurrent();
mockFacesContext.createViewRoot();
}
FacesContext facesContext = FacesContext.getCurrentInstance();
// Wrap the ResponseWriter
originalResponseWriter = facesContext.getResponseWriter();
facesContext.setResponseWriter(facesContext.getRenderKit().createResponseWriter(writer,
null, null));
// Create a new UIViewRoot
originalViewRoot = facesContext.getViewRoot();
UIViewRoot viewRoot = new UIViewRoot();
viewRoot.setRenderKitId(facesContext.getApplication().getViewHandler().calculateRenderKitId(facesContext));
viewRoot.setViewId(viewId);
viewRoot.setLocale(originalViewRoot.getLocale());
facesContext.setViewRoot(viewRoot);
}
Seam 2.1.1.CR1:
private void init()
{
request = new MockHttpServletRequest(HttpSessionManager.instance());
response = new MockHttpServletResponse();
// Generate the FacesContext from the JSF FacesContextFactory
originalFacesContext = FacesContext.getCurrentInstance();
facesContext = RendererFacesContextFactory.instance().getFacesContext(request, response);
DelegatingFacesContext.setCurrentInstance(facesContext);
// Create the viewRoot
UIViewRoot newRoot = facesContext.getApplication().getViewHandler().createView(facesContext, viewId);
facesContext.setViewRoot(newRoot);
// Set the responseWriter to write to a buffer
writer = new StringWriter();
facesContext.setResponseWriter(facesContext.getRenderKit().createResponseWriter(writer,
null, null));
}
As you can see, Seam 2.1.1.CR1 never checks for the original FacesContext, but creates a new FacesContext which includes the MockHttpServletXXX.
It's a problem for the application I'm developing, because I need the external context (HttpServletResponse) when I'm using the renderer.render("/abc/xyz.xhtml").
It works fine with Seam 2.0.3, but not with Seam 2.1.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 3 months
[JBoss JIRA] Created: (JBSEAM-4590) Multiple war in ear - resources not isolated between wars
by Susanne Jarl (JIRA)
Multiple war in ear - resources not isolated between wars
----------------------------------------------------------
Key: JBSEAM-4590
URL: https://jira.jboss.org/jira/browse/JBSEAM-4590
Project: Seam
Issue Type: Bug
Affects Versions: 2.2.0.GA
Environment: JBoss 5.1.0.GA, Hot deployment. JDK 1.6
Reporter: Susanne Jarl
If you have a.war and b.war in an ear and try to send an email using org.jboss.seam.faces.Renderer this will only work for b.war and in a.war you will get an exception saying that the resource in b.war could not be found. So the renderer called from a.war looks for resources in b.war.
Kind of the same problem with s.graphicImage, only working in b.war, and when used in a.war the exception says it is looking for resources in b.war.
I use hot deployment.
If I start my application with only one of the war files at the time everything works perfectly fine. These issues did not exist in version 2.0.X, they appeared in 2.1. and has been around since then although changed a little between versions.
I have also tried 2.2.1. nightly build #164, since I thought that JBSEAM-4316 might solve this, but unfortunatally it did not.
I have in each war a jboss-web.xml looking like this example (with of course different unique names):
<jboss-web>
<class-loading java2ClassLoadingCompliance="false">
<loader-repository>
org.jboss.seam:archive=uniquename
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</class-loading>
</jboss-web>
jboss-app.xml looks like this:
<jboss-app>
<loader-repository>
org.jboss.seam:archive=myapp
<loader-repository-config>
java2ParentDelegation=false
</loader-repository-config>
</loader-repository>
</jboss-app>
Please solve this bug until next release. Thank you!
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 3 months