Return-Path: X-Original-To: apmail-myfaces-users-archive@www.apache.org Delivered-To: apmail-myfaces-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 60BC4D6F0 for ; Thu, 6 Dec 2012 00:33:53 +0000 (UTC) Received: (qmail 80251 invoked by uid 500); 6 Dec 2012 00:33:52 -0000 Delivered-To: apmail-myfaces-users-archive@myfaces.apache.org Received: (qmail 80214 invoked by uid 500); 6 Dec 2012 00:33:52 -0000 Mailing-List: contact users-help@myfaces.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "MyFaces Discussion" Delivered-To: mailing list users@myfaces.apache.org Received: (qmail 80206 invoked by uid 99); 6 Dec 2012 00:33:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Dec 2012 00:33:52 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of gerhard.petracek@gmail.com designates 209.85.212.51 as permitted sender) Received: from [209.85.212.51] (HELO mail-vb0-f51.google.com) (209.85.212.51) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 06 Dec 2012 00:33:45 +0000 Received: by mail-vb0-f51.google.com with SMTP id fq11so5304761vbb.10 for ; Wed, 05 Dec 2012 16:33:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=Kyfpg+Sf3lilAF7qdkO0SQmH9mm31kVFCRdjPw+mWk4=; b=tou9s8HOxZ090myhwSCnHlFqy59cW+848/l+p+wAo/XBOeif1AyfLpxRZVsdbkqpdt x2qUr7LIyNVs5rGtZJgminlOWJ6KMRaecrblCP1NY9lqvxG8tMS+QeE+2sdWCU0zMFBr OZX28lWgTMrL3F9nEP6etVBAcxE6ps5uC8j3Ux1XL+LTX6wPZtWEgvT+ybXbMa3sbYrU zS6cRRAlpwkN4teNirmrUJuteK2IwhzHIzgfgTCAKQjtOUzVEdwoOD0TmXKDsIimzIfl 9K2tb6OA6wiiwEkdPx9Kc6iw1Bo5h05GKIWpCy3oY2zdCDeP8ofj+sIr8tfI/yyO5OYX xj/Q== Received: by 10.220.40.135 with SMTP id k7mr16459948vce.12.1354754004902; Wed, 05 Dec 2012 16:33:24 -0800 (PST) MIME-Version: 1.0 Received: by 10.52.67.51 with HTTP; Wed, 5 Dec 2012 16:33:04 -0800 (PST) In-Reply-To: References: From: Gerhard Petracek Date: Thu, 6 Dec 2012 01:33:04 +0100 Message-ID: Subject: Re: el issue with weld (was: Bug EXTVAL-130?) To: MyFaces Discussion Cc: Jozef Hartinger Content-Type: multipart/alternative; boundary=bcaec54ee81238649104d0243f35 X-Virus-Checked: Checked by ClamAV on apache.org --bcaec54ee81238649104d0243f35 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable short addition: in this case it's actually Application#getELResolver#getValue (brian confirmed it for Application#evaluateExpressionGet which is needed by extval as well) 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 Gerhard Petracek > hi gerald, > > @ el issue with weld: > that sounds like a serious weld bug. > extval is just using the std. jsf-api (in this > case: javax.faces.application.Application#evaluateExpressionGet). > brian leathem confirmed the weld-issue -> maybe jozef can provide further > details. > > 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 Gerhard Petracek > >> hi gerald, >> >> @ veto: >> ClassDeactivator is just for classes which are listed in config files of >> cdi, jsf,... (and the specs. don't provide a possibility to disable them= ). >> in your case you just need the std. ProcessAnnotatedType#veto provided b= y >> cdi itself. >> >> @ BeanValidation#modelValidation >> >> i wrote both (the annotation as well as the add-on) -> i'm happy if you >> can use one of both. >> however, please note that they work differently. >> the add-on triggers class-level validation (for special classes) at the >> end of the validation-phase of the request-lifecycle and >> BeanValidation#modelValidation is just the integration of class-level >> validation which gets triggered at the end of the update-model-values >> phase. >> >> @ snapshot repository: >> see [1] >> >> regards, >> gerhard >> >> [1] https://repository.apache.org/content/groups/snapshots >> >> http://www.irian.at >> >> Your JSF/JavaEE powerhouse - >> JavaEE Consulting, Development and >> Courses in English and German >> >> Professional Support for Apache MyFaces >> >> >> >> 2012/12/5 Gerald Turner >> >>> Hi Gerhard, thanks for the response! >>> >>> >>> Gerhard Petracek writes: >>> >>> > @codi + seam >>> > yes - that's possible. >>> > it depends on what you are using from both. >>> > e.g. in case of the jsf-module of codi + seam-faces you have to veto >>> > one of the producers for the FacesContext. >>> >>> Exactly, jsf/faces modules from both. Is vetoing done with >>> ClassDeactivator and writing a service-loader file? >>> >>> > @ "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": >>> > >>> > ... sounds like an as7 issue. it occurs during the rendering process >>> > (see e.g. UIComponentBase#encodeBegin) -> as7 has to ensure that all >>> > parts of cdi and jsf are up and running. >>> >>> I spent some time digging around the issue going on a tip from JIRA >>> issue EXTVAL-140 (thanks Igor Guimaraes) - looks like it's a Weld bug. >>> Weld ELResolver#getValue implementation will fail unless it's nested in >>> a stack evaluating a Weld ValueExpression or MethodExpression. OTOH, >>> ValueExpression#getValue works every time. Even stranger is that when = I >>> revert the project from CODI to Seam3, Weld ELResolver#getValue will >>> return nulls instead of throwing an exception. Attached is a dummy >>> RENDER_RESPONSE PhaseListener that exhibits the bug (all the >>> "tryELResolver" tests fail while all the "tryValueExpression" tests >>> succeed). I'll work on reporting this to Weld. Is there any chance a >>> work-around could be added to ExtVal 2.0.7-SNAPSHOT? (i.e. using a >>> ValueExpression instead of ELResolver for BV startup) >>> >>> > @enabling injection via @Advanced: >>> > the only known (and already fixed) issue is [1]. >>> >>> Is there a public maven repository where I can link 1.0.6-SNAPSHOT? >>> >>> > just fyi (since you wrote "JSR-303 cross-field validation"). >>> > annotations like @DateIs were introduced before the bv-spec. was >>> > released and don't use the bv-api at all (that's the reason why they >>> > are in a different validation module). >>> > you would need e.g. [2] to use the bv-api with a thin layer to allow >>> > bv based cross-field validation. >>> >>> I was wrong about my original statement that cross-field validation >>> wasn't working (whereas @DateIs was working)=85 they're both working. >>> >>> I had this question on the mailing list in March and you pointed me at >>> the extension then too. I didn't have to use the extension you wrote. >>> I'm using the following ExtVal-BV annotation on the fields of a CDI bea= n >>> that I want cross-validation: >>> @BeanValidation(modelValidation=3D@ModelValidation(isActive=3Dtrue)) >>> =85this has been working great - am I missing something? >>> >>> -- >>> Gerald Turner Email: gturner@unzane.com JID: gturner@unzane.com >>> GPG: 0xFA8CD6D5 21D9 B2E8 7FE7 F19E 5F7D 4D0C 3FA0 810F FA8C D6D5 >>> >> >> > --bcaec54ee81238649104d0243f35--