Description
I find several unsafe places which are related with Thread.currentThread().getContextClassLoader() and Thread.currentThread().setContextClassLoader(). These places in code could have dramatic outcome during JBoss Tools normal work.
Especially Hibernate Tools depends on it - and this result will be visible ONLY in JPA confoguration.
Here are code places:
1) \jbosstools\trunk\jbpm\plugins\org.jboss.tools.flow.jpdl4.multipage\src\org\jboss\tools\flow\jpdl4\multipage\validator\Jpdl4Validator.java
2) \jbosstools\trunk\archives\plugins\org.jboss.ide.eclipse.archives.core\src\main\org\jboss\ide\eclipse\archives\core\model\internal\xb\XMLBinding.java
1 and 2 - are dangerous cause in case of execution exception - here there are no restore of Thread.currentThread() - ContextClassLoader;
3) \jbosstools\trunk\as\plugins\org.jboss.ide.eclipse.as.core\jbosscore\org\jboss\ide\eclipse\as\core\extensions\jmx\JMXSafeRunner.java
3 - here also Hibernate Tools dangerous place in finally block - if we get exception in
JMXClassLoaderRepository.getDefault().removeConcerned(s, r);
4) \jbosstools\trunk\common\plugins\org.jboss.tools.common\src\org\jboss\tools\common\xml\SAXValidator.java
4 - here also Hibernate Tools dangerous place in finally block - if we get exception in
ErrorHandlerImpl h = new ErrorHandlerImpl();
5) \jbosstools\trunk\bpel\plugins\org.eclipse.bpel.ui\src\org\eclipse\bpel\ui\util\BPELEditorUtil.java
- here is potential unsafe code commented;
6) \jbosstools\trunk\smooks\plugins\org.jboss.tools.smooks.ui\src\org\jboss\tools\smooks\edimap\editor\EDIMapFormPage.java - here is potential unsafe code commented;