private boolean handleEquinoxRuntimeException ( RuntimeException ex ) { Throwable cause = ex . getCause ( ) ; if ( cause != null ) { if ( cause instanceof IOException ) { // Check common causes for IOExceptions File osgiDir = config . getWorkareaFile ( OSGI_DIR_NAME ) ; if ( ! osgiDir . exists ( ) || ! osgiDir . isDirectory ( ) || ! osgiDir . canWrite ( ) ) { Tr . error ( tc , "error.serverDirPermission" , osgiDir . getAbsolutePath ( ) ) ; return true ; } File managerDir = new File ( osgiDir , MANAGER_DIR_NAME ) ; if ( ! managerDir . exists ( ) || ! managerDir . isDirectory ( ) || ! managerDir . canWrite ( ) ) { Tr . error ( tc , "error.serverDirPermission" , managerDir . getAbsolutePath ( ) ) ; return true ; } } } return false ; }
Attempt to diagnose Equinox exceptions and issue a sane error message rather than a massive equinox stack