From: Tony Tkacik Date: Sun, 8 Mar 2015 11:53:14 +0000 (+0000) Subject: Merge "Revert "AnyXml NormalizedNode wraps a DOMResult value"" X-Git-Tag: release/lithium~256 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=293e30675df598724ff6020e85ce3018bbc1c1b3;hp=2c845326c168f304a39933c19dfee16c4aaf8ff7;p=yangtools.git Merge "Revert "AnyXml NormalizedNode wraps a DOMResult value"" --- diff --git a/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/YangTemplate.xtend b/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/YangTemplate.xtend index a9759d885f..f6e2ed7d24 100644 --- a/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/YangTemplate.xtend +++ b/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/YangTemplate.xtend @@ -55,34 +55,34 @@ class YangTemplate { ''' «IF schemaNode instanceof DataSchemaNode» - «writeDataSchemaNode(schemaNode as DataSchemaNode)» + «writeDataSchemaNode(schemaNode)» «ENDIF» «IF schemaNode instanceof EnumTypeDefinition.EnumPair» - «writeEnumPair(schemaNode as EnumTypeDefinition.EnumPair)» + «writeEnumPair(schemaNode)» «ENDIF» «IF schemaNode instanceof ExtensionDefinition» - «writeExtension(schemaNode as ExtensionDefinition)» + «writeExtension(schemaNode)» «ENDIF» «IF schemaNode instanceof FeatureDefinition» - «writeFeature(schemaNode as FeatureDefinition)» + «writeFeature(schemaNode)» «ENDIF» «IF schemaNode instanceof GroupingDefinition» - «writeGroupingDef(schemaNode as GroupingDefinition)» + «writeGroupingDef(schemaNode)» «ENDIF» «IF schemaNode instanceof IdentitySchemaNode» - «writeIdentity(schemaNode as IdentitySchemaNode)» + «writeIdentity(schemaNode)» «ENDIF» «IF schemaNode instanceof NotificationDefinition» - «writeNotification(schemaNode as NotificationDefinition)» + «writeNotification(schemaNode)» «ENDIF» «IF schemaNode instanceof RpcDefinition» - «writeRPC(schemaNode as RpcDefinition)» + «writeRPC(schemaNode)» «ENDIF» «IF schemaNode instanceof TypeDefinition» - «writeTypeDefinition(schemaNode as TypeDefinition)» + «writeTypeDefinition(schemaNode)» «ENDIF» «IF schemaNode instanceof UnknownSchemaNode» - «writeUnknownSchemaNode(schemaNode as UnknownSchemaNode)» + «writeUnknownSchemaNode(schemaNode)» «ENDIF» ''' } @@ -94,7 +94,7 @@ class YangTemplate { ''' «FOR node : nodes» «IF node instanceof NotificationDefinition» - «writeNotification(node as NotificationDefinition)» + «writeNotification(node)» «ELSEIF node instanceof RpcDefinition» «writeRPC(node as RpcDefinition)» «ENDIF» @@ -371,7 +371,7 @@ class YangTemplate { ''' refine «path.pathFromRoot.last» { «IF schemaNode instanceof DataSchemaNode» - «writeDataSchemaNode(schemaNode as DataSchemaNode)» + «writeDataSchemaNode(schemaNode)» «ENDIF» } ''' @@ -682,25 +682,25 @@ class YangTemplate { def static CharSequence writeDataSchemaNode(DataSchemaNode child) { ''' «IF child instanceof ContainerSchemaNode» - «writeContSchemaNode(child as ContainerSchemaNode)» + «writeContSchemaNode(child)» «ENDIF» «IF child instanceof AnyXmlSchemaNode» - «writeAnyXmlSchemaNode(child as AnyXmlSchemaNode)» + «writeAnyXmlSchemaNode(child)» «ENDIF» «IF child instanceof LeafSchemaNode» - «writeLeafSchemaNode(child as LeafSchemaNode)» + «writeLeafSchemaNode(child)» «ENDIF» «IF child instanceof LeafListSchemaNode» - «writeLeafListSchemaNode(child as LeafListSchemaNode)» + «writeLeafListSchemaNode(child)» «ENDIF» «IF child instanceof ChoiceCaseNode» - «writeChoiceCaseNode(child as ChoiceCaseNode)» + «writeChoiceCaseNode(child)» «ENDIF» «IF child instanceof ChoiceNode» - «writeChoiceNode(child as ChoiceNode)» + «writeChoiceNode(child)» «ENDIF» «IF child instanceof ListSchemaNode» - «writeListSchemaNode(child as ListSchemaNode)» + «writeListSchemaNode(child)» «ENDIF» ''' } diff --git a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BaseTemplate.xtend b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BaseTemplate.xtend index 9e33442de2..a9788cdef4 100644 --- a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BaseTemplate.xtend +++ b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BaseTemplate.xtend @@ -417,9 +417,9 @@ abstract class BaseTemplate { def getRestrictions(Type type) { var Restrictions restrictions = null if (type instanceof ConcreteType) { - restrictions = (type as ConcreteType).restrictions + restrictions = type.restrictions } else if (type instanceof GeneratedTransferObject) { - restrictions = (type as GeneratedTransferObject).restrictions + restrictions = type.restrictions } return restrictions } diff --git a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend index 3a53ad2a93..a15d014fe9 100644 --- a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend +++ b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend @@ -277,14 +277,12 @@ class BuilderTemplate extends BaseTemplate { */ def private Object generateConstructorFromIfc(Type impl) ''' «IF (impl instanceof GeneratedType)» - «val implType = impl as GeneratedType» - - «IF !(implType.methodDefinitions.empty)» - public «type.name»«BUILDER»(«implType.fullyQualifiedName» arg) { - «printConstructorPropertySetter(implType)» + «IF !(impl.methodDefinitions.empty)» + public «type.name»«BUILDER»(«impl.fullyQualifiedName» arg) { + «printConstructorPropertySetter(impl)» } «ENDIF» - «FOR implTypeImplement : implType.implements» + «FOR implTypeImplement : impl.implements» «generateConstructorFromIfc(implTypeImplement)» «ENDFOR» «ENDIF» diff --git a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend index b79d871f88..28c2f0dcea 100644 --- a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend +++ b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend @@ -189,7 +189,7 @@ class ClassTemplate extends BaseTemplate { «IF !enclosedGeneratedTypes.empty» «FOR innerClass : enclosedGeneratedTypes SEPARATOR "\n"» «IF (innerClass instanceof GeneratedTransferObject)» - «val classTemplate = new ClassTemplate(innerClass as GeneratedTransferObject)» + «val classTemplate = new ClassTemplate(innerClass)» «classTemplate.generateAsInnerClass» «ENDIF» @@ -464,12 +464,11 @@ class ClassTemplate extends BaseTemplate { «IF c.name == TypeConstants.PATTERN_CONSTANT_NAME» «val cValue = c.value» «IF cValue instanceof List» - «val cValues = cValue as List» private static final «List.importedName»<«Pattern.importedName»> «Constants.MEMBER_PATTERN_LIST»; public static final «List.importedName» «TypeConstants.PATTERN_CONSTANT_NAME» = «ImmutableList.importedName».of(« - FOR v : cValues SEPARATOR ", "»« + FOR v : cValue SEPARATOR ", "»« IF v instanceof String»"« - v as String»"« + v»"« ENDIF»« ENDFOR»); diff --git a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/InterfaceTemplate.xtend b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/InterfaceTemplate.xtend index b9210287cf..606fd75371 100644 --- a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/InterfaceTemplate.xtend +++ b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/InterfaceTemplate.xtend @@ -121,12 +121,12 @@ class InterfaceTemplate extends BaseTemplate { «IF !enclosedGeneratedTypes.empty» «FOR innerClass : enclosedGeneratedTypes SEPARATOR "\n"» «IF (innerClass instanceof GeneratedTransferObject)» - «IF (innerClass as GeneratedTransferObject).unionType» - «val unionTemplate = new UnionTemplate(innerClass as GeneratedTransferObject)» + «IF innerClass.unionType» + «val unionTemplate = new UnionTemplate(innerClass)» «unionTemplate.generateAsInnerClass» «this.importMap.putAll(unionTemplate.importMap)» «ELSE» - «val classTemplate = new ClassTemplate(innerClass as GeneratedTransferObject)» + «val classTemplate = new ClassTemplate(innerClass)» «classTemplate.generateAsInnerClass» «this.importMap.putAll(classTemplate.importMap)» «ENDIF» diff --git a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/YangModuleInfoTemplate.xtend b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/YangModuleInfoTemplate.xtend index 08f19bdd70..9e27693962 100644 --- a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/YangModuleInfoTemplate.xtend +++ b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/YangModuleInfoTemplate.xtend @@ -20,7 +20,6 @@ import java.util.Map import java.util.Set import java.util.TreeMap -import org.opendaylight.yangtools.binding.generator.util.BindingGeneratorUtil import org.opendaylight.yangtools.binding.generator.util.Types import org.opendaylight.yangtools.sal.binding.model.api.ParameterizedType import org.opendaylight.yangtools.sal.binding.model.api.Type @@ -33,7 +32,6 @@ import com.google.common.collect.ImmutableSet import static org.opendaylight.yangtools.yang.binding.BindingMapping.* import org.opendaylight.yangtools.yang.binding.YangModelBindingProvider import com.google.common.base.Preconditions -import org.opendaylight.yangtools.yang.binding.BindingMapping class YangModuleInfoTemplate { @@ -51,7 +49,7 @@ class YangModuleInfoTemplate { Preconditions.checkArgument(module != null, "Module must not be null."); this.module = module this.ctx = ctx - _packageName = BindingGeneratorUtil.moduleNamespaceToPackageName(module); + _packageName = getRootPackageName(module.getQNameModule()); _modelBindingProviderName = '''«packageName».«MODEL_BINDING_PROVIDER_CLASS_NAME»'''; } @@ -114,15 +112,15 @@ class YangModuleInfoTemplate { «sorted.put(module.revision, module)» «ENDIF» «ENDFOR» - set.add(«BindingGeneratorUtil.moduleNamespaceToPackageName(sorted.lastEntry().value)».«MODULE_INFO_CLASS_NAME».getInstance()); + set.add(«getRootPackageName(sorted.lastEntry().value.QNameModule)».«MODULE_INFO_CLASS_NAME».getInstance()); «ELSE» - set.add(«BindingGeneratorUtil.moduleNamespaceToPackageName(ctx.findModuleByName(name, rev))».«MODULE_INFO_CLASS_NAME».getInstance()); + set.add(«getRootPackageName((ctx.findModuleByName(name, rev).QNameModule))».«MODULE_INFO_CLASS_NAME».getInstance()); «ENDIF» «ENDFOR» «ENDIF» «IF !m.submodules.empty» «FOR submodule : m.submodules» - set.add(«BindingMapping.getClassName(submodule.name)»Info.getInstance()); + set.add(«getClassName(submodule.name)»Info.getInstance()); «ENDFOR» «ENDIF» «IF m.imports.empty && m.submodules.empty» @@ -195,7 +193,7 @@ class YangModuleInfoTemplate { private def imports() ''' «IF !importMap.empty» «FOR entry : importMap.entrySet» - «IF entry.value != BindingGeneratorUtil.moduleNamespaceToPackageName(module)» + «IF entry.value != getRootPackageName(module.QNameModule)» import «entry.value».«entry.key»; «ENDIF» «ENDFOR» @@ -218,8 +216,7 @@ class YangModuleInfoTemplate { importMap.put(typeName, typePackageName); } if (type instanceof ParameterizedType) { - val ParameterizedType paramType = (type as ParameterizedType) - val Type[] params = paramType.getActualTypeArguments() + val Type[] params = type.getActualTypeArguments() if (params != null) { for (Type param : params) { putTypeIntoImports(param); @@ -260,11 +257,10 @@ class YangModuleInfoTemplate { final def StringBuilder addActualTypeParameters(StringBuilder builder, Type type) { if (type instanceof ParameterizedType) { - val ParameterizedType pType = (type as ParameterizedType) - val Type[] pTypes = pType.getActualTypeArguments(); - builder.append("<"); + val Type[] pTypes = type.getActualTypeArguments(); + builder.append('<'); builder.append(getParameters(pTypes)); - builder.append(">"); + builder.append('>'); } return builder; } @@ -302,9 +298,9 @@ class YangModuleInfoTemplate { private def generateSubInfo(Module module) ''' «FOR submodule : module.submodules» - private static final class «BindingMapping.getClassName(submodule.name)»Info implements «YangModuleInfo.importedName» { + private static final class «getClassName(submodule.name)»Info implements «YangModuleInfo.importedName» { - private static final «YangModuleInfo.importedName» INSTANCE = new «BindingMapping.getClassName(submodule.name)»Info(); + private static final «YangModuleInfo.importedName» INSTANCE = new «getClassName(submodule.name)»Info(); private final «String.importedName» name = "«submodule.name»"; private final «String.importedName» namespace = "«submodule.namespace.toString»"; @@ -318,7 +314,7 @@ class YangModuleInfoTemplate { return INSTANCE; } - «classBody(submodule, BindingMapping.getClassName(submodule.name + "Info"))» + «classBody(submodule, getClassName(submodule.name + "Info"))» } «ENDFOR» ''' diff --git a/code-generator/maven-sal-api-gen-plugin/pom.xml b/code-generator/maven-sal-api-gen-plugin/pom.xml index 67a9e6f05e..d7d20c1489 100644 --- a/code-generator/maven-sal-api-gen-plugin/pom.xml +++ b/code-generator/maven-sal-api-gen-plugin/pom.xml @@ -44,9 +44,15 @@ yang-data-api + + org.apache.maven + maven-core + provided + org.sonatype.plexus plexus-build-api + provided diff --git a/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/yang/unified/doc/generator/GeneratorImpl.xtend b/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/yang/unified/doc/generator/GeneratorImpl.xtend index 62f628c50f..853117786f 100644 --- a/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/yang/unified/doc/generator/GeneratorImpl.xtend +++ b/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/yang/unified/doc/generator/GeneratorImpl.xtend @@ -373,14 +373,12 @@ class GeneratorImpl { // find recursively for(child : childNodes) { if(child instanceof ContainerSchemaNode) { - val contChild = child as ContainerSchemaNode - val foundChild = findNodeInChildNodes(findingNode, contChild.childNodes) + val foundChild = findNodeInChildNodes(findingNode, child.childNodes) if (foundChild != null) return foundChild; } else if(child instanceof ListSchemaNode) { - val listChild = child as ListSchemaNode - val foundChild = findNodeInChildNodes(findingNode, listChild.childNodes) + val foundChild = findNodeInChildNodes(findingNode, child.childNodes) if (foundChild != null) return foundChild; } @@ -408,22 +406,22 @@ class GeneratorImpl { return ''' «IF child instanceof ContainerSchemaNode» - «printContainerNode(child as ContainerSchemaNode)» + «printContainerNode(child)» «ENDIF» «IF child instanceof AnyXmlSchemaNode» - «printAnyXmlNode(child as AnyXmlSchemaNode)» + «printAnyXmlNode(child)» «ENDIF» «IF child instanceof LeafSchemaNode» - «printLeafNode(child as LeafSchemaNode)» + «printLeafNode(child)» «ENDIF» «IF child instanceof LeafListSchemaNode» - «printLeafListNode(child as LeafListSchemaNode)» + «printLeafListNode(child)» «ENDIF» «IF child instanceof ListSchemaNode» - «printListNode(child as ListSchemaNode)» + «printListNode(child)» «ENDIF» «IF child instanceof ChoiceNode» - «printChoiceNode(child as ChoiceNode)» + «printChoiceNode(child)» «ENDIF» ''' } @@ -846,36 +844,32 @@ class GeneratorImpl { def CharSequence printBaseInfo(SchemaNode node) { if(node instanceof LeafSchemaNode) { - val LeafSchemaNode leafNode = (node as LeafSchemaNode) return ''' «printInfo(node, "leaf")» - «listItem("type", typeAnchorLink(leafNode.type?.path, leafNode.type.QName.localName))» - «listItem("units", leafNode.units)» - «listItem("default", leafNode.^default)» + «listItem("type", typeAnchorLink(node.type?.path, node.type.QName.localName))» + «listItem("units", node.units)» + «listItem("default", node.^default)» ''' } else if(node instanceof LeafListSchemaNode) { - val LeafListSchemaNode leafListNode = (node as LeafListSchemaNode) return ''' «printInfo(node, "leaf-list")» - «listItem("type", leafListNode.type?.QName.localName)» + «listItem("type", node.type?.QName.localName)» ''' } else if(node instanceof ListSchemaNode) { - val ListSchemaNode listNode = (node as ListSchemaNode) return ''' «printInfo(node, "list")» - «FOR keyDef : listNode.keyDefinition» + «FOR keyDef : node.keyDefinition» «listItem("key definition", keyDef.localName)» «ENDFOR» ''' } else if(node instanceof ChoiceNode) { - val ChoiceNode choiceNode = (node as ChoiceNode) return ''' «printInfo(node, "choice")» - «listItem("default case", choiceNode.defaultCase)» - «FOR caseNode : choiceNode.cases» + «listItem("default case", node.defaultCase)» + «FOR caseNode : node.cases» «caseNode.printSchemaNodeInfo» «ENDFOR» @@ -915,9 +909,9 @@ class GeneratorImpl { «listItem("description", node.description)» «listItem("reference", node.reference)» «IF node instanceof DataSchemaNode» - «listItem("when condition", (node as DataSchemaNode).constraints.whenCondition?.toString)» - «listItem("min elements", (node as DataSchemaNode).constraints.minElements?.toString)» - «listItem("max elements", (node as DataSchemaNode).constraints.maxElements?.toString)» + «listItem("when condition", node.constraints.whenCondition?.toString)» + «listItem("min elements", node.constraints.minElements?.toString)» + «listItem("max elements", node.constraints.maxElements?.toString)» «ENDIF» ''' } @@ -1180,18 +1174,17 @@ class GeneratorImpl { def asRestconfPath(YangInstanceIdentifier identifier) { val it = new StringBuilder(); append(currentModule.name) - append(":") + append(':') var previous = false; for(arg : identifier.pathArguments) { - if(previous) append("/") + if(previous) append('/') append(arg.nodeType.localName); previous = true; if(arg instanceof NodeIdentifierWithPredicates) { - val nodeIdentifier = arg as NodeIdentifierWithPredicates; - for(qname : nodeIdentifier.getKeyValues.keySet) { + for(qname : arg.getKeyValues.keySet) { append("/{"); append(qname.localName) - append("}") + append('}') } } } @@ -1211,7 +1204,7 @@ class GeneratorImpl { for (name : path) { if (parent instanceof DataNodeContainer) { - var SchemaNode node = (parent as DataNodeContainer).getDataChildByName(name) + var SchemaNode node = parent.getDataChildByName(name) if (node == null && (parent instanceof Module)) { val notifications = (parent as Module).notifications; for (notification : notifications) { @@ -1449,7 +1442,7 @@ class GeneratorImpl { } if (node instanceof ChoiceNode) { val List choiceCases = new ArrayList() - for (caseNode : (node as ChoiceNode).cases) { + for (caseNode : node.cases) { choiceCases.add(caseNode) } collectChildNodes(choiceCases, destination) diff --git a/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/yang/wadl/generator/WadlRestconfGenerator.xtend b/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/yang/wadl/generator/WadlRestconfGenerator.xtend index e860fc12cc..2a02f37946 100644 --- a/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/yang/wadl/generator/WadlRestconfGenerator.xtend +++ b/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/yang/wadl/generator/WadlRestconfGenerator.xtend @@ -29,12 +29,12 @@ class WadlRestconfGenerator { File path static val BuildContext CTX = new DefaultBuildContext(); + static val PATH_DELIMETER = '/' var SchemaContext context; var List configData; var List operationalData; var Module module; var List pathListParams; - val PATH_DELIMETER = "/" new(File targetPath) { if (!targetPath.exists) targetPath.mkdirs @@ -156,8 +156,7 @@ class WadlRestconfGenerator { var StringBuilder path = new StringBuilder path.append(schemaNode.QName.localName) if (schemaNode instanceof ListSchemaNode) { - val listKeys = (schemaNode as ListSchemaNode).keyDefinition - for (listKey : listKeys) { + for (listKey : schemaNode.keyDefinition) { pathListParams.add((schemaNode as DataNodeContainer).getDataChildByName(listKey) as LeafSchemaNode) path.append(PATH_DELIMETER) path.append('{') diff --git a/yang/yang-maven-plugin-spi/pom.xml b/yang/yang-maven-plugin-spi/pom.xml index d26ec448ab..3c88fe63fc 100644 --- a/yang/yang-maven-plugin-spi/pom.xml +++ b/yang/yang-maven-plugin-spi/pom.xml @@ -30,14 +30,17 @@ org.apache.maven maven-plugin-api + provided org.apache.maven maven-core + provided org.sonatype.plexus plexus-build-api + provided