Remove Bierman02 support from sal-rest-docgen 37/100937/3
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 3 May 2022 13:31:15 +0000 (15:31 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 4 May 2022 18:28:13 +0000 (20:28 +0200)
sal-rest-docgen still has references to bierman02, remove them. Since we
are touching blueprint, ditch ODL extension reference.

JIRA: NETCONF-837
Change-Id: If9b89c40779dc9a87e9e26b38ca2bc2ba0dc5500
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 files changed:
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/AllModulesDocGenerator.java
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ApiDocGeneratorDraftO2.java [deleted file]
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ApiDocGeneratorRFC8040.java
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ApiDocServiceImpl.java
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/BaseYangSwaggerGenerator.java
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/BaseYangSwaggerGeneratorDraft02.java [deleted file]
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/BaseYangSwaggerGeneratorRFC8040.java
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/MountPointSwaggerGeneratorDraft02.java [deleted file]
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/model/builder/OperationBuilder.java
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/mountpoints/MountPointSwagger.java
restconf/sal-rest-docgen/src/main/resources/OSGI-INF/blueprint/blueprint.xml
restconf/sal-rest-docgen/src/test/java/org/opendaylight/controller/sal/rest/doc/impl/ApiDocGeneratorDraftO2Test.java [deleted file]
restconf/sal-rest-docgen/src/test/java/org/opendaylight/controller/sal/rest/doc/impl/ApiDocGeneratorRFC8040Test.java
restconf/sal-rest-docgen/src/test/java/org/opendaylight/controller/sal/rest/doc/impl/ApiDocServiceImplTest.java
restconf/sal-rest-docgen/src/test/java/org/opendaylight/controller/sal/rest/doc/impl/MountPointSwaggerTest.java

index 3cd24ed4dec356969608289344ddebc88efcff82..ee6e0ff2256f06dd2b26969f7f988749c72c7c28 100644 (file)
@@ -7,32 +7,23 @@
  */
 package org.opendaylight.netconf.sal.rest.doc.impl;
 
  */
 package org.opendaylight.netconf.sal.rest.doc.impl;
 
-import static org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
+import static java.util.Objects.requireNonNull;
 
 
-import java.util.Objects;
 import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.core.UriInfo;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.URIType;
+import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
 import org.opendaylight.netconf.sal.rest.doc.swagger.CommonApiObject;
 import org.opendaylight.netconf.sal.rest.doc.swagger.SwaggerObject;
 
 public class AllModulesDocGenerator {
 import org.opendaylight.netconf.sal.rest.doc.swagger.CommonApiObject;
 import org.opendaylight.netconf.sal.rest.doc.swagger.SwaggerObject;
 
 public class AllModulesDocGenerator {
-    private final ApiDocGeneratorDraftO2 apiDocGeneratorDraft02;
     private final ApiDocGeneratorRFC8040 apiDocGeneratorRFC8040;
 
     private final ApiDocGeneratorRFC8040 apiDocGeneratorRFC8040;
 
-    public AllModulesDocGenerator(final ApiDocGeneratorDraftO2 apiDocGeneratorDraft02,
-                                  final ApiDocGeneratorRFC8040 apiDocGeneratorRFC8040) {
-        this.apiDocGeneratorDraft02 = Objects.requireNonNull(apiDocGeneratorDraft02);
-        this.apiDocGeneratorRFC8040 = Objects.requireNonNull(apiDocGeneratorRFC8040);
+    public AllModulesDocGenerator(final ApiDocGeneratorRFC8040 apiDocGeneratorRFC8040) {
+        this.apiDocGeneratorRFC8040 = requireNonNull(apiDocGeneratorRFC8040);
     }
 
     }
 
-    public CommonApiObject getAllModulesDoc(final UriInfo uriInfo, final URIType uriType, final OAversion oaversion) {
+    public CommonApiObject getAllModulesDoc(final UriInfo uriInfo, final OAversion oaversion) {
         final DefinitionNames definitionNames = new DefinitionNames();
         final DefinitionNames definitionNames = new DefinitionNames();
-        final SwaggerObject doc;
-        if (uriType.equals(URIType.DRAFT02)) {
-            doc = apiDocGeneratorDraft02.getAllModulesDoc(uriInfo, definitionNames, uriType, oaversion);
-        } else {
-            doc = apiDocGeneratorRFC8040.getAllModulesDoc(uriInfo, definitionNames, uriType, oaversion);
-        }
+        final SwaggerObject doc = apiDocGeneratorRFC8040.getAllModulesDoc(uriInfo, definitionNames, oaversion);
 
         return BaseYangSwaggerGenerator.getAppropriateDoc(doc, oaversion);
     }
 
         return BaseYangSwaggerGenerator.getAppropriateDoc(doc, oaversion);
     }
diff --git a/restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ApiDocGeneratorDraftO2.java b/restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ApiDocGeneratorDraftO2.java
deleted file mode 100644 (file)
index 8423b0e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.netconf.sal.rest.doc.impl;
-
-import java.util.Objects;
-import java.util.Optional;
-import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-
-/**
- * This class gathers all YANG-defined {@link org.opendaylight.yangtools.yang.model.api.Module}s and
- * generates Swagger compliant documentation for the bierman draft02 version.
- */
-public class ApiDocGeneratorDraftO2 extends BaseYangSwaggerGeneratorDraft02 {
-
-    public ApiDocGeneratorDraftO2(final DOMSchemaService schemaService) {
-        super(Optional.of(Objects.requireNonNull(schemaService)));
-    }
-
-    public ApiDocGeneratorDraftO2(final DOMSchemaService schemaService, final String basePath) {
-        super(Optional.of(Objects.requireNonNull(schemaService)), basePath);
-    }
-}
index aadd8039bca873fae546316e1a3ed4efb40f3f3d..5d80043416484f1eed44b79de73937596a0cb04f 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.netconf.sal.rest.doc.impl;
 
  */
 package org.opendaylight.netconf.sal.rest.doc.impl;
 
-import java.util.Objects;
 import java.util.Optional;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 
 import java.util.Optional;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 
@@ -18,12 +17,11 @@ import org.opendaylight.mdsal.dom.api.DOMSchemaService;
  * @author Thomas Pantelis
  */
 public class ApiDocGeneratorRFC8040 extends BaseYangSwaggerGeneratorRFC8040 {
  * @author Thomas Pantelis
  */
 public class ApiDocGeneratorRFC8040 extends BaseYangSwaggerGeneratorRFC8040 {
-
     public ApiDocGeneratorRFC8040(final DOMSchemaService schemaService) {
     public ApiDocGeneratorRFC8040(final DOMSchemaService schemaService) {
-        super(Optional.of(Objects.requireNonNull(schemaService)));
+        super(Optional.of(schemaService));
     }
 
     public ApiDocGeneratorRFC8040(final DOMSchemaService schemaService, final String basePath) {
     }
 
     public ApiDocGeneratorRFC8040(final DOMSchemaService schemaService, final String basePath) {
-        super(Optional.of(Objects.requireNonNull(schemaService)), basePath);
+        super(Optional.of(schemaService), basePath);
     }
 }
     }
 }
index 0f68a1cd79b9d38b726295ea7d648a8c5f62e66b..21dd225952bd73f8888c5584e6c27cf4e200cc32 100644 (file)
@@ -7,8 +7,9 @@
  */
 package org.opendaylight.netconf.sal.rest.doc.impl;
 
  */
 package org.opendaylight.netconf.sal.rest.doc.impl;
 
+import static java.util.Objects.requireNonNull;
+
 import java.util.List;
 import java.util.List;
-import java.util.Objects;
 import java.util.Optional;
 import java.util.stream.Collectors;
 import javax.ws.rs.core.Response;
 import java.util.Optional;
 import java.util.stream.Collectors;
 import javax.ws.rs.core.Response;
@@ -38,35 +39,24 @@ public class ApiDocServiceImpl implements ApiDocService {
     // Query parameter
     private static final String PAGE_NUM = "pageNum";
 
     // Query parameter
     private static final String PAGE_NUM = "pageNum";
 
-    public enum URIType { RFC8040, DRAFT02 }
-
     public enum OAversion { V2_0, V3_0 }
 
     public enum OAversion { V2_0, V3_0 }
 
-    private final MountPointSwagger mountPointSwaggerDraft02;
     private final MountPointSwagger mountPointSwaggerRFC8040;
     private final MountPointSwagger mountPointSwaggerRFC8040;
-    private final ApiDocGeneratorDraftO2 apiDocGeneratorDraft02;
     private final ApiDocGeneratorRFC8040 apiDocGeneratorRFC8040;
     private final AllModulesDocGenerator allModulesDocGenerator;
 
     private final ApiDocGeneratorRFC8040 apiDocGeneratorRFC8040;
     private final AllModulesDocGenerator allModulesDocGenerator;
 
-    public ApiDocServiceImpl(final MountPointSwaggerGeneratorDraft02 mountPointSwaggerGeneratorDraft02,
-                             final MountPointSwaggerGeneratorRFC8040 mountPointSwaggerGeneratorRFC8040,
-                             final ApiDocGeneratorDraftO2 apiDocGeneratorDraft02,
+    public ApiDocServiceImpl(final MountPointSwaggerGeneratorRFC8040 mountPointSwaggerGeneratorRFC8040,
                              final ApiDocGeneratorRFC8040 apiDocGeneratorRFC8040,
                              final AllModulesDocGenerator allModulesDocGenerator) {
                              final ApiDocGeneratorRFC8040 apiDocGeneratorRFC8040,
                              final AllModulesDocGenerator allModulesDocGenerator) {
-        this.mountPointSwaggerDraft02 =
-                Objects.requireNonNull(mountPointSwaggerGeneratorDraft02).getMountPointSwagger();
-        this.mountPointSwaggerRFC8040 =
-                Objects.requireNonNull(mountPointSwaggerGeneratorRFC8040).getMountPointSwagger();
-        this.apiDocGeneratorDraft02 = Objects.requireNonNull(apiDocGeneratorDraft02);
-        this.apiDocGeneratorRFC8040 = Objects.requireNonNull(apiDocGeneratorRFC8040);
-        this.allModulesDocGenerator = Objects.requireNonNull(allModulesDocGenerator);
+        mountPointSwaggerRFC8040 =
+                requireNonNull(mountPointSwaggerGeneratorRFC8040).getMountPointSwagger();
+        this.apiDocGeneratorRFC8040 = requireNonNull(apiDocGeneratorRFC8040);
+        this.allModulesDocGenerator = requireNonNull(allModulesDocGenerator);
     }
 
     @Override
     public synchronized Response getAllModulesDoc(final UriInfo uriInfo) {
     }
 
     @Override
     public synchronized Response getAllModulesDoc(final UriInfo uriInfo) {
-        final CommonApiObject allModulesDoc = allModulesDocGenerator.getAllModulesDoc(uriInfo, identifyUriType(uriInfo),
-                identifyOpenApiVersion(uriInfo));
-        return Response.ok(allModulesDoc).build();
+        return Response.ok(allModulesDocGenerator.getAllModulesDoc(uriInfo, identifyOpenApiVersion(uriInfo))).build();
     }
 
     /**
     }
 
     /**
@@ -74,15 +64,9 @@ public class ApiDocServiceImpl implements ApiDocService {
      */
     @Override
     public synchronized Response getDocByModule(final String module, final String revision, final UriInfo uriInfo) {
      */
     @Override
     public synchronized Response getDocByModule(final String module, final String revision, final UriInfo uriInfo) {
-        final CommonApiObject doc;
-        final OAversion oaversion = identifyOpenApiVersion(uriInfo);
-        if (identifyUriType(uriInfo).equals(URIType.RFC8040)) {
-            doc = apiDocGeneratorRFC8040.getApiDeclaration(module, revision, uriInfo, URIType.RFC8040, oaversion);
-        } else {
-            doc = apiDocGeneratorDraft02.getApiDeclaration(module, revision, uriInfo, URIType.DRAFT02, oaversion);
-        }
-
-        return Response.ok(doc).build();
+        return Response.ok(
+            apiDocGeneratorRFC8040.getApiDeclaration(module, revision, uriInfo, identifyOpenApiVersion(uriInfo)))
+            .build();
     }
 
     /**
     }
 
     /**
@@ -95,13 +79,7 @@ public class ApiDocServiceImpl implements ApiDocService {
 
     @Override
     public synchronized Response getListOfMounts(final UriInfo uriInfo) {
 
     @Override
     public synchronized Response getListOfMounts(final UriInfo uriInfo) {
-        final MountPointSwagger mountPointSwagger;
-        if (identifyUriType(uriInfo).equals(URIType.RFC8040)) {
-            mountPointSwagger = mountPointSwaggerRFC8040;
-        } else {
-            mountPointSwagger = mountPointSwaggerDraft02;
-        }
-        final List<MountPointInstance> entity = mountPointSwagger
+        final List<MountPointInstance> entity = mountPointSwaggerRFC8040
                 .getInstanceIdentifiers().entrySet().stream()
                 .map(MountPointInstance::new).collect(Collectors.toList());
         return Response.ok(entity).build();
                 .getInstanceIdentifiers().entrySet().stream()
                 .map(MountPointInstance::new).collect(Collectors.toList());
         return Response.ok(entity).build();
@@ -110,17 +88,9 @@ public class ApiDocServiceImpl implements ApiDocService {
     @Override
     public synchronized Response getMountDocByModule(final String instanceNum, final String module,
                                                      final String revision, final UriInfo uriInfo) {
     @Override
     public synchronized Response getMountDocByModule(final String instanceNum, final String module,
                                                      final String revision, final UriInfo uriInfo) {
-        final CommonApiObject api;
         final OAversion oaversion = identifyOpenApiVersion(uriInfo);
         final OAversion oaversion = identifyOpenApiVersion(uriInfo);
-        if (identifyUriType(uriInfo).equals(URIType.RFC8040)) {
-            api = mountPointSwaggerRFC8040
-                    .getMountPointApi(uriInfo, Long.parseLong(instanceNum), module, revision, URIType.RFC8040,
-                            oaversion);
-        } else {
-            api = mountPointSwaggerDraft02
-                    .getMountPointApi(uriInfo, Long.parseLong(instanceNum), module, revision, URIType.DRAFT02,
-                            oaversion);
-        }
+        final CommonApiObject api = mountPointSwaggerRFC8040.getMountPointApi(uriInfo, Long.parseLong(instanceNum),
+            module, revision, oaversion);
         return Response.ok(api).build();
     }
 
         return Response.ok(api).build();
     }
 
@@ -131,25 +101,10 @@ public class ApiDocServiceImpl implements ApiDocService {
         final String stringPageNum = uriInfo.getQueryParameters().getFirst(PAGE_NUM);
         final Optional<Integer> pageNum = stringPageNum != null ? Optional.of(Integer.valueOf(stringPageNum))
                 : Optional.empty();
         final String stringPageNum = uriInfo.getQueryParameters().getFirst(PAGE_NUM);
         final Optional<Integer> pageNum = stringPageNum != null ? Optional.of(Integer.valueOf(stringPageNum))
                 : Optional.empty();
-        if (identifyUriType(uriInfo).equals(URIType.RFC8040)) {
-            api = mountPointSwaggerRFC8040
-                    .getMountPointApi(uriInfo, Long.parseLong(instanceNum), pageNum, URIType.RFC8040,
-                            oaversion);
-        } else {
-            api = mountPointSwaggerDraft02
-                    .getMountPointApi(uriInfo, Long.parseLong(instanceNum), pageNum, URIType.DRAFT02,
-                            oaversion);
-        }
+        api = mountPointSwaggerRFC8040.getMountPointApi(uriInfo, Long.parseLong(instanceNum), pageNum, oaversion);
         return Response.ok(api).build();
     }
 
         return Response.ok(api).build();
     }
 
-    private static URIType identifyUriType(final UriInfo uriInfo) {
-        if (uriInfo.getBaseUri().toString().contains("/18/")) {
-            return URIType.RFC8040;
-        }
-        return URIType.DRAFT02;
-    }
-
     private static OAversion identifyOpenApiVersion(final UriInfo uriInfo) {
         if (uriInfo.getBaseUri().toString().contains("/swagger2/")) {
             return OAversion.V2_0;
     private static OAversion identifyOpenApiVersion(final UriInfo uriInfo) {
         if (uriInfo.getBaseUri().toString().contains("/swagger2/")) {
             return OAversion.V2_0;
index 2d5593c6e04c9a099f67e6b32a2cc73184f34795..7c987afd2021d37a2addec1114f8f725df1399cd 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.netconf.sal.rest.doc.impl;
 
 import static org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.DEFAULT_PAGESIZE;
 package org.opendaylight.netconf.sal.rest.doc.impl;
 
 import static org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.DEFAULT_PAGESIZE;
-import static org.opendaylight.netconf.sal.rest.doc.model.builder.OperationBuilder.CONFIG;
 import static org.opendaylight.netconf.sal.rest.doc.model.builder.OperationBuilder.TOP;
 import static org.opendaylight.netconf.sal.rest.doc.model.builder.OperationBuilder.buildDelete;
 import static org.opendaylight.netconf.sal.rest.doc.model.builder.OperationBuilder.buildGet;
 import static org.opendaylight.netconf.sal.rest.doc.model.builder.OperationBuilder.TOP;
 import static org.opendaylight.netconf.sal.rest.doc.model.builder.OperationBuilder.buildDelete;
 import static org.opendaylight.netconf.sal.rest.doc.model.builder.OperationBuilder.buildGet;
@@ -47,7 +46,6 @@ import java.util.TreeSet;
 import javax.ws.rs.core.UriInfo;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
 import javax.ws.rs.core.UriInfo;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.URIType;
 import org.opendaylight.netconf.sal.rest.doc.swagger.CommonApiObject;
 import org.opendaylight.netconf.sal.rest.doc.swagger.Components;
 import org.opendaylight.netconf.sal.rest.doc.swagger.Info;
 import org.opendaylight.netconf.sal.rest.doc.swagger.CommonApiObject;
 import org.opendaylight.netconf.sal.rest.doc.swagger.Components;
 import org.opendaylight.netconf.sal.rest.doc.swagger.Info;
@@ -92,7 +90,7 @@ public abstract class BaseYangSwaggerGenerator {
 
     protected BaseYangSwaggerGenerator(final Optional<DOMSchemaService> schemaService) {
         this.schemaService = schemaService.orElse(null);
 
     protected BaseYangSwaggerGenerator(final Optional<DOMSchemaService> schemaService) {
         this.schemaService = schemaService.orElse(null);
-        this.mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
+        mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
     }
 
     public DOMSchemaService getSchemaService() {
     }
 
     public DOMSchemaService getSchemaService() {
@@ -100,8 +98,8 @@ public abstract class BaseYangSwaggerGenerator {
     }
 
     public ResourceList getResourceListing(final UriInfo uriInfo, final EffectiveModelContext schemaContext,
     }
 
     public ResourceList getResourceListing(final UriInfo uriInfo, final EffectiveModelContext schemaContext,
-                                           final String context, final URIType uriType, final OAversion oaversion) {
-        return getResourceListing(uriInfo, schemaContext, context, 0, true, uriType, oaversion);
+                                           final String context, final OAversion oaversion) {
+        return getResourceListing(uriInfo, schemaContext, context, 0, true, oaversion);
     }
 
     /**
     }
 
     /**
@@ -109,7 +107,7 @@ public abstract class BaseYangSwaggerGenerator {
      */
     public ResourceList getResourceListing(final UriInfo uriInfo, final EffectiveModelContext schemaContext,
                                            final String context, final int pageNum, final boolean all,
      */
     public ResourceList getResourceListing(final UriInfo uriInfo, final EffectiveModelContext schemaContext,
                                            final String context, final int pageNum, final boolean all,
-                                           final URIType uriType, final OAversion oaversion) {
+                                           final OAversion oaversion) {
         final ResourceList resourceList = createResourceList();
 
         final Set<Module> modules = getSortedModules(schemaContext);
         final ResourceList resourceList = createResourceList();
 
         final Set<Module> modules = getSortedModules(schemaContext);
@@ -125,7 +123,7 @@ public abstract class BaseYangSwaggerGenerator {
 
             LOG.debug("Working on [{},{}]...", module.getName(), revisionString);
             final SwaggerObject doc = getApiDeclaration(module.getName(), revisionString, uriInfo, schemaContext,
 
             LOG.debug("Working on [{},{}]...", module.getName(), revisionString);
             final SwaggerObject doc = getApiDeclaration(module.getName(), revisionString, uriInfo, schemaContext,
-                    context, uriType, oaversion);
+                    context, oaversion);
             if (doc != null) {
                 count++;
                 if (count >= start && count < end || all) {
             if (doc != null) {
                 count++;
                 if (count >= start && count < end || all) {
@@ -148,17 +146,17 @@ public abstract class BaseYangSwaggerGenerator {
     }
 
     public SwaggerObject getAllModulesDoc(final UriInfo uriInfo, final DefinitionNames definitionNames,
     }
 
     public SwaggerObject getAllModulesDoc(final UriInfo uriInfo, final DefinitionNames definitionNames,
-                                          final URIType uriType, final OAversion oaversion) {
+                                          final OAversion oaversion) {
         final EffectiveModelContext schemaContext = schemaService.getGlobalContext();
         Preconditions.checkState(schemaContext != null);
         return getAllModulesDoc(uriInfo, Optional.empty(), schemaContext, Optional.empty(), "", definitionNames,
         final EffectiveModelContext schemaContext = schemaService.getGlobalContext();
         Preconditions.checkState(schemaContext != null);
         return getAllModulesDoc(uriInfo, Optional.empty(), schemaContext, Optional.empty(), "", definitionNames,
-                uriType, oaversion);
+                oaversion);
     }
 
     public SwaggerObject getAllModulesDoc(final UriInfo uriInfo, final Optional<Range<Integer>> range,
                                           final EffectiveModelContext schemaContext, final Optional<String> deviceName,
                                           final String context, final DefinitionNames definitionNames,
     }
 
     public SwaggerObject getAllModulesDoc(final UriInfo uriInfo, final Optional<Range<Integer>> range,
                                           final EffectiveModelContext schemaContext, final Optional<String> deviceName,
                                           final String context, final DefinitionNames definitionNames,
-                                          final URIType uriType, final OAversion oaversion) {
+                                          final OAversion oaversion) {
         final String schema = createSchemaFromUriInfo(uriInfo);
         final String host = createHostFromUriInfo(uriInfo);
         String name = "Controller";
         final String schema = createSchemaFromUriInfo(uriInfo);
         final String host = createHostFromUriInfo(uriInfo);
         String name = "Controller";
@@ -166,19 +164,19 @@ public abstract class BaseYangSwaggerGenerator {
             name = deviceName.get();
         }
 
             name = deviceName.get();
         }
 
-        final String title = String.format("%s modules of RestConf version %s", name, uriType.name());
+        final String title = name + " modules of RESTCONF";
         final SwaggerObject doc = createSwaggerObject(schema, host, BASE_PATH, title);
         doc.setDefinitions(JsonNodeFactory.instance.objectNode());
         doc.setPaths(JsonNodeFactory.instance.objectNode());
 
         final SwaggerObject doc = createSwaggerObject(schema, host, BASE_PATH, title);
         doc.setDefinitions(JsonNodeFactory.instance.objectNode());
         doc.setPaths(JsonNodeFactory.instance.objectNode());
 
-        fillDoc(doc, range, schemaContext, context, deviceName, uriType, oaversion, definitionNames);
+        fillDoc(doc, range, schemaContext, context, deviceName, oaversion, definitionNames);
 
         return doc;
     }
 
     public void fillDoc(final SwaggerObject doc, final Optional<Range<Integer>> range,
                         final EffectiveModelContext schemaContext, final String context,
 
         return doc;
     }
 
     public void fillDoc(final SwaggerObject doc, final Optional<Range<Integer>> range,
                         final EffectiveModelContext schemaContext, final String context,
-                        final Optional<String> deviceName, final URIType uriType, final OAversion oaversion,
+                        final Optional<String> deviceName, final OAversion oaversion,
                         final DefinitionNames definitionNames) {
         final SortedSet<Module> modules = getSortedModules(schemaContext);
         final Set<Module> filteredModules;
                         final DefinitionNames definitionNames) {
         final SortedSet<Module> modules = getSortedModules(schemaContext);
         final Set<Module> filteredModules;
@@ -193,8 +191,7 @@ public abstract class BaseYangSwaggerGenerator {
 
             LOG.debug("Working on [{},{}]...", module.getName(), revisionString);
 
 
             LOG.debug("Working on [{},{}]...", module.getName(), revisionString);
 
-            getSwaggerDocSpec(module, context, deviceName, schemaContext, uriType, oaversion, definitionNames, doc,
-                    false);
+            getSwaggerDocSpec(module, context, deviceName, schemaContext, oaversion, definitionNames, doc, false);
         }
     }
 
         }
     }
 
@@ -236,17 +233,16 @@ public abstract class BaseYangSwaggerGenerator {
     }
 
     public CommonApiObject getApiDeclaration(final String module, final String revision, final UriInfo uriInfo,
     }
 
     public CommonApiObject getApiDeclaration(final String module, final String revision, final UriInfo uriInfo,
-                                             final URIType uriType, final OAversion oaversion) {
+                                             final OAversion oaversion) {
         final EffectiveModelContext schemaContext = schemaService.getGlobalContext();
         Preconditions.checkState(schemaContext != null);
         final EffectiveModelContext schemaContext = schemaService.getGlobalContext();
         Preconditions.checkState(schemaContext != null);
-        final SwaggerObject doc = getApiDeclaration(module, revision, uriInfo, schemaContext, "", uriType,
-                oaversion);
+        final SwaggerObject doc = getApiDeclaration(module, revision, uriInfo, schemaContext, "", oaversion);
         return getAppropriateDoc(doc, oaversion);
     }
 
     public SwaggerObject getApiDeclaration(final String moduleName, final String revision, final UriInfo uriInfo,
                                            final EffectiveModelContext schemaContext, final String context,
         return getAppropriateDoc(doc, oaversion);
     }
 
     public SwaggerObject getApiDeclaration(final String moduleName, final String revision, final UriInfo uriInfo,
                                            final EffectiveModelContext schemaContext, final String context,
-                                           final URIType uriType, final OAversion oaversion) {
+                                           final OAversion oaversion) {
         final Optional<Revision> rev;
 
         try {
         final Optional<Revision> rev;
 
         try {
@@ -259,16 +255,15 @@ public abstract class BaseYangSwaggerGenerator {
         Preconditions.checkArgument(module != null,
                 "Could not find module by name,revision: " + moduleName + "," + revision);
 
         Preconditions.checkArgument(module != null,
                 "Could not find module by name,revision: " + moduleName + "," + revision);
 
-        return getApiDeclaration(module, uriInfo, context, schemaContext, uriType, oaversion);
+        return getApiDeclaration(module, uriInfo, context, schemaContext, oaversion);
     }
 
     }
 
-    public SwaggerObject getApiDeclaration(final Module module, final UriInfo uriInfo,
-                                           final String context, final EffectiveModelContext schemaContext,
-                                           final URIType uriType, final OAversion oaversion) {
+    public SwaggerObject getApiDeclaration(final Module module, final UriInfo uriInfo, final String context,
+                                           final EffectiveModelContext schemaContext, final OAversion oaversion) {
         final String schema = createSchemaFromUriInfo(uriInfo);
         final String host = createHostFromUriInfo(uriInfo);
 
         final String schema = createSchemaFromUriInfo(uriInfo);
         final String host = createHostFromUriInfo(uriInfo);
 
-        return getSwaggerDocSpec(module, schema, host, BASE_PATH, context, schemaContext, uriType, oaversion);
+        return getSwaggerDocSpec(module, schema, host, BASE_PATH, context, schemaContext, oaversion);
     }
 
     public String createHostFromUriInfo(final UriInfo uriInfo) {
     }
 
     public String createHostFromUriInfo(final UriInfo uriInfo) {
@@ -286,33 +281,32 @@ public abstract class BaseYangSwaggerGenerator {
 
     public SwaggerObject getSwaggerDocSpec(final Module module, final String schema, final String host,
                                            final String basePath, final String context,
 
     public SwaggerObject getSwaggerDocSpec(final Module module, final String schema, final String host,
                                            final String basePath, final String context,
-                                           final EffectiveModelContext schemaContext, final URIType uriType,
-                                           final OAversion oaversion) {
+                                           final EffectiveModelContext schemaContext, final OAversion oaversion) {
         final SwaggerObject doc = createSwaggerObject(schema, host, basePath, module.getName());
         final DefinitionNames definitionNames = new DefinitionNames();
         final SwaggerObject doc = createSwaggerObject(schema, host, basePath, module.getName());
         final DefinitionNames definitionNames = new DefinitionNames();
-        return getSwaggerDocSpec(module, context, Optional.empty(), schemaContext, uriType, oaversion,
-                definitionNames, doc, true);
+        return getSwaggerDocSpec(module, context, Optional.empty(), schemaContext, oaversion, definitionNames, doc,
+            true);
     }
 
 
     public SwaggerObject getSwaggerDocSpec(final Module module, final String context, final Optional<String> deviceName,
     }
 
 
     public SwaggerObject getSwaggerDocSpec(final Module module, final String context, final Optional<String> deviceName,
-                                           final EffectiveModelContext schemaContext, final URIType uriType,
-                                           final OAversion oaversion, final DefinitionNames definitionNames,
-                                           final SwaggerObject doc, final boolean isForSingleModule) {
+                                           final EffectiveModelContext schemaContext, final OAversion oaversion,
+                                           final DefinitionNames definitionNames, final SwaggerObject doc,
+                                           final boolean isForSingleModule) {
         final ObjectNode definitions;
 
         try {
             if (isForSingleModule) {
         final ObjectNode definitions;
 
         try {
             if (isForSingleModule) {
-                definitions = this.jsonConverter.convertToJsonSchema(module, schemaContext, definitionNames, oaversion,
+                definitions = jsonConverter.convertToJsonSchema(module, schemaContext, definitionNames, oaversion,
                         true);
                 doc.setDefinitions(definitions);
             } else {
                         true);
                 doc.setDefinitions(definitions);
             } else {
-                definitions = this.jsonConverter.convertToJsonSchema(module, schemaContext, definitionNames, oaversion,
+                definitions = jsonConverter.convertToJsonSchema(module, schemaContext, definitionNames, oaversion,
                         false);
                 addFields(doc.getDefinitions(), definitions.fields());
             }
             if (LOG.isDebugEnabled()) {
                         false);
                 addFields(doc.getDefinitions(), definitions.fields());
             }
             if (LOG.isDebugEnabled()) {
-                LOG.debug("Document: {}", this.mapper.writeValueAsString(doc));
+                LOG.debug("Document: {}", mapper.writeValueAsString(doc));
             }
         } catch (final IOException e) {
             LOG.error("Exception occured in DefinitionGenerator", e);
             }
         } catch (final IOException e) {
             LOG.error("Exception occured in DefinitionGenerator", e);
@@ -350,17 +344,16 @@ public abstract class BaseYangSwaggerGenerator {
                     }
 
                     final String resolvedPath = resourcePath + "/" + createPath(node, pathParams, oaversion, localName);
                     }
 
                     final String resolvedPath = resourcePath + "/" + createPath(node, pathParams, oaversion, localName);
-                    addPaths(node, deviceName, moduleName, paths, pathParams, schemaContext, true,
-                            module.getName(), definitionNames, uriType, oaversion, resolvedPath);
+                    addPaths(node, deviceName, moduleName, paths, pathParams, schemaContext, true, module.getName(),
+                        definitionNames, oaversion, resolvedPath);
                 }
                 pathParams = JsonNodeFactory.instance.arrayNode();
                 resourcePath = getResourcePath("operational", context);
 
                 }
                 pathParams = JsonNodeFactory.instance.arrayNode();
                 resourcePath = getResourcePath("operational", context);
 
-                if (uriType.equals(URIType.DRAFT02)
-                        || uriType.equals(URIType.RFC8040) && !node.isConfiguration()) {
+                if (!node.isConfiguration()) {
                     final String resolvedPath = resourcePath + "/" + createPath(node, pathParams, oaversion, localName);
                     final String resolvedPath = resourcePath + "/" + createPath(node, pathParams, oaversion, localName);
-                    addPaths(node, deviceName, moduleName, paths, pathParams, schemaContext, false,
-                            moduleName, definitionNames, uriType, oaversion, resolvedPath);
+                    addPaths(node, deviceName, moduleName, paths, pathParams, schemaContext, false, moduleName,
+                        definitionNames, oaversion, resolvedPath);
                 }
             }
         }
                 }
             }
         }
@@ -446,8 +439,7 @@ public abstract class BaseYangSwaggerGenerator {
     private void addPaths(final DataSchemaNode node, final Optional<String> deviceName, final String moduleName,
                           final ObjectNode paths, final ArrayNode parentPathParams,
                           final EffectiveModelContext schemaContext, final boolean isConfig, final String parentName,
     private void addPaths(final DataSchemaNode node, final Optional<String> deviceName, final String moduleName,
                           final ObjectNode paths, final ArrayNode parentPathParams,
                           final EffectiveModelContext schemaContext, final boolean isConfig, final String parentName,
-                          final DefinitionNames definitionNames, final URIType uriType, final OAversion oaversion,
-                          final String resourcePath) {
+                          final DefinitionNames definitionNames, final OAversion oaversion, final String resourcePath) {
         LOG.debug("Adding path: [{}]", resourcePath);
 
         final ArrayNode pathParams = JsonUtil.copy(parentPathParams);
         LOG.debug("Adding path: [{}]", resourcePath);
 
         final ArrayNode pathParams = JsonUtil.copy(parentPathParams);
@@ -459,10 +451,10 @@ public abstract class BaseYangSwaggerGenerator {
 
         final ObjectNode path = JsonNodeFactory.instance.objectNode();
         path.setAll(operations(node, moduleName, deviceName, pathParams, isConfig, parentName, definitionNames,
 
         final ObjectNode path = JsonNodeFactory.instance.objectNode();
         path.setAll(operations(node, moduleName, deviceName, pathParams, isConfig, parentName, definitionNames,
-                uriType, oaversion));
+                oaversion));
         paths.set(resourcePath, path);
 
         paths.set(resourcePath, path);
 
-        if (uriType.equals(URIType.RFC8040)) {
+        if (node instanceof ActionNodeContainer) {
             ((ActionNodeContainer) node).getActions().forEach(actionDef -> {
                 final String resolvedPath = "rests/operations" + resourcePath.substring(11)
                         + "/" + resolvePathArgumentsName(actionDef.getQName(), node.getQName(), schemaContext);
             ((ActionNodeContainer) node).getActions().forEach(actionDef -> {
                 final String resolvedPath = "rests/operations" + resourcePath.substring(11)
                         + "/" + resolvePathArgumentsName(actionDef.getQName(), node.getQName(), schemaContext);
@@ -477,16 +469,9 @@ public abstract class BaseYangSwaggerGenerator {
                 final String localName = resolvePathArgumentsName(childNode.getQName(), node.getQName(), schemaContext);
                 final String newResourcePath = resourcePath + "/" + createPath(childNode, pathParams, oaversion,
                         localName);
                 final String localName = resolvePathArgumentsName(childNode.getQName(), node.getQName(), schemaContext);
                 final String newResourcePath = resourcePath + "/" + createPath(childNode, pathParams, oaversion,
                         localName);
-                if (uriType.equals(URIType.RFC8040)) {
-                    final boolean newIsConfig = isConfig && childNode.isConfiguration();
-                    addPaths(childNode, deviceName, moduleName, paths, pathParams, schemaContext,
-                            newIsConfig, newParent, definitionNames, uriType, oaversion, newResourcePath);
-                } else {
-                    if (!isConfig || childNode.isConfiguration()) {
-                        addPaths(childNode, deviceName, moduleName, paths, pathParams, schemaContext,
-                                isConfig, newParent, definitionNames, uriType, oaversion, newResourcePath);
-                    }
-                }
+                final boolean newIsConfig = isConfig && childNode.isConfiguration();
+                addPaths(childNode, deviceName, moduleName, paths, pathParams, schemaContext,
+                    newIsConfig, newParent, definitionNames, oaversion, newResourcePath);
             }
         }
     }
             }
         }
     }
@@ -503,21 +488,15 @@ public abstract class BaseYangSwaggerGenerator {
     private static Map<String, ObjectNode> operations(final DataSchemaNode node, final String moduleName,
                                                       final Optional<String> deviceName, final ArrayNode pathParams,
                                                       final boolean isConfig, final String parentName,
     private static Map<String, ObjectNode> operations(final DataSchemaNode node, final String moduleName,
                                                       final Optional<String> deviceName, final ArrayNode pathParams,
                                                       final boolean isConfig, final String parentName,
-                                                      final DefinitionNames definitionNames, final URIType uriType,
+                                                      final DefinitionNames definitionNames,
                                                       final OAversion oaversion) {
         final Map<String, ObjectNode> operations = new HashMap<>();
         final String discriminator = definitionNames.getDiscriminator(node);
 
         final String nodeName = node.getQName().getLocalName();
 
                                                       final OAversion oaversion) {
         final Map<String, ObjectNode> operations = new HashMap<>();
         final String discriminator = definitionNames.getDiscriminator(node);
 
         final String nodeName = node.getQName().getLocalName();
 
-        String prefix = "_";
-        if (isConfig && uriType.equals(URIType.DRAFT02)) {
-            prefix = CONFIG + "_";
-        }
-
-        final String defName = parentName + prefix + nodeName + TOP + discriminator;
-        final ObjectNode get = buildGet(node, moduleName, deviceName, pathParams, defName, isConfig, uriType,
-                oaversion);
+        final String defName = parentName + "_" + nodeName + TOP + discriminator;
+        final ObjectNode get = buildGet(node, moduleName, deviceName, pathParams, defName, isConfig, oaversion);
         operations.put("get", get);
 
 
         operations.put("get", get);
 
 
diff --git a/restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/BaseYangSwaggerGeneratorDraft02.java b/restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/BaseYangSwaggerGeneratorDraft02.java
deleted file mode 100644 (file)
index 497d9c5..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2018 Inocybe Technologies and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.netconf.sal.rest.doc.impl;
-
-import java.util.Optional;
-import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-
-/**
- * Base class for a bierman draft02 implementation.
- *
- * @author Thomas Pantelis
- */
-public abstract class BaseYangSwaggerGeneratorDraft02 extends BaseYangSwaggerGenerator {
-
-    private static final String PATH_VERSION = "draft02";
-    private static final String DEFAULT_BASE_PATH = "restconf";
-    private final String basePath;
-
-    protected BaseYangSwaggerGeneratorDraft02(final Optional<DOMSchemaService> schemaService) {
-        super(schemaService);
-        this.basePath = DEFAULT_BASE_PATH;
-    }
-
-    protected BaseYangSwaggerGeneratorDraft02(final Optional<DOMSchemaService> schemaService, final String basePath) {
-        super(schemaService);
-        this.basePath = basePath;
-    }
-
-    @Override
-    protected String getPathVersion() {
-        return PATH_VERSION;
-    }
-
-    @Override
-    public String getResourcePath(final String resourceType, final String context) {
-        return "/" + basePath + "/" + resourceType + context;
-    }
-
-    @Override
-    public String getResourcePathPart(final String resourceType) {
-        return resourceType;
-    }
-
-    @Override
-    protected ListPathBuilder newListPathBuilder() {
-        return key -> "/{" + key + "}";
-    }
-
-    @Override
-    protected void appendPathKeyValue(final StringBuilder builder, final Object value) {
-        builder.append(value).append('/');
-    }
-}
index f9a4615bfffec7a89c49d09aec35e57da70df91d..909088798282066085b38091c3b12d30977d32e0 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.netconf.sal.rest.doc.impl;
 
  */
 package org.opendaylight.netconf.sal.rest.doc.impl;
 
+import static java.util.Objects.requireNonNull;
+
 import java.util.Optional;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 
 import java.util.Optional;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 
@@ -16,24 +18,20 @@ import org.opendaylight.mdsal.dom.api.DOMSchemaService;
  * @author Thomas Pantelis
  */
 public abstract class BaseYangSwaggerGeneratorRFC8040 extends BaseYangSwaggerGenerator {
  * @author Thomas Pantelis
  */
 public abstract class BaseYangSwaggerGeneratorRFC8040 extends BaseYangSwaggerGenerator {
-
-    private static final String DEFAULT_BASE_PATH = "rests";
-    private static final String PATH_VERSION = "rfc8040";
     private final String basePath;
 
     protected BaseYangSwaggerGeneratorRFC8040(final Optional<DOMSchemaService> schemaService) {
     private final String basePath;
 
     protected BaseYangSwaggerGeneratorRFC8040(final Optional<DOMSchemaService> schemaService) {
-        super(schemaService);
-        this.basePath = DEFAULT_BASE_PATH;
+        this(schemaService, "rests");
     }
 
     protected BaseYangSwaggerGeneratorRFC8040(final Optional<DOMSchemaService> schemaService, final String basePath) {
         super(schemaService);
     }
 
     protected BaseYangSwaggerGeneratorRFC8040(final Optional<DOMSchemaService> schemaService, final String basePath) {
         super(schemaService);
-        this.basePath = basePath;
+        this.basePath = requireNonNull(basePath);
     }
 
     @Override
     protected String getPathVersion() {
     }
 
     @Override
     protected String getPathVersion() {
-        return PATH_VERSION;
+        return "rfc8040";
     }
 
     @Override
     }
 
     @Override
diff --git a/restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/MountPointSwaggerGeneratorDraft02.java b/restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/MountPointSwaggerGeneratorDraft02.java
deleted file mode 100644 (file)
index 6843bfa..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2018 Inocybe Technologies and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.netconf.sal.rest.doc.impl;
-
-import java.util.Optional;
-import org.opendaylight.mdsal.dom.api.DOMMountPointService;
-import org.opendaylight.mdsal.dom.api.DOMSchemaService;
-import org.opendaylight.netconf.sal.rest.doc.mountpoints.MountPointSwagger;
-
-/**
- * MountPoint generator implementation for bierman draft02.
- *
- * @author Thomas Pantelis
- */
-public class MountPointSwaggerGeneratorDraft02 extends BaseYangSwaggerGeneratorDraft02 implements AutoCloseable {
-
-    private final MountPointSwagger mountPointSwagger;
-
-    public MountPointSwaggerGeneratorDraft02(final DOMSchemaService schemaService,
-            final DOMMountPointService mountService) {
-        super(Optional.of(schemaService));
-        mountPointSwagger = new MountPointSwagger(schemaService, mountService, this);
-        mountPointSwagger.init();
-    }
-
-    public MountPointSwaggerGeneratorDraft02(final DOMSchemaService schemaService,
-            final DOMMountPointService mountService, final String basePath) {
-        super(Optional.of(schemaService), basePath);
-        mountPointSwagger = new MountPointSwagger(schemaService, mountService, this);
-        mountPointSwagger.init();
-    }
-
-    public MountPointSwagger getMountPointSwagger() {
-        return mountPointSwagger;
-    }
-
-    @Override
-    public void close() {
-        mountPointSwagger.close();
-    }
-}
index d5ee84fd2f2a2230fd09c30809c0d746ace102eb..8ba66aa60854368ff17d2b789577ad23e5ceaca7 100644 (file)
@@ -21,9 +21,7 @@ import java.util.Optional;
 import javax.ws.rs.HttpMethod;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.HttpMethod;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.URIType;
 import org.opendaylight.netconf.sal.rest.doc.impl.DefinitionNames;
 import org.opendaylight.netconf.sal.rest.doc.util.JsonUtil;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.netconf.sal.rest.doc.impl.DefinitionNames;
 import org.opendaylight.netconf.sal.rest.doc.util.JsonUtil;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
@@ -107,8 +105,7 @@ public final class OperationBuilder {
 
     public static ObjectNode buildGet(final DataSchemaNode node, final String moduleName,
                                       final Optional<String> deviceName, final ArrayNode pathParams,
 
     public static ObjectNode buildGet(final DataSchemaNode node, final String moduleName,
                                       final Optional<String> deviceName, final ArrayNode pathParams,
-                                      final String defName, final boolean isConfig,
-                                      final URIType uriType, final OAversion oaversion) {
+                                      final String defName, final boolean isConfig, final OAversion oaversion) {
         final ObjectNode value = JsonNodeFactory.instance.objectNode();
         value.put(DESCRIPTION_KEY, node.getDescription().orElse(""));
         value.put(SUMMARY_KEY, buildSummaryValue(HttpMethod.GET, moduleName, deviceName,
         final ObjectNode value = JsonNodeFactory.instance.objectNode();
         value.put(DESCRIPTION_KEY, node.getDescription().orElse(""));
         value.put(SUMMARY_KEY, buildSummaryValue(HttpMethod.GET, moduleName, deviceName,
@@ -116,7 +113,7 @@ public final class OperationBuilder {
         value.set(TAGS_KEY, buildTagsValue(deviceName, moduleName));
         final ArrayNode parameters = JsonUtil.copy(pathParams);
 
         value.set(TAGS_KEY, buildTagsValue(deviceName, moduleName));
         final ArrayNode parameters = JsonUtil.copy(pathParams);
 
-        addQueryParameters(parameters, isConfig, uriType, oaversion);
+        addQueryParameters(parameters, isConfig, oaversion);
 
         value.set(PARAMETERS_KEY, parameters);
 
 
         value.set(PARAMETERS_KEY, parameters);
 
@@ -131,25 +128,23 @@ public final class OperationBuilder {
     }
 
     private static void addQueryParameters(final ArrayNode parameters, final boolean isConfig,
     }
 
     private static void addQueryParameters(final ArrayNode parameters, final boolean isConfig,
-                                           final ApiDocServiceImpl.URIType uriType, final OAversion oaversion) {
-        if (uriType.equals(ApiDocServiceImpl.URIType.RFC8040)) {
-            final ObjectNode contentParam = JsonNodeFactory.instance.objectNode();
-            final ArrayNode cases = JsonNodeFactory.instance.arrayNode();
-            cases.add(NONCONFIG_QUERY_PARAM);
-            if (isConfig) {
-                cases.add(CONFIG_QUERY_PARAM);
-            } else {
-                contentParam.put(REQUIRED_KEY, true);
-            }
-            contentParam.put(IN_KEY, QUERY);
-            contentParam.put(NAME_KEY, CONTENT);
+                                           final OAversion oaversion) {
+        final ObjectNode contentParam = JsonNodeFactory.instance.objectNode();
+        final ArrayNode cases = JsonNodeFactory.instance.arrayNode();
+        cases.add(NONCONFIG_QUERY_PARAM);
+        if (isConfig) {
+            cases.add(CONFIG_QUERY_PARAM);
+        } else {
+            contentParam.put(REQUIRED_KEY, true);
+        }
+        contentParam.put(IN_KEY, QUERY);
+        contentParam.put(NAME_KEY, CONTENT);
 
 
-            final ObjectNode typeParent = getTypeParentNode(contentParam, oaversion);
-            typeParent.put(TYPE_KEY, STRING);
-            typeParent.set(ENUM_KEY, cases);
+        final ObjectNode typeParent = getTypeParentNode(contentParam, oaversion);
+        typeParent.put(TYPE_KEY, STRING);
+        typeParent.set(ENUM_KEY, cases);
 
 
-            parameters.add(contentParam);
-        }
+        parameters.add(contentParam);
     }
 
     public static ObjectNode buildPut(final String parentName, final String nodeName, final String discriminator,
     }
 
     public static ObjectNode buildPut(final String parentName, final String nodeName, final String discriminator,
index c75a2daa82ff31d578e90354f0c3d31f580828d5..c51b485f4df65db3f758a99d3960f0bb767fc8fc 100644 (file)
@@ -35,7 +35,6 @@ import org.opendaylight.mdsal.dom.api.DOMMountPointListener;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.URIType;
 import org.opendaylight.netconf.sal.rest.doc.impl.BaseYangSwaggerGenerator;
 import org.opendaylight.netconf.sal.rest.doc.impl.DefinitionNames;
 import org.opendaylight.netconf.sal.rest.doc.swagger.CommonApiObject;
 import org.opendaylight.netconf.sal.rest.doc.impl.BaseYangSwaggerGenerator;
 import org.opendaylight.netconf.sal.rest.doc.impl.DefinitionNames;
 import org.opendaylight.netconf.sal.rest.doc.swagger.CommonApiObject;
@@ -89,9 +88,9 @@ public class MountPointSwagger implements DOMMountPointListener, AutoCloseable {
 
     public Map<String, Long> getInstanceIdentifiers() {
         final Map<String, Long> urlToId = new HashMap<>();
 
     public Map<String, Long> getInstanceIdentifiers() {
         final Map<String, Long> urlToId = new HashMap<>();
-        synchronized (this.lock) {
-            final SchemaContext context = this.globalSchema.getGlobalContext();
-            for (final Entry<YangInstanceIdentifier, Long> entry : this.instanceIdToLongId.entrySet()) {
+        synchronized (lock) {
+            final SchemaContext context = globalSchema.getGlobalContext();
+            for (final Entry<YangInstanceIdentifier, Long> entry : instanceIdToLongId.entrySet()) {
                 final String modName = findModuleName(entry.getKey(), context);
                 urlToId.put(swaggerGenerator.generateUrlPrefixFromInstanceID(entry.getKey(), modName),
                         entry.getValue());
                 final String modName = findModuleName(entry.getKey(), context);
                 urlToId.put(swaggerGenerator.generateUrlPrefixFromInstanceID(entry.getKey(), modName),
                         entry.getValue());
@@ -111,14 +110,14 @@ public class MountPointSwagger implements DOMMountPointListener, AutoCloseable {
     }
 
     private String getYangMountUrl(final YangInstanceIdentifier key) {
     }
 
     private String getYangMountUrl(final YangInstanceIdentifier key) {
-        final String modName = findModuleName(key, this.globalSchema.getGlobalContext());
+        final String modName = findModuleName(key, globalSchema.getGlobalContext());
         return swaggerGenerator.generateUrlPrefixFromInstanceID(key, modName) + "yang-ext:mount";
     }
 
     private YangInstanceIdentifier getInstanceId(final Long id) {
         final YangInstanceIdentifier instanceId;
         return swaggerGenerator.generateUrlPrefixFromInstanceID(key, modName) + "yang-ext:mount";
     }
 
     private YangInstanceIdentifier getInstanceId(final Long id) {
         final YangInstanceIdentifier instanceId;
-        synchronized (this.lock) {
-            instanceId = this.longIdToInstanceId.get(id);
+        synchronized (lock) {
+            instanceId = longIdToInstanceId.get(id);
         }
         return instanceId;
     }
         }
         return instanceId;
     }
@@ -129,14 +128,14 @@ public class MountPointSwagger implements DOMMountPointListener, AutoCloseable {
         }
 
         checkState(mountService != null);
         }
 
         checkState(mountService != null);
-        return this.mountService.getMountPoint(id)
+        return mountService.getMountPoint(id)
             .flatMap(mountPoint -> mountPoint.getService(DOMSchemaService.class))
             .flatMap(svc -> Optional.ofNullable(svc.getGlobalContext()))
             .orElse(null);
     }
 
     public CommonApiObject getMountPointApi(final UriInfo uriInfo, final Long id, final String module,
             .flatMap(mountPoint -> mountPoint.getService(DOMSchemaService.class))
             .flatMap(svc -> Optional.ofNullable(svc.getGlobalContext()))
             .orElse(null);
     }
 
     public CommonApiObject getMountPointApi(final UriInfo uriInfo, final Long id, final String module,
-                                            final String revision, final URIType uriType, final OAversion oaversion) {
+                                            final String revision, final OAversion oaversion) {
         final YangInstanceIdentifier iid = getInstanceId(id);
         final EffectiveModelContext context = getSchemaContext(iid);
         final String urlPrefix = getYangMountUrl(iid);
         final YangInstanceIdentifier iid = getInstanceId(id);
         final EffectiveModelContext context = getSchemaContext(iid);
         final String urlPrefix = getYangMountUrl(iid);
@@ -150,12 +149,12 @@ public class MountPointSwagger implements DOMMountPointListener, AutoCloseable {
             return generateDataStoreApiDoc(uriInfo, urlPrefix, deviceName);
         }
         final SwaggerObject swaggerObject = swaggerGenerator.getApiDeclaration(module, revision, uriInfo, context,
             return generateDataStoreApiDoc(uriInfo, urlPrefix, deviceName);
         }
         final SwaggerObject swaggerObject = swaggerGenerator.getApiDeclaration(module, revision, uriInfo, context,
-                urlPrefix, uriType, oaversion);
+                urlPrefix, oaversion);
         return BaseYangSwaggerGenerator.getAppropriateDoc(swaggerObject, oaversion);
     }
 
     public CommonApiObject getMountPointApi(final UriInfo uriInfo, final Long id, final Optional<Integer> pageNum,
         return BaseYangSwaggerGenerator.getAppropriateDoc(swaggerObject, oaversion);
     }
 
     public CommonApiObject getMountPointApi(final UriInfo uriInfo, final Long id, final Optional<Integer> pageNum,
-                                            final URIType uriType, final OAversion oaversion) {
+                                            final OAversion oaversion) {
         final YangInstanceIdentifier iid = getInstanceId(id);
         final EffectiveModelContext context = getSchemaContext(iid);
         final String urlPrefix = getYangMountUrl(iid);
         final YangInstanceIdentifier iid = getInstanceId(id);
         final EffectiveModelContext context = getSchemaContext(iid);
         final String urlPrefix = getYangMountUrl(iid);
@@ -184,7 +183,7 @@ public class MountPointSwagger implements DOMMountPointListener, AutoCloseable {
         final SwaggerObject doc;
 
         final SwaggerObject swaggerObject = swaggerGenerator.getAllModulesDoc(uriInfo, range, context,
         final SwaggerObject doc;
 
         final SwaggerObject swaggerObject = swaggerGenerator.getAllModulesDoc(uriInfo, range, context,
-                Optional.of(deviceName), urlPrefix, definitionNames, uriType, oaversion);
+                Optional.of(deviceName), urlPrefix, definitionNames, oaversion);
 
         if (includeDataStore) {
             doc = generateDataStoreApiDoc(uriInfo, urlPrefix, deviceName);
 
         if (includeDataStore) {
             doc = generateDataStoreApiDoc(uriInfo, urlPrefix, deviceName);
@@ -244,20 +243,20 @@ public class MountPointSwagger implements DOMMountPointListener, AutoCloseable {
 
     @Override
     public void onMountPointCreated(final YangInstanceIdentifier path) {
 
     @Override
     public void onMountPointCreated(final YangInstanceIdentifier path) {
-        synchronized (this.lock) {
+        synchronized (lock) {
             LOG.debug("Mount point {} created", path);
             LOG.debug("Mount point {} created", path);
-            final Long idLong = this.idKey.incrementAndGet();
-            this.instanceIdToLongId.put(path, idLong);
-            this.longIdToInstanceId.put(idLong, path);
+            final Long idLong = idKey.incrementAndGet();
+            instanceIdToLongId.put(path, idLong);
+            longIdToInstanceId.put(idLong, path);
         }
     }
 
     @Override
     public void onMountPointRemoved(final YangInstanceIdentifier path) {
         }
     }
 
     @Override
     public void onMountPointRemoved(final YangInstanceIdentifier path) {
-        synchronized (this.lock) {
+        synchronized (lock) {
             LOG.debug("Mount point {} removed", path);
             LOG.debug("Mount point {} removed", path);
-            final Long id = this.instanceIdToLongId.remove(path);
-            this.longIdToInstanceId.remove(id);
+            final Long id = instanceIdToLongId.remove(path);
+            longIdToInstanceId.remove(id);
         }
     }
 }
         }
     }
 }
index 7d1c2fe77105b1df480daba8f5063c1c4d2ec1d1..439099bbbfb7cda5d548d9d514c226d4c3b2d945 100644 (file)
@@ -7,45 +7,29 @@ This program and the accompanying materials are made available under the
 terms of the Eclipse Public License v1.0 which accompanies this distribution,
 and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
 terms of the Eclipse Public License v1.0 which accompanies this distribution,
 and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-           xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
-           odl:use-default-for-reference-types="true">
-
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
     <reference id="schemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService"/>
     <reference id="domMountPointService" interface="org.opendaylight.mdsal.dom.api.DOMMountPointService"/>
     <reference id="webServer" interface="org.opendaylight.aaa.web.WebServer"/>
     <reference id="webContextSecurer" interface="org.opendaylight.aaa.web.WebContextSecurer"/>
     <reference id="servletSupport" interface="org.opendaylight.aaa.web.servlet.ServletSupport" />
 
     <reference id="schemaService" interface="org.opendaylight.mdsal.dom.api.DOMSchemaService"/>
     <reference id="domMountPointService" interface="org.opendaylight.mdsal.dom.api.DOMMountPointService"/>
     <reference id="webServer" interface="org.opendaylight.aaa.web.WebServer"/>
     <reference id="webContextSecurer" interface="org.opendaylight.aaa.web.WebContextSecurer"/>
     <reference id="servletSupport" interface="org.opendaylight.aaa.web.servlet.ServletSupport" />
 
-    <bean id="mountPointDraft02" class="org.opendaylight.netconf.sal.rest.doc.impl.MountPointSwaggerGeneratorDraft02"
-            destroy-method="close">
-        <argument ref="schemaService" />
-        <argument ref="domMountPointService" />
-    </bean>
-
     <bean id="mountPointRFC8040" class="org.opendaylight.netconf.sal.rest.doc.impl.MountPointSwaggerGeneratorRFC8040"
             destroy-method="close">
         <argument ref="schemaService" />
         <argument ref="domMountPointService" />
     </bean>
 
     <bean id="mountPointRFC8040" class="org.opendaylight.netconf.sal.rest.doc.impl.MountPointSwaggerGeneratorRFC8040"
             destroy-method="close">
         <argument ref="schemaService" />
         <argument ref="domMountPointService" />
     </bean>
 
-    <bean id="apiDocDraftO2" class="org.opendaylight.netconf.sal.rest.doc.impl.ApiDocGeneratorDraftO2">
-        <argument ref="schemaService" />
-    </bean>
-
     <bean id="apiDocRFC8040" class="org.opendaylight.netconf.sal.rest.doc.impl.ApiDocGeneratorRFC8040">
         <argument ref="schemaService" />
     </bean>
 
     <bean id="allModulesDoc" class="org.opendaylight.netconf.sal.rest.doc.impl.AllModulesDocGenerator">
     <bean id="apiDocRFC8040" class="org.opendaylight.netconf.sal.rest.doc.impl.ApiDocGeneratorRFC8040">
         <argument ref="schemaService" />
     </bean>
 
     <bean id="allModulesDoc" class="org.opendaylight.netconf.sal.rest.doc.impl.AllModulesDocGenerator">
-        <argument ref="apiDocDraftO2" />
         <argument ref="apiDocRFC8040" />
     </bean>
 
     <bean id="apiDocService" class="org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl">
         <argument ref="apiDocRFC8040" />
     </bean>
 
     <bean id="apiDocService" class="org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl">
-        <argument ref="mountPointDraft02" />
         <argument ref="mountPointRFC8040" />
         <argument ref="mountPointRFC8040" />
-        <argument ref="apiDocDraftO2" />
         <argument ref="apiDocRFC8040" />
         <argument ref="allModulesDoc" />
     </bean>
         <argument ref="apiDocRFC8040" />
         <argument ref="allModulesDoc" />
     </bean>
@@ -60,5 +44,5 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
         <argument ref="webContextSecurer"/>
         <argument ref="servletSupport"/>
         <argument ref="apiDocApplication"/>
         <argument ref="webContextSecurer"/>
         <argument ref="servletSupport"/>
         <argument ref="apiDocApplication"/>
-  </bean>
+    </bean>
 </blueprint>
 </blueprint>
diff --git a/restconf/sal-rest-docgen/src/test/java/org/opendaylight/controller/sal/rest/doc/impl/ApiDocGeneratorDraftO2Test.java b/restconf/sal-rest-docgen/src/test/java/org/opendaylight/controller/sal/rest/doc/impl/ApiDocGeneratorDraftO2Test.java
deleted file mode 100644 (file)
index 77a3583..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.controller.sal.rest.doc.impl;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.ImmutableList;
-import java.util.List;
-import org.junit.Test;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocGeneratorDraftO2;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.URIType;
-import org.opendaylight.netconf.sal.rest.doc.swagger.SwaggerObject;
-import org.opendaylight.yangtools.yang.common.Revision;
-
-public final class ApiDocGeneratorDraftO2Test extends AbstractApiDocTest {
-    private static final String NAME = "toaster2";
-    private static final String REVISION_DATE = "2009-11-20";
-    private static final String NAME_2 = "toaster";
-    private static final String REVISION_DATE_2 = "2009-11-20";
-
-    private final ApiDocGeneratorDraftO2 generator = new ApiDocGeneratorDraftO2(SCHEMA_SERVICE);
-
-    /**
-     * Test that paths are generated according to the model.
-     */
-    @Test
-    public void testPaths() {
-        final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow();
-        final var doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT, URIType.DRAFT02,
-            ApiDocServiceImpl.OAversion.V2_0);
-
-        assertEquals(List.of("/restconf/config",
-            "/restconf/config/toaster2:toaster",
-            "/restconf/config/toaster2:toaster/toasterSlot/{slotId}",
-            "/restconf/config/toaster2:toaster/toasterSlot/{slotId}/toaster-augmented:slotInfo",
-            "/restconf/operational/toaster2:toaster",
-            "/restconf/operational/toaster2:toaster/toasterSlot/{slotId}",
-            "/restconf/operational/toaster2:toaster/toasterSlot/{slotId}/toaster-augmented:slotInfo",
-            "/restconf/config/toaster2:lst",
-            "/restconf/config/toaster2:lst/cont1",
-            "/restconf/config/toaster2:lst/cont1/cont11",
-            "/restconf/config/toaster2:lst/cont1/lst11",
-            "/restconf/config/toaster2:lst/lst1/{key1}/{key2}",
-            "/restconf/operational/toaster2:lst",
-            "/restconf/operational/toaster2:lst/cont1",
-            "/restconf/operational/toaster2:lst/cont1/cont11",
-            "/restconf/operational/toaster2:lst/cont1/lst11",
-            "/restconf/operational/toaster2:lst/lst1/{key1}/{key2}",
-            "/restconf/operations/toaster2:make-toast",
-            "/restconf/operations/toaster2:cancel-toast",
-            "/restconf/operations/toaster2:restock-toaster"),
-            ImmutableList.copyOf(doc.getPaths().fieldNames()));
-    }
-
-    /**
-     * Test that generated configuration paths allow to use operations: get, put, delete and post.
-     */
-    @Test
-    public void testConfigPaths() {
-        final List<String> configPaths = List.of("/restconf/config/toaster2:lst",
-            "/restconf/config/toaster2:lst/cont1",
-            "/restconf/config/toaster2:lst/cont1/cont11",
-            "/restconf/config/toaster2:lst/cont1/lst11",
-            "/restconf/config/toaster2:lst/lst1/{key1}/{key2}");
-
-        final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow();
-        final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
-            URIType.DRAFT02, ApiDocServiceImpl.OAversion.V2_0);
-
-        for (final String path : configPaths) {
-            final JsonNode node = doc.getPaths().get(path);
-            assertFalse(node.path("get").isMissingNode());
-            assertFalse(node.path("put").isMissingNode());
-            assertFalse(node.path("delete").isMissingNode());
-            assertFalse(node.path("post").isMissingNode());
-        }
-    }
-
-    /**
-     * Test that generated document contains the following definitions.
-     */
-    @Test
-    public void testDefinitions() {
-        final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow();
-        final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
-            URIType.DRAFT02, ApiDocServiceImpl.OAversion.V2_0);
-
-        final ObjectNode definitions = doc.getDefinitions();
-        assertNotNull(definitions);
-
-        final JsonNode configLstTop = definitions.get("toaster2_config_lst_TOP");
-        assertNotNull(configLstTop);
-        DocGenTestHelper.containsReferences(configLstTop, "lst", "#/definitions/toaster2_config_lst");
-
-        final JsonNode configLst = definitions.get("toaster2_config_lst");
-        assertNotNull(configLst);
-        DocGenTestHelper.containsReferences(configLst, "lst1", "#/definitions/toaster2_lst_config_lst1");
-        DocGenTestHelper.containsReferences(configLst, "cont1", "#/definitions/toaster2_lst_config_cont1");
-
-        final JsonNode configLst1Top = definitions.get("toaster2_lst_config_lst1_TOP");
-        assertNotNull(configLst1Top);
-        DocGenTestHelper.containsReferences(configLst1Top, "lst1", "#/definitions/toaster2_lst_config_lst1");
-
-        final JsonNode configLst1 = definitions.get("toaster2_lst_config_lst1");
-        assertNotNull(configLst1);
-
-        final JsonNode configCont1Top = definitions.get("toaster2_lst_config_cont1_TOP");
-        assertNotNull(configCont1Top);
-        DocGenTestHelper.containsReferences(configCont1Top, "cont1", "#/definitions/toaster2_lst_config_cont1");
-
-        final JsonNode configCont1 = definitions.get("toaster2_lst_config_cont1");
-        assertNotNull(configCont1);
-        DocGenTestHelper.containsReferences(configCont1, "cont11", "#/definitions/toaster2_lst_cont1_config_cont11");
-        DocGenTestHelper.containsReferences(configCont1, "lst11", "#/definitions/toaster2_lst_cont1_config_lst11");
-
-        final JsonNode configCont11Top = definitions.get("toaster2_lst_cont1_config_cont11_TOP");
-        assertNotNull(configCont11Top);
-        DocGenTestHelper.containsReferences(configCont11Top,
-            "cont11", "#/definitions/toaster2_lst_cont1_config_cont11");
-
-        final JsonNode configCont11 = definitions.get("toaster2_lst_cont1_config_cont11");
-        assertNotNull(configCont11);
-
-        final JsonNode configLst11Top = definitions.get("toaster2_lst_cont1_config_lst11_TOP");
-        assertNotNull(configLst11Top);
-        DocGenTestHelper.containsReferences(configLst11Top, "lst11", "#/definitions/toaster2_lst_cont1_config_lst11");
-
-        final JsonNode configLst11 = definitions.get("toaster2_lst_cont1_config_lst11");
-        assertNotNull(configLst11);
-    }
-
-    /**
-     * Test that generated document contains RPC definition for "make-toast" with correct input.
-     */
-    @Test
-    public void testRPC() {
-        final var module = CONTEXT.findModule(NAME_2, Revision.of(REVISION_DATE_2)).orElseThrow();
-        final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
-            URIType.DRAFT02, ApiDocServiceImpl.OAversion.V2_0);
-        assertNotNull(doc);
-
-        final ObjectNode definitions = doc.getDefinitions();
-        final JsonNode inputTop = definitions.get("toaster_make-toast_input_TOP");
-        assertNotNull(inputTop);
-        final String testString = "{\"input\":{\"$ref\":\"#/definitions/toaster_make-toast_input\"}}";
-        assertEquals(testString, inputTop.get("properties").toString());
-        final JsonNode input = definitions.get("toaster_make-toast_input");
-        final JsonNode properties = input.get("properties");
-        assertTrue(properties.has("toasterDoneness"));
-        assertTrue(properties.has("toasterToastType"));
-    }
-}
index ff56d801a051bee5cc778fa87b25fb77feb300ee..5ff15734135a51e56969eff483fa572ccdd6c447 100644 (file)
@@ -19,7 +19,6 @@ import java.util.List;
 import org.junit.Test;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocGeneratorRFC8040;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl;
 import org.junit.Test;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocGeneratorRFC8040;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.URIType;
 import org.opendaylight.netconf.sal.rest.doc.swagger.SwaggerObject;
 import org.opendaylight.yangtools.yang.common.Revision;
 
 import org.opendaylight.netconf.sal.rest.doc.swagger.SwaggerObject;
 import org.opendaylight.yangtools.yang.common.Revision;
 
@@ -38,7 +37,7 @@ public final class ApiDocGeneratorRFC8040Test extends AbstractApiDocTest {
     public void testPaths() {
         final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow();
         final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
     public void testPaths() {
         final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow();
         final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
-            URIType.RFC8040, ApiDocServiceImpl.OAversion.V2_0);
+            ApiDocServiceImpl.OAversion.V2_0);
 
         assertEquals(List.of("/rests/data",
             "/rests/data/toaster2:toaster",
 
         assertEquals(List.of("/rests/data",
             "/rests/data/toaster2:toaster",
@@ -68,7 +67,7 @@ public final class ApiDocGeneratorRFC8040Test extends AbstractApiDocTest {
 
         final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow();
         final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
 
         final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow();
         final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
-            URIType.RFC8040, ApiDocServiceImpl.OAversion.V2_0);
+            ApiDocServiceImpl.OAversion.V2_0);
 
         for (final String path : configPaths) {
             final JsonNode node = doc.getPaths().get(path);
 
         for (final String path : configPaths) {
             final JsonNode node = doc.getPaths().get(path);
@@ -86,7 +85,7 @@ public final class ApiDocGeneratorRFC8040Test extends AbstractApiDocTest {
     public void testDefinitions() {
         final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow();
         final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
     public void testDefinitions() {
         final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow();
         final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
-            URIType.RFC8040, ApiDocServiceImpl.OAversion.V2_0);
+            ApiDocServiceImpl.OAversion.V2_0);
 
         final ObjectNode definitions = doc.getDefinitions();
         assertNotNull(definitions);
 
         final ObjectNode definitions = doc.getDefinitions();
         assertNotNull(definitions);
@@ -139,7 +138,7 @@ public final class ApiDocGeneratorRFC8040Test extends AbstractApiDocTest {
     public void testRPC() {
         final var module = CONTEXT.findModule(NAME_2, Revision.of(REVISION_DATE_2)).orElseThrow();
         final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
     public void testRPC() {
         final var module = CONTEXT.findModule(NAME_2, Revision.of(REVISION_DATE_2)).orElseThrow();
         final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT,
-            URIType.RFC8040, ApiDocServiceImpl.OAversion.V2_0);
+            ApiDocServiceImpl.OAversion.V2_0);
         assertNotNull(doc);
 
         final ObjectNode definitions = doc.getDefinitions();
         assertNotNull(doc);
 
         final ObjectNode definitions = doc.getDefinitions();
index 61ee1ed28e846691731839eb20e51db6e30593a1..ec9b3a2590588a1bc2672c6da2e5dd62577b1ffc 100644 (file)
@@ -21,10 +21,8 @@ import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.netconf.sal.rest.doc.api.ApiDocService;
 import org.opendaylight.netconf.sal.rest.doc.impl.AllModulesDocGenerator;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.netconf.sal.rest.doc.api.ApiDocService;
 import org.opendaylight.netconf.sal.rest.doc.impl.AllModulesDocGenerator;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocGeneratorDraftO2;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocGeneratorRFC8040;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocGeneratorRFC8040;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl;
-import org.opendaylight.netconf.sal.rest.doc.impl.MountPointSwaggerGeneratorDraft02;
 import org.opendaylight.netconf.sal.rest.doc.impl.MountPointSwaggerGeneratorRFC8040;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.netconf.sal.rest.doc.impl.MountPointSwaggerGeneratorRFC8040;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -45,17 +43,12 @@ public final class ApiDocServiceImplTest extends AbstractApiDocTest {
 
         final DOMMountPointService service = mock(DOMMountPointService.class);
         when(service.getMountPoint(INSTANCE_ID)).thenReturn(Optional.of(mountPoint));
 
         final DOMMountPointService service = mock(DOMMountPointService.class);
         when(service.getMountPoint(INSTANCE_ID)).thenReturn(Optional.of(mountPoint));
-        final MountPointSwaggerGeneratorDraft02 mountPointDraft02 =
-                new MountPointSwaggerGeneratorDraft02(SCHEMA_SERVICE, service);
         final MountPointSwaggerGeneratorRFC8040 mountPointRFC8040 =
                 new MountPointSwaggerGeneratorRFC8040(SCHEMA_SERVICE, service);
         final MountPointSwaggerGeneratorRFC8040 mountPointRFC8040 =
                 new MountPointSwaggerGeneratorRFC8040(SCHEMA_SERVICE, service);
-        final ApiDocGeneratorDraftO2 apiDocGeneratorDraftO2 = new ApiDocGeneratorDraftO2(SCHEMA_SERVICE);
         final ApiDocGeneratorRFC8040 apiDocGeneratorRFC8040 = new ApiDocGeneratorRFC8040(SCHEMA_SERVICE);
         final ApiDocGeneratorRFC8040 apiDocGeneratorRFC8040 = new ApiDocGeneratorRFC8040(SCHEMA_SERVICE);
-        mountPointDraft02.getMountPointSwagger().onMountPointCreated(INSTANCE_ID);
-        final AllModulesDocGenerator allModulesDocGenerator = new AllModulesDocGenerator(apiDocGeneratorDraftO2,
-                apiDocGeneratorRFC8040);
-        apiDocService = new ApiDocServiceImpl(mountPointDraft02, mountPointRFC8040, apiDocGeneratorDraftO2,
-                apiDocGeneratorRFC8040, allModulesDocGenerator);
+        mountPointRFC8040.getMountPointSwagger().onMountPointCreated(INSTANCE_ID);
+        final AllModulesDocGenerator allModulesDocGenerator = new AllModulesDocGenerator(apiDocGeneratorRFC8040);
+        apiDocService = new ApiDocServiceImpl(mountPointRFC8040, apiDocGeneratorRFC8040, allModulesDocGenerator);
     }
 
     @Test
     }
 
     @Test
@@ -64,6 +57,6 @@ public final class ApiDocServiceImplTest extends AbstractApiDocTest {
         // simulate the behavior of JacksonJaxbJsonProvider
         final ObjectMapper mapper = new ObjectMapper();
         final String result = mapper.writer().writeValueAsString(apiDocService.getListOfMounts(mockInfo).getEntity());
         // simulate the behavior of JacksonJaxbJsonProvider
         final ObjectMapper mapper = new ObjectMapper();
         final String result = mapper.writer().writeValueAsString(apiDocService.getListOfMounts(mockInfo).getEntity());
-        assertEquals("[{\"instance\":\"/nodes/node/123/\",\"id\":1}]", result);
+        assertEquals("[{\"instance\":\"/nodes/node=123/\",\"id\":1}]", result);
     }
 }
     }
 }
index 56d3e910dc4d05d8691c0e35efc120eaf39a295c..1f241da3dd59121dd54e3c4f8947256d4e5b49be 100644 (file)
@@ -15,7 +15,6 @@ import static org.mockito.Mockito.when;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import java.util.Iterator;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
@@ -27,8 +26,7 @@ import org.opendaylight.mdsal.dom.api.DOMMountPoint;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.OAversion;
-import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.URIType;
-import org.opendaylight.netconf.sal.rest.doc.impl.MountPointSwaggerGeneratorDraft02;
+import org.opendaylight.netconf.sal.rest.doc.impl.MountPointSwaggerGeneratorRFC8040;
 import org.opendaylight.netconf.sal.rest.doc.mountpoints.MountPointSwagger;
 import org.opendaylight.netconf.sal.rest.doc.swagger.SwaggerObject;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.netconf.sal.rest.doc.mountpoints.MountPointSwagger;
 import org.opendaylight.netconf.sal.rest.doc.swagger.SwaggerObject;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -40,7 +38,7 @@ public final class MountPointSwaggerTest extends AbstractApiDocTest {
             .node(QName.create("", "nodes"))
             .node(QName.create("", "node"))
             .nodeWithKey(QName.create("", "node"), QName.create("", "id"), "123").build();
             .node(QName.create("", "nodes"))
             .node(QName.create("", "node"))
             .nodeWithKey(QName.create("", "node"), QName.create("", "id"), "123").build();
-    private static final String INSTANCE_URL = "/nodes/node/123/";
+    private static final String INSTANCE_URL = "/nodes/node=123/";
 
     private MountPointSwagger swagger;
 
 
     private MountPointSwagger swagger;
 
@@ -55,7 +53,7 @@ public final class MountPointSwaggerTest extends AbstractApiDocTest {
         final DOMMountPointService service = mock(DOMMountPointService.class);
         when(service.getMountPoint(INSTANCE_ID)).thenReturn(Optional.of(mountPoint));
 
         final DOMMountPointService service = mock(DOMMountPointService.class);
         when(service.getMountPoint(INSTANCE_ID)).thenReturn(Optional.of(mountPoint));
 
-        swagger = new MountPointSwaggerGeneratorDraft02(SCHEMA_SERVICE, service).getMountPointSwagger();
+        swagger = new MountPointSwaggerGeneratorRFC8040(SCHEMA_SERVICE, service).getMountPointSwagger();
     }
 
     @Test()
     }
 
     @Test()
@@ -76,14 +74,14 @@ public final class MountPointSwaggerTest extends AbstractApiDocTest {
         final UriInfo mockInfo = DocGenTestHelper.createMockUriInfo(HTTP_URL);
         swagger.onMountPointCreated(INSTANCE_ID); // add this ID into the list of mount points
 
         final UriInfo mockInfo = DocGenTestHelper.createMockUriInfo(HTTP_URL);
         swagger.onMountPointCreated(INSTANCE_ID); // add this ID into the list of mount points
 
-        final SwaggerObject mountPointApi = (SwaggerObject) swagger.getMountPointApi(mockInfo, 1L, "Datastores",
-                "-", URIType.DRAFT02, OAversion.V2_0);
+        final SwaggerObject mountPointApi = (SwaggerObject) swagger.getMountPointApi(mockInfo, 1L, "Datastores", "-",
+            OAversion.V2_0);
         assertNotNull("failed to find Datastore API", mountPointApi);
 
         final ObjectNode pathsObject = mountPointApi.getPaths();
         assertNotNull(pathsObject);
 
         assertNotNull("failed to find Datastore API", mountPointApi);
 
         final ObjectNode pathsObject = mountPointApi.getPaths();
         assertNotNull(pathsObject);
 
-        assertEquals("Unexpected api list size", 3, pathsObject.size());
+        assertEquals("Unexpected api list size", 2, pathsObject.size());
 
         final Set<String> actualUrls = new TreeSet<>();
 
 
         final Set<String> actualUrls = new TreeSet<>();
 
@@ -102,10 +100,7 @@ public final class MountPointSwaggerTest extends AbstractApiDocTest {
             assertNotNull("expected non-null desc on " + path, getOperation.get("description"));
         }
 
             assertNotNull("expected non-null desc on " + path, getOperation.get("description"));
         }
 
-        final Set<String> expectedUrls = new TreeSet<>(List.of(
-                "/restconf/config" + INSTANCE_URL + "yang-ext:mount",
-                "/restconf/operational" + INSTANCE_URL + "yang-ext:mount",
-                "/restconf/operations" + INSTANCE_URL + "yang-ext:mount"));
-        assertEquals(expectedUrls, actualUrls);
+        assertEquals(Set.of("/rests/data" + INSTANCE_URL + "yang-ext:mount",
+            "/rests/operations" + INSTANCE_URL + "yang-ext:mount"), actualUrls);
     }
 }
     }
 }