Refactoring file structure for protobufs.

Change-Id: I50daf100d54750f97158304d87813e67861b1422
This commit is contained in:
Aaron Kruglikov 2017-06-23 14:15:25 +09:00
parent 60aded229b
commit 9f95f99a0e
42 changed files with 1049 additions and 510 deletions

View File

@ -66,7 +66,7 @@
<dependency> <dependency>
<groupId>org.onosproject</groupId> <groupId>org.onosproject</groupId>
<artifactId>onos-incubator-protobuf</artifactId> <artifactId>onos-incubator-protobuf-models</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>

View File

@ -18,12 +18,12 @@ package org.onosproject.kafkaintegration.converter;
import com.google.protobuf.GeneratedMessageV3; import com.google.protobuf.GeneratedMessageV3;
import org.onosproject.event.Event; import org.onosproject.event.Event;
import org.onosproject.grpc.net.Device.DeviceCore; import org.onosproject.grpc.net.models.DeviceProtoOuterClass.DeviceProto;
import org.onosproject.grpc.net.Device.DeviceType; import org.onosproject.grpc.net.models.DeviceEnums.DeviceType;
import org.onosproject.grpc.net.DeviceEvent.DeviceEventType; import org.onosproject.grpc.net.models.DeviceEnums.DeviceEventType;
import org.onosproject.grpc.net.DeviceEvent.DeviceNotification; import org.onosproject.grpc.net.models.DeviceEventProto.DeviceNotification;
import org.onosproject.grpc.net.Port.PortCore; import org.onosproject.grpc.net.models.PortEnums.PortType;
import org.onosproject.grpc.net.Port.PortType; import org.onosproject.grpc.net.models.PortProtoOuterClass;
import org.onosproject.net.device.DeviceEvent; import org.onosproject.net.device.DeviceEvent;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -42,7 +42,7 @@ public class DeviceEventConverter implements EventConverter {
if (!deviceEventTypeSupported(deviceEvent)) { if (!deviceEventTypeSupported(deviceEvent)) {
log.error("Unsupported Onos Device Event {}. There is no matching" log.error("Unsupported Onos Device Event {}. There is no matching"
+ "proto Device Event type", deviceEvent.type().toString()); + "proto Device Event type", deviceEvent.type().toString());
return null; return null;
} }
@ -70,8 +70,8 @@ public class DeviceEventConverter implements EventConverter {
DeviceNotification.Builder notificationBuilder = DeviceNotification.Builder notificationBuilder =
DeviceNotification.newBuilder(); DeviceNotification.newBuilder();
DeviceCore deviceCore = DeviceProto deviceCore =
DeviceCore.newBuilder() DeviceProto.newBuilder()
.setChassisId(deviceEvent.subject().chassisId().id() .setChassisId(deviceEvent.subject().chassisId().id()
.toString()) .toString())
.setDeviceId(deviceEvent.subject().id().toString()) .setDeviceId(deviceEvent.subject().id().toString())
@ -83,10 +83,10 @@ public class DeviceEventConverter implements EventConverter {
.valueOf(deviceEvent.subject().type().name())) .valueOf(deviceEvent.subject().type().name()))
.build(); .build();
PortCore portCore = null; PortProtoOuterClass.PortProto portProto = null;
if (deviceEvent.port() != null) { if (deviceEvent.port() != null) {
portCore = portProto =
PortCore.newBuilder() PortProtoOuterClass.PortProto.newBuilder()
.setIsEnabled(deviceEvent.port().isEnabled()) .setIsEnabled(deviceEvent.port().isEnabled())
.setPortNumber(deviceEvent.port().number() .setPortNumber(deviceEvent.port().number()
.toString()) .toString())
@ -95,7 +95,7 @@ public class DeviceEventConverter implements EventConverter {
.valueOf(deviceEvent.port().type().name())) .valueOf(deviceEvent.port().type().name()))
.build(); .build();
notificationBuilder.setPort(portCore); notificationBuilder.setPort(portProto);
} }
notificationBuilder.setDeviceEventType(getProtoType(deviceEvent)) notificationBuilder.setDeviceEventType(getProtoType(deviceEvent))

View File

