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>
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
> 
> 

Reply via email to