Adjust to yangtools-2.0.0/odlparent-3.0.0 changes
[netconf.git] / restconf / sal-rest-docgen / src / main / java / org / opendaylight / netconf / sal / rest / doc / model / builder / OperationBuilder.java
index e0bc84d7367a3d2d3478607469a6de0ae16e5a5d..4a4eba98d1d2bc51d09b9cbeeb982b8076c31727 100644 (file)
@@ -20,6 +20,7 @@ public final class OperationBuilder {
 
     public static final String OPERATIONAL = "(operational)";
     public static final String CONFIG = "(config)";
+    public static final String TOP = "-TOP";
 
     public static final List<String> CONSUMES_PUT_POST = new ArrayList<>();
 
@@ -28,6 +29,10 @@ public final class OperationBuilder {
         CONSUMES_PUT_POST.add("application/xml");
     }
 
+    private OperationBuilder() {
+
+    }
+
     public static class Get {
 
         protected Operation spec;
@@ -40,7 +45,7 @@ public final class OperationBuilder {
             spec.setMethod(METHOD_NAME);
             spec.setNickname(METHOD_NAME + "-" + node.getQName().getLocalName());
             spec.setType((isConfig ? CONFIG : OPERATIONAL) + node.getQName().getLocalName());
-            spec.setNotes(node.getDescription());
+            spec.setNotes(node.getDescription().orElse(null));
         }
 
         public Get pathParams(final List<Parameter> params) {
@@ -57,12 +62,14 @@ public final class OperationBuilder {
     public static class Put {
         protected Operation spec;
         protected String nodeName;
+        protected String parentName;
         private static final String METHOD_NAME = "PUT";
 
-        public Put(final String nodeName, final String description) {
+        public Put(final String nodeName, final String description, final String parentName) {
             this.nodeName = nodeName;
+            this.parentName = parentName;
             spec = new Operation();
-            spec.setType(CONFIG + nodeName);
+            spec.setType(parentName + CONFIG + nodeName + TOP);
             spec.setNotes(description);
             spec.setConsumes(CONSUMES_PUT_POST);
         }
@@ -71,7 +78,8 @@ public final class OperationBuilder {
             final List<Parameter> parameters = new ArrayList<>(params);
             final Parameter payload = new Parameter();
             payload.setParamType("body");
-            payload.setType(CONFIG + nodeName);
+            payload.setType(parentName + CONFIG + nodeName + TOP);
+            payload.setName(CONFIG + nodeName);
             parameters.add(payload);
             spec.setParameters(parameters);
             return this;
@@ -89,8 +97,9 @@ public final class OperationBuilder {
         public static final String METHOD_NAME = "POST";
         private final DataNodeContainer dataNodeContainer;
 
-        public Post(final String nodeName, final String description, final DataNodeContainer dataNodeContainer) {
-            super(nodeName, description);
+        public Post(final String nodeName, final String parentName, final String description,
+                    final DataNodeContainer dataNodeContainer) {
+            super(nodeName, description, parentName.replace("_module", ""));
             this.dataNodeContainer = dataNodeContainer;
             spec.setType(CONFIG + nodeName + METHOD_NAME);
             spec.setConsumes(CONSUMES_PUT_POST);
@@ -110,14 +119,13 @@ public final class OperationBuilder {
                 if (node instanceof ListSchemaNode || node instanceof ContainerSchemaNode) {
                     final Parameter payload = new Parameter();
                     payload.setParamType("body");
-                    payload.setType(CONFIG + node.getQName().getLocalName());
+                    payload.setType(parentName + CONFIG + node.getQName().getLocalName() + TOP);
                     payload.setName("**" + CONFIG + node.getQName().getLocalName());
                     parameters.add(payload);
                 }
             }
             spec.setParameters(parameters);
             return this;
-
         }
 
         public Post summary(final String summary) {