Update ProtoBuf 3 & gRPC
- Protocol Buffers: 3.0.0
- gRPC: 1.0.0-pre2
Change-Id: Ic80d3f660d4a0aa37a99d4e6d4dc45e0b70b073b
diff --git a/apps/kafka-integration/api/pom.xml b/apps/kafka-integration/api/pom.xml
index 438c5b1..bacccc6 100644
--- a/apps/kafka-integration/api/pom.xml
+++ b/apps/kafka-integration/api/pom.xml
@@ -36,7 +36,7 @@
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
- <version>3.0.0-beta-2</version>
+ <version>3.0.0</version>
</dependency>
<dependency>
diff --git a/apps/kafka-integration/api/src/main/java/org/onosproject/kafkaintegration/api/KafkaPublisherService.java b/apps/kafka-integration/api/src/main/java/org/onosproject/kafkaintegration/api/KafkaPublisherService.java
index b92b890..052c1e6 100644
--- a/apps/kafka-integration/api/src/main/java/org/onosproject/kafkaintegration/api/KafkaPublisherService.java
+++ b/apps/kafka-integration/api/src/main/java/org/onosproject/kafkaintegration/api/KafkaPublisherService.java
@@ -16,7 +16,8 @@
package org.onosproject.kafkaintegration.api;
-import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.GeneratedMessageV3;
+
import org.onosproject.kafkaintegration.api.dto.OnosEvent.Type;
/**
@@ -30,5 +31,6 @@
* @param eventType the ONOS eventtype
* @param message generated Protocol buffer message from ONOS event data
*/
- void publish(Type eventType, GeneratedMessage message);
+ // FIXME reconsider message type, something similar to "OnosEvent"?
+ void publish(Type eventType, GeneratedMessageV3 message);
}
diff --git a/apps/kafka-integration/api/src/main/java/org/onosproject/kafkaintegration/api/dto/OnosEvent.java b/apps/kafka-integration/api/src/main/java/org/onosproject/kafkaintegration/api/dto/OnosEvent.java
index 2d51c7c..26f16f5 100644
--- a/apps/kafka-integration/api/src/main/java/org/onosproject/kafkaintegration/api/dto/OnosEvent.java
+++ b/apps/kafka-integration/api/src/main/java/org/onosproject/kafkaintegration/api/dto/OnosEvent.java
@@ -16,13 +16,14 @@
import org.onosproject.event.AbstractEvent;
-import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.GeneratedMessageV3;
/**
* Represents the converted Onos Event data into protobuf format.
*
*/
-public class OnosEvent extends AbstractEvent<OnosEvent.Type, GeneratedMessage> {
+// FIXME lack of abstraction in subject type is biting us
+public class OnosEvent extends AbstractEvent<OnosEvent.Type, GeneratedMessageV3> {
/**
* Creates a new Onos Event.
@@ -30,7 +31,7 @@
* @param type The Type of Onos Event
* @param subject Protobuf message corresponding to the Onos Event
*/
- public OnosEvent(Type type, GeneratedMessage subject) {
+ public OnosEvent(Type type, GeneratedMessageV3 subject) {
super(type, subject);
}
diff --git a/apps/kafka-integration/core/pom.xml b/apps/kafka-integration/core/pom.xml
index d29662d..b9f1290 100644
--- a/apps/kafka-integration/core/pom.xml
+++ b/apps/kafka-integration/core/pom.xml
@@ -50,7 +50,6 @@
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
- <version>4.3.1</version>
</dependency>
<dependency>
@@ -74,7 +73,7 @@
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
- <version>3.0.0-beta-2</version>
+ <version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
diff --git a/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/DeviceEventConverter.java b/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/DeviceEventConverter.java
index 6b2ee24..6a2d1f3 100644
--- a/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/DeviceEventConverter.java
+++ b/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/DeviceEventConverter.java
@@ -14,7 +14,8 @@
*/
package org.onosproject.kafkaintegration.converter;
-import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.GeneratedMessageV3;
+
import org.onosproject.event.Event;
import org.onosproject.grpc.net.Device.DeviceCore;
import org.onosproject.grpc.net.Device.DeviceType;
@@ -34,7 +35,7 @@
private final Logger log = LoggerFactory.getLogger(getClass());
@Override
- public GeneratedMessage convertToProtoMessage(Event<?, ?> event) {
+ public GeneratedMessageV3 convertToProtoMessage(Event<?, ?> event) {
DeviceEvent deviceEvent = (DeviceEvent) event;
diff --git a/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/EventConverter.java b/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/EventConverter.java
index c1e7739..3cbabc2 100644
--- a/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/EventConverter.java
+++ b/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/EventConverter.java
@@ -16,7 +16,7 @@
import org.onosproject.event.Event;
-import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.GeneratedMessageV3;
/**
*
@@ -32,5 +32,6 @@
* @param event ONOS Event object
* @return converted data in protobuf format.
*/
- GeneratedMessage convertToProtoMessage(Event<?, ?> event);
+ // FIXME reconsider return type, something similar to "OnosEvent"?
+ GeneratedMessageV3 convertToProtoMessage(Event<?, ?> event);
}
diff --git a/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/LinkEventConverter.java b/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/LinkEventConverter.java
index febe020..913d0e5 100644
--- a/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/LinkEventConverter.java
+++ b/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/converter/LinkEventConverter.java
@@ -25,7 +25,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.GeneratedMessageV3;
/**
* Converts for ONOS Link event message to protobuf format.
@@ -35,7 +35,7 @@
private final Logger log = LoggerFactory.getLogger(getClass());
@Override
- public GeneratedMessage convertToProtoMessage(Event<?, ?> event) {
+ public GeneratedMessageV3 convertToProtoMessage(Event<?, ?> event) {
LinkEvent linkEvent = (LinkEvent) event;
diff --git a/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/impl/KafkaPublisherManager.java b/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/impl/KafkaPublisherManager.java
index 104619a..39c23f3 100644
--- a/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/impl/KafkaPublisherManager.java
+++ b/apps/kafka-integration/core/src/main/java/org/onosproject/kafkaintegration/impl/KafkaPublisherManager.java
@@ -22,7 +22,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.GeneratedMessageV3;
/**
* Dispatch ONOS Events to all interested Listeners.
@@ -53,7 +53,7 @@
}
@Override
- public void publish(Type eventType, GeneratedMessage message) {
+ public void publish(Type eventType, GeneratedMessageV3 message) {
log.debug("Dispatching ONOS Event {}", eventType);
post(new OnosEvent(eventType, message));
}
diff --git a/apps/kafka-integration/web/pom.xml b/apps/kafka-integration/web/pom.xml
index e38332f..3dcd937 100644
--- a/apps/kafka-integration/web/pom.xml
+++ b/apps/kafka-integration/web/pom.xml
@@ -87,7 +87,7 @@
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
- <version>3.0.0-beta-2</version>
+ <version>3.0.0</version>
</dependency>
<dependency>
diff --git a/incubator/protobuf/features.xml b/incubator/protobuf/features.xml
index 2d7d5c2..c19a13b 100644
--- a/incubator/protobuf/features.xml
+++ b/incubator/protobuf/features.xml
@@ -18,7 +18,7 @@
<feature name="${project.artifactId}" version="${project.version}"
description="${project.description}">
<feature>onos-api</feature>
- <bundle>mvn:com.google.protobuf/protobuf-java/3.0.0-beta-2</bundle>
+ <bundle>mvn:com.google.protobuf/protobuf-java/3.0.0</bundle>
<bundle>mvn:${project.groupId}/${project.artifactId}/${project.version}</bundle>
</feature>
</features>
diff --git a/incubator/protobuf/pom.xml b/incubator/protobuf/pom.xml
index 4be8695..10246c4 100644
--- a/incubator/protobuf/pom.xml
+++ b/incubator/protobuf/pom.xml
@@ -30,9 +30,9 @@
<properties>
<onos.app.name>org.onosproject.incubator.protobuf</onos.app.name>
- <onos.app.requires>org.onosproject.incubator.rpc</onos.app.requires>
+ <onos.app.title>ONOS Protocol Buffers models</onos.app.title>
<!-- Note: update feature.xml when updating -->
- <protobuf.version>3.0.0-beta-2</protobuf.version>
+ <protobuf.version>3.0.0</protobuf.version>
</properties>
<dependencies>
@@ -129,7 +129,6 @@
depend on protobuf-java directly, you will be transitively depending on the
protobuf-java version that grpc depends on. -->
<protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
- <checkStaleness>true</checkStaleness>
</configuration>
<executions>
<execution>
@@ -143,7 +142,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
- <version>1.10</version>
+ <version>1.11</version>
<executions>
<execution>
<id>add-source</id>
diff --git a/incubator/rpc-grpc/features.xml b/incubator/rpc-grpc/features.xml
index 72560ad..4061b6e 100644
--- a/incubator/rpc-grpc/features.xml
+++ b/incubator/rpc-grpc/features.xml
@@ -18,24 +18,25 @@
<feature name="${project.artifactId}" version="${project.version}"
description="${project.description}">
<feature>onos-api</feature>
- <bundle>mvn:com.google.protobuf/protobuf-java/3.0.0-beta-2</bundle>
- <bundle>mvn:io.netty/netty-common/4.1.0.CR7</bundle>
- <bundle>mvn:io.netty/netty-buffer/4.1.0.CR7</bundle>
- <bundle>mvn:io.netty/netty-transport/4.1.0.CR7</bundle>
- <bundle>mvn:io.netty/netty-handler/4.1.0.CR7</bundle>
- <bundle>mvn:io.netty/netty-codec/4.1.0.CR7</bundle>
- <bundle>mvn:io.netty/netty-codec-http/4.1.0.CR7</bundle>
- <bundle>mvn:io.netty/netty-codec-http2/4.1.0.CR7</bundle>
- <bundle>mvn:io.netty/netty-resolver/4.1.0.CR7</bundle>
+ <bundle>mvn:com.google.protobuf/protobuf-java/3.0.0</bundle>
+ <bundle>mvn:io.netty/netty-common/4.1.3.Final</bundle>
+ <bundle>mvn:io.netty/netty-buffer/4.1.3.Final</bundle>
+ <bundle>mvn:io.netty/netty-transport/4.1.3.Final</bundle>
+ <bundle>mvn:io.netty/netty-handler/4.1.3.Final</bundle>
+ <bundle>mvn:io.netty/netty-codec/4.1.3.Final</bundle>
+ <bundle>mvn:io.netty/netty-codec-http/4.1.3.Final</bundle>
+ <bundle>mvn:io.netty/netty-codec-http2/4.1.3.Final</bundle>
+ <bundle>mvn:io.netty/netty-resolver/4.1.3.Final</bundle>
<!-- TODO: Create shaded jar for these. -->
- <bundle>wrap:mvn:com.google.auth/google-auth-library-credentials/0.3.0$Bundle-SymbolicName=com.google.auth.google-auth-library-credentials&Bundle-Version=0.3.0</bundle>
- <bundle>wrap:mvn:com.google.auth/google-auth-library-oauth2-http/0.3.0$Bundle-SymbolicName=com.google.auth.google-auth-library-oauth2-http&Bundle-Version=0.3.0</bundle>
- <bundle>wrap:mvn:io.grpc/grpc-core/0.14.0$Bundle-SymbolicName=io.grpc.grpc-core&Bundle-Version=0.14.0&</bundle>
- <bundle>wrap:mvn:io.grpc/grpc-protobuf-lite/0.14.0$Bundle-SymbolicName=io.grpc.grpc-protobuf-lite&Bundle-Version=0.14.0&</bundle>
- <bundle>wrap:mvn:io.grpc/grpc-protobuf/0.14.0$Bundle-SymbolicName=io.grpc.grpc-protobuf&Bundle-Version=0.14.0&</bundle>
- <bundle>wrap:mvn:io.grpc/grpc-stub/0.14.0$Bundle-SymbolicName=io.grpc.grpc-stub&Bundle-Version=0.14.0&</bundle>
- <bundle>wrap:mvn:io.grpc/grpc-netty/0.14.0$Bundle-SymbolicName=io.grpc.grpc-netty&Bundle-Version=0.14.0&Import-Package=io.netty.*;version=4.1.0.CR7,*</bundle>
- <bundle>wrap:mvn:io.grpc/grpc-auth/0.14.0$Bundle-SymbolicName=io.grpc.grpc-auth&Bundle-Version=0.14.0&Import-Package=javax.net.ssl,*</bundle>
+ <bundle>wrap:mvn:com.google.auth/google-auth-library-credentials/0.4.0$Bundle-SymbolicName=com.google.auth.google-auth-library-credentials&Bundle-Version=0.4.0</bundle>
+ <bundle>wrap:mvn:com.google.auth/google-auth-library-oauth2-http/0.4.0$Bundle-SymbolicName=com.google.auth.google-auth-library-oauth2-http&Bundle-Version=0.4.0</bundle>
+ <!-- io.grpc.internal required for DnsNameResolverProvider -->
+ <bundle>wrap:mvn:io.grpc/grpc-core/1.0.0-pre2$Bundle-SymbolicName=io.grpc.grpc-core&Bundle-Version=1.0.0&Export-Package=*;version=1.0.0,io.grpc.internal;version=1.0.0&</bundle>
+ <bundle>wrap:mvn:io.grpc/grpc-protobuf-lite/1.0.0-pre2$Bundle-SymbolicName=io.grpc.grpc-protobuf-lite&Bundle-Version=1.0.0&</bundle>
+ <bundle>wrap:mvn:io.grpc/grpc-protobuf/1.0.0-pre2$Bundle-SymbolicName=io.grpc.grpc-protobuf&Bundle-Version=1.0.0&</bundle>
+ <bundle>wrap:mvn:io.grpc/grpc-stub/1.0.0-pre2$Bundle-SymbolicName=io.grpc.grpc-stub&Bundle-Version=1.0.0&</bundle>
+ <bundle>wrap:mvn:io.grpc/grpc-netty/1.0.0-pre2$Bundle-SymbolicName=io.grpc.grpc-netty&Bundle-Version=1.0.0&Import-Package=io.netty.*;version=4.1.3,*</bundle>
+ <bundle>wrap:mvn:io.grpc/grpc-auth/1.0.0-pre2$Bundle-SymbolicName=io.grpc.grpc-auth&Bundle-Version=1.0.0&Import-Package=javax.net.ssl,*</bundle>
<bundle>mvn:${project.groupId}/${project.artifactId}/${project.version}</bundle>
</feature>
</features>
diff --git a/incubator/rpc-grpc/pom.xml b/incubator/rpc-grpc/pom.xml
index 6e672ad..4ae20f3 100644
--- a/incubator/rpc-grpc/pom.xml
+++ b/incubator/rpc-grpc/pom.xml
@@ -30,11 +30,15 @@
<properties>
<onos.app.name>org.onosproject.incubator.rpc.grpc</onos.app.name>
- <onos.app.requires>org.onosproject.incubator.rpc,org.onosproject.incubator.protobuf</onos.app.requires>
- <protobuf.version>3.0.0-beta-2</protobuf.version>
+ <onos.app.title>ONOS gRPC API</onos.app.title>
+ <onos.app.requires>
+ org.onosproject.incubator.rpc,
+ org.onosproject.incubator.protobuf
+ </onos.app.requires>
+ <protobuf.version>3.0.0</protobuf.version>
<!-- Note: update feature.xml when updating -->
- <grpc.version>0.14.0</grpc.version>
- <grpc.netty.version>4.1.0.CR7</grpc.netty.version>
+ <grpc.version>1.0.0-pre2</grpc.version>
+ <grpc.netty.version>4.1.3.Final</grpc.netty.version>
</properties>
<dependencies>
@@ -211,7 +215,6 @@
<protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
- <checkStaleness>true</checkStaleness>
</configuration>
<executions>
<execution>
@@ -226,7 +229,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
- <version>1.10</version>
+ <version>1.11</version>
<executions>
<execution>
<id>add-source</id>
@@ -274,12 +277,6 @@
<artifactId>netty-common</artifactId>
<version>${grpc.netty.version}</version>
</dependency>
- <dependency>
- <groupId>com.twitter</groupId>
- <artifactId>hpack</artifactId>
- <!-- 0.11.0 and later are published as a bundle -->
- <version>0.11.0</version>
- </dependency>
</dependencies>
</dependencyManagement>
diff --git a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java
index 5934939..9fe33f7 100644
--- a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java
+++ b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java
@@ -36,6 +36,7 @@
import org.slf4j.LoggerFactory;
import io.grpc.ManagedChannel;
+import io.grpc.internal.DnsNameResolverProvider;
import io.grpc.netty.NegotiationType;
import io.grpc.netty.NettyChannelBuilder;
@@ -62,7 +63,6 @@
private RemoteServiceContextProviderService providerService;
-
@Activate
protected void activate() {
providerService = rpcRegistry.register(this);
@@ -116,6 +116,10 @@
}
return NettyChannelBuilder.forAddress(uri.getHost(), port)
.negotiationType(NegotiationType.PLAINTEXT)
+ // TODO Not ideal fix, gRPC discovers name resolvers
+ // in the class path, but OSGi was preventing it.
+ // Manually specifying the default dns resolver for now.
+ .nameResolverFactory(new DnsNameResolverProvider())
.build();
}
diff --git a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java
index 260a709..2604d09 100644
--- a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java
+++ b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java
@@ -39,8 +39,7 @@
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.onlab.util.Tools;
-import org.onosproject.grpc.net.device.DeviceProviderRegistryRpcGrpc;
-import org.onosproject.grpc.net.device.DeviceProviderRegistryRpcGrpc.DeviceProviderRegistryRpc;
+import org.onosproject.grpc.net.device.DeviceProviderRegistryRpcGrpc.DeviceProviderRegistryRpcImplBase;
import org.onosproject.grpc.net.device.DeviceService.DeviceConnected;
import org.onosproject.grpc.net.device.DeviceService.DeviceDisconnected;
import org.onosproject.grpc.net.device.DeviceService.DeviceProviderMsg;
@@ -51,7 +50,6 @@
import org.onosproject.grpc.net.device.DeviceService.RegisterProvider;
import org.onosproject.grpc.net.device.DeviceService.UpdatePortStatistics;
import org.onosproject.grpc.net.device.DeviceService.UpdatePorts;
-import org.onosproject.grpc.net.link.LinkProviderServiceRpcGrpc;
import org.onosproject.incubator.protobuf.net.ProtobufUtils;
import org.onosproject.net.DeviceId;
import org.onosproject.net.MastershipRole;
@@ -123,8 +121,8 @@
log.debug("Server starting on {}", listenPort);
try {
server = NettyServerBuilder.forPort(listenPort)
- .addService(DeviceProviderRegistryRpcGrpc.bindService(new DeviceProviderRegistryServerProxy()))
- .addService(LinkProviderServiceRpcGrpc.bindService(new LinkProviderServiceServerProxy(this)))
+ .addService(new DeviceProviderRegistryServerProxy())
+ .addService(new LinkProviderServiceServerProxy(this))
.build().start();
} catch (IOException e) {
log.error("Failed to start gRPC server", e);
@@ -202,7 +200,7 @@
/**
* Relays DeviceProviderRegistry calls from RPC client.
*/
- class DeviceProviderRegistryServerProxy implements DeviceProviderRegistryRpc {
+ class DeviceProviderRegistryServerProxy extends DeviceProviderRegistryRpcImplBase {
@Override
public StreamObserver<DeviceProviderServiceMsg> register(StreamObserver<DeviceProviderMsg> toDeviceProvider) {
diff --git a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderRegistryClientProxy.java b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderRegistryClientProxy.java
index 5df5a3d..abadf76 100644
--- a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderRegistryClientProxy.java
+++ b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderRegistryClientProxy.java
@@ -22,7 +22,7 @@
import org.onosproject.net.link.LinkProviderService;
import org.onosproject.net.provider.AbstractProviderRegistry;
-import com.google.api.client.repackaged.com.google.common.annotations.Beta;
+import com.google.common.annotations.Beta;
import io.grpc.Channel;
diff --git a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceClientProxy.java b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceClientProxy.java
index b576033..0f43db2 100644
--- a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceClientProxy.java
+++ b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceClientProxy.java
@@ -38,7 +38,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.api.client.repackaged.com.google.common.annotations.Beta;
+import com.google.common.annotations.Beta;
import com.google.common.util.concurrent.ListenableFuture;
import io.grpc.Channel;
diff --git a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceServerProxy.java b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceServerProxy.java
index 435c650..26210f6 100644
--- a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceServerProxy.java
+++ b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceServerProxy.java
@@ -27,7 +27,7 @@
import org.apache.commons.lang3.tuple.Pair;
import org.onosproject.grpc.net.Link.ConnectPoint.ElementIdCase;
import org.onosproject.grpc.net.Link.LinkType;
-import org.onosproject.grpc.net.link.LinkProviderServiceRpcGrpc.LinkProviderServiceRpc;
+import org.onosproject.grpc.net.link.LinkProviderServiceRpcGrpc.LinkProviderServiceRpcImplBase;
import org.onosproject.grpc.net.link.LinkService.LinkDetectedMsg;
import org.onosproject.grpc.net.link.LinkService.LinkVanishedMsg;
import org.onosproject.grpc.net.link.LinkService.Void;
@@ -44,10 +44,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.api.client.repackaged.com.google.common.annotations.Beta;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.RemovalNotification;
+import com.google.common.annotations.Beta;
import io.grpc.stub.StreamObserver;
@@ -57,7 +57,7 @@
*/
@Beta
final class LinkProviderServiceServerProxy
- implements LinkProviderServiceRpc {
+ extends LinkProviderServiceRpcImplBase {
/**
* Silence time in seconds, until link gets treated as vanished.
diff --git a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/StubLinkProvider.java b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/StubLinkProvider.java
index 460b779..929881c 100644
--- a/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/StubLinkProvider.java
+++ b/incubator/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/StubLinkProvider.java
@@ -19,7 +19,7 @@
import org.onosproject.net.provider.AbstractProvider;
import org.onosproject.net.provider.ProviderId;
-import com.google.api.client.repackaged.com.google.common.annotations.Beta;
+import com.google.common.annotations.Beta;
import com.google.common.base.MoreObjects;
/**