summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogumil Zebek <bogumil.zebek@nokia.com>2018-06-22 08:56:43 +0200
committerBogumil Zebek <bogumil.zebek@nokia.com>2018-06-26 12:09:38 +0200
commit9939a1d4a4d390cfb89829ad253d94f8f4102ac5 (patch)
tree0a81ab549cf67bfe008f3a094ca4340e8a10c961
parentf518411876d6830d83d051a915f0b21bdfdcb43e (diff)
Fix file stream closing
Change-Id: Ie1417769a934fff51a1b8277e472a8f8c04b81eb Issue-ID: AAI-1234 Signed-off-by: Bogumil Zebek <bogumil.zebek@nokia.com>
-rw-r--r--src/main/java/org/onap/aai/datarouter/util/DataRouterProperties.java38
-rw-r--r--src/main/java/org/onap/aai/datarouter/util/SearchServiceAgent.java14
-rw-r--r--src/test/java/org/onap/aai/datarouter/util/DataRouterPropertiesTest.java41
-rw-r--r--src/test/resources/data-router.properties2
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