Two birds with one stone. May be a bug though?

The following error can be seen on the
http://ci.apache.org/builders/openejb-trunk-win-sunjdk build. It is caused
by a temp file issue, that may be more common on win platforms, which leads
to an undeploy / destroy call.

INFO - Deployed
Application(path=c:\slave4\openejb-trunk-win-sunjdk\build\itests\openejb-itests-client\target\openejb-itests-client-4.5.2-snapshot.jar)
INFO - Assembling app:
C:\slave4\openejb-trunk-win-sunjdk\build\itests\openejb-itests-beans\target\openejb-itests-beans-4.5.2-SNAPSHOT.jar
INFO - Undeploying app:
C:\slave4\openejb-trunk-win-sunjdk\build\itests\openejb-itests-beans\target\openejb-itests-beans-4.5.2-SNAPSHOT.jar
WARNING - Application id 'openejb-itests-beans-4.5.2-SNAPSHOT' not found in:
[openejb-itests-client-4.5.2-snapshot]
SEVERE - Application could not be deployed: 
C:\slave4\openejb-trunk-win-sunjdk\build\itests\openejb-itests-beans\target\openejb-itests-beans-4.5.2-SNAPSHOT.jar
org.apache.openejb.OpenEJBException: Creating application failed:
C:\slave4\openejb-trunk-win-sunjdk\build\itests\openejb-itests-beans\target\openejb-itests-beans-4.5.2-SNAPSHOT.jar:
The system cannot find the path specified
        at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:823)

The WARNING above is caused on destroy, which occurs due to the case of
'SNAPSHOT' and 'snapshot'.

To address the temp file issue I hardened
org.apache.openejb.assembler.classic.CmpJarBuilder#openJarFile.

I changed CoreContainerSystem to fallback to an insensitive key. It looks
safe to me, but maybe there is a deeper implication here? Thís fixes the
org.apache.openejb.assembler.classic.Assembler#destroyApplication call which
was failing to get the AppContext.

AppInfo.appId is a public field which is used for various lookups
throughout. It's case is never checked or enforced and is often interpreted
as an 'Object' key. Not really safe me thinks, but I didn't want to change
interfaces without checking with you guys that have a much deeper
understanding.

Either AppInfo.appId needs to bet a getter/setter, or it's case needs to be
enforced elsewhere.

Your thoughts?

Andy.





--
View this message in context: 
http://openejb.979440.n4.nabble.com/Use-a-case-insensitive-key-fallback-for-CoreContainerSystem-AppContexts-tp4659844.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.

Reply via email to