6.4.3 starts out... Suppose a Unified EL expression in a JSF or JSP page...
I wasn't going to say anything until I had a test I believed, but I don't see how the ApplicationFactory solution works for jsps, and I don't see how something that works for jsps can fail to also work for jsf pages. So far I still think the OwbApplicationFactory doesn't do anything useful, but I'm keeping an open mind until I have more evidence. thanks david jencks On Dec 8, 2010, at 11:37 AM, Gurkan Erdogdu wrote: > David, > > This is for JSF pages not an ordinary JSP pages. This is the reason why we > registered application factory. > > --Gurkan > > > > ----- Original Message ---- > From: David Jencks <[email protected]> > To: [email protected] > Sent: Wed, December 8, 2010 8:25:29 PM > Subject: Re: Yan:: svn commit: r1042754 - > /openwebbeans/trunk/webbeans-jsf/src/main/resources/META-INF/faces-config.xml > > Investigating this is taking longer than I hoped. There's a tck test for > 6.4.3, > but it doesn't test most of the requirements in 6.4.3 and it's not clear to > me > that it has any relevance to how EL would work in a jsp or jsf page since the > test doesn't involve a jsp or jsf. I enhanced the test to check the "destroy > at > end of evaluation" and "new expression results in new bean" requirements and > now > it fails in geronimo with or without the modification in faces-config.xml > because the beans aren't getting destroyed after expression evaluation. I'm > going to try writing an actual jsp page to check if it works. > > The tck test is > > org.jboss.jsr299.tck.tests.lookup.el.ResolutionByNameTest > > and my altered method is > > @Test > @SpecAssertion(section="6.4.3", id="a") > public void testQualifiedNameLookup() > { > assert > getCurrentConfiguration().getEl().evaluateValueExpression("#{(game.value == > 'foo' and game.value == 'foo') ? game.value == 'foo' : false}", > Boolean.class); > assert getInstanceByType(Counter.class).getCount() == 1; > //original test stops here > assert getInstanceByType(Counter.class).getDestroy() == 1; > assert > getCurrentConfiguration().getEl().evaluateValueExpression("#{(game.value == > 'foo' and game.value == 'foo') ? game.value == 'foo' : false}", > Boolean.class); > assert getInstanceByType(Counter.class).getCount() == 2; > assert getInstanceByType(Counter.class).getDestroy() == 2; > } > > > with the obvious corresponding changes in Counter and Game. > > thanks > david jencks > > > On Dec 7, 2010, at 9:49 AM, David Jencks wrote: > >> I'm investigating this further. I don't see any jcdi tck failures in >> geronimo >> with my patch so I'd like to determine if the requirements in 6.4.3 are >> actually >> tested. >> >> thanks >> david jencks >> >> On Dec 7, 2010, at 5:27 AM, Gurkan Erdogdu wrote: >> >>> David, >>> >>> Does it make sense? >>> >>> >>> >>> ----- Original Message ---- >>> From: Gurkan Erdogdu <[email protected]> >>> To: [email protected] >>> Sent: Tue, December 7, 2010 8:55:45 AM >>> Subject: Re: Yan:: svn commit: r1042754 - >>> /openwebbeans/trunk/webbeans-jsf/src/main/resources/META-INF/faces-config.xml >>> >>> Hello David, >>> >>> Reason of installing OwbApplication is that after evaulating EL expression, >>> you >>> >>> must destroy all dependent instances using in EL expression. (See >>> specification >>> >>> section 6.4.3, Dependent Pseudo-scope and Unified EL). >>> >>> Therefore we have to implement our own ValueExpression class. Our custom >>> ValueExpression is returned from >>> WrappedExpressionFactory#createValueExpression >>> >>> (in webbeans-impl). OwbApplication#getExpressionFactory is responsible for >>> getting WrappedExpressionFactory for getting WrappedExpressionFactory. >>> >>> >>> As I said in my previons email, if developer wants to use OWB in JSF >>> applications, it must drop webbeans-jsf.jar into its classpath. Otherwise, >>> he >>> is >>> >>> >>> not able to use spec. compliant OWB implementation. >>> >>> Regards; >>> >>> --Gurkan >>> >>> >>> >>> ----- Original Message ---- >>> From: David Jencks <[email protected]> >>> To: [email protected] >>> Sent: Mon, December 6, 2010 11:55:59 PM >>> Subject: Re: Yan:: svn commit: r1042754 - >>> /openwebbeans/trunk/webbeans-jsf/src/main/resources/META-INF/faces-config.xml >>> >>> Irrespective of what happens to this commit, do you see any spec support >>> for >>> installing OwbApplicationFactory for every jsf-aware web beans app? AFAICT >>> there is none and installing it is a convenience for users that they may or >>> may >>> >>> not want. If you see something in the spec contrary to this I would like >>> to >>> know about it. Since I don't see any spec support for this I wonder if >>> installing it automatically results in portable apps. >>> >>> thanks >>> david jencks >>> >>> On Dec 6, 2010, at 12:24 PM, Gurkan Erdogdu wrote: >>> >>>> Hi David >>>> we designed owb as a plugin way. When he wants to add jsf support, he >>>> simply > >>>> drops webeansjsf.jar into classpath. Removing factory from faces config >>>> prohibits it. Therefore this issue must be resolved on geronimo side >>>> instead of >>>> >>> >>>> owb site. moreover, not every jsf application must be assumed as cdi >>>> application. for being cdi, there exist beans.xml under web-inf.therefore >>>> i > >>>> will revert this change. >>>> >>>> Pzt, 06 Ara 2010 20:19 EET tarihinde [email protected] şöyle yazdı: >>>> >>>>> Author: djencks >>>>> Date: Mon Dec 6 18:19:24 2010 >>>>> New Revision: 1042754 >>>>> >>>>> URL: http://svn.apache.org/viewvc?rev=1042754&view=rev >>>>> Log: >>>>> OWB-505 don't install OwbApplicationFactory by default >>>>> >>>>> Modified: >>>>> >>> openwebbeans/trunk/webbeans-jsf/src/main/resources/META-INF/faces-config.xml >>>>> >>>>> Modified: >>>>> > openwebbeans/trunk/webbeans-jsf/src/main/resources/META-INF/faces-config.xml >>>>> URL: >>>>> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jsf/src/main/resources/META-INF/faces-config.xml?rev=1042754&r1=1042753&r2=1042754&view=diff >>>>> f >>>>> >>>>> >>>>> >>> > ============================================================================== >>>>> --- >>>>> openwebbeans/trunk/webbeans-jsf/src/main/resources/META-INF/faces-config.xml >>>>> >> >>>>> (original) >>>>> +++ >>>>> openwebbeans/trunk/webbeans-jsf/src/main/resources/META-INF/faces-config.xml >>>>> >>>>> Mon >>>>> >>>>> >>>>> Dec 6 18:19:24 2010 >>>>> @@ -24,10 +24,6 @@ under the License. >>>>> >>>>> <name>org_apache_openwebbeans</name> >>>>> >>>>> - <factory> >>>>> - >>>>> <application-factory>org.apache.webbeans.jsf.OwbApplicationFactory</application-factory> >>>>>> >>>>> >>>>> >>>>> - </factory> >>>>> - >>>>> <application> >>>>> >>>>> <view-handler>org.apache.webbeans.jsf.ConversationAwareViewHandler</view-handler> >>>>>> >>>>> >>>>> >>>>> <el-resolver>org.apache.webbeans.el.WebBeansELResolver</el-resolver> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >> > >
