Initial commit for appc-config-audit bundle

This Bundle is used for Auditing against
a running configurition

Signed-off-by: Skip Wonnell <kw5258@att.com>
Issue-Id: APPC-22
Signed-off-by: Patrick Brady <pb071s@att.com>
Change-Id: Id19c65e351cc377d32d6533d3fa73415019652f0
diff --git a/appc-config/appc-config-audit/provider/.gitignore b/appc-config/appc-config-audit/provider/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/appc-config/appc-config-audit/provider/pom.xml b/appc-config/appc-config-audit/provider/pom.xml
new file mode 100644
index 0000000..8ea4e11
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/pom.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.openecomp.appc</groupId>
+        <artifactId>appc-config-audit</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>appc-config-audit-provider</artifactId>
+    <packaging>bundle</packaging>
+    <name>Config Audit - Provider</name>
+    <url>http://maven.apache.org</url>
+
+    <dependencies>
+        <dependency>
+            <groupId>equinoxSDK381</groupId>
+            <artifactId>org.eclipse.osgi</artifactId>
+            <version>${equinox.osgi.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.openecomp.sdnc.core</groupId>
+            <artifactId>sli-provider</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>xmlunit</groupId>
+            <artifactId>xmlunit</artifactId>
+            <version>${xmlunit.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.att.eelf</groupId>
+            <artifactId>eelf-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>${bundle.plugin.version}</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>org.openecomp.sdnc.config.audit</Bundle-SymbolicName>
+                        <Bundle-Activator>org.openecomp.sdnc.config.audit.SliAuditActivator</Bundle-Activator>
+                        <Export-Package>org.openecomp.sdnc.config.audit,org.openecomp.sdnc.config.audit.node</Export-Package>
+                        <Import-Package>*</Import-Package>
+                        <DynamicImport-Package>*</DynamicImport-Package>
+                    </instructions>
+                    <manifestLocation>${project.basedir}/src/main/resources/META-INF</manifestLocation>
+                </configuration>
+            </plugin>
+
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <!--This plugin's configuration is used to store Eclipse m2e settings
+                    only. It has no influence on the Maven build itself. -->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            com.brocade.developer
+                                        </groupId>
+                                        <artifactId>
+                                            providermodule-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [1.2.0.100-SNAPSHOT,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>process</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore />
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+</project>
diff --git a/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/SliAuditActivator.java b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/SliAuditActivator.java
new file mode 100644
index 0000000..f4cfe1b
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/SliAuditActivator.java
@@ -0,0 +1,62 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.openecomp.sdnc.config.audit.node.CompareNode;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import org.openecomp.sdnc.sli.ConfigurationException;
+
+public class SliAuditActivator implements BundleActivator{
+
+    private List<ServiceRegistration> registrations = new LinkedList<ServiceRegistration>();
+
+
+    private static final EELFLogger log = EELFManager.getInstance().getLogger(SliAuditActivator.class);
+
+    @Override
+    public void start(BundleContext ctx) throws Exception
+    {
+
+        CompareNode compareNodePlugin = new CompareNode();
+        log.info("Registering service "+ compareNodePlugin.getClass().getName());
+        registrations.add(ctx.registerService(compareNodePlugin.getClass().getName(), compareNodePlugin, null));
+
+    }
+    @Override
+    public void stop(BundleContext arg0) throws Exception
+    {
+        for (ServiceRegistration registration: registrations)
+        {
+            registration.unregister();
+            registration = null;
+        }
+
+    }
+
+}
diff --git a/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/SliAuditConstant.java b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/SliAuditConstant.java
new file mode 100644
index 0000000..0bfaa1e
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/SliAuditConstant.java
@@ -0,0 +1,64 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit;
+
+public class SliAuditConstant {
+
+    public static String STRING_ENCODING = "utf-8";
+    public static String Y = "Y";
+    public static String N = "N";
+    public static String DATA_TYPE_TEXT = "TEXT";
+    public static String DATA_TYPE_JSON = "JSON";
+    public static String DATA_TYPE_XML = "XML";
+    public static String DATA_TYPE_SQL = "SQL";
+
+    public static String INPUT_PARAM_JSON_DATA = "jsonData";
+    public static String INPUT_PARAM_IS_ESCAPED = "isEscaped";
+    public static String INPUT_PARAM_BLOCK_KEYS = "blockKeys";
+    public static String INPUT_PARAM_LOG_DATA = "logData";
+    public static String INPUT_PARAM_CHECK_DATA = "checkData";
+    public static String INPUT_PARAM_ESCAPE_DATA = "escapeData";
+    public static String INPUT_PARAM_UNESCAPE_DATA = "unEscapeData";
+    public static String INPUT_PARAM_DATA_TYPE = "dataType";
+    public static String INPUT_PARAM_FILE_NAME = "fileName";
+
+    public static String INPUT_PARAM_TEMPLATE_DATA = "templateData";
+    public static String INPUT_PARAM_TEMPLATE_FILE = "templateFile";
+    public static String INPUT_PARAM_TEMPLATE_TYPE = "templateType";
+    public static String INPUT_PARAM_DO_PRETTY_OUTPUT = "doPrettyOutput";
+    public static String INPUT_PARAM_REQUEST_DATA = "requestData";
+    public static String INPUT_PARAM_RESPONSE_PRIFIX = "responsePrefix";
+
+
+    public static String OUTPUT_PARAM_MERGED_DATA = "mergedData";
+    public static String OUTPUT_PARAM_TRANSFORMED_DATA = "transformedData";
+    public static String OUTPUT_PARAM_FILE_DATA = "fileData";
+    public static String OUTPUT_PARAM_PARSED_ERROR = "parsedError";
+    public static String OUTPUT_PARAM_DATA_TYPE = "dataType";
+    public static String OUTPUT_PARAM_STATUS = "status";
+    public static String OUTPUT_PARAM_ERROR_MESSAGE = "error-message";
+    public static String OUTPUT_PARAM_ESCAPE_DATA = "escapeData";
+    public static String OUTPUT_PARAM_UNESCAPE_DATA = "unEscapeData";
+
+    public static String OUTPUT_STATUS_SUCCESS = "success";
+    public static String OUTPUT_STATUS_FAILURE = "failure";
+
+}
diff --git a/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareCliData.java b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareCliData.java
new file mode 100644
index 0000000..969d126
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareCliData.java
@@ -0,0 +1,43 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit.node;
+
+public class CompareCliData implements CompareDataInterface{
+
+    String payloadX;
+    String payloadY;    
+
+    public CompareCliData(String payloadX, String payloadY)
+    {
+        super();
+        this.payloadX = payloadX;
+        this.payloadY = payloadY;
+    }
+
+    @Override
+    public boolean compare() throws Exception
+    {
+            if(payloadX != null && payloadX.equals(payloadY))
+                return true;
+            else
+                return false;
+    }
+}
diff --git a/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareConstants.java b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareConstants.java
new file mode 100644
index 0000000..42b18d5
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareConstants.java
@@ -0,0 +1,43 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit.node;
+
+public class CompareConstants {
+
+
+    public static final String FORMAT_JSON = "RESTCONF";
+    public static final String FORMAT_XML = "XML";
+    public static final String FORMAT_CLI = "CLI";
+    public static final String NETCONF_XML = "NETCONF-XML";
+    public static final String RESTCONF_XML = "RESTCONF-XML";
+    
+
+    public static final String STATUS_FAILURE = "FAILURE";
+    public static final String RESPONSE_STATUS = "STATUS";
+    public static final String STATUS_SUCCESS = "SUCCESS";
+    
+    public static final String ERROR_CODE = "Error-code";
+    
+    public static final String ERROR_MESSAGE = "Error-Message";
+    public static final String ERROR_MESSAGE_DEATIL = "Compare Node Failed-Internal Error.See karaf log file";
+    
+    public static final String NO_MATCH_MESSAGE = "The configurations do not match";
+}
diff --git a/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareDataInterface.java b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareDataInterface.java
new file mode 100644
index 0000000..95f154e
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareDataInterface.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit.node;
+
+
+public interface CompareDataInterface
+{
+    boolean compare() throws Exception;
+}
diff --git a/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareJsonData.java b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareJsonData.java
new file mode 100644
index 0000000..422ac30
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareJsonData.java
@@ -0,0 +1,82 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit.node;
+
+import java.io.IOException;
+import java.util.Map;
+
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+
+public class CompareJsonData implements CompareDataInterface {
+
+    private static final EELFLogger log = EELFManager.getInstance().getLogger(CompareJsonData.class);
+
+    String payloadX;
+    String payloadY;
+
+    public CompareJsonData(String payloadX, String payloadY)
+    {
+        this.payloadX = payloadX;
+        this.payloadY = payloadY;
+    }
+
+    @Override
+    public boolean compare() throws Exception
+    {
+
+        ObjectMapper dataMapper = new ObjectMapper();
+        boolean match = false;
+        try
+        {
+            Map<String, Object> controlData = (Map<String, Object>)(dataMapper.readValue(payloadX, Map.class));
+            Map<String, Object>  testData = (Map<String, Object>)(dataMapper.readValue(payloadY, Map.class));
+
+            log.debug("Control Data :" + controlData);
+            log.debug("testData Data :" + testData);
+
+           if(controlData.equals(testData))
+               match=true;
+        }
+        catch(JsonParseException e)
+        {
+            throw new Exception(e.getMessage());
+        }
+        catch(JsonMappingException e)
+        {
+            throw new Exception(e.getMessage());
+        }
+        catch(IOException ioe)
+        {
+            throw new Exception(ioe.getMessage());
+        }
+
+        return match;
+    }
+
+
+
+}
diff --git a/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareNode.java b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareNode.java
new file mode 100644
index 0000000..4ef5e26
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareNode.java
@@ -0,0 +1,138 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit.node;
+
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import org.openecomp.sdnc.sli.SvcLogicContext;
+import org.openecomp.sdnc.sli.SvcLogicException;
+import org.openecomp.sdnc.sli.SvcLogicJavaPlugin;
+
+public class CompareNode implements SvcLogicJavaPlugin
+{
+
+    private static final EELFLogger log = EELFManager.getInstance().getLogger(CompareNode.class);
+
+    public void compare( Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException
+    {
+        log.debug("Starting Compare Node Analysis");
+
+        HashMap<String, String> status = new HashMap<String, String>();
+        Parameters params = new Parameters(inParams);
+        try
+        {
+            if(params.getCompareDataType() != null)
+            {
+                if(params.getPayloadX() !=null && params.getPayloadY() !=null)
+                {
+                    status = getCompareResults(params);
+                    log.debug("Compare Result : " + status);
+                }
+                else
+                {
+                    status.put(CompareConstants.RESPONSE_STATUS, CompareConstants.STATUS_FAILURE);
+                    status.put(CompareConstants.ERROR_CODE, "200");
+                    status.put(CompareConstants.ERROR_MESSAGE, "One of the Data Received by CompareNode is Empty");
+                }
+            }
+            else
+            {
+                status.put(CompareConstants.RESPONSE_STATUS, CompareConstants.STATUS_FAILURE);
+                status.put(CompareConstants.ERROR_CODE, "200");
+                status.put(CompareConstants.ERROR_MESSAGE, "Missing compareDataType value in input request: Expecting at least one of  CLI/RESTCONF/XML");
+            }
+
+        }
+        catch(Exception e)
+        {
+            status.put(CompareConstants.RESPONSE_STATUS, CompareConstants.STATUS_FAILURE);
+            status.put(CompareConstants.ERROR_CODE, "200");
+            status.put(CompareConstants.ERROR_MESSAGE, CompareConstants.ERROR_MESSAGE_DEATIL);
+            log.debug("Error in Comapre Node Execution " + e.getMessage());
+
+        }
+
+        createContextReposne(status, ctx, params.getRequestIdentifier());
+    }
+
+    private HashMap<String, String> getCompareResults(Parameters params) throws Exception
+    {
+        HashMap<String, String> resultMap = new HashMap<String, String>();
+        boolean cmpResult = false;
+        CompareDataInterface handler;
+
+
+
+        if(params.getCompareDataType().equalsIgnoreCase(CompareConstants.FORMAT_JSON))
+            handler =  new CompareJsonData(params.getPayloadX(), params.getPayloadY());
+        else if((params.getCompareDataType().equalsIgnoreCase(CompareConstants.FORMAT_XML))
+                || (params.getCompareDataType().equalsIgnoreCase(CompareConstants.NETCONF_XML))
+                        || (params.getCompareDataType().equalsIgnoreCase(CompareConstants.RESTCONF_XML)))
+            handler =  new CompareXmlData(params.getPayloadX(), params.getPayloadY());
+        else if (params.getCompareDataType().equalsIgnoreCase(CompareConstants.FORMAT_CLI))
+            handler =  new CompareCliData(params.getPayloadX(), params.getPayloadY());
+        else
+        {
+            throw new Exception("Format " + params.getCompareDataType() + " not supported");
+        }
+        try
+        {
+            log.debug("Received Format to compare : " + params.getCompareDataType());
+
+            cmpResult = handler.compare();
+            if(cmpResult)
+            {
+                resultMap.put(CompareConstants.RESPONSE_STATUS, CompareConstants.STATUS_SUCCESS);
+
+            }
+            else
+            {
+                resultMap.put(CompareConstants.RESPONSE_STATUS, CompareConstants.STATUS_FAILURE);
+                resultMap.put(CompareConstants.ERROR_CODE, "500");
+                resultMap.put(CompareConstants.ERROR_MESSAGE, CompareConstants.NO_MATCH_MESSAGE);
+            }
+        }
+        catch (Exception e)
+        {
+            throw e;
+        }
+
+    return resultMap;
+    }
+
+    private void createContextReposne(HashMap status, SvcLogicContext ctx, String requestIdentifier )
+    {
+        if(requestIdentifier == null)
+            requestIdentifier = "";
+        else
+            requestIdentifier = requestIdentifier + ".";
+
+        ctx.setAttribute(requestIdentifier.concat( CompareConstants.RESPONSE_STATUS), (String) status.get(CompareConstants.RESPONSE_STATUS));
+        ctx.setAttribute(requestIdentifier.concat(CompareConstants.ERROR_CODE), (String) status.get(CompareConstants.ERROR_CODE));
+        ctx.setAttribute(requestIdentifier.concat(CompareConstants.ERROR_MESSAGE), (String) status.get(CompareConstants.ERROR_MESSAGE));
+    }
+
+}
diff --git a/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareXmlData.java b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareXmlData.java
new file mode 100644
index 0000000..0083709
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/CompareXmlData.java
@@ -0,0 +1,105 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit.node;
+
+
+import java.io.IOException;
+import java.io.StringReader;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.custommonkey.xmlunit.Diff;
+import org.custommonkey.xmlunit.XMLUnit;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
+
+public class CompareXmlData implements CompareDataInterface
+{
+    private static final EELFLogger log = EELFManager.getInstance().getLogger(CompareXmlData.class);
+
+
+    String controlXml;
+    String testXml;
+
+    Document doc;
+
+    public CompareXmlData(String controlXml, String testXml) {
+        super();
+        this.controlXml = controlXml;
+        this.testXml = testXml;
+    }
+
+    @Override
+    public boolean compare() throws Exception
+    {
+
+        log.debug("controlXml : " + controlXml);
+        log.debug("testXml : " + testXml);
+
+        doSetup();
+
+        try
+        {
+            Diff diff = new Diff(getCompareDoc(controlXml), getCompareDoc(testXml));
+            if(diff.similar())
+                return true;
+            else
+                return false;
+        }
+        catch(SAXException se)
+        {
+            se.printStackTrace();
+            throw new Exception(se.getMessage());
+        }
+        catch(Exception e)
+        {
+            e.printStackTrace();
+            throw new Exception(e.getMessage());
+        }
+    }
+
+    private void doSetup() throws ParserConfigurationException, SAXException, IOException
+    {
+
+        XMLUnit.setIgnoreAttributeOrder(true);
+        XMLUnit.setIgnoreComments(true);
+        XMLUnit.setIgnoreWhitespace(true);
+    }
+
+    public Document getCompareDoc(String inXml) throws ParserConfigurationException, SAXException, IOException
+    {
+        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
+        StringReader reader = new StringReader(inXml);
+        InputSource inputSource = new InputSource(reader);
+        Document doc = dBuilder.parse(inputSource);
+        doc.getDocumentElement().normalize();
+
+        return doc;
+    }
+}
diff --git a/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/Parameters.java b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/Parameters.java
new file mode 100644
index 0000000..e3358df
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/main/java/org/openecomp/sdnc/config/audit/node/Parameters.java
@@ -0,0 +1,102 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit.node;
+
+
+import java.util.Map;
+
+public class Parameters
+{
+
+    String payloadX ;
+
+    public String getPayloadX() {
+        return payloadX;
+    }
+    public void setPayloadX(String payloadX) {
+        this.payloadX = payloadX;
+    }
+
+    String payloadXtype;
+
+    public String getPayloadXtype() {
+        return payloadXtype;
+    }
+    public void setPayloadXtype(String payloadXtype) {
+        this.payloadXtype = payloadXtype;
+    }
+
+    String payloadY ;
+
+    public String getPayloadY() {
+        return payloadY;
+    }
+    public void setPayloadY(String payloadY) {
+        this.payloadY = payloadY;
+    }
+
+    String payloadYtype;
+
+    public String getPayloadYtype() {
+        return payloadYtype;
+    }
+    public void setPayloadYtype(String payloadYtype) {
+        this.payloadYtype = payloadYtype;
+    }
+
+    String compareDataType;
+
+    public String getCompareDataType() {
+        return compareDataType;
+    }
+    public void setCompareDataType(String compareDataType) {
+        this.compareDataType = compareDataType;
+    }
+
+    String compareType;
+
+    public String getCompareType() {
+        return compareType;
+    }
+    public void setCompareType(String compareType) {
+        this.compareType = compareType;
+    }
+
+    String requestIdentifier;
+
+    public String getRequestIdentifier() {
+        return requestIdentifier;
+    }
+    public void setRequestIdentifier(String requestIdentifier) {
+        this.requestIdentifier = requestIdentifier;
+    }
+    public Parameters(Map<String, String> inParams)
+    {
+        this.compareType = inParams.get("compareType");
+        this.compareDataType = inParams.get("compareDataType");
+        this.payloadX= inParams.get("sourceData");
+        this.payloadY= inParams.get("targetData");
+        this.payloadXtype = inParams.get("sourceDataType");
+        this.payloadYtype = inParams.get("targetDataType");
+        this.requestIdentifier = inParams.get("requestIdentifier");
+
+    }
+}
diff --git a/appc-config/appc-config-audit/provider/src/main/resources/adaptor.properties b/appc-config/appc-config-audit/provider/src/main/resources/adaptor.properties
new file mode 100644
index 0000000..b6261a3
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/main/resources/adaptor.properties
@@ -0,0 +1,25 @@
+###
+# ============LICENSE_START=======================================================
+# ONAP : APP-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=========================================================
+###
+
+adaptorName=
+vSphere.url=
+vSphere.user=
+vSphere.passwd=
+org.xml.sax.driver=
diff --git a/appc-config/appc-config-audit/provider/src/test/java/org/openecomp/sdnc/config/audit/node/TestCompareNodeCli.java b/appc-config/appc-config-audit/provider/src/test/java/org/openecomp/sdnc/config/audit/node/TestCompareNodeCli.java
new file mode 100644
index 0000000..ad1112f
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/java/org/openecomp/sdnc/config/audit/node/TestCompareNodeCli.java
@@ -0,0 +1,100 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit.node;
+
+import java.util.HashMap;
+
+import org.junit.Test;
+import org.openecomp.sdnc.config.audit.node.CompareNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.openecomp.sdnc.sli.SvcLogicContext;
+import org.openecomp.sdnc.sli.SvcLogicException;
+
+public class TestCompareNodeCli
+{
+private static final Logger log = LoggerFactory.getLogger(TestCompareNodeCli.class);
+    
+
+//@Test
+    public void TestCompareCliForSamePayload()
+    {
+        SvcLogicContext ctx  = new SvcLogicContext();
+        HashMap<String, String> testMap = new HashMap<String, String>();        
+        CompareNode cmp  = new CompareNode();
+        try
+        {
+            testMap.put("compareDataType", "Cli");
+            testMap.put("sourceData", "This is a Text Configuration of Device");
+            testMap.put("targetData", "This is a Text Configuration of Device");            
+            cmp.compare(testMap, ctx);            
+            assert(ctx.getAttribute("STATUS").equals("SUCCESS"));            
+        }
+        catch (SvcLogicException e)
+        {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }        
+    }
+
+    //@Test
+    public void TestCompareCliFordifferentPayload()
+    {
+        SvcLogicContext ctx  = new SvcLogicContext();
+        HashMap<String, String> testMap = new HashMap<String, String>();        
+        CompareNode cmp  = new CompareNode();
+        try
+        {
+            testMap.put("compareDataType", "Cli");
+            testMap.put("sourceData", "This is a Text Negative test Configuration of Device");
+            testMap.put("targetData", "This is a Text Configuration of Device");            
+            cmp.compare(testMap, ctx);            
+            assert(ctx.getAttribute("STATUS").equals("FAILURE"));            
+        }
+        catch (SvcLogicException e)
+        {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }        
+    }
+    
+    //@Test
+    public void TestCompareForMissingInput()
+    {
+        SvcLogicContext ctx  = new SvcLogicContext();
+        HashMap<String, String> testMap = new HashMap<String, String>();        
+        CompareNode cmp  = new CompareNode();
+        try
+        {
+        //    testMap.put("compareDataType", "Cli"); Missing compareDataType from the input            
+            testMap.put("sourceData", "This is a Text Negative test Configuration of Device");
+            testMap.put("targetData.configuration-data", "This is a Text Configuration of Device");    
+            cmp.compare(testMap, ctx);            
+            assert(ctx.getAttribute("STATUS").equals("FAILURE"));            
+        }
+        catch (SvcLogicException e)
+        {
+            assert(ctx.getAttribute("STATUS").equals("FAILURE"));
+        }        
+    }
+    
+}
diff --git a/appc-config/appc-config-audit/provider/src/test/java/org/openecomp/sdnc/config/audit/node/TestCompareNodeJson.java b/appc-config/appc-config-audit/provider/src/test/java/org/openecomp/sdnc/config/audit/node/TestCompareNodeJson.java
new file mode 100644
index 0000000..cb1fd37
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/java/org/openecomp/sdnc/config/audit/node/TestCompareNodeJson.java
@@ -0,0 +1,80 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit.node;
+
+import java.util.HashMap;
+
+import org.junit.Test;
+import org.openecomp.sdnc.config.audit.node.CompareNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.openecomp.sdnc.sli.SvcLogicContext;
+import org.openecomp.sdnc.sli.SvcLogicException;
+
+public class TestCompareNodeJson
+{
+private static final Logger log = LoggerFactory.getLogger(TestCompareNodeJson.class);
+
+    //@Test
+    public void TestCompareJsonForSamePayload()
+    {
+        SvcLogicContext ctx  = new SvcLogicContext();
+        HashMap<String, String> testMap = new HashMap<String, String>();
+        CompareNode cmp  = new CompareNode();
+        try
+        {
+            String controlJson = "{\n\"input\": {\n   \"appc-request-header\": {\n       \"svc-request-id\": \"000000000\", \n \"svc-action\": \"prepare\"   \n }, \n\"request-information\": {\n \"request-id\": \"000000000\", \n\"request-action\": \"VsbgServiceActivateRequest\", \n\"request-sub-action\": \"PREPARE\",  \n \"source\": \"Version2\" \n} \n} \n}";
+            String testJson = "{\n\"input\": {\n  \"appc-request-header\": {\n \"svc-request-id\": \"000000000\", \n \"svc-action\": \"prepare\"   \n }, \n\"request-information\": {\n \"request-id\": \"000000000\", \n\"request-action\": \"VsbgServiceActivateRequest\", \n\"request-sub-action\": \"PREPARE\",  \n \"source\": \"Version2\" \n} \n} \n}";
+            testMap.put("compareDataType", "RestConf");
+            testMap.put("sourceData", controlJson);
+            testMap.put("targetData", testJson);
+            cmp.compare(testMap, ctx);
+            assert(ctx.getAttribute("STATUS").equals("SUCCESS"));
+        }
+        catch (SvcLogicException e)
+        {
+            e.printStackTrace();
+        }
+    }
+
+    //@Test
+    public void TestCompareJsonFordifferentPayload()
+    {
+        SvcLogicContext ctx  = new SvcLogicContext();
+        HashMap<String, String> testMap = new HashMap<String, String>();
+        CompareNode cmp  = new CompareNode();
+        try
+        {
+            String controlJson = "{\n\"input\": {\n   \"appc-request-header\": {\n       \"svc-request-id\": \"000000000\", \n \"svc-action\": \"prepare\"   \n }, \n\"request-information\": {\n \"request-id\": \"000000000\", \n\"request-action\": \"VsbgServiceActivateRequest\", \n\"request-sub-action\": \"PREPARE\",  \n \"source\": \"Version2\" \n} \n} \n}";
+            String testJson = "{\n\"input\": {\n  \"appc-request-header\": { \n \"svc-action\": \"prepare\"   \n }, \n\"request-information\": {\n \"request-id\": \"0000000000\", \n\"request-action\": \"VsbgServiceActivateRequest\", \n\"request-sub-action\": \"PREPARE\",  \n \"source\": \"Version2\" \n} \n} \n}";
+            testMap.put("compareDataType", "RestConf");
+            testMap.put("sourceData", controlJson);
+            testMap.put("targetData", testJson);
+            cmp.compare(testMap, ctx);
+            assert(ctx.getAttribute("STATUS").equals("FAILURE"));
+        }
+        catch (SvcLogicException e)
+        {
+            e.printStackTrace();
+        }
+    }
+}
diff --git a/appc-config/appc-config-audit/provider/src/test/java/org/openecomp/sdnc/config/audit/node/TestCompareNodeXml.java b/appc-config/appc-config-audit/provider/src/test/java/org/openecomp/sdnc/config/audit/node/TestCompareNodeXml.java
new file mode 100644
index 0000000..efd2343
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/java/org/openecomp/sdnc/config/audit/node/TestCompareNodeXml.java
@@ -0,0 +1,127 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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.config.audit.node;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Properties;
+
+import org.junit.Test;
+import org.openecomp.sdnc.config.audit.node.CompareNode;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.openecomp.sdnc.sli.SvcLogicContext;
+import org.openecomp.sdnc.sli.SvcLogicException;
+
+
+public class TestCompareNodeXml
+{
+    private static final Logger log = LoggerFactory.getLogger(TestCompareNodeXml.class);
+
+    //@Test
+    public void TestCompareExtactXML()
+    {
+        log.debug("TestCompareNode.TestCompareExtactXML()");
+        SvcLogicContext ctx  = new SvcLogicContext();
+        HashMap<String, String> testMap = new HashMap<String, String>();
+        CompareNode cmp  = new CompareNode();
+        try
+        {
+            String s="<configuration  xmlns="
+                    + "\"http://xml.juniper.net/xnm/1.1/xnm\""
+                    + " junos:commit-seconds="
+                    +"\"1473957536\" "
+                    +"junos:commit-localtime="
+                    +"\"2016-09-15 16:38:56 UTC\" "
+                    + "junos:commit-user="
+                    +"\"root\""
+                    +"><name>Test</name></configuration>";
+
+            String t ="<configuration  xmlns="
+                    + "\"http://xml.juniper.net/xnm/1.1/xnm\""
+                    + " junos:commit-seconds="
+                    +"\"1473957536\" "
+                    +"junos:commit-localtime="
+                    +"\"2016-09-15 16:38:56 UTC\" "
+                    + "junos:commit-user="
+                    +"\"root\""
+                    +"><name>Test</name></configuration>";
+
+            System.out.println("s=" + s);
+
+            testMap.put("compareDataType", "RESTCONF-XML");
+            testMap.put("requestIdentifier", "123");
+            testMap.put("sourceData", s);
+            testMap.put("targetData", t);
+            cmp.compare(testMap, ctx);
+            assert(ctx.getAttribute("123." + "STATUS").equals("SUCCESS"));
+        }
+        catch (SvcLogicException e)
+        {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+    }
+    //@Test
+    public void TestCompareforAttributeOrder() throws IOException
+    {
+        log.debug("TestCompareNode.TestCompareforAttributeOrder()");
+        SvcLogicContext ctx  = new SvcLogicContext();
+        HashMap<String, String> testMap = new HashMap<String, String>();
+        CompareNode cmp  = new CompareNode();
+        testMap.put("compareDataType", "XML");
+        testMap.put("sourceData", "<SipIfTermination><id>2</id><udpPortInUse>true</udpPortInUse><udpPort>5060</udpPort><tcpPortInUse>true</tcpPortInUse><tcpPort>5060</tcpPort></SipIfTermination>");
+        testMap.put("targetData", "<SipIfTermination><udpPortInUse>true</udpPortInUse><udpPort>5060</udpPort><tcpPortInUse>true</tcpPortInUse><tcpPort>5060</tcpPort><id>2</id></SipIfTermination>");
+        try
+        {
+            cmp.compare(testMap, ctx);
+        }
+        catch (SvcLogicException e)
+        {
+            e.printStackTrace();
+        }
+        assert(ctx.getAttribute("STATUS").equals("SUCCESS"));
+    }
+
+    //@Test
+    public void TestCompareForComments()
+    {
+        log.debug("TestCompareNode.TestCompareForComments()");
+        SvcLogicContext ctx  = new SvcLogicContext();
+        HashMap<String, String> testMap = new HashMap<String, String>();
+        CompareNode cmp  = new CompareNode();
+
+        try
+        {
+            testMap.put("compareDataType", "XML");
+            testMap.put("sourceData", "<SipIfTermination><id>2</id><!--this is a commnect --></SipIfTermination>");
+            testMap.put("targetData", "<SipIfTermination><id>2</id></SipIfTermination>");
+            cmp.compare(testMap, ctx);
+            assert(ctx.getAttribute("STATUS").equals("SUCCESS"));
+        }
+        catch (SvcLogicException e)
+        {
+            e.printStackTrace();
+        }
+    }
+
+}
diff --git a/appc-config/appc-config-audit/provider/src/test/resources/convert/escape/config_msc.txt b/appc-config/appc-config-audit/provider/src/test/resources/convert/escape/config_msc.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/resources/convert/escape/config_msc.txt
diff --git a/appc-config/appc-config-audit/provider/src/test/resources/convert/escape/config_ssc.txt b/appc-config/appc-config-audit/provider/src/test/resources/convert/escape/config_ssc.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/resources/convert/escape/config_ssc.txt
diff --git a/appc-config/appc-config-audit/provider/src/test/resources/convert/escape/config_vdbe.xml b/appc-config/appc-config-audit/provider/src/test/resources/convert/escape/config_vdbe.xml
new file mode 100644
index 0000000..7877967
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/resources/convert/escape/config_vdbe.xml
@@ -0,0 +1,19 @@
+<!--
+  ============LICENSE_START=======================================================
+  ONAP : APP-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=========================================================
+  -->
diff --git a/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_cli_config.json b/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_cli_config.json
new file mode 100644
index 0000000..a82eaf0
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_cli_config.json
@@ -0,0 +1,19 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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=========================================================
+ */
diff --git a/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_json_config.json b/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_json_config.json
new file mode 100644
index 0000000..a82eaf0
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_json_config.json
@@ -0,0 +1,19 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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=========================================================
+ */
diff --git a/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_parameters_config.json b/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_parameters_config.json
new file mode 100644
index 0000000..a82eaf0
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_parameters_config.json
@@ -0,0 +1,19 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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=========================================================
+ */
diff --git a/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_template_config.json b/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_template_config.json
new file mode 100644
index 0000000..a82eaf0
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_template_config.json
@@ -0,0 +1,19 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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=========================================================
+ */
diff --git a/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_xml_config.json b/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_xml_config.json
new file mode 100644
index 0000000..a82eaf0
--- /dev/null
+++ b/appc-config/appc-config-audit/provider/src/test/resources/convert/payload_xml_config.json
@@ -0,0 +1,19 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-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=========================================================
+ */