diff options
author | Bogumil Zebek <bogumil.zebek@nokia.com> | 2018-06-22 08:56:43 +0200 |
---|---|---|
committer | Bogumil Zebek <bogumil.zebek@nokia.com> | 2018-06-26 12:09:38 +0200 |
commit | 9939a1d4a4d390cfb89829ad253d94f8f4102ac5 (patch) | |
tree | 0a81ab549cf67bfe008f3a094ca4340e8a10c961 | |
parent | f518411876d6830d83d051a915f0b21bdfdcb43e (diff) |
Fix file stream closing
Change-Id: Ie1417769a934fff51a1b8277e472a8f8c04b81eb
Issue-ID: AAI-1234
Signed-off-by: Bogumil Zebek <bogumil.zebek@nokia.com>
4 files changed, 65 insertions, 30 deletions
diff --git a/src/main/java/org/onap/aai/datarouter/util/DataRouterProperties.java b/src/main/java/org/onap/aai/datarouter/util/DataRouterProperties.java index 2b17020..36e4a10 100644 --- a/src/main/java/org/onap/aai/datarouter/util/DataRouterProperties.java +++ b/src/main/java/org/onap/aai/datarouter/util/DataRouterProperties.java @@ -9,7 +9,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -24,31 +24,35 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStream; import java.util.Properties; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DataRouterProperties { - private static final Logger logger = LoggerFactory.getLogger(DataRouterProperties.class); + private static final Logger LOGGER = LoggerFactory.getLogger(DataRouterProperties.class); + + private static Properties properties; - private static Properties properties; + static { + File file = new File(DataRouterConstants.DR_CONFIG_FILE); + loadProperties(file); + } - static { - properties = new Properties(); - File file = new File(DataRouterConstants.DR_CONFIG_FILE); - try { - properties.load(new FileInputStream(file)); - } catch (FileNotFoundException e) { - logger.error("FileNotFoundException: ", e); - } catch (IOException e) { - logger.error("IOException: ", e); + static void loadProperties(File file) { + properties = new Properties(); + try (InputStream props = new FileInputStream(file)) { + properties.load(props); + } catch (FileNotFoundException e) { + LOGGER.error("FileNotFoundException: ", e); + } catch (IOException e) { + LOGGER.error("IOException: ", e); + } } - } - public static String get(String key) { - return properties.getProperty(key); - } + public static String get(String key) { + return properties.getProperty(key); + } } diff --git a/src/main/java/org/onap/aai/datarouter/util/SearchServiceAgent.java b/src/main/java/org/onap/aai/datarouter/util/SearchServiceAgent.java index 42861b4..bbdb4c8 100644 --- a/src/main/java/org/onap/aai/datarouter/util/SearchServiceAgent.java +++ b/src/main/java/org/onap/aai/datarouter/util/SearchServiceAgent.java @@ -320,8 +320,7 @@ public class SearchServiceAgent { * Removes a document from the Search Service.
*
* @param index - The index to create the document in.
- * @param id - The identifier for the document.
- * @param payload - The document contents.
+ * @param documentId - The identifier for the document.
* @param headers - HTTP headers.
*/
public void deleteDocument(String index, String documentId, Map<String, List<String>> headers) {
@@ -340,12 +339,13 @@ public class SearchServiceAgent { */
protected String loadFileData(String filename) throws Exception {
StringBuilder data = new StringBuilder();
- try {
- BufferedReader in = new BufferedReader(new InputStreamReader(
- EntityEventPolicy.class.getClassLoader().getResourceAsStream("/" + filename),
- StandardCharsets.UTF_8));
- String line;
+ try (InputStreamReader inputStreamReader = new InputStreamReader(EntityEventPolicy.class.getClassLoader()
+ .getResourceAsStream("/" + filename), StandardCharsets.UTF_8); BufferedReader in = new BufferedReader(
+ inputStreamReader)
+ ) {
+
+ String line;
while ((line = in.readLine()) != null) {
data.append(line);
}
diff --git a/src/test/java/org/onap/aai/datarouter/util/DataRouterPropertiesTest.java b/src/test/java/org/onap/aai/datarouter/util/DataRouterPropertiesTest.java index 024a23d..51505a9 100644 --- a/src/test/java/org/onap/aai/datarouter/util/DataRouterPropertiesTest.java +++ b/src/test/java/org/onap/aai/datarouter/util/DataRouterPropertiesTest.java @@ -3,13 +3,13 @@ * org.onap.aai
* ================================================================================
* Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017-2018 Amdocs
+ * Copyright © 2017-2018 Nokia
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
@@ -20,14 +20,43 @@ */
package org.onap.aai.datarouter.util;
+import java.io.File;
+import java.net.URISyntaxException;
+import org.junit.Assert;
import org.junit.Test;
-import static org.junit.Assert.*;
-
+/**
+ * @author Bogumil Zebek
+ */
public class DataRouterPropertiesTest {
@Test
- public void testGet(){
- DataRouterProperties.get("key");
+ public void shouldLoadDataRouterPropertiesProperlyWhenSpecifiedFileExists() throws URISyntaxException {
+ // given
+ ClassLoader classLoader = getClass().getClassLoader();
+
+ File file = new File(
+ classLoader.getResource("data-router.properties").getFile()
+ );
+
+ // when
+ DataRouterProperties.loadProperties(file);
+
+ //then
+ Assert.assertEquals("value1", DataRouterProperties.get("key1"));
+ Assert.assertEquals("value2", DataRouterProperties.get("key2"));
+ Assert.assertNull(DataRouterProperties.get("nonExistingKey"));
+ }
+
+ @Test
+ public void shouldCreateEmptyDataRouterPropertiesContainerWhenSpecifiedFileDoesNotExist() {
+ // given
+ File nonExistingFile = new File("nonExistingFile.properties");
+
+ // when
+ DataRouterProperties.loadProperties(nonExistingFile);
+
+ // then
+ Assert.assertNull(DataRouterProperties.get("key"));
}
}
\ No newline at end of file diff --git a/src/test/resources/data-router.properties b/src/test/resources/data-router.properties new file mode 100644 index 0000000..f995a3b --- /dev/null +++ b/src/test/resources/data-router.properties @@ -0,0 +1,2 @@ +key1=value1 +key2=value2
\ No newline at end of file |