dev@jsftemplating.java.net

Re: JSFTemplating: I keep getting "com.sun.jsftemplating.layout.LayoutDefinitionException"

From: Ken Paulsen <Ken.Paulsen_at_Sun.COM>
Date: Fri, 29 Sep 2006 12:44:18 -0700

If you only see that message, then the
-Dcom.sun.jsftemplating.DEBUG=true isn't being recognized.

See if you can figure out why... Also, I wouldn't expect that updating
files would work if you're seeing this.

I am going to make a change so that you can turn on DEBUG'ing w/ init
params instead of JVM variables... it's on my todo list anyway.

Ken

Todd Patrick wrote:
> Ken: OK, that was my fault, I got everything set-up correctly.
>
> When I went to the info.jsf and all I see is:
>
> Powered by Templating for JavaServer(tm) Faces Technology!
>
> Visit https://jsftemplating.dev.java.net
> <https://jsftemplating.dev.java.net/> to learn more about Templating
> for JavaServer(tm) Faces Technology.
>
>
> So, I know that everything is set-up correctly, the command worked and I
> can update the UI Live (Sweet!).
>
> However, I don't see any additional information?
>
> I've attached my WebContent directory.
>
> Thanks,
>
> --Todd
>
> ________________________________
>
> From: Ken.Paulsen_at_Sun.COM [mailto:Ken.Paulsen_at_Sun.COM]
> Sent: Friday, September 29, 2006 11:22 AM
> To: dev_at_jsftemplating.dev.java.net
> Subject: Re: JSFTemplating: I keep getting
> "com.sun.jsftemplating.layout.LayoutDefinitionException"
>
>
>
> How are you specifying the jvm option? I think you can do it by setting
> an environment variable named: "CATALINA_OPTS" to
> "-Dcom.sun.jsftemplating.DEBUG=true".
>
> Ken
>
> Todd Patrick wrote:
>
> Here is the logged error:
>
> [2006-09-29 09:31:16] [415 javajni.c] [error] CreateJavaVM
> Failed
> [2006-09-29 09:31:17] [770 prunsrv.c] [error] Failed
> initializing java C:\Tomcat 5.0\bin\bootstrap.jar
> [2006-09-29 09:31:17] [982 prunsrv.c] [error] ServiceStart
> returned 2
>
> (Sorry about the blank email)
>
> Thanks,
>
> --Todd
>
> ________________________________
>
> From: Todd Patrick [mailto:Todd.Patrick_at_dtn.com]
> Sent: Friday, September 29, 2006 9:29 AM
> To: dev_at_jsftemplating.dev.java.net
> Subject: RE: JSFTemplating: I keep getting
> "com.sun.jsftemplating.layout.LayoutDefinitionException"
>
>
> hmmm... I am doing something wrong here.
>
> Server: Tomcat 5.0.28
>
> When I try to turn on the com.sun.jsftemplating.DEBUG=true,
> Tomcat won't start-up and it says it can't find the server.xml? That's
> new!
>
> Thoughts?
>
> Thanks,
>
> --Todd
>
> ________________________________
>
> From: Ken.Paulsen_at_Sun.COM [mailto:Ken.Paulsen_at_Sun.COM]
> Sent: Thursday, September 28, 2006 2:04 PM
> To: dev_at_jsftemplating.dev.java.net
> Subject: Re: JSFTemplating: I keep getting
> "com.sun.jsftemplating.layout.LayoutDefinitionException"
>
>
>
> Yes, there is a very easy way to include files. Here's an
> example:
>
> file1 (header.jsf):
>
>
> <rave:whatever... >
> "more header stuff...
>
>
> file2 (footer.jsf):
>
>
> "footer stuff, copyright, whatever...
> </rave:whatever>
>
>
>
> file3 (somepage.jsf):
>
>
> #include "/header.jsf"
>
> "This is the main content for somepage.jsf
>
> #include "/footer.jsf"
>
>
>
> This feature works with the XML and template formats.
> Individual "include" files do not have to be well formed and the entire
> page can still be validated with an XML parser. The including happens
> at the stream level so it is transparent to the parser and even the rest
> of JSFTemplating.
>
> The real-time update feature is also available in JSFTemplating.
> It is enabled by setting the "com.sun.jsftemplating.DEBUG=true" jvm
> option. If you have any trouble turning this on, let me know.
>
> I don't know of any feature that Facelets has that JSFTemplating
> doesn't. One thing Facelets does do better is error message reporting.
> It also has better documentation... although I hope to help address
> that.
>
> Thanks,
>
> Ken
>
> Todd Patrick wrote:
>
> Ken:
>
> Thank you for the detail explanation. This is tremendous
> help!
>
> I picked Facelets for two reasons:
>
> 1.) The project is relatively large, thus including a
> standard header
> and menu is important.
>
> 2.) I can update the User Interface Live which is a real
> time saver.
>
> After seeing how JSFTemplating works, I wish it would
> work with
> Facelets, but I understand that it would be a large
> undertaking to do
> so...
>
> I believe I am at square one again. I have to use
> Facelets, unless there
> is a way to include files in JSFTemplating similar to
> Facelets?
>
> Thanks,
>
> --Todd
>
> -----Original Message-----
> From: Ken.Paulsen_at_Sun.COM [mailto:Ken.Paulsen_at_Sun.COM]
> Sent: Thursday, September 28, 2006 12:25 PM
> To: dev_at_jsftemplating.dev.java.net
> Subject: Re: JSFTemplating: I keep getting
> "com.sun.jsftemplating.layout.LayoutDefinitionException"
>
>
> This problem is b/c both facelets and JSFTemplating are
> installed in
> your application and both are trying to handle the
> request. This
> exception should be non-fatal in JSFTemplating and is
> warning you that
> it didn't recognize the page you requested (because it
> was a Facelets
> page). The ViewHandler should then delegate to another
> ViewHandler (the
> faces ViewHandler) and the page should display (unless
> there are other
> errors).
>
> To answer your question... the LayoutDefinitionManager
> instances are
> created automatically (by the LayoutDefinitionManger
> class itself). Only
> one LDM is needed per file format (2 are currently
> supported). A custom
> LDM can be provided via the servlet initParam:
> "LayoutDefinitionManagerImpl" .. this is *not* required
> or even
> recommended. Bot JSFTemplating file formats are
> supported
> out-of-the-box. The LDM instances are responsible for
> implementing a
> method called "accepts(String)" which is used to see if
> the LDM can
> handle a particular "viewId". The .faces requests that
> you are sending
> are not handled by either LDM b/c they are Facelets
> pages, not
> JSFTemplating pages.
>
> It would be interesting to write an LDM that handled
> Facetlets pages...
> that doesn't exist today, though, and would likely be a
> significant
> effort. You would also lose most of the benefits of
> Facelets (although
> you'd gain all the benefits of JSFTemplating -- many of
> which are
> identical benefits to Facelets).
>
> Ken
>
> Todd Patrick wrote:
>
>
> How do I create a LayoutDefinitionManager?
>
> I've been looking at the JavaDocs at
>
> https://jsftemplating.dev.java.net/nonav/javadoc/index.html and this
> is somewhat confusing.
>
> Thanks,
>
> --Todd
>
>
>
> com.sun.jsftemplating.layout.LayoutDefinitionException: No
> LayoutDefinitionManager available for
> 'eaigft/eaigft.faces'. This may
>
>
>
>
>
> mean the file cannot be found, or is
> unrecognizable.
> at
>
> com.sun.jsftemplating.layout.LayoutDefinitionManager.getLayoutDefiniti
> on
> Manager(LayoutDefinitionManager.java:251)
> at
>
> com.sun.jsftemplating.layout.LayoutDefinitionManager.getLayoutDefiniti
> on
> (LayoutDefinitionManager.java:208)
> at
>
> com.sun.jsftemplating.layout.LayoutViewRoot.getLayoutDefinition(Layout
> Vi
> ewRoot.java:227)
> at
>
> com.sun.jsftemplating.layout.LayoutViewHandler.createView(LayoutViewHa
> nd
> ler.java:128)
> at
>
> com.sun.facelets.FaceletViewHandler.createView(FaceletViewHandler.java
> :7
> 82)
> at
>
> com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java
> :1
> 64)
> at
>
> com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
> at
>
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
> at
>
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> ca
> tionFilterChain.java:237)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lt
> erChain.java:157)
> at
>
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Fi
> lt
> erChainProxy.java:264)
> at
>
> org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(Filte
> rS
> ecurityInterceptor.java:107)
> at
>
> org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(Fil
> te
> rSecurityInterceptor.java:72)
> at
>
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Fi
> lt
> erChainProxy.java:274)
> at
>
> org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTran
> sl
> ationFilter.java:110)
> at
>
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Fi
> lt
> erChainProxy.java:274)
> at
>
> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilt
> er
> (AnonymousProcessingFilter.java:125)
> at
>
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Fi
> lt
> erChainProxy.java:274)
> at
>
> org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFi
> lt
>
> er(SecurityContextHolderAwareRequestFilter.java:81)
> at
>
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Fi
> lt
> erChainProxy.java:274)
> at
>
> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcess
> in
> gFilter.java:217)
> at
>
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Fi
> lt
> erChainProxy.java:274)
> at
>
>
>
>
> org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108)
>
>
> at
>
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Fi
> lt
> erChainProxy.java:274)
> at
>
> org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(Re
> me
> mberMeProcessingFilter.java:142)
> at
>
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Fi
> lt
> erChainProxy.java:274)
> at
>
> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter
> (H
> ttpSessionContextIntegrationFilter.java:191)
> at
>
> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(Fi
> lt
> erChainProxy.java:274)
> at
>
> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java
> :1
> 48)
> at
>
> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.ja
> va
> :90)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> ca
> tionFilterChain.java:186)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lt
> erChain.java:157)
> at
>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> lv
> e.java:214)
> at
>
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValve
> Co
> ntext.java:104)
> at
>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
> :5
> 20)
> at
>
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardC
> on
> textValve.java:198)
> at
>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> lv
> e.java:152)
> at
>
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValve
> Co
> ntext.java:104)
> at
>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
> :5
> 20)
> at
>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> va
> :137)
> at
>
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValve
> Co
> ntext.java:104)
> at
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> va
> :118)
> at
>
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValve
> Co
> ntext.java:102)
> at
>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
> :5
> 20)
> at
>
>
>
>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
>
>
> java:109)
> at
>
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValve
> Co
> ntext.java:104)
> at
>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
> :5
> 20)
> at
>
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> at
>
>
>
>
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>
>
> at
>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> 79
> 9)
> at
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
> sC
> onnection(Http11Protocol.java:705)
> at
>
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
> 57
> 7)
> at
>
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPo
> ol
> .java:683)
> at java.lang.Thread.run(Thread.java:595)
>
> -----Original Message-----
> From: Todd Patrick [mailto:Todd.Patrick_at_dtn.com]
> Sent: Thursday, September 28, 2006 9:54 AM
> To: dev_at_jsftemplating.dev.java.net
> Subject: JSFTemplating: I keep getting
>
> "com.sun.jsftemplating.layout.LayoutDefinitionException"
>
> I think I am close, but I keep returning the
> exception:
>
>
> com.sun.jsftemplating.layout.LayoutDefinitionException
>
> My .xhtml page is:
>
> <!DOCTYPE layoutDefinition SYSTEM
> "/jsftemplating/layout.dtd"> <html
> xmlns="http://www.w3.org/1999/xhtml"
> <http://www.w3.org/1999/xhtml>
>
> xmlns:ui="http://java.sun.com/jsf/facelets"
> <http://java.sun.com/jsf/facelets>
> xmlns:h="http://java.sun.com/jsf/html"
> <http://java.sun.com/jsf/html>
> xmlns:f="http://java.sun.com/jsf/core"
> <http://java.sun.com/jsf/core>
> xmlns:rave="http://www.sun.com/web/ui"
> <http://www.sun.com/web/ui> >
> <ui:composition
> template="/common/template.xhtml">
>
> <ui:define name="title">Petro Admin:
> EAI/GFT</ui:define>
>
> <ui:define name="body">
> <layoutDefinition>
> <layout>
> <component
> type="staticText" id="hello">
> <option
> name="value"
> value="Hello World!" />
> </component>
> </layout>
> </layoutDefinition>
> </ui:define>
> </ui:composition>
> </html>
>
> I tried using just straight rave components in
> the page such as:
>
> <rave:staticText text="Hello World!" />
>
> But that throws the same exception.
>
> Thoughts?
>
> Thanks,
>
> --Todd
>
>
>
>