Merge "Revert "AnyXml NormalizedNode wraps a DOMResult value""
authorTony Tkacik <ttkacik@cisco.com>
Sun, 8 Mar 2015 11:53:14 +0000 (11:53 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Sun, 8 Mar 2015 11:53:14 +0000 (11:53 +0000)
code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/YangTemplate.xtend
code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BaseTemplate.xtend
code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend
code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend
code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/InterfaceTemplate.xtend
code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/YangModuleInfoTemplate.xtend
code-generator/maven-sal-api-gen-plugin/pom.xml
code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/yang/unified/doc/generator/GeneratorImpl.xtend
code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/yang/wadl/generator/WadlRestconfGenerator.xtend
yang/yang-maven-plugin-spi/pom.xml

index a9759d885fd73804172f86fb8000e1e98bbdac25..f6e2ed7d249e3402bfff67fab1976c9ce051a655 100644 (file)
@@ -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»
         '''
     }
index 9e33442de24059144a365aa7e2f4b8c24594976e..a9788cdef433ec811ee5185dbdc86fc5f364b6bd 100644 (file)
@@ -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
     }
index 3a53ad2a9396f602818caa90c049fa249230c43b..a15d014fe937267e6549989bcccb7855b9b9f5e8 100644 (file)
@@ -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»
index b79d871f886bbacb705050b6fc53ac88a565c359..28c2f0dcea03243fe32d9e1694c50d30fb9cbc70 100644 (file)
@@ -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»<String> «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»);
 
index b9210287cf07fe2a3414b5ff4ff3ba303e9925cb..606fd753718b096bee210193b44231bd9ef3318c 100644 (file)
@@ -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»
index 08f19bdd70d45d42a1f30168437ec47fed887cf3..9e27693962e037f36098a54754b4cb6f347c8e36 100644 (file)
@@ -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»
     '''
index 67a9e6f05ea0e2d4285dae55d976d6929fa6cb90..d7d20c1489e13b118f711b34815436f2cff7ae96 100644 (file)
             <artifactId>yang-data-api</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-core</artifactId>
+            <scope>provided</scope>
+        </dependency>
         <dependency>
             <groupId>org.sonatype.plexus</groupId>
             <artifactId>plexus-build-api</artifactId>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>
index 62f628c50f5f23593d3672d948de69ad94d5a9f6..853117786f1727d3205b2ae729ecc389463e33b5 100644 (file)
@@ -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)»
                 </ul>
             '''
         } 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)»
                 </ul>
             '''
         } 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»
                 </ul>
             '''
         } 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»
                 </ul>
@@ -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<DataSchemaNode> choiceCases = new ArrayList()
-                for (caseNode : (node as ChoiceNode).cases) {
+                for (caseNode : node.cases) {
                     choiceCases.add(caseNode)
                 }
                 collectChildNodes(choiceCases, destination)
index e860fc12ccd3936c8ee968498f216d1389b905bb..2a02f379462176bee9676b27db4680e6446c4018 100644 (file)
@@ -29,12 +29,12 @@ class WadlRestconfGenerator {
        
        File path
        static val BuildContext CTX = new DefaultBuildContext();
+       static val PATH_DELIMETER = '/'
        var SchemaContext context;
        var List<DataSchemaNode> configData;
        var List<DataSchemaNode> operationalData;
        var Module module;
        var List<LeafSchemaNode> 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('{')
index d26ec448ab5178095e851e35ac1f5dd1adf10a46..3c88fe63fc49a502ff1e75ae114b4e658293027f 100644 (file)
         <dependency>
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-plugin-api</artifactId>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-core</artifactId>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.sonatype.plexus</groupId>
             <artifactId>plexus-build-api</artifactId>
+            <scope>provided</scope>
         </dependency>
     </dependencies>