Use try with resources
Change-Id: I98da1d69710018c1fbd80e24194593998887bff6
diff --git a/src/main/java/com/googlesource/gerrit/plugins/websession/flatfile/FlatFileWebSessionCache.java b/src/main/java/com/googlesource/gerrit/plugins/websession/flatfile/FlatFileWebSessionCache.java
index 1f32053..948a400 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/websession/flatfile/FlatFileWebSessionCache.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/websession/flatfile/FlatFileWebSessionCache.java
@@ -28,7 +28,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -149,20 +148,17 @@
@Override
public void put(String key, Val value) {
File tempFile = null;
- OutputStream fileStream = null;
- ObjectOutputStream objStream = null;
-
try {
tempFile = File.createTempFile(UUID.randomUUID().toString(), null, dir);
- fileStream = new FileOutputStream(tempFile);
+ try (OutputStream fileStream = new FileOutputStream(tempFile);
+ ObjectOutputStream objStream = new ObjectOutputStream(fileStream)) {
+ objStream.writeObject(value);
- objStream = new ObjectOutputStream(fileStream);
- objStream.writeObject(value);
-
- File f = new File(dir, key);
- if (!tempFile.renameTo(f)) {
- log.warn("Cannot put into cache " + dir.getAbsolutePath()
- + "; error renaming temp file");
+ File f = new File(dir, key);
+ if (!tempFile.renameTo(f)) {
+ log.warn("Cannot put into cache " + dir.getAbsolutePath()
+ + "; error renaming temp file");
+ }
}
} catch (FileNotFoundException e) {
log.warn("Cannot put into cache " + dir.getAbsolutePath(), e);
@@ -172,8 +168,6 @@
if (tempFile != null) {
deleteFile(tempFile);
}
- close(fileStream);
- close(objStream);
}
}
@@ -200,25 +194,16 @@
}
private Val readFile(File f) {
- InputStream fileStream = null;
- ObjectInputStream objStream = null;
- try {
- fileStream = new FileInputStream(f);
- objStream = new ObjectInputStream(fileStream);
- try {
+ try (InputStream fileStream = new FileInputStream(f);
+ ObjectInputStream objStream = new ObjectInputStream(fileStream)) {
return (Val) objStream.readObject();
- } catch (ClassNotFoundException e) {
- log.warn("Entry " + f.getName() + " in cache " + dir.getAbsolutePath()
- + " has an incompatible class and can't be deserialized. "
- + "Invalidating entry.");
- invalidate(f.getName());
- }
- } catch (FileNotFoundException e) {
+ } catch (ClassNotFoundException e) {
+ log.warn("Entry " + f.getName() + " in cache " + dir.getAbsolutePath()
+ + " has an incompatible class and can't be deserialized. "
+ + "Invalidating entry.");
+ invalidate(f.getName());
} catch (IOException e) {
log.warn("Cannot read cache " + dir.getAbsolutePath(), e);
- } finally {
- close(fileStream);
- close(objStream);
}
return null;
}
@@ -229,14 +214,4 @@
+ dir.getAbsolutePath());
}
}
-
- private void close(Closeable c) {
- if (c != null) {
- try {
- c.close();
- } catch (IOException e) {
- log.warn("Cannot close stream", e);
- }
- }
- }
}