diff options
Diffstat (limited to 'common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2XMLServiceImpl.java')
-rw-r--r-- | common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2XMLServiceImpl.java | 253 |
1 files changed, 0 insertions, 253 deletions
diff --git a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2XMLServiceImpl.java b/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2XMLServiceImpl.java deleted file mode 100644 index d147a803cc..0000000000 --- a/common/src/main/java/org/openecomp/mso/yangDecoder/transform/impl/YangDataTransformNN2XMLServiceImpl.java +++ /dev/null @@ -1,253 +0,0 @@ -package org.openecomp.mso.yangDecoder.transform.impl; - -import com.google.common.base.Charsets; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import org.opendaylight.netconf.sal.restconf.impl.ControllerContext; -import org.opendaylight.netconf.sal.restconf.impl.InstanceIdentifierContext; -import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.DomUtils; -import org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.parser.DomToNormalizedNodeParserFactory; -import org.opendaylight.yangtools.yang.model.api.*; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.xml.sax.SAXException; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.stream.XMLOutputFactory; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.AbstractMap.SimpleEntry; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -import static org.openecomp.mso.yangDecoder.transform.impl.JsonParserStream.getWrapSchemaNode; - -public class YangDataTransformNN2XMLServiceImpl { - private static final XMLOutputFactory XML_FACTORY; - private static final DocumentBuilderFactory BUILDERFACTORY; - static { - XML_FACTORY = XMLOutputFactory.newFactory(); - XML_FACTORY.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, false); - final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setNamespaceAware(true); - factory.setCoalescing(true); - factory.setIgnoringElementContentWhitespace(true); - factory.setIgnoringComments(true); - BUILDERFACTORY = factory; - } - BindingNormalizedNodeSerializer mappingservice; - SchemaContext schemaContext; - private static final Logger LOG = LoggerFactory.getLogger(YangDataTransformNN2XMLServiceImpl.class); - - public YangDataTransformNN2XMLServiceImpl(BindingNormalizedNodeSerializer mappingservice, SchemaContext context ) { - - this.schemaContext = context; - this.mappingservice=mappingservice; - } - - public String transformNNToString(NormalizedNode nn) - { - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append(YangOdlNNC2XMLImpl.getXMLHeader()); - new NormalizedNodeNavigator(new NormalizedNodePrinter(stringBuilder)).navigate(null, nn); - return stringBuilder.toString(); - } - - - public static DataSchemaNode getSchemaNodebyNs(final SchemaContext context, final String ns, final String childNodeName) { - for (Module module : context.getModules()) { - if (module.getNamespace().toString().equals(ns)) { - DataSchemaNode found = findChildNode(module.getChildNodes(), childNodeName); - Preconditions.checkState(found != null, "Unable to find %s", childNodeName); - return found; - } - } - throw new IllegalStateException("Unable to find child node " + childNodeName); - } - private static DataSchemaNode findChildNode(final Iterable<DataSchemaNode> children, final String name) { - List<DataNodeContainer> containers = Lists.newArrayList(); - - for (DataSchemaNode dataSchemaNode : children) { - if (dataSchemaNode.getQName().getLocalName().equals(name)) { - return dataSchemaNode; - } - if (dataSchemaNode instanceof DataNodeContainer) { - containers.add((DataNodeContainer) dataSchemaNode); - } else if (dataSchemaNode instanceof ChoiceSchemaNode) { - containers.addAll(((ChoiceSchemaNode) dataSchemaNode).getCases()); - } - } - - for (DataNodeContainer container : containers) { - DataSchemaNode retVal = findChildNode(container.getChildNodes(), name); - if (retVal != null) { - return retVal; - } - } - - return null; - } - public NormalizedNode transformNNFromString(String sxml) throws Exception { - InputStream in_nocode = new ByteArrayInputStream(sxml.getBytes(Charsets.UTF_8));//.getBytes("UTF-8") - //xml2nn - final Document docxml = readXmlToDocument(in_nocode); - Element element0 = docxml.getDocumentElement(); - String localname = element0.getNodeName(); - String ns = element0.getAttribute("xmlns"); - // final ContainerSchemaNode containerNodex = (ContainerSchemaNode)null; - final DataSchemaNode dsn=getSchemaNodebyNs(schemaContext, ns, localname); - //cn.getNodeType().getNamespace().toString(), cn.getNodeType().getLocalName()); - DomToNormalizedNodeParserFactory parserFactory =DomToNormalizedNodeParserFactory.getInstance(DomUtils.defaultValueCodecProvider(), schemaContext); - NormalizedNode parsed = null; - final List<Element> elements = Collections.singletonList(docxml.getDocumentElement()); - if (dsn instanceof ContainerSchemaNode) { - parsed= parserFactory.getContainerNodeParser().parse(elements, (ContainerSchemaNode)dsn); - }else if (dsn instanceof ListSchemaNode) { - final ListSchemaNode casted = (ListSchemaNode) dsn; - parsed=parserFactory.getMapEntryNodeParser().parse(elements, casted); - } - return parsed; - - } - - - - public NormalizedNode transformNotificationNNfromString(String sxml, final InstanceIdentifierContext<?> iicontext) throws Exception - { - SchemaNode schemaNode = getWrapSchemaNode(iicontext.getSchemaNode()); - InputStream in_nocode = new ByteArrayInputStream(sxml.getBytes(Charsets.UTF_8));//.getBytes("UTF-8") - //xml2nn - final Document docxml = readXmlToDocument(in_nocode); - Element element0 = docxml.getDocumentElement(); - String localname = element0.getNodeName(); - String ns = element0.getAttribute("xmlns"); - // final ContainerSchemaNode containerNodex = (ContainerSchemaNode)null; - // final DataSchemaNode dsn=(DataSchemaNode)schemaNode;/*getSchemaNodebyNs(schemaContext, ns, localname);*/ - //cn.getNodeType().getNamespace().toString(), cn.getNodeType().getLocalName()); - DomToNormalizedNodeParserFactory parserFactory =DomToNormalizedNodeParserFactory.getInstance(DomUtils.defaultValueCodecProvider(), schemaContext); - NormalizedNode parsed = null; - final List<Element> elements = Collections.singletonList(docxml.getDocumentElement()); - if (schemaNode instanceof ContainerSchemaNode) { - parsed= parserFactory.getContainerNodeParser().parse(elements, (ContainerSchemaNode)schemaNode); - }else if (schemaNode instanceof ListSchemaNode) { - final ListSchemaNode casted = (ListSchemaNode) schemaNode; - parsed=parserFactory.getMapEntryNodeParser().parse(elements, casted); - } - return parsed; - } - public NormalizedNode transformNotificationStringtoNN(String sxml,String notficationName) throws Exception { - final InstanceIdentifierContext<?> iicontext= ControllerContext.getInstance().toInstanceIdentifier(notficationName); - return transformNotificationNNfromString(sxml,iicontext); - } - public Map.Entry<DataSchemaNode, NormalizedNode> transformRpcNNEntryfromString(String sxml, final InstanceIdentifierContext<?> iirpccontext) throws Exception{ - InputStream in_nocode = new ByteArrayInputStream(sxml.getBytes(Charsets.UTF_8));//.getBytes("UTF-8") - //xml2nn - final Document docxml = readXmlToDocument(in_nocode); - Element element0 = docxml.getDocumentElement(); - String localname = element0.getNodeName(); - String ns = element0.getAttribute("xmlns"); - DataSchemaNode schemaNode; - final SchemaNode schemaNode0 = iirpccontext.getSchemaNode(); - boolean isInput = false; - if (schemaNode0 instanceof RpcDefinition) { - if (docxml.getDocumentElement().getLocalName().contains("output")) { - schemaNode = ((RpcDefinition) schemaNode0).getOutput(); - isInput = false; - } else { - schemaNode = ((RpcDefinition) schemaNode0).getInput(); - isInput = true; - } - - } else if (docxml instanceof DataSchemaNode) { - schemaNode = (DataSchemaNode) docxml; - } else { - throw new IllegalStateException("Unknow SchemaNode"); - } - - final List<YangInstanceIdentifier.PathArgument> iiToDataList = new ArrayList<>(); - InstanceIdentifierContext<? extends SchemaNode> outIIContext; - // final ContainerSchemaNode containerNodex = (ContainerSchemaNode)null; - // final DataSchemaNode dsn=(DataSchemaNode)schemaNode;/*getSchemaNodebyNs(schemaContext, ns, localname);*/ - //cn.getNodeType().getNamespace().toString(), cn.getNodeType().getLocalName()); - DomToNormalizedNodeParserFactory parserFactory =DomToNormalizedNodeParserFactory.getInstance(DomUtils.defaultValueCodecProvider(), schemaContext); - NormalizedNode parsed = null; - final List<Element> elements = Collections.singletonList(docxml.getDocumentElement()); - if (schemaNode instanceof ContainerSchemaNode) { - parsed= parserFactory.getContainerNodeParser().parse(elements, (ContainerSchemaNode)schemaNode); - }else if (schemaNode instanceof ListSchemaNode) { - final ListSchemaNode casted = (ListSchemaNode) schemaNode; - parsed=parserFactory.getMapEntryNodeParser().parse(elements, casted); - } - return new SimpleEntry<DataSchemaNode, NormalizedNode>(schemaNode,parsed); - } - public NormalizedNode transformRpcNNfromString(String sxml, final InstanceIdentifierContext<?> iirpccontext) throws Exception{ - - InputStream in_nocode = new ByteArrayInputStream(sxml.getBytes(Charsets.UTF_8));//.getBytes("UTF-8") - //xml2nn - final Document docxml = readXmlToDocument(in_nocode); - Element element0 = docxml.getDocumentElement(); - String localname = element0.getNodeName(); - String ns = element0.getAttribute("xmlns"); - DataSchemaNode schemaNode; - final SchemaNode schemaNode0 = iirpccontext.getSchemaNode(); - boolean isInput = false; - if (schemaNode0 instanceof RpcDefinition) { - if (docxml.getDocumentElement().getLocalName().contains("output")) { - schemaNode = ((RpcDefinition) schemaNode0).getOutput(); - isInput = false; - } else { - schemaNode = ((RpcDefinition) schemaNode0).getInput(); - isInput = true; - } - - } else if (docxml instanceof DataSchemaNode) { - schemaNode = (DataSchemaNode) docxml; - } else { - throw new IllegalStateException("Unknow SchemaNode"); - } - - final List<YangInstanceIdentifier.PathArgument> iiToDataList = new ArrayList<>(); - InstanceIdentifierContext<? extends SchemaNode> outIIContext; - // final ContainerSchemaNode containerNodex = (ContainerSchemaNode)null; - // final DataSchemaNode dsn=(DataSchemaNode)schemaNode;/*getSchemaNodebyNs(schemaContext, ns, localname);*/ - //cn.getNodeType().getNamespace().toString(), cn.getNodeType().getLocalName()); - DomToNormalizedNodeParserFactory parserFactory =DomToNormalizedNodeParserFactory.getInstance(DomUtils.defaultValueCodecProvider(), schemaContext); - NormalizedNode parsed = null; - final List<Element> elements = Collections.singletonList(docxml.getDocumentElement()); - if (schemaNode instanceof ContainerSchemaNode) { - parsed= parserFactory.getContainerNodeParser().parse(elements, (ContainerSchemaNode)schemaNode); - }else if (schemaNode instanceof ListSchemaNode) { - final ListSchemaNode casted = (ListSchemaNode) schemaNode; - parsed=parserFactory.getMapEntryNodeParser().parse(elements, casted); - } - return parsed; - } - public NormalizedNode transformRpcNNfromString(String sxml, String rpcName) throws Exception { - final InstanceIdentifierContext<?> iicontext= ControllerContext.getInstance().toInstanceIdentifier(rpcName); - return this.transformRpcNNfromString(sxml,iicontext); - - } - public static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException { - final DocumentBuilder dBuilder; - try { - dBuilder = BUILDERFACTORY.newDocumentBuilder(); - } catch (final ParserConfigurationException e) { - throw new RuntimeException("Failed to parse XML document", e); - } - final Document doc = dBuilder.parse(xmlContent); - - doc.getDocumentElement().normalize(); - return doc; - } - -} |