protected List < Date > loadAttempts ( File home ) { List < Date > dates = new ArrayList <> ( ) ; if ( home != null ) { File f = getBootFailureFile ( home ) ; try { if ( f . exists ( ) ) { try ( BufferedReader failureFileReader = new BufferedReader ( new FileReader ( f ) ) ) { String line ; while ( ( line = failureFileReader . readLine ( ) ) != null ) { try { dates . add ( new Date ( line ) ) ; } catch ( Exception e ) { // ignore any parse error } } } } } catch ( IOException e ) { LOGGER . log ( Level . WARNING , "Failed to parse " + f , e ) ; } } return dates ; }
Parses the boot attempt file carefully so as not to cause the entire hook script to fail to execute .