From 3cd5e19b313f5835335d04f1f002ff858fcf174f Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Tue, 29 Aug 2017 16:06:22 -0400 Subject: Prune code migrated from sdnc/core to ccsdk Remove code from sdnc/core which has been refactored to the CCSDK sli/core project as part of the ONAP Amsterdam release. Added README.md files for each former sdnc/core component redirecting the reader to the correct CCSDK repo. Change-Id: Ifb1f7752fa5e6e08e4393fb34e68dc1a84f35678 Issue-ID: SDNC-59 Signed-off-by: Dan Timoney --- sliPluginUtils/.gitignore | 34 - sliPluginUtils/.sonar/checkstyle.xml | 1 - sliPluginUtils/.sonar/pmd.xml | 67 -- sliPluginUtils/README.md | 3 + sliPluginUtils/features/pom.xml | 127 ---- .../features/src/main/resources/features.xml | 39 -- sliPluginUtils/installer/pom.xml | 138 ---- .../src/assembly/assemble_installer_zip.xml | 59 -- .../src/assembly/assemble_mvnrepo_zip.xml | 49 -- .../src/main/resources/scripts/install-feature.sh | 40 -- sliPluginUtils/pom.xml | 41 -- sliPluginUtils/provider/pom.xml | 85 --- .../openecomp/sdnc/sli/SliPluginUtils/DME2.java | 111 --- .../sdnc/sli/SliPluginUtils/SliPluginUtils.java | 754 --------------------- .../SliPluginUtils/SliPluginUtilsActivator.java | 95 --- .../sdnc/sli/SliPluginUtils/SliStringUtils.java | 396 ----------- .../sli/SliPluginUtils/SvcLogicContextList.java | 210 ------ .../sli/SliPluginUtils/SvcLogicContextObject.java | 28 - .../SliPluginUtils/commondatastructures/YesNo.java | 51 -- .../commondatastructures/package-info.java | 28 - .../sli/SliPluginUtils/CheckParametersTest.java | 116 ---- .../sdnc/sli/SliPluginUtils/Dme2Test.java | 109 --- .../SliPluginUtils_StaticFunctionsTest.java | 250 ------- .../SliPluginUtils/SliPluginUtils_ctxSortList.java | 96 --- .../SliPluginUtils_ctxSortListTest.java | 97 --- .../sli/SliPluginUtils/SliStringUtilsTest.java | 244 ------- .../SliPluginUtils/SvcLogicContextListTest.java | 307 --------- 27 files changed, 3 insertions(+), 3572 deletions(-) delete mode 100644 sliPluginUtils/.gitignore delete mode 100644 sliPluginUtils/.sonar/checkstyle.xml delete mode 100644 sliPluginUtils/.sonar/pmd.xml create mode 100644 sliPluginUtils/README.md delete mode 100644 sliPluginUtils/features/pom.xml delete mode 100644 sliPluginUtils/features/src/main/resources/features.xml delete mode 100644 sliPluginUtils/installer/pom.xml delete mode 100644 sliPluginUtils/installer/src/assembly/assemble_installer_zip.xml delete mode 100644 sliPluginUtils/installer/src/assembly/assemble_mvnrepo_zip.xml delete mode 100644 sliPluginUtils/installer/src/main/resources/scripts/install-feature.sh delete mode 100644 sliPluginUtils/pom.xml delete mode 100644 sliPluginUtils/provider/pom.xml delete mode 100644 sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/DME2.java delete mode 100644 sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils.java delete mode 100644 sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtilsActivator.java delete mode 100644 sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliStringUtils.java delete mode 100644 sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextList.java delete mode 100644 sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextObject.java delete mode 100644 sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/commondatastructures/YesNo.java delete mode 100644 sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/commondatastructures/package-info.java delete mode 100644 sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/CheckParametersTest.java delete mode 100644 sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/Dme2Test.java delete mode 100644 sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_StaticFunctionsTest.java delete mode 100644 sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_ctxSortList.java delete mode 100644 sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_ctxSortListTest.java delete mode 100644 sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliStringUtilsTest.java delete mode 100644 sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextListTest.java (limited to 'sliPluginUtils') diff --git a/sliPluginUtils/.gitignore b/sliPluginUtils/.gitignore deleted file mode 100644 index b73caf3..0000000 --- a/sliPluginUtils/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -#####standard .git ignore entries##### - -## IDE Specific Files ## -org.eclipse.core.resources.prefs -.classpath -.project -.settings -.idea -.externalToolBuilders -maven-eclipse.xml -workspace - -## Compilation Files ## -*.class -**/target -target -target-ide -MANIFEST.MF - -## Misc Ignores (OS specific etc) ## -bin/ -dist -*~ -*.ipr -*.iml -*.iws -classes -out/ -.DS_STORE -.metadata - -## Folders which contain auto generated source code ## -yang-gen-config -yang-gen-sal diff --git a/sliPluginUtils/.sonar/checkstyle.xml b/sliPluginUtils/.sonar/checkstyle.xml deleted file mode 100644 index 3fa2315..0000000 --- a/sliPluginUtils/.sonar/checkstyle.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/sliPluginUtils/.sonar/pmd.xml b/sliPluginUtils/.sonar/pmd.xml deleted file mode 100644 index 80343b3..0000000 --- a/sliPluginUtils/.sonar/pmd.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - 3 - - - 3 - - - 3 - - - 3 - - - 3 - - - 3 - - - 3 - - - 3 - - - 2 - - - 3 - - - 3 - - - 3 - - - 3 - - - 3 - - - 3 - - - 3 - - - 3 - - - 5 - - - 2 - - - 3 - - - 3 - - - diff --git a/sliPluginUtils/README.md b/sliPluginUtils/README.md new file mode 100644 index 0000000..1395de8 --- /dev/null +++ b/sliPluginUtils/README.md @@ -0,0 +1,3 @@ +SLIPLUGINUTILS HAS MOVED TO CCSDK! + +The new location for sliPluginUtils is ccsdk/sli/core/sliPluginUtils diff --git a/sliPluginUtils/features/pom.xml b/sliPluginUtils/features/pom.xml deleted file mode 100644 index 54b909a..0000000 --- a/sliPluginUtils/features/pom.xml +++ /dev/null @@ -1,127 +0,0 @@ - - - - sliPluginUtils-features - jar - 4.0.0 - - - sliPluginUtils - org.openecomp.sdnc.core - 1.1.2-SNAPSHOT - - - SliPluginUtils Plugin - Features - - - - org.openecomp.sdnc.core - sliPluginUtils-provider - ${project.version} - - - commons-lang - commons-lang - 2.6 - compile - - - org.opendaylight.mdsal - features-mdsal - ${odl.mdsal.features.version} - features - xml - runtime - - - - org.opendaylight.odlparent - opendaylight-karaf-empty - ${odl.karaf.empty.distro.version} - zip - - - - org.opendaylight.odlparent - features-test - ${odl.commons.opendaylight.version} - test - - - org.opendaylight.yangtools - features-yangtools - ${odl.yangtools.version} - features - xml - runtime - - - - - - - true - src/main/resources - - - - - org.apache.maven.plugins - maven-resources-plugin - - - filter - - resources - - generate-resources - - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - - - attach-artifacts - - attach-artifact - - package - - - - ${project.build.directory}/classes/${features.file} - xml - features - - - - - - - - - diff --git a/sliPluginUtils/features/src/main/resources/features.xml b/sliPluginUtils/features/src/main/resources/features.xml deleted file mode 100644 index c7dca2e..0000000 --- a/sliPluginUtils/features/src/main/resources/features.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - mvn:org.opendaylight.mdsal/features-mdsal/${odl.mdsal.features.version}/xml/features - - - - - odl-mdsal-broker - sdnc-sli - mvn:org.openecomp.sdnc.core/sliPluginUtils-provider/${project.version} - mvn:mysql/mysql-connector-java/${mysql.connector.version} - - - diff --git a/sliPluginUtils/installer/pom.xml b/sliPluginUtils/installer/pom.xml deleted file mode 100644 index e1044cb..0000000 --- a/sliPluginUtils/installer/pom.xml +++ /dev/null @@ -1,138 +0,0 @@ - - - 4.0.0 - - sliPluginUtils - org.openecomp.sdnc.core - 1.1.2-SNAPSHOT - - sliPluginUtils-installer - SLI Plugin Utilities - Karaf Installer - pom - - - sdnc-sliPluginUtils - sdnc-sliPluginUtils - mvn:org.openecomp.sdnc.core/sliPluginUtils-features/${project.version}/xml/features - false - - - - - - org.openecomp.sdnc.core - sliPluginUtils-features - ${project.version} - features - xml - - - * - * - - - - - - org.openecomp.sdnc.core - sliPluginUtils-provider - ${project.version} - - - - - - - - - maven-assembly-plugin - - - maven-repo-zip - - single - - package - - false - stage/${application.name}-${project.version} - - src/assembly/assemble_mvnrepo_zip.xml - - false - - - - installer-zip - - single - - package - - true - ${application.name}-${project.version}-installer - - src/assembly/assemble_installer_zip.xml - - false - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-dependencies - - copy-dependencies - - prepare-package - - false - ${project.build.directory}/assembly/system - false - true - true - true - false - false - org.openecomp.sdnc - sli-common,sli-provider,dblib-provider - provided - - - - - - maven-resources-plugin - 2.6 - - - copy-version - - copy-resources - - validate - - ${basedir}/target/stage - - - src/main/resources/scripts - - install-feature.sh - - true - - - - - - - - - - - - diff --git a/sliPluginUtils/installer/src/assembly/assemble_installer_zip.xml b/sliPluginUtils/installer/src/assembly/assemble_installer_zip.xml deleted file mode 100644 index 85e2e1e..0000000 --- a/sliPluginUtils/installer/src/assembly/assemble_installer_zip.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - bin - - zip - - - - false - - - - target/stage/ - ${application.name} - 755 - - *.sh - - - - target/stage/ - ${application.name} - 644 - - *.sh - - - - - - - diff --git a/sliPluginUtils/installer/src/assembly/assemble_mvnrepo_zip.xml b/sliPluginUtils/installer/src/assembly/assemble_mvnrepo_zip.xml deleted file mode 100644 index bf7805f..0000000 --- a/sliPluginUtils/installer/src/assembly/assemble_mvnrepo_zip.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - bin - - zip - - - - false - - - - target/assembly/ - . - - - - - - - - diff --git a/sliPluginUtils/installer/src/main/resources/scripts/install-feature.sh b/sliPluginUtils/installer/src/main/resources/scripts/install-feature.sh deleted file mode 100644 index 93236c5..0000000 --- a/sliPluginUtils/installer/src/main/resources/scripts/install-feature.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -### -# ============LICENSE_START======================================================= -# openECOMP : SDN-C -# ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights -# reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -### - -ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} -ODL_KARAF_CLIENT=${ODL_KARAF_CLIENT:-${ODL_HOME}/bin/client} -ODL_KARAF_CLIENT_OPTS=${ODL_KARAF_CLIENT_OPTS:-"-u karaf"} -INSTALLERDIR=$(dirname $0) - -REPOZIP=${INSTALLERDIR}/${features.boot}-${project.version}.zip - -if [ -f ${REPOZIP} ] -then - unzip -d ${ODL_HOME} ${REPOZIP} -else - echo "ERROR : repo zip ($REPOZIP) not found" - exit 1 -fi - -${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:repo-add ${features.repositories} -${ODL_KARAF_CLIENT} ${ODL_KARAF_CLIENT_OPTS} feature:install ${features.boot} diff --git a/sliPluginUtils/pom.xml b/sliPluginUtils/pom.xml deleted file mode 100644 index dec05f2..0000000 --- a/sliPluginUtils/pom.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - org.openecomp.sdnc.core - sliPluginUtils - 1.1.2-SNAPSHOT - pom - 4.0.0 - - - - org.openecomp.sdnc.core - sdnc-core - 1.1.2-SNAPSHOT - - Service Logic Interface Plugin Utilities - A package of static utility functions to be used when developing SLI plugins - - - - - org.openecomp.sdnc.core - SliPluginUtils-features - features - xml - ${project.version} - - - org.openecomp.sdnc.core - SliPluginUtils-provider - ${project.version} - - - - - - provider - features - installer - - diff --git a/sliPluginUtils/provider/pom.xml b/sliPluginUtils/provider/pom.xml deleted file mode 100644 index c640cb5..0000000 --- a/sliPluginUtils/provider/pom.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - sliPluginUtils-provider - bundle - 4.0.0 - - - org.openecomp.sdnc.core - sliPluginUtils - 1.1.2-SNAPSHOT - - - SliPluginUtils Plugin - Provider - http://maven.apache.org - - - UTF-8 - - - - - junit - junit - 4.11 - test - - - org.openecomp.sdnc.core - sli-common - ${project.version} - compile - - - equinoxSDK381 - org.eclipse.osgi - ${equinox.osgi.version} - - - org.slf4j - slf4j-api - ${slf4j.version} - - - org.slf4j - jcl-over-slf4j - ${slf4j.version} - - - org.apache.commons - commons-lang3 - 3.1 - - - org.hamcrest - hamcrest-library - 1.3 - test - - - - - - - - org.apache.felix - maven-bundle-plugin - ${bundle.plugin.version} - true - - - org.openecomp.sdnc.sli.SliPluginUtils - org.openecomp.sdnc.sli.SliPluginUtils.SliPluginUtilsActivator - org.openecomp.sdnc.sli.SliPluginUtils - org.openecomp.sdnc.*,org.osgi.framework.*,org.slf4j.*,java.net.* - *;scope=compile|runtime;artifactId=!sli-common|org.eclipse.osgi|mysql-connector-java|slf4j-api|jcl-over-slf4j - true - - - - - - - - diff --git a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/DME2.java b/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/DME2.java deleted file mode 100644 index 3961271..0000000 --- a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/DME2.java +++ /dev/null @@ -1,111 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import java.util.Map; - -import org.openecomp.sdnc.sli.SvcLogicContext; -import org.openecomp.sdnc.sli.SvcLogicException; -import org.openecomp.sdnc.sli.SvcLogicJavaPlugin; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - - -/** - * A SvcLogicJavaPlugin that generates DME2 proxy urls using parameters from context memory. - */ -public class DME2 implements SvcLogicJavaPlugin { - String aafUserName; - String aafPassword; - String envContext; - String routeOffer; - String[] proxyUrls; - Integer index; - String commonServiceVersion; - String partner; - - private static final Logger LOG = LoggerFactory.getLogger(DME2.class); - - public void setPartner(String partner) { - if (partner != null && partner.length() > 0) { - this.partner = partner; - } - } - - public DME2(String aafUserName, String aafPassword, String envContext, String routeOffer, String[] proxyUrls, String commonServiceVersion) { - this.aafUserName = aafUserName; - this.aafPassword = aafPassword; - this.envContext = envContext; - this.routeOffer = routeOffer; - this.proxyUrls = proxyUrls; - this.index = 0; - this.commonServiceVersion = commonServiceVersion; - } - - // constructs a URL to contact the proxy which contacts a DME2 service - public String constructUrl(String service, String version, String subContext) { - StringBuilder sb = new StringBuilder(); - - // The hostname is assigned in a round robin fashion - sb.append(acquireHostName()); - sb.append("/service=" + service); - - //If the directedGraph passes an explicit version use that, if not use the commonServiceVersion found in the properties file - if (version == null) { - version = this.commonServiceVersion; - } - sb.append("/version=" + version); - - sb.append("/envContext=" + this.envContext); - if (this.routeOffer != null && this.routeOffer.length() > 0) { - sb.append("/routeOffer=" + this.routeOffer); - } - if (subContext != null && subContext.length() > 0) { - sb.append("/subContext=" + subContext); - } - sb.append("?dme2.password=" + this.aafPassword); - sb.append("&dme2.username=" + this.aafUserName); - if (this.partner != null) { - sb.append("&dme2.partner=" + this.partner); - } - sb.append("&dme2.allowhttpcode=true"); - return (sb.toString()); - } - - public synchronized String acquireHostName() { - String retVal = proxyUrls[index]; - index++; - if (index == this.proxyUrls.length) { - index = 0; - } - return retVal; - } - - // Node entry point - public void constructUrl(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[] { "service", "outputPath" }, LOG); - String completeProxyUrl = constructUrl(parameters.get("service"), parameters.get("version"), parameters.get("subContext")); - ctx.setAttribute(parameters.get("outputPath"), completeProxyUrl); - } - -} diff --git a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils.java b/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils.java deleted file mode 100644 index c73315f..0000000 --- a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils.java +++ /dev/null @@ -1,754 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.PrintStream; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.Properties; -import java.util.Set; -import java.util.UUID; - -import org.apache.commons.lang3.StringUtils; -import org.openecomp.sdnc.sli.SvcLogicContext; -import org.openecomp.sdnc.sli.SvcLogicException; -import org.openecomp.sdnc.sli.SvcLogicJavaPlugin; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * A utility class used to streamline the interface between Java plugins, - * the Service Logic Context, and Directed Graphs. - * @version 7.0.1 - * @see org.openecomp.sdnc.sli.SvcLogicContext - */ -public class SliPluginUtils implements SvcLogicJavaPlugin { - public enum LogLevel { - TRACE, DEBUG, INFO, WARN, ERROR; - } - - private static final Logger LOG = LoggerFactory.getLogger(SliPluginUtils.class); - - - // ========== CONSTRUCTORS ========== - - public SliPluginUtils() {} - - public SliPluginUtils( Properties props ) {} - - - - // ========== CONTEXT MEMORY FUNCTIONS ========== - - /** - * Removes 1 or more elements from a list in context memory. - *

