protected AbstractDocumentedDataNodeContainerBuilder( final String moduleName, final int line, final QName qname, final SchemaPath path, final DataNodeContainer base) { super(moduleName, line); this.qname = qname; // We do copy of child nodes with namespace change // FIXME: Copy should be part of builder API so impl we prevent // cyclic dependencies and each builder carries its own semantic for copy. addedChildNodes.addAll( BuilderUtils.wrapChildNodes(moduleName, line, base.getChildNodes(), path, qname)); addedGroupings.addAll( BuilderUtils.wrapGroupings(moduleName, line, base.getGroupings(), path, qname)); addedTypedefs.addAll(BuilderUtils.wrapTypedefs(moduleName, line, base, path, qname)); // FIXME: unkownSchemaNodes should be available in DataNodeContainer // addedUnknownNodes.addAll(BuilderUtils.wrapUnknownNodes(moduleName, // line, base.getUnknownSchemaNodes(), path, qname)); usesNodes.addAll(base.getUses()); if (base instanceof DocumentedNode) { DocumentedNode node = (DocumentedNode) base; setDescription(node.getDescription()); setReference(node.getReference()); setStatus(node.getStatus()); } }
private SchemaContext parseSchemas(Collection<InputStream> schemas) throws IOException, YangSyntaxErrorException { final YangParserImpl parser = new YangParserImpl(); Collection<ByteSource> sources = BuilderUtils.streamsToByteSources(schemas); return parser.parseSources(sources); }