aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/main
diff options
context:
space:
mode:
authorKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2018-03-07 20:41:06 +0530
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2018-03-08 11:18:10 +0530
commitb766ec88e50cd7c6d8ca1cd02622625b8c27f5e1 (patch)
tree486cc8ed11f8a336722f080e25a0908ed8320cdd /framework/src/main
parenta74a9b50f244f49a38ba36b2b59b3c8e23649949 (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')
-rw-r--r--framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java19
-rw-r--r--framework/src/main/java/org/onap/cli/fw/registrar/OnapCommandRegistrar.java10
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() {