myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gerhard Petracek <gerhard.petra...@gmail.com>
Subject Re: AW: Re: Re: Regression between myfaces-extval-core and primefaces: System-Event-Listeners are called too late.
Date Fri, 07 Dec 2012 10:24:14 GMT
hi heiko,

no - there is no parsing.

you could try to manually add the PreRenderViewListener to your page
(/template).
(or just add the WidgetBuilder via a PhaseListener - in #beforePhase +
#getPhaseId has to return PhaseId.RENDER_RESPONSE)

regards,
gerhard

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2012/12/7 <it-media.kopp@daimler.com>

>
> Hello,
>
> thanks for your reply. I do not want to disable validation completely,
> just prevent client side behavior (if thats possible).
>
> Heiko
>
>
>
> *struberg@yahoo.de*
>
> 07.12.2012 08:10
> Bitte antworten an
> dev@myfaces.apache.org
>
> An
> dev@myfaces.apache.org
> Kopie
> Thema
> AW: Re: Re: Regression between myfaces-extval-core and primefaces:
> System-Event-Listeners are called too late.
>
>
>
>
>
> maybe try disabling the block with <f:validateBean>?
>
>
> ------------------------------
> it-media.kopp@daimler.com schrieb am Do., 6. Dez 2012 21:53 PST:
>
> >Hello Gerhard,
> >
> >I will do so. I tried a very simple example just yet, but this does not
> >show the issue. I've a feeling that I need to add at last some bean
> >validation annotations to a used bean in the view to trigger the extval
> >proxy to do its work. My assumtion is that extval tries to parse the page
> >to include maybe client side validation parts and does so before any
> >system event handlers have been initialized.
> >
> >I'll head back to you with a link for an example.
> >
> >Just because I'm curious, is there a configuration option to temporarily
> >disable any client side validation?
> >
> >Best regards,
> >
> >Heiko
> >
> >
> >
> >
> >gerhard.petracek@gmail.com
> >06.12.2012 10:47
> >Bitte antworten an
> >dev@myfaces.apache.org
> >
> >
> >An
> >dev@myfaces.apache.org
> >Kopie
> >
> >Thema
> >Re: Regression between myfaces-extval-core and primefaces:
> >System-Event-Listeners are called too late.
> >
> >
> >
> >
> >
> >
> >hi heiko,
> >
> >it would be great if you can provide a link to a small example which
> >illustrates the issue.
> >
> >regards,
> >gerhard
> >
> >http://www.irian.at
> >
> >Your JSF/JavaEE powerhouse -
> >JavaEE Consulting, Development and
> >Courses in English and German
> >
> >Professional Support for Apache MyFaces
> >
> >
> >
> >2012/12/6 <it-media.kopp@daimler.com>
> >
> >Hello,
> >
> >We have come across an issue that occurs in the combination of
> >myfaces-extval and primefaces.
> >
> >We use the following configuration:
> >
> >myfaces-extcdi-bundle-jsf20 (1.0.6)
> >myfaces-extval-core (2.0.6)
> >myfaces-extval-bean-validation (2.0.6)
> >myfaces-extval-property-validation (2.0.6)
> >primefaces-3.5 (revision 8433)
> >
> >The new primefaces uses a JSF System-Event-Listener to register a widget
> >builder in the context.
> >
> ><system-event-listener>
> >    <source-class>javax.faces.component.UIViewRoot</source-class>
> >
>
> ><system-event-class>javax.faces.event.PreRenderViewEvent</system-event-class>
> >
>
> ><system-event-listener-class>org.primefaces.webapp.PreRenderViewListener</system-event-listener-class>
> ></system-event-listener>
> >
> >with the following content:
> >
> >public class PreRenderViewListener implements SystemEventListener {
> >    public boolean isListenerForSource(Object source) {
> >        return true;
> >    }
> >
> >    public void processEvent(SystemEvent event) throws
> >AbortProcessingException {
> >
> >FacesContext.getCurrentInstance().getAttributes().put(Constants.WIDGET_BUILDER_ATTR,
>
> >new WidgetBuilder());
> >    }
> >}
> >
> >However, this system event listener seems to be called too late, as the
> >ExtValLazyRendererProxy tries to encode components first. This leads to
> an
> >exception at application start:
> >
> >java.lang.NullPointerException
> >at
>
> >org.primefaces.component.dialog.DialogRenderer.encodeScript(DialogRenderer.java:51)
> >at
>
> >org.primefaces.component.dialog.DialogRenderer.encodeEnd(DialogRenderer.java:43)
> >at
>
> >org.apache.myfaces.extensions.validator.core.renderkit.ExtValLazyRendererProxy.encodeEnd(ExtValLazyRendererProxy.java:76)
> >at
>
> >org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererWrapper.encodeEnd(ExtValRendererWrapper.java:358)
> >at
> >javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:535)
> >at javax.faces.component.UIComponent.encodeAll(UIComponent.java:626)
> >at javax.faces.component.UIComponent.encodeAll(UIComponent.java:622)
> >at javax.faces.component.UIComponent.encodeAll(UIComponent.java:622)
> >at
>
> >org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1320)
> >at
>
> >org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:263)
> >at
>
> >javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
> >at
>
> >javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
> >at
>
> >org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:85)
> >
> >
> >Primefaces rejected this an an error in their code. Is there a way that
> >within myfaces-extval-core, it can be made sure that system event
> >listeners are called before the lazy renderer starts its work?
> >
> >Thank you very much for your help,
> >
> >Best regards,
> >
> >Heiko
> >
> >If you are not the intended addressee, please inform us immediately that
> >you have received this e-mail in error, and delete it. We thank you for
> >your cooperation.
> >
> >
> >
> >If you are not the intended addressee, please inform us immediately that
> you have received this e-mail in error, and delete it. We thank you for
> your cooperation.  dis
>
>
> If you are not the intended addressee, please inform us immediately that
> you have received this e-mail in error, and delete it. We thank you for
> your cooperation.
>

Mime
View raw message