[seam-issues] [JBoss JIRA] (JBSEAM-4893) Seam Mail does not work in JSF 2.0

John Gilbert (JIRA) jira-events at lists.jboss.org
Sat Jan 28 16:09:48 EST 2012


John Gilbert created JBSEAM-4893:
------------------------------------

             Summary: Seam Mail does not work in JSF 2.0
                 Key: JBSEAM-4893
                 URL: https://issues.jboss.org/browse/JBSEAM-4893
             Project: Seam 2
          Issue Type: Bug
          Components: Mail
    Affects Versions: 2.3.0.ALPHA
            Reporter: John Gilbert
            Assignee: Pete Muir


The attached maven project has a test case. The jsf12 profile works, but the jsf2 profile does not work.

The first problem is simple. The FaceletsRenderer in seam-ui-jsf2 still has a dependency on "com.sun.facelets.Facelet" instead of "com.sun.faces.facelets.Facelet". So you have to include the old com.sun.facelets:jsf-facelets jar of the render will not be initialized and you get a NPE:

{code}
	Caused by: java.lang.NullPointerException
		at org.jboss.seam.mock.AbstractSeamTest$Request.getRenderedMailMessage(AbstractSeamTest.java:810)
{code}

Once past the first issue, the next issue is that the ApplicationAssociate.getCurrentInstance() is not initialized in the AbstractSeamTest container, so another NPE is thrown.				
						
{code}
	Caused by: java.lang.NullPointerException
		at org.jboss.seam.ui.facelet.FaceletCompiler.initializeCompiler(FaceletCompiler.java:46)
		at org.jboss.seam.ui.facelet.FaceletCompiler.create(FaceletCompiler.java:38)
{code}

I'm not sure how to resolve this issue. I tried the following code but no luck.

{code}
	   protected void initializeCompiler(com.sun.faces.facelets.compiler.Compiler c) 
	   {
		   if (ApplicationAssociate.getCurrentInstance() != null) {
			      this.compiler = ApplicationAssociate.getCurrentInstance().getCompiler();
			   
		   } else {
		        // load decorators
//		        String decParam = webConfig
//		              .getOptionValue(FaceletsDecorators);
//		        if (decParam != null) {
//		            decParam = decParam.trim();
//		            String[] decs = Util.split(decParam, ";");
//		            TagDecorator decObj;
//		            for (String decorator : decs) {
//		                try {
//		                    decObj = (TagDecorator) ReflectionUtil.forName(decorator)
//		                          .newInstance();
//		                    c.addTagDecorator(decObj);
//
//		                } catch (Exception e) {
//		                }
//		            }
//		        }

		        c.addTagLibrary(new CoreLibrary());
		        c.addTagLibrary(new HtmlLibrary());
		        c.addTagLibrary(new UILibrary());
		        c.addTagLibrary(new JstlCoreLibrary());
		        c.addTagLibrary(new FunctionLibrary(JstlFunction.class, "http://java.sun.com/jsp/jstl/functions"));
		        c.addTagLibrary(new CompositeLibrary());
		   }
	   }
{code}
More info is available in the pom.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list