From 161df8a94bb3b0c34ed16fd4fdba078bd1eeef9a Mon Sep 17 00:00:00 2001 From: Patrick Brady Date: Wed, 13 Dec 2017 11:14:21 -0800 Subject: Second part of onap rename This is the second commit of the rename. The folder structure is renamed for appc-adapters and appc-config in this commit. Change-Id: Iaa2b8c937ff1ca1b5d1178128961fb115ee65d9b Signed-off-by: Patrick Brady Issue-ID: APPC-13 --- .../onap/sdnc/config/audit/node/CompareNode.java | 138 +++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 appc-config/appc-config-audit/provider/src/main/java/org/onap/sdnc/config/audit/node/CompareNode.java (limited to 'appc-config/appc-config-audit/provider/src/main/java/org/onap/sdnc/config/audit/node/CompareNode.java') diff --git a/appc-config/appc-config-audit/provider/src/main/java/org/onap/sdnc/config/audit/node/CompareNode.java b/appc-config/appc-config-audit/provider/src/main/java/org/onap/sdnc/config/audit/node/CompareNode.java new file mode 100644 index 000000000..710b5ffd1 --- /dev/null +++ b/appc-config/appc-config-audit/provider/src/main/java/org/onap/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.onap.ccsdk.sli.core.sli.SvcLogicContext; +import org.onap.ccsdk.sli.core.sli.SvcLogicException; +import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin; + +public class CompareNode implements SvcLogicJavaPlugin +{ + + private static final EELFLogger log = EELFManager.getInstance().getLogger(CompareNode.class); + + public void compare( Map inParams, SvcLogicContext ctx) throws SvcLogicException + { + log.debug("Starting Compare Node Analysis"); + + HashMap status = new HashMap(); + 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 getCompareResults(Parameters params) throws Exception + { + HashMap resultMap = new HashMap(); + 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)); + } + +} -- cgit 1.2.3-korg