diff options
author | Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com> | 2018-03-07 20:41:06 +0530 |
---|---|---|
committer | Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com> | 2018-03-08 11:18:10 +0530 |
commit | b766ec88e50cd7c6d8ca1cd02622625b8c27f5e1 (patch) | |
tree | 486cc8ed11f8a336722f080e25a0908ed8320cdd /framework/src/main/java | |
parent | a74a9b50f244f49a38ba36b2b59b3c8e23649949 (diff) |
Add support for profile include exclude
Issue-ID: CLI-95
Change-Id: I454020229481e2893459f7b29bf815bc0c701bed
Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
Diffstat (limited to 'framework/src/main/java')
-rw-r--r-- | framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java | 19 | ||||
-rw-r--r-- | framework/src/main/java/org/onap/cli/fw/registrar/OnapCommandRegistrar.java | 10 |
2 files changed, 26 insertions, 3 deletions
diff --git a/framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java b/framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java index ee6dbed3..5b00be19 100644 --- a/framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java +++ b/framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java @@ -58,6 +58,13 @@ public class OnapCommandParameterCache { return single; } + public void includeProfile(String profile) { + this.load(profile, true); + } + + public void excludeProfile(String profile) { + this.load(profile, false); + } public void add(String productVersion, String paramName, String paramValue) { @@ -111,15 +118,23 @@ public class OnapCommandParameterCache { } private void load() { + this.load(this.profileName, true); + } + + private void load(String profileName, boolean include) { List<OnapCommandParamEntity> params= new ArrayList<>(); try { - params = this.loadParamFromCache(this.profileName); + params = this.loadParamFromCache(profileName); } catch (OnapCommandLoadProfileFailed e) { throw new RuntimeException(e); // NOSONAR } for (OnapCommandParamEntity p : params) { - this.add(p.getProduct(), p.getName(), p.getValue()); + if (include) { + this.add(p.getProduct(), p.getName(), p.getValue()); + } else { + this.remove(p.getProduct(), p.getName()); + } } } diff --git a/framework/src/main/java/org/onap/cli/fw/registrar/OnapCommandRegistrar.java b/framework/src/main/java/org/onap/cli/fw/registrar/OnapCommandRegistrar.java index 8ba215e6..6564628d 100644 --- a/framework/src/main/java/org/onap/cli/fw/registrar/OnapCommandRegistrar.java +++ b/framework/src/main/java/org/onap/cli/fw/registrar/OnapCommandRegistrar.java @@ -90,8 +90,16 @@ public class OnapCommandRegistrar { paramCache.remove(this.getEnabledProductVersion(), paramName); } - public void setProfile(String profileName) { + public void setProfile(String profileName, List<String> includes, List<String> excludes) { this.paramCache.setProfile(profileName); + + for (String profile: includes) { + this.paramCache.includeProfile(profile); + } + + for (String profile: excludes) { + this.paramCache.excludeProfile(profile); + } } public List<String> getUserProfiles() { |