summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vpp-integration/api-docs/api/pom.xml7
-rw-r--r--vpp-integration/api-docs/api/src/main/java/io/fd/hc2vpp/docs/api/CoverageUnit.java24
-rw-r--r--vpp-integration/api-docs/api/src/main/java/io/fd/hc2vpp/docs/api/VppApiMessage.java9
-rw-r--r--vpp-integration/api-docs/scripts/src/main/groovy/io/fd/hc2vpp/docs/scripts/ApiDocsIndexGenerator.groovy2
4 files changed, 30 insertions, 12 deletions
diff --git a/vpp-integration/api-docs/api/pom.xml b/vpp-integration/api-docs/api/pom.xml
index 78361fdd2..52c24ea80 100644
--- a/vpp-integration/api-docs/api/pom.xml
+++ b/vpp-integration/api-docs/api/pom.xml
@@ -25,6 +25,13 @@
<relativePath>../../../common/hc2vpp-parent</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
+ <dependencies>
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <version>3.0.0</version>
+ </dependency>
+ </dependencies>
<properties>
<sonar.skip>true</sonar.skip>
diff --git a/vpp-integration/api-docs/api/src/main/java/io/fd/hc2vpp/docs/api/CoverageUnit.java b/vpp-integration/api-docs/api/src/main/java/io/fd/hc2vpp/docs/api/CoverageUnit.java
index e04d28304..5c8247177 100644
--- a/vpp-integration/api-docs/api/src/main/java/io/fd/hc2vpp/docs/api/CoverageUnit.java
+++ b/vpp-integration/api-docs/api/src/main/java/io/fd/hc2vpp/docs/api/CoverageUnit.java
@@ -16,15 +16,18 @@
package io.fd.hc2vpp.docs.api;
+import static java.util.Objects.requireNonNull;
+
import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.Set;
+import javax.annotation.Nonnull;
/**
* Represents mapping between single supported VPP binary api and its binding
*/
-public class CoverageUnit {
+public class CoverageUnit implements Comparable<CoverageUnit> {
/**
* VPP binary api reference
@@ -46,13 +49,13 @@ public class CoverageUnit {
*/
private final Collection<Operation> supportedOperations;
- private CoverageUnit(final VppApiMessage vppApi, final JavaApiMessage javaApi,
- final List<YangType> yangTypes,
- final Collection<Operation> supportedOperations) {
- this.vppApi = vppApi;
- this.javaApi = javaApi;
- this.yangTypes = yangTypes;
- this.supportedOperations = supportedOperations;
+ private CoverageUnit(@Nonnull final VppApiMessage vppApi, @Nonnull final JavaApiMessage javaApi,
+ @Nonnull final List<YangType> yangTypes,
+ @Nonnull final Collection<Operation> supportedOperations) {
+ this.vppApi = requireNonNull(vppApi, "vppApi should not be null");
+ this.javaApi = requireNonNull(javaApi, "javaApi should not be null");
+ this.yangTypes = requireNonNull(yangTypes, "yangTypes should not be null");
+ this.supportedOperations = requireNonNull(supportedOperations, "supportedOperations should not be null");
}
public VppApiMessage getVppApi() {
@@ -93,6 +96,11 @@ public class CoverageUnit {
return Objects.hash(vppApi, javaApi, yangTypes, supportedOperations);
}
+ @Override
+ public int compareTo(final CoverageUnit o) {
+ return vppApi.getName().compareTo(o.getVppApi().getName());
+ }
+
public static class CoverageUnitBuilder {
private VppApiMessage vppApi;
private JavaApiMessage javaApi;
diff --git a/vpp-integration/api-docs/api/src/main/java/io/fd/hc2vpp/docs/api/VppApiMessage.java b/vpp-integration/api-docs/api/src/main/java/io/fd/hc2vpp/docs/api/VppApiMessage.java
index 78010471a..5be743241 100644
--- a/vpp-integration/api-docs/api/src/main/java/io/fd/hc2vpp/docs/api/VppApiMessage.java
+++ b/vpp-integration/api-docs/api/src/main/java/io/fd/hc2vpp/docs/api/VppApiMessage.java
@@ -16,7 +16,10 @@
package io.fd.hc2vpp.docs.api;
+import static java.util.Objects.requireNonNull;
+
import java.util.Objects;
+import javax.annotation.Nonnull;
/**
* Represents reference to VPP binary api
@@ -34,9 +37,9 @@ public class VppApiMessage {
// TODO - check if possible to add direct link for specific api
private final String link;
- public VppApiMessage(final String name, final String link) {
- this.name = name;
- this.link = link;
+ public VppApiMessage(@Nonnull final String name, @Nonnull final String link) {
+ this.name = requireNonNull(name, "name should not be null");
+ this.link = requireNonNull(link, "link should not be null");
}
public String getName() {
diff --git a/vpp-integration/api-docs/scripts/src/main/groovy/io/fd/hc2vpp/docs/scripts/ApiDocsIndexGenerator.groovy b/vpp-integration/api-docs/scripts/src/main/groovy/io/fd/hc2vpp/docs/scripts/ApiDocsIndexGenerator.groovy
index ae6ebc606..de15d7b9b 100644
--- a/vpp-integration/api-docs/scripts/src/main/groovy/io/fd/hc2vpp/docs/scripts/ApiDocsIndexGenerator.groovy
+++ b/vpp-integration/api-docs/scripts/src/main/groovy/io/fd/hc2vpp/docs/scripts/ApiDocsIndexGenerator.groovy
@@ -123,7 +123,7 @@ class ApiDocsIndexGenerator {
}
private static String generateConfigTableContent(final Set<CoverageUnit> coverage) {
- coverage.stream()
+ coverage.stream().sorted()
.map { unit ->
"$NL" +
"${vppApiWithLink(unit.vppApi)}" +