diff options
Diffstat (limited to 'src/main/java/org/onap/aai/validation/config/TopicPropertiesConfig.java')
-rw-r--r-- | src/main/java/org/onap/aai/validation/config/TopicPropertiesConfig.java | 58 |
1 files changed, 25 insertions, 33 deletions
diff --git a/src/main/java/org/onap/aai/validation/config/TopicPropertiesConfig.java b/src/main/java/org/onap/aai/validation/config/TopicPropertiesConfig.java index 4742cef..4a2dc16 100644 --- a/src/main/java/org/onap/aai/validation/config/TopicPropertiesConfig.java +++ b/src/main/java/org/onap/aai/validation/config/TopicPropertiesConfig.java @@ -1,4 +1,4 @@ -/* +/** * ============LICENSE_START=================================================== * Copyright (c) 2018 Amdocs * ============================================================================ @@ -6,7 +6,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, @@ -17,19 +17,21 @@ */ package org.onap.aai.validation.config; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Properties; +import org.onap.aai.validation.logging.ApplicationMsgs; import org.onap.aai.validation.logging.LogHelper; import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.config.PropertiesFactoryBean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.core.io.Resource; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Properties; - @Configuration public class TopicPropertiesConfig { @@ -38,38 +40,28 @@ public class TopicPropertiesConfig { @Value("${topics.properties.location}") private String topicsPropertiesLocation; - private static final String[] TOPICS_PROPERTIES_LOCATION_TPL = { "file:./%s/*.properties", "classpath:/%s/*.properties" }; + private static final String[] propertyFilePatterns = { "file:./%s/*.properties", "classpath:/%s/*.properties" }; - @Bean(name="topicProperties") + @Bean(name = "topicProperties") public Properties topicProperties() throws IOException { - PropertiesFactoryBean config = new PropertiesFactoryBean(); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); - List<Resource> resouceList = new ArrayList<Resource>(); - try { - for (String p : bldrsPropLoc2Path(topicsPropertiesLocation)) { - Resource[] resources = resolver.getResources(p); - if (resources != null && resources.length > 0) { - for (Resource resource : resources) { - resouceList.add(resource); - } - break; - } + List<Resource> resourceList = new ArrayList<>(); + for (String patternTemplate : propertyFilePatterns) { + String pattern = String.format(patternTemplate, topicsPropertiesLocation).replace("//", "/"); + applicationLogger.info(ApplicationMsgs.LOAD_PROPERTIES, "using pattern " + pattern); + try { + resourceList.addAll(Arrays.asList(resolver.getResources(pattern))); + } catch (FileNotFoundException e) { + applicationLogger.info(ApplicationMsgs.LOAD_PROPERTIES, e.getMessage()); } - } catch (Exception e) { - applicationLogger.logAuditError(e); } - config.setLocations(resouceList.toArray(new Resource[]{})); + + applicationLogger.info(ApplicationMsgs.LOAD_PROPERTIES, resourceList.toString()); + + PropertiesFactoryBean config = new PropertiesFactoryBean(); + config.setLocations(resourceList.toArray(new Resource[resourceList.size()])); config.afterPropertiesSet(); return config.getObject(); } - private static String[] bldrsPropLoc2Path(String topicsPropertiesLocation) { - String[] res = new String[TOPICS_PROPERTIES_LOCATION_TPL.length]; - int indx = 0; - for (String tmpl : TOPICS_PROPERTIES_LOCATION_TPL) { - res[indx++] = String.format(tmpl, topicsPropertiesLocation).replace("//", "/"); - } - return res; - } - } |