protected static List < CustomManifest > findCustomEncryption ( List < File > rootDirs , String path ) throws IOException { List < CustomManifest > list = new ArrayList < CustomManifest > ( ) ; for ( File dir : rootDirs ) { dir = new File ( dir , path ) ; if ( exists ( dir ) ) { File [ ] files = listFiles ( dir ) ; if ( files != null ) { for ( File file : files ) { if ( isFile ( file ) && file . getName ( ) . toLowerCase ( ) . endsWith ( JAR_FILE_EXT ) ) { if ( logger . isLoggable ( Level . FINE ) ) { logger . fine ( "The extension manifest file : " + file ) ; } try { CustomManifest cm = new CustomManifest ( file ) ; list . add ( cm ) ; } catch ( IllegalArgumentException iae ) { if ( logger . isLoggable ( Level . INFO ) ) { logger . info ( MessageUtils . getMessage ( "PASSWORDUTIL_ERROR_IN_EXTENSION_MANIFEST_FILE" , file , iae . getMessage ( ) ) ) ; } } } } } } } return list ; }
Find the custom encryption manifest files from the specified list of root directories and path name . The reason why there are multiple root directories is that the product extensions which will allow to add the additional root directory anywhere .