I can confirm the same about CODI @Advanced not working in/with JSF
@FacesConverter. My workaround (in a TomEE/CDI/MyFaces-CODI project) was to
only add the @FacesConverter to JSF @RequestScoped managed beans, and they
are working great in/with TomEE 1.5.1 SNAPSHOT.

I have been told that CODI @Advanced and converters have been tested
extensively, and there are code samples for CODI @Advanced for converters,
but still they don't work for me (at least in TomEE 1.5.1 SNAPSHOT).

I can't even get my TomEE/CDI app to work in Glassfish3.1.2.2/WELD, so what
I mentioned above is all I can speak on at the present.

Wait for some of the others to respond to your msg.

Howard

On Tue, Dec 4, 2012 at 2:40 PM, Gerald Turner <gtur...@unzane.com> wrote:

> Hello, I'm in the process of converting a JSF2/CDI application from
> Seam3 to MyFaces ExtCDI/CODI.  The application had been using MyFaces
> ExtVal-BV so that JSR-303 cross-field validation would work in the
> front-end.  Simply replacing Seam3 with CODI evoked the following
> stacktrace during the first page view (during MyFaces EXT* lazy init),
> and ExtVal-BV doesn't seem to be working entirely (annotations like
> @DateIs work, but my ConstraintValidators aren't being executed).
> Things actually get worse than that, some injection points no longer
> work, particularly on an abstract superclass - but I figure I should
> solve this warning before exploring that issue.  Also injection in
> FacesConverter and ConstraintValidators (when triggered by JPA) don't
> work even after annotating with @Advanced - again, probably a secondary
> effect.  Also yet another tangent - I've heard that CODI and Seam3 can
> be deployed together, but under JBoss 7.1.1.Final the app doesn't deploy
> due to Weld errors with ambiguous producers - I haven't found any
> documentation that describes any Veto-esque configuration.
>
> This looks exactly like JIRA issue EXTVAL-130, only I'm using JBoss
> 7.1.1.Final instead of Glassfish, but they both share Weld, and I am
> using ExtVal 2.0.6, which is the fixed version.
>
> Relevant parts of my pom.xml:
>
>     <!-- CDI & MyFaces ExtCDI/CODI -->
>     <dependency>
>       <groupId>javax.enterprise</groupId>
>       <artifactId>cdi-api</artifactId>
>       <version>1.0-SP4</version>
>       <scope>provided</scope>
>     </dependency>
>     <dependency>
>       <groupId>org.apache.myfaces.extensions.cdi.bundles</groupId>
>       <artifactId>myfaces-extcdi-bundle-jsf20</artifactId>
>       <version>1.0.5</version>
>     </dependency>
>
>     <!-- MyFaces ExtVal -->
>     <dependency>
>
> <groupId>org.apache.myfaces.extensions.validator.validation-modules</groupId>
>       <artifactId>myfaces-extval-property-validation</artifactId>
>       <version>2.0.6</version>
>       <exclusions>
>         <exclusion>
>           <groupId>javax.persistence</groupId>
>           <artifactId>persistence-api</artifactId>
>         </exclusion>
>       </exclusions>
>     </dependency>
>     <dependency>
>
> <groupId>org.apache.myfaces.extensions.validator.validation-modules</groupId>
>       <artifactId>myfaces-extval-bean-validation</artifactId>
>       <version>2.0.6</version>
>       <exclusions>
>         <exclusion>
>           <groupId>javax.validation</groupId>
>           <artifactId>validation-api</artifactId>
>         </exclusion>
>       </exclusions>
>     </dependency>
>
> Some bits of the CODI startup version output (need to see the booleans
> too?):
>
>   10:56:32,600 INFO
> [org.apache.myfaces.extensions.cdi.jsf2.impl.Jsf2ModuleStartupObserver]
> (http--0.0.0.0-8080-1) [Started] MyFaces CODI JSF-Module v1.0.5 for JSF 2.0
> Used JSF implementation: Mojarra vnull
>
>   10:56:32,611 INFO
> [org.apache.myfaces.extensions.cdi.jpa.impl.JpaModuleStartupObserver]
> (http--0.0.0.0-8080-1) [Started] MyFaces CODI JPA-Module v1.0.5
>
>   10:56:32,620 INFO
> [org.apache.myfaces.extensions.cdi.core.impl.CoreStartupObserver]
> (http--0.0.0.0-8080-1) [Started] MyFaces CODI (Extensions CDI) Core v1.0.5
> Used CDI implementation: Weld v2012-02-10 15:31
>
> The stacktrace:
>
>   10:56:33,838 WARNING
> [org.apache.myfaces.extensions.validator.beanval.ValidatorFactoryProxy]
> (http--0.0.0.0-8080-1) failed to lookup a bean with the name
> contextAwareValidatorFactory: java.lang.IllegalStateException: No
> CreationalContext registered for EL evaluation, it is likely that the the
> expression factory has not been wrapped by the CDI BeanManager, which must
> be done to use the ELResolver from CDI
>     at
> org.jboss.weld.el.AbstractWeldELResolver.getELCreationalContext(AbstractWeldELResolver.java:148)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>     at
> org.jboss.weld.el.AbstractWeldELResolver.lookup(AbstractWeldELResolver.java:123)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>     at
> org.jboss.weld.el.AbstractWeldELResolver.getValue(AbstractWeldELResolver.java:96)
> [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]
>     at
> org.jboss.as.weld.webtier.jsf.ForwardingELResolver.getValue(ForwardingELResolver.java:46)
> [jboss-as-weld-7.1.1.Final.jar:7.1.1.Final]
>     at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:175)
> [jboss-el-api_2.2_spec-1.0.0.Final.jar:1.0.0.Final]
>     at
> com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
>     at
> com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
>     at
> org.apache.myfaces.extensions.validator.core.el.DefaultELHelper.getBean(DefaultELHelper.java:79)
> [myfaces-extval-core-2.0.6.jar:2.0.6]
>     at
> org.apache.myfaces.extensions.validator.beanval.ValidatorFactoryProxy.getValidatorFactory(ValidatorFactoryProxy.java:58)
> [myfaces-extval-bean-validation-2.0.6.jar:2.0.6]
>     at
> org.apache.myfaces.extensions.validator.beanval.ValidatorFactoryProxy.getValidator(ValidatorFactoryProxy.java:86)
> [myfaces-extval-bean-validation-2.0.6.jar:2.0.6]
>     at
> org.apache.myfaces.extensions.validator.beanval.util.BeanValidationUtils.getElementDescriptor(BeanValidationUtils.java:108)
> [myfaces-extval-bean-validation-2.0.6.jar:2.0.6]
>     at
> org.apache.myfaces.extensions.validator.beanval.BeanValidationModuleValidationInterceptorInternals.initComponentWithPropertyDetails(BeanValidationModuleValidationInterceptorInternals.java:104)
> [myfaces-extval-bean-validation-2.0.6.jar:2.0.6]
>     at
> org.apache.myfaces.extensions.validator.beanval.BeanValidationModuleValidationInterceptor.initComponentWithPropertyDetails(BeanValidationModuleValidationInterceptor.java:70)
> [myfaces-extval-bean-validation-2.0.6.jar:2.0.6]
>     at
> org.apache.myfaces.extensions.validator.beanval.BeanValidationModuleValidationInterceptor.initComponent(BeanValidationModuleValidationInterceptor.java:60)
> [myfaces-extval-bean-validation-2.0.6.jar:2.0.6]
>     at
> org.apache.myfaces.extensions.validator.core.interceptor.AbstractValidationInterceptor.beforeEncodeBegin(AbstractValidationInterceptor.java:112)
> [myfaces-extval-core-2.0.6.jar:2.0.6]
>     at
> org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererWrapper.encodeBegin(ExtValRendererWrapper.java:183)
> [myfaces-extval-core-2.0.6.jar:2.0.6]
>     at
> javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>     at
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:302)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
>     at
> com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
>     at
> com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
> [jsf-impl-2.1.7-jbossorg-2.jar:]
>     at
> org.apache.myfaces.extensions.validator.core.renderkit.ExtValLazyRendererProxy.encodeChildren(ExtValLazyRendererProxy.java:70)
> [myfaces-extval-core-2.0.6.jar:2.0.6]
>     at
> org.apache.myfaces.extensions.validator.core.renderkit.ExtValRendererWrapper.encodeChildren(ExtValRendererWrapper.java:286)
> [myfaces-extval-core-2.0.6.jar:2.0.6]
>     at
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>     at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
> [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]
>     at javax.faces.rinal.jar:]
>     at org.jboss.as.jpa.interceptor.WebNonTxEmCl
>
> --
> Gerald Turner   Email: gtur...@unzane.com   JID: gtur...@unzane.com
> GPG: 0xFA8CD6D5  21D9 B2E8 7FE7 F19E 5F7D  4D0C 3FA0 810F FA8C D6D5
>

Reply via email to