@ -16,12 +16,12 @@
package org.onosproject.kafkaintegration.converter; package org.onosproject.kafkaintegration.converter;
import org.onosproject.event.Event; import org.onosproject.event.Event;
import org.onosproject.grpc.net.Link.ConnectPoint; import org.onosproject.grpc.net.models.ConnectPointProto.ConnectPoint;
import org.onosproject.grpc.net.Link.LinkCore; import org.onosproject.grpc.net.models.LinkProtoOuterClass.LinkProto;
import org.onosproject.grpc.net.Link.LinkState; import org.onosproject.grpc.net.models.LinkEnums.LinkState;
import org.onosproject.grpc.net.Link.LinkType; import org.onosproject.grpc.net.models.LinkEnums.LinkType;
import org.onosproject.grpc.net.LinkEvent.LinkEventType; import org.onosproject.grpc.net.models.LinkEnums.LinkEventType;
import org.onosproject.grpc.net.LinkEvent.LinkNotification; import org.onosproject.grpc.net.models.LinkEventProto.LinkNotification;
import org.onosproject.net.link.LinkEvent; import org.onosproject.net.link.LinkEvent;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -42,7 +42,7 @@ public class LinkEventConverter implements EventConverter {
if (!linkEventTypeSupported(linkEvent)) { if (!linkEventTypeSupported(linkEvent)) {
log.error("Unsupported Onos Event {}. There is no matching " log.error("Unsupported Onos Event {}. There is no matching "
+ "proto Event type", linkEvent.type().toString()); + "proto Event type", linkEvent.type().toString());
return null; return null;
} }
@ -62,20 +62,20 @@ public class LinkEventConverter implements EventConverter {
private LinkNotification buildDeviceProtoMessage(LinkEvent linkEvent) { private LinkNotification buildDeviceProtoMessage(LinkEvent linkEvent) {
LinkNotification notification = LinkNotification.newBuilder() LinkNotification notification = LinkNotification.newBuilder()
.setLinkEventType(getProtoType(linkEvent)) .setLinkEventType(getProtoType(linkEvent))
.setLink(LinkCore.newBuilder() .setLink(LinkProto.newBuilder()
.setState(LinkState .setState(LinkState
.valueOf(linkEvent.subject().state().name())) .valueOf(linkEvent.subject().state().name()))
.setType(LinkType.valueOf(linkEvent.subject().type().name())) .setType(LinkType.valueOf(linkEvent.subject().type().name()))
.setDst(ConnectPoint.newBuilder() .setDst(ConnectPoint.newBuilder()
.setDeviceId(linkEvent.subject().dst() .setDeviceId(linkEvent.subject().dst()
.deviceId().toString()) .deviceId().toString())
.setPortNumber(linkEvent.subject().dst().port() .setPortNumber(linkEvent.subject().dst().port()
.toString())) .toString()))
.setSrc(ConnectPoint.newBuilder() .setSrc(ConnectPoint.newBuilder()
.setDeviceId(linkEvent.subject().src() .setDeviceId(linkEvent.subject().src()
.deviceId().toString()) .deviceId().toString())
.setPortNumber(linkEvent.subject().src().port() .setPortNumber(linkEvent.subject().src().port()
.toString()))) .toString())))
.build(); .build();
return notification; return notification;

View File

@ -52,7 +52,7 @@ def fetch_protoc_binary(
def fetch_grpc_plugin_binary( def fetch_grpc_plugin_binary(
grpc_plugin_version = GRPC_PLUGIN_VERSION grpc_plugin_version = GRPC_PLUGIN_VERSION
): ):
file_name = "protoc-gen-grpc-java-%s-%s.exe" % (grpc_plugin_version, get_system_arch()) file_name = "protoc-gen-grpc-java-%s-%s.exe" % (grpc_plugin_version, get_system_arch())
if file_name not in GRPC_JAVA_SHA1S: if file_name not in GRPC_JAVA_SHA1S:
raise Exception('Cannot download %s, architecture not supported' % file_name) raise Exception('Cannot download %s, architecture not supported' % file_name)
@ -79,10 +79,10 @@ def grpc_jar(
name = None, name = None,
deps = [], deps = [],
#NOTE: if targeting a directory also built with maven this path MUST end in #NOTE: if targeting a directory also built with maven this path MUST end in
# /proto because maven plugin interprets imports relative to the proto # /proto because maven plugin interprets imports relative to the proto
# directory and BUCK interprets imports relative to the last directory # directory and BUCK interprets imports relative to the last directory
# listed in the first listed proto_path which contains the specified # listed in the first listed proto_path which contains the specified
# file # file
proto_paths = [], proto_paths = [],
proto_match_patterns = [ "**/proto/**/*.proto" ], proto_match_patterns = [ "**/proto/**/*.proto" ],
protoc_version = PROTOC_VERSION, protoc_version = PROTOC_VERSION,
@ -112,7 +112,7 @@ def grpc_jar(
+ '$SRCS', + '$SRCS',
) )
osgi_jar_with_tests( osgi_jar(
name = name, name = name,
srcs = [ ':' + protoc ], srcs = [ ':' + protoc ],
deps = deps + [ ':' + protoc ], deps = deps + [ ':' + protoc ],

View File

@ -32,6 +32,8 @@
<bundle>mvn:io.netty/netty-codec/4.1.8.Final</bundle> <bundle>mvn:io.netty/netty-codec/4.1.8.Final</bundle>
<bundle>mvn:io.netty/netty-transport-native-epoll/4.1.8.Final</bundle> <bundle>mvn:io.netty/netty-transport-native-epoll/4.1.8.Final</bundle>
<bundle>mvn:io.netty/netty-resolver/4.1.8.Final</bundle> <bundle>mvn:io.netty/netty-resolver/4.1.8.Final</bundle>
<bundle>mvn:io.netty/netty-codec-http2/4.1.8.Final</bundle>
<bundle>mvn:io.netty/netty-codec-http/4.1.8.Final</bundle>
<bundle>mvn:commons-pool/commons-pool/1.6</bundle> <bundle>mvn:commons-pool/commons-pool/1.6</bundle>
<bundle>mvn:org.apache.commons/commons-math3/3.6.1</bundle> <bundle>mvn:org.apache.commons/commons-math3/3.6.1</bundle>

View File

@ -1,25 +0,0 @@
COMPILE_DEPS = [
'//lib:CORE_DEPS',
':onos-incubator-grpc',
'//lib:protobuf-java-3.2.0',
]
GRPC_DEPS = [
'//lib:GRPC_1.3',
'//lib:protobuf-java-3.2.0',
'//lib:guava'
]
grpc_jar(
name = 'onos-incubator-grpc',
deps = GRPC_DEPS,
proto_paths = ["$ONOS_ROOT/incubator/protobuf/src/main/proto"]
)
osgi_jar_with_tests(
deps = COMPILE_DEPS,
visibility = ['PUBLIC'],
)

View File

@ -0,0 +1,30 @@
COMPILE_DEPS = [
'//lib:CORE_DEPS',
':onos-incubator-protobuf-models-proto',
'//lib:protobuf-java-3.2.0',
'//lib:GRPC_1.3'
]
GRPC_DEPS = [
'//lib:GRPC_1.3',
'//lib:protobuf-java-3.2.0',
'//lib:guava'
]
BUNDLES = [
':onos-incubator-protobuf-models',
':onos-incubator-protobuf-models-proto',
'//lib:protobuf-java-3.2.0',
]
grpc_jar(
name = 'onos-incubator-protobuf-models-proto',
deps = GRPC_DEPS,
proto_paths = ["$ONOS_ROOT/incubator/protobuf/models/src/main/proto"]
)
osgi_jar_with_tests(
deps = COMPILE_DEPS,
visibility = ['PUBLIC'],
)

View File

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2017-present Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>onos-incubator-protobuf</artifactId>
<groupId>org.onosproject</groupId>
<version>1.11.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>onos-incubator-protobuf-models</artifactId>
<packaging>bundle</packaging>
<description>ONOS Protobuf object models and translators</description>
<url>http://onosproject.org</url>
<properties>
<onos.app.name>org.onosproject.incubator.protobuf.models</onos.app.name>
<onos.app.title>ONOS Protocol Buffers models and translators</onos.app.title>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>3.0.8</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- TODO This is included to suppress the generation of javadocs for
this package. There is a problem when we try to package the
auto-generated code's javadoc into a jar. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<sourcepath>${basedir}/src/main/java/</sourcepath>
<excludePackageNames>org.onosproject.incubator.rpc.grpc</excludePackageNames>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>org.onosproject.grpc.net,org.onosproject.incubator.protobuf.models.utils</Export-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.onosproject</groupId>
<artifactId>onos-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2016-present Open Networking Laboratory * Copyright 2017-present Open Networking Laboratory
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -13,15 +13,19 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package org.onosproject.incubator.protobuf.net; package org.onosproject.incubator.protobuf.models;
import java.net.URI; import java.net.URI;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.onlab.packet.ChassisId; import org.onlab.packet.ChassisId;
import org.onosproject.grpc.net.Device.DeviceType; import org.onosproject.grpc.net.models.DeviceDescriptionProto;
import org.onosproject.grpc.net.Port.PortType; import org.onosproject.grpc.net.models.DeviceEnums;
import org.onosproject.grpc.net.models.PortDescriptionProto;
import org.onosproject.grpc.net.models.PortEnums.PortType;
import org.onosproject.grpc.net.models.DeviceEnums.DeviceType;
import org.onosproject.grpc.net.models.PortStatisticsProto;
import org.onosproject.net.Annotations; import org.onosproject.net.Annotations;
import org.onosproject.net.DefaultAnnotations; import org.onosproject.net.DefaultAnnotations;
import org.onosproject.net.Device; import org.onosproject.net.Device;
@ -41,7 +45,6 @@ import org.slf4j.LoggerFactory;
import com.google.common.annotations.Beta; import com.google.common.annotations.Beta;
/** /**
* gRPC message conversion related utilities. * gRPC message conversion related utilities.
*/ */
@ -56,19 +59,19 @@ public final class ProtobufUtils {
* @param role mastership role in gRPC enum * @param role mastership role in gRPC enum
* @return equivalent in ONOS enum * @return equivalent in ONOS enum
*/ */
public static MastershipRole translate(org.onosproject.grpc.net.Device.MastershipRole role) { public static MastershipRole translate(DeviceEnums.MastershipRole role) {
switch (role) { switch (role) {
case NONE: case NONE:
return MastershipRole.NONE; return MastershipRole.NONE;
case MASTER: case MASTER:
return MastershipRole.MASTER; return MastershipRole.MASTER;
case STANDBY: case STANDBY:
return MastershipRole.STANDBY; return MastershipRole.STANDBY;
case UNRECOGNIZED: case UNRECOGNIZED:
log.warn("Unrecognized MastershipRole gRPC message: {}", role); log.warn("Unrecognized MastershipRole gRPC message: {}", role);
return MastershipRole.NONE; return MastershipRole.NONE;
default: default:
return MastershipRole.NONE; return MastershipRole.NONE;
} }
} }
@ -78,15 +81,15 @@ public final class ProtobufUtils {
* @param newRole ONOS' mastership role * @param newRole ONOS' mastership role
* @return equivalent in gRPC message enum * @return equivalent in gRPC message enum
*/ */
public static org.onosproject.grpc.net.Device.MastershipRole translate(MastershipRole newRole) { public static DeviceEnums.MastershipRole translate(MastershipRole newRole) {
switch (newRole) { switch (newRole) {
case MASTER: case MASTER:
return org.onosproject.grpc.net.Device.MastershipRole.MASTER; return DeviceEnums.MastershipRole.MASTER;
case STANDBY: case STANDBY:
return org.onosproject.grpc.net.Device.MastershipRole.STANDBY; return DeviceEnums.MastershipRole.STANDBY;
case NONE: case NONE:
default: default:
return org.onosproject.grpc.net.Device.MastershipRole.NONE; return DeviceEnums.MastershipRole.NONE;
} }
} }
@ -97,7 +100,8 @@ public final class ProtobufUtils {
* @param deviceDescription gRPC message * @param deviceDescription gRPC message
* @return {@link DeviceDescription} * @return {@link DeviceDescription}
*/ */
public static DeviceDescription translate(org.onosproject.grpc.net.Device.DeviceDescription deviceDescription) { public static DeviceDescription translate(
DeviceDescriptionProto.DeviceDescription deviceDescription) {
URI uri = URI.create(deviceDescription.getDeviceUri()); URI uri = URI.create(deviceDescription.getDeviceUri());
Device.Type type = translate(deviceDescription.getType()); Device.Type type = translate(deviceDescription.getType());
String manufacturer = deviceDescription.getManufacturer(); String manufacturer = deviceDescription.getManufacturer();
@ -119,19 +123,20 @@ public final class ProtobufUtils {
* @param deviceDescription {@link DeviceDescription} * @param deviceDescription {@link DeviceDescription}
* @return gRPC DeviceDescription message * @return gRPC DeviceDescription message
*/ */
public static org.onosproject.grpc.net.Device.DeviceDescription translate(DeviceDescription deviceDescription) { public static DeviceDescriptionProto.DeviceDescription translate(
DeviceDescription deviceDescription) {
return org.onosproject.grpc.net.Device.DeviceDescription.newBuilder() return DeviceDescriptionProto.DeviceDescription.newBuilder()
.setDeviceUri(deviceDescription.deviceUri().toString()) .setDeviceUri(deviceDescription.deviceUri().toString())
.setType(translate(deviceDescription.type())) .setType(translate(deviceDescription.type()))
.setManufacturer(deviceDescription.manufacturer()) .setManufacturer(deviceDescription.manufacturer())
.setHwVersion(deviceDescription.hwVersion()) .setHwVersion(deviceDescription.hwVersion())
.setSwVersion(deviceDescription.swVersion()) .setSwVersion(deviceDescription.swVersion())
.setSerialNumber(deviceDescription.serialNumber()) .setSerialNumber(deviceDescription.serialNumber())
.setChassisId(deviceDescription.chassisId().toString()) .setChassisId(deviceDescription.chassisId().toString())
.setIsDefaultAvailable(deviceDescription.isDefaultAvailable()) .setIsDefaultAvailable(deviceDescription.isDefaultAvailable())
.putAllAnnotations(asMap(deviceDescription.annotations())) .putAllAnnotations(asMap(deviceDescription.annotations()))
.build(); .build();
} }
@ -141,41 +146,41 @@ public final class ProtobufUtils {
* @param type gRPC message * @param type gRPC message
* @return {@link Device.Type} * @return {@link Device.Type}
*/ */
public static Device.Type translate(org.onosproject.grpc.net.Device.DeviceType type) { public static Device.Type translate(DeviceType type) {
switch (type) { switch (type) {
case BALANCER: case BALANCER:
return Device.Type.BALANCER; return Device.Type.BALANCER;
case CONTROLLER: case CONTROLLER:
return Device.Type.CONTROLLER; return Device.Type.CONTROLLER;
case FIBER_SWITCH: case FIBER_SWITCH:
return Device.Type.FIBER_SWITCH; return Device.Type.FIBER_SWITCH;
case FIREWALL: case FIREWALL:
return Device.Type.FIREWALL; return Device.Type.FIREWALL;
case IDS: case IDS:
return Device.Type.IDS; return Device.Type.IDS;
case IPS: case IPS:
return Device.Type.IPS; return Device.Type.IPS;
case MICROWAVE: case MICROWAVE:
return Device.Type.MICROWAVE; return Device.Type.MICROWAVE;
case OTHER: case OTHER:
return Device.Type.OTHER; return Device.Type.OTHER;
case OTN: case OTN:
return Device.Type.OTN; return Device.Type.OTN;
case ROADM: case ROADM:
return Device.Type.ROADM; return Device.Type.ROADM;
case ROADM_OTN: case ROADM_OTN:
return Device.Type.ROADM_OTN; return Device.Type.ROADM_OTN;
case ROUTER: case ROUTER:
return Device.Type.ROUTER; return Device.Type.ROUTER;
case SWITCH: case SWITCH:
return Device.Type.SWITCH; return Device.Type.SWITCH;
case VIRTUAL: case VIRTUAL:
return Device.Type.VIRTUAL; return Device.Type.VIRTUAL;
case UNRECOGNIZED: case UNRECOGNIZED:
default: default:
log.warn("Unexpected DeviceType: {}", type); log.warn("Unexpected DeviceType: {}", type);
return Device.Type.OTHER; return Device.Type.OTHER;
} }
} }
@ -187,38 +192,38 @@ public final class ProtobufUtils {
*/ */
public static DeviceType translate(Device.Type type) { public static DeviceType translate(Device.Type type) {
switch (type) { switch (type) {
case BALANCER: case BALANCER:
return DeviceType.BALANCER; return DeviceType.BALANCER;
case CONTROLLER: case CONTROLLER:
return DeviceType.CONTROLLER; return DeviceType.CONTROLLER;
case FIBER_SWITCH: case FIBER_SWITCH:
return DeviceType.FIBER_SWITCH; return DeviceType.FIBER_SWITCH;
case FIREWALL: case FIREWALL:
return DeviceType.FIREWALL; return DeviceType.FIREWALL;
case IDS: case IDS:
return DeviceType.IDS; return DeviceType.IDS;
case IPS: case IPS:
return DeviceType.IPS; return DeviceType.IPS;
case MICROWAVE: case MICROWAVE:
return DeviceType.MICROWAVE; return DeviceType.MICROWAVE;
case OTHER: case OTHER:
return DeviceType.OTHER; return DeviceType.OTHER;
case OTN: case OTN:
return DeviceType.OTN; return DeviceType.OTN;
case ROADM: case ROADM:
return DeviceType.ROADM; return DeviceType.ROADM;
case ROADM_OTN: case ROADM_OTN:
return DeviceType.ROADM_OTN; return DeviceType.ROADM_OTN;
case ROUTER: case ROUTER:
return DeviceType.ROUTER; return DeviceType.ROUTER;
case SWITCH: case SWITCH:
return DeviceType.SWITCH; return DeviceType.SWITCH;
case VIRTUAL: case VIRTUAL:
return DeviceType.VIRTUAL; return DeviceType.VIRTUAL;
default: default:
log.warn("Unexpected Device.Type: {}", type); log.warn("Unexpected Device.Type: {}", type);
return DeviceType.OTHER; return DeviceType.OTHER;
} }
} }
@ -228,13 +233,12 @@ public final class ProtobufUtils {
* @param portDescription gRPC message * @param portDescription gRPC message
* @return {@link PortDescription} * @return {@link PortDescription}
*/ */
public static PortDescription translate(org.onosproject.grpc.net.Port.PortDescription portDescription) { public static PortDescription translate(PortDescriptionProto.PortDescription portDescription) {
PortNumber number = PortNumber.fromString(portDescription.getPortNumber()); PortNumber number = PortNumber.fromString(portDescription.getPortNumber());
boolean isEnabled = portDescription.getIsEnabled(); boolean isEnabled = portDescription.getIsEnabled();
Port.Type type = translate(portDescription.getType()); Port.Type type = translate(portDescription.getType());
long portSpeed = portDescription.getPortSpeed(); long portSpeed = portDescription.getPortSpeed();
SparseAnnotations annotations = asAnnotations(portDescription.getAnnotationsMap()); SparseAnnotations annotations = asAnnotations(portDescription.getAnnotationsMap());
// TODO How to deal with more specific Port...
return new DefaultPortDescription(number, isEnabled, type, portSpeed, annotations); return new DefaultPortDescription(number, isEnabled, type, portSpeed, annotations);
} }
@ -244,8 +248,8 @@ public final class ProtobufUtils {
* @param portDescription {@link PortDescription} * @param portDescription {@link PortDescription}
* @return gRPC PortDescription message * @return gRPC PortDescription message
*/ */
public static org.onosproject.grpc.net.Port.PortDescription translate(PortDescription portDescription) { public static PortDescriptionProto.PortDescription translate(PortDescription portDescription) {
return org.onosproject.grpc.net.Port.PortDescription.newBuilder() return PortDescriptionProto.PortDescription.newBuilder()
.setPortNumber(portDescription.portNumber().toString()) .setPortNumber(portDescription.portNumber().toString())
.setIsEnabled(portDescription.isEnabled()) .setIsEnabled(portDescription.isEnabled())
.setType(translate(portDescription.type())) .setType(translate(portDescription.type()))
@ -260,56 +264,56 @@ public final class ProtobufUtils {
* @param type gRPC message * @param type gRPC message
* @return {@link Port.Type} * @return {@link Port.Type}
*/ */
public static Port.Type translate(PortType type) { public static Port.Type translate(org.onosproject.grpc.net.models.PortEnums.PortType type) {
switch (type) { switch (type) {
case COPPER: case COPPER:
return Type.COPPER; return Type.COPPER;
case FIBER: case FIBER:
return Type.FIBER; return Type.FIBER;
case OCH: case OCH:
return Type.OCH; return Type.OCH;
case ODUCLT: case ODUCLT:
return Type.ODUCLT; return Type.ODUCLT;
case OMS: case OMS:
return Type.OMS; return Type.OMS;
case PACKET: case PACKET:
return Type.PACKET; return Type.PACKET;
case VIRTUAL: case VIRTUAL:
return Type.VIRTUAL; return Type.VIRTUAL;
case UNRECOGNIZED: case UNRECOGNIZED:
default: default:
log.warn("Unexpected PortType: {}", type); log.warn("Unexpected PortType: {}", type);
return Type.COPPER; return Type.COPPER;
} }
} }
/** /**
* Translates {@link Port.Type} to gRPC PortType. * Translates {@link Port.Type} to gRPC PortType.
* *
* @param type {@link Port.Type} * @param type {@link org.onosproject.net.Port.Type}
* @return gRPC message * @return gRPC message
*/ */
public static PortType translate(Port.Type type) { public static PortType translate(Port.Type type) {
switch (type) { switch (type) {
case COPPER: case COPPER:
return PortType.COPPER; return PortType.COPPER;
case FIBER: case FIBER:
return PortType.FIBER; return PortType.FIBER;
case OCH: case OCH:
return PortType.OCH; return PortType.OCH;
case ODUCLT: case ODUCLT:
return PortType.ODUCLT; return PortType.ODUCLT;
case OMS: case OMS:
return PortType.OMS; return PortType.OMS;
case PACKET: case PACKET:
return PortType.PACKET; return PortType.PACKET;
case VIRTUAL: case VIRTUAL:
return PortType.VIRTUAL; return PortType.VIRTUAL;
default: default:
log.warn("Unexpected Port.Type: {}", type); log.warn("Unexpected Port.Type: {}", type);
return PortType.COPPER; return PortType.COPPER;
} }
} }
@ -319,7 +323,7 @@ public final class ProtobufUtils {
* @param portStatistics gRPC PortStatistics message * @param portStatistics gRPC PortStatistics message
* @return {@link PortStatistics} * @return {@link PortStatistics}
*/ */
public static PortStatistics translate(org.onosproject.grpc.net.Port.PortStatistics portStatistics) { public static PortStatistics translate(PortStatisticsProto.PortStatistics portStatistics) {
// TODO implement adding missing fields // TODO implement adding missing fields
return DefaultPortStatistics.builder() return DefaultPortStatistics.builder()
.setPort(portStatistics.getPort()) .setPort(portStatistics.getPort())
@ -334,9 +338,9 @@ public final class ProtobufUtils {
* @param portStatistics {@link PortStatistics} * @param portStatistics {@link PortStatistics}
* @return gRPC PortStatistics message * @return gRPC PortStatistics message
*/ */
public static org.onosproject.grpc.net.Port.PortStatistics translate(PortStatistics portStatistics) { public static PortStatisticsProto.PortStatistics translate(PortStatistics portStatistics) {
// TODO implement adding missing fields // TODO implement adding missing fields
return org.onosproject.grpc.net.Port.PortStatistics.newBuilder() return PortStatisticsProto.PortStatistics.newBuilder()
.setPort(portStatistics.port()) .setPort(portStatistics.port())
.setPacketsReceived(portStatistics.packetsReceived()) .setPacketsReceived(portStatistics.packetsReceived())
.setPacketsSent(portStatistics.packetsSent()) .setPacketsSent(portStatistics.packetsSent())
@ -356,7 +360,7 @@ public final class ProtobufUtils {
} }
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
annotations.keys() annotations.keys()
.forEach(k -> map.put(k, annotations.value(k))); .forEach(k -> map.put(k, annotations.value(k)));
return map; return map;
} }
@ -371,12 +375,12 @@ public final class ProtobufUtils {
public static SparseAnnotations asAnnotations(Map<String, String> annotations) { public static SparseAnnotations asAnnotations(Map<String, String> annotations) {
DefaultAnnotations.Builder builder = DefaultAnnotations.builder(); DefaultAnnotations.Builder builder = DefaultAnnotations.builder();
annotations.entrySet().forEach(e -> { annotations.entrySet().forEach(e -> {
if (e.getValue() != null) { if (e.getValue() != null) {
builder.set(e.getKey(), e.getValue()); builder.set(e.getKey(), e.getValue());
} else { } else {
builder.remove(e.getKey()); builder.remove(e.getKey());
} }
}); });
return builder.build(); return builder.build();
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2016-present Open Networking Laboratory * Copyright 2017-present Open Networking Laboratory
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -16,4 +16,4 @@
/** /**
* Utilities to handle ProtoBuf version of ONOS network models. * Utilities to handle ProtoBuf version of ONOS network models.
*/ */
package org.onosproject.incubator.protobuf.net; package org.onosproject.incubator.protobuf.models;

View File

@ -0,0 +1,15 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package ConnectPoint;
message ConnectPoint {
oneof element_id {
// DeviceID as String DeviceId#toString
string device_id = 1;
// TODO add support to other element_id if required
}
// PortNumber as String PortNumber#toString
string port_number = 2;
}

View File

@ -0,0 +1,18 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Device;
import "DeviceEnums.proto";
message DeviceDescription {
string device_Uri = 1;
Device.DeviceType type = 2;
string manufacturer = 3;
string hw_version = 4;
string sw_version = 5;
string serial_number = 6;
string chassis_id = 7;
map<string, string> annotations = 8;
bool is_default_available = 9;
}

View File

@ -0,0 +1,39 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Device;
enum MastershipRole {
NONE = 0;
MASTER = 1;
STANDBY = 2;
}
enum DeviceType {
OTHER = 0;
SWITCH = 1;
ROUTER = 2;
ROADM = 3;
OTN = 4;
ROADM_OTN = 5;
FIREWALL = 6;
BALANCER = 7;
IPS = 8;
IDS = 9;
CONTROLLER = 10;
VIRTUAL = 11;
FIBER_SWITCH = 12;
MICROWAVE = 13;
}
enum DeviceEventType {
DEVICE_ADDED = 0;
DEVICE_UPDATED = 1;
DEVICE_REMOVED = 2;
DEVICE_SUSPENDED = 3;
DEVICE_AVAILABILITY_CHANGED = 4;
PORT_ADDED = 5;
PORT_UPDATED = 6;
PORT_REMOVED = 7;
PORT_STATS_UPDATED = 8;
}

View File

@ -0,0 +1,16 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
import "DeviceProto.proto";
import "DeviceEnums.proto";
import "PortProto.proto";
package Device;
// Corresponds to org.onosproject.net.device.DeviceEvent.
message DeviceNotification {
Device.DeviceProto device = 1;
Device.DeviceEventType deviceEventType = 2;
Port.PortProto port = 3;
}

View File

@ -0,0 +1,18 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Device;
import "DeviceEnums.proto";
// Corresponds to org.onosproject.net.Device.
message DeviceProto {
string deviceId = 1;
Device.DeviceType type = 2;
string manufacturer = 3;
string hw_version = 4;
string sw_version = 5;
string serial_number = 6;
string chassis_id = 7;
map<string, string> annotations = 8;
}

View File

@ -0,0 +1,14 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Link;
import "ConnectPointProto.proto";
import "LinkEnums.proto";
message LinkDescription {
ConnectPoint.ConnectPoint src = 1;
ConnectPoint.ConnectPoint dst = 2;
Link.LinkType type = 3;
map<string, string> annotations = 4;
}

View File

@ -0,0 +1,40 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Link;
enum LinkType {
// Signifies that this is a direct single-segment link.
DIRECT = 0;
// Signifies that this link is potentially comprised from multiple
// underlying segments or hops, and as such should be used to tag
// links traversing optical paths, tunnels or intervening 'dark'
// switches.
INDIRECT = 1;
// Signifies that this link is an edge, i.e. host link.
EDGE = 2;
// Signifies that this link represents a logical link backed by
// some form of a tunnel, e.g., GRE, MPLS, ODUk, OCH.
TUNNEL = 3;
// Signifies that this link is realized by fiber (either single channel or WDM).
OPTICAL = 4;
// Signifies that this link is a virtual link or a pseudo-wire.
VIRTUAL = 5;
}
enum LinkState {
ACTIVE = 0;
INACTIVE = 1;
}
// Link Event Types
enum LinkEventType {
LINK_ADDED = 0;
LINK_UPDATED = 1;
LINK_REMOVED = 2;
}

View File

@ -0,0 +1,13 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Link;
import "LinkProto.proto";
import "LinkEnums.proto";
// Corresponds to org.onosproject.net.link.LinkEvent.
message LinkNotification {
Link.LinkEventType linkEventType = 2;
Link.LinkProto link = 3;
}

View File

@ -0,0 +1,18 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Link;
import "LinkEnums.proto";
import "ConnectPointProto.proto";
// Corresponds to org.onosproject.net.Link.
message LinkProto {
Link.LinkState state = 1;
ConnectPoint.ConnectPoint src = 2;
ConnectPoint.ConnectPoint dst = 3;
Link.LinkType type = 4;
map<string, string> annotations = 5;
}

View File

@ -0,0 +1,15 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Port;
import "PortEnums.proto";
message PortDescription {
// PortNumber as String PortNumber#toString
string port_number = 1;
bool is_enabled = 2;
Port.PortType type = 3;
int64 port_speed = 4;
map<string, string> annotations = 8;
}

View File

@ -0,0 +1,23 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Port;
enum PortType {
// Signifies copper-based connectivity.
COPPER = 0;
// Signifies optical fiber-based connectivity.
FIBER = 1;
// Signifies optical fiber-based packet port.
PACKET = 2;
// Signifies optical fiber-based optical tributary port (called T-port).
//The signal from the client side will be formed into a ITU G.709 (OTN) frame.
ODUCLT = 3;
// Signifies optical fiber-based Line-side port (called L-port).
OCH = 4;
// Signifies optical fiber-based WDM port (called W-port).
//Optical Multiplexing Section (See ITU G.709).
OMS = 5;
// Signifies virtual port.
VIRTUAL = 6;
}

View File

@ -0,0 +1,16 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Port;
import "PortEnums.proto";
// Corresponds to org.onosproject.net.Port.
message PortProto {
string port_number = 1;
bool is_enabled = 2;
Port.PortType type = 3;
int64 port_speed = 4;
map<string, string> annotations = 5;
}

View File

@ -0,0 +1,20 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net.models";
package Port;
message PortStatistics {
int32 port = 1;
int64 packets_received = 2;
int64 packets_sent = 3;
int64 bytes_received = 4;
int64 bytes_sent = 5;
int64 packets_rx_dropped = 6;
int64 packets_tx_dropped = 7;
int64 packets_rx_errors = 8;
int64 packets_tx_errors = 9;
int64 duration_sec = 10;
int64 duration_nano = 11;
bool is_zero = 12;
// TODO add all other fields
}

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
~ Copyright 2016-present Open Networking Laboratory ~ Copyright 2017-present Open Networking Laboratory
~ ~
~ Licensed under the Apache License, Version 2.0 (the "License"); ~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License. ~ you may not use this file except in compliance with the License.
@ -17,16 +17,16 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<artifactId>onos-incubator-protobuf-dependencies</artifactId> <artifactId>onos-incubator-grpc-dependencies</artifactId>
<groupId>org.onosproject</groupId> <groupId>org.onosproject</groupId>
<version>1.11.0-SNAPSHOT</version> <version>1.11.0-SNAPSHOT</version>
<relativePath>../protobuf-dependencies/pom.xml</relativePath> <relativePath>../grpc-dependencies/pom.xml</relativePath>
</parent> </parent>
<artifactId>onos-incubator-protobuf</artifactId> <artifactId>onos-incubator-protobuf</artifactId>
<packaging>bundle</packaging> <packaging>pom</packaging>
<description>ONOS ProtoBuf models</description> <description>ONOS ProtoBuf and gRPC functionality root</description>
<url>http://onosproject.org</url> <url>http://onosproject.org</url>
<properties> <properties>
@ -56,69 +56,9 @@
</dependencies> </dependencies>
<build> <modules>
<module>models</module>
<pluginManagement> <module>services</module>
<plugins> </modules>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>3.0.8</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- TODO This is included to suppress the generation of javadocs for
this package. There is a problem when we try to package the
auto-generated code's javadoc into a jar. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<sourcepath>${basedir}/src/main/java/</sourcepath>
<excludePackageNames>org.onosproject.incubator.rpc.grpc</excludePackageNames>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>org.onosproject.grpc.net,org.onosproject.incubator.protobuf.net</Export-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.onosproject</groupId>
<artifactId>onos-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project> </project>

View File

@ -0,0 +1,54 @@
COMPILE_DEPS = [
'//lib:CORE_DEPS',
':onos-incubator-protobuf-services-nb-proto',
'//incubator/protobuf/models:onos-incubator-protobuf-models-proto',
'//incubator/protobuf/models:onos-incubator-protobuf-models',
'//lib:protobuf-java-3.2.0',
'//lib:GRPC_1.3'
]
GRPC_DEPS = [
'//lib:GRPC_1.3',
'//incubator/protobuf/models:onos-incubator-protobuf-models-proto',
'//lib:protobuf-java-3.2.0',
'//lib:guava'
]
BUNDLES = [
'//incubator/protobuf/models:onos-incubator-protobuf-models',
'//incubator/protobuf/models:onos-incubator-protobuf-models-proto',
':onos-incubator-protobuf-services-nb',
':onos-incubator-protobuf-services-nb-proto',
'//lib:protobuf-java-3.2.0',
'//lib:guava',
'//lib:grpc-core-1.3.0',
'//lib:grpc-protobuf-1.3.0',
'//lib:grpc-stub-1.3.0',
'//lib:grpc-netty-1.3.0',
'//lib:grpc-auth-1.3.0',
'//lib:grpc-context-1.3.0',
'//lib:google-truth-0.28',
'//core/api:onos-api',
'//lib:netty-transport',
'//lib:netty-buffer',
'//lib:netty-resolver',
'//lib:netty-common',
'//lib:netty-codec',
'//lib:netty-handler',
'//lib:netty-codec-http2',
'//lib:netty-codec-http',
"//lib:google-instrumentation-0.3.0",
]
grpc_jar(
name = 'onos-incubator-protobuf-services-nb-proto',
deps = GRPC_DEPS,
proto_paths = ["$ONOS_ROOT/incubator/protobuf/services/nb/src/main/proto",
"$ONOS_ROOT/incubator/protobuf/models/src/main/proto"]
)
osgi_jar_with_tests(
deps = COMPILE_DEPS,
visibility = ['PUBLIC'],
)

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2017-present Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>onos-incubator-protobuf-services</artifactId>
<groupId>org.onosproject</groupId>
<version>1.11.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>onos-incubator-protobuf-services-nb</artifactId>
<packaging>bundle</packaging>
<description>ONOS northbound gRPC services</description>
<url>http://onosproject.org</url>
<properties>
<onos.app.name>org.onosproject.incubator.protobuf.services.nb</onos.app.name>
<onos.app.title>ONOS gRPC Northbound Services</onos.app.title>
</properties>
<dependencies>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-incubator-protobuf-models</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>3.0.8</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- TODO This is included to suppress the generation of javadocs for
this package. There is a problem when we try to package the
auto-generated code's javadoc into a jar. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<sourcepath>${basedir}/src/main/java/</sourcepath>
<excludePackageNames>org.onosproject.incubator.rpc.grpc</excludePackageNames>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>org.onosproject.grpc.net,org.onosproject.incubator.protobuf.services.nb</Export-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.onosproject</groupId>
<artifactId>onos-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,26 @@
/*
* Copyright 2017-present Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.onosproject.incubator.protobuf.services.nb;
/**
* Delete this file. It is just a placeholder for structure.
*/
public class DeleteMe {
public DeleteMe() {
throw new RuntimeException("This is not a class that should be instantiated.");
}
}

View File

@ -0,0 +1,19 @@
/*
* Copyright 2017-present Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* gRPC server implementations for northbound services.
*/
package org.onosproject.incubator.protobuf.services.nb;

View File

@ -0,0 +1,6 @@
syntax="proto3";
option java_package = "org.onosproject.grpc.net.services.nb";
message ToDelete{
}

View File

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2017-present Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>onos-incubator-protobuf</artifactId>
<groupId>org.onosproject</groupId>
<version>1.11.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>onos-incubator-protobuf-services</artifactId>
<packaging>pom</packaging>
<modules>
<module>nb</module>
</modules>
<dependencies>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-incubator-protobuf-models</artifactId>
<version>1.11.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-incubator-api</artifactId>
<version>1.11.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onlab-osgi</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onlab-junit</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<description>ONOS ProtoBuf service models and implementations</description>
<url>http://onosproject.org</url>
</project>

View File

@ -1,51 +0,0 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net";
package Device;
message DeviceDescription {
string device_Uri = 1;
DeviceType type = 2;
string manufacturer = 3;
string hw_version = 4;
string sw_version = 5;
string serial_number = 6;
string chassis_id = 7;
map<string, string> annotations = 8;
bool is_default_available = 9;
}
enum MastershipRole {
NONE = 0;
MASTER = 1;
STANDBY = 2;
}
enum DeviceType {
OTHER = 0;
SWITCH = 1;
ROUTER = 2;
ROADM = 3;
OTN = 4;
ROADM_OTN = 5;
FIREWALL = 6;
BALANCER = 7;
IPS = 8;
IDS = 9;
CONTROLLER = 10;
VIRTUAL = 11;
FIBER_SWITCH = 12;
MICROWAVE = 13;
}
// Corresponds to org.onosproject.net.Device.
message DeviceCore {
string deviceId = 1;
DeviceType type = 2;
string manufacturer = 3;
string hw_version = 4;
string sw_version = 5;
string serial_number = 6;
string chassis_id = 7;
map<string, string> annotations = 8;
}

View File

@ -1,28 +0,0 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net";
import "models/Device.proto";
import "models/Port.proto";
package DeviceEvent;
// Corresponds to org.onosproject.net.device.DeviceEvent.
message DeviceNotification {
Device.DeviceCore device = 1;
DeviceEventType deviceEventType = 2;
Port.PortCore port = 3;
}
enum DeviceEventType {
DEVICE_ADDED = 0;
DEVICE_UPDATED = 1;
DEVICE_REMOVED = 2;
DEVICE_SUSPENDED = 3;
DEVICE_AVAILABILITY_CHANGED = 4;
PORT_ADDED = 5;
PORT_UPDATED = 6;
PORT_REMOVED = 7;
PORT_STATS_UPDATED = 8;
}

View File

@ -1,60 +0,0 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net";
package Link;
enum LinkType {
// Signifies that this is a direct single-segment link.
DIRECT = 0;
// Signifies that this link is potentially comprised from multiple
// underlying segments or hops, and as such should be used to tag
// links traversing optical paths, tunnels or intervening 'dark'
// switches.
INDIRECT = 1;
// Signifies that this link is an edge, i.e. host link.
EDGE = 2;
// Signifies that this link represents a logical link backed by
// some form of a tunnel, e.g., GRE, MPLS, ODUk, OCH.
TUNNEL = 3;
// Signifies that this link is realized by fiber (either single channel or WDM).
OPTICAL = 4;
// Signifies that this link is a virtual link or a pseudo-wire.
VIRTUAL = 5;
}
message ConnectPoint {
oneof element_id {
// DeviceID as String DeviceId#toString
string device_id = 1;
// TODO add support to other element_id if required
}
// PortNumber as String PortNumber#toString
string port_number = 2;
}
enum LinkState {
ACTIVE = 0;
INACTIVE = 1;
}
// Corresponds to org.onosproject.net.Link.
message LinkCore {
LinkState state = 1;
ConnectPoint src = 2;
ConnectPoint dst = 3;
LinkType type = 4;
map<string, string> annotations = 5;
}
message LinkDescription {
ConnectPoint src = 1;
ConnectPoint dst = 2;
LinkType type = 3;
map<string, string> annotations = 4;
}

View File

@ -1,19 +0,0 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net";
package LinkEvent;
import "models/Link.proto";
// Corresponds to org.onosproject.net.link.LinkEvent.
message LinkNotification {
LinkEventType linkEventType = 2;
Link.LinkCore link = 3;
}
// Link Event Types
enum LinkEventType {
LINK_ADDED = 0;
LINK_UPDATED = 1;
LINK_REMOVED = 2;
}

View File

@ -1,48 +0,0 @@
syntax = "proto3";
option java_package = "org.onosproject.grpc.net";
package Port;
enum PortType {
// Signifies copper-based connectivity.
COPPER = 0;
// Signifies optical fiber-based connectivity.
FIBER = 1;
// Signifies optical fiber-based packet port.
PACKET = 2;
// Signifies optical fiber-based optical tributary port (called T-port).
//The signal from the client side will be formed into a ITU G.709 (OTN) frame.
ODUCLT = 3;
// Signifies optical fiber-based Line-side port (called L-port).
OCH = 4;
// Signifies optical fiber-based WDM port (called W-port).
//Optical Multiplexing Section (See ITU G.709).
OMS = 5;
// Signifies virtual port.
VIRTUAL = 6;
}
message PortDescription {
// PortNumber as String PortNumber#toString
string port_number = 1;
bool is_enabled = 2;
PortType type = 3;
int64 port_speed = 4;
map<string, string> annotations = 8;
}
// Corresponds to org.onosproject.net.Port.
message PortCore {
string port_number = 1;
bool is_enabled = 2;
PortType type = 3;
int64 port_speed = 4;
map<string, string> annotations = 5;
}
message PortStatistics {
int32 port = 1;
int64 packets_received = 2;
int64 packets_sent = 3;
// TODO add all other fields
}

View File

@ -17,7 +17,7 @@ package org.onosproject.incubator.rpc.grpc;
import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkNotNull;
import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toList;
import static org.onosproject.incubator.protobuf.net.ProtobufUtils.translate; import static org.onosproject.incubator.protobuf.models.ProtobufUtils.translate;
import static org.onosproject.net.DeviceId.deviceId; import static org.onosproject.net.DeviceId.deviceId;
import java.util.Collection; import java.util.Collection;
@ -31,7 +31,7 @@ import org.onosproject.grpc.net.device.DeviceService.DeviceProviderServiceMsg;
import org.onosproject.grpc.net.device.DeviceService.IsReachableRequest; import org.onosproject.grpc.net.device.DeviceService.IsReachableRequest;
import org.onosproject.grpc.net.device.DeviceService.RoleChanged; import org.onosproject.grpc.net.device.DeviceService.RoleChanged;
import org.onosproject.grpc.net.device.DeviceService.TriggerProbe; import org.onosproject.grpc.net.device.DeviceService.TriggerProbe;
import org.onosproject.incubator.protobuf.net.ProtobufUtils; import org.onosproject.incubator.protobuf.models.ProtobufUtils;
import org.onosproject.net.DeviceId; import org.onosproject.net.DeviceId;
import org.onosproject.net.MastershipRole; import org.onosproject.net.MastershipRole;
import org.onosproject.net.device.DeviceDescription; import org.onosproject.net.device.DeviceDescription;

View File

@ -18,7 +18,7 @@ package org.onosproject.incubator.rpc.grpc;
import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkNotNull;
import static java.util.concurrent.Executors.newScheduledThreadPool; import static java.util.concurrent.Executors.newScheduledThreadPool;
import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toList;
import static org.onosproject.incubator.protobuf.net.ProtobufUtils.translate; import static org.onosproject.incubator.protobuf.models.ProtobufUtils.translate;
import static org.onosproject.net.DeviceId.deviceId; import static org.onosproject.net.DeviceId.deviceId;
import java.io.IOException; import java.io.IOException;
@ -50,7 +50,7 @@ import org.onosproject.grpc.net.device.DeviceService.ReceivedRoleReply;
import org.onosproject.grpc.net.device.DeviceService.RegisterProvider; import org.onosproject.grpc.net.device.DeviceService.RegisterProvider;
import org.onosproject.grpc.net.device.DeviceService.UpdatePortStatistics; import org.onosproject.grpc.net.device.DeviceService.UpdatePortStatistics;
import org.onosproject.grpc.net.device.DeviceService.UpdatePorts; import org.onosproject.grpc.net.device.DeviceService.UpdatePorts;
import org.onosproject.incubator.protobuf.net.ProtobufUtils; import org.onosproject.incubator.protobuf.models.ProtobufUtils;
import org.onosproject.net.DeviceId; import org.onosproject.net.DeviceId;
import org.onosproject.net.MastershipRole; import org.onosproject.net.MastershipRole;
import org.onosproject.net.PortNumber; import org.onosproject.net.PortNumber;

View File

@ -15,7 +15,7 @@
*/ */
package org.onosproject.incubator.rpc.grpc; package org.onosproject.incubator.rpc.grpc;
import static org.onosproject.incubator.protobuf.net.ProtobufUtils.asMap; import static org.onosproject.incubator.protobuf.models.ProtobufUtils.asMap;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;

View File

@ -31,7 +31,7 @@ import org.onosproject.grpc.net.link.LinkProviderServiceRpcGrpc.LinkProviderServ
import org.onosproject.grpc.net.link.LinkService.LinkDetectedMsg; import org.onosproject.grpc.net.link.LinkService.LinkDetectedMsg;
import org.onosproject.grpc.net.link.LinkService.LinkVanishedMsg; import org.onosproject.grpc.net.link.LinkService.LinkVanishedMsg;
import org.onosproject.grpc.net.link.LinkService.Void; import org.onosproject.grpc.net.link.LinkService.Void;
import org.onosproject.incubator.protobuf.net.ProtobufUtils; import org.onosproject.incubator.protobuf.models.ProtobufUtils;
import org.onosproject.net.ConnectPoint; import org.onosproject.net.ConnectPoint;
import org.onosproject.net.DeviceId; import org.onosproject.net.DeviceId;
import org.onosproject.net.Link; import org.onosproject.net.Link;

116
lib/BUCK
View File

@ -1,4 +1,4 @@
# ***** This file was auto-generated at Wed, 14 Jun 2017 22:44:38 GMT. Do not edit this file manually. ***** # ***** This file was auto-generated at Fri, 23 Jun 2017 05:52:13 GMT. Do not edit this file manually. *****
# ***** Use onos-lib-gen ***** # ***** Use onos-lib-gen *****
pass_thru_pom( pass_thru_pom(
@ -130,6 +130,22 @@ osgi_feature_group(
':grpc-stub-1.3.0', ':grpc-stub-1.3.0',
':grpc-netty-1.3.0', ':grpc-netty-1.3.0',
':grpc-auth-1.3.0', ':grpc-auth-1.3.0',
':grpc-context-1.3.0',
':google-truth-0.28',
],
)
osgi_feature_group(
name = 'GRPC_TEST_1.3',
visibility = ['PUBLIC'],
exported_deps = [
':grpc-testing-1.3.0',
':grpc-testing-proto-1.3.0',
':google-code-findbugs-3.0.0',
':google-errorprone-2.0.19',
':google-instrumentation-0.3.0',
':junit-dep',
':objenesis',
], ],
) )
@ -315,10 +331,10 @@ remote_jar (
remote_jar ( remote_jar (
name = 'gson', name = 'gson',
out = 'gson-2.6.2.jar', out = 'gson-2.7.jar',
url = 'mvn:com.google.code.gson:gson:jar:2.6.2', url = 'mvn:com.google.code.gson:gson:jar:2.7',
sha1 = 'f1bc476cc167b18e66c297df599b2377131a8947', sha1 = '751f548c85fa49f330cecbb1875893f971b33c4e',
maven_coords = 'com.google.code.gson:gson:2.6.2', maven_coords = 'com.google.code.gson:gson:2.7',
visibility = [ 'PUBLIC' ], visibility = [ 'PUBLIC' ],
) )
@ -682,6 +698,15 @@ remote_jar (
visibility = [ 'PUBLIC' ], visibility = [ 'PUBLIC' ],
) )
remote_jar (
name = 'junit-dep',
out = 'junit-4.10.jar',
url = 'mvn:junit:junit:jar:4.10',
sha1 = 'e4f1766ce7404a08f45d859fb9c226fc9e41a861',
maven_coords = 'junit:junit:jar:NON-OSGI:4.10',
visibility = [ 'PUBLIC' ],
)
remote_jar ( remote_jar (
name = 'kryo', name = 'kryo',
out = 'kryo-4.0.0.jar', out = 'kryo-4.0.0.jar',
@ -835,6 +860,24 @@ remote_jar (
visibility = [ 'PUBLIC' ], visibility = [ 'PUBLIC' ],
) )
remote_jar (
name = 'netty-codec-http2',
out = 'netty-codec-http2-4.1.8.Final.jar',
url = 'mvn:io.netty:netty-codec-http2:jar:4.1.8.Final',
sha1 = '105a99ee5767463370ccc3d2e16800bd99f5648e',
maven_coords = 'io.netty:netty-codec-http2:4.1.8.Final',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'netty-codec-http',
out = 'netty-codec-http-4.1.8.Final.jar',
url = 'mvn:io.netty:netty-codec-http:jar:4.1.8.Final',
sha1 = '1e88617c4a6c88da7e86fdbbd9494d22a250c879',
maven_coords = 'io.netty:netty-codec-http:4.1.8.Final',
visibility = [ 'PUBLIC' ],
)
remote_jar ( remote_jar (
name = 'catalyst-concurrent', name = 'catalyst-concurrent',
out = 'catalyst-concurrent-1.2.1.jar', out = 'catalyst-concurrent-1.2.1.jar',
@ -1337,3 +1380,66 @@ remote_jar (
visibility = [ 'PUBLIC' ], visibility = [ 'PUBLIC' ],
) )
remote_jar (
name = 'grpc-testing-1.3.0',
out = 'grpc-testing-1.3.0.jar',
url = 'mvn:io.grpc:grpc-testing:jar:1.3.0',
sha1 = '2828c4bbab639470b9a017f521426490ba919803',
maven_coords = 'io.grpc:grpc-testing:jar:NON-OSGI:1.3.0',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'grpc-testing-proto-1.3.0',
out = 'grpc-testing-proto-1.3.0.jar',
url = 'mvn:io.grpc:grpc-testing-proto:jar:1.3.0',
sha1 = '6e707eb79bb892abd22dae80d5799156e614393d',
maven_coords = 'io.grpc:grpc-testing-proto:jar:NON-OSGI:1.3.0',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'grpc-context-1.3.0',
out = 'grpc-context-1.3.0.jar',
url = 'mvn:io.grpc:grpc-context:jar:1.3.0',
sha1 = '2a924ad1897dd1b768e1859943e2d0408789150a',
maven_coords = 'io.grpc:grpc-context:jar:NON-OSGI:1.3.0',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'google-truth-0.28',
out = 'truth-0.28.jar',
url = 'mvn:com.google.truth:truth:jar:0.28',
sha1 = '0a388c7877c845ff4b8e19689dda5ac9d34622c4',
maven_coords = 'com.google.truth:truth:jar:NON-OSGI:0.28',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'google-code-findbugs-3.0.0',
out = 'jsr305-3.0.0.jar',
url = 'mvn:com.google.code.findbugs:jsr305:jar:3.0.0',
sha1 = '5871fb60dc68d67da54a663c3fd636a10a532948',
maven_coords = 'com.google.code.findbugs:jsr305:jar:NON-OSGI:3.0.0',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'google-errorprone-2.0.19',
out = 'error_prone_annotations-2.0.19.jar',
url = 'mvn:com.google.errorprone:error_prone_annotations:jar:2.0.19',
sha1 = 'c3754a0bdd545b00ddc26884f9e7624f8b6a14de',
maven_coords = 'com.google.errorprone:error_prone_annotations:jar:NON-OSGI:2.0.19',
visibility = [ 'PUBLIC' ],
)
remote_jar (
name = 'google-instrumentation-0.3.0',
out = 'instrumentation-api-0.3.0.jar',
url = 'mvn:com.google.instrumentation:instrumentation-api:jar:0.3.0',
sha1 = 'a2e145e7a7567c6372738f5c5a6f3ba6407ac354',
maven_coords = 'com.google.instrumentation:instrumentation-api:jar:NON-OSGI:0.3.0',
visibility = [ 'PUBLIC' ],
)

View File

@ -93,7 +93,18 @@
"grpc-protobuf-1.3.0", "grpc-protobuf-1.3.0",
"grpc-stub-1.3.0", "grpc-stub-1.3.0",
"grpc-netty-1.3.0", "grpc-netty-1.3.0",
"grpc-auth-1.3.0" "grpc-auth-1.3.0",
"grpc-context-1.3.0",
"google-truth-0.28"
],
"GRPC_TEST_1.3": [
"grpc-testing-1.3.0",
"grpc-testing-proto-1.3.0",
"google-code-findbugs-3.0.0",
"google-errorprone-2.0.19",
"google-instrumentation-0.3.0",
"junit-dep",
"objenesis"
] ]
}, },
@ -159,6 +170,7 @@
"jsch": "mvn:com.jcraft:jsch:0.1.53", "jsch": "mvn:com.jcraft:jsch:0.1.53",
"jsr305": "mvn:com.google.code.findbugs:jsr305:3.0.1", "jsr305": "mvn:com.google.code.findbugs:jsr305:3.0.1",
"junit": "mvn:junit:junit:4.12", "junit": "mvn:junit:junit:4.12",
"junit-dep": "mvn:junit:junit:4.10",
"kryo": "mvn:com.esotericsoftware:kryo:4.0.0", "kryo": "mvn:com.esotericsoftware:kryo:4.0.0",
"mapdb": "mvn:org.mapdb:mapdb:1.0.9", "mapdb": "mvn:org.mapdb:mapdb:1.0.9",
"metrics-core": "mvn:io.dropwizard.metrics:metrics-core:3.2.2", "metrics-core": "mvn:io.dropwizard.metrics:metrics-core:3.2.2",
@ -176,6 +188,8 @@
"netty-transport": "mvn:io.netty:netty-transport:4.1.8.Final", "netty-transport": "mvn:io.netty:netty-transport:4.1.8.Final",
"netty-transport-native-epoll": "mvn:io.netty:netty-transport-native-epoll:4.1.8.Final", "netty-transport-native-epoll": "mvn:io.netty:netty-transport-native-epoll:4.1.8.Final",
"netty-resolver": "mvn:io.netty:netty-resolver:4.1.8.Final", "netty-resolver": "mvn:io.netty:netty-resolver:4.1.8.Final",
"netty-codec-http2": "mvn:io.netty:netty-codec-http2:4.1.8.Final",
"netty-codec-http": "mvn:io.netty:netty-codec-http:4.1.8.Final",
"catalyst-concurrent": "mvn:io.atomix.catalyst:catalyst-concurrent:1.2.1", "catalyst-concurrent": "mvn:io.atomix.catalyst:catalyst-concurrent:1.2.1",
"catalyst-netty": "mvn:io.atomix.catalyst:catalyst-netty:1.2.1", "catalyst-netty": "mvn:io.atomix.catalyst:catalyst-netty:1.2.1",
"catalyst-transport": "mvn:io.atomix.catalyst:catalyst-transport:1.2.1", "catalyst-transport": "mvn:io.atomix.catalyst:catalyst-transport:1.2.1",
@ -235,6 +249,14 @@
"grpc-netty-1.3.0": "mvn:io.grpc:grpc-netty:1.3.0", "grpc-netty-1.3.0": "mvn:io.grpc:grpc-netty:1.3.0",
"grpc-auth-1.3.0": "mvn:io.grpc:grpc-auth:1.3.0", "grpc-auth-1.3.0": "mvn:io.grpc:grpc-auth:1.3.0",
"protobuf-java-3.3.0": "mvn:com.google.protobuf:protobuf-java:3.3.0", "protobuf-java-3.3.0": "mvn:com.google.protobuf:protobuf-java:3.3.0",
"protobuf-java-3.2.0": "mvn:com.google.protobuf:protobuf-java:3.2.0" "protobuf-java-3.2.0": "mvn:com.google.protobuf:protobuf-java:3.2.0",
"grpc-testing-1.3.0": "mvn:io.grpc:grpc-testing:1.3.0",
"grpc-testing-proto-1.3.0": "mvn:io.grpc:grpc-testing-proto:1.3.0",
"grpc-context-1.3.0": "mvn:io.grpc:grpc-context:1.3.0",
"google-truth-0.28": "mvn:com.google.truth:truth:0.28",
"google-code-findbugs-3.0.0": "mvn:com.google.code.findbugs:jsr305:3.0.0",
"google-errorprone-2.0.19": "mvn:com.google.errorprone:error_prone_annotations:2.0.19",
"google-instrumentation-0.3.0": "mvn:com.google.instrumentation:instrumentation-api:0.3.0",
"gson": "mvn:com.google.code.gson:gson:2.7"
} }
} }

View File

@ -9,7 +9,6 @@ UTILS = [
API = [ API = [
'//core/api:onos-api', '//core/api:onos-api',
'//incubator/api:onos-incubator-api', '//incubator/api:onos-incubator-api',
'//incubator/protobuf:onos-incubator-grpc',
] ]
CORE = UTILS + API + [ CORE = UTILS + API + [
@ -81,6 +80,9 @@ CORE = UTILS + API + [
'//web/api:onos-rest', '//web/api:onos-rest',
'//web/gui:onos-gui', '//web/gui:onos-gui',
'//incubator/protobuf/models:onos-incubator-protobuf-models',
'//incubator/protobuf/services/nb:onos-incubator-protobuf-services-nb',
] ]
ONOS_DRIVERS = [ ONOS_DRIVERS = [