From a9a7b0823091a9d20b9715479d700622b20f9b6c Mon Sep 17 00:00:00 2001 From: jvoisin Date: Fri, 25 Oct 2019 19:43:24 +0000 Subject: [PATCH] Use the try-with-resource construct where possible --- .../player/controller/HelpController.java | 8 ++++---- .../player/controller/StreamController.java | 13 +++++-------- .../player/controller/UploadController.java | 16 ++++------------ .../player/io/InputStreamReaderThread.java | 8 ++------ .../org/airsonic/player/service/LastFmCache.java | 6 +----- .../airsonic/player/service/VersionService.java | 14 ++++---------- .../org/airsonic/player/util/StringUtil.java | 6 +----- 7 files changed, 21 insertions(+), 50 deletions(-) diff --git a/airsonic-main/src/main/java/org/airsonic/player/controller/HelpController.java b/airsonic-main/src/main/java/org/airsonic/player/controller/HelpController.java index 44d967cb..8d0e3998 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/controller/HelpController.java +++ b/airsonic-main/src/main/java/org/airsonic/player/controller/HelpController.java @@ -35,6 +35,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.HashMap; @@ -97,9 +98,8 @@ public class HelpController { } private static List getLatestLogEntries(File logFile) { - try { - List lines = new ArrayList<>(LOG_LINES_TO_SHOW); - ReversedLinesFileReader reader = new ReversedLinesFileReader(logFile, Charset.defaultCharset()); + List lines = new ArrayList<>(LOG_LINES_TO_SHOW); + try (ReversedLinesFileReader reader = new ReversedLinesFileReader(logFile, Charset.defaultCharset())) { String current; while ((current = reader.readLine()) != null) { if (lines.size() >= LOG_LINES_TO_SHOW) { @@ -108,7 +108,7 @@ public class HelpController { lines.add(0, current); } return lines; - } catch (Exception e) { + } catch (IOException e) { LOG.warn("Could not open log file " + logFile, e); return null; } diff --git a/airsonic-main/src/main/java/org/airsonic/player/controller/StreamController.java b/airsonic-main/src/main/java/org/airsonic/player/controller/StreamController.java index e33a8c83..bc605a23 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/controller/StreamController.java +++ b/airsonic-main/src/main/java/org/airsonic/player/controller/StreamController.java @@ -26,7 +26,6 @@ import org.airsonic.player.io.ShoutCastOutputStream; import org.airsonic.player.security.JWTAuthenticationToken; import org.airsonic.player.service.*; import org.airsonic.player.service.sonos.SonosHelper; -import org.airsonic.player.util.FileUtil; import org.airsonic.player.util.HttpRange; import org.airsonic.player.util.StringUtil; import org.airsonic.player.util.Util; @@ -86,7 +85,6 @@ public class StreamController { public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { TransferStatus status = null; - PlayQueueInputStream in = null; Player player = playerService.getPlayer(request, response, false, true); User user = securityService.getUserByName(player.getUsername()); Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); @@ -225,10 +223,11 @@ public class StreamController { status = statusService.createStreamStatus(player); - in = new PlayQueueInputStream(player, status, maxBitRate, preferredTargetFormat, videoTranscodingSettings, - transcodingService, audioScrobblerService, mediaFileService, searchService); - - try (OutputStream out = makeOutputStream(request, response, range, isSingleFile, player, settingsService)) { + try ( + PlayQueueInputStream in = new PlayQueueInputStream(player, status, maxBitRate, preferredTargetFormat, videoTranscodingSettings, + transcodingService, audioScrobblerService, mediaFileService, searchService); + OutputStream out = makeOutputStream(request, response, range, isSingleFile, player, settingsService) + ) { final int BUFFER_SIZE = 2048; byte[] buf = new byte[BUFFER_SIZE]; @@ -278,9 +277,7 @@ public class StreamController { securityService.updateUserByteCounts(user, status.getBytesTransfered(), 0L, 0L); statusService.removeStreamStatus(status); } - FileUtil.closeQuietly(in); } - return; } /** diff --git a/airsonic-main/src/main/java/org/airsonic/player/controller/UploadController.java b/airsonic-main/src/main/java/org/airsonic/player/controller/UploadController.java index 5256fb7d..82acf520 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/controller/UploadController.java +++ b/airsonic-main/src/main/java/org/airsonic/player/controller/UploadController.java @@ -27,7 +27,6 @@ import org.airsonic.player.service.SettingsService; import org.airsonic.player.service.StatusService; import org.airsonic.player.upload.MonitoredDiskFileItemFactory; import org.airsonic.player.upload.UploadListener; -import org.airsonic.player.util.FileUtil; import org.airsonic.player.util.StringUtil; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemFactory; @@ -184,12 +183,10 @@ public class UploadController { } entryFile.getParentFile().mkdirs(); - InputStream inputStream = null; - OutputStream outputStream = null; - try { - inputStream = zipFile.getInputStream(entry); - outputStream = new FileOutputStream(entryFile); - + try ( + OutputStream outputStream = new FileOutputStream(entryFile); + InputStream inputStream = zipFile.getInputStream(entry) + ) { byte[] buf = new byte[8192]; while (true) { int n = inputStream.read(buf); @@ -198,19 +195,14 @@ public class UploadController { } outputStream.write(buf, 0, n); } - LOG.info("Unzipped " + entryFile); unzippedFiles.add(entryFile); - } finally { - FileUtil.closeQuietly(inputStream); - FileUtil.closeQuietly(outputStream); } } } zipFile.close(); file.delete(); - } } diff --git a/airsonic-main/src/main/java/org/airsonic/player/io/InputStreamReaderThread.java b/airsonic-main/src/main/java/org/airsonic/player/io/InputStreamReaderThread.java index 7b2793a8..f4a7e910 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/io/InputStreamReaderThread.java +++ b/airsonic-main/src/main/java/org/airsonic/player/io/InputStreamReaderThread.java @@ -50,18 +50,14 @@ public class InputStreamReaderThread extends Thread { } public void run() { - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(input)); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(input))) { for (String line = reader.readLine(); line != null; line = reader.readLine()) { if (log) { LOG.info('(' + name + ") " + line); } } - } catch (IOException x) { - // Intentionally ignored. + } catch (IOException ignored) { } finally { - FileUtil.closeQuietly(reader); FileUtil.closeQuietly(input); } } diff --git a/airsonic-main/src/main/java/org/airsonic/player/service/LastFmCache.java b/airsonic-main/src/main/java/org/airsonic/player/service/LastFmCache.java index 09ef4570..a823317f 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/service/LastFmCache.java +++ b/airsonic-main/src/main/java/org/airsonic/player/service/LastFmCache.java @@ -53,14 +53,10 @@ public class LastFmCache extends Cache { @Override public InputStream load(String cacheEntryName) { - FileInputStream in = null; - try { - in = new FileInputStream(getXmlFile(cacheEntryName)); + try (FileInputStream in = new FileInputStream(getXmlFile(cacheEntryName))) { return new ByteArrayInputStream(IOUtils.toByteArray(in)); } catch (Exception e) { return null; - } finally { - FileUtil.closeQuietly(in); } } diff --git a/airsonic-main/src/main/java/org/airsonic/player/service/VersionService.java b/airsonic-main/src/main/java/org/airsonic/player/service/VersionService.java index c0abfbab..d0cd489a 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/service/VersionService.java +++ b/airsonic-main/src/main/java/org/airsonic/player/service/VersionService.java @@ -29,14 +29,12 @@ import org.apache.http.conn.ConnectTimeoutException; import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; +import org.checkerframework.checker.nullness.qual.NonNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; +import java.io.*; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Comparator; @@ -188,21 +186,17 @@ public class VersionService { * @param resourceName The resource name. * @return The first line of the resource. */ - private String readLineFromResource(String resourceName) { + private String readLineFromResource(@NonNull String resourceName) { InputStream in = VersionService.class.getResourceAsStream(resourceName); if (in == null) { return null; } - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(in)); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { return reader.readLine(); - } catch (IOException x) { return null; } finally { - FileUtil.closeQuietly(reader); FileUtil.closeQuietly(in); } } diff --git a/airsonic-main/src/main/java/org/airsonic/player/util/StringUtil.java b/airsonic-main/src/main/java/org/airsonic/player/util/StringUtil.java index ebb0f725..37839008 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/util/StringUtil.java +++ b/airsonic-main/src/main/java/org/airsonic/player/util/StringUtil.java @@ -279,10 +279,7 @@ public final class StringUtil { * @throws IOException If an I/O error occurs. */ public static String[] readLines(InputStream in) throws IOException { - BufferedReader reader = null; - - try { - reader = new BufferedReader(new InputStreamReader(in)); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(in))) { List result = new ArrayList(); for (String line = reader.readLine(); line != null; line = reader.readLine()) { line = line.trim(); @@ -294,7 +291,6 @@ public final class StringUtil { } finally { FileUtil.closeQuietly(in); - FileUtil.closeQuietly(reader); } }