persistence@glassfish.java.net

Re: The latest changes to MetadataProcessor?

From: Tom Ware <tom.ware_at_oracle.com>
Date: Fri, 20 Oct 2006 13:00:06 -0400

Sure

Marina Vatkina wrote:

>Hi Tom,
>
>Will it make sense to add these explanations at the comments?
>
>thanks,
>-marina
>
>Tom Ware wrote:
>
>
>>Hi Marina,
>>
>>Comments inline:
>>
>>Marina Vatkina wrote:
>>
>>
>>
>>>Hi Tom,
>>>
>>>The new code seems to have several problems:
>>>
>>> if (m_session == null){
>>> AbstractSessionLog.getLog().log(SessionLog.CONFIG,
>>> SessionLog.EJB_ORM,
>>> EntityManagerSetupImpl.ERROR_LOADING_XML_FILE,
>>> e);
>>>1. Look below, the same message takes 2 args - which one is correct?
>>>
>>> } else if (!throwException) {
>>>
>>>
>>>
>>>
>>I will update the new code to include the "mf" string. Thanks for the
>>hint.
>>
>>
>>
>>>2. Why m_session == null should never throw an exception?
>>>
>>> // fail quietly
>>> m_session.log(SessionLog.CONFIG,
>>> SessionLog.EJB_ORM,
>>> EntityManagerSetupImpl.ERROR_LOADING_XML_FILE,
>>> new Object[] {mf, e});
>>> } else {
>>> // fail loudly
>>> m_session.handleException(e);
>>> }
>>>
>>>
>>>
>>>
>>This code is hit in PersistenceUnitProcessor before a session is
>>available. It uses MetadataProcessor to generate a list of classes from
>>the ORM XML files when running is SE mode. I do not want the whole
>>application to stop at this point if there is an exception. In fact, if
>>there is an issue with loading these ORM XML files, they will be hit
>>again later when the metadata processing step is hit in the predeploy
>>logic. At that point the session will handle it. (Note:
>>Session.handleException() does more than just throw the exception)
>>
>>-Tom
>>
>>
>>
>>>thanks,
>>>-marina
>>>
>>>
>>>
>>>

-- 
Tom Ware
Principal Software Engineer
Oracle Canada Inc.
Direct: (613) 783-4598
Email: tom.ware_at_oracle.com