import java.util.List
import java.util.Map
import java.util.Set
+import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil
import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode
import org.opendaylight.yangtools.yang.model.api.AugmentationSchema
import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode
import org.opendaylight.yangtools.yang.model.api.UsesNode
import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition
import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair
-import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil
class YangTemplate {
«ENDIF»
'''
}
-
+
def static String generateYangSnipet(Set<? extends SchemaNode> nodes) {
if (nodes.nullOrEmpty)
return ''
-
+
'''
«FOR node : nodes»
«IF node instanceof NotificationDefinition»
}
def private static writeEnumPair(EnumPair pair) {
- var boolean hasEnumPairValue = pair.value != null
'''
- enum «pair.name»«IF !hasEnumPairValue»;«ELSE»{
+ enum «pair.name» {
value «pair.value»;
}
- «ENDIF»
'''
}
def private static writeRPC(RpcDefinition rpc) {
var boolean isStatusDeprecated = rpc.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
rpc «rpc.QName.localName» {
«IF !rpc.description.nullOrEmpty»
"«rpc.description»";
def private static writeNotification(NotificationDefinition notification) {
var boolean isStatusDeprecated = notification.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
notification «notification.QName.localName» {
«IF !notification.description.nullOrEmpty»
description
def private static writeTypeDefinition(TypeDefinition<?> typeDefinition) {
var boolean isStatusDeprecated = typeDefinition.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
type «typeDefinition.QName.localName»«IF !isStatusDeprecated»;«ELSE» {
status «typeDefinition.status»;
}
}
def private static writeExtension(ExtensionDefinition extensionDef) {
- var boolean isStatusDeprecated = extensionDef.status == Status::DEPRECATED
-
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
extension «extensionDef.QName.localName» {
«IF !extensionDef.description.nullOrEmpty»
description
reference
"«deviation.reference»";
«ENDIF»
- «IF deviation.deviate != null && !deviation.deviate.name.nullOrEmpty»
- deviation «deviation.deviate.name»;
- «ENDIF»
+ «FOR dev : deviation.deviates»
+ «IF dev != null && dev.deviateType != null»
+ deviation «dev.deviateType.name»;
+ «ENDIF»
+ «ENDFOR»
}
'''
}
def private static writeGroupingDef(GroupingDefinition groupingDef) {
var boolean isStatusDeprecated = groupingDef.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
grouping «groupingDef.QName.localName» {
«IF !groupingDef.groupings.nullOrEmpty»
«writeGroupingDefs(groupingDef.groupings)»
def private static writeContSchemaNode(ContainerSchemaNode contSchemaNode) {
var boolean isStatusDeprecated = contSchemaNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
container «contSchemaNode.getQName.localName» {
«IF !contSchemaNode.childNodes.nullOrEmpty»
«writeDataSchemaNodes(contSchemaNode.childNodes)»
def private static writeAnyXmlSchemaNode(AnyXmlSchemaNode anyXmlSchemaNode) {
var boolean isStatusDeprecated = anyXmlSchemaNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
anyxml «anyXmlSchemaNode.getQName.localName»«IF !isStatusDeprecated»;«ELSE» {
status «anyXmlSchemaNode.status»;
}
def private static writeLeafSchemaNode(LeafSchemaNode leafSchemaNode) {
var boolean isStatusDeprecated = leafSchemaNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
leaf «leafSchemaNode.getQName.localName» {
type «leafSchemaNode.type.getQName.localName»;
«IF isStatusDeprecated»
def private static writeLeafListSchemaNode(LeafListSchemaNode leafListSchemaNode) {
var boolean isStatusDeprecated = leafListSchemaNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
leaf-list «leafListSchemaNode.getQName.localName» {
type «leafListSchemaNode.type.getQName.localName»;
«IF isStatusDeprecated»
def private static writeChoiceCaseNode(ChoiceCaseNode choiceCaseNode) {
var boolean isStatusDeprecated = choiceCaseNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
case «choiceCaseNode.getQName.localName» {
«FOR childNode : choiceCaseNode.childNodes»
«writeDataSchemaNode(childNode)»
def private static writeChoiceNode(ChoiceSchemaNode choiceNode) {
var boolean isStatusDeprecated = choiceNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
choice «choiceNode.getQName.localName» {
«FOR child : choiceNode.cases»
«writeDataSchemaNode(child)»
var boolean isStatusDeprecated = listSchemaNode.status == Status::DEPRECATED
'''
- «IF isStatusDeprecated»
- @deprecated - status DEPRECATED
- «ENDIF»
list «listSchemaNode.getQName.localName» {
key «FOR listKey : listSchemaNode.keyDefinition SEPARATOR " "»"«listKey.localName»"
«ENDFOR»