public static Vector getLocales ( HttpServletRequest req ) { init ( ) ; String acceptLanguage = req . getHeader ( "Accept-Language" ) ; if ( com . ibm . ejs . ras . TraceComponent . isAnyTracingEnabled ( ) && logger . isLoggable ( Level . FINE ) ) { logger . logp ( Level . FINE , CLASS_NAME , "getLocales" , "Accept-Language --> " + acceptLanguage ) ; } // Short circuit with an empty enumeration if null header if ( ( acceptLanguage == null ) || ( acceptLanguage . trim ( ) . length ( ) == 0 ) ) { Vector def = new Vector ( ) ; def . addElement ( Locale . getDefault ( ) ) ; if ( com . ibm . ejs . ras . TraceComponent . isAnyTracingEnabled ( ) && logger . isLoggable ( Level . FINE ) ) { logger . logp ( Level . FINE , CLASS_NAME , "getLocales" , "processed Locales --> " , def ) ; } return def ; } // Check cache Vector langList = null ; langList = ( Vector ) localesCache . get ( acceptLanguage ) ; if ( langList == null ) { // Create and add to cache langList = processAcceptLanguage ( acceptLanguage ) ; if ( WCCustomProperties . VALIDATE_LOCALE_VALUES ) { langList = extractLocales ( langList , true ) ; } else langList = extractLocales ( langList , false ) ; localesCache . put ( acceptLanguage , langList ) ; } if ( com . ibm . ejs . ras . TraceComponent . isAnyTracingEnabled ( ) && logger . isLoggable ( Level . FINE ) ) { logger . logp ( Level . FINE , CLASS_NAME , "getLocales" , "processed Locales --> " + langList ) ; } return langList ; }
Returns a Vector of locales from the passed in request object .