Merge branch 'stable-2.15' into stable-2.16

* stable-2.15:
  ResourceHelper: Simplify implementations

Change-Id: Idaa1de103bacdd6f565427d9788cff69a1313abd
diff --git a/src/main/java/com/cisco/gerrit/plugins/slack/util/ResourceHelper.java b/src/main/java/com/cisco/gerrit/plugins/slack/util/ResourceHelper.java
index eb05973..07c895f 100644
--- a/src/main/java/com/cisco/gerrit/plugins/slack/util/ResourceHelper.java
+++ b/src/main/java/com/cisco/gerrit/plugins/slack/util/ResourceHelper.java
@@ -17,8 +17,11 @@
 
 package com.cisco.gerrit.plugins.slack.util;
 
+import com.google.common.io.CharStreams;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
 
 /** Simple helper class to load resources via the current classloader. */
 public final class ResourceHelper {
@@ -33,17 +36,7 @@
    * @throws IOException In the event of an IO error
    */
   public static InputStream loadNamedResourceAsStream(String name) throws IOException {
-    InputStream result;
-    result = null;
-
-    if (name != null) {
-      ClassLoader classLoader;
-      classLoader = ResourceHelper.class.getClassLoader();
-
-      result = classLoader.getResourceAsStream(name);
-    }
-
-    return result;
+    return name != null ? ResourceHelper.class.getClassLoader().getResourceAsStream(name) : null;
   }
 
   /**
@@ -54,26 +47,9 @@
    * @throws IOException In the event of an IO error
    */
   public static String loadNamedResourceAsString(String name) throws IOException {
-    String result;
-    result = null;
-
-    InputStream inputStream;
-    inputStream = ResourceHelper.loadNamedResourceAsStream(name);
-
-    if (inputStream != null) {
-      StringBuffer buffer;
-      buffer = new StringBuffer();
-
-      byte[] b;
-      b = new byte[4096];
-
-      for (int n; (n = inputStream.read(b)) != -1; ) {
-        buffer.append(new String(b, 0, n));
-      }
-
-      result = buffer.toString();
-    }
-
-    return result;
+    InputStream inputStream = ResourceHelper.loadNamedResourceAsStream(name);
+    return inputStream != null
+        ? CharStreams.toString(new InputStreamReader(inputStream, StandardCharsets.UTF_8))
+        : null;
   }
 }
diff --git a/src/test/java/com/cisco/gerrit/plugins/slack/util/ResourceHelperTest.java b/src/test/java/com/cisco/gerrit/plugins/slack/util/ResourceHelperTest.java
index a975335..6c3d8da 100644
--- a/src/test/java/com/cisco/gerrit/plugins/slack/util/ResourceHelperTest.java
+++ b/src/test/java/com/cisco/gerrit/plugins/slack/util/ResourceHelperTest.java
@@ -18,12 +18,14 @@
 package com.cisco.gerrit.plugins.slack.util;
 
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
 
 public class ResourceHelperTest {
   private static final String RESOURCE_NAME = "test.properties";
+  private static final String NON_EXISTING_RESOURCE_NAME = "invalid.properties";
 
   @Test
   public void testLoadNamedResourceAsStream() throws Exception {
@@ -31,11 +33,30 @@
   }
 
   @Test
+  public void loadNullResourceAsStreamReturnsNull() throws Exception {
+    assertNull(ResourceHelper.loadNamedResourceAsStream(null));
+  }
+
+  @Test
+  public void loadNonExistingNamedResourceAsStreamReturnsNull() throws Exception {
+    assertNull(ResourceHelper.loadNamedResourceAsStream(NON_EXISTING_RESOURCE_NAME));
+  }
+
+  @Test
   public void testLoadNamedResourceAsString() throws Exception {
-    String resource;
-    resource = ResourceHelper.loadNamedResourceAsString(RESOURCE_NAME);
+    String resource = ResourceHelper.loadNamedResourceAsString(RESOURCE_NAME);
 
     assertNotNull(resource);
     assertTrue(resource.length() > 0);
   }
+
+  @Test
+  public void loadNullNamedResourceAsStringReturnsNull() throws Exception {
+    assertNull(ResourceHelper.loadNamedResourceAsString(null));
+  }
+
+  @Test
+  public void loadNonExistingNamedResourceAsStringReturnsNull() throws Exception {
+    assertNull(ResourceHelper.loadNamedResourceAsString(NON_EXISTING_RESOURCE_NAME));
+  }
 }