Inline WADL generator methods 01/96601/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 23 Jun 2021 09:40:05 +0000 (11:40 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 23 Jun 2021 09:40:29 +0000 (11:40 +0200)
We have quite a few methods used only once, make sure we make them
more templatey.

JIRA: MDSAL-232
Change-Id: I6ba1cce80f09c9d7e102922d461fc976f5fd8271
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/mdsal/binding/yang/wadl/generator/WadlRestconfGenerator.xtend

index 35efbfc51dc969f97f7c2adc28e392e7092039d3..bba5e89521995d1f4dda762df06049af62e0fd4c 100644 (file)
@@ -97,9 +97,41 @@ class WadlRestconfGenerator {
         <?xml version="1.0"?>
         <application xmlns="http://wadl.dev.java.net/2009/02" «module.importsAsNamespaces» xmlns:«module.prefix»="«module.namespace»">
 
-            «grammars»
+            <grammars>
+                <include href="«module.name».yang"/>
+                «FOR imprt : module.imports»
+                    <include href="«imprt.moduleName».yang"/>
+                «ENDFOR»
+            </grammars>
 
-            «resources»
+            <resources base="http://localhost:9998/restconf">
+                «IF !operationalData.nullOrEmpty»
+                <resource path="operational">
+                    «FOR schemaNode : operationalData»
+                        «schemaNode.firstResource(false)»
+                    «ENDFOR»
+                </resource>
+                «ENDIF»
+                «IF !configData.nullOrEmpty»
+                <resource path="config">
+                    «FOR schemaNode : configData»
+                        «schemaNode.mehodPost»
+                    «ENDFOR»
+                    «FOR schemaNode : configData»
+                        «schemaNode.firstResource(true)»
+                    «ENDFOR»
+                </resource>
+                «ENDIF»
+                «IF !module.rpcs.nullOrEmpty»
+                <resource path="operations">
+                    «FOR rpc : module.rpcs»
+                        <resource path="«module.name»:«rpc.QName.localName»">
+                            «methodPostRpc(rpc.input !== null, rpc.output !== null)»
+                        </resource>
+                    «ENDFOR»
+                </resource>
+                «ENDIF»
+            </resources>
         </application>
     '''
 
@@ -109,58 +141,6 @@ class WadlRestconfGenerator {
         «ENDFOR»
     '''
 
-    private def grammars() '''
-        <grammars>
-            <include href="«module.name».yang"/>
-            «FOR imprt : module.imports»
-                <include href="«imprt.moduleName».yang"/>
-            «ENDFOR»
-        </grammars>
-    '''
-
-    private def resources() '''
-        <resources base="http://localhost:9998/restconf">
-            «resourceOperational»
-            «resourceConfig»
-            «resourceOperations»
-        </resources>
-    '''
-
-    private def resourceOperational() '''
-        «IF !operationalData.nullOrEmpty»
-            <resource path="operational">
-                «FOR schemaNode : operationalData»
-                    «schemaNode.firstResource(false)»
-                «ENDFOR»
-            </resource>
-        «ENDIF»
-    '''
-
-    private def resourceConfig() '''
-        «IF !configData.nullOrEmpty»
-            <resource path="config">
-                «FOR schemaNode : configData»
-                    «schemaNode.mehodPost»
-                «ENDFOR»
-                «FOR schemaNode : configData»
-                    «schemaNode.firstResource(true)»
-                «ENDFOR»
-            </resource>
-        «ENDIF»
-    '''
-
-    private def resourceOperations() '''
-        «IF !module.rpcs.nullOrEmpty»
-            <resource path="operations">
-                «FOR rpc : module.rpcs»
-                    <resource path="«module.name»:«rpc.QName.localName»">
-                        «methodPostRpc(rpc.input !== null, rpc.output !== null)»
-                    </resource>
-                «ENDFOR»
-            </resource>
-        «ENDIF»
-    '''
-
     private def String firstResource(DataSchemaNode schemaNode, boolean config) '''
         <resource path="«module.name»:«schemaNode.createPath»">
             «resourceBody(schemaNode, config)»