/** * Verifies an MP3 Release * * @param release Release to verify */ public void checkSfv(Release release) { if (Thread.currentThread().isInterrupted()) { return; } if (!release.isReleaseComplete()) { release.setReleaseIsValid(false); return; } boolean isValid = true; for (AudioFileWithChecksum m : release.getAudioFiles()) { if (!m.getAudioFileExists()) { isValid = false; } else { try { if (m.getChecksum() == FileUtils.checksumCRC32(m.getAudioFile())) { m.setAudioFileIsValid(true); } else { m.setAudioFileIsValid(false); isValid = false; } } catch (IOException ex) { Logger.getLogger(CRCChecker.class.getName()).log(Level.SEVERE, null, ex); } } } release.setReleaseIsValid(isValid); }