From b766ec88e50cd7c6d8ca1cd02622625b8c27f5e1 Mon Sep 17 00:00:00 2001 From: Kanagaraj Manickam k00365106 Date: Wed, 7 Mar 2018 20:41:06 +0530 Subject: Add support for profile include exclude Issue-ID: CLI-95 Change-Id: I454020229481e2893459f7b29bf815bc0c701bed Signed-off-by: Kanagaraj Manickam k00365106 --- .../cli/fw/input/cache/OnapCommandParameterCache.java | 19 +++++++++++++++++-- .../onap/cli/fw/registrar/OnapCommandRegistrar.java | 10 +++++++++- .../cli/fw/registrar/OnapCommandRegistrarTest.java | 3 ++- 3 files changed, 28 insertions(+), 4 deletions(-) (limited to 'framework/src') 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 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 includes, List excludes) { this.paramCache.setProfile(profileName); + + for (String profile: includes) { + this.paramCache.includeProfile(profile); + } + + for (String profile: excludes) { + this.paramCache.excludeProfile(profile); + } } public List getUserProfiles() { diff --git a/framework/src/test/java/org/onap/cli/fw/registrar/OnapCommandRegistrarTest.java b/framework/src/test/java/org/onap/cli/fw/registrar/OnapCommandRegistrarTest.java index 124b9564..d70c1521 100644 --- a/framework/src/test/java/org/onap/cli/fw/registrar/OnapCommandRegistrarTest.java +++ b/framework/src/test/java/org/onap/cli/fw/registrar/OnapCommandRegistrarTest.java @@ -23,6 +23,7 @@ import static org.junit.Assert.fail; import java.io.File; import java.net.URL; +import java.util.ArrayList; import org.junit.Before; import org.junit.Test; @@ -90,7 +91,7 @@ public class OnapCommandRegistrarTest { @Test public void testProfile() throws OnapCommandException { try { - OnapCommandRegistrar.getRegistrar().setProfile("test12312"); + OnapCommandRegistrar.getRegistrar().setProfile("test234", new ArrayList(), new ArrayList()); OnapCommandRegistrar.getRegistrar().addParamCache("a", "b"); OnapCommandRegistrar.getRegistrar().getParamCache(); OnapCommandRegistrar.getRegistrar().removeParamCache("a"); -- cgit 1.2.3-korg