protected synchronized File getJsp ( ) { if ( com . ibm . ejs . ras . TraceComponent . isAnyTracingEnabled ( ) && logger . isLoggable ( Level . FINER ) ) { logger . logp ( Level . FINER , CLASS_NAME , "getJsp" , "enter" ) ; } File [ ] children ; try { if ( _counter % _notify == 0 ) { if ( com . ibm . ejs . ras . TraceComponent . isAnyTracingEnabled ( ) && logger . isLoggable ( Level . INFO ) ) { logger . logp ( Level . INFO , CLASS_NAME , "getJsp" , "PrepareJspHelper in group [" + appName + "]: " + _counter + " jsp files have been processed." ) ; } } if ( ! _files . isEmpty ( ) ) { _counter ++ ; if ( _counter >= _startAt ) shouldClassload = true ; return ( File ) _files . pop ( ) ; } if ( _parents . isEmpty ( ) ) { return null ; } List extList = PrepareJspHelper . buildJspFileExtensionList ( Constants . STANDARD_JSP_EXTENSIONS , _jspExtProcessor . getPatternList ( ) ) ; String resourcePath = null ; //do a loop in case we run into an empty directory. while ( _files . isEmpty ( ) && ! _parents . isEmpty ( ) ) { children = ( ( File ) _parents . pop ( ) ) . listFiles ( ) ; if ( children != null ) { for ( int i = 0 ; i < children . length ; i ++ ) { resourcePath = children [ i ] . getName ( ) . replace ( ' ' , ' ' ) ; if ( resourcePath . startsWith ( "/META-INF" ) == false ) { if ( children [ i ] . isDirectory ( ) ) { _parents . push ( children [ i ] ) ; } else if ( children [ i ] . isFile ( ) && isJspFile ( children [ i ] . getName ( ) , extList ) ) { //if none have been processed, get up to the starting point _files . push ( children [ i ] ) ; } } } } } if ( ! _files . isEmpty ( ) ) { _counter ++ ; if ( _counter >= _startAt ) shouldClassload = true ; return ( File ) _files . pop ( ) ; } else { return null ; } } catch ( Exception ex ) { logger . logp ( Level . WARNING , CLASS_NAME , "getJsp" , "Pretouch ERROR: Unexpected exception retrieving jsp names" , ex ) ; return null ; } finally { if ( com . ibm . ejs . ras . TraceComponent . isAnyTracingEnabled ( ) && logger . isLoggable ( Level . FINER ) ) { logger . logp ( Level . FINER , CLASS_NAME , "getJsp" , "exit" ) ; } } }
near the beginning