From 4a79f9d1e5066f9fafde81bf13004a61a4011fe7 Mon Sep 17 00:00:00 2001 From: "Smokowski, Kevin (ks6305)" Date: Thu, 17 Oct 2019 19:03:35 +0000 Subject: SliStringUtils additional functions in SliStringUtils added Issue-ID: CCSDK-1847 Signed-off-by: Smokowski, Kevin (ks6305) Change-Id: I2e38258abe57d4fcd49cf226877cd38e9dd947d6 --- .../sli/core/slipluginutils/SliPluginUtils.java | 11 ++- .../sli/core/slipluginutils/SliStringUtils.java | 82 +++++++++++++++------- .../SliPluginUtils_StaticFunctionsTest.java | 21 +++++- .../core/slipluginutils/SliStringUtilsTest.java | 68 +++++++++++++++++- 4 files changed, 153 insertions(+), 29 deletions(-) diff --git a/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils.java b/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils.java index fd3364ca..b8e88f65 100644 --- a/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils.java +++ b/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils.java @@ -39,8 +39,8 @@ import java.util.Objects; import java.util.Properties; import java.util.Set; import java.util.UUID; -import org.apache.commons.text.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringEscapeUtils; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.ccsdk.sli.core.sli.SvcLogicException; import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin; @@ -1110,4 +1110,13 @@ public class SliPluginUtils implements SvcLogicJavaPlugin { return changeFlag; } + public static String containsKey(Map parameters, SvcLogicContext ctx) throws SvcLogicException { + String key = parameters.get("key"); + Boolean keyFound = ctx.getAttributeKeySet().contains(key); + if (keyFound) { + return "true"; + } + return "false"; + } + } diff --git a/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtils.java b/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtils.java index 888ef883..269c3766 100644 --- a/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtils.java +++ b/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtils.java @@ -39,10 +39,12 @@ import org.slf4j.LoggerFactory; */ public class SliStringUtils implements SvcLogicJavaPlugin { private static final Logger LOG = LoggerFactory.getLogger(SliStringUtils.class); - + public static final String INPUT_PARAM_KEY = "key"; public static final String INPUT_PARAM_SOURCE = "source"; public static final String INPUT_PARAM_TARGET = "target"; - + public static final String TRUE_CONSTANT = "true"; + public static final String FALSE_CONSTANT = "false"; + public SliStringUtils() {} /** @@ -125,11 +127,11 @@ public class SliStringUtils implements SvcLogicJavaPlugin { * @since 11.0.2 */ public static String equalsIgnoreCase(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{INPUT_PARAM_SOURCE,"target"}, LOG); - if(parameters.get(INPUT_PARAM_SOURCE).equalsIgnoreCase(parameters.get("target"))){ - return "true"; + SliPluginUtils.checkParameters(parameters, new String[] {INPUT_PARAM_SOURCE, INPUT_PARAM_TARGET}, LOG); + if (parameters.get(INPUT_PARAM_SOURCE).equalsIgnoreCase(parameters.get(INPUT_PARAM_TARGET))) { + return TRUE_CONSTANT; } - return "false"; + return FALSE_CONSTANT; } /** @@ -189,11 +191,11 @@ public class SliStringUtils implements SvcLogicJavaPlugin { * @since 11.0.2 */ public static String contains(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{INPUT_PARAM_SOURCE,"target"}, LOG); - if(parameters.get(INPUT_PARAM_SOURCE).contains(parameters.get("target"))){ - return "true"; + SliPluginUtils.checkParameters(parameters, new String[] {INPUT_PARAM_SOURCE, INPUT_PARAM_TARGET}, LOG); + if (parameters.get(INPUT_PARAM_SOURCE).contains(parameters.get(INPUT_PARAM_TARGET))) { + return TRUE_CONSTANT; } - return "false"; + return FALSE_CONSTANT; } /** @@ -213,11 +215,11 @@ public class SliStringUtils implements SvcLogicJavaPlugin { * @since 11.0.2 */ public static String endsWith(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{INPUT_PARAM_SOURCE,"target"}, LOG); - if(parameters.get(INPUT_PARAM_SOURCE).endsWith(parameters.get("target"))){ - return "true"; + SliPluginUtils.checkParameters(parameters, new String[] {INPUT_PARAM_SOURCE, INPUT_PARAM_TARGET}, LOG); + if (parameters.get(INPUT_PARAM_SOURCE).endsWith(parameters.get(INPUT_PARAM_TARGET))) { + return TRUE_CONSTANT; } - return "false"; + return FALSE_CONSTANT; } /** @@ -237,11 +239,11 @@ public class SliStringUtils implements SvcLogicJavaPlugin { * @since 11.0.2 */ public static String startsWith(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{INPUT_PARAM_SOURCE,"target"}, LOG); - if(parameters.get(INPUT_PARAM_SOURCE).startsWith(parameters.get("target"))){ - return "true"; + SliPluginUtils.checkParameters(parameters, new String[] {INPUT_PARAM_SOURCE, INPUT_PARAM_TARGET}, LOG); + if (parameters.get(INPUT_PARAM_SOURCE).startsWith(parameters.get(INPUT_PARAM_TARGET))) { + return TRUE_CONSTANT; } - return "false"; + return FALSE_CONSTANT; } /** @@ -302,8 +304,10 @@ public class SliStringUtils implements SvcLogicJavaPlugin { * @since 11.0.2 */ public static void replace(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{INPUT_PARAM_SOURCE,"outputPath","target","replacement"}, LOG); - ctx.setAttribute(parameters.get("outputPath"), (parameters.get(INPUT_PARAM_SOURCE).replace(parameters.get("target"), parameters.get("replacement")))); + SliPluginUtils.checkParameters(parameters, + new String[] {INPUT_PARAM_SOURCE, "outputPath", INPUT_PARAM_TARGET, "replacement"}, LOG); + ctx.setAttribute(parameters.get("outputPath"), (parameters.get(INPUT_PARAM_SOURCE) + .replace(parameters.get(INPUT_PARAM_TARGET), parameters.get("replacement")))); } /** @@ -324,8 +328,10 @@ public class SliStringUtils implements SvcLogicJavaPlugin { * @since 11.0.2 */ public static void replaceAll(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{INPUT_PARAM_SOURCE,"outputPath","target","replacement"}, LOG); - ctx.setAttribute(parameters.get("outputPath"), parameters.get(INPUT_PARAM_SOURCE).replaceAll(parameters.get("target"), parameters.get("replacement"))); + SliPluginUtils.checkParameters(parameters, + new String[] {INPUT_PARAM_SOURCE, "outputPath", INPUT_PARAM_TARGET, "replacement"}, LOG); + ctx.setAttribute(parameters.get("outputPath"), parameters.get(INPUT_PARAM_SOURCE) + .replaceAll(parameters.get(INPUT_PARAM_TARGET), parameters.get("replacement"))); } /** @@ -385,8 +391,9 @@ public class SliStringUtils implements SvcLogicJavaPlugin { * @since 11.0.2 */ public static void concat( Map parameters, SvcLogicContext ctx ) throws SvcLogicException { - SliPluginUtils.checkParameters( parameters, new String[]{INPUT_PARAM_SOURCE,"target","outputPath"}, LOG ); - String result = parameters.get(INPUT_PARAM_SOURCE).concat(parameters.get("target")); + SliPluginUtils.checkParameters(parameters, new String[] {INPUT_PARAM_SOURCE, INPUT_PARAM_TARGET, "outputPath"}, + LOG); + String result = parameters.get(INPUT_PARAM_SOURCE).concat(parameters.get(INPUT_PARAM_TARGET)); ctx.setAttribute(parameters.get("outputPath"), result); } @@ -475,4 +482,31 @@ public class SliStringUtils implements SvcLogicJavaPlugin { throw new SvcLogicException("problem with escapeJsonString", ex); } } + + public static String isBlank(Map parameters, SvcLogicContext ctx) throws SvcLogicException { + String ctxLocation = parameters.get(INPUT_PARAM_KEY); + String str = ctx.getAttribute(ctxLocation); + if (str == null || str.isEmpty() || " ".equals(str)) { + return TRUE_CONSTANT; + } + return FALSE_CONSTANT; + } + + public static String isEmpty(Map parameters, SvcLogicContext ctx) throws SvcLogicException { + String ctxLocation = parameters.get(INPUT_PARAM_KEY); + String str = ctx.getAttribute(ctxLocation); + if (str == null || str.isEmpty()) { + return TRUE_CONSTANT; + } + return FALSE_CONSTANT; + } + + public static String isNull(Map parameters, SvcLogicContext ctx) throws SvcLogicException { + String ctxLocation = parameters.get(INPUT_PARAM_KEY); + String str = ctx.getAttribute(ctxLocation); + if (str == null) { + return TRUE_CONSTANT; + } + return FALSE_CONSTANT; + } } diff --git a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java index 774aa1c8..08adc973 100644 --- a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java +++ b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliPluginUtils_StaticFunctionsTest.java @@ -24,10 +24,8 @@ package org.onap.ccsdk.sli.core.slipluginutils; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; - import java.util.HashMap; import java.util.Map; - import org.junit.Before; import org.junit.Test; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; @@ -247,4 +245,23 @@ public class SliPluginUtils_StaticFunctionsTest { SliPluginUtils.setTime(parameters, ctx); assertNotNull(ctx.getAttribute(outputPath)); } + + @Test + public void containsKey() throws Exception { + ctx = new SvcLogicContext(); + parameters.put(SliStringUtils.INPUT_PARAM_KEY, "key_does_not_exist"); + String result = SliPluginUtils.containsKey(parameters, ctx); + assertEquals(SliStringUtils.FALSE_CONSTANT, result); + + ctx.setAttribute("a", null); + parameters.put(SliStringUtils.INPUT_PARAM_KEY, "a"); + result = SliPluginUtils.containsKey(parameters, ctx); + assertEquals(SliStringUtils.FALSE_CONSTANT, result); + + ctx.setAttribute("a", "hellworld"); + parameters.put(SliStringUtils.INPUT_PARAM_KEY, "a"); + result = SliPluginUtils.containsKey(parameters, ctx); + assertEquals(SliStringUtils.TRUE_CONSTANT, result); + } + } diff --git a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtilsTest.java b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtilsTest.java index b88e8d2c..d8d78a0b 100644 --- a/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtilsTest.java +++ b/sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtilsTest.java @@ -26,10 +26,8 @@ package org.onap.ccsdk.sli.core.slipluginutils; import static org.hamcrest.Matchers.equalTo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; - import java.util.HashMap; import java.util.Map; - import org.junit.Before; import org.junit.Test; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; @@ -317,4 +315,70 @@ public class SliStringUtilsTest { assertEquals("{\\\"image_name\\\":\\\"Ubuntu 14.04\\\",\\\"service-instance-id\\\":\\\"1\\\",\\\"vnf-model-customization-uuid\\\":\\\"2f\\\",\\\"vnf-id\\\":\\\"3b\\\"}", ctx.getAttribute(outputPath)); } + @Test + public void isEmpty() throws Exception { + ctx = new SvcLogicContext(); + param = new HashMap<>(); + String result = SliStringUtils.isEmpty(param, ctx); + param.put(SliStringUtils.INPUT_PARAM_KEY, "key_does_not_exist"); + assertEquals(SliStringUtils.TRUE_CONSTANT, result); + + ctx.setAttribute("a", null); + param.put(SliStringUtils.INPUT_PARAM_KEY, "a"); + result = SliStringUtils.isEmpty(param, ctx); + assertEquals(SliStringUtils.TRUE_CONSTANT, result); + + ctx.setAttribute("a", ""); + result = SliStringUtils.isEmpty(param, ctx); + assertEquals(SliStringUtils.TRUE_CONSTANT, result); + + ctx.setAttribute("a", " "); + result = SliStringUtils.isEmpty(param, ctx); + assertEquals(SliStringUtils.FALSE_CONSTANT, result); + } + + @Test + public void isBlank() throws Exception { + ctx = new SvcLogicContext(); + param = new HashMap<>(); + String result = SliStringUtils.isBlank(param, ctx); + param.put(SliStringUtils.INPUT_PARAM_KEY, "key_does_not_exist"); + assertEquals(SliStringUtils.TRUE_CONSTANT, result); + + ctx.setAttribute("a", null); + param.put(SliStringUtils.INPUT_PARAM_KEY, "a"); + result = SliStringUtils.isBlank(param, ctx); + assertEquals(SliStringUtils.TRUE_CONSTANT, result); + + ctx.setAttribute("a", ""); + result = SliStringUtils.isBlank(param, ctx); + assertEquals(SliStringUtils.TRUE_CONSTANT, result); + + ctx.setAttribute("a", " "); + result = SliStringUtils.isBlank(param, ctx); + assertEquals(SliStringUtils.TRUE_CONSTANT, result); + } + + @Test + public void isNull() throws Exception { + ctx = new SvcLogicContext(); + param = new HashMap<>(); + String result = SliStringUtils.isNull(param, ctx); + param.put(SliStringUtils.INPUT_PARAM_KEY, "key_does_not_exist"); + assertEquals(SliStringUtils.TRUE_CONSTANT, result); + + ctx.setAttribute("a", null); + param.put(SliStringUtils.INPUT_PARAM_KEY, "a"); + result = SliStringUtils.isNull(param, ctx); + assertEquals(SliStringUtils.TRUE_CONSTANT, result); + + ctx.setAttribute("a", ""); + result = SliStringUtils.isNull(param, ctx); + assertEquals(SliStringUtils.FALSE_CONSTANT, result); + + ctx.setAttribute("a", " "); + result = SliStringUtils.isNull(param, ctx); + assertEquals(SliStringUtils.FALSE_CONSTANT, result); + } + } -- cgit 1.2.3-korg