summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSmokowski, Kevin (ks6305) <ks6305@att.com>2018-04-25 21:13:56 +0000
committerSmokowski, Kevin (ks6305) <ks6305@att.com>2018-04-25 21:13:56 +0000
commit898ccabd60d1eea9c638386793b2a40215418b5f (patch)
tree37988c4904491e9542fbfd9e4b1d0a9f7d40090c
parent800db9725a780afcbf41b29affecdcca8c6851e9 (diff)
add replaceAll to slistringutils
add replaceAll to slistringutils because it supports regular expressions and replace does not Change-Id: Ibff7acd339103a6bb897d14ca3d31736a5b568ef Issue-ID: CCSDK-253 Signed-off-by: Smokowski, Kevin (ks6305) <ks6305@att.com>
-rw-r--r--sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtils.java22
-rw-r--r--sliPluginUtils/provider/src/test/java/org/onap/ccsdk/sli/core/slipluginutils/SliStringUtilsTest.java15
2 files changed, 37 insertions, 0 deletions
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 6402abd68..63c750cb8 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
@@ -305,6 +305,28 @@ public class SliStringUtils implements SvcLogicJavaPlugin {
}
/**
+ * exposes replaceAll to directed graph
+ * writes the length of source to outputPath
+ * @param parameters HashMap<String,String> of parameters passed by the DG to this function
+ * <table border="1">
+ * <thead><th>parameter</th><th>Mandatory/Optional</th><th>description</th></thead>
+ * <tbody>
+ * <tr><td>source</td><td>Mandatory</td><td>source string</td></tr>
+ * <tr><td>target</td><td>Mandatory</td><td>This should be a valid regular expression</td></tr>
+ * <tr><td>replacement</td><td>Mandatory</td><td>The replacement sequence of char values</td></tr>
+ * <tr><td>outputPath</td><td>Mandatory</td><td>the location in context memory the result is written to</td></tr>
+ * </tbody>
+ * </table>
+ * @param ctx Reference to context memory
+ * @throws SvcLogicException
+ * @since 11.0.2
+ */
+ public static void replaceAll(Map<String, String> parameters, SvcLogicContext ctx) throws SvcLogicException {
+ SliPluginUtils.checkParameters(parameters, new String[]{"source","outputPath","target","replacement"}, LOG);
+ ctx.setAttribute(parameters.get("outputPath"), parameters.get("source").replaceAll(parameters.get("target"), parameters.get("replacement")));
+ }
+
+ /**
* Provides substring functionality to Directed Graphs.
* <p>
* Calls either String.substring(String beginIndex) or
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 4fc8d1866..4c665121c 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
@@ -234,6 +234,21 @@ public class SliStringUtilsTest {
SliStringUtils.replace(param, ctx);
assertEquals(sourceString.replace(old, neww), ctx.getAttribute(outputPath));
}
+
+ @Test
+ public void replaceAll() throws SvcLogicException {
+ String source = "cat Hello World cat";
+ String target = "\\s";
+ String replacement = "";
+ String outputPath = "out";
+
+ param.put("source", source);
+ param.put("target", target);
+ param.put("replacement", replacement);
+ param.put("outputPath", outputPath);
+ SliStringUtils.replaceAll(param, ctx);
+ assertEquals(source.replaceAll(target, replacement), ctx.getAttribute(outputPath));
+ }
@Test
public void concat() throws SvcLogicException {