/** * Loads the rules from an input stream. * * @param in the stream to load, not null, not closed after use * @throws Exception if an error occurs */ private boolean load(InputStream in) throws IOException, StreamCorruptedException { boolean updated = false; Iterable<Version> loadedVersions = loadData(in); for (Version loadedVersion : loadedVersions) { // see https://github.com/ThreeTen/threetenbp/pull/28 for issue wrt // multiple versions of lib on classpath Version existing = versions.putIfAbsent(loadedVersion.versionId, loadedVersion); if (existing != null && !existing.versionId.equals(loadedVersion.versionId)) { throw new ZoneRulesException("Data already loaded for TZDB time-zone rules version: " + loadedVersion.versionId); } updated = true; } return updated; }
/** * Loads the rules from an input stream. * * @param in the stream to load, not null, not closed after use * @throws Exception if an error occurs */ private boolean load(InputStream in) throws IOException, StreamCorruptedException { boolean updated = false; Iterable<Version> loadedVersions = loadData(in); for (Version loadedVersion : loadedVersions) { // see https://github.com/ThreeTen/threetenbp/pull/28 for issue wrt // multiple versions of lib on classpath Version existing = versions.putIfAbsent(loadedVersion.versionId, loadedVersion); if (existing != null && !existing.versionId.equals(loadedVersion.versionId)) { throw new ZoneRulesException("Data already loaded for TZDB time-zone rules version: " + loadedVersion.versionId); } updated = true; } return updated; }