import java.util.Map
import java.util.Set
import org.opendaylight.yangtools.yang.common.QName
-import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier
-import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.NodeIdentifierWithPredicates
import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode
import org.opendaylight.yangtools.yang.model.api.AugmentationTarget
import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode
import org.slf4j.LoggerFactory
import org.sonatype.plexus.build.incremental.BuildContext
import org.sonatype.plexus.build.incremental.DefaultBuildContext
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier
class GeneratorImpl {
return targetPathNodes
}
- private def DataSchemaNode findNodeInChildNodes(QName findingNode, Set<DataSchemaNode> childNodes) {
+ private def DataSchemaNode findNodeInChildNodes(QName findingNode, Iterable<DataSchemaNode> childNodes) {
for(child : childNodes) {
if (child.QName.equals(findingNode))
return child;
def CharSequence tree(Module module) '''
«strong(module.name)»
- «module.childNodes.treeSet(InstanceIdentifier.builder.toInstance())»
+ «module.childNodes.treeSet(YangInstanceIdentifier.builder.toInstance())»
'''
- private def dispatch CharSequence tree(ChoiceNode node,InstanceIdentifier path) '''
+ private def dispatch CharSequence tree(ChoiceNode node,YangInstanceIdentifier path) '''
«node.nodeName» (choice)
«casesTree(node.cases,path)»
'''
- def casesTree(Set<ChoiceCaseNode> nodes,InstanceIdentifier path) '''
+ def casesTree(Set<ChoiceCaseNode> nodes,YangInstanceIdentifier path) '''
<ul>
«FOR node : nodes»
<li>
</ul>
'''
- private def dispatch CharSequence tree(DataSchemaNode node,InstanceIdentifier path) '''
+ private def dispatch CharSequence tree(DataSchemaNode node,YangInstanceIdentifier path) '''
«node.nodeName»
'''
- private def dispatch CharSequence tree(ListSchemaNode node,InstanceIdentifier path) '''
+ private def dispatch CharSequence tree(ListSchemaNode node,YangInstanceIdentifier path) '''
«val newPath = path.append(node)»
«localLink(newPath,node.nodeName)»
«node.childNodes.treeSet(newPath)»
'''
- private def dispatch CharSequence tree(ContainerSchemaNode node,InstanceIdentifier path) '''
+ private def dispatch CharSequence tree(ContainerSchemaNode node,YangInstanceIdentifier path) '''
«val newPath = path.append(node)»
«localLink(newPath,node.nodeName)»
«node.childNodes.treeSet(newPath)»
«IF !childNodes.nullOrEmpty»
<h2>Child nodes</h2>
- «childNodes.printChildren(3,InstanceIdentifier.builder().toInstance())»
+ «childNodes.printChildren(3,YangInstanceIdentifier.builder().toInstance())»
«ENDIF»
'''
def CharSequence printUses(UsesNode usesNode) {
return '''
- «strong(listItem("uses", typeAnchorLink(usesNode.groupingPath, usesNode.groupingPath.path.last.localName)))»
+ «strong(listItem("uses", typeAnchorLink(usesNode.groupingPath, usesNode.groupingPath.pathTowardsRoot.iterator.next.localName)))»
<ul>
<li>refines:
<ul>
'''
}
- def CharSequence printChildren(Set<DataSchemaNode> nodes, int level, InstanceIdentifier path) {
+ def CharSequence printChildren(Iterable<DataSchemaNode> nodes, int level, YangInstanceIdentifier path) {
val anyxmlNodes = nodes.filter(AnyXmlSchemaNode)
val leafNodes = nodes.filter(LeafSchemaNode)
val leafListNodes = nodes.filter(LeafListSchemaNode)
'''
}
- def CharSequence xmlExample(Set<DataSchemaNode> nodes, QName name,InstanceIdentifier path) '''
+ def CharSequence xmlExample(Iterable<DataSchemaNode> nodes, QName name,YangInstanceIdentifier path) '''
<pre>
«xmlExampleTag(name,nodes.xmplExampleTags(path))»
</pre>
'''
- def CharSequence xmplExampleTags(Set<DataSchemaNode> nodes, InstanceIdentifier identifier) '''
+ def CharSequence xmplExampleTags(Iterable<DataSchemaNode> nodes, YangInstanceIdentifier identifier) '''
<!-- Child nodes -->
«FOR node : nodes»
<!-- «node.QName.localName» -->
'''
- private def dispatch CharSequence asXmlExampleTag(LeafSchemaNode node, InstanceIdentifier identifier) '''
+ private def dispatch CharSequence asXmlExampleTag(LeafSchemaNode node, YangInstanceIdentifier identifier) '''
«node.QName.xmlExampleTag("...")»
'''
- private def dispatch CharSequence asXmlExampleTag(LeafListSchemaNode node, InstanceIdentifier identifier) '''
+ private def dispatch CharSequence asXmlExampleTag(LeafListSchemaNode node, YangInstanceIdentifier identifier) '''
<!-- This node could appear multiple times -->
«node.QName.xmlExampleTag("...")»
'''
- private def dispatch CharSequence asXmlExampleTag(ContainerSchemaNode node, InstanceIdentifier identifier) '''
+ private def dispatch CharSequence asXmlExampleTag(ContainerSchemaNode node, YangInstanceIdentifier identifier) '''
<!-- See «localLink(identifier.append(node),"definition")» for child nodes. -->
«node.QName.xmlExampleTag("...")»
'''
- private def dispatch CharSequence asXmlExampleTag(ListSchemaNode node, InstanceIdentifier identifier) '''
+ private def dispatch CharSequence asXmlExampleTag(ListSchemaNode node, YangInstanceIdentifier identifier) '''
<!-- See «localLink(identifier.append(node),"definition")» for child nodes. -->
<!-- This node could appear multiple times -->
«node.QName.xmlExampleTag("...")»
'''
- private def dispatch CharSequence asXmlExampleTag(DataSchemaNode node, InstanceIdentifier identifier) '''
+ private def dispatch CharSequence asXmlExampleTag(DataSchemaNode node, YangInstanceIdentifier identifier) '''
<!-- noop -->
'''
def header(int level,QName name) '''<h«level»>«name.localName»</h«level»>'''
- def header(int level,InstanceIdentifier name) '''
+ def header(int level,YangInstanceIdentifier name) '''
<h«level» id="«FOR cmp : name.path SEPARATOR "/"»«cmp.nodeType.localName»«ENDFOR»">
«FOR cmp : name.path SEPARATOR "/"»«cmp.nodeType.localName»«ENDFOR»
</h«level»>
- private def dispatch CharSequence printInfo(DataSchemaNode node, int level, InstanceIdentifier path) '''
+ private def dispatch CharSequence printInfo(DataSchemaNode node, int level, YangInstanceIdentifier path) '''
«header(level+1,node.QName)»
'''
- private def dispatch CharSequence printInfo(ContainerSchemaNode node, int level, InstanceIdentifier path) '''
+ private def dispatch CharSequence printInfo(ContainerSchemaNode node, int level, YangInstanceIdentifier path) '''
«val newPath = path.append(node)»
«header(level,newPath)»
<dl>
«node.childNodes.printChildren(level,newPath)»
'''
- private def dispatch CharSequence printInfo(ListSchemaNode node, int level, InstanceIdentifier path) '''
+ private def dispatch CharSequence printInfo(ListSchemaNode node, int level, YangInstanceIdentifier path) '''
«val newPath = path.append(node)»
«header(level,newPath)»
<dl>
«node.childNodes.printChildren(level,newPath)»
'''
- private def dispatch CharSequence printInfo(ChoiceNode node, int level, InstanceIdentifier path) '''
+ private def dispatch CharSequence printInfo(ChoiceNode node, int level, YangInstanceIdentifier path) '''
«val Set<DataSchemaNode> choiceCases = new HashSet(node.cases)»
«choiceCases.printChildren(level,path)»
'''
- private def dispatch CharSequence printInfo(ChoiceCaseNode node, int level, InstanceIdentifier path) '''
+ private def dispatch CharSequence printInfo(ChoiceCaseNode node, int level, YangInstanceIdentifier path) '''
«node.childNodes.printChildren(level,path)»
'''
- def CharSequence printShortInfo(ContainerSchemaNode node, int level, InstanceIdentifier path) {
+ def CharSequence printShortInfo(ContainerSchemaNode node, int level, YangInstanceIdentifier path) {
val newPath = path.append(node);
return '''
<li>«strong(localLink(newPath,node.QName.localName))» (container)
'''
}
- def CharSequence printShortInfo(ListSchemaNode node, int level, InstanceIdentifier path) {
+ def CharSequence printShortInfo(ListSchemaNode node, int level, YangInstanceIdentifier path) {
val newPath = path.append(node);
return '''
<li>«strong(localLink(newPath,node.QName.localName))» (list)
'''
}
- def CharSequence printShortInfo(AnyXmlSchemaNode node, int level, InstanceIdentifier path) {
+ def CharSequence printShortInfo(AnyXmlSchemaNode node, int level, YangInstanceIdentifier path) {
return '''
<li>«strong((node.QName.localName))» (anyxml)
<ul>
'''
}
- def CharSequence printShortInfo(LeafSchemaNode node, int level, InstanceIdentifier path) {
+ def CharSequence printShortInfo(LeafSchemaNode node, int level, YangInstanceIdentifier path) {
return '''
<li>«strong((node.QName.localName))» (leaf)
<ul>
'''
}
- def CharSequence printShortInfo(LeafListSchemaNode node, int level, InstanceIdentifier path) {
+ def CharSequence printShortInfo(LeafListSchemaNode node, int level, YangInstanceIdentifier path) {
return '''
<li>«strong((node.QName.localName))» (leaf-list)
<ul>
'''
}
- def CharSequence localLink(InstanceIdentifier identifier, CharSequence text) '''
+ def CharSequence localLink(YangInstanceIdentifier identifier, CharSequence text) '''
<a href="#«FOR cmp : identifier.path SEPARATOR "/"»«cmp.nodeType.localName»«ENDFOR»">«text»</a>
'''
- private def dispatch InstanceIdentifier append(InstanceIdentifier identifier, ContainerSchemaNode node) {
+ private def dispatch YangInstanceIdentifier append(YangInstanceIdentifier identifier, ContainerSchemaNode node) {
return identifier.node(node.QName);
}
- private def dispatch InstanceIdentifier append(InstanceIdentifier identifier, ListSchemaNode node) {
+ private def dispatch YangInstanceIdentifier append(YangInstanceIdentifier identifier, ListSchemaNode node) {
val keyValues = new LinkedHashMap<QName,Object>();
if(node.keyDefinition !== null) {
for(definition : node.keyDefinition) {
}
- def asXmlPath(InstanceIdentifier identifier) {
+ def asXmlPath(YangInstanceIdentifier identifier) {
return "";
}
- def asRestconfPath(InstanceIdentifier identifier) {
+ def asRestconfPath(YangInstanceIdentifier identifier) {
val it = new StringBuilder();
append(currentModule.name)
append(":")
previous = true;
if(arg instanceof NodeIdentifierWithPredicates) {
val nodeIdentifier = arg as NodeIdentifierWithPredicates;
- for(qname : nodeIdentifier.keyValues.keySet) {
+ for(qname : nodeIdentifier.getKeyValues.keySet) {
append("/{");
append(qname.localName)
append("}")
val List<QName> path = schemaPath.path
val StringBuilder pathString = new StringBuilder()
if (schemaPath.absolute) {
- pathString.append("/")
+ pathString.append('/')
}
val QName qname = path.get(0)
var String prefix = name.prefix
var String moduleName
- if (prefix == null || "".equals(prefix) || prefix.equals(module.prefix)) {
+ if (prefix == null || prefix.empty || prefix.equals(module.prefix)) {
moduleName = module.name
} else {
moduleName = imports.get(prefix)
}
pathString.append(moduleName)
- pathString.append(":")
+ pathString.append(':')
pathString.append(name.localName)
- pathString.append("/")
+ pathString.append('/')
if(node instanceof ChoiceNode && dataNode !== null) {
val DataSchemaNode caseNode = dataNode.childNodes.findFirst[DataSchemaNode e | e instanceof ChoiceCaseNode];
if(caseNode !== null) {
«ENDIF»
'''
- private def CharSequence treeSet(Collection<DataSchemaNode> childNodes, InstanceIdentifier path) '''
+ private def CharSequence treeSet(Collection<DataSchemaNode> childNodes, YangInstanceIdentifier path) '''
«IF childNodes !== null && !childNodes.empty»
<ul>
«FOR child : childNodes»
</ul>
'''
- private def dispatch CharSequence tree(Void obj, InstanceIdentifier path) '''
+ private def dispatch CharSequence tree(Void obj, YangInstanceIdentifier path) '''
'''
«ENDIF»
'''
-}
\ No newline at end of file
+}