[cdi-dev] Answer from EL spec lead: no, "." is not valid in an EL name.
Mark Struberg
struberg at yahoo.de
Thu Jan 15 05:11:52 EST 2015
Jozef, your argumentation is flawed already at the very beginning. Currently there is no bean with the name "javax", thus "x.y ... and x is the bean name of the other bean" will not be a problem.
All that javax is simply not a bean name but a dirty hack in the ELResolver. That is something totally different.
Thus the rest of your argumentation chain is also invalid.
LieGrue,
strub
> On Thursday, 15 January 2015, 10:47, Jozef Hartinger <jharting at redhat.com> wrote:
> >T he @Named("javax") argument is not valid. The spec says:
>
> Suppose two beans are both available for injection in a certain war, and
> either:
> - the two beans have the same bean name and the name is not resolvable, or
> - the bean name of one bean is of the form x.y, where y is a valid bean
> name, and x is the bean
> name of the other bean,
> the container automatically detects the problem and treats it as a
> deployment problem.
>
> So we have two beans:
> - javax.enterprise.context.conversation (the built-in one)
> - javax (Marks's bean)
>
> now:
>
> 1) the bean name of one bean is of the form x.y, where y is a valid bean
> name - that is javax.enterprise.context.conversation
> x = javax
> y = enterprise.context.conversation
> 2) and x is the bean name of the other bean - same as the name of Mark's
> @Named("javax") bean
> 3) the container automatically detects the problem and treats it as a
> deployment problem
>
> Therefore, a bean named @Named("javax") will cause a deployment
> problem
> no matter whether it is actually available via EL or not.
>
> To summarize, the spec already anticipates the problem and forbids this
> case explicitly.
>
>
>
> On 01/14/2015 04:45 PM, Mark Struberg wrote:
>> And then break all applications which have a @Named("javax")
> public class MyBean?
>> It's simply not an option imo. It breaks lots of other specs and
> features. This is an XOR situation.
>>
>>
>> LieGrue,
>> strub
>>
>>
>>
>>
>> ----- Original Message -----
>>> From: Pete Muir <pmuir at redhat.com>
>>> To: Romain Manni-Bucau <rmannibucau at gmail.com>
>>> Cc: Cdi-dev <cdi-dev at lists.jboss.org>; Edward Burns
> <edward.burns at oracle.com>
>>> Sent: Wednesday, 14 January 2015, 11:56
>>> Subject: Re: [cdi-dev] Answer from EL spec lead: no, "."
> is not valid in an EL name.
>>>
>>> We need to go for both (A) and (B).
>>>
>>> We would need to deprecate the existing name before we can allow it to
> not be
>>> supported. This means CDI 3. So I would suggest we deprecate it in 2,
> add an
>>> alternative that can be used, and then consider removing it in CDI 3.
> In the
>>> meantime for CDI 2, we will need to improve the TCK to check this more
>>> carefully.
>>>
>>>> On 14 Jan 2015, at 10:09, Romain Manni-Bucau
> <rmannibucau at gmail.com>
>>> wrote:
>>>> +1 for B (IMO it is not used that much)
>>>>
>>>>
>>>>
>>>>
>>>> Romain Manni-Bucau
>>>> @rmannibucau
>>>> http://www.tomitribe.com
>>>> http://rmannibucau.wordpress.com
>>>> https://github.com/rmannibucau
>>>>
>>>>
>>>> 2015-01-14 10:54 GMT+01:00 Jozef Hartinger
> <jharting at redhat.com>:
>>>>> I think further action is needed on this. Now that it has
> been
>>> confirmed
>>>>> that "javax.enterprise.context.conversation" itself
> is not a
>>> valid EL
>>>>> name we should either:
>>>>>
>>>>> A) Require all CDI implementations to adapt the
> property-based approach
>>>>> which allows this to be implemented portably (as Weld does)
>>>>> B) Declare publicly that although the CDI spec declares the
> given name,
>>>>> it is a bug and applications should not use the name. (What
> about
>>>>> compatibility with existing applications?)
>>>>>
>>>>> Jozef
>>>>>
>>>>> On 01/08/2015 09:27 AM, Mark Struberg wrote:
>>>>>> Dear CDI fellows!
>>>>>>
>>>>>> I've received an answer regarding our EL question
> from the EL
>>> Spec Lead.
>>>>>> Ed, thanks for helping us!
>>>>>>
>>>>>>
>>>>>> LieGrue,
>>>>>> strub
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> On Tuesday, 6 January 2015, 23:14, Edward Burns
>>> <edward.burns at oracle.com> wrote:
>>>>>>>> Hello Mark,
>>>>>>> To close this out, no, "." is not valid in
> an EL
>>> name. An EL name
>>>>>>> must
>>>>>>> be a java identifier. I'm told this was
> discussed by Pete
>>> a long time
>>>>>>> ago in the EL 3.0 EG.
>>>>>>>
>>>>>>> Ed
>>>>>>>
>>>>>>> --
>>>>>>> | edward.burns at oracle.com | office: +1 407 458 0017
>>>>>>> | 42 days til DevNexus 2015
>>>>>>> | 52 days til JavaLand 2015
>>>>>>> | 62 days til CONFESS 2015
>>>>>>>
>>>>>> _______________________________________________
>>>>>> cdi-dev mailing list
>>>>>> cdi-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>>>
>>>>>> Note that for all code provided on this list, the
> provider licenses
>>> the code under the Apache License, Version 2
>>> (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
> provided
>>> on this list, the provider waives all patent and other intellectual
> property
>>> rights inherent in such information.
>>>>> _______________________________________________
>>>>> cdi-dev mailing list
>>>>> cdi-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>>
>>>>> Note that for all code provided on this list, the provider
> licenses the
>>> code under the Apache License, Version 2
>>> (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
> provided
>>> on this list, the provider waives all patent and other intellectual
> property
>>> rights inherent in such information.
>>>
>>>> _______________________________________________
>>>> cdi-dev mailing list
>>>> cdi-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>
>>>> Note that for all code provided on this list, the provider
> licenses the
>>> code under the Apache License, Version 2
>>> (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
> provided
>>> on this list, the provider waives all patent and other intellectual
> property
>>> rights inherent in such information.
>>>
>>>
>>> _______________________________________________
>>> cdi-dev mailing list
>>> cdi-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>
>>> Note that for all code provided on this list, the provider licenses the
> code
>>> under the Apache License, Version 2
>>> (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
> provided
>>> on this list, the provider waives all patent and other intellectual
> property
>>> rights inherent in such information.
>>>
>> _______________________________________________
>> cdi-dev mailing list
>> cdi-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>>
>> Note that for all code provided on this list, the provider licenses the
> code under the Apache License, Version 2
> (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided
> on this list, the provider waives all patent and other intellectual property
> rights inherent in such information.
>
More information about the cdi-dev
mailing list