You have a great memory David :D.

On Tue, Mar 3, 2009 at 11:10 PM, David Blevins <[email protected]> wrote:
> As another approach to going through the spec, here's a list of the
> annotations we support:
>
>  - javax.annotation.PostConstruct
>  - javax.annotation.PreDestroy
>  - javax.annotation.Resource
>  - javax.annotation.Resources
>  - javax.annotation.security.DeclareRoles
>  - javax.annotation.security.DenyAll
>  - javax.annotation.security.PermitAll
>  - javax.annotation.security.RolesAllowed
>  - javax.annotation.security.RunAs
>  - javax.ejb.ApplicationException
>  - javax.ejb.ConcurrencyManagement
>  - javax.ejb.DependsOn
>  - javax.ejb.EJB
>  - javax.ejb.EJBs
>  - javax.ejb.Init
>  - javax.ejb.Local
>  - javax.ejb.LocalHome
>  - javax.ejb.MessageDriven
>  - javax.ejb.PostActivate
>  - javax.ejb.PrePassivate
>  - javax.ejb.Remote
>  - javax.ejb.RemoteHome
>  - javax.ejb.Remove
>  - javax.ejb.Singleton
>  - javax.ejb.Startup
>  - javax.ejb.Stateful
>  - javax.ejb.Stateless
>  - javax.ejb.TransactionAttribute
>  - javax.ejb.TransactionManagement
>  - javax.interceptor.ExcludeClassInterceptors
>  - javax.interceptor.ExcludeDefaultInterceptors
>  - javax.interceptor.Interceptors
>  - javax.jws.HandlerChain
>  - javax.jws.WebService
>  - javax.persistence.PersistenceContext
>  - javax.persistence.PersistenceContexts
>  - javax.persistence.PersistenceUnit
>  - javax.persistence.PersistenceUnits
>  - javax.xml.ws.WebServiceProvider
>  - javax.xml.ws.WebServiceRefs
>
> Off the top of my head I know that we don't have checks for the security
> related annotations.  I guess the one that jumps out the most is that
> @DenyAll, @PermitAll, and @RolesAllowed are all mutually exclusive.  It's an
> error if they use any more than one of those on a specific class as they
> would contradict each other.
>
> I'm not sure if I added it but also there are some new Singleton only
> annotations and the user should be warned that these annotations are ignored
> when used on other types of beans.  These annotations are:
>  - javax.ejb.DependsOn
>  - javax.ejb.Startup
>
> Some web services stuff comes to mind as well.  @Stateless and @Singleton
> beans can be web services, but @Stateful and @MessageDriven beans cannot, so
> the usage of any of these annotations at the class level is ignored:
>  - javax.jws.HandlerChain
>  - javax.jws.WebService
>
> Using @PersistenceContext(EXTENDED) on anything but an @Stateful bean is
> illegal and should result in a validation failure.  Not sure if we cover
> that one for all non-stateful bean types and servlets.
>
> Likely some more I'm missing.  Chime in if you see one.
>
> Oh, if @Interceptors lists an abstract class or interface, that's also
> illegal.  Probably some rules or mistakes on @HanlderChain we should check
> for.
>
> -David
>
> On Feb 1, 2009, at 3:22 AM, Mohammad Nour El-Din wrote:
>
>> Here is what I am going to do, I will read the specs 3.0 and 3.1 and
>> write down the points we should validate on, check JIRA for any of
>> these points implemented before, and add and implement the missing
>> ones. But just to let you know according to my available time I will
>> not be able to do that as quick as possible, it will take me sometime.
>>
>> On Thu, Jan 29, 2009 at 12:16 PM, Mohammad Nour El-Din
>> <[email protected]> wrote:
>>>
>>> Hi David...
>>>
>>> As I have not been so active lately, I really would like to go and
>>> help into this area. Any directions other than the ones you mentioned
>>> in your mail ?
>>>
>>> On Wed, Jan 28, 2009 at 11:46 PM, David Blevins <[email protected]>
>>> wrote:
>>>>
>>>> I just did some work in the validation area and it occurs to me how much
>>>> work has yet to be done.  It is definitely one of our most critical
>>>> features
>>>> that users go "ooh" and "ahh" over.
>>>>
>>>> Code wise, its's one of those areas where the hardest part is being as
>>>> thorough as possible.  I personally haven't been very thorough in my
>>>> work
>>>> there and have just been adding validations as they occur to me and most
>>>> often without tests.  Definitely shame on me.
>>>>
>>>> I just added a new class, ValidationAssertions, which will check the
>>>> ValidationFailedException failed exception thrown from the
>>>> ConfigurationFactory on depoy.  It makes sure all the expected
>>>> validation
>>>> issues were spotted, that there are i18n messages for each message key,
>>>> that
>>>> there are the required three levels of messages, and that when formatted
>>>> there are no unfilled "{0}" sections.  We get bit by that last one a
>>>> lot.
>>>>
>>>> We really should add tests for all the checks/messages we have.
>>>>
>>>> There are also likely a ton of validations we don't do and should.  We
>>>> should also get a list of all the annotations and make sure we have
>>>> validations for each of them and add the ones where we don't.
>>>>
>>>> Thoughts?  Volunteers?
>>>>
>>>>
>>>> -David
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> ----
>>> Thanks
>>> - Mohammad Nour
>>> - LinkedIn: http://www.linkedin.com/in/mnour
>>> ----
>>> "Life is like riding a bicycle. To keep your balance you must keep
>>> moving"
>>> - Albert Einstein
>>>
>>
>>
>>
>> --
>> ----
>> Thanks
>> - Mohammad Nour
>> - LinkedIn: http://www.linkedin.com/in/mnour
>> ----
>> "Life is like riding a bicycle. To keep your balance you must keep moving"
>> - Albert Einstein
>>
>
>



-- 
----
Thanks
- Mohammad Nour
- LinkedIn: http://www.linkedin.com/in/mnour
----
"Life is like riding a bicycle. To keep your balance you must keep moving"
- Albert Einstein

Reply via email to