diff options
author | amitjai <amitjai@amdocs.com> | 2018-04-27 13:28:57 +0530 |
---|---|---|
committer | Oren Kleks <orenkle@amdocs.com> | 2018-04-30 06:05:27 +0000 |
commit | 42c920baf4dbb9fe8775843a6d4c9f70fa29f064 (patch) | |
tree | ac2aff977e2b129e61d2166c4832842676e4f5c3 /common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/NonConfigResource.java | |
parent | f487427a32f410ab5c97a4092865d32beb88ee27 (diff) |
Rename packages from openecomp to onap.
This task is all about package name space change also make changes to pom for common module
Change-Id: Ie9bda0f958a9a05826c0374830cc9cb7d6d196b6
Issue-ID: SDC-1272
Signed-off-by: amitjai <amitjai@amdocs.com>
Diffstat (limited to 'common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/NonConfigResource.java')
-rw-r--r-- | common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/NonConfigResource.java | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/NonConfigResource.java b/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/NonConfigResource.java new file mode 100644 index 0000000000..830cdfef5a --- /dev/null +++ b/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/NonConfigResource.java @@ -0,0 +1,95 @@ +package org.onap.config; + +import java.io.File; +import java.net.URL; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; +import java.util.function.Predicate; + +/** + * The type Non config resource. + */ +public class NonConfigResource { + + private static Set<URL> urls = new HashSet<>(); + private static Set<File> files = new HashSet<>(); + + /** + * Add. + * + * @param url the url + */ + public static void add(URL url) { + urls.add(url); + } + + /** + * Add. + * + * @param file the file + */ + public static void add(File file) { + files.add(file); + } + + /** + * Locate path. + * + * @param resource the resource + * @return the path + */ + public static Path locate(String resource) { + try { + if (resource != null) { + File file = new File(resource); + if (file.exists()) { + return Paths.get(resource); + } + for (File availableFile : files) { + if (availableFile.getAbsolutePath().endsWith(resource) && availableFile.exists()) { + return Paths.get(availableFile.getAbsolutePath()); + } + } + if (System.getProperty("node.config.location") != null) { + Path path = locate(new File(System.getProperty("node.config.location")), resource); + if (path != null) { + return path; + } + } + if (System.getProperty("config.location") != null) { + Path path = locate(new File(System.getProperty("config.location")), resource); + if (path != null) { + return path; + } + } + for (URL url : urls) { + if (url.getFile().endsWith(resource)) { + return Paths.get(url.toURI()); + } + } + } + } catch (Exception exception) { + exception.printStackTrace(); + } + return null; + } + + private static Path locate(File root, String resource) { + if (root.exists()) { + Collection<File> filesystemResources = ConfigurationUtils.getAllFiles(root, true, false); + Predicate<File> f1 = ConfigurationUtils::isConfig; + for (File file : filesystemResources) { + if (!f1.test(file)) { + add(file); + if (file.getAbsolutePath().endsWith(resource)) { + return Paths.get(file.getAbsolutePath()); + } + } + } + } + return null; + } +} |