Partially solved:

The problem is if you define adf core render kit as the default default
render kit, some of the tomahawk/myfaces/facelets components have no
rendering context (not sure which component, cos the exception helpfully
does not tell me), hence the null pointer.

    <application>
        <default-render-kit-id>
            oracle.adf.core
        </default-render-kit-id>
    </application>

However, if I don't define oracle.adf.core as the default render kit, I
get real ADF components in the component tree but they don't render:

eg. component is:
oracle.adf.view.faces.component.core.input.CoreChooseDate,
renderer=oracle.adf.Date toString=CoreChooseDate[UINodeFacesBean,
id=idp1]

The error is:

        Mar 23, 2006 11:36:12 PM
oracle.adf.view.faces.component.UIXComponentBase _getRendererImpl
        WARNING: Could not find renderer for
CoreChooseDate[UINodeFacesBean, id=idp1], rendererType = oracle.adf.Date

I commented out the facelets view handler in faces-config.xml and added
the following to web.xml
(I can't seem to see the url http://tinyurl.com/dac6y for the example
web.xml)

    <context-param>  
 
<param-name>oracle.adf.view.faces.ALTERNATE_VIEW_HANDLER</param-name>
        <param-value>com.sun.facelets.FaceletViewHandler</param-value>
    </context-param>

Can I define the ADF render kit just for the ADF components I want to
use?
I presume the alternative is to define a render kit for the MyFaces
components I want to use?

I tried adding some code below to faces-config.xml but it made no
difference to the render.

  <render-kit>
    <render-kit-id>oracle.adf.core</render-kit-id>
    <renderer>
      <component-family>oracle.adf.Output</component-family>
      <renderer-type>oracle.adf.Formatted</renderer-type>
 
<renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.Outpu
tFormattedRenderer</renderer-class>
    </renderer>
    <renderer>
      <component-family>oracle.adf.Choose</component-family>
      <renderer-type>oracle.adf.Date</renderer-type>
 
<renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.Choos
eDateRenderer</renderer-class>
    </renderer>
    <renderer>
      <component-family>oracle.adf.Input</component-family>
      <renderer-type>oracle.adf.Text</renderer-type>
 
<renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.Input
TextRenderer</renderer-class>
    </renderer>
    <renderer>
      <component-family>oracle.adf.SelectInput</component-family>
      <renderer-type>oracle.adf.Date</renderer-type>
 
<renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.Selec
tInputDateRenderer</renderer-class>
    </renderer>
    <renderer>
      <component-family>oracle.adf.Object</component-family>
      <renderer-type>oracle.adf.Separator</renderer-type>
 
<renderer-class>oracle.adfinternal.view.faces.uinode.UINodeRendererBase<
/renderer-class>
    </renderer>
    <renderer>
      <component-family>oracle.adf.Command</component-family>
      <renderer-type>oracle.adf.Link</renderer-type>
 
<renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.Comma
ndLinkRenderer</renderer-class>
    </renderer>
    <renderer>
      <component-family>oracle.adf.Panel</component-family>
      <renderer-type>oracle.adf.Group</renderer-type>
 
<renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.Panel
GroupRenderer</renderer-class>
    </renderer>
  </render-kit>
    
Also, if I have the ADF jars in my WEB-INF/lib folder in the tree, I
get:

java.lang.IllegalStateException: Duplicate id : _id0. Child could not be
added.

The ADF jars are below:
adf-faces-api-ea20-SNAPSHOT.jar
adf-faces-api-ea20-SNAPSHOT-mock.jar
adf-faces-build-ea20-SNAPSHOT.jar
adf-faces-impl-ea20-SNAPSHOT.jar

Not exactly sure what the mock and build ones are for, but I left them
in the .war anyway.

===============< phase RENDER_RESPONSE(6)>===========
Mar 24, 2006 2:14:34 AM com.sun.facelets.FaceletViewHandler renderView
FINE: Rendering View: /main.xhtml
Mar 24, 2006 2:14:34 AM com.sun.facelets.FaceletViewHandler
getRenderedViewId
FINE: ActionId -> ViewId: /main.xhtml -> /main.xhtml
Mar 24, 2006 2:14:34 AM com.sun.facelets.FaceletViewHandler buildView
FINE: Building View: /main.xhtml
Mar 24, 2006 2:14:34 AM com.sun.facelets.tag.jsf.ComponentHandler apply
FINE: /main.xhtml @12,23 <a:scopeTracker> Component[/main.xhtml#0]
Found, marking children for cleanup
Mar 24, 2006 2:14:34 AM com.sun.facelets.tag.jsf.ComponentHandler apply
FINE: /main.xhtml @23,47 <ui:debug> Component[/main.xhtml#1] Created:
com.sun.facelets.tag.ui.UIDebug
Mar 24, 2006 2:14:34 AM com.sun.facelets.FaceletViewHandler
handleRenderException
SEVERE: Error Rendering View[/main.xhtml]
java.lang.IllegalStateException: Duplicate id : _id0. Child could not be
added.
        at
javax.faces.component._ComponentChildrenList.checkAddAllowed(_ComponentC
hildrenList.java:95)
        at
javax.faces.component._ComponentChildrenList.add(_ComponentChildrenList.
java:76)
        at
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:17
5)
        at
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandl
er.java:47)
        at
com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:4
9)
        at
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandl
er.java:47)
        at
com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
        at
com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:40
8)
        at
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:4
42)
        at
oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(Vie
wHandlerImpl.java:159)
        at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:367
)
        at
javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
        at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(
AdfFacesFilterImpl.java:279)
        at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(Ad
fFacesFilterImpl.java:248)
        at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFace
sFilterImpl.java:172)
        at
oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java
:80)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
        at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFil
ter.java:93)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
        at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFil
ter.java:130)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
        at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(
AdfFacesFilterImpl.java:279)
        at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(Ad
fFacesFilterImpl.java:248)
        at
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFace
sFilterImpl.java:172)
        at
oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java
:80)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:202)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:178)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:432)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:126)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:105)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:107)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
48)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:86
9)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
essConnection(Http11BaseProtocol.java:667)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:527)
        at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:80)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)
        at java.lang.Thread.run(Thread.java:595)

Any help appreciated as this is driving me up the wall.  Sorry to spam
both groups but I really don't know if my issue is Facelet related or
MyFaces related.

Regards, Murray

Reply via email to