- * Values are removed based on either the index in the list, a key-value - * pair, or a list of key-value pairs that all must match in the element. - * @param parameters - * @param ctx Reference to context memory - * @throws SvcLogicException All exceptions are wrapped in - * SvcLogicException for compatibility with SLI. - * @since 7.0.1 - */ - public void ctxListRemove( Map parameters, SvcLogicContext ctx ) throws SvcLogicException { - try{ - LOG.debug( "ENTERING Execute Node \"ctxListRemove\"" ); - - // Validate, Log, & read parameters - checkParameters(parameters, new String[]{"list_pfx"}, LOG); - logExecuteNodeParameters(parameters, LOG, LogLevel.DEBUG); - String list_pfx = parameters.get("list_pfx"); - String param_index = parameters.get("index"); - String param_key = parameters.get("key"); - String param_value = parameters.get("value"); - String param_keys_length = parameters.get("keys_length"); - - // Initialize context memory list mimic - SvcLogicContextList list; - - // Process based on input parameters: - // index: remove object at specific index - // key & value: remove all objects with key-value pair - // keys_length: remove all objects that match all key-value pairs - // in list - if( param_index != null ) { - // Parse index - LOG.trace("executing remove by index logic"); - int index; - try { - index = Integer.parseInt(param_index); - } - catch( NumberFormatException e ) { - throw new IllegalArgumentException("\"index\" parameter is not a number. index = " + param_index, e); - } - - // Extract list from context memory & remove object @ index - LOG.trace("extracting list from context memory"); - list = SvcLogicContextList.extract(ctx, list_pfx); - LOG.trace("removing elements from list"); - list.remove(index); - } - else if( param_value != null ) { - if( param_key == null ) { param_key = ""; } - - // Extract list from context memory & remove objects with - // key-value pair - LOG.trace("executing remove by key-value pair logic"); - LOG.trace("extracting list from context memory"); - list = SvcLogicContextList.extract(ctx, list_pfx); - LOG.trace("removing elements from list"); - list.remove( param_key, param_value ); - } - else if( param_keys_length != null ) { - // Parse keys_length - LOG.trace("executing remove by key-value pair list logic"); - int keys_length; - try { - keys_length = Integer.parseInt(param_keys_length); - } - catch( NumberFormatException e ) { - throw new IllegalArgumentException("\"keys_length\" parameters is not a number. keys_length = " + param_keys_length, e); - } - - // Obtain key-value pairs to check from parameters - LOG.trace("reading keys parameter list"); - HashMap keys_values = new HashMap(); - for( int i = 0; i < keys_length; i++ ) { - keys_values.put(parameters.get("keys[" + i + "].key"), parameters.get("keys[" + i + "].value")); - } - - // Extract list from context memory & remove objects with all - // key-value pairs matching - LOG.trace("extracting list from context memory"); - list = SvcLogicContextList.extract(ctx, list_pfx); - LOG.trace("removing elements from list"); - list.remove(keys_values); - } - else { - throw new IllegalArgumentException("Required parameters missing. Requires one of: index, key & value, or keys_length array"); - } - - // Remove index from list - LOG.trace("writing list back into context memory"); - list.writeToContext(ctx); - } - catch( Exception e ) { - throw new SvcLogicException( "An error occurred in the ctxListRemove Execute node", e ); - } - finally { - LOG.debug( "EXITING Execute Node \"ctxListRemove\"" ); - } - } - - /** - * ctxSortList - * @param parameters - the set of required parameters must contain list and delimiter. - * @param ctx Reference to context memory - * @throws SvcLogicException if a required parameter is missing an exception is thrown - */ - public void ctxSortList( Map parameters, SvcLogicContext ctx ) throws SvcLogicException { - checkParameters(parameters, new String[]{"list","delimiter"}, LOG); - ArrayList list = new ArrayList(); - - String[] sort_fields = null; - if( parameters.containsKey("sort-fields") ) { - sort_fields = parameters.get("sort-fields").split(parameters.get("delimiter"), 0); - } - - String ctx_list_str = parameters.get("list"); - int listSz = getArrayLength(ctx, ctx_list_str); - - - - for( int i = 0; i < listSz; i++ ) { - list.add( new SortableCtxListElement(ctx, ctx_list_str + '[' + i + ']', sort_fields) ); - } - Collections.sort(list); - - ctxBulkErase(ctx, ctx_list_str); - int i = 0; - for( SortableCtxListElement list_element : list ) { - for( Map.Entry entry : list_element.child_elements.entrySet() ) { - if( sort_fields == null ) { - ctx.setAttribute(ctx_list_str + '[' + i + ']', entry.getValue()); - } - else { - ctx.setAttribute(ctx_list_str + '[' + i + "]." + entry.getKey(), entry.getValue()); - } - } - i++; - } - // Reset list length (removed by ctxBulkErase above) - ctx.setAttribute(ctx_list_str+"_length", ""+listSz); - } - - /** - * generates a UUID and writes it to context memory - * @param parameters - ctx-destination is a required parameter - * @param ctx Reference to context memory - * @throws SvcLogicException thrown if a UUID cannot be generated or if ctx-destination is missing or null - */ - public void generateUUID( Map parameters, SvcLogicContext ctx ) throws SvcLogicException { - checkParameters(parameters, new String[]{"ctx-destination"}, LOG); - ctx.setAttribute(parameters.get("ctx-destination"), UUID.randomUUID().toString() ); - } - - /** - * Provides substring functionality to Directed Graphs. - *

- * Calls either String.substring(String beginIndex) or - * String.substring(String beginInded, String endIndex) if the end-index - * is present or not. - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
stringMandatoryString to perform substring on
resultMandatoryKey in context memory to populate the resulting string in
begin-indexMandatoryBeginning index to pass to Java substring function
end-indexOptionalEnding index to pass to Java substring function. If not included, String.substring(begin) will be called.
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 8.0.1 - * @see SliPluginUtils#substring(Map, SvcLogicContext) - */ - @Deprecated - public void substring( Map parameters, SvcLogicContext ctx ) throws SvcLogicException { - try { - checkParameters( parameters, new String[]{"string","begin-index","result"}, LOG ); - final String string = parameters.get("string"); - final String result = parameters.get("result"); - final String begin = parameters.get("begin-index"); - final String end = parameters.get("end-index"); - - if( StringUtils.isEmpty(end) ) { - ctx.setAttribute( result, string.substring(Integer.parseInt(begin)) ); - } - else { - ctx.setAttribute( result, string.substring(Integer.parseInt(begin), Integer.parseInt(end)) ); - } - } - catch( Exception e ) { - throw new SvcLogicException( "An error occurred while the Directed Graph was performing a substring", e ); - } - } - - - - // ========== PUBLIC STATIC UTILITY FUNCTIONS ========== - - /** - * Throws an exception and writes an error to the log file if a required - * parameters is not found in the parametersMap. - *

- * Use at the beginning of functions that can be called by Directed Graphs - * and can take parameters to verify that all parameters have been provided - * by the Directed Graph. - * @param parametersMap parameters Map passed to this node - * @param requiredParams Array of parameters required by the calling function - * @param log Reference to Logger to log to - * @throws SvcLogicException if a String in the requiredParams array is - * not a key in parametersMap. - * @since 1.0 - */ - public static final void checkParameters(Map parametersMap, String[] requiredParams, Logger log) throws SvcLogicException { - if( requiredParams == null || requiredParams.length < 1){ - log.debug("required parameters was empty, exiting early."); - return; - } - if (parametersMap == null || parametersMap.keySet().size() < 1){ - String errorMessage = "This method requires the parameters [" + StringUtils.join(requiredParams,",") + "], but no parameters were passed in."; - log.error(errorMessage); - throw new SvcLogicException(errorMessage); - } - - for (String param : requiredParams) { - if (!parametersMap.containsKey(param)) { - String errorMessage = "Required parameter \"" + param + "\" was not found in parameter list."; - log.error(errorMessage); - log.error("Total list of required parameters is [" + StringUtils.join(requiredParams, ",") + "]."); - throw new SvcLogicException(errorMessage); - } - } - } - - /** - * Removes all key-value pairs with keys that begin with pfx - * @param ctx Reference to context memory - * @param pfx Prefix of key-value pairs to remove - * @since 1.0 - */ - public static final void ctxBulkErase( SvcLogicContext ctx, String pfx ) { - ArrayList Keys = new ArrayList( ctx.getAttributeKeySet() ); - for( String key : Keys ) { - if( key.startsWith( pfx ) ) { - ctx.setAttribute( pfx + key.substring(pfx.length()) , null); - } - } - } - - /** - * Copies all context memory key-value pairs that start with src_pfx to - * the keys that start with dest_pfx + suffix, where suffix is the result - * of {@code key.substring(src_pfx.length())}. - *

- * Does NOT guarantee removal of all keys at the destination before - * copying, but will overwrite any destination keys that have a - * corresponding source key. Use {@link #ctxBulkErase(SvcLogicContext, String) ctxBulkErase} - * before copy to erase destination root before copying from source. - * @param ctx Reference to context memory. - * @param src_pfx Prefix of the keys to copy values from. - * @param dest_pfx Prefix of the keys to copy values to. - * @since 1.0 - */ - public static final void ctxBulkCopy( SvcLogicContext ctx, String src_pfx, String dest_pfx ) { - // Remove trailing period from dest_pfx - if( dest_pfx.charAt(dest_pfx.length()-1) == '.' ) { - dest_pfx = dest_pfx.substring(0,dest_pfx.length()-1); - } - - // For each context key that begins with src_pfx, set the value of the - // key dest_pfx + the suffix of the key to the key's value - ArrayList Keys = new ArrayList(ctx.getAttributeKeySet()); - for( String key : Keys ) { - if( key.startsWith(src_pfx) ) { - // Get suffix (no leading period) - String suffix = key.substring(src_pfx.length()); - if( suffix.charAt(0) == '.') { - suffix = suffix.substring(1); - } - - // Set destination's value to key's value - ctx.setAttribute(dest_pfx + '.' + suffix, ctx.getAttribute(key)); - } - } - } - - /** - * Creates and returns a {@code Map} that is a subset of - * context memory where all keys begin with the prefix. - * @param ctx Reference to context memory. - * @param prefix Returned map's keys should all begin with this value. - * @return A {@code Map} containing all the key-value pairs - * in ctx whose key begins with prefix. - */ - public static final Map ctxGetBeginsWith( SvcLogicContext ctx, String prefix ) { - Map prefixMap = new HashMap(); - - for( String key : ctx.getAttributeKeySet() ) { - if( key.startsWith(prefix) ) { - prefixMap.put( key, ctx.getAttribute(key) ); - } - } - - return prefixMap; - } - - /** - * Returns true if key's value in context memory is "" or if it doesn't - * exist in context memory. - * @param ctx Reference to context memory. - * @param key Key to search for. - * @return true if key's value in context memory is "" or if it doesn't - * exist in context memory. - * @since 1.0 - */ - public static final boolean ctxKeyEmpty( SvcLogicContext ctx, String key ) { - String value = ctx.getAttribute(key); - return value == null || value.isEmpty(); - } - - /** - * Adds all key-value pairs in the entries Map to context memory. - * @param ctx Reference to context memory. Value's {@code toString()} - * function is used to add it. - * @param entries {@code Map} of key-value pairs to add to - * context memory. Value's {@code toString()} function is used to add it. - * @return Reference to context memory to be used for function chaining. - */ - public static final SvcLogicContext ctxPutAll( SvcLogicContext ctx, Map entries ) { - for( Map.Entry entry : entries.entrySet() ) { - ctxSetAttribute( ctx, entry.getKey(), entry.getValue() ); - //ctx.setAttribute(entry.getKey(), entry.getValue().toString()); - } - - return ctx; - } - - /** - * Sets a key in context memory to the output of object's toString(). The - * key is deleted from context memory if object is null. - * @param ctx Reference to context memory. - * @param key Key to set. - * @param object Object whose toString() will be the value set - */ - public static final void ctxSetAttribute( SvcLogicContext ctx, String key, Object object ) { - if( object == null ) { - ctx.setAttribute(key, null); - } - else { - ctx.setAttribute(key, object.toString()); - } - } - - /** - * Sets a key in context memory to the output of object's toString(). - *

- * The key is deleted from context memory if object is null. The key and - * value set in context memory are logged to the Logger at the provided - * logLevel level. - * @param Any Java object - * @param ctx Reference to context memory. - * @param key Key to set. - * @param obj Object whose toString() will be the value set - * @param LOG Logger to log to - * @param logLevel level to log at in Logger - */ - public static final void ctxSetAttribute( SvcLogicContext ctx, String key, O obj, Logger LOG, LogLevel logLevel ) { - String value = Objects.toString( obj, null ); - ctx.setAttribute( key, value ); - if( logLevelIsEnabled(LOG, logLevel ) ) { - if( value == null ) { - logMessageAtLevel( LOG, logLevel, "Deleting " + key ); - } - else { - logMessageAtLevel( LOG, logLevel, "Setting " + key + " = " + value ); - } - } - } - - /** - * Utility function used to get an array's length from context memory. - * Will return 0 if key doesn't exist in context memory or isn't numeric. - *

- * Use to obtain a context memory array length without having to worry - * about throwing a NumberFormatException. - * @param ctx Reference to context memory - * @param key Key in context memory whose value is the array's length. If - * the key doesn't end in "_length", then "_length is appended. - * @param log Reference to Logger to log to - * @return The array length or 0 if the key is not found in context memory. - * @since 1.0 - */ - public static final int getArrayLength( SvcLogicContext ctx, String key ) { - return getArrayLength(ctx, key, null, null, null); - } - - /** - * Utility function used to get an array's length from context memory. - * Will return 0 if key doesn't exist in context memory or isn't numeric - * and print the provided log message to the configured log file. - *

- * Use to obtain a context memory array length without having to worry - * about throwing a NumberFormatException. - * @param ctx Reference to context memory. - * @param key Key in context memory whose value is the array's length. If - * the key doesn't end in "_length", then "_length is appended. - * @param log Reference to Logger to log to. Doesn't log if null. - * @param logLevel Logging level to log the message at if the context - * memory key isn't found. Doesn't log if null. - * @param log_message Message to log if the context memory key isn't found. - * Doesn't log if null. - * @return The array length or 0 if the key is not found in context memory. - * @since 1.0 - */ - public static final int getArrayLength( SvcLogicContext ctx, String key, Logger log, LogLevel logLevel, String log_message ) { - String ctxKey = ( key.endsWith("_length") ) ? key : key + "_length"; - try { - return Integer.parseInt(ctx.getAttribute(ctxKey)); - } - catch( NumberFormatException e ) { - if( log != null && logLevel != null && log_message != null ) { - switch( logLevel ) { - case TRACE: - log.trace(log_message); - case DEBUG: - log.debug(log_message); - break; - case INFO: - log.info(log_message); - break; - case WARN: - log.warn(log_message); - break; - case ERROR: - log.error(log_message); - break; - } - } - } - - return 0; - } - - /** - * Prints sorted context memory key-value pairs to the log file at the log - * level. Returns immediately if the log level isn't enabled. - *

- * O(n log(n)) time where n = size of context memory - * @param ctx Reference to context memory - * @param log Reference to Logger to log to - * @param logLevel Logging level to log the context memory key-value pairs - * at. - * @since 1.0 - */ - public static final void logContextMemory( SvcLogicContext ctx, Logger log, LogLevel logLevel ) { - logLevelIsEnabled( log, logLevel ); - - // Print sorted context memory key-value pairs to the log - ArrayList keys = new ArrayList(ctx.getAttributeKeySet()); - Collections.sort(keys); - for( String key : keys ) { - logMessageAtLevel( log, logLevel, key + " = " + ctx.getAttribute(key) ); - } - } - - - - // ========== PRIVATE FUNCTIONS ========== - - // TODO: javadoc - /** - * - * @param parameters - * @param log - * @param loglevel - * @since 7.0.1 - */ - public static final void logExecuteNodeParameters( Map parameters, Logger log, LogLevel loglevel ) { - logLevelIsEnabled( log, loglevel ); - - for( Map.Entry param : parameters.entrySet() ) { - logMessageAtLevel( log, loglevel, "PARAM: " + param.getKey() + " = " + param.getValue() ); - } - } - - // TODO: javadoc - /** - * Returns true if the loglevel is enabled. Otherwise, returns false. - * @param log Reference to logger - * @param loglevel Log level to check if enabled - * @return True if the loglevel is enabled. Otherwise, false - * @since 7.0.1 - */ - private static final boolean logLevelIsEnabled( Logger log, LogLevel loglevel ) { - // Return immediately if logging level isn't enabled - switch( loglevel ) { - case TRACE: - if( log.isTraceEnabled() ) { return true; } - return false; - case DEBUG: - if( log.isDebugEnabled() ) { return true; } - return false; - case INFO: - if( log.isInfoEnabled() ) { return true; } - return false; - case WARN: - if( log.isWarnEnabled() ) { return true; } - return false; - case ERROR: - if( log.isErrorEnabled() ) { return true; } - return false; - default: - throw new IllegalArgumentException("Unknown LogLevel: " + loglevel.toString()); - } - } - - // TODO: javadoc - /** - * - * @param log - * @param loglevel - * @param msg - * @since 7.0.1 - */ - private static final void logMessageAtLevel( Logger log, LogLevel loglevel, String msg ) { - switch( loglevel ) { - case TRACE: - log.trace(msg); - return; - case DEBUG: - log.debug(msg); - return; - case INFO: - log.info(msg); - return; - case WARN: - log.warn(msg); - return; - case ERROR: - log.error(msg); - return; - } - } - - - - // ========== LOCAL CLASSES ========== - - private class SortableCtxListElement implements Comparable { - HashMap child_elements = new HashMap(); - String[] sort_fields; - - public SortableCtxListElement( SvcLogicContext ctx, String root, String[] sort_fields ) { - this.sort_fields = sort_fields; - - for( String key : ctx.getAttributeKeySet() ) { - if( key.startsWith(root) ) { - if( key.length() == root.length() ) { - child_elements.put("", ctx.getAttribute(key)); - break; - } - else { - child_elements.put(key.substring(root.length()+1), ctx.getAttribute(key)); - } - } - } - } - - @Override - public int compareTo(SortableCtxListElement arg0) { - if( sort_fields == null ) { - return this.child_elements.get("").compareTo(arg0.child_elements.get("")); - } - - for( String field : this.sort_fields ) { - int result = this.child_elements.get(field).compareTo(arg0.child_elements.get(field)); - if( result != 0 ) { - return result; - } - } - - return 0; - } - } - - /** - * Creates a file that contains the content of context memory. - * @param parameters - must contain the parameter filename - * @param ctx Reference to context memory - * @throws SvcLogicException thrown if file cannot be created or if parameters are missing - */ - public static void printContext(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - if (parameters == null || parameters.isEmpty()) { - throw new SvcLogicException("no parameters passed"); - } - - checkParameters(parameters, new String[]{"filename"}, LOG); - - String fileName = parameters.get("filename"); - - - try (FileOutputStream fstr = new FileOutputStream(new File(fileName)); - PrintStream pstr = new PrintStream(fstr, true);) - { - pstr.println("#######################################"); - for (String attr : ctx.getAttributeKeySet()) { - pstr.println(attr + " = " + ctx.getAttribute(attr)); - } - } catch (Exception e) { - throw new SvcLogicException("Cannot write context to file " + fileName, e); - } - - - } - - /** - * Checks context memory for a set of required parameters - * Every parameter aside from prefix will be treated as mandatory - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - *
parameterMandatory/Optionaldescription
prefixOptionalthe prefix will be added to each parameter
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static void requiredParameters(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - if (parameters == null || parameters.keySet().size() < 1) { - String errorMessage = "requiredParameters should not be called if the parameters hashmap is null or empty!"; - LOG.error(errorMessage); - throw new SvcLogicException(errorMessage); - } - String prefixValue = null; - String prefix = "prefix"; - if(parameters.containsKey(prefix)){ - prefixValue = parameters.get(prefix); - parameters.remove(prefix); - } - checkParameters(prefixValue, ctx.getAttributeKeySet(), parameters.keySet(), LOG); - } - - private static void checkParameters(String prefixValue, Set ctx, Set parameters, Logger log) throws SvcLogicException { - for (String param : parameters) { - if (prefixValue != null) { - param = prefixValue + param; - } - if (!ctx.contains(param)) { - String errorMessage = "This method requires the parameters [" + StringUtils.join(parameters, ",") - + "], but " + param + " was not passed in."; - log.error(errorMessage); - throw new SvcLogicException(errorMessage); - } - } - } - - /** - * is in a different DG invocation just before/after we call NCS and set the state to InProgress - */ - /** - * setTime write the current date time to a string located at outputPath - * @param parameters - requires outputPath to not be null - * @param ctx Reference to context memory - * @throws SvcLogicException if a required parameter is missing an exception is thrown - */ - public static void setTime(Map parameters, SvcLogicContext ctx) throws SvcLogicException - { - checkParameters(parameters, new String[] { "outputPath" }, LOG); - - // Set the DateFormat - // "2015-03-16T12:18:35.138Z" - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); - - // Parse the date - String ctxVariable = parameters.get("outputPath"); - try { - String dateTime = format.format(new Date()); - ctx.setAttribute(ctxVariable, dateTime); - } catch (Exception ex) { - throw new SvcLogicException("problem with setTime", ex); - } - } -} diff --git a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtilsActivator.java b/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtilsActivator.java deleted file mode 100644 index e0568ab..0000000 --- a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtilsActivator.java +++ /dev/null @@ -1,95 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; -import java.util.LinkedList; -import java.util.List; -import java.util.Properties; - -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceRegistration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class SliPluginUtilsActivator implements BundleActivator { - @SuppressWarnings("rawtypes") private List registrations = new LinkedList(); - - private static final Logger LOG = LoggerFactory.getLogger(SliPluginUtilsActivator.class); - private static final String SDNC_ROOT_DIR = "SDNC_CONFIG_DIR"; - private static final String DME2_PROPERTIES_FILE_NAME = "dme2.properties"; - - @Override - public void start(BundleContext ctx) throws Exception { - SliPluginUtils plugin = new SliPluginUtils(new Properties()); - LOG.info("Registering service " + plugin.getClass().getName()); - registrations.add(ctx.registerService(plugin.getClass().getName(), plugin, null)); - - SliStringUtils sliStringUtils_Plugin = new SliStringUtils(); - LOG.info("Registering service " + sliStringUtils_Plugin.getClass().getName()); - registrations.add(ctx.registerService(sliStringUtils_Plugin.getClass().getName(), sliStringUtils_Plugin, null)); - - try { - String path = System.getenv(SDNC_ROOT_DIR) + File.separator + DME2_PROPERTIES_FILE_NAME; - DME2 dmePlugin = initDme2(path); - if (dmePlugin != null) { - LOG.info("Registering service " + dmePlugin.getClass().getName()); - registrations.add(ctx.registerService(dmePlugin.getClass().getName(), dmePlugin, null)); - } - } catch (Exception e) { - LOG.error("DME2 plugin could not be started", e); - } - } - - public DME2 initDme2(String pathToDmeProperties) { - Properties dme2properties = new Properties(); - String loadPropertiesErrorMessage = "Couldn't load DME2 properties at path " + pathToDmeProperties; - File dme2propertiesFile = new File(pathToDmeProperties); - - try { - dme2properties.load(new FileReader(dme2propertiesFile)); - String proxyUrlProperty = dme2properties.getProperty("proxyUrl"); - String[] proxyUrls = proxyUrlProperty.split(","); - DME2 dmePlugin = new DME2(dme2properties.getProperty("aafUserName"), dme2properties.getProperty("aafPassword"), dme2properties.getProperty("envContext"), dme2properties.getProperty("routeOffer"), proxyUrls, dme2properties.getProperty("commonServiceVersion")); - dmePlugin.setPartner(dme2properties.getProperty("partner")); - return dmePlugin; - } catch (FileNotFoundException e) { - LOG.error(loadPropertiesErrorMessage); - } catch (IOException e) { - LOG.error(loadPropertiesErrorMessage); - } - LOG.error("Couldn't create DME2 plugin"); - return null; - } - - @Override - public void stop(BundleContext ctx) throws Exception { - for (@SuppressWarnings("rawtypes") ServiceRegistration registration : registrations) { - registration.unregister(); - registration = null; - } - } -} diff --git a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliStringUtils.java b/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliStringUtils.java deleted file mode 100644 index 43af6f5..0000000 --- a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SliStringUtils.java +++ /dev/null @@ -1,396 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.util.Map; - -import org.apache.commons.lang3.StringUtils; -import org.openecomp.sdnc.sli.SvcLogicContext; -import org.openecomp.sdnc.sli.SvcLogicException; -import org.openecomp.sdnc.sli.SvcLogicJavaPlugin; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * A SvcLogicJavaPlugin that exposes java.lang.String functions to DirectedGraph - */ -public class SliStringUtils implements SvcLogicJavaPlugin { - private static final Logger LOG = LoggerFactory.getLogger(SliStringUtils.class); - - public SliStringUtils() {} - - /** - * Provides split functionality to Directed Graphs. - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
original_stringMandatoryString to perform split on
regexMandatorythe delimiting regular expression
limitOptionalresult threshold. See String.split method for further description. Defaults to 0
ctx_memory_result_keyMandatoryKey in context memory to populate the resulting array of strings under
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - * @see String#split(String, int) - */ - public void split( Map parameters, SvcLogicContext ctx ) throws SvcLogicException { - final String original_string = parameters.get("original_string"); - LOG.trace("original_string = " + original_string); - final String regex = parameters.get("regex"); - LOG.trace("regex = " + regex); - final String limit_str = parameters.get("limit"); - LOG.trace("limit_str = " + limit_str); - final String ctx_memory_result_key = parameters.get("ctx_memory_result_key"); - LOG.trace("ctx_memory_result_key = " + ctx_memory_result_key); - - try { - // Validation that parameters are not null - SliPluginUtils.checkParameters( parameters, new String[]{"original_string","regex","ctx_memory_result_key"}, LOG ); - - // Read limit from context memory. Default to 0 if null/empty - int limit = 0; - if( StringUtils.isNotEmpty(limit_str) ) { - try { - limit = Integer.parseInt(limit_str); - } - catch( NumberFormatException e ) { - throw new IllegalArgumentException( "The limit parameter of the SliStringUtils.split() function must be a number, empty string, or null", e ); - } - } - - // Call String.split(regex,limit) on string passed in - String[] split_string = original_string.split(regex, limit); - - // Populate context memory with results - for( int i = 0; i < split_string.length; i++ ) { - SliPluginUtils.ctxSetAttribute(ctx, ctx_memory_result_key + '[' + i + ']', split_string[i], LOG, SliPluginUtils.LogLevel.DEBUG); - } - SliPluginUtils.ctxSetAttribute(ctx, ctx_memory_result_key + "_length", new Integer(split_string.length), LOG, SliPluginUtils.LogLevel.DEBUG); - } - catch( Exception e ) { - // Have error message print parameters - throw new SvcLogicException( "An error occurred during SliStringUtils.split() where original_string = " + quotedOrNULL(regex) + - " regex = " + quotedOrNULL(regex) + - " limit = " + quotedOrNULL(regex) + - " ctx_memory_result_key = " + quotedOrNULL(regex), e ); - } - } - - private static String quotedOrNULL( String str ) { - return (str == null) ? "NULL" : '"' + str + '"'; - } - - /** - * exposes equalsIgnoreCase to directed graph - * @param parameters HashMap of parameters passed by the DG to this function - * emits a true or false outcome - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
targetMandatorytarget string
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static String equalsIgnoreCase(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{"source","target"}, LOG); - if(parameters.get("source").equalsIgnoreCase(parameters.get("target"))){ - return "true"; - } - return "false"; - } - - /** - * exposes toUpperCase to directed graph - * writes an upperCase version of source to outputPath - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
outputPathMandatorythe location in context memory the result is written to
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static void toUpper(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{"source","outputPath"}, LOG); - ctx.setAttribute(parameters.get("outputPath"), parameters.get("source").toUpperCase()); - } - - /** - * exposes toLowerCase to directed graph - * writes a lowerCase version of source to outputPath - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
outputPathMandatorythe location in context memory the result is written to
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static void toLower(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{"source","outputPath"}, LOG); - ctx.setAttribute(parameters.get("outputPath"), parameters.get("source").toLowerCase()); - } - - /** - * exposes contains to directed graph to test if one string contains another - * tests if the source contains the target - * @param parameters HashMap of parameters passed by the DG to this function - * emits a true or false outcome - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
targetMandatorytarget string
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static String contains(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{"source","target"}, LOG); - if(parameters.get("source").contains(parameters.get("target"))){ - return "true"; - } - return "false"; - } - - /** - * exposes endsWith to directed graph to test if one string endsWith another string - * tests if the source ends with the target - * @param parameters HashMap of parameters passed by the DG to this function - * emits a true or false outcome - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
targetMandatorytarget string
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static String endsWith(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{"source","target"}, LOG); - if(parameters.get("source").endsWith(parameters.get("target"))){ - return "true"; - } - return "false"; - } - - /** - * exposes startsWith to directed graph to test if one string endsWith another string - * tests if the source ends with the target - * @param parameters HashMap of parameters passed by the DG to this function - * emits a true or false outcome - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
targetMandatorytarget string
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static String startsWith(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{"source","target"}, LOG); - if(parameters.get("source").startsWith(parameters.get("target"))){ - return "true"; - } - return "false"; - } - - /** - * exposes trim to directed graph - * writes a trimmed version of the string to the outputPath - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
outputPathMandatorythe location in context memory the result is written to
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static void trim(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{"source","outputPath"}, LOG); - ctx.setAttribute(parameters.get("outputPath"), parameters.get("source").trim()); - } - - /** - * exposes String.length() to directed graph - * writes the length of source to outputPath - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
outputPathMandatorythe location in context memory the result is written to
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static void getLength(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{"source","outputPath"}, LOG); - ctx.setAttribute(parameters.get("outputPath"), String.valueOf(parameters.get("source").length())); - } - - /** - * exposes replace to directed graph - * writes the length of source to outputPath - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
targetMandatoryThe sequence of char values to be replaced
replacementMandatoryThe replacement sequence of char values
outputPathMandatorythe location in context memory the result is written to
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static void replace(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[]{"source","outputPath","target","replacement"}, LOG); - ctx.setAttribute(parameters.get("outputPath"), (parameters.get("source").replace(parameters.get("target"), parameters.get("replacement")))); - } - - /** - * Provides substring functionality to Directed Graphs. - *

- * Calls either String.substring(String beginIndex) or - * String.substring(String beginInded, String endIndex) if the end-index - * is present or not. - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
stringMandatoryString to perform substring on
resultMandatoryKey in context memory to populate the resulting string in
begin-indexMandatoryBeginning index to pass to Java substring function
end-indexOptionalEnding index to pass to Java substring function. If not included, String.substring(begin) will be called.
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public void substring( Map parameters, SvcLogicContext ctx ) throws SvcLogicException { - try { - SliPluginUtils.checkParameters( parameters, new String[]{"string","begin-index","result"}, LOG ); - final String string = parameters.get("string"); - final String result = parameters.get("result"); - final String begin = parameters.get("begin-index"); - final String end = parameters.get("end-index"); - if( StringUtils.isEmpty(end) ) { - ctx.setAttribute( result, string.substring(Integer.parseInt(begin)) ); - } - else { - ctx.setAttribute( result, string.substring(Integer.parseInt(begin), Integer.parseInt(end)) ); - } - } - catch( Exception e ) { - throw new SvcLogicException( "An error occurred while the Directed Graph was performing a substring", e ); - } - } - - /** - * Provides concat functionality to Directed Graphs. - *

- * Will concat target to source and write the result to outputPath - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
targetMandatoryThe sequence of char values to be replaced
outputPathMandatorythe location in context memory the result is written to
- * @param ctx Reference to context memory - * @throws SvcLogicException - * @since 11.0.2 - */ - public static void concat( Map parameters, SvcLogicContext ctx ) throws SvcLogicException { - SliPluginUtils.checkParameters( parameters, new String[]{"source","target","outputPath"}, LOG ); - String result = parameters.get("source").concat(parameters.get("target")); - ctx.setAttribute(parameters.get("outputPath"), result); - } - - /** - * Provides url encoding functionality to Directed Graphs. - *

- * Will url encode the source and write the result to outputPath - * @param parameters HashMap of parameters passed by the DG to this function - * - * - * - * - * - * - * - *
parameterMandatory/Optionaldescription
sourceMandatorysource string
encodingOptionalthe name of a supported character encoding, defaulted to UTF-8 if not supplied
outputPathMandatorythe location in context memory the result is written to
- * @param ctx Reference to context memory - * @throws SvcLogicException - */ - public static void urlEncode(Map parameters, SvcLogicContext ctx) throws SvcLogicException { - SliPluginUtils.checkParameters(parameters, new String[] { "source", "outputPath" }, LOG); - String encoding = parameters.get("encoding"); - if (encoding == null) { - encoding = "UTF-8"; - } - try { - String result = URLEncoder.encode(parameters.get("source"), encoding); - ctx.setAttribute(parameters.get("outputPath"), result); - } catch (UnsupportedEncodingException e) { - throw new SvcLogicException("Url encode failed.", e); - } - } - -} diff --git a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextList.java b/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextList.java deleted file mode 100644 index 89a4a98..0000000 --- a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextList.java +++ /dev/null @@ -1,210 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.ListIterator; -import java.util.Map; - -import org.apache.commons.lang3.StringUtils; -import org.openecomp.sdnc.sli.SvcLogicContext; - -/** - * A utility class used to manage list manipulation in the context memory. - * @see org.openecomp.sdnc.sli.SvcLogicContext - */ -public class SvcLogicContextList { - /** - * Internal flag indicating if list should be deleted from context memory - * when it is copied into the SvcLogicContextList object. - */ - private enum OperType { - COPY, EXTRACT - } - - // TODO: javadoc - protected final String prefix; - // TODO: javadoc - protected final ArrayList> list; - - - // TODO: javadoc - public SvcLogicContextList( SvcLogicContext ctx, String list_prefix ) { - this(ctx, list_prefix, OperType.COPY); - } - - // TODO: javadoc - private SvcLogicContextList( SvcLogicContext ctx, String list_prefix, OperType operation ) { - this.prefix = list_prefix; - - // Initialize list - int capacity = getCtxListLength(ctx, prefix); - this.list = new ArrayList>(capacity); - for( int i = 0; i < capacity; i++ ) { - this.list.add(i, new HashMap()); - } - - // Populate "elements" in list - String prefix_bracket = this.prefix + '['; - for (String key : new HashSet(ctx.getAttributeKeySet())) { - if( key.startsWith(prefix_bracket) ) { - // Extract the index of the list - int index = getCtxListIndex(key, this.prefix, capacity); - - // Store the - String suffix = key.substring((prefix_bracket + index + ']').length()); - suffix = suffix.isEmpty() ? suffix : suffix.substring(1); - this.list.get(index).put( suffix, ctx.getAttribute(key)); - - // If flag to extract set, remove data from context memory as - // it is read into this list - if( operation == OperType.EXTRACT ) { - ctx.setAttribute(key, null); - } - } - } - - // If flag to extract set, remove list _length value from cxt mem - if( operation == OperType.EXTRACT ) { - ctx.setAttribute(this.prefix + "_length", null); - } - } - - // TODO: javadoc - public static SvcLogicContextList extract( SvcLogicContext ctx, String list_prefix ) { - return new SvcLogicContextList(ctx, list_prefix, OperType.EXTRACT); - } - - - // ========== PUBLIC FUNCTIONS ========== - - // TODO: javadoc - public HashMap get( int index ) { - return this.list.get(index); - } - - // TODO: javadoc - public HashMap remove( int index ) { - return this.list.remove(index); - } - - // TODO: javadoc - public void remove( String value ) { - remove( "", value ); - } - - // TODO: javadoc - public void remove( String key, String value ) { - if( value == null ) { - throw new IllegalArgumentException("value cannot be null"); - } - - ListIterator> itr = this.list.listIterator(); - while( itr.hasNext() ) { - if( value.equals(itr.next().get(key)) ) { - itr.remove(); - } - } - } - - // TODO javadoc - public void remove( Map primary_key ) { - ListIterator> itr = this.list.listIterator(); - while( itr.hasNext() ) { - boolean found = true; - HashMap list_element = itr.next(); - for( Map.Entry key : primary_key.entrySet() ) { - if( !key.getValue().equals(list_element.get(key.getKey())) ) { - found = false; - break; - } - } - - if( found ) { - itr.remove(); - } - } - } - - // TODO: javadoc - public int size() { - return list.size(); - } - - // TODO: javadoc - public void writeToContext( SvcLogicContext ctx ) { - ctx.setAttribute( prefix + "_length", Integer.toString(this.list.size()) ); - - for( int i = 0; i < this.list.size(); i++ ) { - for( Map.Entry entry : this.list.get(i).entrySet() ) { - if( entry.getKey().equals("") ) { - ctx.setAttribute(prefix + '[' + i + ']', entry.getValue()); - } else { - ctx.setAttribute(prefix + '[' + i + "]." + entry.getKey(), entry.getValue()); - } - } - } - } - - - - // ========== PRIVATE STATIC FUNCTIONS ========== - - // TODO: javadoc - private static int getCtxListIndex( String key, String prefix, int list_size ) { - int index = getCtxListIndex( key, prefix ); - if( index >= list_size ) { - throw new IllegalArgumentException("Context memory list \"" + prefix + "[]\" contains an index >= the size of the list", new ArrayIndexOutOfBoundsException("index \"" + index + "\" is outside the bounds of the context memory list \"" + prefix + "[]. List Length = " + list_size)); - } else if (index < 0) { - throw new IllegalArgumentException("Context memory list \"" + prefix + "[]\" contains a negative index", new NegativeArraySizeException("index \"" + index + "\" of context memory list is negative")); - } - - return index; - } - - // TODO: javadoc - private static int getCtxListIndex( String key, String prefix ) { - String ctx_index_str = StringUtils.substringBetween(key.substring(prefix.length()), "[", "]"); - try { - return Integer.parseInt( ctx_index_str ); - } catch (NumberFormatException e) { - throw new IllegalStateException("Could not parse index value \"" + ctx_index_str + "\" in context memory key \"" + key + "\"", e); - } - } - - // TODO: javadoc - private static int getCtxListLength( SvcLogicContext ctx, String prefix ) { - String _length_key = prefix + "_length"; - String _length_val_str = ctx.getAttribute(_length_key); - try { - return Integer.parseInt(_length_val_str); - } catch (NumberFormatException e) { - if( _length_val_str == null ) { - throw new IllegalStateException( "Could not find list length \"" + _length_key + "\" in context memory." ); - } else { - throw new IllegalStateException( "Could not parse index value \"" + _length_val_str + "\" of context memory list length \"" + _length_key + "\"" , e ); - } - } - } -} diff --git a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextObject.java b/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextObject.java deleted file mode 100644 index d79522f..0000000 --- a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextObject.java +++ /dev/null @@ -1,28 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import org.openecomp.sdnc.sli.SvcLogicContext; - -public interface SvcLogicContextObject { - public void writeToContext( SvcLogicContext ctx, String root ); -} diff --git a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/commondatastructures/YesNo.java b/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/commondatastructures/YesNo.java deleted file mode 100644 index 4d2fb4c..0000000 --- a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/commondatastructures/YesNo.java +++ /dev/null @@ -1,51 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -/** - * - */ -package org.openecomp.sdnc.sli.SliPluginUtils.commondatastructures; - -/** - * An enum found in many Yang models. It is commonly used as a - * substitute for boolean. - */ -public enum YesNo { - N, Y; - - /** - * Method overload for {@link #valueOf(String)} for the char primative - */ - public static YesNo valueOf( final char name ) { - return YesNo.valueOf( Character.toString(name) ); - } - - /** - * Method overload for {@link #valueOf(String)} for the Character object - */ - public static YesNo valueOf( final Character name ) { - if( name == null ) { - return null; - } - - return YesNo.valueOf( name.toString() ); - } -} diff --git a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/commondatastructures/package-info.java b/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/commondatastructures/package-info.java deleted file mode 100644 index 4a81d9a..0000000 --- a/sliPluginUtils/provider/src/main/java/org/openecomp/sdnc/sli/SliPluginUtils/commondatastructures/package-info.java +++ /dev/null @@ -1,28 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -/** - * - */ -/** - * - */ -package org.openecomp.sdnc.sli.SliPluginUtils.commondatastructures; diff --git a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/CheckParametersTest.java b/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/CheckParametersTest.java deleted file mode 100644 index 318e464..0000000 --- a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/CheckParametersTest.java +++ /dev/null @@ -1,116 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import java.util.HashMap; -import java.util.Map; - -import org.junit.Test; -import org.openecomp.sdnc.sli.SvcLogicContext; -import org.openecomp.sdnc.sli.SvcLogicException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class CheckParametersTest { - - @Test - public void nullRequiredParameters() throws Exception { - Map parametersMap = new HashMap(); - String[] requiredParams = null; - Logger Log = LoggerFactory.getLogger(SliPluginUtils.class); - SliPluginUtils.checkParameters(parametersMap, requiredParams, Log); - } - - @Test(expected = SvcLogicException.class) - public void emptyParametersMap() throws Exception { - Map parametersMap = new HashMap(); - String[] requiredParams = new String[] { "param1", "param2", "param3" }; - Logger Log = LoggerFactory.getLogger(SliPluginUtils.class); - SliPluginUtils.checkParameters(parametersMap, requiredParams, Log); - } - - @Test(expected = SvcLogicException.class) - public void paramNotFound() throws Exception { - Map parametersMap = new HashMap(); - parametersMap.put("tst", "me"); - String[] requiredParams = new String[] { "param1", "parm2", "param3" }; - Logger Log = LoggerFactory.getLogger(SliPluginUtils.class); - SliPluginUtils.checkParameters(parametersMap, requiredParams, Log); - } - - @Test - public void testSunnyRequiredParameters() throws Exception { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("param1", "hello"); - ctx.setAttribute("param2", "world"); - ctx.setAttribute("param3", "!"); - - Map parameters = new HashMap(); - parameters.put("param1", "dog"); - parameters.put("param2", "cat"); - parameters.put("param3", "fish"); - - SliPluginUtils.requiredParameters(parameters, ctx); - } - - @Test - public void testSunnyRequiredParametersWithPrefix() throws Exception { - String prefixValue = "my.unique.path."; - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute(prefixValue + "param1", "hello"); - ctx.setAttribute(prefixValue + "param2", "world"); - ctx.setAttribute(prefixValue + "param3", "!"); - - Map parameters = new HashMap(); - parameters.put("prefix", prefixValue); - parameters.put("param1", "dog"); - parameters.put("param2", "cat"); - parameters.put("param3", "fish"); - - SliPluginUtils.requiredParameters(parameters, ctx); - } - - @Test(expected = SvcLogicException.class) - public void testRainyMissingRequiredParameters() throws Exception { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("param1", "hello"); - ctx.setAttribute("param3", "!"); - - Map parameters = new HashMap(); - parameters.put("param1", null); - parameters.put("param2", null); - parameters.put("param3", null); - - SliPluginUtils.requiredParameters(parameters, ctx); - } - - @Test(expected = SvcLogicException.class) - public void testEmptyRequiredParameters() throws Exception { - SvcLogicContext ctx = new SvcLogicContext(); - ctx.setAttribute("param1", "hello"); - ctx.setAttribute("param3", "!"); - - Map parameters = new HashMap(); - - SliPluginUtils.requiredParameters(parameters, ctx); - } -} diff --git a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/Dme2Test.java b/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/Dme2Test.java deleted file mode 100644 index d66b011..0000000 --- a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/Dme2Test.java +++ /dev/null @@ -1,109 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import java.util.HashMap; -import java.util.Map; - -import org.junit.Assert; -import org.junit.Test; -import org.openecomp.sdnc.sli.SliPluginUtils.DME2; -import org.openecomp.sdnc.sli.SliPluginUtils.SliPluginUtilsActivator; - -public class Dme2Test { - - @Test - public void createInstarUrl() { - String instarUrl = "http://localhost:25055/service=sample.com/services/eim/v1/rest/version=1702.0/envContext=TEST/routeOffer=DEFAULT/subContext=/enterpriseConnection/getEnterpriseConnectionDetails/v1?dme2.password=fake&dme2.username=user@sample.com"; - DME2 dme = new DME2("user@sample.com", "fake", "TEST", "DEFAULT", new String[] { "http://localhost:25055" }, "common"); - String constructedUrl = dme.constructUrl("sample.com/services/eim/v1/rest", "1702.0", "/enterpriseConnection/getEnterpriseConnectionDetails/v1"); - assertEquals(instarUrl, constructedUrl); - } - - @Test - public void createInstarUrlNoSubContext() { - String instarUrl = "http://localhost:25055/service=sample.com/services/eim/v1/rest/version=1702.0/envContext=TEST/routeOffer=DEFAULT?dme2.password=fake&dme2.username=user@sample.com"; - DME2 dme = new DME2("user@sample.com", "fake", "TEST", "DEFAULT", new String[] { "http://localhost:25055" }, "common"); - Map parameters = new HashMap(); - String constructedUrl = dme.constructUrl("sample.com/services/eim/v1/rest", "1702.0", parameters.get(null)); - assertEquals(instarUrl, constructedUrl); - } - - @Test - public void testRoundRobin() { - String[] proxyHostNames = new String[] { "http://one:25055", "http://two:25055", "http://three:25055" }; - String urlSuffix = "/service=sample.com/services/eim/v1/rest/version=1702.0/envContext=TEST/routeOffer=DEFAULT/subContext=/enterpriseConnection/getEnterpriseConnectionDetails/v1?dme2.password=fake&dme2.username=user@sample.com"; - DME2 dme = new DME2("user@sample.com", "fake", "TEST", "DEFAULT", proxyHostNames, "common"); - String constructedUrl = dme.constructUrl("sample.com/services/eim/v1/rest", "1702.0", "/enterpriseConnection/getEnterpriseConnectionDetails/v1"); - assertEquals(proxyHostNames[0] + urlSuffix, constructedUrl); - constructedUrl = dme.constructUrl("sample.com/services/eim/v1/rest", "1702.0", "/enterpriseConnection/getEnterpriseConnectionDetails/v1"); - assertEquals(proxyHostNames[1] + urlSuffix, constructedUrl); - constructedUrl = dme.constructUrl("sample.com/services/eim/v1/rest", "1702.0", "/enterpriseConnection/getEnterpriseConnectionDetails/v1"); - assertEquals(proxyHostNames[2] + urlSuffix, constructedUrl); - constructedUrl = dme.constructUrl("sample.com/services/eim/v1/rest", "1702.0", "/enterpriseConnection/getEnterpriseConnectionDetails/v1"); - assertEquals(proxyHostNames[0] + urlSuffix, constructedUrl); - constructedUrl = dme.constructUrl("sample.com/services/eim/v1/rest", "1702.0", "/enterpriseConnection/getEnterpriseConnectionDetails/v1"); - assertEquals(proxyHostNames[1] + urlSuffix, constructedUrl); - constructedUrl = dme.constructUrl("sample.com/services/eim/v1/rest", "1702.0", "/enterpriseConnection/getEnterpriseConnectionDetails/v1"); - assertEquals(proxyHostNames[2] + urlSuffix, constructedUrl); - constructedUrl = dme.constructUrl("sample.com/services/eim/v1/rest", "1702.0", "/enterpriseConnection/getEnterpriseConnectionDetails/v1"); - assertEquals(proxyHostNames[0] + urlSuffix, constructedUrl); - } - - @Test - public void createDme2EndtoEnd() { - SliPluginUtilsActivator activator = new SliPluginUtilsActivator(); - DME2 dme2 = activator.initDme2("src/test/resources/dme2.e2e.properties"); - assertEquals("user@sample.com", dme2.aafUserName); - assertEquals("fake", dme2.aafPassword); - assertEquals("UAT", dme2.envContext); - assertEquals("UAT", dme2.routeOffer); - Assert.assertArrayEquals("http://sample.com:25055,http://sample.com:25055".split(","), dme2.proxyUrls); - assertEquals("1702.0", dme2.commonServiceVersion); - assertEquals(null, dme2.partner); - - String constructedUrl = dme2.constructUrl("sample.com/restservices/instar/v1/assetSearch", null, "/mySubContext"); - assertNotNull(constructedUrl); - System.out.println(constructedUrl); - } - - @Test - public void createDme2Prod() { - SliPluginUtilsActivator activator = new SliPluginUtilsActivator(); - DME2 dme2 = activator.initDme2("src/test/resources/dme2.prod.properties"); - assertEquals("user@sample.com", dme2.aafUserName); - assertEquals("fake", dme2.aafPassword); - assertEquals("PROD", dme2.envContext); - assertEquals("", dme2.routeOffer); - Assert.assertArrayEquals("http://sample.com:25055,http://sample.com:25055".split(","), dme2.proxyUrls); - assertEquals("1.0", dme2.commonServiceVersion); - assertEquals("LPP_PROD", dme2.partner); - - String constructedUrl = dme2.constructUrl("sample.com/restservices/instar/v1/assetSearch", null, "/mySubContext"); - assertNotNull(constructedUrl); - System.out.println(constructedUrl); - } - -} diff --git a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_StaticFunctionsTest.java b/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_StaticFunctionsTest.java deleted file mode 100644 index e69d086..0000000 --- a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_StaticFunctionsTest.java +++ /dev/null @@ -1,250 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.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.openecomp.sdnc.sli.SvcLogicContext; -import org.openecomp.sdnc.sli.SvcLogicException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class SliPluginUtils_StaticFunctionsTest { - private static final Logger LOG = LoggerFactory.getLogger(SliPluginUtils_StaticFunctionsTest.class); - SliPluginUtils utils = new SliPluginUtils(); - private SvcLogicContext ctx; - private HashMap parameters; - - @Before - public void setUp() throws Exception { - this.ctx = new SvcLogicContext(); - parameters = new HashMap(); - } - - // TODO: javadoc - @Test - public final void testCtxGetBeginsWith() { - ctx.setAttribute("service-data.oper-status.order-status", "InProgress"); - ctx.setAttribute("service-data.service-information.service-instance-id", "my-instance"); - ctx.setAttribute("service-data.service-information.service-type", "my-service"); - - Map entries = SliPluginUtils.ctxGetBeginsWith(ctx, "service-data.service-information"); - - assertEquals("my-instance", entries.get("service-data.service-information.service-instance-id")); - assertEquals("my-service", entries.get("service-data.service-information.service-type")); - assertFalse(entries.containsKey("service-data.oper-status.order-status")); - } - - // TODO: javadoc - @Test - public final void testCtxListRemove_index() throws SvcLogicException { - LOG.trace("=== testCtxListRemove_index ==="); - ctx.setAttribute("service-data.vnf-l3[0].vnf-host-name", "vnf-host-name_0"); - ctx.setAttribute("service-data.vnf-l3[0].device-host-name", "device-host-name_0"); - ctx.setAttribute("service-data.vnf-l3[1].vnf-host-name", "vnf-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[1].device-host-name", "device-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[2].vnf-host-name", "vnf-host-name_2"); - ctx.setAttribute("service-data.vnf-l3[2].device-host-name", "device-host-name_2"); - ctx.setAttribute("service-data.vnf-l3_length", "3"); - - parameters.put("index", "1"); - parameters.put("list_pfx", "service-data.vnf-l3"); - - utils.ctxListRemove(parameters, ctx); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - assertEquals("2", ctx.getAttribute("service-data.vnf-l3_length")); - assertEquals("vnf-host-name_0", ctx.getAttribute("service-data.vnf-l3[0].vnf-host-name")); - assertEquals("device-host-name_0", ctx.getAttribute("service-data.vnf-l3[0].device-host-name")); - assertEquals("vnf-host-name_2", ctx.getAttribute("service-data.vnf-l3[1].vnf-host-name")); - assertEquals("device-host-name_2", ctx.getAttribute("service-data.vnf-l3[1].device-host-name")); - } - - // TODO: javadoc - @Test - public final void textCtxListRemove_keyValue() throws SvcLogicException { - LOG.trace("=== textCtxListRemove_keyValue ==="); - ctx.setAttribute("service-data.vnf-l3[0].vnf-host-name", "vnf-host-name_0"); - ctx.setAttribute("service-data.vnf-l3[0].device-host-name", "device-host-name_0"); - ctx.setAttribute("service-data.vnf-l3[1].vnf-host-name", "vnf-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[1].device-host-name", "device-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[2].vnf-host-name", "vnf-host-name_2"); - ctx.setAttribute("service-data.vnf-l3[2].device-host-name", "device-host-name_2"); - // 2nd entry - ctx.setAttribute("service-data.vnf-l3[3].vnf-host-name", "vnf-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[3].device-host-name", "device-host-name_1"); - ctx.setAttribute("service-data.vnf-l3_length", "4"); - - parameters.put("list_pfx", "service-data.vnf-l3"); - parameters.put("key", "vnf-host-name"); - parameters.put("value", "vnf-host-name_1"); - - utils.ctxListRemove(parameters, ctx); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - assertEquals("2", ctx.getAttribute("service-data.vnf-l3_length")); - assertEquals("vnf-host-name_0", ctx.getAttribute("service-data.vnf-l3[0].vnf-host-name")); - assertEquals("device-host-name_0", ctx.getAttribute("service-data.vnf-l3[0].device-host-name")); - assertEquals("vnf-host-name_2", ctx.getAttribute("service-data.vnf-l3[1].vnf-host-name")); - assertEquals("device-host-name_2", ctx.getAttribute("service-data.vnf-l3[1].device-host-name")); - } - - // TODO: javadoc - @Test - public final void textCtxListRemove_keyValue_nullkey() throws SvcLogicException { - LOG.trace("=== textCtxListRemove_keyValue_nullkey ==="); - ctx.setAttribute("service-data.vnf-l3[0]", "vnf-host-name_0"); - ctx.setAttribute("service-data.vnf-l3[1]", "vnf-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[2]", "vnf-host-name_2"); - ctx.setAttribute("service-data.vnf-l3_length", "3"); - - parameters.put("list_pfx", "service-data.vnf-l3"); - parameters.put("value", "vnf-host-name_1"); - - utils.ctxListRemove(parameters, ctx); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - assertEquals("2", ctx.getAttribute("service-data.vnf-l3_length")); - assertEquals("vnf-host-name_0", ctx.getAttribute("service-data.vnf-l3[0]")); - assertEquals("vnf-host-name_2", ctx.getAttribute("service-data.vnf-l3[1]")); - } - - // TODO: javadoc - @Test - public final void textCtxListRemove_keyValueList() throws SvcLogicException { - LOG.trace("=== textCtxListRemove_keyValueList ==="); - ctx.setAttribute("service-data.vnf-l3[0].vnf-host-name", "vnf-host-name_0"); - ctx.setAttribute("service-data.vnf-l3[0].device-host-name", "device-host-name_0"); - ctx.setAttribute("service-data.vnf-l3[1].vnf-host-name", "vnf-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[1].device-host-name", "device-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[2].vnf-host-name", "vnf-host-name_2"); - ctx.setAttribute("service-data.vnf-l3[2].device-host-name", "device-host-name_2"); - // 2nd entry - ctx.setAttribute("service-data.vnf-l3[3].vnf-host-name", "vnf-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[3].device-host-name", "device-host-name_1"); - // entries with only 1 of 2 key-value pairs matching - ctx.setAttribute("service-data.vnf-l3[4].vnf-host-name", "vnf-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[4].device-host-name", "device-host-name_4"); - ctx.setAttribute("service-data.vnf-l3[5].vnf-host-name", "vnf-host-name_5"); - ctx.setAttribute("service-data.vnf-l3[5].device-host-name", "device-host-name_1"); - ctx.setAttribute("service-data.vnf-l3_length", "6"); - - parameters.put("list_pfx", "service-data.vnf-l3"); - parameters.put("keys_length", "2"); - parameters.put("keys[0].key", "vnf-host-name"); - parameters.put("keys[0].value", "vnf-host-name_1"); - parameters.put("keys[1].key", "device-host-name"); - parameters.put("keys[1].value", "device-host-name_1"); - - utils.ctxListRemove(parameters, ctx); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - assertEquals("4", ctx.getAttribute("service-data.vnf-l3_length")); - assertEquals("vnf-host-name_0", ctx.getAttribute("service-data.vnf-l3[0].vnf-host-name")); - assertEquals("device-host-name_0", ctx.getAttribute("service-data.vnf-l3[0].device-host-name")); - assertEquals("vnf-host-name_2", ctx.getAttribute("service-data.vnf-l3[1].vnf-host-name")); - assertEquals("device-host-name_2", ctx.getAttribute("service-data.vnf-l3[1].device-host-name")); - assertEquals("vnf-host-name_1", ctx.getAttribute("service-data.vnf-l3[2].vnf-host-name")); - assertEquals("device-host-name_4", ctx.getAttribute("service-data.vnf-l3[2].device-host-name")); - assertEquals("vnf-host-name_5", ctx.getAttribute("service-data.vnf-l3[3].vnf-host-name")); - assertEquals("device-host-name_1", ctx.getAttribute("service-data.vnf-l3[3].device-host-name")); - } - - // TODO: javadoc - @Test(expected = SvcLogicException.class) - public final void testCtxListRemove_nullListLength() throws SvcLogicException { - LOG.trace("=== testCtxListRemove_nullListLength ==="); - ctx.setAttribute("service-data.vnf-l3[0].vnf-host-name", "vnf-host-name_0"); - ctx.setAttribute("service-data.vnf-l3[0].device-host-name", "device-host-name_0"); - ctx.setAttribute("service-data.vnf-l3[1].vnf-host-name", "vnf-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[1].device-host-name", "device-host-name_1"); - ctx.setAttribute("service-data.vnf-l3[2].vnf-host-name", "vnf-host-name_2"); - ctx.setAttribute("service-data.vnf-l3[2].device-host-name", "device-host-name_2"); - - parameters.put("index", "1"); - parameters.put("list_pfx", "service-data.vnf-l3"); - - utils.ctxListRemove(parameters, ctx); - } - - // TODO: javadoc - @Test - public final void testCtxPutAll() { - HashMap entries = new HashMap(); - entries.put("service-data.oper-status.order-status", "InProgress"); - entries.put("service-data.service-information.service-instance-id", "my-instance"); - entries.put("service-data.request-information.order-number", 1234); - entries.put("service-data.request-information.request-id", null); - - SliPluginUtils.ctxPutAll(ctx, entries); - - assertEquals("InProgress", ctx.getAttribute("service-data.oper-status.order-status")); - assertEquals("my-instance", ctx.getAttribute("service-data.service-information.service-instance-id")); - assertEquals("1234", ctx.getAttribute("service-data.request-information.order-number")); - assertFalse(ctx.getAttributeKeySet().contains("service-data.request-information.request-id")); - } - - // TODO: javadoc - @Test - public final void testCtxSetAttribute_LOG() { - LOG.debug("=== testCtxSetAttribute_LOG ==="); - Integer i = new Integer(3); - SliPluginUtils.ctxSetAttribute(ctx, "test", i, LOG, SliPluginUtils.LogLevel.TRACE); - } - - /*@Test - public void printContext() throws SvcLogicException, IOException { - String filePath = "/src/test/resources/printContext.txt"; - parameters.put("filename", filePath); - File f = new File(filePath); - assert (f.exists()); - assert (!f.isDirectory()); - ctx.setAttribute("hello", "world"); - ctx.setAttribute("name", "value"); - - SliPluginUtils.printContext(parameters, ctx); - BufferedReader br = new BufferedReader(new FileReader(f)); - String line = br.readLine(); - assertEquals("#######################################", line); - line = br.readLine(); - assertEquals("hello = world", line); - line = br.readLine(); - assertEquals("name = value", line); - br.close(); - Files.delete(Paths.get(filePath)); - }*/ - - @Test - public void setTime() throws SvcLogicException { - String outputPath = "output"; - parameters.put("outputPath", outputPath); - SliPluginUtils.setTime(parameters, ctx); - assertNotNull(ctx.getAttribute(outputPath)); - } -} diff --git a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_ctxSortList.java b/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_ctxSortList.java deleted file mode 100644 index b1cae54..0000000 --- a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_ctxSortList.java +++ /dev/null @@ -1,96 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import static org.junit.Assert.assertTrue; - -import java.util.HashMap; -import java.util.Random; - -import org.junit.Before; -import org.junit.Test; -import org.openecomp.sdnc.sli.SvcLogicContext; -import org.openecomp.sdnc.sli.SvcLogicException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -@SuppressWarnings("unused") -public class SliPluginUtils_ctxSortList { - private static final Logger LOG = LoggerFactory.getLogger(SliPluginUtils_ctxSortList.class); - SliPluginUtils utils = new SliPluginUtils(); - SvcLogicContext ctx; - HashMap parameters; - Random rand = new Random(); - - @Before - public void setUp() throws Exception { - this.ctx = new SvcLogicContext(); - this.parameters = new HashMap(); - } - - @Test - public final void list_of_containers() throws SvcLogicException { - this.parameters.put("list", "input.list"); - this.parameters.put("sort-fields", "sort-key"); - this.parameters.put("delimiter",","); - - ctx.setAttribute("input.list_length", "10"); - for( int i = 0; i < 10; i++ ) { - this.ctx.setAttribute("input.list[" + i + "].sort-key", Integer.toString( rand.nextInt(10) )); - this.ctx.setAttribute("input.list[" + i + "].value", Integer.toString( rand.nextInt(10) )); - } - - LOG.trace("BEFORE SORT:"); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - utils.ctxSortList(this.parameters, this.ctx); - - LOG.trace("AFTER SORT:"); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - for( int i = 0; i < 9; i++ ) { - assertTrue(this.ctx.getAttribute("input.list[" + i + "].sort-key").compareTo(this.ctx.getAttribute("input.list[" + (i+1) + "].sort-key")) < 1 ); - } - } - - @Test public final void list_of_elements() throws SvcLogicException { - this.parameters.put("list", "input.list"); - this.parameters.put("delimiter",","); - - this.ctx.setAttribute("input.list_length", "10"); - for( int i = 0; i < 10; i++ ) { - this.ctx.setAttribute("input.list[" + i + ']', Integer.toString( rand.nextInt(10) )); - } - - LOG.trace("BEFORE SORT:"); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - utils.ctxSortList(this.parameters, this.ctx); - - LOG.trace("AFTER SORT:"); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - for( int i = 0; i < 9; i++ ) { - assertTrue(this.ctx.getAttribute("input.list[" + i + ']').compareTo(this.ctx.getAttribute("input.list[" + (i+1) + ']')) < 1 ); - } - } -} diff --git a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_ctxSortListTest.java b/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_ctxSortListTest.java deleted file mode 100644 index e2fcb33..0000000 --- a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliPluginUtils_ctxSortListTest.java +++ /dev/null @@ -1,97 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import static org.junit.Assert.assertTrue; - -import java.util.HashMap; -import java.util.Random; - -import org.junit.Before; -import org.junit.Test; -import org.openecomp.sdnc.sli.SvcLogicContext; -import org.openecomp.sdnc.sli.SvcLogicException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -@SuppressWarnings("unused") -public class SliPluginUtils_ctxSortListTest { - private static final Logger LOG = LoggerFactory.getLogger(SliPluginUtils_ctxSortListTest.class); - SliPluginUtils utils = new SliPluginUtils(); - SvcLogicContext ctx; - HashMap parameters; - Random rand = new Random(); - - @Before - public void setUp() throws Exception { - this.ctx = new SvcLogicContext(); - this.parameters = new HashMap(); - } - - @Test - public final void list_of_containers() throws SvcLogicException { - this.parameters.put("list", "input.list"); - this.parameters.put("sort-fields", "sort-key"); - this.parameters.put("delimiter", ","); - - ctx.setAttribute("input.list_length", "10"); - for (int i = 0; i < 10; i++) { - this.ctx.setAttribute("input.list[" + i + "].sort-key", Integer.toString(rand.nextInt(10))); - this.ctx.setAttribute("input.list[" + i + "].value", Integer.toString(rand.nextInt(10))); - } - - LOG.trace("BEFORE SORT:"); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - utils.ctxSortList(this.parameters, this.ctx); - - LOG.trace("AFTER SORT:"); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - for (int i = 0; i < 9; i++) { - assertTrue(this.ctx.getAttribute("input.list[" + i + "].sort-key").compareTo(this.ctx.getAttribute("input.list[" + (i + 1) + "].sort-key")) < 1); - } - } - - @Test - public final void list_of_elements() throws SvcLogicException { - this.parameters.put("list", "input.list"); - this.parameters.put("delimiter", ","); - - this.ctx.setAttribute("input.list_length", "10"); - for (int i = 0; i < 10; i++) { - this.ctx.setAttribute("input.list[" + i + ']', Integer.toString(rand.nextInt(10))); - } - - LOG.trace("BEFORE SORT:"); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - utils.ctxSortList(this.parameters, this.ctx); - - LOG.trace("AFTER SORT:"); - SliPluginUtils.logContextMemory(ctx, LOG, SliPluginUtils.LogLevel.TRACE); - - for (int i = 0; i < 9; i++) { - assertTrue(this.ctx.getAttribute("input.list[" + i + ']').compareTo(this.ctx.getAttribute("input.list[" + (i + 1) + ']')) < 1); - } - } -} diff --git a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliStringUtilsTest.java b/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliStringUtilsTest.java deleted file mode 100644 index d57cefa..0000000 --- a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SliStringUtilsTest.java +++ /dev/null @@ -1,244 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -/** - * - */ -package org.openecomp.sdnc.sli.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.openecomp.sdnc.sli.SvcLogicContext; -import org.openecomp.sdnc.sli.SvcLogicException; - -/** - * @author km991u - * - */ -public class SliStringUtilsTest { - private SvcLogicContext ctx; - private HashMap param; - private SliStringUtils stringUtils = new SliStringUtils(); - - /** - * @throws java.lang.Exception - */ - @Before - public void setUp() throws Exception { - this.ctx = new SvcLogicContext(); - param = new HashMap(); - } - - /** - * @throws SvcLogicException - * @see SliStringUtils#split(Map, SvcLogicContext) - */ - @Test - public final void testSplit() throws SvcLogicException { - param.put("original_string", "one ## two ## three"); - param.put("regex", " ## "); - param.put("ctx_memory_result_key", "result"); - - stringUtils.split(param, ctx); - - assertThat(ctx.getAttribute("result[0]"), equalTo("one")); - assertThat(ctx.getAttribute("result[1]"), equalTo("two")); - assertThat(ctx.getAttribute("result[2]"), equalTo("three")); - assertThat(ctx.getAttribute("result_length"), equalTo("3")); - } - - /** - * @throws SvcLogicException - * @see SliStringUtils#split(Map, SvcLogicContext) - */ - @Test - public final void testSplit_limit() throws SvcLogicException { - param.put("original_string", "one ## two ## three"); - param.put("regex", " ## "); - param.put("limit", "2"); - param.put("ctx_memory_result_key", "result"); - - stringUtils.split(param, ctx); - - assertThat(ctx.getAttribute("result[0]"), equalTo("one")); - assertThat(ctx.getAttribute("result[1]"), equalTo("two ## three")); - assertThat(ctx.getAttribute("result_length"), equalTo("2")); - } - - @Test - public void equalsIgnoreCaseTrue() throws SvcLogicException { - String sourceString = "HeLlOwORLD"; - String targetSTring = "HELLOWORLD"; - param.put("source", sourceString); - param.put("target", targetSTring); - assertEquals("true", SliStringUtils.equalsIgnoreCase(param, ctx)); - } - - @Test - public void equalsIgnoreCaseFalse() throws SvcLogicException { - String sourceString = "HeLlOwORLD"; - String targetSTring = "goodbyeWORLD"; - param.put("source", sourceString); - param.put("target", targetSTring); - assertEquals("false", SliStringUtils.equalsIgnoreCase(param, ctx)); - } - - @Test - public void toUpper() throws SvcLogicException { - String sourceString = "HeLlOwORLD"; - param.put("source", sourceString); - String path = "my.unique.path."; - param.put("outputPath", path); - SliStringUtils.toUpper(param, ctx); - assertEquals(sourceString.toUpperCase(), ctx.getAttribute(path)); - } - - @Test - public void toLower() throws SvcLogicException { - String sourceString = "HeLlOwORLD"; - param.put("source", sourceString); - String path = "my.unique.path."; - param.put("outputPath", path); - SliStringUtils.toLower(param, ctx); - assertEquals(sourceString.toLowerCase(), ctx.getAttribute(path)); - } - - @Test - public void containsTrue() throws SvcLogicException { - String sourceString = "Pizza"; - String targetSTring = "izza"; - param.put("source", sourceString); - param.put("target", targetSTring); - assertEquals("true", SliStringUtils.contains(param, ctx)); - } - - @Test - public void containsFalse() throws SvcLogicException { - String sourceString = "Pizza"; - String targetSTring = "muffin"; - param.put("source", sourceString); - param.put("target", targetSTring); - assertEquals("false", SliStringUtils.contains(param, ctx)); - } - - @Test - public void endsWithTrue() throws SvcLogicException { - String sourceString = "Pizza"; - String targetSTring = "za"; - param.put("source", sourceString); - param.put("target", targetSTring); - assertEquals("true", SliStringUtils.endsWith(param, ctx)); - } - - @Test - public void endsWithFalse() throws SvcLogicException { - String sourceString = "Pizza"; - String targetSTring = "muffin"; - param.put("source", sourceString); - param.put("target", targetSTring); - assertEquals("false", SliStringUtils.endsWith(param, ctx)); - } - - @Test - public void trim() throws SvcLogicException { - String sourceString = " H E L L O W O R L D"; - String outputPath = "muffin"; - param.put("source", sourceString); - param.put("outputPath", outputPath); - SliStringUtils.trim(param, ctx); - assertEquals(sourceString.trim(), ctx.getAttribute(outputPath)); - } - - @Test - public void getLength() throws SvcLogicException { - String sourceString = "SomeRandomString"; - String outputPath = "muffin"; - param.put("source", sourceString); - param.put("outputPath", outputPath); - SliStringUtils.getLength(param, ctx); - assertEquals(String.valueOf(sourceString.length()), ctx.getAttribute(outputPath)); - } - - @Test - public void startsWithFalse() throws SvcLogicException { - String sourceString = "Java"; - String targetSTring = "DG"; - param.put("source", sourceString); - param.put("target", targetSTring); - assertEquals("false", SliStringUtils.startsWith(param, ctx)); - } - - @Test - public void startsWithTrue() throws SvcLogicException { - String sourceString = "Java"; - String targetSTring = "Ja"; - param.put("source", sourceString); - param.put("target", targetSTring); - assertEquals("true", SliStringUtils.startsWith(param, ctx)); - } - - @Test - public void replace() throws SvcLogicException { - String sourceString = "cat Hello World cat"; - String old = "cat"; - String neww = "dog"; - String outputPath = "out"; - - param.put("source", sourceString); - param.put("target", old); - param.put("replacement", neww); - param.put("outputPath", outputPath); - SliStringUtils.replace(param, ctx); - assertEquals(sourceString.replace(old, neww), ctx.getAttribute(outputPath)); - } - - @Test - public void concat() throws SvcLogicException { - String sourceString = "cat"; - String targetString = "dog"; - String outputPath = "out"; - - param.put("source", sourceString); - param.put("target", targetString); - param.put("outputPath", outputPath); - SliStringUtils.concat(param, ctx); - assertEquals(sourceString + targetString, ctx.getAttribute(outputPath)); - } - - @Test - public void urlEncode() throws SvcLogicException { - String sourceString = "102/GE100/SNJSCAMCJP8/SNJSCAMCJT4"; - String outputPath = "out"; - - param.put("source", sourceString); - param.put("outputPath", outputPath); - SliStringUtils.urlEncode(param, ctx); - assertEquals("102%2FGE100%2FSNJSCAMCJP8%2FSNJSCAMCJT4", ctx.getAttribute(outputPath)); - } - -} diff --git a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextListTest.java b/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextListTest.java deleted file mode 100644 index 5d7bb24..0000000 --- a/sliPluginUtils/provider/src/test/java/org/openecomp/sdnc/sli/SliPluginUtils/SvcLogicContextListTest.java +++ /dev/null @@ -1,307 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * openECOMP : SDN-C - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdnc.sli.SliPluginUtils; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - -import java.util.HashMap; - -import org.junit.Before; -import org.junit.Test; -import org.openecomp.sdnc.sli.SvcLogicContext; - -public class SvcLogicContextListTest { - //private static final Logger LOG = LoggerFactory.getLogger(SvcLogicContextTest.class); - private SvcLogicContext ctx; - - @Before - public void setUp() throws Exception { - this.ctx = new SvcLogicContext(); - } - - // TODO: javadoc - @Test - public final void testSvcLogicContextList_SingleValueList() { - ctx.setAttribute("list[0]", "0"); - ctx.setAttribute("list[1]", "1"); - ctx.setAttribute("list[2]", "2"); - ctx.setAttribute("list[3]", "3"); - ctx.setAttribute("list[4]", "4"); - ctx.setAttribute("list_length", "5"); - - SvcLogicContextList list = new SvcLogicContextList( ctx, "list" ); - - // Check that size of list is 5 - assertEquals(5, list.size()); - - // Check that each HashMap has it's list value in the empty string key - // and has no other values - assertEquals(1, list.get(0).size()); - assertEquals("0", list.get(0).get("")); - assertEquals(1, list.get(1).size()); - assertEquals("1", list.get(1).get("")); - assertEquals(1, list.get(2).size()); - assertEquals("2", list.get(2).get("")); - assertEquals(1, list.get(3).size()); - assertEquals("3", list.get(3).get("")); - assertEquals(1, list.get(4).size()); - assertEquals("4", list.get(4).get("")); - } - - // TODO: javadoc - @Test - public final void testSvcLogicContextList_ObjectList() { - ctx.setAttribute("list[0].ipv4", "1.1.1.0"); - ctx.setAttribute("list[0].ipv6", "2001::0"); - ctx.setAttribute("list[1].ipv4", "1.1.1.1"); - ctx.setAttribute("list[1].ipv6", "2001::1"); - ctx.setAttribute("list[2].ipv4", "1.1.1.2"); - ctx.setAttribute("list[2].ipv6", "2001::2"); - ctx.setAttribute("list[3].ipv4", "1.1.1.3"); - ctx.setAttribute("list[3].ipv6", "2001::3"); - ctx.setAttribute("list[4].ipv4", "1.1.1.4"); - ctx.setAttribute("list[4].ipv6", "2001::4"); - ctx.setAttribute("list_length", "5"); - - SvcLogicContextList list = new SvcLogicContextList( ctx, "list" ); - - // Check that size of list is 5 - assertEquals(5, list.size()); - - assertEquals(2, list.get(0).size()); - assertEquals("1.1.1.0", list.get(0).get("ipv4")); - assertEquals("2001::0", list.get(0).get("ipv6")); - assertEquals(2, list.get(1).size()); - assertEquals("1.1.1.1", list.get(1).get("ipv4")); - assertEquals("2001::1", list.get(1).get("ipv6")); - assertEquals(2, list.get(2).size()); - assertEquals("1.1.1.2", list.get(2).get("ipv4")); - assertEquals("2001::2", list.get(2).get("ipv6")); - assertEquals(2, list.get(3).size()); - assertEquals("1.1.1.3", list.get(3).get("ipv4")); - assertEquals("2001::3", list.get(3).get("ipv6")); - assertEquals(2, list.get(4).size()); - assertEquals("1.1.1.4", list.get(4).get("ipv4")); - assertEquals("2001::4", list.get(4).get("ipv6")); - } - - // TODO: javadoc - @Test - public final void testExtract() { - ctx.setAttribute("list[0]", "0"); - ctx.setAttribute("list[1]", "1"); - ctx.setAttribute("list[2]", "2"); - ctx.setAttribute("list[3]", "3"); - ctx.setAttribute("list[4]", "4"); - ctx.setAttribute("list_length", "5"); - ctx.setAttribute("Other", "other"); - - SvcLogicContextList list = SvcLogicContextList.extract(ctx, "list"); - - // Check that size of list is 5 - assertEquals(5, list.size()); - - // Check that all list values exist in list object - assertEquals(1, list.get(0).size()); - assertEquals("0", list.get(0).get("")); - assertEquals(1, list.get(1).size()); - assertEquals("1", list.get(1).get("")); - assertEquals(1, list.get(2).size()); - assertEquals("2", list.get(2).get("")); - assertEquals(1, list.get(3).size()); - assertEquals("3", list.get(3).get("")); - assertEquals(1, list.get(4).size()); - assertEquals("4", list.get(4).get("")); - - // Check that all list values no longer exist in ctx - assertNull(ctx.getAttribute("list[0]")); - assertNull(ctx.getAttribute("list[1]")); - assertNull(ctx.getAttribute("list[2]")); - assertNull(ctx.getAttribute("list[3]")); - assertNull(ctx.getAttribute("list[4]")); - assertNull(ctx.getAttribute("list_length")); - - // Check that non-list values still exist in ctx - assertEquals("other", ctx.getAttribute("Other")); - } - - // TODO: javadoc - @Test - public final void testRemove_int() { - ctx.setAttribute("list[0]", "0"); - ctx.setAttribute("list[1]", "1"); - ctx.setAttribute("list[2]", "2"); - ctx.setAttribute("list[3]", "3"); - ctx.setAttribute("list[4]", "4"); - ctx.setAttribute("list_length", "5"); - - SvcLogicContextList list = new SvcLogicContextList( ctx, "list" ); - list.remove(2); - - // Check that size of list is 4 (1 less than original) - assertEquals(4, list.size()); - - // Check that value was remove from list - assertEquals(1, list.get(0).size()); - assertEquals("0", list.get(0).get("")); - assertEquals(1, list.get(1).size()); - assertEquals("1", list.get(1).get("")); - assertEquals(1, list.get(2).size()); - assertEquals("3", list.get(2).get("")); - assertEquals(1, list.get(3).size()); - assertEquals("4", list.get(3).get("")); - } - - // TODO: javadoc - @Test - public final void testRemove_StringString() { - ctx.setAttribute("list[0].ipv4", "1.1.1.0"); - ctx.setAttribute("list[0].ipv6", "2001::0"); - ctx.setAttribute("list[1].ipv4", "1.1.1.1"); - ctx.setAttribute("list[1].ipv6", "2001::1"); - ctx.setAttribute("list[2].ipv4", "1.1.1.2"); - ctx.setAttribute("list[2].ipv6", "2001::2"); - ctx.setAttribute("list[3].ipv4", "1.1.1.3"); - ctx.setAttribute("list[3].ipv6", "2001::3"); - ctx.setAttribute("list[4].ipv4", "1.1.1.4"); - ctx.setAttribute("list[4].ipv6", "2001::4"); - ctx.setAttribute("list[5].ipv4", "1.1.1.2"); - ctx.setAttribute("list[5].ipv6", "2001::2"); - ctx.setAttribute("list_length", "6"); - - SvcLogicContextList list = new SvcLogicContextList( ctx, "list" ); - list.remove("ipv4", "1.1.1.2"); - - // Check that size of list is 4 (2 less than original) - assertEquals(4, list.size()); - - // Check that all elements with values ending in 2 were removed - assertEquals("1.1.1.0", list.get(0).get("ipv4")); - assertEquals("2001::0", list.get(0).get("ipv6")); - assertEquals("1.1.1.1", list.get(1).get("ipv4")); - assertEquals("2001::1", list.get(1).get("ipv6")); - assertEquals("1.1.1.3", list.get(2).get("ipv4")); - assertEquals("2001::3", list.get(2).get("ipv6")); - assertEquals("1.1.1.4", list.get(3).get("ipv4")); - assertEquals("2001::4", list.get(3).get("ipv6")); - } - - // TODO: javadoc - @Test - public final void testRemove_StringString_ValueList() { - ctx.setAttribute("list[0]", "5"); - ctx.setAttribute("list[1]", "6"); - ctx.setAttribute("list[2]", "7"); - ctx.setAttribute("list[3]", "8"); - ctx.setAttribute("list[4]", "9"); - ctx.setAttribute("list_length", "5"); - - SvcLogicContextList list = new SvcLogicContextList( ctx, "list" ); - list.remove("", "6"); - - // Check that size of list is 4 (1 less than original) - assertEquals(4, list.size()); - - // Check that value was remove from list - assertEquals(1, list.get(0).size()); - assertEquals("5", list.get(0).get("")); - assertEquals(1, list.get(1).size()); - assertEquals("7", list.get(1).get("")); - assertEquals(1, list.get(2).size()); - assertEquals("8", list.get(2).get("")); - assertEquals(1, list.get(3).size()); - assertEquals("9", list.get(3).get("")); - } - - // TODO: javadoc - @Test - public final void testRemove_Map() { - ctx.setAttribute("list[0].ipv4", "1.1.1.0"); - ctx.setAttribute("list[0].ipv6", "2001::0"); - ctx.setAttribute("list[1].ipv4", "1.1.1.1"); - ctx.setAttribute("list[1].ipv6", "2001::1"); - ctx.setAttribute("list[2].ipv4", "1.1.1.2"); - ctx.setAttribute("list[2].ipv6", "2001::2"); - ctx.setAttribute("list[3].ipv4", "1.1.1.3"); - ctx.setAttribute("list[3].ipv6", "2001::3"); - ctx.setAttribute("list[4].ipv4", "1.1.1.4"); - ctx.setAttribute("list[4].ipv6", "2001::4"); - ctx.setAttribute("list[5].ipv4", "1.1.1.2"); - ctx.setAttribute("list[5].ipv6", "2001::2"); - ctx.setAttribute("list_length", "6"); - - HashMap remove_key = new HashMap(); - remove_key.put("ipv4", "1.1.1.2"); - remove_key.put("ipv6", "2001::2"); - - SvcLogicContextList list = new SvcLogicContextList( ctx, "list" ); - list.remove(remove_key); - - // Check that size of list is 4 (2 less than original) - assertEquals(4, list.size()); - - // Check that all elements with values ending in 2 were removed - assertEquals("1.1.1.0", list.get(0).get("ipv4")); - assertEquals("2001::0", list.get(0).get("ipv6")); - assertEquals("1.1.1.1", list.get(1).get("ipv4")); - assertEquals("2001::1", list.get(1).get("ipv6")); - assertEquals("1.1.1.3", list.get(2).get("ipv4")); - assertEquals("2001::3", list.get(2).get("ipv6")); - assertEquals("1.1.1.4", list.get(3).get("ipv4")); - assertEquals("2001::4", list.get(3).get("ipv6")); - } - - // TODO: javadoc - @Test - public final void testWriteToContext() { - ctx.setAttribute("list[0]", "0"); - ctx.setAttribute("list[1]", "1"); - ctx.setAttribute("list[2]", "2"); - ctx.setAttribute("list[3]", "3"); - ctx.setAttribute("list[4]", "4"); - ctx.setAttribute("list_length", "5"); - ctx.setAttribute("Other", "other"); - - SvcLogicContextList list = new SvcLogicContextList( ctx, "list" ); - - // Erase context memory - ctx = new SvcLogicContext(); - - // Write list back into context memory - list.writeToContext(ctx); - - // Check that size of list is 5 - assertEquals(5, list.size()); - - // Check that all list values exist in list object - assertEquals("0", ctx.getAttribute("list[0]")); - assertEquals("1", ctx.getAttribute("list[1]")); - assertEquals("2", ctx.getAttribute("list[2]")); - assertEquals("3", ctx.getAttribute("list[3]")); - assertEquals("4", ctx.getAttribute("list[4]")); - assertEquals("5", ctx.getAttribute("list_length")); - - // Check that old list values aren't in new list - assertNull(ctx.getAttribute("Other")); - } -} -- cgit 1.2.3-korg