mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-14 17:01:02 +02:00
ONOS-3607 Add Criteria model for Flows REST Api with field description.
Change Model parsing in Swagger mojo for whitspaces stripping. Also, readding onos-maven-plugin to root pom build temporarily. Change-Id: I8995c74d762a3e59acebe15cc600a0f1bfa41411
This commit is contained in:
parent
c23f583cd0
commit
82baf6b5cd
3
pom.xml
3
pom.xml
@ -54,6 +54,7 @@
|
|||||||
|
|
||||||
<module>tools/package/archetypes</module>
|
<module>tools/package/archetypes</module>
|
||||||
<module>tools/package/branding</module>
|
<module>tools/package/branding</module>
|
||||||
|
<module>tools/package/maven-plugin</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<url>http://onosproject.org/</url>
|
<url>http://onosproject.org/</url>
|
||||||
@ -78,7 +79,7 @@
|
|||||||
<netty4.version>4.0.23.Final</netty4.version>
|
<netty4.version>4.0.23.Final</netty4.version>
|
||||||
<copycat.version>0.5.1.onos</copycat.version>
|
<copycat.version>0.5.1.onos</copycat.version>
|
||||||
<openflowj.version>0.9.1.onos</openflowj.version>
|
<openflowj.version>0.9.1.onos</openflowj.version>
|
||||||
<onos-maven-plugin.version>1.7</onos-maven-plugin.version>
|
<onos-maven-plugin.version>1.8-SNAPSHOT</onos-maven-plugin.version>
|
||||||
<karaf.version>3.0.3</karaf.version>
|
<karaf.version>3.0.3</karaf.version>
|
||||||
<jersey.version>1.19</jersey.version>
|
<jersey.version>1.19</jersey.version>
|
||||||
<!-- TODO argLine was originally added maven-surfire-plugin configuration
|
<!-- TODO argLine was originally added maven-surfire-plugin configuration
|
||||||
|
@ -91,6 +91,11 @@
|
|||||||
<artifactId>commons-io</artifactId>
|
<artifactId>commons-io</artifactId>
|
||||||
<version>2.4</version>
|
<version>2.4</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.code.gson</groupId>
|
||||||
|
<artifactId>gson</artifactId>
|
||||||
|
<version>2.5</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -18,9 +18,9 @@ package org.onosproject.maven;
|
|||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.node.ArrayNode;
|
import com.fasterxml.jackson.databind.node.ArrayNode;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||||
import com.google.common.base.Charsets;
|
|
||||||
import com.google.common.io.ByteStreams;
|
import com.google.common.io.ByteStreams;
|
||||||
import com.google.common.io.Files;
|
import com.google.common.io.Files;
|
||||||
|
import com.google.gson.JsonParser;
|
||||||
import com.thoughtworks.qdox.JavaProjectBuilder;
|
import com.thoughtworks.qdox.JavaProjectBuilder;
|
||||||
import com.thoughtworks.qdox.model.DocletTag;
|
import com.thoughtworks.qdox.model.DocletTag;
|
||||||
import com.thoughtworks.qdox.model.JavaAnnotation;
|
import com.thoughtworks.qdox.model.JavaAnnotation;
|
||||||
@ -36,6 +36,7 @@ import org.apache.maven.plugins.annotations.Parameter;
|
|||||||
import org.apache.maven.project.MavenProject;
|
import org.apache.maven.project.MavenProject;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileReader;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
@ -51,6 +52,7 @@ import static com.google.common.base.Strings.isNullOrEmpty;
|
|||||||
@Mojo(name = "swagger", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
|
@Mojo(name = "swagger", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
|
||||||
public class OnosSwaggerMojo extends AbstractMojo {
|
public class OnosSwaggerMojo extends AbstractMojo {
|
||||||
private final ObjectMapper mapper = new ObjectMapper();
|
private final ObjectMapper mapper = new ObjectMapper();
|
||||||
|
private final JsonParser jsonParser = new JsonParser();
|
||||||
|
|
||||||
private static final String JSON_FILE = "swagger.json";
|
private static final String JSON_FILE = "swagger.json";
|
||||||
private static final String GEN_SRC = "generated-sources";
|
private static final String GEN_SRC = "generated-sources";
|
||||||
@ -291,10 +293,7 @@ public class OnosSwaggerMojo extends AbstractMojo {
|
|||||||
try {
|
try {
|
||||||
File config = new File(definitionsDirectory.getAbsolutePath() + "/"
|
File config = new File(definitionsDirectory.getAbsolutePath() + "/"
|
||||||
+ param + ".json");
|
+ param + ".json");
|
||||||
String lines = Files.readLines(config, Charsets.UTF_8).stream().reduce((t, u) -> t + u).
|
definitions.putPOJO(param, jsonParser.parse(new FileReader(config)));
|
||||||
get();
|
|
||||||
lines = lines.replaceAll("\\s+", "");
|
|
||||||
definitions.putPOJO(param, lines);
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@ -155,19 +155,214 @@
|
|||||||
"items": {
|
"items": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"title": "criteria",
|
"title": "criteria",
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"ethType"
|
|
||||||
],
|
|
||||||
"properties": {
|
"properties": {
|
||||||
"type": {
|
"type": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
"description":"Ethernet field name",
|
||||||
"example": "ETH_TYPE"
|
"example": "ETH_TYPE"
|
||||||
},
|
},
|
||||||
"ethType": {
|
"ethType": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": "0x88cc",
|
||||||
|
"description":"Ethernet frame type"
|
||||||
|
},
|
||||||
|
"mac": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "00:00:11:00:00:01"
|
||||||
|
},
|
||||||
|
"port": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Match port"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"type": "Hex16",
|
||||||
|
"format": "Hex16",
|
||||||
|
"example": "0xabcdL",
|
||||||
|
"description":"Metadata passed between tables"
|
||||||
|
},
|
||||||
|
"vlanId": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": "0x1000"
|
||||||
|
},
|
||||||
|
"priority": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"VLAN priority."
|
||||||
|
},
|
||||||
|
"ipDscp": {
|
||||||
|
"type": "byte",
|
||||||
|
"format": "byte",
|
||||||
|
"description":"IP DSCP (6 bits in ToS field)"
|
||||||
|
},
|
||||||
|
"ipEcn": {
|
||||||
|
"type": "byte",
|
||||||
|
"format": "byte",
|
||||||
|
"description":"IP ECN (2 bits in ToS field)."
|
||||||
|
},
|
||||||
|
"protocol": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"IP protocol"
|
||||||
|
},
|
||||||
|
"ip": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "10.1.1.0/24",
|
||||||
|
"description":"IP source address"
|
||||||
|
},
|
||||||
|
"tcpPort": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"TCP source address"
|
||||||
|
},
|
||||||
|
"udpPort": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"UDP source address"
|
||||||
|
},
|
||||||
|
"sctpPort": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"SCTP source address"
|
||||||
|
},
|
||||||
|
"icmpType": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Internet Control Message Protocol for IPV4 code (RFC0792)"
|
||||||
|
},
|
||||||
|
"icmpCode": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Internet Control Message Protocol for IPV4 code (RFC0792)"
|
||||||
|
},
|
||||||
|
"flowLabel": {
|
||||||
|
"type": "Hex16",
|
||||||
|
"format": "Hex16",
|
||||||
|
"example": "0xffffe",
|
||||||
|
"description":"IPv6 Flow Label (RFC 6437)"
|
||||||
|
},
|
||||||
|
"icmpv6Type": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Internet Control Message Protocol for IPV6 type (RFC2463)"
|
||||||
|
},
|
||||||
|
"icmpv6Code": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Internet Control Message Protocol for IPV6 code (RFC2463)"
|
||||||
|
},
|
||||||
|
"targetAddress": {
|
||||||
|
"type": "String",
|
||||||
|
"example": "10.1.1.0/24",
|
||||||
|
"description":"IPv6 Neighbor discovery target address"
|
||||||
|
},
|
||||||
|
"label": {
|
||||||
|
"type": "int32",
|
||||||
|
"format": "int32",
|
||||||
|
"example": 1,
|
||||||
|
"description":"MPLS label"
|
||||||
|
},
|
||||||
|
"exthdrFlags": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"IPv6 extension header pseudo-field"
|
||||||
|
},
|
||||||
|
"lambda": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"wavelength abstraction"
|
||||||
|
},
|
||||||
|
"gridType": {
|
||||||
|
"type": "String",
|
||||||
|
"example": "DWDM",
|
||||||
|
"description":"Type of wavelength grid"
|
||||||
|
},
|
||||||
|
"channelSpacing": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 100,
|
||||||
|
"description":"Optical channel spacing"
|
||||||
|
},
|
||||||
|
"spacingMultiplier": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int64",
|
"format": "int64",
|
||||||
"example": "0x88cc"
|
"example": 4,
|
||||||
|
"description":"Optical channel spacing multiplier"
|
||||||
|
},
|
||||||
|
"slotGranularity": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 8
|
||||||
|
},
|
||||||
|
"ochSignalId": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Optical channel signal ID"
|
||||||
|
},
|
||||||
|
"tunnelId": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 5,
|
||||||
|
"description":"Tunnel ID"
|
||||||
|
},
|
||||||
|
"ochSignalType": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Optical channel signal type"
|
||||||
|
},
|
||||||
|
"oduSignalId": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"ODU (Optical channel Data Unit) signal ID."
|
||||||
|
},
|
||||||
|
"tributaryPortNumber": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 11,
|
||||||
|
"description":"OPU (Optical channel Payload Unit) port number."
|
||||||
|
},
|
||||||
|
"tributarySlotLen": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 80,
|
||||||
|
"description":"OPU (Optical channel Payload Unit) slot length."
|
||||||
|
},
|
||||||
|
"tributarySlotBitmap": {
|
||||||
|
"type": "array",
|
||||||
|
"title": "tributarySlotBitmap",
|
||||||
|
"description":"OPU (Optical channel Payload Unit) slot bitmap.",
|
||||||
|
"required": [
|
||||||
|
"byte",
|
||||||
|
"port"
|
||||||
|
],
|
||||||
|
"items": {
|
||||||
|
"type": "byte",
|
||||||
|
"title": "byte",
|
||||||
|
"example": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oduSignalType": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 4,
|
||||||
|
"description":"ODU (Optical channel Data Unit) signal type."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,19 +78,214 @@
|
|||||||
"items": {
|
"items": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"title": "criteria",
|
"title": "criteria",
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"ethType"
|
|
||||||
],
|
|
||||||
"properties": {
|
"properties": {
|
||||||
"type": {
|
"type": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
"description":"Ethernet field name",
|
||||||
"example": "ETH_TYPE"
|
"example": "ETH_TYPE"
|
||||||
},
|
},
|
||||||
"ethType": {
|
"ethType": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": "0x88cc",
|
||||||
|
"description":"Ethernet frame type"
|
||||||
|
},
|
||||||
|
"mac": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "00:00:11:00:00:01"
|
||||||
|
},
|
||||||
|
"port": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Match port"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"type": "Hex16",
|
||||||
|
"format": "Hex16",
|
||||||
|
"example": "0xabcdL",
|
||||||
|
"description":"Metadata passed between tables"
|
||||||
|
},
|
||||||
|
"vlanId": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": "0x1000"
|
||||||
|
},
|
||||||
|
"priority": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"VLAN priority."
|
||||||
|
},
|
||||||
|
"ipDscp": {
|
||||||
|
"type": "byte",
|
||||||
|
"format": "byte",
|
||||||
|
"description":"IP DSCP (6 bits in ToS field)"
|
||||||
|
},
|
||||||
|
"ipEcn": {
|
||||||
|
"type": "byte",
|
||||||
|
"format": "byte",
|
||||||
|
"description":"IP ECN (2 bits in ToS field)."
|
||||||
|
},
|
||||||
|
"protocol": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"IP protocol"
|
||||||
|
},
|
||||||
|
"ip": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "10.1.1.0/24",
|
||||||
|
"description":"IP source address"
|
||||||
|
},
|
||||||
|
"tcpPort": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"TCP source address"
|
||||||
|
},
|
||||||
|
"udpPort": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"UDP source address"
|
||||||
|
},
|
||||||
|
"sctpPort": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"SCTP source address"
|
||||||
|
},
|
||||||
|
"icmpType": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Internet Control Message Protocol for IPV4 code (RFC0792)"
|
||||||
|
},
|
||||||
|
"icmpCode": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Internet Control Message Protocol for IPV4 code (RFC0792)"
|
||||||
|
},
|
||||||
|
"flowLabel": {
|
||||||
|
"type": "Hex16",
|
||||||
|
"format": "Hex16",
|
||||||
|
"example": "0xffffe",
|
||||||
|
"description":"IPv6 Flow Label (RFC 6437)"
|
||||||
|
},
|
||||||
|
"icmpv6Type": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Internet Control Message Protocol for IPV6 type (RFC2463)"
|
||||||
|
},
|
||||||
|
"icmpv6Code": {
|
||||||
|
"type": "uint16",
|
||||||
|
"format": "uint16",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Internet Control Message Protocol for IPV6 code (RFC2463)"
|
||||||
|
},
|
||||||
|
"targetAddress": {
|
||||||
|
"type": "String",
|
||||||
|
"example": "10.1.1.0/24",
|
||||||
|
"description":"IPv6 Neighbor discovery target address"
|
||||||
|
},
|
||||||
|
"label": {
|
||||||
|
"type": "int32",
|
||||||
|
"format": "int32",
|
||||||
|
"example": 1,
|
||||||
|
"description":"MPLS label"
|
||||||
|
},
|
||||||
|
"exthdrFlags": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"IPv6 extension header pseudo-field"
|
||||||
|
},
|
||||||
|
"lambda": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"wavelength abstraction"
|
||||||
|
},
|
||||||
|
"gridType": {
|
||||||
|
"type": "String",
|
||||||
|
"example": "DWDM",
|
||||||
|
"description":"Type of wavelength grid"
|
||||||
|
},
|
||||||
|
"channelSpacing": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 100,
|
||||||
|
"description":"Optical channel spacing"
|
||||||
|
},
|
||||||
|
"spacingMultiplier": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int64",
|
"format": "int64",
|
||||||
"example": "0x88cc"
|
"example": 4,
|
||||||
|
"description":"Optical channel spacing multiplier"
|
||||||
|
},
|
||||||
|
"slotGranularity": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 8
|
||||||
|
},
|
||||||
|
"ochSignalId": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Optical channel signal ID"
|
||||||
|
},
|
||||||
|
"tunnelId": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 5,
|
||||||
|
"description":"Tunnel ID"
|
||||||
|
},
|
||||||
|
"ochSignalType": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"Optical channel signal type"
|
||||||
|
},
|
||||||
|
"oduSignalId": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 1,
|
||||||
|
"description":"ODU (Optical channel Data Unit) signal ID."
|
||||||
|
},
|
||||||
|
"tributaryPortNumber": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 11,
|
||||||
|
"description":"OPU (Optical channel Payload Unit) port number."
|
||||||
|
},
|
||||||
|
"tributarySlotLen": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 80,
|
||||||
|
"description":"OPU (Optical channel Payload Unit) slot length."
|
||||||
|
},
|
||||||
|
"tributarySlotBitmap": {
|
||||||
|
"type": "array",
|
||||||
|
"title": "tributarySlotBitmap",
|
||||||
|
"description":"OPU (Optical channel Payload Unit) slot bitmap.",
|
||||||
|
"required": [
|
||||||
|
"byte",
|
||||||
|
"port"
|
||||||
|
],
|
||||||
|
"items": {
|
||||||
|
"type": "byte",
|
||||||
|
"title": "byte",
|
||||||
|
"example": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oduSignalType": {
|
||||||
|
"type": "int64",
|
||||||
|
"format": "int64",
|
||||||
|
"example": 4,
|
||||||
|
"description":"ODU (Optical channel Data Unit) signal type."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user