Removed the incubator graveyard.
Change-Id: Ib1417f7f782bfb7bcd47df555971ac5f73ae7f9b
diff --git a/graveyard/README.md b/graveyard/README.md
deleted file mode 100644
index 599b340..0000000
--- a/graveyard/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Old Incubator Graveyard
-
-This area contains defunct code. All other code has been moved out from the incubator to the core or to the apps area as separate extensions.
-This area will be entirely removed in a not-so-distant future.
diff --git a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceContext.java b/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceContext.java
deleted file mode 100644
index ede8c8a..0000000
--- a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceContext.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc;
-
-import com.google.common.annotations.Beta;
-
-// Implementation is expected to be a handler for RPC channel
-// and shim-layer to convert Java Service interface calls to/from RPC call
-/**
- * Context for Remote service.
- */
-@Beta
-public interface RemoteServiceContext {
-
- // we may need a method to check connection state?
-
- /**
- * Returns implementation of the specified service class.
- *
- * @param serviceClass service class
- * @param <T> type of service
- * @return implementation class
- * @throws UnsupportedOperationException if this context does not support it.
- */
- <T> T get(Class<T> serviceClass);
-}
diff --git a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceContextProvider.java b/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceContextProvider.java
deleted file mode 100644
index 294ae9c..0000000
--- a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceContextProvider.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc;
-
-import java.net.URI;
-
-import org.onosproject.net.provider.Provider;
-
-import com.google.common.annotations.Beta;
-
-//Factory to create RemoteServiceContext
-/**
- * Abstraction of a remote service implementation provider.
- */
-@Beta
-public interface RemoteServiceContextProvider extends Provider {
-
- /**
- * Returns {@link RemoteServiceContext} for given URI.
- *
- * @param uri URI for remote end point.
- * @return {@link RemoteServiceContext}
- */
- RemoteServiceContext get(URI uri);
-}
diff --git a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceContextProviderService.java b/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceContextProviderService.java
deleted file mode 100644
index 05d9795..0000000
--- a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceContextProviderService.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc;
-
-import org.onosproject.net.provider.ProviderService;
-
-import com.google.common.annotations.Beta;
-
-// Not completely sure if we will make use of this at the moment
-// added to follow existing {@link ProviderRegistry} pattern
-@Beta
-public interface RemoteServiceContextProviderService
- extends ProviderService<RemoteServiceContextProvider> {
-
-}
diff --git a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceDirectory.java b/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceDirectory.java
deleted file mode 100644
index a40a837..0000000
--- a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceDirectory.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc;
-
-import java.net.URI;
-
-import com.google.common.annotations.Beta;
-
-// This is actually the RPC Service, where consumers get
-// RemoteSericeContext (~= RPC Session) for given URI
-// expected to be implemented by some Manager class on Lower-side ONOS
-/**
- * Service for retrieving RPC session handler ({@link RemoteServiceContext}).
- */
-@Beta
-public interface RemoteServiceDirectory {
-
- /**
- * Returns remote service context.
- *
- * @param uri URI representing remote end point. e.g., (grpc://hostname:port)
- * @return remote service context
- * @throws UnsupportedOperationException if URI scheme was not supported.
- */
- RemoteServiceContext get(URI uri);
-
-}
diff --git a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceProviderRegistry.java b/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceProviderRegistry.java
deleted file mode 100644
index f7e3df0..0000000
--- a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/RemoteServiceProviderRegistry.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc;
-
-import org.onosproject.net.provider.ProviderRegistry;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Abstraction of a remote service provider registry.
- */
-@Beta
-public interface RemoteServiceProviderRegistry
- extends ProviderRegistry<RemoteServiceContextProvider,
- RemoteServiceContextProviderService> {
-
-}
diff --git a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/package-info.java b/graveyard/api/src/main/java/org/onosproject/incubator/rpc/package-info.java
deleted file mode 100644
index 1ce7de4..0000000
--- a/graveyard/api/src/main/java/org/onosproject/incubator/rpc/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.
- */
-
-/**
- * Incubating inter-cluster RPC APIs.
- */
-package org.onosproject.incubator.rpc;
diff --git a/graveyard/protobuf-dead/api/src/main/java/org/onosproject/protobuf/api/GrpcServiceRegistry.java b/graveyard/protobuf-dead/api/src/main/java/org/onosproject/protobuf/api/GrpcServiceRegistry.java
deleted file mode 100644
index 5e7e4bc..0000000
--- a/graveyard/protobuf-dead/api/src/main/java/org/onosproject/protobuf/api/GrpcServiceRegistry.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.protobuf.api;
-
-import com.google.common.annotations.Beta;
-import io.grpc.BindableService;
-
-/**
- * A service that allows for de/registration of gRPC services, and determining
- * whether a service is present.
- */
-@Beta
-public interface GrpcServiceRegistry {
- /**
- * Register a gRPC service with this registry.
- * @param service the service to be registered
- * @return true if the service was added and server successfully started,
- * false otherwise
- */
- boolean register(BindableService service);
-
- /**
- * Unregister a gRPC service with this registry.
- * @param service the service to be unregistered
- * @return true if the service was removed and the server successfully
- * started, false otherwise
- */
- boolean unregister(BindableService service);
-
- /**
- * Checks if an instance of the provided serviceClass is currently
- * registered with this registry.
- * @param serviceClass the class being queries
- * @return true if an instance of this specified class has been registered,
- * false otherwise
- */
- boolean containsService(Class<BindableService> serviceClass);
-}
diff --git a/graveyard/protobuf-dead/api/src/main/java/org/onosproject/protobuf/api/package-info.java b/graveyard/protobuf-dead/api/src/main/java/org/onosproject/protobuf/api/package-info.java
deleted file mode 100644
index 0541b49..0000000
--- a/graveyard/protobuf-dead/api/src/main/java/org/onosproject/protobuf/api/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-
-/**
- * Abstractions for interacting with the gRPC subsystem.
- */
-package org.onosproject.protobuf.api;
diff --git a/graveyard/protobuf-dead/registry/src/main/java/org/onosproject/protobuf/registry/GrpcServiceRegistryImpl.java b/graveyard/protobuf-dead/registry/src/main/java/org/onosproject/protobuf/registry/GrpcServiceRegistryImpl.java
deleted file mode 100644
index 9935cdb..0000000
--- a/graveyard/protobuf-dead/registry/src/main/java/org/onosproject/protobuf/registry/GrpcServiceRegistryImpl.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.protobuf.registry;
-
-import com.google.common.collect.Maps;
-import io.grpc.BindableService;
-import io.grpc.Server;
-import io.grpc.ServerBuilder;
-import org.onosproject.protobuf.api.GrpcServiceRegistry;
-import org.osgi.service.component.ComponentContext;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Modified;
-import org.osgi.service.component.annotations.Property;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.util.Dictionary;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import static org.onlab.util.Tools.get;
-
-/**
- * A basic implementation of {@link GrpcServiceRegistry} designed for use with
- * built in gRPC services.
- *
- * NOTE: this is an early implementation in which the addition of any new
- * service forces a restart of the server, this is sufficient for testing but
- * inappropriate for deployment.
- */
-@Component(service = GrpcServiceRegistry.class)
-public class GrpcServiceRegistryImpl implements GrpcServiceRegistry {
-
- private static final int DEFAULT_SERVER_PORT = 64000;
- private static final int DEFAULT_SHUTDOWN_TIME = 1;
- private static final AtomicBoolean SERVICES_MODIFIED_SINCE_START = new AtomicBoolean(false);
-
- private static final String PORT_PROPERTY_NAME = "listeningPort";
-
- private final Map<Class<? extends BindableService>, BindableService> registeredServices =
- Maps.newHashMap();
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private Server server;
-
- /* It is currently the responsibility of the administrator to notify
- clients of nonstandard port usage as there is no mechanism available to
- discover the port hosting gRPC services.
- */
- /** The port number which ONOS will use to host gRPC services. */
- private int listeningPort = DEFAULT_SERVER_PORT;
-
- @Activate
- public void activate() {
- log.info("Started");
- }
-
- @Deactivate
- public void deactivate() {
- attemptGracefulShutdownThenForce(DEFAULT_SHUTDOWN_TIME);
- log.info("Stopped");
- }
-
- @Modified
- public void modified(ComponentContext context) {
- if (context != null) {
- setProperties(context);
- }
- log.info("Connection was restarted to allow service to be added, " +
- "this is a temporary workaround");
- restartServer(listeningPort);
- }
-
- @Override
- public boolean register(BindableService service) {
- synchronized (registeredServices) {
- if (!registeredServices.containsKey(service.getClass())) {
- registeredServices.put(service.getClass(), service);
- } else {
- log.warn("The specified class \"{}\" was not added becuase an " +
- "instance of the class is already registered.",
- service.getClass().toString());
- return false;
- }
- }
- return restartServer(listeningPort);
- }
-
- @Override
- public boolean unregister(BindableService service) {
- synchronized (registeredServices) {
- if (registeredServices.containsKey(service.getClass())) {
- registeredServices.remove(service.getClass());
- } else {
- log.warn("The specified class \"{}\" was not removed because it " +
- "was not present.", service.getClass().toString());
- return false;
- }
- }
- return restartServer(listeningPort);
- }
-
- @Override
- public boolean containsService(Class<BindableService> serviceClass) {
- return registeredServices.containsKey(serviceClass);
- }
-
- private void setProperties(ComponentContext context) {
- Dictionary<String, Object> properties = context.getProperties();
- String listeningPort = get(properties, PORT_PROPERTY_NAME);
- this.listeningPort = listeningPort == null ? DEFAULT_SERVER_PORT :
- Integer.parseInt(listeningPort.trim());
- }
-
- /**
- * Attempts a graceful shutdown allowing {@code timeLimitSeconds} to elapse
- * before forcing a shutdown.
- *
- * @param timeLimitSeconds time before a shutdown is forced in seconds
- * @return true if the server is terminated, false otherwise
- */
- private boolean attemptGracefulShutdownThenForce(int timeLimitSeconds) {
- if (!server.isShutdown()) {
- server.shutdown();
- }
- try {
- /*This is not conditional in case the server is shutdown but
- handling requests submitted before shutdown was called.*/
- server.awaitTermination(timeLimitSeconds, TimeUnit.SECONDS);
- } catch (InterruptedException e) {
- log.error("Awaiting server termination failed with error {}",
- e.getMessage());
- Thread.currentThread().interrupt();
- }
- if (!server.isTerminated()) {
- server.shutdownNow();
- try {
- server.awaitTermination(10, TimeUnit.MILLISECONDS);
- } catch (InterruptedException e) {
- log.error("Server failed to terminate as expected with error" +
- " {}", e.getMessage());
- Thread.currentThread().interrupt();
- }
- }
- return server.isTerminated();
- }
-
- private boolean restartServer(int port) {
- if (!attemptGracefulShutdownThenForce(DEFAULT_SHUTDOWN_TIME)) {
- log.error("Shutdown failed, the previous server may still be" +
- " active.");
- }
- return createServerAndStart(port);
- }
-
- /**
- * Creates a server with the set of registered services on the specified
- * port.
- *
- * @param port the port on which this server will listen
- * @return true if the server was started successfully, false otherwise
- */
- private boolean createServerAndStart(int port) {
-
- ServerBuilder serverBuilder =
- ServerBuilder.forPort(port);
- synchronized (registeredServices) {
- registeredServices.values().forEach(
- service -> serverBuilder.addService(service));
- }
- server = serverBuilder.build();
- try {
- server.start();
- } catch (IllegalStateException e) {
- log.error("The server could not be started because an existing " +
- "server is already running: {}", e.getMessage());
- return false;
- } catch (IOException e) {
- log.error("The server could not be started due to a failure to " +
- "bind: {} ", e.getMessage());
- return false;
- }
- return true;
- }
-}
diff --git a/graveyard/protobuf-dead/registry/src/main/java/org/onosproject/protobuf/registry/package-info.java b/graveyard/protobuf-dead/registry/src/main/java/org/onosproject/protobuf/registry/package-info.java
deleted file mode 100644
index 818c4e8..0000000
--- a/graveyard/protobuf-dead/registry/src/main/java/org/onosproject/protobuf/registry/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-
-/**
- * Services for interacting remotely with the gRPC subsystem.
- */
-package org.onosproject.protobuf.registry;
diff --git a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationService.java b/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationService.java
deleted file mode 100644
index f60a36e..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationService.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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;
-
-import com.google.common.annotations.Beta;
-import io.grpc.BindableService;
-import io.grpc.stub.StreamObserver;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onosproject.app.ApplicationService;
-import org.onosproject.app.ApplicationState;
-import org.onosproject.core.Application;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.grpc.nb.app.ApplicationServiceGrpc.ApplicationServiceImplBase;
-import org.onosproject.grpc.nb.app.ApplicationServiceNb;
-import org.onosproject.grpc.nb.app.ApplicationServiceNb.getApplicationReply;
-import org.onosproject.grpc.nb.app.ApplicationServiceNb.getApplicationsReply;
-import org.onosproject.grpc.nb.app.ApplicationServiceNb.getIdReply;
-import org.onosproject.grpc.nb.app.ApplicationServiceNb.getPermissionsReply;
-import org.onosproject.grpc.nb.app.ApplicationServiceNb.getStateReply;
-import org.onosproject.incubator.protobuf.models.core.ApplicationEnumsProtoTranslator;
-import org.onosproject.incubator.protobuf.models.core.ApplicationIdProtoTranslator;
-import org.onosproject.incubator.protobuf.models.core.ApplicationProtoTranslator;
-import org.onosproject.incubator.protobuf.models.security.PermissionProtoTranslator;
-import org.onosproject.protobuf.api.GrpcServiceRegistry;
-import org.slf4j.Logger;
-
-import static org.slf4j.LoggerFactory.getLogger;
-
-/**
- * A server that provides access to the methods exposed by {@link ApplicationService}.
- */
-
-@Beta
-@Component(immediate = true)
-public class GrpcNbApplicationService {
-
- private final Logger log = getLogger(getClass());
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected GrpcServiceRegistry registry;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected ApplicationService applicationService;
-
- private ApplicationServiceNbServerInternal instance = null;
-
-
- @Activate
- public void activate() {
- registry.register(getInnerInstance());
- log.info("Started.");
- }
-
- @Deactivate
- public void deactivate() {
- registry.unregister(getInnerInstance());
- log.info("Stopped");
- }
-
- /**
- * Register Application Service, Used for unit testing purposes.
- *
- * @return An instance of binding Application service
- */
- public InProcessServer<BindableService> registerInProcessServer() {
- InProcessServer<BindableService> inprocessServer =
- new InProcessServer(GrpcNbApplicationService.ApplicationServiceNbServerInternal.class);
- inprocessServer.addServiceToBind(getInnerInstance());
-
- return inprocessServer;
- }
-
- private class ApplicationServiceNbServerInternal extends ApplicationServiceImplBase {
-
- public ApplicationServiceNbServerInternal() {
- super();
- }
-
- @Override
- public void getApplications(ApplicationServiceNb.getApplicationsRequest request,
- StreamObserver<getApplicationsReply> responseObserver) {
- getApplicationsReply.Builder replyBuilder = getApplicationsReply.newBuilder();
-
- applicationService.getApplications().forEach(a ->
- replyBuilder.addApplication(ApplicationProtoTranslator.translate(a)));
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getId(ApplicationServiceNb.getIdRequest request,
- StreamObserver<getIdReply> responseObserver) {
- ApplicationId appId = applicationService.getId(request.getName());
-
- responseObserver.onNext(getIdReply.newBuilder()
- .setApplicationId(ApplicationIdProtoTranslator.translate(appId)).build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getApplication(ApplicationServiceNb.getApplicationRequest request,
- StreamObserver<getApplicationReply> responseObserver) {
-
- Application application = applicationService.getApplication(
- ApplicationIdProtoTranslator.translate(request.getApplicationId()));
-
- responseObserver.onNext(getApplicationReply.newBuilder()
- .setApplication(ApplicationProtoTranslator
- .translate(application)).build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getState(ApplicationServiceNb.getStateRequest request,
- StreamObserver<getStateReply> responseObserver) {
- ApplicationState state = applicationService.getState(
- ApplicationIdProtoTranslator.translate(request.getApplicationId()));
-
- responseObserver.onNext(getStateReply
- .newBuilder().setState(ApplicationEnumsProtoTranslator
- .translate(state)).build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getPermissions(ApplicationServiceNb.getPermissionsRequest request,
- StreamObserver<getPermissionsReply> responseObserver) {
- getPermissionsReply.Builder replyBuilder = getPermissionsReply.newBuilder();
-
- applicationService.getPermissions(ApplicationIdProtoTranslator
- .translate(request.getApplicationId()))
- .forEach(p -> replyBuilder.addPermission(
- PermissionProtoTranslator.translate(p)));
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
- }
-
- private ApplicationServiceNbServerInternal getInnerInstance() {
- if (instance == null) {
- instance = new ApplicationServiceNbServerInternal();
- }
- return instance;
- }
-}
diff --git a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbComponentConfigService.java b/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbComponentConfigService.java
deleted file mode 100644
index d9cad10..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbComponentConfigService.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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;
-
-import com.google.common.annotations.Beta;
-import io.grpc.BindableService;
-import io.grpc.stub.StreamObserver;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onosproject.cfg.ComponentConfigService;
-import org.onosproject.incubator.protobuf.models.cfg.ConfigPropertyProtoTranslator;
-import org.onosproject.protobuf.api.GrpcServiceRegistry;
-import org.slf4j.Logger;
-
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceGrpc.ComponentConfigServiceImplBase;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.getComponentNamesRequest;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.getComponentNamesReply;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.registerPropertiesRequest;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.registerPropertiesReply;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.unregisterPropertiesRequest;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.unregisterPropertiesReply;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.getPropertiesRequest;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.getPropertiesReply;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.setPropertyRequest;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.setPropertyReply;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.preSetPropertyRequest;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.preSetPropertyReply;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.unsetPropertyRequest;
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.unsetPropertyReply;
-import static org.slf4j.LoggerFactory.getLogger;
-
-
-/**
- * A server that provides access to the methods exposed by {@link ComponentConfigService}.
- */
-@Beta
-@Component(immediate = true)
-public class GrpcNbComponentConfigService {
-
- private final Logger log = getLogger(getClass());
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected GrpcServiceRegistry registry;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected ComponentConfigService componentConfigService;
-
- private ComponentConfigServiceNbServerInternal instance = null;
-
- @Activate
- public void activate() {
-
- registry.register(getInnerInstance());
- log.info("Started.");
- }
-
- @Deactivate
- public void deactivate() {
-
- registry.unregister(getInnerInstance());
- log.info("Stopped");
- }
-
- /**
- * Register ComponentConfig Service, Used for unit testing purposes.
- *
- * @return An instance of binding ComponentConfig service
- */
- public InProcessServer<BindableService> registerInProcessServer() {
- InProcessServer<BindableService> inprocessServer =
- new InProcessServer(ComponentConfigServiceNbServerInternal.class);
- inprocessServer.addServiceToBind(getInnerInstance());
-
- return inprocessServer;
- }
-
- private final class ComponentConfigServiceNbServerInternal extends ComponentConfigServiceImplBase {
-
- private ComponentConfigServiceNbServerInternal() {
- super();
- }
-
- @Override
- public void getComponentNames(getComponentNamesRequest request,
- StreamObserver<getComponentNamesReply> responseObserver) {
-
- getComponentNamesReply.Builder replyBuilder = getComponentNamesReply.newBuilder();
-
- componentConfigService.getComponentNames().forEach(n -> replyBuilder.addNames(n));
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void registerProperties(registerPropertiesRequest request,
- StreamObserver<registerPropertiesReply> responseObserver) {
-
- try {
- componentConfigService.registerProperties(Class.forName(request.getComponentClass()));
- responseObserver.onNext(registerPropertiesReply.getDefaultInstance());
- responseObserver.onCompleted();
- } catch (ClassNotFoundException e) {
- responseObserver.onError(e);
- }
- }
-
- @Override
- public void unregisterProperties(unregisterPropertiesRequest request,
- StreamObserver<unregisterPropertiesReply> responseObserver) {
-
- try {
- componentConfigService.unregisterProperties(Class.forName(request.getComponentClass()),
- request.getClear());
- responseObserver.onNext(unregisterPropertiesReply.getDefaultInstance());
- responseObserver.onCompleted();
- } catch (ClassNotFoundException e) {
- responseObserver.onError(e);
- }
- }
-
- @Override
- public void getProperties(getPropertiesRequest request, StreamObserver<getPropertiesReply> responseObserver) {
-
- getPropertiesReply.Builder replyBuilder = getPropertiesReply.newBuilder();
-
- componentConfigService.getProperties(request.getComponentName())
- .forEach(n -> replyBuilder.addConfigProperties(ConfigPropertyProtoTranslator.translate(n)));
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void setProperty(setPropertyRequest request, StreamObserver<setPropertyReply> responseObserver) {
-
- componentConfigService.setProperty(request.getComponentName(), request.getName(), request.getValue());
- responseObserver.onNext(setPropertyReply.getDefaultInstance());
- responseObserver.onCompleted();
- }
-
- @Override
- public void preSetProperty(preSetPropertyRequest request,
- StreamObserver<preSetPropertyReply> responseObserver) {
-
- componentConfigService.preSetProperty(request.getComponentName(), request.getName(), request.getValue());
- responseObserver.onNext(preSetPropertyReply.getDefaultInstance());
- responseObserver.onCompleted();
- }
-
- @Override
- public void unsetProperty(unsetPropertyRequest request, StreamObserver<unsetPropertyReply> responseObserver) {
-
- componentConfigService.unsetProperty(request.getComponentName(), request.getName());
- responseObserver.onNext(unsetPropertyReply.getDefaultInstance());
- responseObserver.onCompleted();
- }
- }
-
- private ComponentConfigServiceNbServerInternal getInnerInstance() {
- if (instance == null) {
- instance = new ComponentConfigServiceNbServerInternal();
- }
- return instance;
- }
-}
diff --git a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbDeviceService.java b/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbDeviceService.java
deleted file mode 100644
index 5d6ea4c..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbDeviceService.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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;
-
-import com.google.common.annotations.Beta;
-import io.grpc.BindableService;
-import io.grpc.stub.StreamObserver;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onosproject.grpc.net.device.models.PortEnumsProto;
-import org.onosproject.grpc.net.device.models.PortStatisticsProtoOuterClass.PortStatisticsProto;
-import org.onosproject.grpc.nb.net.device.DeviceServiceGrpc.DeviceServiceImplBase;
-import org.onosproject.grpc.net.models.MastershipRoleProtoOuterClass;
-import org.onosproject.grpc.net.models.PortProtoOuterClass.PortProto;
-import org.onosproject.grpc.net.device.models.DeviceEnumsProto;
-import org.onosproject.protobuf.api.GrpcServiceRegistry;
-import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.MastershipRole;
-import org.onosproject.net.PortNumber;
-import org.onosproject.net.device.DeviceService;
-import org.onosproject.incubator.protobuf.models.net.device.DeviceProtoTranslator;
-import org.slf4j.Logger;
-
-import static org.onosproject.grpc.nb.net.device.DeviceServiceNb.*;
-import static org.slf4j.LoggerFactory.getLogger;
-
-/**
- * A server that provides access to the methods exposed by {@link DeviceService}.
- * TODO this requires major refactoring, translation should be delegated to calls to
- * TODO{@link DeviceProtoTranslator}.
- */
-@Beta
-@Component(immediate = true)
-public class GrpcNbDeviceService {
-
- private final Logger log = getLogger(getClass());
-
- private DeviceServiceNbServerInternal instance = null;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected GrpcServiceRegistry registry;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected DeviceService deviceService;
-
- @Activate
- public void activate() {
- registry.register(getInnerInstance());
- log.info("Started.");
- }
-
- @Deactivate
- public void deactivate() {
- registry.unregister(getInnerInstance());
- log.info("Stopped");
- }
-
- /**
- * Register Device Service, Used for unit testing purposes.
- *
- * @return An instance of binding Device service
- */
- public InProcessServer<BindableService> registerInProcessServer() {
- InProcessServer<BindableService> inprocessServer =
- new InProcessServer(GrpcNbDeviceService.DeviceServiceNbServerInternal.class);
- inprocessServer.addServiceToBind(getInnerInstance());
-
- return inprocessServer;
- }
-
- private final class DeviceServiceNbServerInternal extends DeviceServiceImplBase {
-
- private DeviceServiceNbServerInternal() {
- super();
- }
-
- @Override
- public void getDeviceCount(
- getDeviceCountRequest request,
- StreamObserver<getDeviceCountReply> responseObserver) {
- responseObserver
- .onNext(getDeviceCountReply
- .newBuilder()
- .setDeviceCount(
- deviceService.getDeviceCount())
- .build());
- responseObserver.onCompleted();
- }
-
- //FIXME NOTE: this will be switched to a streaming version.
- @Override
- public void getDevices(getDevicesRequest request,
- StreamObserver<getDevicesReply> responseObserver) {
- getDevicesReply.Builder replyBuilder = getDevicesReply.newBuilder();
- deviceService.getDevices().forEach(d -> {
- replyBuilder.addDevice(
- org.onosproject.grpc.net.models.DeviceProtoOuterClass.DeviceProto
- .newBuilder()
- .setDeviceId(d.id().toString())
- .setType(
- DeviceEnumsProto.DeviceTypeProto
- .valueOf(d.type().toString()))
- .setManufacturer(d.manufacturer())
- .setHwVersion(d.hwVersion())
- .setSwVersion(d.swVersion())
- .setSerialNumber(d.serialNumber())
- .setChassisId(d.chassisId().toString())
- .build());
- });
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- //FIXME NOTE: this will be switched to a streaming version.
- @Override
- public void getAvailableDevices(getAvailableDevicesRequest request,
- StreamObserver
- <getAvailableDevicesReply> responseObserver) {
- getAvailableDevicesReply.Builder replyBuilder = getAvailableDevicesReply.newBuilder();
- deviceService.getAvailableDevices().forEach(d -> {
- replyBuilder.addDevice(
- org.onosproject.grpc.net.models.DeviceProtoOuterClass.DeviceProto
- .newBuilder()
- .setDeviceId(d.id().toString())
- .setType(DeviceEnumsProto.DeviceTypeProto.valueOf(
- d.type().toString()))
- .setManufacturer(d.manufacturer())
- .setHwVersion(d.hwVersion())
- .setSwVersion(d.swVersion())
- .setSerialNumber(d.serialNumber())
- .setChassisId(d.chassisId().toString())
- .build());
- });
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getDevice(getDeviceRequest request,
- io.grpc.stub.StreamObserver<getDeviceReply> responseObserver) {
- org.onosproject.net.Device device = deviceService.getDevice(
- DeviceId.deviceId(request.getDeviceId()));
- responseObserver.onNext(
- getDeviceReply.newBuilder().setDevice(
- org.onosproject.grpc.net.models.DeviceProtoOuterClass.DeviceProto
- .newBuilder()
- .setDeviceId(device.id().toString())
- .setType(
- //TODO check for better approach to mapping between enum varieties
- DeviceEnumsProto.DeviceTypeProto.valueOf(device.type().toString()))
- .setManufacturer(device.manufacturer())
- .setHwVersion(device.hwVersion())
- .setSwVersion(device.swVersion())
- .setSerialNumber(device.serialNumber())
- .setChassisId(device.chassisId().toString())
- .build()).build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getRole(getRoleRequest request,
- StreamObserver<getRoleReply> responseObserver) {
- DeviceId deviceId = DeviceId.deviceId(request.getDeviceId());
- MastershipRole role = deviceService.getRole(deviceId);
- MastershipRoleProtoOuterClass.MastershipRoleProto mastershipRole =
- MastershipRoleProtoOuterClass.MastershipRoleProto.valueOf(role.toString());
- responseObserver.onNext(getRoleReply.newBuilder()
- .setRole(mastershipRole).build());
- responseObserver.onCompleted();
- }
-
- //FIXME NOTE: this may be switched to a streaming version.
- @Override
- public void getPorts(getPortsRequest request, StreamObserver<getPortsReply> responseObserver) {
- getPortsReply.Builder replyBuilder = getPortsReply.newBuilder();
- deviceService.getPorts(
- DeviceId.deviceId(request.getDeviceId()))
- .forEach(port -> {
- PortProto.Builder portBuilder = PortProto
- .newBuilder()
- .setPortNumber(port.number().toString())
- .setIsEnabled(port.isEnabled())
- .setType(PortEnumsProto.PortTypeProto.valueOf(port.type().toString()))
- .setPortSpeed(port.portSpeed());
- port.annotations().keys().forEach(key -> portBuilder
- .putAnnotations(key, port.annotations().value(key)));
-
- replyBuilder.addPort(portBuilder.build());
- });
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- //FIXME NOTE: this may be switched to a streaming version.
- @Override
- public void getPortStatistics(getPortStatisticsRequest request,
- StreamObserver<getPortStatisticsReply> responseObserver) {
- getPortStatisticsReply.Builder replyBuilder = getPortStatisticsReply.newBuilder();
- deviceService.getPortStatistics(DeviceId.deviceId(request.getDeviceId()))
- .forEach(statistic -> {
- replyBuilder.addPortStatistics(
- PortStatisticsProto
- .newBuilder()
- .setPort(statistic.port())
- .setPacketsReceived(statistic.packetsReceived())
- .setPacketsSent(statistic.packetsSent())
- .setBytesReceived(statistic.bytesReceived())
- .setBytesSent(statistic.bytesSent())
- .setPacketsRxDropped(statistic.packetsRxDropped())
- .setPacketsTxDropped(statistic.packetsTxDropped())
- .setPacketsRxErrors(statistic.packetsRxErrors())
- .setPacketsTxErrors(statistic.packetsTxErrors())
- .setDurationSec(statistic.durationSec())
- .setDurationNano(statistic.durationNano())
- .setIsZero(statistic.isZero())
- .build());
- });
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- //FIXME NOTE: this may be switched to a streaming version.
- @Override
- public void getPortDeltaStatistics(getPortDeltaStatisticsRequest request,
- StreamObserver<getPortDeltaStatisticsReply> responseObserver) {
- getPortDeltaStatisticsReply.Builder replyBuilder = getPortDeltaStatisticsReply.newBuilder();
- deviceService.getPortDeltaStatistics(DeviceId.deviceId(request.getDeviceId()))
- .forEach(statistic -> {
- replyBuilder.addPortStatistics(
- PortStatisticsProto
- .newBuilder()
- .setPort(statistic.port())
- .setPacketsReceived(statistic.packetsReceived())
- .setPacketsSent(statistic.packetsSent())
- .setBytesReceived(statistic.bytesReceived())
- .setBytesSent(statistic.bytesSent())
- .setPacketsRxDropped(statistic.packetsRxDropped())
- .setPacketsTxDropped(statistic.packetsTxDropped())
- .setPacketsRxErrors(statistic.packetsRxErrors())
- .setPacketsTxErrors(statistic.packetsTxErrors())
- .setDurationSec(statistic.durationSec())
- .setDurationNano(statistic.durationNano())
- .setIsZero(statistic.isZero())
- .build());
- });
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getStatisticsForPort(getStatisticsForPortRequest request,
- StreamObserver<getStatisticsForPortReply> responseObserver) {
- org.onosproject.net.device.PortStatistics statistics = deviceService
- .getStatisticsForPort(DeviceId.deviceId(request.getDeviceId()),
- PortNumber.portNumber(request.getPortNumber()));
- responseObserver.onNext(
- getStatisticsForPortReply
- .newBuilder()
- .setPortStatistics(
- PortStatisticsProto
- .newBuilder()
- .setPort(statistics.port())
- .setPacketsReceived(statistics.packetsReceived())
- .setPacketsSent(statistics.packetsSent())
- .setBytesReceived(statistics.bytesReceived())
- .setBytesSent(statistics.bytesSent())
- .setPacketsRxDropped(statistics.packetsRxDropped())
- .setPacketsTxDropped(statistics.packetsTxDropped())
- .setPacketsRxErrors(statistics.packetsRxErrors())
- .setPacketsTxErrors(statistics.packetsTxErrors())
- .setDurationSec(statistics.durationSec())
- .setDurationNano(statistics.durationNano())
- .setIsZero(statistics.isZero())
- .build()).build());
- responseObserver.onCompleted();
-
- }
-
- @Override
- public void getDeltaStatisticsForPort(getDeltaStatisticsForPortRequest request,
- StreamObserver<getDeltaStatisticsForPortReply> responseObserver) {
- org.onosproject.net.device.PortStatistics statistics = deviceService
- .getDeltaStatisticsForPort(DeviceId.deviceId(request.getDeviceId()),
- PortNumber.portNumber(request.getPortNumber()));
- responseObserver.onNext(
- getDeltaStatisticsForPortReply
- .newBuilder()
- .setPortStatistics(
- PortStatisticsProto
- .newBuilder()
- .setPort(statistics.port())
- .setPacketsReceived(statistics.packetsReceived())
- .setPacketsSent(statistics.packetsSent())
- .setBytesReceived(statistics.bytesReceived())
- .setBytesSent(statistics.bytesSent())
- .setPacketsRxDropped(statistics.packetsRxDropped())
- .setPacketsTxDropped(statistics.packetsTxDropped())
- .setPacketsRxErrors(statistics.packetsRxErrors())
- .setPacketsTxErrors(statistics.packetsTxErrors())
- .setDurationSec(statistics.durationSec())
- .setDurationNano(statistics.durationNano())
- .setIsZero(statistics.isZero())
- .build()).build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getPort(getPortRequest request,
- StreamObserver<getPortReply> responseObserver) {
- //FIXME getting deviceId here is dangerous because it is not guaranteed to be populated as port of a OneOf
- org.onosproject.net.Port port = deviceService.getPort(
- new ConnectPoint(DeviceId.deviceId(
- request.getConnectPoint().getDeviceId()),
- PortNumber.portNumber(
- request.getConnectPoint()
- .getPortNumber())));
- PortProto.Builder portBuilder =
- PortProto.newBuilder()
- .setPortNumber(port.number().toString())
- .setIsEnabled(port.isEnabled())
- .setType(
- PortEnumsProto.PortTypeProto
- .valueOf(port.type().toString()))
- .setPortSpeed(port.portSpeed());
-
- port.annotations().keys().forEach(key -> portBuilder
- .putAnnotations(key, port.annotations().value(key)));
-
- responseObserver.onNext(getPortReply
- .newBuilder()
- .setPort(portBuilder.build())
- .build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void isAvailable(isAvailableRequest request,
- StreamObserver<isAvailableReply> responseObserver) {
- responseObserver.onNext(
- isAvailableReply
- .newBuilder()
- .setIsAvailable(
- deviceService.isAvailable(
- DeviceId.deviceId(
- request.getDeviceId())))
- .build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void localStatus(localStatusRequest request,
- StreamObserver<localStatusReply> responseObserver) {
- responseObserver.onNext(
- localStatusReply
- .newBuilder()
- .setStatus(
- deviceService.localStatus(
- DeviceId.deviceId(request.getDeviceId())))
- .build());
- responseObserver.onCompleted();
- }
- }
-
- private DeviceServiceNbServerInternal getInnerInstance() {
- if (instance == null) {
- instance = new DeviceServiceNbServerInternal();
- }
- return instance;
- }
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbHostService.java b/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbHostService.java
deleted file mode 100644
index 3fee375..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbHostService.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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;
-
-import com.google.common.annotations.Beta;
-import io.grpc.BindableService;
-import io.grpc.stub.StreamObserver;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onlab.packet.IpAddress;
-import org.onlab.packet.MacAddress;
-import org.onlab.packet.VlanId;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.HostId;
-import org.onosproject.net.Host;
-import org.onosproject.net.host.HostService;
-import org.onosproject.protobuf.api.GrpcServiceRegistry;
-import org.slf4j.Logger;
-import org.onosproject.grpc.nb.net.host.HostServiceGrpc.HostServiceImplBase;
-import org.onosproject.incubator.protobuf.models.net.ConnectPointProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.HostProtoTranslator;
-
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostCountRequest;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostCountReply;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostsRequest;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostsReply;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostRequest;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostReply;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostsByVlanRequest;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostsByVlanReply;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostsByMacRequest;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostsByMacReply;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostsByIpRequest;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getHostsByIpReply;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getConnectedHostsRequest;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.getConnectedHostsReply;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.startMonitoringIpRequest;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.startMonitoringIpReply;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.stopMonitoringIpRequest;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.stopMonitoringIpReply;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.requestMacRequest;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.requestMacReply;
-import static org.slf4j.LoggerFactory.getLogger;
-
-/**
- * A server that provides access to the methods exposed by {@link HostService}.
- */
-@Beta
-@Component(immediate = true)
-public class GrpcNbHostService {
-
- private final Logger log = getLogger(getClass());
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected GrpcServiceRegistry registry;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected HostService hostService;
-
- private HostServiceNBServerInternal instance = null;
-
- @Activate
- public void activate() {
-
- registry.register(getInnerInstance());
- log.info("Started");
- }
-
- @Deactivate
- public void deactivate() {
-
- registry.unregister(getInnerInstance());
- log.info("Stoped");
- }
-
- /**
- * Register Host Service, Used for unit testing purposes.
- *
- * @return An instance of binding Host service
- */
- public InProcessServer<BindableService> registerInProcessServer() {
- InProcessServer<BindableService> inprocessServer =
- new InProcessServer(HostServiceNBServerInternal.class);
- inprocessServer.addServiceToBind(getInnerInstance());
-
- return inprocessServer;
- }
-
- /**
- * Host Service NorthBound implementation.
- */
- private final class HostServiceNBServerInternal extends HostServiceImplBase {
-
- private HostServiceNBServerInternal() {
- super();
- }
-
- @Override
- public void getHostCount(getHostCountRequest request,
- StreamObserver<getHostCountReply> responseObserver) {
-
- responseObserver.onNext(getHostCountReply.newBuilder()
- .setHostCount(hostService.getHostCount())
- .build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getHosts(getHostsRequest request,
- StreamObserver<getHostsReply> responseObserver) {
-
- getHostsReply.Builder replyBuilder = getHostsReply.newBuilder();
-
- hostService.getHosts().forEach(d -> replyBuilder.addHost(HostProtoTranslator.translate(d)));
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getHost(getHostRequest request,
- StreamObserver<getHostReply> responseObserver) {
-
- Host host = hostService.getHost(HostId.hostId(request.getHostId().toString()));
-
- responseObserver.onNext(getHostReply.newBuilder().setHost(HostProtoTranslator.translate(host)).build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getHostsByVlan(getHostsByVlanRequest request,
- StreamObserver<getHostsByVlanReply> responseObserver) {
-
- getHostsByVlanReply.Builder replyBuilder = getHostsByVlanReply.newBuilder();
-
- hostService.getHostsByVlan(VlanId.vlanId(request.getVlanId())).forEach(
- d -> replyBuilder.addHost(HostProtoTranslator.translate(d)));
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getHostsByMac(getHostsByMacRequest request,
- StreamObserver<getHostsByMacReply> responseObserver) {
-
- getHostsByMacReply.Builder replyBuilder = getHostsByMacReply.newBuilder();
-
- hostService.getHostsByMac(MacAddress.valueOf(request.getMac())).forEach(
- d -> replyBuilder.addHost(HostProtoTranslator.translate(d)));
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getHostsByIp(getHostsByIpRequest request,
- StreamObserver<getHostsByIpReply> responseObserver) {
-
- getHostsByIpReply.Builder replyBuilder = getHostsByIpReply.newBuilder();
-
- hostService.getHostsByIp(IpAddress.valueOf(request.getIpAddress())).forEach(
- d -> replyBuilder.addHost(HostProtoTranslator.translate(d)));
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getConnectedHosts(getConnectedHostsRequest request,
- StreamObserver<getConnectedHostsReply> responseObserver) {
-
- getConnectedHostsReply.Builder replyBuilder = getConnectedHostsReply.newBuilder();
-
- if (getConnectedHostsRequest.ConnectedHostCase.DEVICEID == request.getConnectedHostCase()) {
- hostService.getConnectedHosts(DeviceId.deviceId(request.getDeviceId()))
- .forEach(d -> replyBuilder.addHost(HostProtoTranslator.translate(d)));
- } else if (getConnectedHostsRequest.ConnectedHostCase.CONNECT_POINT == request.getConnectedHostCase()) {
- hostService.getConnectedHosts(ConnectPointProtoTranslator.translate(request.getConnectPoint()).get())
- .forEach(d -> replyBuilder.addHost(HostProtoTranslator.translate(d)));
- } else {
- log.warn("Both DeviceId and ConnectPoint are not set.");
- }
-
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void startMonitoringIp(startMonitoringIpRequest request,
- StreamObserver<startMonitoringIpReply> responseObserver) {
-
- hostService.startMonitoringIp(IpAddress.valueOf(request.getIpAddress()));
- responseObserver.onNext(startMonitoringIpReply.getDefaultInstance());
- responseObserver.onCompleted();
- }
-
- @Override
- public void stopMonitoringIp(stopMonitoringIpRequest request,
- StreamObserver<stopMonitoringIpReply> responseObserver) {
-
- hostService.stopMonitoringIp(IpAddress.valueOf(request.getIpAddress()));
- responseObserver.onNext(stopMonitoringIpReply.getDefaultInstance());
- responseObserver.onCompleted();
- }
-
- @Override
- public void requestMac(requestMacRequest request,
- StreamObserver<requestMacReply> responseObserver) {
-
- hostService.requestMac(IpAddress.valueOf(request.getIpAddress()));
- responseObserver.onNext(requestMacReply.getDefaultInstance());
- responseObserver.onCompleted();
- }
- }
-
- private HostServiceNBServerInternal getInnerInstance() {
- if (instance == null) {
- instance = new HostServiceNBServerInternal();
- }
- return instance;
- }
-}
diff --git a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbLinkService.java b/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbLinkService.java
deleted file mode 100644
index fbf956d..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbLinkService.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
-* Copyright 2017-present Open Networking Foundation
-*
-* 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;
-
-import com.google.common.annotations.Beta;
-import io.grpc.BindableService;
-import io.grpc.stub.StreamObserver;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onosproject.grpc.nb.net.link.LinkServiceGrpc.LinkServiceImplBase;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getActiveLinksReply;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getActiveLinksRequest;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getDeviceEgressLinksReply;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getDeviceEgressLinksRequest;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getDeviceIngressLinksReply;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getDeviceIngressLinksRequest;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getDeviceLinksReply;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getDeviceLinksRequest;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getEgressLinksReply;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getEgressLinksRequest;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getIngressLinksReply;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getIngressLinksRequest;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getLinkCountReply;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getLinkCountRequest;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getLinkReply;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getLinkRequest;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getLinksReply;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb.getLinksRequest;
-import org.onosproject.incubator.protobuf.models.net.ConnectPointProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.LinkProtoTranslator;
-import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.link.LinkService;
-import org.onosproject.protobuf.api.GrpcServiceRegistry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A server that provides access to the methods exposed by {@link org.onosproject.net.link.LinkService}.
- */
-@Beta
-@Component(immediate = true)
-public class GrpcNbLinkService {
-
- private static final Logger log = LoggerFactory.getLogger(GrpcNbLinkService.class);
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected GrpcServiceRegistry registry;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected LinkService linkService;
-
- private LinkServiceNbServerInternal innerClassInstance;
-
- @Activate
- public void activate() {
-
- registry.register(getInnerInstance());
- log.info("Started.");
- }
-
- @Deactivate
- public void deactivate() {
-
- registry.unregister(getInnerInstance());
- log.info("Stopped.");
- }
-
- /**
- * Register Link Service, used for unit testing purposes.
- *
- * @return An instance of binding Link service
- */
- public InProcessServer<BindableService> registerInProcessServer() {
- InProcessServer<BindableService> inprocessServer =
- new InProcessServer(LinkServiceNb.class);
- inprocessServer.addServiceToBind(getInnerInstance());
-
- return inprocessServer;
- }
-
- private class LinkServiceNbServerInternal extends LinkServiceImplBase {
-
- public LinkServiceNbServerInternal() {
- super();
- }
-
- @Override
- public void getLinkCount(getLinkCountRequest request,
- StreamObserver<getLinkCountReply> responseObserver) {
- responseObserver
- .onNext(getLinkCountReply
- .newBuilder()
- .setLinkCount(linkService.getLinkCount())
- .build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getLink(getLinkRequest request,
- StreamObserver<getLinkReply> responseObserver) {
- ConnectPoint src = ConnectPointProtoTranslator.translate(request.getSrc()).get();
- ConnectPoint dst = ConnectPointProtoTranslator.translate(request.getDst()).get();
-
- org.onosproject.net.Link link = linkService.getLink(src, dst);
- getLinkReply reply = getLinkReply.newBuilder()
- .setLink(LinkProtoTranslator.translate(link)).build();
-
- responseObserver.onNext(reply);
- responseObserver.onCompleted();
- }
-
- @Override
- public void getActiveLinks(getActiveLinksRequest request,
- StreamObserver<getActiveLinksReply> responseObserver) {
- getActiveLinksReply.Builder builder = getActiveLinksReply.newBuilder();
- linkService.getActiveLinks().forEach(l -> {
- builder.addLink(LinkProtoTranslator.translate(l));
- });
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getDeviceLinks(getDeviceLinksRequest request,
- StreamObserver<getDeviceLinksReply> responseObserver) {
- DeviceId deviceId = DeviceId.deviceId(request.getDeviceId());
- getDeviceLinksReply.Builder builder = getDeviceLinksReply.newBuilder();
- linkService.getDeviceLinks(deviceId).forEach(l -> {
- builder.addLink(LinkProtoTranslator.translate(l));
- });
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getDeviceEgressLinks(getDeviceEgressLinksRequest request,
- StreamObserver<getDeviceEgressLinksReply> responseObserver) {
- DeviceId deviceId = DeviceId.deviceId(request.getDeviceId());
- getDeviceEgressLinksReply.Builder builder = getDeviceEgressLinksReply.newBuilder();
- linkService.getDeviceEgressLinks(deviceId).forEach(l -> {
- builder.addLink(LinkProtoTranslator.translate(l));
- });
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getDeviceIngressLinks(getDeviceIngressLinksRequest request,
- StreamObserver<getDeviceIngressLinksReply> responseObserver) {
- DeviceId deviceId = DeviceId.deviceId(request.getDeviceId());
- getDeviceIngressLinksReply.Builder builder = getDeviceIngressLinksReply.newBuilder();
- linkService.getDeviceIngressLinks(deviceId).forEach(l -> {
- builder.addLink(LinkProtoTranslator.translate(l));
- });
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getEgressLinks(getEgressLinksRequest request,
- StreamObserver<getEgressLinksReply> responseObserver) {
- ConnectPoint connectPoint = ConnectPointProtoTranslator.translate(request.getConnectPoint()).get();
- getEgressLinksReply.Builder builder = getEgressLinksReply.newBuilder();
- linkService.getEgressLinks(connectPoint).forEach(l -> {
- builder.addLink(LinkProtoTranslator.translate(l));
- });
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getIngressLinks(getIngressLinksRequest request,
- StreamObserver<getIngressLinksReply> responseObserver) {
- ConnectPoint connectPoint = ConnectPointProtoTranslator.translate(request.getConnectPoint()).get();
-
- getIngressLinksReply.Builder builder = getIngressLinksReply.newBuilder();
- linkService.getIngressLinks(connectPoint).forEach(l -> {
- builder.addLink(LinkProtoTranslator.translate(l));
- });
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getLinks(getLinksRequest request,
- StreamObserver<getLinksReply> responseObserver) {
- ConnectPoint connectPoint = ConnectPointProtoTranslator.translate(request.getConnectPoint()).get();
-
- getLinksReply.Builder builder = getLinksReply.newBuilder();
- linkService.getLinks(connectPoint).forEach(l -> {
- builder.addLink(LinkProtoTranslator.translate(l));
- });
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
- }
-
- private LinkServiceNbServerInternal getInnerInstance() {
- if (innerClassInstance == null) {
- innerClassInstance = new LinkServiceNbServerInternal();
- }
- return innerClassInstance;
- }
-}
-
-
-
diff --git a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMastershipService.java b/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMastershipService.java
deleted file mode 100644
index 8d2a48f..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMastershipService.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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;
-
-
-import com.google.common.annotations.Beta;
-import io.grpc.BindableService;
-import io.grpc.stub.StreamObserver;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onosproject.cluster.NodeId;
-import org.onosproject.cluster.RoleInfo;
-import org.onosproject.grpc.nb.mastership.MastershipServiceGrpc;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.getLocalRoleReply;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.getLocalRoleRequest;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.isLocalMasterReply;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.isLocalMasterRequest;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.relinquishMastershipSyncReply;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.relinquishMastershipSyncRequest;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.requestRoleForSyncReply;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.requestRoleForSyncRequest;
-import org.onosproject.incubator.protobuf.models.cluster.NodeIdProtoTranslator;
-import org.onosproject.incubator.protobuf.models.cluster.RoleInfoProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.MastershipRoleProtoTranslator;
-import org.onosproject.mastership.MastershipService;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.MastershipRole;
-import org.onosproject.protobuf.api.GrpcServiceRegistry;
-import org.slf4j.Logger;
-
-import static org.slf4j.LoggerFactory.getLogger;
-
-/**
- * A server that provides access to the methods exposed by {@link MastershipService}.
- */
-
-@Beta
-@Component(immediate = true)
-public class GrpcNbMastershipService {
-
- private final Logger log = getLogger(getClass());
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected GrpcServiceRegistry registry;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected MastershipService mastershipService;
-
- private MastershipServiceNbServerInternal instance = null;
-
- @Activate
- public void activate() {
- registry.register(getInnerInstance());
- log.info("Started.");
- }
-
- @Deactivate
- public void deactivate() {
- registry.unregister(getInnerInstance());
- log.info("Stopped");
- }
-
- /**
- * Register Mastership Service, used for unit testing purposes.
- *
- * @return an instance of binding Mastership service
- */
- public InProcessServer<BindableService> registerInProcessServer() {
- InProcessServer<BindableService> inprocessServer =
- new InProcessServer(GrpcNbMastershipService.MastershipServiceNbServerInternal.class);
- inprocessServer.addServiceToBind(getInnerInstance());
-
- return inprocessServer;
- }
-
- private class MastershipServiceNbServerInternal extends MastershipServiceGrpc.MastershipServiceImplBase {
-
- @Override
- public void getLocalRole(getLocalRoleRequest request,
- StreamObserver<getLocalRoleReply> responseObserver) {
- MastershipRole mr = mastershipService.getLocalRole(DeviceId.deviceId(request.getDeviceId()));
-
- responseObserver.onNext(getLocalRoleReply.newBuilder()
- .setMastershipRole(MastershipRoleProtoTranslator.translate(mr))
- .build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void isLocalMaster(isLocalMasterRequest request,
- StreamObserver<isLocalMasterReply> responseObserver) {
- boolean isLocalMaster = mastershipService.isLocalMaster(DeviceId.deviceId(request.getDeviceId()));
-
- responseObserver.onNext(isLocalMasterReply.newBuilder()
- .setIsLocalMaster(isLocalMaster)
- .build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void requestRoleForSync(requestRoleForSyncRequest request,
- StreamObserver<requestRoleForSyncReply> responseObserver) {
- MastershipRole mr = mastershipService.requestRoleForSync(DeviceId.deviceId(request.getDeviceId()));
-
- responseObserver.onNext(requestRoleForSyncReply.newBuilder()
- .setMastershipRole(MastershipRoleProtoTranslator.translate(mr))
- .build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void relinquishMastershipSync(relinquishMastershipSyncRequest request,
- StreamObserver<relinquishMastershipSyncReply> responseObserver) {
- relinquishMastershipSyncReply.Builder replyBuilder = relinquishMastershipSyncReply.newBuilder();
- mastershipService.relinquishMastershipSync(DeviceId.deviceId(request.getDeviceId()));
-
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getMasterFor(MastershipServiceNb.getMasterForRequest request,
- StreamObserver<MastershipServiceNb.getMasterForReply> responseObserver) {
- NodeId nodeId = mastershipService.getMasterFor(DeviceId.deviceId(request.getDeviceId()));
-
- responseObserver.onNext(MastershipServiceNb.getMasterForReply.newBuilder()
- .setNodeId(NodeIdProtoTranslator.translate(nodeId))
- .build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getNodesFor(MastershipServiceNb.getNodesForRequest request,
- StreamObserver<MastershipServiceNb.getNodesForReply> responseObserver) {
- RoleInfo roleInfo = mastershipService.getNodesFor(DeviceId.deviceId(request.getDeviceId()));
-
- responseObserver.onNext(MastershipServiceNb.getNodesForReply.newBuilder()
- .setRoleInfo(RoleInfoProtoTranslator.translate(roleInfo))
- .build());
- responseObserver.onCompleted();
- }
- }
-
- private MastershipServiceNbServerInternal getInnerInstance() {
- if (instance == null) {
- instance = new MastershipServiceNbServerInternal();
- }
- return instance;
- }
-}
diff --git a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterService.java b/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterService.java
deleted file mode 100644
index 6aed88f..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterService.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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;
-
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onosproject.incubator.protobuf.models.net.meter.MeterRequestProtoTranslator;
-import org.onosproject.net.meter.MeterService;
-import org.onosproject.incubator.protobuf.models.net.meter.MeterProtoTranslator;
-
-import org.onosproject.grpc.nb.net.meter.MeterServiceGrpc.MeterServiceImplBase;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.submitRequest;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.submitReply;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.withdrawRequest;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.withdrawReply;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.getMeterRequest;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.getMeterReply;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.getAllMetersRequest;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.getAllMetersReply;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.getMetersRequest;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto.getMetersReply;
-
-import io.grpc.stub.StreamObserver;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Deactivate;
-import com.google.common.annotations.Beta;
-import org.osgi.service.component.annotations.Component;
-
-import org.onosproject.net.meter.Meter;
-import org.onosproject.net.meter.MeterId;
-import org.onosproject.net.DeviceId;
-import org.onosproject.protobuf.api.GrpcServiceRegistry;
-
-/**
- * A server that provides access to the methods exposed by {@link MeterService}.
- * TODO this requires major refactoring, translation should be delegated to calls to
- * TODO{@link MeterProtoTranslator}.
- */
-@Beta
-@Component(immediate = true)
-public class GrpcNbMeterService extends MeterServiceImplBase {
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected MeterService meterService;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected GrpcServiceRegistry grpcServiceRegistry;
-
- @Activate
- public void activate() {
- grpcServiceRegistry.register(this);
- }
-
- @Deactivate
- public void deactivate() {
- grpcServiceRegistry.unregister(this);
- }
-
- @Override
- public void submit(submitRequest request,
- StreamObserver<submitReply> responseObserver) {
- submitReply.Builder replyBuilder = submitReply.newBuilder();
- Meter meter = meterService.submit(MeterRequestProtoTranslator.translate(request.getMeter()));
- responseObserver.onNext(replyBuilder.setSubmitMeter(MeterProtoTranslator.translate(meter)).build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void withdraw(withdrawRequest request,
- StreamObserver<withdrawReply> responseObserver) {
- withdrawReply.Builder replyBuilder = withdrawReply.newBuilder();
- meterService.withdraw(MeterRequestProtoTranslator.translate(request.getMeter()),
- MeterId.meterId(request.getMeterId()));
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getMeter(getMeterRequest request,
- StreamObserver<getMeterReply> responseObserver) {
- getMeterReply.Builder replyBuilder = getMeterReply.newBuilder();
- Meter meter = meterService.getMeter(DeviceId.deviceId(request.getDeviceId()),
- MeterId.meterId(request.getMeterId()));
- responseObserver.onNext(replyBuilder.setMeter(MeterProtoTranslator.translate(meter)).build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getAllMeters(getAllMetersRequest request,
- StreamObserver<getAllMetersReply> responseObserver) {
- getAllMetersReply.Builder replyBuilder = getAllMetersReply.newBuilder();
- meterService.getAllMeters().forEach(d -> {
- replyBuilder.addMeters(MeterProtoTranslator.translate(d));
- });
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getMeters(getMetersRequest request,
- StreamObserver<getMetersReply> responseObserver) {
- getMetersReply.Builder replyBuilder = getMetersReply.newBuilder();
- meterService.getMeters(DeviceId.deviceId(request.getDeviceId())).forEach(d -> {
- replyBuilder.addMeters(MeterProtoTranslator.translate(d));
- });
- responseObserver.onNext(replyBuilder.build());
- responseObserver.onCompleted();
- }
-
-}
-
diff --git a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbRegionService.java b/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbRegionService.java
deleted file mode 100644
index f98d880..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbRegionService.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-* Copyright 2017-present Open Networking Foundation
-*
-* 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;
-
-import com.google.common.annotations.Beta;
-import io.grpc.BindableService;
-import io.grpc.stub.StreamObserver;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onosproject.grpc.nb.net.region.RegionServiceGrpc.RegionServiceImplBase;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionDevicesReply;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionDevicesRequest;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionForDeviceReply;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionForDeviceRequest;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionHostsReply;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionHostsRequest;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionReply;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionRequest;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionsReply;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb.getRegionsRequest;
-import org.onosproject.incubator.protobuf.models.net.RegionProtoTranslator;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.region.Region;
-import org.onosproject.net.region.RegionId;
-import org.onosproject.net.region.RegionService;
-import org.onosproject.protobuf.api.GrpcServiceRegistry;
-import org.slf4j.Logger;
-
-import static org.slf4j.LoggerFactory.getLogger;
-
-/**
- * A server that provides access to the methods exposed by {@link RegionService}.
- */
-@Beta
-@Component(immediate = true)
-public class GrpcNbRegionService {
-
- private final Logger log = getLogger(getClass());
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected GrpcServiceRegistry registry;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected RegionService regionService;
-
- private RegionServiceNbServerInternal innerClassInstance = null;
-
- @Activate
- public void activate() {
-
- registry.register(getInnerClassInstance());
- log.info("Started.");
- }
-
- @Deactivate
- public void deactivate() {
-
- registry.unregister(getInnerClassInstance());
- log.info("Stopped.");
- }
-
- /**
- * Register Region Service, used for unit testing purposes.
- *
- * @return An instance of binding Region service
- */
- public InProcessServer<BindableService> registerInProcessServer() {
- InProcessServer<BindableService> inprocessServer =
- new InProcessServer(GrpcNbRegionService.RegionServiceNbServerInternal.class);
- inprocessServer.addServiceToBind(getInnerClassInstance());
-
- return inprocessServer;
- }
-
- private final class RegionServiceNbServerInternal extends RegionServiceImplBase {
- /**
- * Service for interacting with inventory of network control regions.
- */
- @Override
- public void getRegions(getRegionsRequest request,
- StreamObserver<getRegionsReply> responseObserver) {
- getRegionsReply.Builder builder = getRegionsReply.newBuilder();
- regionService.getRegions().forEach(r -> {
- builder.addRegion(RegionProtoTranslator.translate(r));
- });
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getRegion(getRegionRequest request,
- StreamObserver<getRegionReply> responseObserver) {
- RegionId regionId = RegionId.regionId(request.getRegionId());
- Region region = regionService.getRegion(regionId);
-
- getRegionReply reply = getRegionReply.newBuilder()
- .setRegion(RegionProtoTranslator.translate(region)).build();
-
- responseObserver.onNext(reply);
- responseObserver.onCompleted();
- }
-
- @Override
- public void getRegionForDevice(getRegionForDeviceRequest request,
- StreamObserver<getRegionForDeviceReply> responseObserver) {
- DeviceId deviceId = DeviceId.deviceId(request.getDeviceId());
- Region region = regionService.getRegionForDevice(deviceId);
-
- getRegionForDeviceReply reply = getRegionForDeviceReply.newBuilder()
- .setRegion(RegionProtoTranslator.translate(region)).build();
-
- responseObserver.onNext(reply);
- responseObserver.onCompleted();
- }
-
- @Override
- public void getRegionDevices(getRegionDevicesRequest request,
- StreamObserver<getRegionDevicesReply> responseObserver) {
- RegionId regionId = RegionId.regionId(request.getRegionId());
- getRegionDevicesReply.Builder builder = getRegionDevicesReply.newBuilder();
-
- regionService.getRegionDevices(regionId).forEach(d -> {
- builder.addDeviceId(d.toString());
- });
-
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
-
- @Override
- public void getRegionHosts(getRegionHostsRequest request,
- StreamObserver<getRegionHostsReply> responseObserver) {
- RegionId regionId = RegionId.regionId(request.getRegionId());
- getRegionHostsReply.Builder builder = getRegionHostsReply.newBuilder();
-
- regionService.getRegionHosts(regionId).forEach(h -> {
- builder.addHostId(h.toString());
- });
-
- responseObserver.onNext(builder.build());
- responseObserver.onCompleted();
- }
- }
-
- private RegionServiceNbServerInternal getInnerClassInstance() {
- if (innerClassInstance == null) {
- innerClassInstance = new RegionServiceNbServerInternal();
- }
- return innerClassInstance;
- }
-}
-
-
-
-
-
-
-
diff --git a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/InProcessServer.java b/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/InProcessServer.java
deleted file mode 100644
index f7ccdcb..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/InProcessServer.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-* Copyright 2017-present Open Networking Foundation
-*
-* 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;
-
-import com.google.common.collect.Sets;
-import io.grpc.Server;
-import io.grpc.inprocess.InProcessServerBuilder;
-import io.grpc.internal.AbstractServerImplBuilder;
-
-import java.io.IOException;
-import java.util.Set;
-/**
- * InProcessServer that manages startup/shutdown of a service within the same process
- * as the client is running. Used for unit testing purposes.
- */
-public class InProcessServer<T extends io.grpc.BindableService> {
- private Server server;
-
- Set<T> services = Sets.newHashSet();
-
- private Class<T> clazz;
-
- public InProcessServer(Class<T> clazz) {
- this.clazz = clazz;
- }
-
- public void addServiceToBind(T service) {
- if (service != null) {
- services.add(service);
- }
- }
-
- public void start() throws IOException, InstantiationException, IllegalAccessException {
-
- AbstractServerImplBuilder builder = InProcessServerBuilder.forName("test").directExecutor();
- services.forEach(service -> builder.addService(service));
- server = builder.build().start();
- Runtime.getRuntime().addShutdownHook(new Thread() {
- @Override
- public void run() {
- // Use stderr here since the logger may have been reset by its JVM shutdown hook.
- System.err.println("*** shutting down gRPC server since JVM is shutting down");
- InProcessServer.this.stop();
- System.err.println("*** server shut down");
- }
- });
- }
-
- public void stop() {
- if (server != null) {
- server.shutdown();
- }
- }
-
- /**
- * Await termination on the main thread since the grpc library uses daemon threads.
- * @throws InterruptedException if there is an issue
- */
- public void blockUntilShutdown() throws InterruptedException {
- if (server != null) {
- server.awaitTermination();
- }
- }
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/package-info.java b/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/package-info.java
deleted file mode 100644
index 51cb983..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/java/org/onosproject/incubator/protobuf/services/nb/package-info.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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;
diff --git a/graveyard/protobuf-dead/services/nb/src/main/proto/app/ApplicationServiceNb.proto b/graveyard/protobuf-dead/services/nb/src/main/proto/app/ApplicationServiceNb.proto
deleted file mode 100644
index a6132a3..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/proto/app/ApplicationServiceNb.proto
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-syntax="proto3";
-option java_package = "org.onosproject.grpc.nb.app";
-
-package nb.app;
-
-import "core/ApplicationProto.proto";
-import "core/ApplicationIdProto.proto";
-import "app/ApplicationEnumsProto.proto";
-import "security/PermissionProto.proto";
-
-message getApplicationsRequest {
-}
-
-message getApplicationsReply {
- repeated .core.ApplicationProto application = 1;
-}
-
-message getIdRequest {
- string name = 1;
-}
-
-message getIdReply {
- .core.ApplicationIdProto application_id = 1;
-}
-
-message getApplicationRequest {
- .core.ApplicationIdProto application_id = 1;
-}
-
-message getApplicationReply {
- .core.ApplicationProto application = 1;
-}
-
-message getStateRequest {
- .core.ApplicationIdProto application_id = 1;
-}
-
-message getStateReply {
- .app.ApplicationStateProto state = 1;
-}
-
-message getPermissionsRequest {
- .core.ApplicationIdProto application_id = 1;
-}
-
-message getPermissionsReply {
- repeated .security.PermissionProto permission = 1;
-}
-
-service ApplicationService {
- rpc getApplications(getApplicationsRequest) returns (getApplicationsReply) {}
- rpc getId(getIdRequest) returns (getIdReply) {}
- rpc getApplication(getApplicationRequest) returns (getApplicationReply) {}
- rpc getState(getStateRequest) returns (getStateReply) {}
- rpc getPermissions(getPermissionsRequest) returns (getPermissionsReply) {}
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/main/proto/cfg/ComponentConfigServiceNb.proto b/graveyard/protobuf-dead/services/nb/src/main/proto/cfg/ComponentConfigServiceNb.proto
deleted file mode 100644
index 5c17997..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/proto/cfg/ComponentConfigServiceNb.proto
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-syntax="proto3";
-option java_package = "org.onosproject.grpc.nb.cfg";
-
-package nb.cfg;
-
-import "cfg/ConfigPropertyProto.proto";
-
-message getComponentNamesRequest {
-}
-
-message getComponentNamesReply {
- repeated string names = 1;
-}
-
-message registerPropertiesRequest {
- string component_class = 1;
-}
-
-message registerPropertiesReply {
-}
-
-message unregisterPropertiesRequest {
- string component_class = 1;
- bool clear = 2;
-}
-
-message unregisterPropertiesReply {
-}
-
-message getPropertiesRequest {
- string component_name = 1;
-}
-
-message getPropertiesReply {
- repeated .cfg.ConfigPropertyProto config_properties = 1;
-}
-
-message setPropertyRequest {
- string component_name = 1;
- string name = 2;
- string value = 3;
-}
-
-message setPropertyReply {
-}
-
-message preSetPropertyRequest {
- string component_name = 1;
- string name = 2;
- string value = 3;
-}
-
-message preSetPropertyReply {
-}
-
-message unsetPropertyRequest {
- string component_name = 1;
- string name = 2;
-}
-
-message unsetPropertyReply {
-}
-
-service ComponentConfigService {
- rpc getComponentNames(getComponentNamesRequest) returns (getComponentNamesReply) {}
- rpc registerProperties(registerPropertiesRequest) returns (registerPropertiesReply) {}
- rpc unregisterProperties(unregisterPropertiesRequest) returns (unregisterPropertiesReply) {}
- rpc getProperties(getPropertiesRequest) returns (getPropertiesReply) {}
- rpc setProperty(setPropertyRequest) returns (setPropertyReply) {}
- rpc preSetProperty(preSetPropertyRequest) returns (preSetPropertyReply) {}
- rpc unsetProperty(unsetPropertyRequest) returns (unsetPropertyReply) {}
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/main/proto/mastership/MastershipServiceNb.proto b/graveyard/protobuf-dead/services/nb/src/main/proto/mastership/MastershipServiceNb.proto
deleted file mode 100644
index 4944d84..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/proto/mastership/MastershipServiceNb.proto
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-syntax="proto3";
-option java_package = "org.onosproject.grpc.nb.mastership";
-
-package nb.mastership;
-
-import "net/MastershipRoleProto.proto";
-import "cluster/RoleInfoProto.proto";
-import "cluster/NodeIdProto.proto";
-
-message getLocalRoleRequest {
- string device_id = 1;
-}
-
-message getLocalRoleReply {
- .net.MastershipRoleProto mastership_role = 1;
-}
-
-message isLocalMasterRequest {
- string device_id = 1;
-}
-
-message isLocalMasterReply {
- bool is_local_master = 1;
-}
-
-message requestRoleForSyncRequest {
- string device_id = 1;
-}
-
-message requestRoleForSyncReply {
- .net.MastershipRoleProto mastership_role = 1;
-}
-
-message relinquishMastershipSyncRequest {
- string device_id = 1;
-}
-
-message relinquishMastershipSyncReply {
-}
-
-message getMasterForRequest {
- string device_id = 1;
-}
-
-message getMasterForReply {
- .cluster.NodeIdProto node_id = 1;
-}
-
-message getNodesForRequest {
- string device_id = 1;
-}
-
-message getNodesForReply {
- .cluster.RoleInfoProto role_info = 1;
-}
-
-service MastershipService {
- rpc getLocalRole(getLocalRoleRequest) returns (getLocalRoleReply) {}
- rpc isLocalMaster(isLocalMasterRequest) returns (isLocalMasterReply) {}
- rpc requestRoleForSync(requestRoleForSyncRequest) returns (requestRoleForSyncReply) {}
- rpc relinquishMastershipSync(relinquishMastershipSyncRequest) returns (relinquishMastershipSyncReply) {}
- rpc getMasterFor(getMasterForRequest) returns (getMasterForReply) {}
- rpc getNodesFor(getNodesForRequest) returns (getNodesForReply) {}
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/main/proto/net/device/DeviceServiceNb.proto b/graveyard/protobuf-dead/services/nb/src/main/proto/net/device/DeviceServiceNb.proto
deleted file mode 100644
index da27de9..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/proto/net/device/DeviceServiceNb.proto
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-syntax="proto3";
-option java_package = "org.onosproject.grpc.nb.net.device";
-
-package nb.net.device;
-
-import "net/DeviceProto.proto";
-import "net/device/DeviceEnumsProto.proto";
-import "net/MastershipRoleProto.proto";
-import "net/device/PortStatisticsProto.proto";
-import "net/PortProto.proto";
-import "net/ConnectPointProto.proto";
-
-message getDeviceCountRequest {
-}
-
-message getDeviceCountReply {
- int32 device_count = 1;
-}
-
-message getDevicesRequest {
-}
-
-message getDevicesReply {
- repeated .net.DeviceProto device = 1;
-}
-
-message getAvailableDevicesReply {
- repeated .net.DeviceProto device = 1;
-}
-
-message getAvailableDevicesRequest {
- .net.device.DeviceTypeProto type = 1;
-}
-
-message getDeviceRequest {
- string device_id = 1;
-}
-
-message getDeviceReply {
- .net.DeviceProto device = 1;
-}
-
-message getRoleRequest {
- string device_id = 1;
-}
-
-message getRoleReply {
- .net.MastershipRoleProto role = 1;
-}
-
-message getPortsRequest {
- string device_id = 1;
-}
-
-message getPortsReply {
- repeated .net.PortProto port = 1;
-}
-
-message getPortStatisticsRequest {
- string device_id = 1;
-}
-
-message getPortStatisticsReply {
- repeated .net.device.PortStatisticsProto port_statistics = 1;
-}
-
-message getPortDeltaStatisticsRequest {
- string device_id = 1;
-}
-
-message getPortDeltaStatisticsReply {
- repeated .net.device.PortStatisticsProto port_statistics = 1;
-}
-
-message getStatisticsForPortRequest {
- string device_id = 1;
- uint64 port_number = 2;
-}
-
-message getStatisticsForPortReply {
- .net.device.PortStatisticsProto port_statistics = 1;
-}
-
-message getDeltaStatisticsForPortRequest {
- string device_id = 1;
- uint64 port_number = 2;
-}
-
-message getDeltaStatisticsForPortReply {
- .net.device.PortStatisticsProto port_statistics = 1;
-}
-
-message getPortRequest {
- .net.ConnectPointProto connect_point = 1;
-}
-
-message getPortReply {
- .net.PortProto port = 1;
-}
-
-message isAvailableRequest {
- string device_id = 1;
-}
-
-message isAvailableReply {
- bool is_available = 1;
-}
-
-message localStatusRequest {
- string device_id = 1;
-}
-
-message localStatusReply {
- string status = 1;
-}
-
-service DeviceService {
- rpc getDeviceCount(getDeviceCountRequest) returns (getDeviceCountReply) {}
- rpc getDevices(getDevicesRequest) returns (getDevicesReply) {}
- rpc getAvailableDevices(getAvailableDevicesRequest) returns (getAvailableDevicesReply) {}
- rpc getDevice(getDeviceRequest) returns (getDeviceReply) {}
- rpc getRole(getRoleRequest) returns (getRoleReply) {}
- rpc getPorts(getPortsRequest) returns (getPortsReply) {}
- rpc getPortStatistics(getPortStatisticsRequest) returns (getPortStatisticsReply) {}
- rpc getPortDeltaStatistics(getPortDeltaStatisticsRequest)
- returns (getPortDeltaStatisticsReply) {}
- rpc getStatisticsForPort(getStatisticsForPortRequest)
- returns (getStatisticsForPortReply) {}
- rpc getDeltaStatisticsForPort(getDeltaStatisticsForPortRequest)
- returns (getDeltaStatisticsForPortReply) {}
- rpc getPort(getPortRequest) returns (getPortReply) {}
- rpc isAvailable(isAvailableRequest) returns (isAvailableReply) {}
- rpc localStatus(localStatusRequest) returns (localStatusReply) {}
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/main/proto/net/host/HostServiceNb.proto b/graveyard/protobuf-dead/services/nb/src/main/proto/net/host/HostServiceNb.proto
deleted file mode 100644
index 56f2577..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/proto/net/host/HostServiceNb.proto
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-syntax="proto3";
-option java_package = "org.onosproject.grpc.nb.net.host";
-
-package nb.net.host;
-
-import "net/HostProto.proto";
-import "net/HostIdProto.proto";
-import "net/ConnectPointProto.proto";
-
-message getHostCountRequest {
-}
-
-message getHostCountReply {
- int32 host_count = 1;
-}
-
-message getHostsRequest {
-}
-
-message getHostsReply {
- repeated .net.HostProto host = 1;
-}
-
-message getHostRequest {
- .net.HostIdProto host_id = 1;
-}
-
-message getHostReply {
- .net.HostProto host = 1;
-}
-
-message getHostsByVlanRequest {
- string vlan_id = 1;
-}
-
-message getHostsByVlanReply {
- repeated .net.HostProto host = 1;
-}
-
-message getHostsByMacRequest {
- string mac = 1;
-}
-
-message getHostsByMacReply {
- repeated .net.HostProto host = 1;
-}
-
-message getHostsByIpRequest {
- string ip_address = 1;
-}
-
-message getHostsByIpReply {
- repeated .net.HostProto host = 1;
-}
-
-message getConnectedHostsRequest {
- oneof connected_host {
- .net.ConnectPointProto connect_point = 1;
- string deviceId = 2;
- }
-}
-
-message getConnectedHostsReply {
- repeated .net.HostProto host = 1;
-}
-
-message startMonitoringIpRequest {
- string ip_address = 1;
-}
-
-message startMonitoringIpReply {
-}
-
-message stopMonitoringIpRequest {
- string ip_address = 1;
-}
-
-message stopMonitoringIpReply {
-}
-
-message requestMacRequest {
- string ip_address = 1;
-}
-
-message requestMacReply {
-}
-
-// Host Interface exported by the server.
-service HostService {
- // GRPC Obtains the host count.
- rpc getHostCount(getHostCountRequest) returns (getHostCountReply) {}
-
- // GRPC Obtains the hosts.
- rpc getHosts(getHostsRequest) returns (getHostsReply) {}
-
- // GRPC Obtains the host at a given HostId.
- rpc getHost(getHostRequest) returns (getHostReply) {}
-
- // GRPC Obtains the hosts at a given VlanId.
- rpc getHostsByVlan(getHostsByVlanRequest) returns (getHostsByVlanReply) {}
-
- // GRPC Obtains the hosts at a given MacAddress.
- rpc getHostsByMac(getHostsByMacRequest) returns (getHostsByMacReply) {}
-
- // GRPC Obtains the hosts at a given IpAddress.
- rpc getHostsByIp(getHostsByIpRequest) returns (getHostsByIpReply) {}
-
- // GRPC Obtains the hosts at a given connectPoint or DeviceId.
- rpc getConnectedHosts(getConnectedHostsRequest) returns (getConnectedHostsReply) {}
-
- // GRPC Requests the host service to monitor hosts with the given IP address.
- rpc startMonitoringIp(startMonitoringIpRequest) returns (startMonitoringIpReply) {}
-
- // GRPC Stops the host service from monitoring an IP address.
- rpc stopMonitoringIp(stopMonitoringIpRequest) returns (stopMonitoringIpReply) {}
-
- // GRPC Requests the host service to resolve the MAC address for the given IP address.
- rpc requestMac(requestMacRequest) returns (requestMacReply) {}
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/main/proto/net/link/LinkServiceNb.proto b/graveyard/protobuf-dead/services/nb/src/main/proto/net/link/LinkServiceNb.proto
deleted file mode 100644
index 30ad08e..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/proto/net/link/LinkServiceNb.proto
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-syntax="proto3";
-option java_package = "org.onosproject.grpc.nb.net.link";
-
-package nb.net.link;
-
-import "net/LinkProto.proto";
-import "net/ConnectPointProto.proto";
-
-message getLinkCountRequest {
-}
-
-message getLinkCountReply {
- int32 link_count = 1;
-}
-
-message getActiveLinksRequest {
-}
-
-message getActiveLinksReply {
- repeated .net.LinkProto link = 1;
-}
-
-message getDeviceLinksRequest {
- string device_id = 1;
-}
-
-message getDeviceLinksReply {
- repeated .net.LinkProto link = 1;
-}
-
-message getDeviceEgressLinksRequest {
- string device_id = 1;
-}
-
-message getDeviceEgressLinksReply {
- repeated .net.LinkProto link = 1;
-}
-
-message getDeviceIngressLinksRequest {
- string device_id = 1;
-}
-
-message getDeviceIngressLinksReply {
- repeated .net.LinkProto link = 1;
-}
-
-message getLinksRequest {
- .net.ConnectPointProto connect_point = 1;
-}
-
-message getLinksReply {
- repeated .net.LinkProto link = 1;
-}
-
-message getEgressLinksRequest {
- .net.ConnectPointProto connect_point = 1;
-}
-
-message getEgressLinksReply {
- repeated .net.LinkProto link = 1;
-}
-
-message getIngressLinksRequest {
- .net.ConnectPointProto connect_point = 1;
-}
-
-message getIngressLinksReply {
- repeated .net.LinkProto link = 1;
-}
-
-message getLinkRequest {
- .net.ConnectPointProto src = 1;
- .net.ConnectPointProto dst = 2;
-}
-
-message getLinkReply {
- .net.LinkProto link = 1;
-}
-
-service LinkService {
- rpc getLinkCount(getLinkCountRequest) returns(getLinkCountReply) {}
- rpc getLinks(getLinksRequest) returns(getLinksReply) {}
- rpc getActiveLinks(getActiveLinksRequest) returns(getActiveLinksReply) {}
- rpc getDeviceLinks(getDeviceLinksRequest) returns(getDeviceLinksReply) {}
- rpc getDeviceEgressLinks(getDeviceEgressLinksRequest) returns(getDeviceEgressLinksReply) {}
- rpc getDeviceIngressLinks(getDeviceIngressLinksRequest) returns(getDeviceIngressLinksReply) {}
- rpc getEgressLinks(getEgressLinksRequest) returns(getEgressLinksReply) {}
- rpc getIngressLinks(getIngressLinksRequest) returns(getIngressLinksReply) {}
- rpc getLink(getLinkRequest) returns(getLinkReply) {}
-}
diff --git a/graveyard/protobuf-dead/services/nb/src/main/proto/net/meter/MeterServiceNbProto.proto b/graveyard/protobuf-dead/services/nb/src/main/proto/net/meter/MeterServiceNbProto.proto
deleted file mode 100644
index 377f0bf..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/proto/net/meter/MeterServiceNbProto.proto
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-syntax = "proto3";
-option java_package = "org.onosproject.grpc.nb.net.meter";
-
-package nb.net.meter;
-
-import "net/meter/MeterProto.proto";
-import "net/meter/MeterRequestProto.proto";
-
-message submitRequest {
- .net.meter.MeterRequestProto meter = 1;
-}
-
-message submitReply {
- .net.meter.MeterProto submit_meter = 1;
-}
-
-message withdrawRequest {
- .net.meter.MeterRequestProto meter = 1;
- uint64 meter_id = 2;
-}
-
-message withdrawReply {
-}
-
-message getMeterRequest {
- string device_id = 1;
- uint64 meter_id = 2;
-}
-
-message getMeterReply {
- .net.meter.MeterProto meter = 1;
-}
-
-message getAllMetersRequest {
-}
-
-message getAllMetersReply {
- repeated .net.meter.MeterProto meters = 1;
-}
-
-message getMetersRequest {
- string device_id = 1;
-}
-
-message getMetersReply {
- repeated .net.meter.MeterProto meters = 1;
-}
-
-service MeterService {
- rpc submit(submitRequest) returns (submitReply) {}
- rpc withdraw(withdrawRequest) returns (withdrawReply) {}
- rpc getMeter(getMeterRequest) returns (getMeterReply) {}
- rpc getAllMeters(getAllMetersRequest) returns (getAllMetersReply) {}
- rpc getMeters(getMetersRequest) returns (getMetersReply) {}
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/main/proto/net/packet/PacketServiceNb.proto b/graveyard/protobuf-dead/services/nb/src/main/proto/net/packet/PacketServiceNb.proto
deleted file mode 100644
index a7d2d02..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/proto/net/packet/PacketServiceNb.proto
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-syntax="proto3";
-option java_package = "org.onosproject.grpc.nb.net.packet";
-
-package nb.net.packet;
-
-import "net/packet/PacketRequestProto.proto";
-import "net/packet/PacketProcessorProto.proto";
-import "net/packet/PacketProcessorEntryProto.proto";
-import "net/packet/OutboundPacketProto.proto";
-import "core/ApplicationIdProto.proto";
-import "net/flow/TrafficSelectorProto.proto";
-
-message addProcessorRequest {
- .net.packet.PacketProcessorProto packet_processor = 1;
- int32 priority = 2;
-}
-
-message addProcessorReply {
-}
-
-message removeProcessorRequest {
- .net.packet.PacketProcessorProto packet_processor = 1;
-}
-
-message removeProcessorReply {
-}
-
-message getProcessorsRequest {
-}
-
-message getProcessorsReply {
- repeated .net.packet.PacketProcessorEntryProto packetProcessor_entry = 1;
-}
-
-message requestPacketsRequest {
- .net.flow.TrafficSelectorProto traffic_selector = 1;
- int32 priority = 2;
- .core.ApplicationIdProto application_id = 3;
-}
-
-message requestPacketsReply {
-}
-
-message cancelPacketsRequest {
- .net.flow.TrafficSelectorProto traffic_selector = 1;
- int32 priority = 2;
- .core.ApplicationIdProto application_id = 3;
-}
-
-message cancelPacketsReply {
-}
-
-message getRequestsRequest {
-}
-
-message getRequestsReply {
- repeated .net.packet.PacketRequestProto packet_request = 1;
-}
-
-message emitRequest {
- .net.packet.OutboundPacketProto outbound_packet = 1;
-}
-
-message emitReply {
-}
-
-service DeviceService {
- rpc addProcessor(addProcessorRequest) returns (addProcessorReply) {}
- rpc removeProcessor(removeProcessorRequest) returns (removeProcessorReply) {}
- rpc getProcessors(getProcessorsRequest) returns (getProcessorsReply) {}
- rpc requestPackets(requestPacketsRequest) returns (requestPacketsReply) {}
- rpc cancelPackets(cancelPacketsRequest) returns (cancelPacketsReply) {}
- rpc getRequests(getRequestsRequest) returns (getRequestsReply) {}
- rpc emit(emitRequest) returns (emitReply) {}
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/main/proto/net/region/RegionServiceNb.proto b/graveyard/protobuf-dead/services/nb/src/main/proto/net/region/RegionServiceNb.proto
deleted file mode 100644
index feabc50..0000000
--- a/graveyard/protobuf-dead/services/nb/src/main/proto/net/region/RegionServiceNb.proto
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-syntax="proto3";
-option java_package = "org.onosproject.grpc.nb.net.region";
-
-package nb.net.region;
-
-import "net/RegionProto.proto";
-
-message getRegionsRequest {
-}
-
-message getRegionsReply {
- repeated .net.RegionProto region = 1;
-}
-
-message getRegionRequest {
- string regionId = 1;
-}
-
-message getRegionReply {
- .net.RegionProto region = 1;
-}
-
-message getRegionForDeviceRequest {
- string deviceId = 1;
-}
-
-message getRegionForDeviceReply {
- .net.RegionProto region = 1;
-}
-
-message getRegionDevicesRequest {
- string regionId = 1;
-}
-
-message getRegionDevicesReply {
- repeated string deviceId = 1;
-}
-
-message getRegionHostsRequest {
- string regionId = 1;
-}
-
-message getRegionHostsReply {
- repeated string hostId = 1;
-}
-
-service RegionService {
- rpc getRegions(getRegionsRequest) returns (getRegionsReply) {}
- rpc getRegion(getRegionRequest) returns (getRegionReply) {}
- rpc getRegionForDevice(getRegionForDeviceRequest) returns (getRegionForDeviceReply) {}
- rpc getRegionDevices(getRegionDevicesRequest) returns (getRegionDevicesReply) {}
- rpc getRegionHosts(getRegionHostsRequest) returns (getRegionHostsReply) {}
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationServiceTest.java b/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationServiceTest.java
deleted file mode 100644
index f04618f..0000000
--- a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbApplicationServiceTest.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import io.grpc.BindableService;
-import io.grpc.ManagedChannel;
-import io.grpc.inprocess.InProcessChannelBuilder;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.onosproject.app.ApplicationListener;
-import org.onosproject.app.ApplicationService;
-import org.onosproject.app.ApplicationState;
-import org.onosproject.core.Application;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.core.ApplicationRole;
-import org.onosproject.core.DefaultApplication;
-import org.onosproject.core.DefaultApplicationId;
-import org.onosproject.core.Version;
-import org.onosproject.grpc.app.models.ApplicationEnumsProto;
-import org.onosproject.grpc.core.models.ApplicationIdProtoOuterClass;
-import org.onosproject.grpc.core.models.ApplicationProtoOuterClass;
-import org.onosproject.grpc.nb.app.ApplicationServiceGrpc;
-import org.onosproject.incubator.protobuf.models.core.ApplicationEnumsProtoTranslator;
-import org.onosproject.incubator.protobuf.models.core.ApplicationIdProtoTranslator;
-import org.onosproject.incubator.protobuf.models.core.ApplicationProtoTranslator;
-import org.onosproject.security.Permission;
-
-import java.io.IOException;
-import java.util.Optional;
-import java.util.Set;
-
-import static org.junit.Assert.assertEquals;
-import static org.onosproject.grpc.nb.app.ApplicationServiceNb.*;
-
-/**
- * Unit tests for applications gRPC NB services.
- */
-public class GrpcNbApplicationServiceTest {
-
- private static InProcessServer<BindableService> inprocessServer;
- private static ApplicationServiceGrpc.ApplicationServiceBlockingStub blockingStub;
- private static ManagedChannel channel;
-
- private final ApplicationService appService = new MockApplicationService();
-
- private ApplicationId id1 = new DefaultApplicationId(1, "app1");
- private ApplicationId id2 = new DefaultApplicationId(2, "app2");
- private ApplicationId id3 = new DefaultApplicationId(3, "app3");
- private ApplicationId id4 = new DefaultApplicationId(4, "app4");
-
- private static final Version VER = Version.version(1, 2, "a", "b");
-
- private DefaultApplication.Builder baseBuilder = DefaultApplication.builder()
- .withVersion(VER)
- .withIcon(new byte[0])
- .withRole(ApplicationRole.ADMIN)
- .withPermissions(ImmutableSet.of())
- .withFeaturesRepo(Optional.empty())
- .withFeatures(ImmutableList.of("My Feature"))
- .withRequiredApps(ImmutableList.of());
-
- private Application app1 =
- DefaultApplication.builder(baseBuilder)
- .withAppId(id1)
- .withTitle("title1")
- .withDescription("desc1")
- .withOrigin("origin1")
- .withCategory("category1")
- .withUrl("url1")
- .withReadme("readme1")
- .build();
- private Application app2 =
- DefaultApplication.builder(baseBuilder)
- .withAppId(id2)
- .withTitle("title2")
- .withDescription("desc2")
- .withOrigin("origin2")
- .withCategory("category2")
- .withUrl("url2")
- .withReadme("readme2")
- .build();
- private Application app3 =
- DefaultApplication.builder(baseBuilder)
- .withAppId(id3)
- .withTitle("title3")
- .withDescription("desc3")
- .withOrigin("origin3")
- .withCategory("category3")
- .withUrl("url3")
- .withReadme("readme3")
- .build();
- private Application app4 =
- DefaultApplication.builder(baseBuilder)
- .withAppId(id4)
- .withTitle("title4")
- .withDescription("desc4")
- .withOrigin("origin4")
- .withCategory("category4")
- .withUrl("url4")
- .withReadme("readme4")
- .build();
-
- private Set apps = ImmutableSet.of(app1, app2, app3, app4);
-
- /**
- * Initializes the test environment.
- */
- @Before
- public void setUp() throws IllegalAccessException, IOException, InstantiationException {
-
- GrpcNbApplicationService grpcAppService = new GrpcNbApplicationService();
- grpcAppService.applicationService = appService;
- inprocessServer = grpcAppService.registerInProcessServer();
- inprocessServer.start();
-
- channel = InProcessChannelBuilder.forName("test").directExecutor()
- .usePlaintext(true).build();
-
- blockingStub = ApplicationServiceGrpc.newBlockingStub(channel);
- }
-
- /**
- * Finalizes the test setup.
- */
- @After
- public void tearDown() {
- channel.shutdownNow();
- inprocessServer.stop();
- }
-
- /**
- * Tests the invocation result of getApplications method.
- *
- * @throws InterruptedException
- */
- @Test
- public void testGetApplications() throws InterruptedException {
- getApplicationsRequest request = getApplicationsRequest.getDefaultInstance();
- getApplicationsReply reply;
-
- reply = blockingStub.getApplications(request);
- assertEquals(4, reply.getApplicationCount());
- }
-
- /**
- * Tests the invocation result of getId method.
- *
- * @throws InterruptedException
- */
- @Test
- public void testGetId() throws InterruptedException {
- getIdRequest request = getIdRequest.newBuilder()
- .setName("one")
- .build();
-
- getIdReply reply = blockingStub.getId(request);
- ApplicationIdProtoOuterClass.ApplicationIdProto appIdProto = reply.getApplicationId();
- assertEquals(id1, ApplicationIdProtoTranslator.translate(appIdProto));
- }
-
- /**
- * Tests the invocation result of getApplication method.
- *
- * @throws InterruptedException
- */
- @Test
- public void testGetApplication() throws InterruptedException {
- getApplicationRequest request = getApplicationRequest.newBuilder()
- .setApplicationId(ApplicationIdProtoTranslator.translate(id1))
- .build();
-
- getApplicationReply reply = blockingStub.getApplication(request);
- ApplicationProtoOuterClass.ApplicationProto appProto = reply.getApplication();
- assertEquals(app1, ApplicationProtoTranslator.translate(appProto));
- }
-
- /**
- * Tests the invocation result of getState method.
- *
- * @throws InterruptedException
- */
- @Test
- public void testGetState() throws InterruptedException {
- getStateRequest request = getStateRequest.newBuilder()
- .setApplicationId(ApplicationIdProtoTranslator.translate(id1))
- .build();
-
- getStateReply reply = blockingStub.getState(request);
- ApplicationEnumsProto.ApplicationStateProto stateProto = reply.getState();
- assertEquals(Optional.of(ApplicationState.INSTALLED),
- ApplicationEnumsProtoTranslator.translate(stateProto));
- }
-
- /**
- * Mock class for application service.
- */
- private class MockApplicationService implements ApplicationService {
-
- MockApplicationService() {}
-
- @Override
- public Set<Application> getApplications() {
- return apps;
- }
-
- @Override
- public ApplicationId getId(String name) {
-
- if ("one".equals(name)) {
- return id1;
- }
-
- if ("two".equals(name)) {
- return id2;
- }
-
- if ("three".equals(name)) {
- return id3;
- }
-
- if ("four".equals(name)) {
- return id4;
- }
-
- return null;
- }
-
- @Override
- public Application getApplication(ApplicationId appId) {
-
- if (id1.equals(appId)) {
- return app1;
- }
-
- if (id2.equals(appId)) {
- return app2;
- }
-
- if (id3.equals(appId)) {
- return app3;
- }
-
- if (id4.equals(appId)) {
- return app4;
- }
-
- return null;
- }
-
- @Override
- public ApplicationState getState(ApplicationId appId) {
- return ApplicationState.INSTALLED;
- }
-
- @Override
- public Set<Permission> getPermissions(ApplicationId appId) {
- return null;
- }
-
- @Override
- public void registerDeactivateHook(ApplicationId appId, Runnable hook) {
-
- }
-
- @Override
- public void addListener(ApplicationListener listener) {
-
- }
-
- @Override
- public void removeListener(ApplicationListener listener) {
-
- }
- }
-}
diff --git a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbComponentConfigServiceTest.java b/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbComponentConfigServiceTest.java
deleted file mode 100644
index 2b6021c..0000000
--- a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbComponentConfigServiceTest.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
-* Copyright 2017-present Open Networking Foundation
-*
-* 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;
-
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Maps;
-import io.grpc.BindableService;
-import io.grpc.ManagedChannel;
-import io.grpc.inprocess.InProcessChannelBuilder;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onosproject.cfg.ComponentConfigService;
-import org.onosproject.cfg.ConfigProperty;
-import org.onosproject.grpc.cfg.models.ConfigPropertyProtoOuterClass;
-import org.onosproject.grpc.nb.cfg.ComponentConfigServiceGrpc;
-import org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb;
-import org.onosproject.grpc.nb.cfg.ComponentConfigServiceGrpc.ComponentConfigServiceBlockingStub;
-import org.onosproject.incubator.protobuf.models.cfg.ConfigPropertyProtoTranslator;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import static org.onosproject.grpc.nb.cfg.ComponentConfigServiceNb.*;
-import static org.junit.Assert.assertTrue;
-import static org.onosproject.cfg.ConfigProperty.Type.STRING;
-
-/**
- * Unit tests of gRPC northbound component config service.
- */
-public class GrpcNbComponentConfigServiceTest {
-
- private static InProcessServer<BindableService> inprocessServer;
- private static ComponentConfigServiceBlockingStub blockingStub;
- private static ManagedChannel channel;
-
- private static Set<String> componentNames = new HashSet<>();
- private static final Map<String, ConfigProperty> PROPERTY_MAP = Maps.newConcurrentMap();
- private static final Map<String, ConfigProperty> PROPERTY_MAP1 = Maps.newConcurrentMap();
- private static final Map<String, String> STRING_MAP = Maps.newConcurrentMap();
- private static final Map<String, String> STRING_MAP1 = Maps.newConcurrentMap();
- private static final Map<String, String> STRING_MAP2 = Maps.newConcurrentMap();
- private static final ComponentConfigService MOCK_COMPONENTCONFIG = new MockComponentConfigService();
- private static final String COMPONENTCONFIGNAME = "org.onosprject.test";
- private static final String COMPONENTCONFIGNAME1 = "org.onosprject.test1";
- private static final String COMPONENTCONFIGNAME2 = "org.onosprject.test2";
- private static final String PROPERTY_TEST_KEY = COMPONENTCONFIGNAME + "#" + "test";
- private static final ConfigProperty C1 = ConfigProperty.defineProperty("foo", STRING, "dingo", "FOO");
- private static final ConfigProperty C2 = ConfigProperty.defineProperty("bar", STRING, "bat", "BAR");
-
- public GrpcNbComponentConfigServiceTest() {}
-
- private static void populateComponentNames() {
-
- componentNames.add(COMPONENTCONFIGNAME);
- componentNames.add(COMPONENTCONFIGNAME1);
- componentNames.add(COMPONENTCONFIGNAME2);
- PROPERTY_MAP1.put(COMPONENTCONFIGNAME, C1);
- STRING_MAP2.put(PROPERTY_TEST_KEY, "true");
- }
-
- /**
- * Tests gRPC getComponentNames interface.
- */
- @Test
- public void testGetComponentNames() throws InterruptedException {
- getComponentNamesRequest request = ComponentConfigServiceNb.getComponentNamesRequest.getDefaultInstance();
- getComponentNamesReply reply;
-
- try {
- reply = blockingStub.getComponentNames(request);
- assertTrue(componentNames.size() == reply.getNamesCount());
-
- Set expectedNames = Collections.emptySet();
- expectedNames.addAll(componentNames);
- assertTrue(reply.equals(expectedNames));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Tests gRPC registerProperties interface.
- */
- @Test
- public void testRegisterProperties() throws InterruptedException {
- registerPropertiesRequest request = ComponentConfigServiceNb.registerPropertiesRequest
- .newBuilder().setComponentClass(COMPONENTCONFIGNAME).build();
-
- try {
- blockingStub.registerProperties(request);
- assertTrue(PROPERTY_MAP.get(COMPONENTCONFIGNAME).equals(C1));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Tests gRPC unregisterProperties interface.
- */
- @Test
- public void testUnregisterProperties() throws InterruptedException {
- unregisterPropertiesRequest request = ComponentConfigServiceNb.unregisterPropertiesRequest
- .newBuilder().setComponentClass(COMPONENTCONFIGNAME).build();
-
- try {
- blockingStub.unregisterProperties(request);
- assertTrue(PROPERTY_MAP1.get(COMPONENTCONFIGNAME) == null);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Tests gRPC getProperty interface.
- */
- @Test
- public void tesGetProperties() throws InterruptedException {
- getPropertiesRequest request = ComponentConfigServiceNb.getPropertiesRequest.newBuilder()
- .setComponentName(COMPONENTCONFIGNAME).build();
- getPropertiesReply reply;
-
- try {
- reply = blockingStub.getProperties(request);
-
- Set<ConfigProperty> configProperties = new HashSet<>();
- for (ConfigPropertyProtoOuterClass.ConfigPropertyProto cfg : reply.getConfigPropertiesList()) {
- configProperties.add(ConfigPropertyProtoTranslator.translate(cfg));
- }
-
- assertTrue(configProperties.equals(ImmutableSet.of(C1, C2)));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Tests gRPC setProperty interface.
- */
- @Test
- public void testSetProperty() throws InterruptedException {
- setPropertyRequest request = ComponentConfigServiceNb.setPropertyRequest.newBuilder()
- .setComponentName(COMPONENTCONFIGNAME)
- .setName("test")
- .setValue("true")
- .build();
-
- try {
- blockingStub.setProperty(request);
- assertTrue(STRING_MAP.get(PROPERTY_TEST_KEY).equals("true"));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Tests gRPC preSetProperty interface.
- */
- @Test
- public void testPreSetProperty() throws InterruptedException {
- preSetPropertyRequest request = ComponentConfigServiceNb.preSetPropertyRequest.newBuilder()
- .setComponentName(COMPONENTCONFIGNAME)
- .setName("test")
- .setValue("true")
- .build();
-
- try {
- blockingStub.preSetProperty(request);
- assertTrue(STRING_MAP1.get(PROPERTY_TEST_KEY).equals("true"));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Tests gRPC unsetProperty interface.
- */
- @Test
- public void testUnsetProperty() throws InterruptedException {
- unsetPropertyRequest request = ComponentConfigServiceNb.unsetPropertyRequest.newBuilder()
- .setComponentName(COMPONENTCONFIGNAME)
- .setName("test")
- .build();
-
- try {
- blockingStub.unsetProperty(request);
- assertTrue(STRING_MAP2.get(PROPERTY_TEST_KEY) == null);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Initialization before start testing gRPC northbound component config service.
- */
- @BeforeClass
- public static void beforeClass() throws InstantiationException, IllegalAccessException, IOException {
- GrpcNbComponentConfigService componentConfigService = new GrpcNbComponentConfigService();
- componentConfigService.componentConfigService = MOCK_COMPONENTCONFIG;
- inprocessServer = componentConfigService.registerInProcessServer();
- inprocessServer.start();
-
- channel = InProcessChannelBuilder.forName("test").directExecutor()
- // Channels are secure by default (via SSL/TLS). For the example we disable TLS to avoid
- // needing certificates.
- .usePlaintext(true).build();
- blockingStub = ComponentConfigServiceGrpc.newBlockingStub(channel);
- populateComponentNames();
- }
-
- /**
- * Finalization after test gRPC northbound component config service.
- */
- @AfterClass
- public static void afterClass() {
-
- channel.shutdownNow();
- inprocessServer.stop();
- }
-
- private static class MockComponentConfigService implements ComponentConfigService {
-
- MockComponentConfigService() {
- }
-
- @Override
- public Set<String> getComponentNames() {
- return componentNames;
- }
-
- @Override
- public void registerProperties(Class<?> componentClass) {
- PROPERTY_MAP.put(componentClass.getName(), C1);
- }
-
- @Override
- public void unregisterProperties(Class<?> componentClass, boolean clear) {
- PROPERTY_MAP1.remove(componentClass.getName());
- }
-
- @Override
- public Set<ConfigProperty> getProperties(String componentName) {
- return ImmutableSet.of(C1, C2);
- }
-
- @Override
- public void setProperty(String componentName, String name, String value) {
- STRING_MAP.put(componentName + "#" + name, value);
- }
-
- @Override
- public void preSetProperty(String componentName, String name, String value) {
- STRING_MAP1.put(componentName + "#" + name, value);
- }
-
- @Override
- public void unsetProperty(String componentName, String name) {
- STRING_MAP2.remove(componentName + "#" + name);
- }
-
- @Override
- public ConfigProperty getProperty(String componentName, String attribute) {
- return null;
- }
- }
-}
diff --git a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbHostServiceTest.java b/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbHostServiceTest.java
deleted file mode 100644
index 62e5cfa..0000000
--- a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbHostServiceTest.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/*
-* Copyright 2017-present Open Networking Foundation
-*
-* 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;
-
-import com.google.common.collect.ImmutableSet;
-import io.grpc.BindableService;
-import io.grpc.inprocess.InProcessChannelBuilder;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import io.grpc.ManagedChannel;
-import org.onlab.packet.IpAddress;
-import org.onlab.packet.MacAddress;
-import org.onlab.packet.VlanId;
-import org.onosproject.grpc.net.models.HostProtoOuterClass;
-import org.onosproject.incubator.protobuf.models.net.HostProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.HostIdProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.ConnectPointProtoTranslator;
-import org.onosproject.grpc.nb.net.host.HostServiceGrpc.HostServiceBlockingStub;
-import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DefaultHost;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.Host;
-import org.onosproject.net.HostId;
-import org.onosproject.net.HostLocation;
-import org.onosproject.net.PortNumber;
-import org.onosproject.net.host.HostListener;
-import org.onosproject.net.host.HostService;
-
-import org.onosproject.grpc.nb.net.host.HostServiceGrpc;
-import org.onosproject.net.provider.ProviderId;
-import org.slf4j.Logger;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import static org.junit.Assert.assertTrue;
-import static org.onosproject.grpc.nb.net.host.HostServiceNb.*;
-import static org.slf4j.LoggerFactory.getLogger;
-
-/**
- * Unit tests of gRPC northbound host service.
- */
-public class GrpcNbHostServiceTest {
- private final Logger log = getLogger(getClass());
-
- private static InProcessServer<BindableService> inprocessServer;
- private static HostServiceBlockingStub blockingStub;
- private static ManagedChannel channel;
- private static final HostService MOCK_HOST = new MockHostService();
- private static List<Host> allHosts = new ArrayList<>();
- private static Host h1;
- private static HostId id1;
- private static IpAddress ip1;
- private static MacAddress mac1;
- private static DeviceId deviceId;
- private static ConnectPoint c1;
- private static boolean started = false;
- private static boolean stopped = false;
- private static boolean requestMac = false;
-
- public GrpcNbHostServiceTest() {}
-
- private static void populateHosts() {
- ip1 = IpAddress.valueOf("10.1.1.1");
- IpAddress ip2 = IpAddress.valueOf("10.1.1.2");
- IpAddress ip3 = IpAddress.valueOf("10.1.1.3");
- mac1 = MacAddress.valueOf("67:11:23:45:87:11");
- MacAddress mac2 = MacAddress.valueOf("67:11:23:45:87:12");
- MacAddress mac3 = MacAddress.valueOf("67:11:23:45:87:13");
- id1 = HostId.hostId(mac1);
- HostId id2 = HostId.hostId(mac2);
- HostId id3 = HostId.hostId(mac3);
- deviceId = DeviceId.deviceId("test");
-
- c1 = new ConnectPoint(deviceId, PortNumber.portNumber(101));
- HostLocation hostLocation1 = new HostLocation(deviceId, PortNumber.portNumber(101), 0);
- HostLocation hostLocation2 = new HostLocation(deviceId, PortNumber.portNumber(102), 0);
- HostLocation hostLocation3 = new HostLocation(deviceId, PortNumber.portNumber(103), 0);
-
- h1 = new DefaultHost(ProviderId.NONE, id1, mac1, VlanId.NONE,
- hostLocation1, ImmutableSet.of(ip1));
- allHosts.add(h1);
- allHosts.add(new DefaultHost(ProviderId.NONE, id2, mac2, VlanId.NONE,
- hostLocation2, ImmutableSet.of(ip2)));
- allHosts.add(new DefaultHost(ProviderId.NONE, id3, mac3, VlanId.NONE,
- hostLocation3, ImmutableSet.of(ip3)));
- }
-
- /**
- * Tests gRPC getComponentNames interface.
- */
- @Test
- public void testGetHostCount() throws InterruptedException {
- getHostCountRequest request = getHostCountRequest.getDefaultInstance();
- getHostCountReply reply;
-
- try {
- reply = blockingStub.getHostCount(request);
- assertTrue(allHosts.size() == reply.getHostCount());
- } catch (Exception e) {
- log.error("Get host count error! Exception={}", e.toString());
- }
- }
-
- /**
- * Tests gRPC getComponentNames interface.
- */
- @Test
- public void testGetHosts() throws InterruptedException {
- getHostsRequest request = getHostsRequest.getDefaultInstance();
- getHostsReply reply;
-
- try {
- reply = blockingStub.getHosts(request);
- Set<Host> actualHosts = new HashSet<>();
- for (HostProtoOuterClass.HostProto host : reply.getHostList()) {
- actualHosts.add(HostProtoTranslator.translate(host));
- }
-
- Set<Host> expectedHosts = new HashSet<>();
- for (Host h : allHosts) {
- expectedHosts.add(h);
- }
- assertTrue(actualHosts.equals(expectedHosts));
- } catch (Exception e) {
- log.error("Get all hosts error! Exception={}", e.toString());
- }
- }
-
- /**
- * Tests gRPC getHost interface.
- */
- @Test
- public void testGetHost() throws InterruptedException {
- getHostRequest request = getHostRequest.newBuilder().setHostId(HostIdProtoTranslator.translate(id1)).build();
- getHostReply reply;
-
- try {
- reply = blockingStub.getHost(request);
- assertTrue(HostProtoTranslator.translate(reply.getHost()).equals(h1));
- } catch (Exception e) {
- log.error("Get host with hostId error! Exception={}", e.toString());
- }
- }
-
- /**
- * Tests gRPC getHostsByVlan interface.
- */
- @Test
- public void testGetHostsByVlan() throws InterruptedException {
- getHostsByVlanRequest request = getHostsByVlanRequest.newBuilder().setVlanId(VlanId.NONE.toString()).build();
- getHostsByVlanReply reply;
-
- try {
- reply = blockingStub.getHostsByVlan(request);
-
- Set<Host> actualHosts = new HashSet<>();
- for (HostProtoOuterClass.HostProto host : reply.getHostList()) {
- actualHosts.add(HostProtoTranslator.translate(host));
- }
-
- Set<Host> expectedHosts = new HashSet<>();
- for (Host h : allHosts) {
- expectedHosts.add(h);
- }
- assertTrue(actualHosts.equals(expectedHosts));
- } catch (Exception e) {
- log.error("Get hosts that belong to the specified VLAN error! Exception={}", e.toString());
- }
- }
-
- /**
- * Tests gRPC getHostsByMac interface.
- */
- @Test
- public void testGetHostsByMac() throws InterruptedException {
- getHostsByMacRequest request = getHostsByMacRequest.newBuilder().setMac(mac1.toString()).build();
- getHostsByMacReply reply;
-
- try {
- reply = blockingStub.getHostsByMac(request);
-
- Set<Host> actualHosts = new HashSet<>();
- for (HostProtoOuterClass.HostProto host : reply.getHostList()) {
- actualHosts.add(HostProtoTranslator.translate(host));
- }
- Set<Host> expectedHosts = new HashSet<>();
- expectedHosts.add(allHosts.get(0));
- assertTrue(actualHosts.equals(expectedHosts));
- } catch (Exception e) {
- log.error("Get hosts that have the specified MAC address error! Exception={}", e.toString());
- }
- }
-
- /**
- * Tests gRPC getHostsByIp interface.
- */
- @Test
- public void testGetHostsByIp() throws InterruptedException {
- getHostsByIpRequest request = getHostsByIpRequest.newBuilder().setIpAddress(ip1.toString()).build();
- getHostsByIpReply reply;
-
- try {
- reply = blockingStub.getHostsByIp(request);
-
- Set<Host> actualHosts = new HashSet<>();
- for (HostProtoOuterClass.HostProto host : reply.getHostList()) {
- actualHosts.add(HostProtoTranslator.translate(host));
- }
-
- Set<Host> expectedHosts = new HashSet<>();
- expectedHosts.add(allHosts.get(0));
- assertTrue(actualHosts.equals(expectedHosts));
- } catch (Exception e) {
- log.error("Get hosts that have the specified IP address error! Exception={}", e.toString());
- }
- }
-
- /**
- * Tests gRPC getConnectedHosts interface.
- */
- @Test
- public void testGetConnectedHosts() throws InterruptedException {
- getConnectedHostsRequest request = getConnectedHostsRequest.newBuilder()
- .setConnectPoint(ConnectPointProtoTranslator.translate(c1))
- .build();
- getConnectedHostsReply reply;
-
- try {
- reply = blockingStub.getConnectedHosts(request);
-
- Set<Host> actualHosts = new HashSet<>();
- for (HostProtoOuterClass.HostProto host : reply.getHostList()) {
- actualHosts.add(HostProtoTranslator.translate(host));
- }
-
- Set<Host> expectedHosts = new HashSet<>();
- expectedHosts.add(allHosts.get(0));
- assertTrue(actualHosts.equals(expectedHosts));
- } catch (Exception e) {
- log.error("Get connected hosts with connect point error! Exception={}", e.toString());
- }
- }
-
- /**
- * Tests gRPC getConnectedHostsByDeviceId interface.
- */
- @Test
- public void testGetConnectedHostsByDeviceId() throws InterruptedException {
- getConnectedHostsRequest request = getConnectedHostsRequest.newBuilder()
- .setDeviceId(deviceId.toString())
- .build();
- getConnectedHostsReply reply;
-
- try {
- reply = blockingStub.getConnectedHosts(request);
-
- Set<Host> actualHosts = new HashSet<>();
- for (HostProtoOuterClass.HostProto host : reply.getHostList()) {
- actualHosts.add(HostProtoTranslator.translate(host));
- }
-
- Set<Host> expectedHosts = new HashSet<>();
- for (Host h : allHosts) {
- expectedHosts.add(h);
- }
- assertTrue(actualHosts.equals(expectedHosts));
- } catch (Exception e) {
- log.error("Get connected hosts with deviceId error! Exception={}", e.toString());
- }
- }
-
- /**
- * Tests gRPC startMonitoringIp interface.
- */
- @Test
- public void testStartMonitoringIp() throws InterruptedException {
- startMonitoringIpRequest request = startMonitoringIpRequest.newBuilder().setIpAddress(ip1.toString()).build();
-
- try {
- blockingStub.startMonitoringIp(request);
- assertTrue(started);
- } catch (Exception e) {
- log.error("Start monitoring hosts with the given IP address error! Exception={}", e.toString());
- }
- }
-
- /**
- * Tests gRPC stopMonitoringIp interface.
- */
- @Test
- public void testStopMonitoringIp() throws InterruptedException {
- stopMonitoringIpRequest request = stopMonitoringIpRequest.newBuilder().setIpAddress(ip1.toString()).build();
-
- try {
- blockingStub.stopMonitoringIp(request);
- assertTrue(stopped);
- } catch (Exception e) {
- log.error("Stop monitoring hosts with the given IP address error! Exception={}", e.toString());
- }
- }
-
- /**
- * Tests gRPC requestMac interface.
- */
- @Test
- public void testRequestMac() throws InterruptedException {
- requestMacRequest request = requestMacRequest.newBuilder().setIpAddress(ip1.toString()).build();
-
- try {
- blockingStub.requestMac(request);
- assertTrue(requestMac);
- } catch (Exception e) {
- log.error("Resolve the MAC address for the given IP address error! Exception={}", e.toString());
- }
- }
-
- /**
- * Initialization before start testing gRPC northbound host service.
- */
- @BeforeClass
- public static void beforeClass() throws InstantiationException, IllegalAccessException, IOException {
- GrpcNbHostService hostService = new GrpcNbHostService();
- hostService.hostService = MOCK_HOST;
- inprocessServer = hostService.registerInProcessServer();
-
- inprocessServer.start();
- channel = InProcessChannelBuilder.forName("test").directExecutor()
- // Channels are secure by default (via SSL/TLS). For the example we disable TLS to avoid
- // needing certificates.
- .usePlaintext(true).build();
- blockingStub = HostServiceGrpc.newBlockingStub(channel);
- populateHosts();
- }
-
- /**
- * Finalization after test gRPC northbound host service.
- */
- @AfterClass
- public static void afterClass() {
-
- channel.shutdownNow();
- inprocessServer.stop();
- }
-
- private static class MockHostService implements HostService {
-
- MockHostService() {
- }
-
- @Override
- public int getHostCount() {
- return allHosts.size();
- }
-
- @Override
- public Iterable<Host> getHosts() {
- return allHosts;
- }
-
- @Override
- public Host getHost(HostId hostId) {
- return allHosts.stream().filter(h -> h.id().equals(hostId)).findFirst().get();
- }
-
- @Override
- public Set<Host> getHostsByVlan(VlanId vlanId) {
- return allHosts.stream().filter(h -> h.vlan().equals(vlanId)).collect(Collectors.toSet());
- }
-
- @Override
- public Set<Host> getHostsByMac(MacAddress mac) {
- return allHosts.stream().filter(h -> h.mac().equals(mac)).collect(Collectors.toSet());
- }
-
- @Override
- public Set<Host> getHostsByIp(IpAddress ip) {
- return allHosts.stream().filter(h -> h.ipAddresses().contains(ip)).collect(Collectors.toSet());
- }
-
- @Override
- public Set<Host> getConnectedHosts(ConnectPoint connectPoint) {
- return allHosts.stream().filter(h -> h.location().deviceId().equals(connectPoint.deviceId())
- && h.location().port().equals(connectPoint.port()))
- .collect(Collectors.toSet());
- }
-
- @Override
- public Set<Host> getConnectedHosts(DeviceId deviceId) {
- return allHosts.stream().filter(h -> h.location().deviceId().equals(deviceId)).collect(Collectors.toSet());
- }
-
- @Override
- public void startMonitoringIp(IpAddress ip) {
- started = true;
- }
-
- @Override
- public void stopMonitoringIp(IpAddress ip) {
- stopped = true;
- }
-
- @Override
- public void requestMac(IpAddress ip) {
- requestMac = true;
- }
-
- @Override
- public void addListener(HostListener listener) {
- }
-
- @Override
- public void removeListener(HostListener listener) {
- }
- }
-}
diff --git a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbLinkServiceTest.java b/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbLinkServiceTest.java
deleted file mode 100644
index d45b985..0000000
--- a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbLinkServiceTest.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
-* Copyright 2017-present Open Networking Foundation
-*
-* 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;
-
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import io.grpc.BindableService;
-import io.grpc.ManagedChannel;
-import io.grpc.inprocess.InProcessChannelBuilder;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onosproject.grpc.nb.net.link.LinkServiceGrpc;
-import org.onosproject.grpc.nb.net.link.LinkServiceGrpc.LinkServiceBlockingStub;
-import org.onosproject.grpc.nb.net.link.LinkServiceNb;
-import org.onosproject.grpc.net.models.LinkProtoOuterClass;
-import org.onosproject.incubator.protobuf.models.net.ConnectPointProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.LinkProtoTranslator;
-import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DefaultLink;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.Link;
-import org.onosproject.net.PortNumber;
-import org.onosproject.net.link.LinkService;
-import org.onosproject.net.provider.ProviderId;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import static org.junit.Assert.assertTrue;
-import static org.onosproject.net.DeviceId.deviceId;
-import static org.onosproject.net.PortNumber.portNumber;
-
-public class GrpcNbLinkServiceTest {
- private static InProcessServer<BindableService> inprocessServer;
- private static ManagedChannel channel;
- private static LinkServiceBlockingStub blockingStub;
-
- private static final String D1 = "d1";
- private static final String D2 = "d2";
- private static final String D3 = "d3";
- private static final String D4 = "d4";
- private static final String D5 = "d5";
- private static final String D6 = "d6";
- private static final String D7 = "d7";
- private static final String D8 = "d8";
- private static final String D9 = "d9";
-
- private static final String[][] LINK_CONNECT_DATA = {
- {D1, "12", D2, "21"},
- {D2, "23", D3, "32"},
- {D4, "41", D1, "14"},
- {D5, "51", D1, "15"},
- {D6, "61", D1, "16"},
- {D7, "73", D3, "37"},
- {D8, "83", D3, "38"},
- {D9, "93", D3, "39"},
- };
-
- private static final DeviceId DEVID_1 = deviceId(D1);
- private static final PortNumber PORT_14 = portNumber("14");
-
- private static final DeviceId DEVID_4 = deviceId(D4);
- private static final PortNumber PORT_41 = portNumber("41");
-
- private static final DeviceId DEVID_3 = deviceId(D3);
- private static final PortNumber PORT_32 = portNumber("32");
-
- private static final ConnectPoint DEVID_1_14 = new ConnectPoint(DEVID_1, PORT_14);
- private static final ConnectPoint DEVID_4_41 = new ConnectPoint(DEVID_4, PORT_41);
-
- private static final ProviderId PID = new ProviderId("Test", "Test");
-
- private static List<Link> allLinks = new ArrayList<Link>();
-
- private static final LinkService MOCK_LINK = new MockLinkService();
-
- /**
- * Creates a list of links.
- *
- */
- private static void populateLinks() {
- for (String[] linkPair : LINK_CONNECT_DATA) {
- allLinks.addAll(makeLinkPair(linkPair));
- }
- }
-
- /**
- * Synthesizes a pair of unidirectional links between two devices. The
- * string array should be of the form:
- * <pre>
- * { "device-A-id", "device-A-port", "device-B-id", "device-B-port" }
- * </pre>
- *
- * @param linkPairData device ids and ports
- * @return pair of synthesized links
- */
- private static List<Link> makeLinkPair(String[] linkPairData) {
- DeviceId devA = deviceId(linkPairData[0]);
- PortNumber portA = portNumber(linkPairData[1]);
-
- DeviceId devB = deviceId(linkPairData[2]);
- PortNumber portB = portNumber(linkPairData[3]);
-
- Link linkA = DefaultLink.builder()
- .providerId(PID)
- .type(Link.Type.DIRECT)
- .src(new ConnectPoint(devA, portA))
- .dst(new ConnectPoint(devB, portB))
- .build();
-
- Link linkB = DefaultLink.builder()
- .providerId(PID)
- .type(Link.Type.DIRECT)
- .src(new ConnectPoint(devB, portB))
- .dst(new ConnectPoint(devA, portA))
- .build();
-
- return ImmutableList.of(linkA, linkB);
- }
-
- public GrpcNbLinkServiceTest() {
- }
-
- @Test
- public void testGetLinkCount() throws InterruptedException {
- LinkServiceNb.getLinkCountRequest request = LinkServiceNb.getLinkCountRequest.getDefaultInstance();
- LinkServiceNb.getLinkCountReply response;
-
- try {
- response = blockingStub.getLinkCount(request);
- int linkCount = response.getLinkCount();
- assertTrue(allLinks.size() == linkCount);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetLink() throws InterruptedException {
- LinkServiceNb.getLinkRequest request = LinkServiceNb.getLinkRequest.newBuilder()
- .setSrc(ConnectPointProtoTranslator.translate(DEVID_1_14))
- .setDst(ConnectPointProtoTranslator.translate(DEVID_4_41))
- .build();
- LinkServiceNb.getLinkReply response;
-
- try {
- response = blockingStub.getLink(request);
- LinkProtoOuterClass.LinkProto link = response.getLink();
- assertTrue(LinkProtoTranslator.translate(allLinks.get(5)).equals(link));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetLinks() throws InterruptedException {
- LinkServiceNb.getLinksRequest request = LinkServiceNb.getLinksRequest.newBuilder()
- .setConnectPoint(ConnectPointProtoTranslator.translate(DEVID_1_14))
- .build();
- LinkServiceNb.getLinksReply response;
-
- try {
- response = blockingStub.getLinks(request);
-
- Set<Link> actualLinks = new HashSet<Link>();
- for (LinkProtoOuterClass.LinkProto link : response.getLinkList()) {
- actualLinks.add(LinkProtoTranslator.translate(link));
- }
- Set<Link> expectedLinks = new HashSet<Link>();
- expectedLinks.add(allLinks.get(4));
- expectedLinks.add(allLinks.get(5));
-
- assertTrue(expectedLinks.equals(actualLinks));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetActiveLinks() throws InterruptedException {
- LinkServiceNb.getActiveLinksRequest request = LinkServiceNb.getActiveLinksRequest.getDefaultInstance();
- LinkServiceNb.getActiveLinksReply response;
-
- try {
- response = blockingStub.getActiveLinks(request);
-
- Set<Link> actualLinks = new HashSet<Link>();
- for (LinkProtoOuterClass.LinkProto link : response.getLinkList()) {
- actualLinks.add(LinkProtoTranslator.translate(link));
- }
-
- Set<Link> expectedLinks = new HashSet<Link>(allLinks);
- assertTrue((expectedLinks).equals(actualLinks));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetDeviceLinks() throws InterruptedException {
- LinkServiceNb.getDeviceLinksRequest request = LinkServiceNb.getDeviceLinksRequest.newBuilder()
- .setDeviceId(D1)
- .build();
- LinkServiceNb.getDeviceLinksReply response;
-
- try {
- response = blockingStub.getDeviceLinks(request);
-
- Set<Link> actualLinks = new HashSet<Link>();
- for (LinkProtoOuterClass.LinkProto link : response.getLinkList()) {
- actualLinks.add(LinkProtoTranslator.translate(link));
- }
-
- Set<Link> expectedLinks = new HashSet<Link>();
- expectedLinks.add(allLinks.get(4));
- expectedLinks.add(allLinks.get(5));
- expectedLinks.add(allLinks.get(6));
- expectedLinks.add(allLinks.get(7));
- expectedLinks.add(allLinks.get(8));
- expectedLinks.add(allLinks.get(9));
- expectedLinks.add(allLinks.get(0));
- expectedLinks.add(allLinks.get(1));
-
- assertTrue((expectedLinks).equals(actualLinks));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetDeviceEgressLinks() throws InterruptedException {
- LinkServiceNb.getDeviceEgressLinksRequest request = LinkServiceNb.getDeviceEgressLinksRequest.newBuilder()
- .setDeviceId(D1)
- .build();
- LinkServiceNb.getDeviceEgressLinksReply response;
-
- try {
- response = blockingStub.getDeviceEgressLinks(request);
-
- Set<Link> actualLinks = new HashSet<Link>();
- for (LinkProtoOuterClass.LinkProto link : response.getLinkList()) {
- actualLinks.add(LinkProtoTranslator.translate(link));
- }
- Set<Link> expectedLinks = new HashSet<Link>();
- expectedLinks.add(allLinks.get(0));
- expectedLinks.add(allLinks.get(5));
- expectedLinks.add(allLinks.get(7));
- expectedLinks.add(allLinks.get(9));
-
- assertTrue((expectedLinks).equals(actualLinks));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetDeviceIngressLinks() throws InterruptedException {
- LinkServiceNb.getDeviceIngressLinksRequest request = LinkServiceNb.getDeviceIngressLinksRequest.newBuilder()
- .setDeviceId(D1)
- .build();
- LinkServiceNb.getDeviceIngressLinksReply response;
-
- try {
- response = blockingStub.getDeviceIngressLinks(request);
-
- Set<Link> actualLinks = new HashSet<Link>();
- for (LinkProtoOuterClass.LinkProto link : response.getLinkList()) {
- actualLinks.add(LinkProtoTranslator.translate(link));
- }
-
- Set<Link> expectedLinks = new HashSet<Link>();
- expectedLinks.add(allLinks.get(1));
- expectedLinks.add(allLinks.get(4));
- expectedLinks.add(allLinks.get(6));
- expectedLinks.add(allLinks.get(8));
-
- assertTrue((expectedLinks).equals(actualLinks));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetEgressLinks() throws InterruptedException {
- LinkServiceNb.getEgressLinksRequest request = LinkServiceNb.getEgressLinksRequest.newBuilder()
- .setConnectPoint(ConnectPointProtoTranslator.translate(DEVID_1_14))
- .build();
- LinkServiceNb.getEgressLinksReply response;
-
- try {
- response = blockingStub.getEgressLinks(request);
-
- Set<Link> actualLinks = new HashSet<Link>();
- for (LinkProtoOuterClass.LinkProto link : response.getLinkList()) {
- actualLinks.add(LinkProtoTranslator.translate(link));
- }
- Set<Link> expectedLinks = new HashSet<Link>();
- expectedLinks.add(allLinks.get(5));
-
- assertTrue((expectedLinks).equals(actualLinks));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetIngressLinks() throws InterruptedException {
- LinkServiceNb.getIngressLinksRequest request = LinkServiceNb.getIngressLinksRequest.newBuilder()
- .setConnectPoint(ConnectPointProtoTranslator.translate(DEVID_1_14))
- .build();
- LinkServiceNb.getIngressLinksReply response;
-
- try {
- response = blockingStub.getIngressLinks(request);
-
- Set<Link> actualLinks = new HashSet<Link>();
- for (LinkProtoOuterClass.LinkProto link : response.getLinkList()) {
- actualLinks.add(LinkProtoTranslator.translate(link));
- }
- Set<Link> expectedLinks = new HashSet<Link>();
- expectedLinks.add(allLinks.get(4));
-
- assertTrue((expectedLinks).equals(actualLinks));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-
- @BeforeClass
- public static void beforeClass() throws InstantiationException, IllegalAccessException, IOException {
- GrpcNbLinkService linkService = new GrpcNbLinkService();
- linkService.linkService = MOCK_LINK;
- inprocessServer = linkService.registerInProcessServer();
- inprocessServer.start();
-
- channel = InProcessChannelBuilder.forName("test").directExecutor()
- // Channels are secure by default (via SSL/TLS). For the example we disable TLS to avoid
- // needing certificates.
- .usePlaintext(true).build();
- blockingStub = LinkServiceGrpc.newBlockingStub(channel);
-
- populateLinks();
- }
-
- @AfterClass
- public static void afterClass() {
- channel.shutdownNow();
-
- inprocessServer.stop();
- }
-
- private static class MockLinkService implements LinkService {
- MockLinkService() {
- }
-
- @Override
- public int getLinkCount() {
- return allLinks.size();
- }
-
- @Override
- public Iterable<Link> getLinks() {
- return ImmutableSet.copyOf(allLinks);
- }
-
- @Override
- public Iterable<Link> getActiveLinks() {
- return FluentIterable.from(getLinks())
- .filter(input -> input.state() == Link.State.ACTIVE);
- }
-
- @Override
- public Set<Link> getDeviceLinks(DeviceId deviceId) {
- return FluentIterable.from(getLinks())
- .filter(input -> (input.src().deviceId().equals(deviceId)) ||
- (input.dst().deviceId().equals(deviceId))).toSet();
- }
-
- @Override
- public Set<Link> getDeviceEgressLinks(DeviceId deviceId) {
- return FluentIterable.from(getLinks())
- .filter(input -> (input.src().deviceId().equals(deviceId))).toSet();
- }
-
- @Override
- public Set<Link> getDeviceIngressLinks(DeviceId deviceId) {
- return FluentIterable.from(getLinks())
- .filter(input -> (input.dst().deviceId().equals(deviceId))).toSet();
- }
-
- @Override
- public Set<Link> getLinks(ConnectPoint connectPoint) {
- return FluentIterable.from(getLinks())
- .filter(input -> (input.src().equals(connectPoint)) || (input.dst().equals(connectPoint))).toSet();
- }
-
- @Override
- public Set<Link> getEgressLinks(ConnectPoint connectPoint) {
- return FluentIterable.from(getLinks())
- .filter(input -> (input.src().equals(connectPoint))).toSet();
- }
-
- @Override
- public Set<Link> getIngressLinks(ConnectPoint connectPoint) {
- return FluentIterable.from(getLinks())
- .filter(input -> (input.dst().equals(connectPoint))).toSet();
- }
-
- @Override
- public Link getLink(ConnectPoint src, ConnectPoint dst) {
- return FluentIterable.from(getLinks())
- .filter(input -> (input.src().equals(src)) && (input.dst().equals(dst)))
- .first().get();
- }
-
- @Override
- public void addListener(org.onosproject.net.link.LinkListener listener) {
- }
-
- @Override
- public void removeListener(org.onosproject.net.link.LinkListener listener) {
- }
- }
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMastershipServiceTest.java b/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMastershipServiceTest.java
deleted file mode 100644
index 88c65a2..0000000
--- a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMastershipServiceTest.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Maps;
-import io.grpc.BindableService;
-import io.grpc.ManagedChannel;
-import io.grpc.inprocess.InProcessChannelBuilder;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.onosproject.cluster.NodeId;
-import org.onosproject.cluster.RoleInfo;
-import org.onosproject.grpc.nb.mastership.MastershipServiceGrpc;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.getLocalRoleReply;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.getLocalRoleRequest;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.getMasterForReply;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.getMasterForRequest;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.getNodesForReply;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.getNodesForRequest;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.requestRoleForSyncReply;
-import org.onosproject.grpc.nb.mastership.MastershipServiceNb.requestRoleForSyncRequest;
-import org.onosproject.incubator.protobuf.models.cluster.NodeIdProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.MastershipRoleProtoTranslator;
-import org.onosproject.mastership.MastershipService;
-import org.onosproject.mastership.MastershipServiceAdapter;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.MastershipRole;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.Optional;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * Unit tests for mastership gRPC NB service.
- */
-public class GrpcNbMastershipServiceTest {
-
- private static InProcessServer<BindableService> inprocessServer;
- private static MastershipServiceGrpc.MastershipServiceBlockingStub blockingStub;
- private static ManagedChannel channel;
-
- private final MastershipService mastershipService = new MockMastershipService();
-
- private Map<DeviceId, MastershipRole> mastershipMap = Maps.newHashMap();
- private Map<DeviceId, NodeId> nodeIdMap = Maps.newHashMap();
- private Map<DeviceId, RoleInfo> roleInfoMap = Maps.newHashMap();
-
- private static final String DEVICE_ID_1 = "1";
- private static final String DEVICE_ID_2 = "2";
- private static final String DEVICE_ID_3 = "3";
-
- private DeviceId did1 = DeviceId.deviceId(DEVICE_ID_1);
- private DeviceId did2 = DeviceId.deviceId(DEVICE_ID_2);
- private DeviceId did3 = DeviceId.deviceId(DEVICE_ID_3);
-
- private NodeId nid1 = NodeId.nodeId("1");
- private NodeId nid2 = NodeId.nodeId("2");
- private NodeId nid3 = NodeId.nodeId("3");
-
- /**
- * Initializes the test environment.
- */
- @Before
- public void setUp() throws IllegalAccessException, IOException, InstantiationException {
- GrpcNbMastershipService grpcMastershipService = new GrpcNbMastershipService();
- grpcMastershipService.mastershipService = mastershipService;
- inprocessServer = grpcMastershipService.registerInProcessServer();
- inprocessServer.start();
-
- channel = InProcessChannelBuilder.forName("test").directExecutor()
- .usePlaintext(true).build();
-
- blockingStub = MastershipServiceGrpc.newBlockingStub(channel);
-
- initMastershipMap();
- initNodeIdMap();
- initRoleInfoMap();
- }
-
- /**
- * Finalizes the test setup.
- */
- @After
- public void tearDown() {
- channel.shutdownNow();
- inprocessServer.stop();
- }
-
- private void initMastershipMap() {
- mastershipMap.put(did1, MastershipRole.MASTER);
- mastershipMap.put(did2, MastershipRole.STANDBY);
- mastershipMap.put(did3, MastershipRole.NONE);
- }
-
- private void initNodeIdMap() {
- nodeIdMap.put(did1, nid1);
- nodeIdMap.put(did2, nid2);
- nodeIdMap.put(did3, nid3);
- }
-
- private void initRoleInfoMap() {
- RoleInfo roleInfo1 = new RoleInfo(nid1, ImmutableList.of(nid2, nid3));
- RoleInfo roleInfo2 = new RoleInfo(nid2, ImmutableList.of(nid1, nid3));
- RoleInfo roleInfo3 = new RoleInfo(nid3, ImmutableList.of(nid2, nid3));
- roleInfoMap.put(did1, roleInfo1);
- roleInfoMap.put(did2, roleInfo2);
- roleInfoMap.put(did3, roleInfo3);
- }
-
- /**
- * Tests the invocation result of getLocalRole method.
- *
- * @throws InterruptedException
- */
- @Test
- public void testGetLocalRole() throws InterruptedException {
- getLocalRoleRequest request = getLocalRoleRequest.newBuilder()
- .setDeviceId(DEVICE_ID_1)
- .build();
- getLocalRoleReply reply;
-
- reply = blockingStub.getLocalRole(request);
- assertEquals(Optional.of(MastershipRole.MASTER),
- MastershipRoleProtoTranslator.translate(reply.getMastershipRole()));
- }
-
- /**
- * Tests the invocation result of requestRoleForSync method.
- *
- * @throws InterruptedException
- */
- @Test
- public void testRequestRoleForSync() throws InterruptedException {
- requestRoleForSyncRequest request = requestRoleForSyncRequest.newBuilder()
- .setDeviceId(DEVICE_ID_2)
- .build();
- requestRoleForSyncReply reply;
-
- reply = blockingStub.requestRoleForSync(request);
- assertEquals(Optional.of(MastershipRole.STANDBY),
- MastershipRoleProtoTranslator.translate(reply.getMastershipRole()));
- }
-
- /**
- * Tests the invocation result of getMasterFor method.
- *
- * @throws InterruptedException
- */
- @Test
- public void testGetMasterFor() {
- getMasterForRequest request = getMasterForRequest.newBuilder()
- .setDeviceId(DEVICE_ID_1)
- .build();
- getMasterForReply reply;
-
- reply = blockingStub.getMasterFor(request);
- assertEquals(nid1, NodeIdProtoTranslator.translate(reply.getNodeId()));
- }
-
- /**
- * Tests the invocation result of getNodesFor method.
- *
- * @throws InterruptedException
- */
- @Test
- public void testGetNodesFor() {
- getNodesForRequest request = getNodesForRequest.newBuilder()
- .setDeviceId(DEVICE_ID_3)
- .build();
- getNodesForReply reply;
-
- reply = blockingStub.getNodesFor(request);
- assertEquals(nid3, NodeIdProtoTranslator.translate(reply.getRoleInfo().getMaster()));
- }
-
- private class MockMastershipService extends MastershipServiceAdapter {
-
- @Override
- public MastershipRole getLocalRole(DeviceId deviceId) {
- return mastershipMap.get(deviceId);
- }
-
- @Override
- public MastershipRole requestRoleForSync(DeviceId deviceId) {
- return mastershipMap.get(deviceId);
- }
-
- @Override
- public NodeId getMasterFor(DeviceId deviceId) {
- return nodeIdMap.get(deviceId);
- }
-
- @Override
- public RoleInfo getNodesFor(DeviceId deviceId) {
- return roleInfoMap.get(deviceId);
- }
- }
-}
diff --git a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterServiceTest.java b/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterServiceTest.java
deleted file mode 100644
index c9e7180..0000000
--- a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbMeterServiceTest.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
-* Copyright 2017-present Open Networking Foundation
-*
-* 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;
-
-import io.grpc.BindableService;
-import io.grpc.ManagedChannel;
-import io.grpc.inprocess.InProcessChannelBuilder;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onosproject.core.ApplicationId;
-import org.onosproject.core.DefaultApplicationId;
-import org.onosproject.grpc.core.models.ApplicationIdProtoOuterClass;
-import org.onosproject.grpc.nb.net.meter.MeterServiceGrpc;
-import org.onosproject.grpc.nb.net.meter.MeterServiceNbProto;
-import org.onosproject.grpc.net.meter.models.BandProtoOuterClass;
-import org.onosproject.grpc.net.meter.models.MeterEnumsProto;
-import org.onosproject.grpc.net.meter.models.MeterProtoOuterClass;
-import org.onosproject.grpc.net.meter.models.MeterRequestProtoOuterClass;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.meter.Band;
-import org.onosproject.net.meter.DefaultBand;
-import org.onosproject.net.meter.Meter;
-import org.onosproject.net.meter.MeterCellId;
-import org.onosproject.net.meter.MeterId;
-import org.onosproject.net.meter.MeterListener;
-import org.onosproject.net.meter.MeterRequest;
-import org.onosproject.net.meter.MeterService;
-import org.onosproject.net.meter.MeterState;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import static org.junit.Assert.assertTrue;
-
-
-public class GrpcNbMeterServiceTest {
-
- private static InProcessServer<BindableService> inProcessServer;
- private static ManagedChannel channel;
- private static MeterServiceGrpc.MeterServiceBlockingStub blockingStub;
-
- private static final MeterService MOCK_METER = new MockMeterService();
-
- private static final DeviceId DEVICE_ID_1 = DeviceId.deviceId("d1");
- private static final DeviceId DEVICE_ID_2 = DeviceId.deviceId("d2");
- private static final DeviceId DEVICE_ID_3 = DeviceId.deviceId("d3");
-
- private static final long METER_ID_1 = 1L;
- private static final long METER_ID_2 = 2L;
- private static final long METER_ID_3 = 3L;
- private static final long METER_ID_4 = 4L;
-
- private static final Meter METER_1 = new MockMeter(DEVICE_ID_1, 1, METER_ID_1, 1);
- private static final Meter METER_2 = new MockMeter(DEVICE_ID_2, 1, METER_ID_2, 2);
- private static final Meter METER_3 = new MockMeter(DEVICE_ID_3, 1, METER_ID_3, 3);
- private static final Meter METER_4 = new MockMeter(DEVICE_ID_3, 1, METER_ID_4, 4);
-
- private static Set<Meter> allMeters = new HashSet<>();
-
- /**
- * Create inProcessServer and bind grpcNbMeterService.
- *
- * @throws IllegalAccessException
- * @throws IOException
- * @throws InstantiationException
- */
- @BeforeClass
- public static void setup() throws IllegalAccessException, IOException, InstantiationException {
-
- GrpcNbMeterService grpcNbMeterService = new GrpcNbMeterService();
- grpcNbMeterService.meterService = MOCK_METER;
- inProcessServer = new InProcessServer(GrpcNbMeterService.class);
- inProcessServer.addServiceToBind(grpcNbMeterService);
-
- inProcessServer.start();
- channel = InProcessChannelBuilder.forName("test").directExecutor()
- // Channels are secure by default (via SSL/TLS). For the example we disable TLS to avoid
- // needing certificates.
- .usePlaintext(true).build();
- blockingStub = MeterServiceGrpc.newBlockingStub(channel);
-
- allMeters.add(METER_2);
- allMeters.add(METER_3);
- allMeters.add(METER_4);
- }
-
- @AfterClass
- public static void down() {
- channel.shutdown();
-
- inProcessServer.stop();
- }
-
- @Test
- public void testSubmit() {
- MeterServiceNbProto.submitRequest request = MeterServiceNbProto.submitRequest.newBuilder()
- .setMeter(MeterRequestProtoOuterClass.MeterRequestProto.newBuilder()
- .setDeviceId(DEVICE_ID_1.toString())
- .setApplicationId(ApplicationIdProtoOuterClass.ApplicationIdProto.newBuilder()
- .setId(METER_1.appId().id())
- .build())
- .setUnit(MeterEnumsProto.MeterUnitProto.KB_PER_SEC)
- .setIsBurst(false)
- .addBands(BandProtoOuterClass.BandProto.getDefaultInstance())
- .setType(MeterEnumsProto.MeterRequestTypeProto.ADD)
- .build())
- .build();
- MeterServiceNbProto.submitReply reply;
-
- int size = allMeters.size();
- reply = blockingStub.submit(request);
- MeterProtoOuterClass.MeterProto meter = reply.getSubmitMeter();
- assertTrue(allMeters.size() == (size + 1)
- && meter.getDeviceId().equals(METER_1.deviceId().toString())
- && meter.getApplicationId().getId() == METER_1.appId().id());
-
- }
-
- @Test
- public void testWithdraw() {
- MeterServiceNbProto.withdrawRequest request = MeterServiceNbProto.withdrawRequest.newBuilder()
- .setMeter(MeterRequestProtoOuterClass.MeterRequestProto.newBuilder()
- .setDeviceId(DEVICE_ID_2.toString())
- .setApplicationId(ApplicationIdProtoOuterClass.ApplicationIdProto.newBuilder()
- .setId(1)
- .build())
- .setUnit(MeterEnumsProto.MeterUnitProto.KB_PER_SEC)
- .setIsBurst(false)
- .addBands(BandProtoOuterClass.BandProto.getDefaultInstance())
- .setType(MeterEnumsProto.MeterRequestTypeProto.REMOVE)
- .build())
- .setMeterId(METER_ID_2)
- .build();
- MeterServiceNbProto.withdrawReply reply;
-
- int size = allMeters.size();
- reply = blockingStub.withdraw(request);
- assertTrue(allMeters.size() == (size - 1));
- }
-
- @Test
- public void testGetMeter() {
- MeterServiceNbProto.getMeterRequest request = MeterServiceNbProto.getMeterRequest.newBuilder()
- .setDeviceId(DEVICE_ID_3.toString())
- .setMeterId(METER_ID_3)
- .build();
- MeterServiceNbProto.getMeterReply reply;
-
- reply = blockingStub.getMeter(request);
- MeterProtoOuterClass.MeterProto meter = reply.getMeter();
- assertTrue(meter.getApplicationId().getId() == METER_3.appId().id()
- && meter.getDeviceId().equals(DEVICE_ID_3.toString()));
- }
-
- @Test
- public void testGetAllMeters() {
- MeterServiceNbProto.getAllMetersRequest request = MeterServiceNbProto.getAllMetersRequest.getDefaultInstance();
- MeterServiceNbProto.getAllMetersReply reply;
-
- reply = blockingStub.getAllMeters(request);
- assertTrue(reply.getMetersCount() == allMeters.size());
-
- }
-
- @Test
- public void testGetMeters() {
- MeterServiceNbProto.getMetersRequest request = MeterServiceNbProto.getMetersRequest.newBuilder()
- .setDeviceId(DEVICE_ID_3.toString())
- .build();
- MeterServiceNbProto.getMetersReply reply;
-
- reply = blockingStub.getMeters(request);
- assertTrue(reply.getMetersCount() == 2);
- }
-
-
- /**
- * A mock class of meter.
- */
- private static class MockMeter implements Meter {
-
- final DeviceId deviceId;
- final ApplicationId appId;
- final MeterId meterId;
- final long baseValue;
- final List<Band> bandList;
-
- public MockMeter(DeviceId deviceId, int appId, long meterId, int id) {
- this.deviceId = deviceId;
- this.appId = new DefaultApplicationId(appId, String.valueOf(appId));
- this.baseValue = id * 200L;
- this.meterId = MeterId.meterId(meterId);
-
- Band band = DefaultBand.builder()
- .ofType(Band.Type.REMARK)
- .withRate(10)
- .dropPrecedence((short) 20)
- .burstSize(30).build();
-
- this.bandList = new ArrayList<>();
- this.bandList.add(band);
- }
-
- @Override
- public DeviceId deviceId() {
- return this.deviceId;
- }
-
- @Override
- public MeterId id() {
- return this.meterId;
- }
-
- @Override
- public MeterCellId meterCellId() {
- return this.id();
- }
-
- @Override
- public ApplicationId appId() {
- return this.appId;
- }
-
- @Override
- public Unit unit() {
- return Unit.KB_PER_SEC;
- }
-
- @Override
- public boolean isBurst() {
- return false;
- }
-
- @Override
- public Collection<Band> bands() {
- return this.bandList;
- }
-
- @Override
- public MeterState state() {
- return MeterState.ADDED;
- }
-
- @Override
- public long life() {
- return baseValue + 11;
- }
-
- @Override
- public long referenceCount() {
- return baseValue + 22;
- }
-
- @Override
- public long packetsSeen() {
- return baseValue + 33;
- }
-
- @Override
- public long bytesSeen() {
- return baseValue + 44;
- }
- }
-
- /**
- * A mock class of MeterService.
- */
- public static class MockMeterService implements MeterService {
- @Override
- public void addListener(MeterListener listener) {
- }
-
- @Override
- public void removeListener(MeterListener listener) {
- }
-
- @Override
- public Meter submit(MeterRequest meter) {
- Meter m = new MockMeter(meter.deviceId(), meter.appId().id(), METER_ID_1, 1);
- allMeters.add(m);
- return m;
- }
-
- @Override
- public void withdraw(MeterRequest meter, MeterId meterId) {
- Meter toRemove = null;
- for (Meter m: allMeters) {
- if (meter.appId().id() == m.appId().id() && meter.deviceId().equals(m.deviceId())
- && m.id().equals(meterId)) {
- toRemove = m;
- break;
- }
- }
- if (null != toRemove) {
- allMeters.remove(toRemove);
- }
- }
-
- @Override
- public Meter getMeter(DeviceId deviceId, MeterId id) {
- for (Meter m: allMeters) {
- if (deviceId.equals(m.deviceId()) && m.id().equals(id)) {
- return m;
- }
- }
- return null;
- }
-
- @Override
- public Collection<Meter> getAllMeters() {
- return allMeters;
- }
-
- @Override
- public Collection<Meter> getMeters(DeviceId deviceId) {
- List<Meter> meters = new ArrayList<>();
- for (Meter m: allMeters) {
- if (deviceId.equals(m.deviceId())) {
- meters.add(m);
- }
- }
- return meters;
- }
-
- @Override
- public MeterId allocateMeterId(DeviceId deviceId) {
- return null;
- }
-
- @Override
- public void freeMeterId(DeviceId deviceId, MeterId meterId) {
-
- }
- }
-
-}
diff --git a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbRegionServiceTest.java b/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbRegionServiceTest.java
deleted file mode 100644
index 7e03dce..0000000
--- a/graveyard/protobuf-dead/services/nb/src/test/java/org/onosproject/incubator/protobuf/services/nb/GrpcNbRegionServiceTest.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
-* Copyright 2017-present Open Networking Foundation
-*
-* 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;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import io.grpc.BindableService;
-import io.grpc.ManagedChannel;
-import io.grpc.inprocess.InProcessChannelBuilder;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.onosproject.cluster.NodeId;
-import org.onosproject.grpc.nb.net.region.RegionServiceGrpc;
-import org.onosproject.grpc.nb.net.region.RegionServiceGrpc.RegionServiceBlockingStub;
-import org.onosproject.grpc.nb.net.region.RegionServiceNb;
-import org.onosproject.grpc.net.models.RegionProtoOuterClass;
-import org.onosproject.incubator.protobuf.models.net.RegionProtoTranslator;
-import org.onosproject.net.DefaultAnnotations;
-import org.onosproject.net.DefaultDevice;
-import org.onosproject.net.Device;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.HostId;
-import org.onosproject.net.provider.ProviderId;
-import org.onosproject.net.region.DefaultRegion;
-import org.onosproject.net.region.Region;
-import org.onosproject.net.region.RegionId;
-import org.onosproject.net.region.RegionListener;
-import org.onosproject.net.region.RegionService;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import static org.junit.Assert.assertTrue;
-import static org.onosproject.cluster.NodeId.nodeId;
-import static org.onosproject.net.DeviceId.deviceId;
-import static org.onosproject.net.HostId.hostId;
-
-public class GrpcNbRegionServiceTest {
-
- private static InProcessServer<BindableService> inprocessServer;
- private static RegionServiceBlockingStub blockingStub;
- private static ManagedChannel channel;
-
- private static final String C1 = "C1";
- private static final String C2 = "C2";
- private static final String C3 = "C3";
-
- private static final NodeId CNID_1 = nodeId(C1);
- private static final NodeId CNID_2 = nodeId(C2);
- private static final NodeId CNID_3 = nodeId(C3);
-
- private static final String R1 = "R1";
- private static final String R2 = "R2";
- private static final String R3 = "R3";
-
- private static final Set<NodeId> SET_C1 = ImmutableSet.of(CNID_1);
- private static final Set<NodeId> SET_C2 = ImmutableSet.of(CNID_2);
- private static final Set<NodeId> SET_C3 = ImmutableSet.of(CNID_3);
-
- private static final Region REGION_1 =
- region(R1, Region.Type.METRO, ImmutableList.of(SET_C1, SET_C2));
- private static final Region REGION_2 =
- region(R2, Region.Type.CAMPUS, ImmutableList.of(SET_C2, SET_C1));
- private static final Region REGION_3 =
- region(R3, Region.Type.CAMPUS, ImmutableList.of(SET_C3, SET_C1));
-
- private static final Set<Region> REGION_SET =
- ImmutableSet.of(REGION_1, REGION_2, REGION_3);
-
- private static final String D1 = "d1";
- private static final String D2 = "d2";
- private static final String D3 = "d3";
- private static final String D4 = "d4";
- private static final String D5 = "d5";
- private static final String D6 = "d6";
- private static final String D7 = "d7";
- private static final String D8 = "d8";
- private static final String D9 = "d9";
-
- private static final String MFR = "Mfr";
- private static final String HW = "h/w";
- private static final String SW = "s/w";
- private static final String SERIAL = "ser123";
-
- private static final DeviceId DEVID_1 = deviceId(D1);
- private static final DeviceId DEVID_2 = deviceId(D2);
- private static final DeviceId DEVID_3 = deviceId(D3);
- private static final DeviceId DEVID_4 = deviceId(D4);
- private static final DeviceId DEVID_5 = deviceId(D5);
- private static final DeviceId DEVID_6 = deviceId(D6);
- private static final DeviceId DEVID_7 = deviceId(D7);
- private static final DeviceId DEVID_8 = deviceId(D8);
- private static final DeviceId DEVID_9 = deviceId(D9);
-
- private static final Set<DeviceId> DEVS_TRUNK =
- ImmutableSet.of(DEVID_1, DEVID_2, DEVID_3);
-
- private static final Set<DeviceId> DEVS_LEFT =
- ImmutableSet.of(DEVID_4, DEVID_5, DEVID_6);
-
- private static final Set<DeviceId> DEVS_RIGHT =
- ImmutableSet.of(DEVID_7, DEVID_8, DEVID_9);
-
- private static final String[][] HOST_DATA = {
- {"AA:00:00:00:00:1A/None", R1},
- {"AA:00:00:00:00:1B/None", R1},
- {"AA:00:00:00:00:2A/None", R1},
- {"AA:00:00:00:00:2B/None", R1},
- {"AA:00:00:00:00:3A/None", R1},
- {"AA:00:00:00:00:3B/None", R1},
- {"AA:00:00:00:00:4A/None", R2},
- {"AA:00:00:00:00:4B/None", R2},
- {"AA:00:00:00:00:5A/None", R2},
- {"AA:00:00:00:00:5B/None", R2},
- {"AA:00:00:00:00:6A/None", R2},
- {"AA:00:00:00:00:6B/None", R2},
- {"AA:00:00:00:00:7A/None", R3},
- {"AA:00:00:00:00:7B/None", R3},
- {"AA:00:00:00:00:8A/None", R3},
- {"AA:00:00:00:00:8B/None", R3},
- {"AA:00:00:00:00:9A/None", R3},
- {"AA:00:00:00:00:9B/None", R3},
- };
-
- private static final Map<HostId, RegionId> HOSTS = new HashMap<>();
- private static final RegionService MOCK_REGION = new MockRegionService();
-
- /**
- * Returns device with given ID.
- *
- * @param id device ID
- * @return device instance
- */
- protected static Device device(String id) {
- return new DefaultDevice(ProviderId.NONE, deviceId(id),
- Device.Type.SWITCH, MFR, HW, SW, SERIAL, null);
- }
-
- /**
- * Returns a region instance with specified parameters.
- *
- * @param id region id
- * @param type region type
- * @param masters ordered list of master sets
- * @return region instance
- */
- private static Region region(String id, Region.Type type,
- List<Set<NodeId>> masters) {
- return new DefaultRegion(RegionId.regionId(id), "Region-" + id,
- type, DefaultAnnotations.EMPTY, masters);
- }
-
- /**
- * Creates a map of hostIds corresponding to their regionIds.
- *
- */
- private static void populateHosts() {
- for (String[] row : HOST_DATA) {
- HOSTS.put(hostId(row[0]), RegionId.regionId(row[1]));
- }
- }
-
- public GrpcNbRegionServiceTest() {
- }
-
- @Test
- public void testGetRegion() throws InterruptedException {
-
- RegionServiceNb.getRegionRequest request = RegionServiceNb.getRegionRequest.newBuilder()
- .setRegionId(R1).build();
- RegionServiceNb.getRegionReply response;
-
- try {
- response = blockingStub.getRegion(request);
- Region actualRegion = RegionProtoTranslator.translate(response.getRegion());
- assertTrue(REGION_1.equals(actualRegion));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetRegions() throws InterruptedException {
-
- RegionServiceNb.getRegionsRequest request = RegionServiceNb.getRegionsRequest.newBuilder()
- .build();
- RegionServiceNb.getRegionsReply response;
-
- try {
- response = blockingStub.getRegions(request);
- Set<Region> actualRegions = new HashSet<Region>();
- for (RegionProtoOuterClass.RegionProto region : response.getRegionList()) {
- actualRegions.add(RegionProtoTranslator.translate(region));
- }
- assertTrue(REGION_SET.equals(actualRegions));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetRegionForDevice() throws InterruptedException {
-
- RegionServiceNb.getRegionForDeviceRequest request = RegionServiceNb.getRegionForDeviceRequest.newBuilder()
- .setDeviceId(D1).build();
- RegionServiceNb.getRegionForDeviceReply response;
-
- try {
- response = blockingStub.getRegionForDevice(request);
- Region actualRegion = RegionProtoTranslator.translate(response.getRegion());
- assertTrue(REGION_1.equals(actualRegion));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetRegionDevices() throws InterruptedException {
-
- RegionServiceNb.getRegionDevicesRequest request = RegionServiceNb.getRegionDevicesRequest.newBuilder()
- .setRegionId(R1).build();
- RegionServiceNb.getRegionDevicesReply response;
-
- try {
- response = blockingStub.getRegionDevices(request);
- Set<DeviceId> actualDevices = new HashSet<DeviceId>();
- for (String deviceId : response.getDeviceIdList()) {
- actualDevices.add(DeviceId.deviceId(deviceId));
- }
- assertTrue(DEVS_TRUNK.equals(actualDevices));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testGetRegionHosts() throws InterruptedException {
- RegionServiceNb.getRegionHostsRequest request = RegionServiceNb.getRegionHostsRequest.newBuilder()
- .setRegionId(R1).build();
- RegionServiceNb.getRegionHostsReply response;
-
- Set<HostId> expectedHosts = new HashSet<HostId>();
-
- expectedHosts.add(HostId.hostId(HOST_DATA[0][0]));
- expectedHosts.add(HostId.hostId(HOST_DATA[1][0]));
- expectedHosts.add(HostId.hostId(HOST_DATA[2][0]));
- expectedHosts.add(HostId.hostId(HOST_DATA[3][0]));
- expectedHosts.add(HostId.hostId(HOST_DATA[4][0]));
- expectedHosts.add(HostId.hostId(HOST_DATA[5][0]));
-
- Set<HostId> actualHosts = new HashSet<HostId>();
-
- try {
- response = blockingStub.getRegionHosts(request);
- for (String hostId : response.getHostIdList()) {
- actualHosts.add(HostId.hostId(hostId));
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- assertTrue(expectedHosts.equals(actualHosts));
- }
-
- @BeforeClass
- public static void beforeClass() throws InstantiationException, IllegalAccessException, IOException {
- GrpcNbRegionService regionService = new GrpcNbRegionService();
- regionService.regionService = MOCK_REGION;
- inprocessServer = regionService.registerInProcessServer();
- inprocessServer.start();
-
- channel = InProcessChannelBuilder.forName("test").directExecutor()
- // Channels are secure by default (via SSL/TLS). For the example we disable TLS to avoid
- // needing certificates.
- .usePlaintext(true).build();
- blockingStub = RegionServiceGrpc.newBlockingStub(channel);
- populateHosts();
- }
-
- @AfterClass
- public static void afterClass() {
- channel.shutdownNow();
-
- inprocessServer.stop();
- }
-
- private static class MockRegionService implements RegionService {
-
- private final Map<RegionId, Region> lookup = new HashMap<>();
-
- MockRegionService() {
- lookup.put(REGION_1.id(), REGION_1);
- lookup.put(REGION_2.id(), REGION_2);
- lookup.put(REGION_3.id(), REGION_3);
- }
-
- @Override
- public Set<Region> getRegions() {
- return REGION_SET;
- }
-
- @Override
- public Region getRegion(RegionId regionId) {
- return lookup.get(regionId);
- }
-
- @Override
- public Region getRegionForDevice(DeviceId deviceId) {
- if (DEVS_TRUNK.contains(deviceId)) {
- return REGION_1;
- }
- if (DEVS_LEFT.contains(deviceId)) {
- return REGION_2;
- }
- if (DEVS_RIGHT.contains(deviceId)) {
- return REGION_3;
- }
- return null;
- }
-
- @Override
- public Set<DeviceId> getRegionDevices(RegionId regionId) {
- if (REGION_1.id().equals(regionId)) {
- return DEVS_TRUNK;
- }
- if (REGION_2.id().equals(regionId)) {
- return DEVS_LEFT;
- }
- if (REGION_3.id().equals(regionId)) {
- return DEVS_RIGHT;
- }
- return Collections.emptySet();
- }
-
- @Override
- public Set<HostId> getRegionHosts(RegionId regionId) {
- Set<HostId> hosts = new HashSet<HostId>();
- for (HostId hostId : HOSTS.keySet()) {
- if (HOSTS.get(hostId).equals(regionId)) {
- hosts.add(hostId);
- }
- }
- return hosts;
- }
-
- @Override
- public void addListener(RegionListener listener) {
-
- }
-
- @Override
- public void removeListener(RegionListener listener) {
-
- }
- }
-}
\ No newline at end of file
diff --git a/graveyard/protobuf-dead/src/main/java/org/onosproject/incubator/protobuf/net/package-info.java b/graveyard/protobuf-dead/src/main/java/org/onosproject/incubator/protobuf/net/package-info.java
deleted file mode 100644
index f193ee8..0000000
--- a/graveyard/protobuf-dead/src/main/java/org/onosproject/incubator/protobuf/net/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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.
- */
-
-/**
- * A package contains gRPC service registry implementations.
- */
-package org.onosproject.incubator.protobuf.net;
\ No newline at end of file
diff --git a/graveyard/protobuf-nb/src/main/proto/MulticastRouteService.proto b/graveyard/protobuf-nb/src/main/proto/MulticastRouteService.proto
deleted file mode 100644
index f74048a..0000000
--- a/graveyard/protobuf-nb/src/main/proto/MulticastRouteService.proto
+++ /dev/null
@@ -1,51 +0,0 @@
-syntax = "proto3";
-option java_package = "org.onosproject.grpc.net.mcast";
-
-package Multicast;
-
-// TODO move model objects to common protobuf package
-
-message ConnectPoint {
- string deviceId = 1;
- uint64 portNumber = 2;
-}
-
-enum MulticastRouteType {
- PIM = 0;
- IGMP = 1;
- STATIC = 2;
-}
-
-enum MulticastOperationResult {
- SUCCESS = 0;
- FAIL = 1;
-}
-
-enum MulticastOperation {
- ADD_ROUTE = 0;
- ADD_SOURCE = 1;
- ADD_SINK = 2;
- REMOVE_ROUTE = 3;
- REMOVE_SOURCE = 4;
- REMOVE_SINK = 5;
-}
-
-message MulticastRoute {
- fixed32 source = 1; // TODO assumes ipv4
- fixed32 group = 2;
- MulticastRouteType type = 3;
-}
-
-message MulticastReply {
- MulticastOperationResult result = 1;
-}
-
-message MulticastRequest {
- MulticastOperation operation = 1;
- MulticastRoute route = 2;
- ConnectPoint connectPoint = 3;
-}
-
-service MulticastRouteService {
- rpc operation(stream MulticastRequest) returns (stream MulticastReply) {}
-}
diff --git a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/DeviceProviderRegistryClientProxy.java b/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/DeviceProviderRegistryClientProxy.java
deleted file mode 100644
index 59b780f..0000000
--- a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/DeviceProviderRegistryClientProxy.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.grpc;
-
-import java.util.Map;
-
-import org.onosproject.net.device.DeviceProvider;
-import org.onosproject.net.device.DeviceProviderRegistry;
-import org.onosproject.net.device.DeviceProviderService;
-import org.onosproject.net.provider.AbstractProviderRegistry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.collect.Maps;
-
-import io.grpc.Channel;
-import io.grpc.ManagedChannel;
-
-// gRPC Client side
-/**
- * Proxy object to handle DeviceProviderRegistry calls.
- *
- * RPC wise, this will start/stop bidirectional streaming service sessions.
- */
-final class DeviceProviderRegistryClientProxy
- extends AbstractProviderRegistry<DeviceProvider, DeviceProviderService>
- implements DeviceProviderRegistry {
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private final Channel channel;
-
- private final Map<DeviceProvider, DeviceProviderServiceClientProxy> pServices;
-
- DeviceProviderRegistryClientProxy(ManagedChannel channel) {
- this.channel = channel;
- pServices = Maps.newIdentityHashMap();
- }
-
- @Override
- protected synchronized DeviceProviderService createProviderService(DeviceProvider provider) {
-
- // Create session
- DeviceProviderServiceClientProxy pService = new DeviceProviderServiceClientProxy(provider, channel);
- log.debug("Created DeviceProviderServiceClientProxy {}", pService);
-
- DeviceProviderServiceClientProxy old = pServices.put(provider, pService);
- if (old != null) {
- // sanity check, can go away
- log.warn("Duplicate registration detected for {}", provider.id());
- }
- return pService;
- }
-
- @Override
- public synchronized void unregister(DeviceProvider provider) {
- DeviceProviderServiceClientProxy pService = pServices.remove(provider);
- log.debug("Unregistering DeviceProviderServiceClientProxy {}", pService);
- super.unregister(provider);
- if (pService != null) {
- pService.shutdown();
- }
- }
-}
diff --git a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/DeviceProviderServiceClientProxy.java b/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/DeviceProviderServiceClientProxy.java
deleted file mode 100644
index 5438c67..0000000
--- a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/DeviceProviderServiceClientProxy.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.grpc;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static java.util.stream.Collectors.toList;
-import static org.onosproject.net.DeviceId.deviceId;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.onosproject.grpc.net.device.DeviceProviderRegistryRpcGrpc;
-import org.onosproject.grpc.net.device.DeviceProviderRegistryRpcGrpc.DeviceProviderRegistryRpcStub;
-import org.onosproject.grpc.net.device.DeviceService.DeviceProviderMsg;
-import org.onosproject.grpc.net.device.DeviceService.DeviceProviderServiceMsg;
-import org.onosproject.grpc.net.device.DeviceService.IsReachableRequest;
-import org.onosproject.grpc.net.device.DeviceService.RoleChanged;
-import org.onosproject.grpc.net.device.DeviceService.TriggerProbe;
-import org.onosproject.grpc.net.device.models.PortDescriptionProtoOuterClass.PortDescriptionProto;
-import org.onosproject.grpc.net.device.models.PortStatisticsProtoOuterClass.PortStatisticsProto;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.MastershipRole;
-import org.onosproject.net.device.DeviceDescription;
-import org.onosproject.net.device.DeviceProvider;
-import org.onosproject.net.device.DeviceProviderService;
-import org.onosproject.net.device.PortDescription;
-import org.onosproject.net.device.PortStatistics;
-import org.onosproject.net.provider.AbstractProviderService;
-import org.onosproject.incubator.protobuf.models.net.device.DeviceProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.device.PortProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.MastershipRoleProtoTranslator;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-import io.grpc.Channel;
-import io.grpc.stub.StreamObserver;
-
-// gRPC Client side
-// gRPC wise, this object represents bidirectional streaming service session
-// and deals with outgoing message stream
-/**
- * DeviceProviderService instance associated with given DeviceProvider.
- */
-final class DeviceProviderServiceClientProxy
- extends AbstractProviderService<DeviceProvider>
- implements DeviceProviderService {
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private final StreamObserver<DeviceProviderServiceMsg> devProvService;
- private final AtomicBoolean hasShutdown = new AtomicBoolean(false);
-
- private final Channel channel;
-
- private Throwable error;
-
- DeviceProviderServiceClientProxy(DeviceProvider provider, Channel channel) {
- super(provider);
- this.channel = channel;
-
- DeviceProviderRegistryRpcStub stub = DeviceProviderRegistryRpcGrpc.newStub(channel);
- log.debug("Calling RPC register({}) against {}", provider.id(), channel.authority());
- devProvService = stub.register(new DeviceProviderClientProxy(provider));
-
- // send initialize message
- DeviceProviderServiceMsg.Builder builder = DeviceProviderServiceMsg.newBuilder();
- builder.setRegisterProvider(builder.getRegisterProviderBuilder()
- .setProviderScheme(provider.id().scheme())
- .build());
- devProvService.onNext(builder.build());
- }
-
- @Override
- public void deviceConnected(DeviceId deviceId,
- DeviceDescription deviceDescription) {
- checkValidity();
-
- DeviceProviderServiceMsg.Builder builder = DeviceProviderServiceMsg.newBuilder();
- builder.setDeviceConnected(builder.getDeviceConnectedBuilder()
- .setDeviceId(deviceId.toString())
- .setDeviceDescription(DeviceProtoTranslator.translate(deviceDescription))
- .build());
-
- devProvService.onNext(builder.build());
- }
-
- @Override
- public void deviceDisconnected(DeviceId deviceId) {
- checkValidity();
-
- DeviceProviderServiceMsg.Builder builder = DeviceProviderServiceMsg.newBuilder();
- builder.setDeviceDisconnected(builder.getDeviceDisconnectedBuilder()
- .setDeviceId(deviceId.toString())
- .build());
-
- devProvService.onNext(builder.build());
- }
-
- @Override
- public void updatePorts(DeviceId deviceId,
- List<PortDescription> portDescriptions) {
- checkValidity();
-
- DeviceProviderServiceMsg.Builder builder = DeviceProviderServiceMsg.newBuilder();
- List<PortDescriptionProto> portDescs =
- portDescriptions.stream()
- .map(PortProtoTranslator::translate)
- .collect(toList());
-
- builder.setUpdatePorts(builder.getUpdatePortsBuilder()
- .setDeviceId(deviceId.toString())
- .addAllPortDescriptions(portDescs)
- .build());
-
- devProvService.onNext(builder.build());
- }
-
- @Override
- public void deletePort(DeviceId deviceId, PortDescription portDescription) {
-
- }
-
- @Override
- public void portStatusChanged(DeviceId deviceId,
- PortDescription portDescription) {
- checkValidity();
-
- DeviceProviderServiceMsg.Builder builder = DeviceProviderServiceMsg.newBuilder();
- builder.setPortStatusChanged(builder.getPortStatusChangedBuilder()
- .setDeviceId(deviceId.toString())
- .setPortDescription(PortProtoTranslator.translate(portDescription))
- .build());
-
- devProvService.onNext(builder.build());
- }
-
- @Override
- public void receivedRoleReply(DeviceId deviceId, MastershipRole requested,
- MastershipRole response) {
- checkValidity();
-
- DeviceProviderServiceMsg.Builder builder = DeviceProviderServiceMsg.newBuilder();
- builder.setReceivedRoleReply(builder.getReceivedRoleReplyBuilder()
- .setDeviceId(deviceId.toString())
- .setRequested(MastershipRoleProtoTranslator.translate(requested))
- .setResponse(MastershipRoleProtoTranslator.translate(response))
- .build());
-
- devProvService.onNext(builder.build());
- }
-
- @Override
- public void updatePortStatistics(DeviceId deviceId,
- Collection<PortStatistics> portStatistics) {
- checkValidity();
-
- DeviceProviderServiceMsg.Builder builder = DeviceProviderServiceMsg.newBuilder();
- List<PortStatisticsProto> portStats =
- portStatistics.stream()
- .map(PortProtoTranslator::translate)
- .collect(toList());
- builder.setUpdatePortStatistics(builder.getUpdatePortStatisticsBuilder()
- .setDeviceId(deviceId.toString())
- .addAllPortStatistics(portStats)
- .build());
-
- devProvService.onNext(builder.build());
- }
-
- /**
- * Shutdown this session.
- */
- public void shutdown() {
- if (hasShutdown.compareAndSet(false, true)) {
- log.info("Shutting down session over {}", channel.authority());
- // initiate clean shutdown from client
- devProvService.onCompleted();
- invalidate();
- }
- }
-
- /**
- * Abnormally terminate this session.
- * @param t error details
- */
- public void shutdown(Throwable t) {
- if (hasShutdown.compareAndSet(false, true)) {
- log.error("Shutting down session over {}", channel.authority());
- // initiate abnormal termination from client
- devProvService.onError(t);
- invalidate(t);
- }
- }
-
- /**
- * Invalidates the ProviderService indicating Failure.
- * @param t {@link Throwable} describing last failure
- */
- private void invalidate(Throwable t) {
- this.error = t;
- invalidate();
- }
-
- @Override
- public void checkValidity() {
- if (error != null) {
- throw new IllegalStateException("DeviceProviderService no longer valid",
- error);
- }
- super.checkValidity();
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(this)
- .add("channel", channel.authority())
- .add("hasShutdown", hasShutdown.get())
- .toString();
- }
-
- // gRPC wise, this object handles incoming message stream
- /**
- * Translates DeviceProvider instructions received from RPC to Java calls.
- */
- private final class DeviceProviderClientProxy
- implements StreamObserver<DeviceProviderMsg> {
-
- private final DeviceProvider provider;
-
- DeviceProviderClientProxy(DeviceProvider provider) {
- this.provider = checkNotNull(provider);
- }
-
- @Override
- public void onNext(DeviceProviderMsg msg) {
- try {
- log.trace("DeviceProviderClientProxy received: {}", msg);
- onMethod(msg);
- } catch (Exception e) {
- log.error("Exception caught handling {} at DeviceProviderClientProxy", msg, e);
- // initiate shutdown from client
- shutdown(e);
- }
- }
-
- /**
- * Translates received RPC message to {@link DeviceProvider} method calls.
- * @param msg DeviceProvider message
- */
- private void onMethod(DeviceProviderMsg msg) {
- switch (msg.getMethodCase()) {
- case TRIGGER_PROBE:
- TriggerProbe triggerProbe = msg.getTriggerProbe();
- provider.triggerProbe(deviceId(triggerProbe.getDeviceId()));
- break;
- case ROLE_CHANGED:
- RoleChanged roleChanged = msg.getRoleChanged();
- provider.roleChanged(deviceId(roleChanged.getDeviceId()),
- (MastershipRole) MastershipRoleProtoTranslator.translate(roleChanged.getNewRole()).get());
- break;
- case IS_REACHABLE_REQUEST:
- IsReachableRequest isReachableRequest = msg.getIsReachableRequest();
- // check if reachable
- boolean reachable = provider.isReachable(deviceId(isReachableRequest.getDeviceId()));
-
- int xid = isReachableRequest.getXid();
- // send response back DeviceProviderService channel
- DeviceProviderServiceMsg.Builder builder = DeviceProviderServiceMsg.newBuilder();
- builder.setIsReachableResponse(builder.getIsReachableResponseBuilder()
- .setXid(xid)
- .setIsReachable(reachable)
- .build());
- devProvService.onNext(builder.build());
- break;
-
- case METHOD_NOT_SET:
- default:
- log.warn("Unexpected method, ignoring", msg);
- break;
- }
- }
-
- @Override
- public void onCompleted() {
- log.info("DeviceProviderClientProxy completed");
- // session terminated from remote
- invalidate();
- }
-
- @Override
- public void onError(Throwable t) {
- log.error("DeviceProviderClientProxy#onError", t);
- // session terminated from remote
- invalidate(t);
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(this)
- .add("channel", channel.authority())
- .toString();
- }
- }
-}
-
diff --git a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceContext.java b/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceContext.java
deleted file mode 100644
index 44674e3..0000000
--- a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceContext.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.grpc;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.onosproject.incubator.rpc.RemoteServiceContext;
-import org.onosproject.net.device.DeviceProviderRegistry;
-import org.onosproject.net.link.LinkProviderRegistry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.MoreObjects;
-
-import io.grpc.ManagedChannel;
-
-// gRPC Client side
-// Probably there should be plug-in mechanism in the future.
-/**
- * RemoteServiceContext based on gRPC.
- *
- * <p>
- * Currently it supports {@link DeviceProviderRegistry}.
- */
-public class GrpcRemoteServiceContext implements RemoteServiceContext {
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private final Map<Class<? extends Object>, Object> services = new ConcurrentHashMap<>();
-
- private final ManagedChannel channel;
-
- public GrpcRemoteServiceContext(ManagedChannel channel) {
- this.channel = checkNotNull(channel);
- services.put(DeviceProviderRegistry.class, new DeviceProviderRegistryClientProxy(channel));
- services.put(LinkProviderRegistry.class, new LinkProviderRegistryClientProxy(channel));
- }
-
-
- @Override
- public <T> T get(Class<T> serviceClass) {
- @SuppressWarnings("unchecked")
- T service = (T) services.get(serviceClass);
- if (service != null) {
- return service;
- }
- log.error("{} not supported", serviceClass);
- throw new NoSuchElementException(serviceClass.getTypeName() + " not supported");
- }
-
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(this)
- .add("services", services.keySet())
- .add("channel", channel.authority())
- .toString();
- }
-
-}
diff --git a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java b/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java
deleted file mode 100644
index e3f0892..0000000
--- a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceProvider.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.grpc;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Objects;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onosproject.incubator.rpc.RemoteServiceContext;
-import org.onosproject.incubator.rpc.RemoteServiceContextProvider;
-import org.onosproject.incubator.rpc.RemoteServiceContextProviderService;
-import org.onosproject.incubator.rpc.RemoteServiceProviderRegistry;
-import org.onosproject.net.provider.ProviderId;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import io.grpc.ManagedChannel;
-import io.grpc.internal.DnsNameResolverProvider;
-import io.grpc.netty.NegotiationType;
-import io.grpc.netty.NettyChannelBuilder;
-
-
-// gRPC Client side
-/**
- * RemoteServiceContextProvider based on gRPC.
- */
-@Component(immediate = true)
-public class GrpcRemoteServiceProvider implements RemoteServiceContextProvider {
-
- public static final String GRPC_SCHEME = "grpc";
-
- public static final String RPC_PROVIDER_NAME = "org.onosproject.rpc.provider.grpc";
-
- private static final ProviderId PID = new ProviderId(GRPC_SCHEME, RPC_PROVIDER_NAME);
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected RemoteServiceProviderRegistry rpcRegistry;
-
- private final Map<URI, ManagedChannel> channels = new ConcurrentHashMap<>();
-
- private RemoteServiceContextProviderService providerService;
-
- @Activate
- protected void activate() {
- providerService = rpcRegistry.register(this);
-
- // Uncomment to test if gRPC can be loaded in karaf
- //getChannel(URI.create("grpc://localhost:11984"));
-
- log.info("Started");
- }
-
- @Deactivate
- protected void deactivate() {
- rpcRegistry.unregister(this);
-
- // shutdown all channels
- channels.values().forEach(ManagedChannel::shutdown);
- // Should we wait for shutdown? How?
- channels.clear();
- log.info("Stopped");
- }
-
- @Override
- public ProviderId id() {
- return PID;
- }
-
- @Override
- public RemoteServiceContext get(URI uri) {
- // Create gRPC client
- return new GrpcRemoteServiceContext(getChannel(uri));
- }
-
- private ManagedChannel getChannel(URI uri) {
- checkArgument(Objects.equals(GRPC_SCHEME, uri.getScheme()),
- "Invalid URI scheme: %s", uri.getScheme());
-
- return channels.compute(uri, (u, ch) -> {
- if (ch != null && !ch.isShutdown()) {
- return ch;
- } else {
- return createChannel(u);
- }
- });
- }
-
- private ManagedChannel createChannel(URI uri) {
- log.debug("Creating channel for {}", uri);
- int port = GrpcRemoteServiceServer.DEFAULT_LISTEN_PORT;
- if (uri.getPort() != -1) {
- port = uri.getPort();
- }
- 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/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java b/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java
deleted file mode 100644
index 2bf2081..0000000
--- a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceServer.java
+++ /dev/null
@@ -1,501 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.grpc;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static java.util.concurrent.Executors.newScheduledThreadPool;
-import static java.util.stream.Collectors.toList;
-import org.onosproject.incubator.protobuf.models.net.device.DeviceProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.device.PortProtoTranslator;
-import org.onosproject.incubator.protobuf.models.net.MastershipRoleProtoTranslator;
-import static org.onosproject.net.DeviceId.deviceId;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Modified;
-import org.osgi.service.component.annotations.Property;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onlab.util.Tools;
-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;
-import org.onosproject.grpc.net.device.DeviceService.DeviceProviderServiceMsg;
-import org.onosproject.grpc.net.device.DeviceService.IsReachableResponse;
-import org.onosproject.grpc.net.device.DeviceService.PortStatusChanged;
-import org.onosproject.grpc.net.device.DeviceService.ReceivedRoleReply;
-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.net.DeviceId;
-import org.onosproject.net.MastershipRole;
-import org.onosproject.net.PortNumber;
-import org.onosproject.net.device.DeviceProvider;
-import org.onosproject.net.device.DeviceProviderRegistry;
-import org.onosproject.net.device.DeviceProviderService;
-import org.onosproject.net.link.LinkProvider;
-import org.onosproject.net.link.LinkProviderRegistry;
-import org.onosproject.net.link.LinkProviderService;
-import org.onosproject.net.provider.ProviderId;
-import org.osgi.service.component.ComponentContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-
-import io.grpc.Server;
-import io.grpc.netty.NettyServerBuilder;
-import io.grpc.stub.StreamObserver;
-
-// gRPC Server on Metro-side
-// Translates request received on RPC channel, and calls corresponding Service on
-// Metro-ONOS cluster.
-
-// Currently supports DeviceProviderRegistry, LinkProviderService
-/**
- * Server side implementation of gRPC based RemoteService.
- */
-@Component(immediate = true)
-public class GrpcRemoteServiceServer {
-
- static final String RPC_PROVIDER_NAME = "org.onosproject.rpc.provider.grpc";
-
- // TODO pick a number
- public static final int DEFAULT_LISTEN_PORT = 11984;
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected DeviceProviderRegistry deviceProviderRegistry;
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected LinkProviderRegistry linkProviderRegistry;
-
- /** Port to listen on */
- protected int listenPort = DEFAULT_LISTEN_PORT;
-
- private Server server;
- private final Set<DeviceProviderServerProxy> registeredProviders = Sets.newConcurrentHashSet();
-
- // scheme -> ...
- // updates must be guarded by synchronizing `this`
- private final Map<String, LinkProviderService> linkProviderServices = Maps.newConcurrentMap();
- private final Map<String, LinkProvider> linkProviders = Maps.newConcurrentMap();
-
- private ScheduledExecutorService executor;
-
- @Activate
- protected void activate(ComponentContext context) throws IOException {
- executor = newScheduledThreadPool(1, Tools.groupedThreads("grpc", "%d", log));
- modified(context);
-
- log.debug("Server starting on {}", listenPort);
- try {
- server = NettyServerBuilder.forPort(listenPort)
- .addService(new DeviceProviderRegistryServerProxy())
- .addService(new LinkProviderServiceServerProxy(this))
- .build().start();
- } catch (IOException e) {
- log.error("Failed to start gRPC server", e);
- throw e;
- }
-
- log.info("Started on {}", listenPort);
- }
-
- @Deactivate
- protected void deactivate() {
- executor.shutdown();
- try {
- executor.awaitTermination(5, TimeUnit.SECONDS);
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- }
-
- registeredProviders.forEach(deviceProviderRegistry::unregister);
-
- server.shutdown();
- // Should we wait for shutdown?
-
- unregisterLinkProviders();
-
- log.info("Stopped");
- }
-
- @Modified
- public void modified(ComponentContext context) {
- // TODO support dynamic reconfiguration and restarting server?
- }
-
- /**
- * Registers {@link StubLinkProvider} for given ProviderId scheme.
- *
- * DO NOT DIRECTLY CALL THIS METHOD.
- * Only expected to be called from {@link #getLinkProviderServiceFor(String)}.
- *
- * @param scheme ProviderId scheme.
- * @return {@link LinkProviderService} registered.
- */
- private synchronized LinkProviderService registerStubLinkProvider(String scheme) {
- StubLinkProvider provider = new StubLinkProvider(scheme);
- linkProviders.put(scheme, provider);
- return linkProviderRegistry.register(provider);
- }
-
- /**
- * Unregisters all registered LinkProviders.
- */
- private synchronized void unregisterLinkProviders() {
- // TODO remove all links registered by these providers
- linkProviders.values().forEach(linkProviderRegistry::unregister);
- linkProviders.clear();
- linkProviderServices.clear();
- }
-
- /**
- * Gets or creates {@link LinkProviderService} registered for given ProviderId scheme.
- *
- * @param scheme ProviderId scheme.
- * @return {@link LinkProviderService}
- */
- protected LinkProviderService getLinkProviderServiceFor(String scheme) {
- return linkProviderServices.computeIfAbsent(scheme, this::registerStubLinkProvider);
- }
-
- protected ScheduledExecutorService getSharedExecutor() {
- return executor;
- }
-
- // RPC Server-side code
- // RPC session Factory
- /**
- * Relays DeviceProviderRegistry calls from RPC client.
- */
- class DeviceProviderRegistryServerProxy extends DeviceProviderRegistryRpcImplBase {
-
- @Override
- public StreamObserver<DeviceProviderServiceMsg> register(StreamObserver<DeviceProviderMsg> toDeviceProvider) {
- log.trace("DeviceProviderRegistryServerProxy#register called!");
-
- DeviceProviderServerProxy provider = new DeviceProviderServerProxy(toDeviceProvider);
-
- return new DeviceProviderServiceServerProxy(provider, toDeviceProvider);
- }
- }
-
- // Lower -> Upper Controller message
- // RPC Server-side code
- // RPC session handler
- private final class DeviceProviderServiceServerProxy
- implements StreamObserver<DeviceProviderServiceMsg> {
-
- // intentionally shadowing
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private final DeviceProviderServerProxy pairedProvider;
- private final StreamObserver<DeviceProviderMsg> toDeviceProvider;
-
- private final Cache<Integer, CompletableFuture<Boolean>> outstandingIsReachable;
-
- // wrapped providerService
- private DeviceProviderService deviceProviderService;
-
-
- DeviceProviderServiceServerProxy(DeviceProviderServerProxy provider,
- StreamObserver<DeviceProviderMsg> toDeviceProvider) {
- this.pairedProvider = provider;
- this.toDeviceProvider = toDeviceProvider;
- outstandingIsReachable = CacheBuilder.newBuilder()
- .expireAfterWrite(1, TimeUnit.MINUTES)
- .build();
-
- // pair RPC session in other direction
- provider.pair(this);
- }
-
- @Override
- public void onNext(DeviceProviderServiceMsg msg) {
- try {
- log.trace("DeviceProviderServiceServerProxy received: {}", msg);
- onMethod(msg);
- } catch (Exception e) {
- log.error("Exception thrown handling {}", msg, e);
- onError(e);
- throw e;
- }
- }
-
- /**
- * Translates received RPC message to {@link DeviceProviderService} method calls.
- * @param msg DeviceProviderService message
- */
- private void onMethod(DeviceProviderServiceMsg msg) {
- switch (msg.getMethodCase()) {
- case REGISTER_PROVIDER:
- RegisterProvider registerProvider = msg.getRegisterProvider();
- // TODO Do we care about provider name?
- pairedProvider.setProviderId(new ProviderId(registerProvider.getProviderScheme(), RPC_PROVIDER_NAME));
- registeredProviders.add(pairedProvider);
- log.info("registering DeviceProvider {} via gRPC", pairedProvider.id());
- deviceProviderService = deviceProviderRegistry.register(pairedProvider);
- break;
-
- case DEVICE_CONNECTED:
- DeviceConnected deviceConnected = msg.getDeviceConnected();
- deviceProviderService.deviceConnected(deviceId(deviceConnected.getDeviceId()),
- DeviceProtoTranslator.translate(deviceConnected.getDeviceDescription()));
- break;
- case DEVICE_DISCONNECTED:
- DeviceDisconnected deviceDisconnected = msg.getDeviceDisconnected();
- deviceProviderService.deviceDisconnected(deviceId(deviceDisconnected.getDeviceId()));
- break;
- case UPDATE_PORTS:
- UpdatePorts updatePorts = msg.getUpdatePorts();
- deviceProviderService.updatePorts(deviceId(updatePorts.getDeviceId()),
- updatePorts.getPortDescriptionsList()
- .stream()
- .map(PortProtoTranslator::translate)
- .collect(toList()));
- break;
- case PORT_STATUS_CHANGED:
- PortStatusChanged portStatusChanged = msg.getPortStatusChanged();
- deviceProviderService.portStatusChanged(deviceId(portStatusChanged.getDeviceId()),
- PortProtoTranslator.translate(portStatusChanged.getPortDescription()));
- break;
- case RECEIVED_ROLE_REPLY:
- ReceivedRoleReply receivedRoleReply = msg.getReceivedRoleReply();
- deviceProviderService.receivedRoleReply(deviceId(receivedRoleReply.getDeviceId()),
- (MastershipRole) MastershipRoleProtoTranslator
- .translate(receivedRoleReply.getRequested()).get(),
- (MastershipRole) MastershipRoleProtoTranslator
- .translate(receivedRoleReply.getResponse()).get());
- break;
- case UPDATE_PORT_STATISTICS:
- UpdatePortStatistics updatePortStatistics = msg.getUpdatePortStatistics();
- deviceProviderService.updatePortStatistics(deviceId(updatePortStatistics.getDeviceId()),
- updatePortStatistics.getPortStatisticsList()
- .stream()
- .map(PortProtoTranslator::translate)
- .collect(toList()));
- break;
-
- // return value of DeviceProvider#isReachable
- case IS_REACHABLE_RESPONSE:
- IsReachableResponse isReachableResponse = msg.getIsReachableResponse();
- int xid = isReachableResponse.getXid();
- boolean isReachable = isReachableResponse.getIsReachable();
- CompletableFuture<Boolean> result = outstandingIsReachable.asMap().remove(xid);
- if (result != null) {
- result.complete(isReachable);
- }
- break;
-
- case METHOD_NOT_SET:
- default:
- log.warn("Unexpected message received {}", msg);
- break;
- }
- }
-
- @Override
- public void onCompleted() {
- log.info("DeviceProviderServiceServerProxy completed");
- deviceProviderRegistry.unregister(pairedProvider);
- registeredProviders.remove(pairedProvider);
- toDeviceProvider.onCompleted();
- }
-
- @Override
- public void onError(Throwable e) {
- log.error("DeviceProviderServiceServerProxy#onError", e);
- if (pairedProvider != null) {
- // TODO call deviceDisconnected against all devices
- // registered for this provider scheme
- log.info("unregistering DeviceProvider {} via gRPC", pairedProvider.id());
- deviceProviderRegistry.unregister(pairedProvider);
- registeredProviders.remove(pairedProvider);
- }
- // TODO What is the proper clean up for bi-di stream on error?
- // sample suggests no-op
- toDeviceProvider.onError(e);
- }
-
-
- /**
- * Registers Future for {@link DeviceProvider#isReachable(DeviceId)} return value.
- * @param xid IsReachable call ID.
- * @param reply Future to
- */
- void register(int xid, CompletableFuture<Boolean> reply) {
- outstandingIsReachable.put(xid, reply);
- }
-
- }
-
- // Upper -> Lower Controller message
- /**
- * Relay DeviceProvider calls to RPC client.
- */
- private final class DeviceProviderServerProxy
- implements DeviceProvider {
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- // xid for isReachable calls
- private final AtomicInteger xidPool = new AtomicInteger();
- private final StreamObserver<DeviceProviderMsg> toDeviceProvider;
-
- private DeviceProviderServiceServerProxy deviceProviderServiceProxy = null;
- private ProviderId providerId;
-
- DeviceProviderServerProxy(StreamObserver<DeviceProviderMsg> toDeviceProvider) {
- this.toDeviceProvider = toDeviceProvider;
- }
-
- void setProviderId(ProviderId pid) {
- this.providerId = pid;
- }
-
- /**
- * Registers RPC stream in other direction.
- *
- * @param deviceProviderServiceProxy {@link DeviceProviderServiceServerProxy}
- */
- void pair(DeviceProviderServiceServerProxy deviceProviderServiceProxy) {
- this.deviceProviderServiceProxy = deviceProviderServiceProxy;
- }
-
- @Override
- public void triggerProbe(DeviceId deviceId) {
- try {
- onTriggerProbe(deviceId);
- } catch (Exception e) {
- log.error("Exception caught handling triggerProbe({})",
- deviceId, e);
- toDeviceProvider.onError(e);
- }
- }
-
- private void onTriggerProbe(DeviceId deviceId) {
- log.trace("triggerProbe({})", deviceId);
- DeviceProviderMsg.Builder msgBuilder = DeviceProviderMsg.newBuilder();
- msgBuilder.setTriggerProbe(msgBuilder.getTriggerProbeBuilder()
- .setDeviceId(deviceId.toString())
- .build());
- DeviceProviderMsg triggerProbeMsg = msgBuilder.build();
- toDeviceProvider.onNext(triggerProbeMsg);
- }
-
- @Override
- public void roleChanged(DeviceId deviceId, MastershipRole newRole) {
- try {
- onRoleChanged(deviceId, newRole);
- } catch (Exception e) {
- log.error("Exception caught handling onRoleChanged({}, {})",
- deviceId, newRole, e);
- toDeviceProvider.onError(e);
- }
- }
-
- private void onRoleChanged(DeviceId deviceId, MastershipRole newRole) {
- log.trace("roleChanged({}, {})", deviceId, newRole);
- DeviceProviderMsg.Builder msgBuilder = DeviceProviderMsg.newBuilder();
- msgBuilder.setRoleChanged(msgBuilder.getRoleChangedBuilder()
- .setDeviceId(deviceId.toString())
- .setNewRole(MastershipRoleProtoTranslator.translate(newRole))
- .build());
- toDeviceProvider.onNext(msgBuilder.build());
- }
-
- @Override
- public boolean isReachable(DeviceId deviceId) {
- try {
- return onIsReachable(deviceId);
- } catch (Exception e) {
- log.error("Exception caught handling onIsReachable({})",
- deviceId, e);
- toDeviceProvider.onError(e);
- return false;
- }
- }
-
- private boolean onIsReachable(DeviceId deviceId) {
-
- log.trace("isReachable({})", deviceId);
- CompletableFuture<Boolean> result = new CompletableFuture<>();
- final int xid = xidPool.incrementAndGet();
-
- DeviceProviderMsg.Builder msgBuilder = DeviceProviderMsg.newBuilder();
- msgBuilder.setIsReachableRequest(msgBuilder.getIsReachableRequestBuilder()
- .setXid(xid)
- .setDeviceId(deviceId.toString())
- .build());
-
- // Associate xid and register above future some where
- // in DeviceProviderService channel to receive reply
- if (deviceProviderServiceProxy != null) {
- deviceProviderServiceProxy.register(xid, result);
- }
-
- // send message down RPC
- toDeviceProvider.onNext(msgBuilder.build());
-
- // wait for reply
- try {
- return result.get(10, TimeUnit.SECONDS);
- } catch (InterruptedException e) {
- log.debug("isReachable({}) was Interrupted", deviceId, e);
- Thread.currentThread().interrupt();
- } catch (TimeoutException e) {
- log.warn("isReachable({}) Timed out", deviceId, e);
- } catch (ExecutionException e) {
- log.error("isReachable({}) Execution failed", deviceId, e);
- // close session
- toDeviceProvider.onError(e);
- }
- return false;
- }
-
- @Override
- public ProviderId id() {
- return checkNotNull(providerId, "not initialized yet");
- }
-
- @Override
- public void changePortState(DeviceId deviceId, PortNumber portNumber,
- boolean enable) {
- // TODO Implement if required
- log.error("changePortState not supported yet");
- toDeviceProvider.onError(new UnsupportedOperationException("not implemented yet"));
- }
-
- }
-}
diff --git a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderRegistryClientProxy.java b/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderRegistryClientProxy.java
deleted file mode 100644
index 0dc5678..0000000
--- a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderRegistryClientProxy.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.grpc;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import org.onosproject.net.link.LinkProvider;
-import org.onosproject.net.link.LinkProviderRegistry;
-import org.onosproject.net.link.LinkProviderService;
-import org.onosproject.net.provider.AbstractProviderRegistry;
-
-import com.google.common.annotations.Beta;
-
-import io.grpc.Channel;
-
-/**
- * Proxy object to handle LinkProviderRegistry calls.
- */
-@Beta
-public class LinkProviderRegistryClientProxy
- extends AbstractProviderRegistry<LinkProvider, LinkProviderService>
- implements LinkProviderRegistry {
-
- private final Channel channel;
-
- public LinkProviderRegistryClientProxy(Channel channel) {
- this.channel = checkNotNull(channel);
- }
-
- @Override
- protected LinkProviderService createProviderService(LinkProvider provider) {
- return new LinkProviderServiceClientProxy(provider, channel);
- }
-
-}
diff --git a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceClientProxy.java b/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceClientProxy.java
deleted file mode 100644
index d80fb8d..0000000
--- a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceClientProxy.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.grpc;
-
-import com.google.common.annotations.Beta;
-import com.google.common.util.concurrent.ListenableFuture;
-import io.grpc.Channel;
-import org.onosproject.grpc.net.link.LinkProviderServiceRpcGrpc;
-import org.onosproject.grpc.net.link.LinkProviderServiceRpcGrpc.LinkProviderServiceRpcFutureStub;
-import org.onosproject.grpc.net.link.LinkService.LinkDetectedMsg;
-import org.onosproject.grpc.net.link.LinkService.LinkVanishedMsg;
-import org.onosproject.grpc.net.link.LinkService.Void;
-import org.onosproject.grpc.net.link.models.LinkEnumsProto.LinkTypeProto;
-import org.onosproject.grpc.net.models.ConnectPointProtoOuterClass.ConnectPointProto;
-import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.Link.Type;
-import org.onosproject.net.link.LinkDescription;
-import org.onosproject.net.link.LinkProvider;
-import org.onosproject.net.link.LinkProviderService;
-import org.onosproject.net.provider.AbstractProviderService;
-import org.onosproject.net.provider.ProviderId;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
-import static org.onosproject.incubator.protobuf.models.net.LinkProtoTranslator.asMap;
-
-/**
- * Proxy object to handle LinkProviderService calls.
- *
- * RPC wise, this will initiate a RPC call on each method invocation.
- */
-@Beta
-class LinkProviderServiceClientProxy
- extends AbstractProviderService<LinkProvider>
- implements LinkProviderService {
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private final Channel channel;
-
- /**
- * Constructs {@link LinkProviderServiceClientProxy}.
- *
- * @param provider {@link LinkProvider}. Only ProviderId scheme is used.
- * @param channel channel to use to call RPC
- */
- protected LinkProviderServiceClientProxy(LinkProvider provider, Channel channel) {
- super(provider);
- this.channel = channel;
- }
-
- @Override
- public void linkDetected(LinkDescription linkDescription) {
- checkValidity();
-
- LinkProviderServiceRpcFutureStub newStub = LinkProviderServiceRpcGrpc.newFutureStub(channel);
- ListenableFuture<Void> future = newStub.linkDetected(detectMsg(provider().id(), linkDescription));
-
- try {
- // There's no need to wait, but just checking server
- future.get(500, TimeUnit.MILLISECONDS);
- } catch (InterruptedException e) {
- log.error("linkDetected({}) failed", linkDescription, e);
- invalidate();
- Thread.currentThread().interrupt();
- } catch (ExecutionException | TimeoutException e) {
- log.error("linkDetected({}) failed", linkDescription, e);
- invalidate();
- }
- }
-
- @Override
- public void linkVanished(LinkDescription linkDescription) {
- checkValidity();
-
- LinkProviderServiceRpcFutureStub newStub = LinkProviderServiceRpcGrpc.newFutureStub(channel);
- ListenableFuture<Void> future = newStub.linkVanished(vanishMsg(provider().id(), linkDescription));
-
- try {
- // There's no need to wait, but just checking server
- future.get(500, TimeUnit.MILLISECONDS);
- } catch (InterruptedException e) {
- log.error("linkVanished({}) failed", linkDescription, e);
- invalidate();
- Thread.currentThread().interrupt();
- } catch (ExecutionException | TimeoutException e) {
- log.error("linkVanished({}) failed", linkDescription, e);
- invalidate();
- }
- }
-
- @Override
- public void linksVanished(ConnectPoint connectPoint) {
- checkValidity();
-
- LinkProviderServiceRpcFutureStub newStub = LinkProviderServiceRpcGrpc.newFutureStub(channel);
- ListenableFuture<Void> future = newStub.linkVanished(vanishMsg(provider().id(), connectPoint));
-
- try {
- // There's no need to wait, but just checking server
- future.get(500, TimeUnit.MILLISECONDS);
- } catch (InterruptedException e) {
- log.error("linksVanished({}) failed", connectPoint, e);
- invalidate();
- Thread.currentThread().interrupt();
- } catch (ExecutionException | TimeoutException e) {
- log.error("linksVanished({}) failed", connectPoint, e);
- invalidate();
- }
- }
-
- @Override
- public void linksVanished(DeviceId deviceId) {
- checkValidity();
-
- LinkProviderServiceRpcFutureStub newStub = LinkProviderServiceRpcGrpc.newFutureStub(channel);
- ListenableFuture<Void> future = newStub.linkVanished(vanishMsg(provider().id(), deviceId));
-
- try {
- // There's no need to wait, but just checking server
- future.get(500, TimeUnit.MILLISECONDS);
- } catch (InterruptedException e) {
- log.error("linksVanished({}) failed", deviceId, e);
- invalidate();
- Thread.currentThread().interrupt();
- } catch (ExecutionException | TimeoutException e) {
- log.error("linksVanished({}) failed", deviceId, e);
- invalidate();
- }
- }
-
- /**
- * Builds {@link LinkDetectedMsg}.
- *
- * @param id ProviderId
- * @param linkDescription {@link LinkDescription}
- * @return {@link LinkDetectedMsg}
- */
- private LinkDetectedMsg detectMsg(ProviderId id,
- LinkDescription linkDescription) {
- LinkDetectedMsg.Builder builder = LinkDetectedMsg.newBuilder();
- builder.setProviderId(id.scheme())
- .setLinkDescription(builder.getLinkDescriptionBuilder()
- .setSrc(translate(linkDescription.src()))
- .setDst(translate(linkDescription.dst()))
- .setType(translate(linkDescription.type()))
- .putAllAnnotations(asMap(linkDescription.annotations()))
- .build()
- );
- return builder.build();
- }
-
- /**
- * Builds {@link LinkVanishedMsg}.
- *
- * @param id ProviderId
- * @param linkDescription {@link LinkDescription}
- * @return {@link LinkVanishedMsg}
- */
- private LinkVanishedMsg vanishMsg(ProviderId id,
- LinkDescription linkDescription) {
-
- LinkVanishedMsg.Builder builder = LinkVanishedMsg.newBuilder();
- builder.setProviderId(id.scheme())
- .setLinkDescription(builder.getLinkDescriptionBuilder()
- .setSrc(translate(linkDescription.src()))
- .setDst(translate(linkDescription.dst()))
- .setType(translate(linkDescription.type()))
- .putAllAnnotations(asMap(linkDescription.annotations()))
- .build()
- );
- return builder.build();
- }
-
- /**
- * Builds {@link LinkVanishedMsg}.
- *
- * @param id ProviderId
- * @param connectPoint {@link ConnectPoint}
- * @return {@link LinkVanishedMsg}
- */
- private LinkVanishedMsg vanishMsg(ProviderId id,
- ConnectPoint connectPoint) {
-
- LinkVanishedMsg.Builder builder = LinkVanishedMsg.newBuilder();
- builder.setProviderId(id.scheme())
- .setConnectPoint(translate(connectPoint));
- return builder.build();
- }
-
- /**
- * Builds {@link LinkVanishedMsg}.
- *
- * @param id ProviderId
- * @param deviceId {@link DeviceId}
- * @return {@link LinkVanishedMsg}
- */
- private LinkVanishedMsg vanishMsg(ProviderId id, DeviceId deviceId) {
-
- LinkVanishedMsg.Builder builder = LinkVanishedMsg.newBuilder();
- builder.setProviderId(id.scheme())
- .setDeviceId(deviceId.toString());
- return builder.build();
- }
-
- /**
- * Translates ONOS object to gRPC message.
- *
- * @param type {@link org.onosproject.net.Link.Type Link.Type}
- * @return gRPC LinkTypeProto
- */
- private LinkTypeProto translate(Type type) {
- switch (type) {
- case DIRECT:
- return LinkTypeProto.DIRECT;
- case EDGE:
- return LinkTypeProto.EDGE;
- case INDIRECT:
- return LinkTypeProto.INDIRECT;
- case OPTICAL:
- return LinkTypeProto.OPTICAL;
- case TUNNEL:
- return LinkTypeProto.TUNNEL;
- case VIRTUAL:
- return LinkTypeProto.VIRTUAL;
-
- default:
- return LinkTypeProto.DIRECT;
-
- }
- }
-
- /**
- * Translates ONOS object to gRPC message.
- *
- * @param cp {@link ConnectPoint}
- * @return gRPC ConnectPointProto
- */
- private ConnectPointProto translate(ConnectPoint cp) {
- return ConnectPointProto.newBuilder()
- .setDeviceId(cp.deviceId().toString())
- .setPortNumber(cp.port().toString())
- .build();
- }
-
-}
diff --git a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceServerProxy.java b/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceServerProxy.java
deleted file mode 100644
index 55c93fb..0000000
--- a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/LinkProviderServiceServerProxy.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.grpc;
-
-import com.google.common.annotations.Beta;
-import com.google.common.cache.Cache;
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.RemovalNotification;
-import io.grpc.stub.StreamObserver;
-import org.apache.commons.lang3.tuple.Pair;
-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;
-import org.onosproject.grpc.net.link.models.LinkDescriptionProtoOuterClass.LinkDescriptionProto;
-import org.onosproject.grpc.net.link.models.LinkEnumsProto.LinkTypeProto;
-import org.onosproject.grpc.net.models.ConnectPointProtoOuterClass.ConnectPointProto;
-import org.onosproject.grpc.net.models.ConnectPointProtoOuterClass.ConnectPointProto.ElementIdCase;
-import org.onosproject.incubator.protobuf.models.net.LinkProtoTranslator;
-import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.Link.Type;
-import org.onosproject.net.LinkKey;
-import org.onosproject.net.PortNumber;
-import org.onosproject.net.SparseAnnotations;
-import org.onosproject.net.link.DefaultLinkDescription;
-import org.onosproject.net.link.LinkDescription;
-import org.onosproject.net.link.LinkProviderService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.cache.RemovalListeners.asynchronous;
-import static org.onosproject.net.DeviceId.deviceId;
-import static org.onosproject.net.LinkKey.linkKey;
-
-// Only single instance will be created and bound to gRPC LinkProviderService
-/**
- * Server-side implementation of gRPC version of LinkProviderService.
- */
-@Beta
-final class LinkProviderServiceServerProxy
- extends LinkProviderServiceRpcImplBase {
-
- /**
- * Silence time in seconds, until link gets treated as vanished.
- */
- private static final int EVICT_LIMIT = 3 * 3;
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private final GrpcRemoteServiceServer server;
-
- // TODO implement aging mechanism to automatically remove
- // stale links reported by dead client, etc.
- /**
- * Evicting Cache to track last seen time.
- */
- private final Cache<Pair<String, LinkKey>, LinkDescription> lastSeen;
-
- LinkProviderServiceServerProxy(GrpcRemoteServiceServer server) {
- this.server = checkNotNull(server);
- ScheduledExecutorService executor = server.getSharedExecutor();
- lastSeen = CacheBuilder.newBuilder()
- .expireAfterWrite(EVICT_LIMIT, TimeUnit.SECONDS)
- .removalListener(asynchronous(this::onRemove, executor))
- .build();
-
- executor.scheduleWithFixedDelay(lastSeen::cleanUp,
- EVICT_LIMIT, EVICT_LIMIT, TimeUnit.SECONDS);
- }
-
- private void onRemove(RemovalNotification<Pair<String, LinkKey>, LinkDescription> n) {
- if (n.wasEvicted()) {
- getLinkProviderServiceFor(n.getKey().getLeft())
- .linkVanished(n.getValue());
- }
- }
-
- /**
- * Gets or creates {@link LinkProviderService} registered for given ProviderId scheme.
- *
- * @param scheme ProviderId scheme.
- * @return {@link LinkProviderService}
- */
- private LinkProviderService getLinkProviderServiceFor(String scheme) {
- return server.getLinkProviderServiceFor(scheme);
- }
-
- @Override
- public void linkDetected(LinkDetectedMsg request,
- StreamObserver<Void> responseObserver) {
-
- try {
- onLinkDetected(request, responseObserver);
- // If onNext call was not mandatory, it can be removed.
- responseObserver.onNext(Void.getDefaultInstance());
- responseObserver.onCompleted();
- } catch (Exception e) {
- log.error("Exception caught", e);
- responseObserver.onError(e);
- }
- }
-
- private void onLinkDetected(LinkDetectedMsg request,
- StreamObserver<Void> responseObserver) {
- String scheme = request.getProviderId();
-
- LinkProviderService linkProviderService = getLinkProviderServiceFor(scheme);
-
- LinkDescription linkDescription = translate(request.getLinkDescription());
- linkProviderService.linkDetected(linkDescription);
- lastSeen.put(Pair.of(scheme, linkKey(linkDescription)), linkDescription);
- }
-
- @Override
- public void linkVanished(LinkVanishedMsg request,
- StreamObserver<Void> responseObserver) {
- try {
- onLinksVanished(request, responseObserver);
- // If onNext call was not mandatory, it can be removed.
- responseObserver.onNext(Void.getDefaultInstance());
- responseObserver.onCompleted();
- } catch (Exception e) {
- log.error("Exception caught", e);
- responseObserver.onError(e);
- }
- }
-
- private void onLinksVanished(LinkVanishedMsg request,
- StreamObserver<Void> responseObserver) {
- String scheme = request.getProviderId();
- switch (request.getSubjectCase()) {
- case CONNECT_POINT:
- ConnectPoint cp = translate(request.getConnectPoint());
- getLinkProviderServiceFor(scheme).linksVanished(cp);
- break;
- case DEVICE_ID:
- DeviceId did = deviceId(request.getDeviceId());
- getLinkProviderServiceFor(scheme).linksVanished(did);
- break;
- case LINK_DESCRIPTION:
- LinkDescription desc = translate(request.getLinkDescription());
- getLinkProviderServiceFor(scheme).linkVanished(desc);
- lastSeen.invalidate(Pair.of(scheme, linkKey(desc)));
- break;
- case SUBJECT_NOT_SET:
- default:
- // do nothing
- break;
- }
- }
-
- /**
- * Translates gRPC message to corresponding ONOS object.
- *
- * @param connectPoint gRPC message.
- * @return {@link ConnectPoint}
- */
- private ConnectPoint translate(ConnectPointProto connectPoint) {
- checkArgument(connectPoint.getElementIdCase() == ElementIdCase.DEVICE_ID,
- "Only DeviceId supported.");
- return new ConnectPoint(deviceId(connectPoint.getDeviceId()),
- PortNumber.fromString(connectPoint.getPortNumber()));
- }
-
- /**
- * Translates gRPC message to corresponding ONOS object.
- *
- * @param linkDescription gRPC message
- * @return {@link LinkDescription}
- */
- private LinkDescription translate(LinkDescriptionProto linkDescription) {
- ConnectPoint src = translate(linkDescription.getSrc());
- ConnectPoint dst = translate(linkDescription.getDst());
- Type type = translate(linkDescription.getType());
- SparseAnnotations annotations = LinkProtoTranslator.asAnnotations(linkDescription.getAnnotations());
- return new DefaultLinkDescription(src, dst, type, annotations);
- }
-
- /**
- * Translates gRPC message to corresponding ONOS object.
- *
- * @param type gRPC message enum
- * @return {@link Type Link.Type}
- */
- private Type translate(LinkTypeProto type) {
- switch (type) {
- case DIRECT:
- return Type.DIRECT;
- case EDGE:
- return Type.EDGE;
- case INDIRECT:
- return Type.INDIRECT;
- case OPTICAL:
- return Type.INDIRECT;
- case TUNNEL:
- return Type.TUNNEL;
- case VIRTUAL:
- return Type.VIRTUAL;
-
- case UNRECOGNIZED:
- default:
- return Type.DIRECT;
- }
- }
-
-}
diff --git a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/StubLinkProvider.java b/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/StubLinkProvider.java
deleted file mode 100644
index bf8145b..0000000
--- a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/StubLinkProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.grpc;
-
-import org.onosproject.net.link.LinkProvider;
-import org.onosproject.net.provider.AbstractProvider;
-import org.onosproject.net.provider.ProviderId;
-
-import com.google.common.annotations.Beta;
-import com.google.common.base.MoreObjects;
-
-/**
- * Stub LinkProvider to be registered on Server-side.
- */
-@Beta
-final class StubLinkProvider extends AbstractProvider implements LinkProvider {
- protected StubLinkProvider(String scheme) {
- super(new ProviderId(scheme, GrpcRemoteServiceServer.RPC_PROVIDER_NAME));
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(this)
- .add("id", id())
- .toString();
- }
-}
diff --git a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/package-info.java b/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/package-info.java
deleted file mode 100644
index e837950..0000000
--- a/graveyard/rpc-grpc/src/main/java/org/onosproject/incubator/rpc/grpc/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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 based RemoteServiceProvider implementation.
- */
-package org.onosproject.incubator.rpc.grpc;
diff --git a/graveyard/rpc-grpc/src/main/proto/DeviceService.proto b/graveyard/rpc-grpc/src/main/proto/DeviceService.proto
deleted file mode 100644
index 023af13..0000000
--- a/graveyard/rpc-grpc/src/main/proto/DeviceService.proto
+++ /dev/null
@@ -1,101 +0,0 @@
-syntax = "proto3";
-option java_package = "org.onosproject.grpc.net.device";
-
-import "net/device/DeviceDescriptionProto.proto";
-import "net/device/PortDescriptionProto.proto";
-import "net/device/PortStatisticsProto.proto";
-import "net/MastershipRoleProto.proto";
-
-package Device;
-
-message DeviceConnected {
- // DeviceID as String DeviceId#toString
- string device_id = 1;
- net.device.DeviceDescriptionProto device_description = 2;
-}
-
-message DeviceDisconnected {
- // DeviceID as String DeviceId#toString
- string device_id = 1;
-}
-
-message UpdatePorts {
- // DeviceID as String DeviceId#toString
- string device_id = 1;
- repeated net.device.PortDescriptionProto port_descriptions= 2;
-}
-
-message PortStatusChanged {
- // DeviceID as String DeviceId#toString
- string device_id = 1;
- net.device.PortDescriptionProto port_description= 2;
-}
-
-message ReceivedRoleReply {
- // DeviceID as String DeviceId#toString
- string device_id = 1;
- net.MastershipRoleProto requested = 2;
- net.MastershipRoleProto response = 3;
-}
-
-message UpdatePortStatistics {
- // DeviceID as String DeviceId#toString
- string device_id = 1;
- repeated net.device.PortStatisticsProto port_statistics = 2;
-}
-
-message RegisterProvider {
- // DeviceProvider's ProviderId scheme
- string provider_scheme = 1;
-}
-
-message DeviceProviderServiceMsg {
- oneof method {
- DeviceConnected device_connected= 1;
- DeviceDisconnected device_disconnected = 2;
- UpdatePorts update_ports= 3;
- PortStatusChanged port_status_changed = 4;
- ReceivedRoleReply received_role_reply = 5;
- UpdatePortStatistics update_port_statistics = 6;
-
- // This message is for return value of DeviceProvider#isReachable
- IsReachableResponse is_reachable_response = 7;
-
- // This MUST be the 1st message over the stream
- RegisterProvider register_provider = 8;
- }
-}
-
-message TriggerProbe {
- // DeviceID as String DeviceId#toString
- string device_id = 1;
-}
-
-message RoleChanged {
- // DeviceID as String DeviceId#toString
- string device_id = 1;
- net.MastershipRoleProto new_role = 2;
-}
-
-message IsReachableRequest {
- int32 xid = 1;
- // DeviceID as String DeviceId#toString
- string device_id = 2;
-}
-
-message IsReachableResponse {
- int32 xid = 1;
- bool is_reachable = 2;
-}
-
-message DeviceProviderMsg {
- oneof method {
- TriggerProbe trigger_probe = 1;
- RoleChanged role_changed = 2;
- IsReachableRequest is_reachable_request= 3;
- }
-}
-
-service DeviceProviderRegistryRpc {
- rpc Register(stream DeviceProviderServiceMsg) returns (stream DeviceProviderMsg);
-}
diff --git a/graveyard/rpc-grpc/src/main/proto/LinkService.proto b/graveyard/rpc-grpc/src/main/proto/LinkService.proto
deleted file mode 100644
index e211e11..0000000
--- a/graveyard/rpc-grpc/src/main/proto/LinkService.proto
+++ /dev/null
@@ -1,31 +0,0 @@
-syntax = "proto3";
-option java_package = "org.onosproject.grpc.net.link";
-
-import "net/link/LinkDescriptionProto.proto";
-import "net/ConnectPointProto.proto";
-
-package Link;
-
-// Message to represent no return value
-message Void {}
-
-message LinkDetectedMsg {
- // ProviderId scheme only
- string provider_id = 1;
- net.link.LinkDescriptionProto link_description = 2;
-}
-
-message LinkVanishedMsg {
- // ProviderId scheme only
- string provider_id = 1;
- oneof subject {
- net.link.LinkDescriptionProto link_description = 2;
- net.ConnectPointProto connect_point = 3;
- string device_id = 4;
- }
-}
-
-service LinkProviderServiceRpc {
- rpc LinkDetected(LinkDetectedMsg) returns (Void);
- rpc LinkVanished(LinkVanishedMsg) returns (Void);
-}
diff --git a/graveyard/rpc-grpc/src/test/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceTest.java b/graveyard/rpc-grpc/src/test/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceTest.java
deleted file mode 100644
index 8990b6e..0000000
--- a/graveyard/rpc-grpc/src/test/java/org/onosproject/incubator/rpc/grpc/GrpcRemoteServiceTest.java
+++ /dev/null
@@ -1,578 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.grpc;
-
-import static org.junit.Assert.*;
-import static org.onosproject.net.DeviceId.deviceId;
-import static org.onosproject.net.PortNumber.portNumber;
-
-import java.net.URI;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.onlab.junit.TestTools;
-import org.onlab.packet.ChassisId;
-import org.onosproject.incubator.rpc.RemoteServiceContext;
-import org.onosproject.incubator.rpc.RemoteServiceContextProvider;
-import org.onosproject.incubator.rpc.RemoteServiceContextProviderService;
-import org.onosproject.incubator.rpc.RemoteServiceProviderRegistry;
-import org.onosproject.net.ConnectPoint;
-import org.onosproject.net.DefaultAnnotations;
-import org.onosproject.net.Device.Type;
-import org.onosproject.net.DeviceId;
-import org.onosproject.net.Link;
-import org.onosproject.net.MastershipRole;
-import org.onosproject.net.PortNumber;
-import org.onosproject.net.SparseAnnotations;
-import org.onosproject.net.device.DefaultDeviceDescription;
-import org.onosproject.net.device.DefaultPortDescription;
-import org.onosproject.net.device.DeviceDescription;
-import org.onosproject.net.device.DeviceProvider;
-import org.onosproject.net.device.DeviceProviderRegistry;
-import org.onosproject.net.device.DeviceProviderService;
-import org.onosproject.net.device.PortDescription;
-import org.onosproject.net.device.PortStatistics;
-import org.onosproject.net.link.DefaultLinkDescription;
-import org.onosproject.net.link.LinkDescription;
-import org.onosproject.net.link.LinkProvider;
-import org.onosproject.net.link.LinkProviderRegistry;
-import org.onosproject.net.link.LinkProviderService;
-import org.onosproject.net.provider.AbstractProviderRegistry;
-import org.onosproject.net.provider.AbstractProviderService;
-import org.onosproject.net.provider.ProviderId;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.collect.ImmutableList;
-
-/**
- * Set of tests of the gRPC RemoteService components.
- */
-public class GrpcRemoteServiceTest {
-
- private static final DeviceId DEVICE_ID = deviceId("dev:000001");
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private static final ProviderId PID = new ProviderId("test", "com.example.test");
-
- private static final URI DURI = URI.create("dev:000001");
-
- private static final String MFR = "mfr";
-
- private static final String HW = "hw";
-
- private static final String SW = "sw";
-
- private static final String SN = "serial";
-
- private static final ChassisId CHASSIS = new ChassisId(42);
-
- private static final SparseAnnotations ANON = DefaultAnnotations.builder()
- .set("foo", "var")
- .build();
-
- private static final PortNumber PORT = PortNumber.portNumber(99);
-
- private static final DeviceDescription DDESC
- = new DefaultDeviceDescription(DURI, Type.SWITCH, MFR, HW, SW, SN,
- CHASSIS, ANON);
-
- private GrpcRemoteServiceServer server;
- private GrpcRemoteServiceProvider client;
-
- private DeviceProvider svSideDeviceProvider;
-
- private MTestDeviceProviderService svDeviceProviderService;
-
- private ServerSideLinkProviderService svLinkProviderService;
-
-
- private CountDownLatch serverReady;
-
- private URI uri;
-
- @Before
- public void setUp() throws Exception {
- serverReady = new CountDownLatch(1);
- server = new GrpcRemoteServiceServer();
- server.deviceProviderRegistry = new MTestDeviceProviderRegistry();
- server.linkProviderRegistry = new ServerSideLinkProviderRegistry();
- server.listenPort = TestTools.findAvailablePort(11984);
- uri = URI.create("grpc://localhost:" + server.listenPort);
- // todo: pass proper ComponentContext
- server.activate(null);
-
- client = new GrpcRemoteServiceProvider();
- client.rpcRegistry = new NoOpRemoteServiceProviderRegistry();
- client.activate();
- }
-
- @After
- public void tearDown() {
- client.deactivate();
- server.deactivate();
- svLinkProviderService = null;
- }
-
- private static void assertEqualsButNotSame(Object expected, Object actual) {
- assertEquals(expected, actual);
- assertNotSame("Cannot be same instance if it properly went through gRPC",
- expected, actual);
- }
-
- @Test
- public void deviceServiceBasics() throws InterruptedException {
- RemoteServiceContext remoteServiceContext = client.get(uri);
- assertNotNull(remoteServiceContext);
-
- DeviceProviderRegistry deviceProviderRegistry = remoteServiceContext.get(DeviceProviderRegistry.class);
- assertNotNull(deviceProviderRegistry);
-
- CTestDeviceProvider clDeviceProvider = new CTestDeviceProvider();
- DeviceProviderService clDeviceProviderService = deviceProviderRegistry.register(clDeviceProvider);
-
- assertTrue(serverReady.await(10, TimeUnit.SECONDS));
-
- // client to server communication
- clDeviceProviderService.deviceConnected(DEVICE_ID, DDESC);
- assertTrue(svDeviceProviderService.deviceConnected.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(DEVICE_ID, svDeviceProviderService.deviceConnectedDid);
- assertEqualsButNotSame(DDESC, svDeviceProviderService.deviceConnectedDesc);
-
- PortDescription portDescription = DefaultPortDescription.builder().withPortNumber(PORT)
- .isEnabled(true).annotations(ANON).build();
- List<PortDescription> portDescriptions = ImmutableList.of(portDescription);
- clDeviceProviderService.updatePorts(DEVICE_ID, portDescriptions);
- assertTrue(svDeviceProviderService.updatePorts.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(DEVICE_ID, svDeviceProviderService.updatePortsDid);
- assertEqualsButNotSame(portDescriptions, svDeviceProviderService.updatePortsDescs);
-
- MastershipRole cRole = MastershipRole.MASTER;
- MastershipRole dRole = MastershipRole.STANDBY;
- clDeviceProviderService.receivedRoleReply(DEVICE_ID, cRole, dRole);
- assertTrue(svDeviceProviderService.receivedRoleReply.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(DEVICE_ID, svDeviceProviderService.receivedRoleReplyDid);
- assertEquals(cRole, svDeviceProviderService.receivedRoleReplyRequested);
- assertEquals(dRole, svDeviceProviderService.receivedRoleReplyResponse);
-
- clDeviceProviderService.portStatusChanged(DEVICE_ID, portDescription);
- assertTrue(svDeviceProviderService.portStatusChanged.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(DEVICE_ID, svDeviceProviderService.portStatusChangedDid);
- assertEqualsButNotSame(portDescription, svDeviceProviderService.portStatusChangedDesc);
-
- Collection<PortStatistics> portStatistics = Collections.emptyList();
- clDeviceProviderService.updatePortStatistics(DEVICE_ID, portStatistics);
- assertTrue(svDeviceProviderService.updatePortStatistics.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(DEVICE_ID, svDeviceProviderService.updatePortStatisticsDid);
- assertEqualsButNotSame(portStatistics, svDeviceProviderService.updatePortStatisticsStats);
-
- clDeviceProviderService.deviceDisconnected(DEVICE_ID);
- assertTrue(svDeviceProviderService.deviceDisconnected.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(DEVICE_ID, svDeviceProviderService.deviceDisconnectedDid);
-
-
-
- // server to client communication
- svSideDeviceProvider.triggerProbe(DEVICE_ID);
- assertTrue(clDeviceProvider.triggerProbe.await(10, TimeUnit.SECONDS));
- assertEquals(DEVICE_ID, clDeviceProvider.triggerProbeDid);
- assertNotSame("Cannot be same instance if it properly went through gRPC",
- DEVICE_ID, clDeviceProvider.triggerProbeDid);
-
- svSideDeviceProvider.roleChanged(DEVICE_ID, MastershipRole.STANDBY);
- assertTrue(clDeviceProvider.roleChanged.await(10, TimeUnit.SECONDS));
- assertEquals(DEVICE_ID, clDeviceProvider.roleChangedDid);
- assertNotSame("Cannot be same instance if it properly went through gRPC",
- DEVICE_ID, clDeviceProvider.roleChangedDid);
- assertEquals(MastershipRole.STANDBY, clDeviceProvider.roleChangedNewRole);
-
- clDeviceProvider.isReachableReply = false;
- assertEquals(clDeviceProvider.isReachableReply,
- svSideDeviceProvider.isReachable(DEVICE_ID));
- assertTrue(clDeviceProvider.isReachable.await(10, TimeUnit.SECONDS));
- assertEquals(DEVICE_ID, clDeviceProvider.isReachableDid);
- assertNotSame("Cannot be same instance if it properly went through gRPC",
- DEVICE_ID, clDeviceProvider.isReachableDid);
- }
-
- @Test
- public void linkVanishedDevice() throws InterruptedException {
- RemoteServiceContext remoteServiceContext = client.get(uri);
- assertNotNull(remoteServiceContext);
-
- LinkProviderRegistry providerRegistry = remoteServiceContext.get(LinkProviderRegistry.class);
- assertNotNull(providerRegistry);
-
- final String schemeTest = "test";
- LinkProviderService client = providerRegistry.register(new StubLinkProvider(schemeTest));
- assertNotNull(client);
-
- client.linksVanished(DEVICE_ID);
-
- assertEquals(schemeTest, svLinkProviderService.provider().id().scheme());
- assertTrue(svLinkProviderService.calls.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(DEVICE_ID, svLinkProviderService.arg);
- }
-
- @Test
- public void linkVanishedPort() throws InterruptedException {
- RemoteServiceContext remoteServiceContext = client.get(uri);
- assertNotNull(remoteServiceContext);
-
- LinkProviderRegistry providerRegistry = remoteServiceContext.get(LinkProviderRegistry.class);
- assertNotNull(providerRegistry);
-
- final String schemeTest = "test";
- LinkProviderService client = providerRegistry.register(new StubLinkProvider(schemeTest));
- assertNotNull(client);
-
-
- final ConnectPoint cp = new ConnectPoint(DEVICE_ID, PORT);
- client.linksVanished(cp);
- assertEquals(schemeTest, svLinkProviderService.provider().id().scheme());
- assertTrue(svLinkProviderService.calls.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(cp, svLinkProviderService.arg);
- }
-
- @Test
- public void linkVanishedDescription() throws InterruptedException {
- RemoteServiceContext remoteServiceContext = client.get(uri);
- assertNotNull(remoteServiceContext);
-
- LinkProviderRegistry providerRegistry = remoteServiceContext.get(LinkProviderRegistry.class);
- assertNotNull(providerRegistry);
-
- final String schemeTest = "test";
- LinkProviderService client = providerRegistry.register(new StubLinkProvider(schemeTest));
- assertNotNull(client);
-
- ConnectPoint src = new ConnectPoint(deviceId("dev:1"), portNumber(10));
- ConnectPoint dst = new ConnectPoint(deviceId("dev:2"), portNumber(20));
- LinkDescription linkDescription = new DefaultLinkDescription(src, dst, Link.Type.DIRECT, ANON);
- client.linkVanished(linkDescription);
- assertEquals(schemeTest, svLinkProviderService.provider().id().scheme());
- assertTrue(svLinkProviderService.calls.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(linkDescription, svLinkProviderService.arg);
- }
-
- @Test
- public void linkDetected() throws InterruptedException {
- RemoteServiceContext remoteServiceContext = client.get(uri);
- assertNotNull(remoteServiceContext);
-
- LinkProviderRegistry providerRegistry = remoteServiceContext.get(LinkProviderRegistry.class);
- assertNotNull(providerRegistry);
-
- final String schemeTest = "test";
- LinkProviderService client = providerRegistry.register(new StubLinkProvider(schemeTest));
- assertNotNull(client);
-
- ConnectPoint src = new ConnectPoint(deviceId("dev:1"), portNumber(10));
- ConnectPoint dst = new ConnectPoint(deviceId("dev:2"), portNumber(20));
- LinkDescription linkDescription = new DefaultLinkDescription(src, dst, Link.Type.DIRECT, ANON);
- client.linkDetected(linkDescription);
- assertEquals(schemeTest, svLinkProviderService.provider().id().scheme());
- assertTrue(svLinkProviderService.calls.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(linkDescription, svLinkProviderService.arg);
- }
-
- @Test
- public void linkServiceBasics() throws InterruptedException {
- RemoteServiceContext remoteServiceContext = client.get(uri);
- assertNotNull(remoteServiceContext);
-
- LinkProviderRegistry providerRegistry = remoteServiceContext.get(LinkProviderRegistry.class);
- assertNotNull(providerRegistry);
-
- final String schemeTest = "test";
- LinkProviderService client = providerRegistry.register(new StubLinkProvider(schemeTest));
- assertNotNull(client);
-
- ConnectPoint src = new ConnectPoint(deviceId("dev:1"), portNumber(10));
- ConnectPoint dst = new ConnectPoint(deviceId("dev:2"), portNumber(20));
- LinkDescription linkDescription = new DefaultLinkDescription(src, dst, Link.Type.DIRECT, ANON);
-
- client.linkDetected(linkDescription);
- assertEquals(schemeTest, svLinkProviderService.provider().id().scheme());
- assertTrue(svLinkProviderService.calls.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(linkDescription, svLinkProviderService.arg);
-
- svLinkProviderService.reset();
-
- client.linkVanished(linkDescription);
- assertEquals(schemeTest, svLinkProviderService.provider().id().scheme());
- assertTrue(svLinkProviderService.calls.await(10, TimeUnit.SECONDS));
- assertEqualsButNotSame(linkDescription, svLinkProviderService.arg);
- }
-
- /**
- * Device Provider on CO side.
- */
- public class CTestDeviceProvider implements DeviceProvider {
-
- final CountDownLatch triggerProbe = new CountDownLatch(1);
- DeviceId triggerProbeDid;
-
- final CountDownLatch roleChanged = new CountDownLatch(1);
- DeviceId roleChangedDid;
- MastershipRole roleChangedNewRole;
-
- final CountDownLatch isReachable = new CountDownLatch(1);
- DeviceId isReachableDid;
- boolean isReachableReply = false;
-
- final CountDownLatch portStateChanged = new CountDownLatch(1);
- DeviceId portStateChangedDid;
- PortNumber portStateChangedPort;
-
- @Override
- public ProviderId id() {
- return PID;
- }
-
- @Override
- public void triggerProbe(DeviceId deviceId) {
- log.info("triggerProbe({}) on Client called", deviceId);
- triggerProbeDid = deviceId;
- triggerProbe.countDown();
- }
-
- @Override
- public void roleChanged(DeviceId deviceId, MastershipRole newRole) {
- log.info("roleChanged({},{}) on Client called", deviceId, newRole);
- roleChangedDid = deviceId;
- roleChangedNewRole = newRole;
- roleChanged.countDown();
- }
-
- @Override
- public boolean isReachable(DeviceId deviceId) {
- log.info("isReachable({}) on Client called", deviceId);
- isReachableDid = deviceId;
- isReachable.countDown();
- return isReachableReply;
- }
-
- @Override
- public void changePortState(DeviceId deviceId, PortNumber portNumber,
- boolean enable) {
- log.info("portState change to {} on ({},{}) on Client called", enable,
- deviceId, portNumber);
- portStateChangedDid = deviceId;
- portStateChangedPort = portNumber;
- portStateChanged.countDown();
-
- }
-
- }
-
- class NoOpRemoteServiceProviderRegistry
- implements RemoteServiceProviderRegistry {
-
- @Override
- public RemoteServiceContextProviderService register(RemoteServiceContextProvider provider) {
- return new RemoteServiceContextProviderService() {
-
- @Override
- public RemoteServiceContextProvider provider() {
- return provider;
- }
- };
- }
-
- @Override
- public void unregister(RemoteServiceContextProvider provider) {
- }
-
- @Override
- public Set<ProviderId> getProviders() {
- return Collections.emptySet();
- }
- }
-
- /**
- * DeviceProvider on Metro side.
- */
- public class MTestDeviceProviderRegistry
- extends AbstractProviderRegistry<DeviceProvider, DeviceProviderService>
- implements DeviceProviderRegistry {
-
- @Override
- protected DeviceProviderService createProviderService(DeviceProvider provider) {
- log.info("createProviderService({})", provider);
- svSideDeviceProvider = provider;
- svDeviceProviderService = new MTestDeviceProviderService(provider);
- serverReady.countDown();
- return svDeviceProviderService;
- }
-
- }
-
- private final class MTestDeviceProviderService
- extends AbstractProviderService<DeviceProvider>
- implements DeviceProviderService {
-
- public MTestDeviceProviderService(DeviceProvider provider) {
- super(provider);
- }
-
-
- final CountDownLatch deviceConnected = new CountDownLatch(1);
- DeviceId deviceConnectedDid;
- DeviceDescription deviceConnectedDesc;
-
- @Override
- public void deviceConnected(DeviceId deviceId,
- DeviceDescription deviceDescription) {
- log.info("deviceConnected({}, {}) on Server called", deviceId, deviceDescription);
- deviceConnectedDid = deviceId;
- deviceConnectedDesc = deviceDescription;
- deviceConnected.countDown();
- }
-
- final CountDownLatch updatePorts = new CountDownLatch(1);
- DeviceId updatePortsDid;
- List<PortDescription> updatePortsDescs;
-
- @Override
- public void updatePorts(DeviceId deviceId,
- List<PortDescription> portDescriptions) {
- log.info("updatePorts({}, {}) on Server called", deviceId, portDescriptions);
- updatePortsDid = deviceId;
- updatePortsDescs = portDescriptions;
- updatePorts.countDown();
- }
-
- final CountDownLatch receivedRoleReply = new CountDownLatch(1);
- DeviceId receivedRoleReplyDid;
- MastershipRole receivedRoleReplyRequested;
- MastershipRole receivedRoleReplyResponse;
-
- @Override
- public void receivedRoleReply(DeviceId deviceId, MastershipRole requested,
- MastershipRole response) {
- log.info("receivedRoleReply({}, {}, {}) on Server called", deviceId, requested, response);
- receivedRoleReplyDid = deviceId;
- receivedRoleReplyRequested = requested;
- receivedRoleReplyResponse = response;
- receivedRoleReply.countDown();
- }
-
- final CountDownLatch portStatusChanged = new CountDownLatch(1);
- DeviceId portStatusChangedDid;
- PortDescription portStatusChangedDesc;
-
-
- @Override
- public void portStatusChanged(DeviceId deviceId,
- PortDescription portDescription) {
- log.info("portStatusChanged({}, {}) on Server called", deviceId, portDescription);
- portStatusChangedDid = deviceId;
- portStatusChangedDesc = portDescription;
- portStatusChanged.countDown();
- }
-
- final CountDownLatch updatePortStatistics = new CountDownLatch(1);
- DeviceId updatePortStatisticsDid;
- Collection<PortStatistics> updatePortStatisticsStats;
-
-
- @Override
- public void updatePortStatistics(DeviceId deviceId,
- Collection<PortStatistics> portStatistics) {
- log.info("updatePortStatistics({}, {}) on Server called", deviceId, portStatistics);
- updatePortStatisticsDid = deviceId;
- updatePortStatisticsStats = portStatistics;
- updatePortStatistics.countDown();
- }
-
- final CountDownLatch deviceDisconnected = new CountDownLatch(1);
- DeviceId deviceDisconnectedDid;
-
- @Override
- public void deviceDisconnected(DeviceId deviceId) {
- log.info("deviceDisconnected({}) on Server called", deviceId);
- deviceDisconnectedDid = deviceId;
- deviceDisconnected.countDown();
- }
- }
-
- public class ServerSideLinkProviderRegistry
- extends AbstractProviderRegistry<LinkProvider, LinkProviderService>
- implements LinkProviderRegistry {
-
- @Override
- protected LinkProviderService createProviderService(LinkProvider provider) {
- svLinkProviderService = new ServerSideLinkProviderService(provider);
- return svLinkProviderService;
- }
-
- }
-
- public class ServerSideLinkProviderService
- extends AbstractProviderService<LinkProvider>
- implements LinkProviderService {
-
- CountDownLatch calls = new CountDownLatch(1);
- Object arg = null;
-
- public void reset() {
- calls = new CountDownLatch(1);
- arg = null;
- }
-
- public ServerSideLinkProviderService(LinkProvider provider) {
- super(provider);
- }
-
- @Override
- public void linksVanished(DeviceId deviceId) {
- log.info("linksVanished({})", deviceId);
- arg = deviceId;
- calls.countDown();
- }
-
- @Override
- public void linksVanished(ConnectPoint connectPoint) {
- log.info("linksVanished({})", connectPoint);
- arg = connectPoint;
- calls.countDown();
- }
-
- @Override
- public void linkVanished(LinkDescription linkDescription) {
- log.info("linksVanished({})", linkDescription);
- arg = linkDescription;
- calls.countDown();
- }
-
- @Override
- public void linkDetected(LinkDescription linkDescription) {
- log.info("linkDetected({})", linkDescription);
- arg = linkDescription;
- calls.countDown();
- }
- }
-
-}
diff --git a/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/impl/GrpcServer.java b/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/impl/GrpcServer.java
deleted file mode 100644
index 4ea8e50..0000000
--- a/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/impl/GrpcServer.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Foundation
- *
- * 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.rpc.nb.impl;
-
-import io.grpc.Server;
-import io.grpc.netty.NettyServerBuilder;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onosproject.incubator.rpc.nb.mcast.MulticastRouteGrpcService;
-import org.onosproject.net.mcast.MulticastRouteService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-
-/**
- * gRPC server for northbound APIs.
- */
-@Component(immediate = true)
-public class GrpcServer {
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected MulticastRouteService multicastRouteService;
-
- // TODO make configurable
- private int port = 50051;
-
- private Server server;
-
- @Activate
- public void activate() {
- start();
- log.info("Started");
- }
-
- @Deactivate
- public void deactivate() {
- stop();
- log.info("Stopped");
- }
-
- private void start() {
- try {
- server = NettyServerBuilder.forPort(port)
- .addService(new MulticastRouteGrpcService(multicastRouteService))
- .build()
- .start();
- log.info("gRPC server started listening on " + port);
- } catch (IOException e) {
- log.error("Failed to start gRPC server", e);
- }
- }
-
- private void stop() {
- if (server != null) {
- server.shutdown();
- }
- }
-}
diff --git a/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/impl/package-info.java b/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/impl/package-info.java
deleted file mode 100644
index ca2f905..0000000
--- a/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/impl/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Foundation
- *
- * 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.
- */
-
-/**
- * Northbound gPRC implementation.
- */
-package org.onosproject.incubator.rpc.nb.impl;
diff --git a/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/mcast/MulticastRouteGrpcService.java b/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/mcast/MulticastRouteGrpcService.java
deleted file mode 100644
index f3f6e8c..0000000
--- a/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/mcast/MulticastRouteGrpcService.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Foundation
- *
- * 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.rpc.nb.mcast;
-
-import io.grpc.stub.StreamObserver;
-import org.onlab.packet.IpAddress;
-import org.onosproject.grpc.net.mcast.MulticastRouteServiceGrpc;
-import org.onosproject.grpc.net.mcast.MulticastRouteServiceOuterClass;
-import org.onosproject.net.mcast.McastRoute;
-import org.onosproject.net.mcast.MulticastRouteService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Implementation of multicast gRPC service.
- */
-@Beta
-public class MulticastRouteGrpcService
- extends MulticastRouteServiceGrpc.MulticastRouteServiceImplBase {
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private final MulticastRouteService multicastRouteService;
-
- public MulticastRouteGrpcService(MulticastRouteService service) {
- this.multicastRouteService = service;
- }
-
- @Override
- public StreamObserver<MulticastRouteServiceOuterClass.MulticastRequest>
- operation(StreamObserver<MulticastRouteServiceOuterClass.MulticastReply> responseObserver) {
-
- return new MulticastServiceServerProxy(responseObserver);
- }
-
- private final class MulticastServiceServerProxy
- implements StreamObserver<MulticastRouteServiceOuterClass.MulticastRequest> {
-
- private final StreamObserver<MulticastRouteServiceOuterClass.MulticastReply> responseObserver;
-
- public MulticastServiceServerProxy(
- StreamObserver<MulticastRouteServiceOuterClass.MulticastReply> responseObserver) {
- this.responseObserver = responseObserver;
- }
-
- @Override
- public void onNext(MulticastRouteServiceOuterClass.MulticastRequest value) {
- MulticastRouteServiceOuterClass.MulticastRoute route = value.getRoute();
-
- switch (value.getOperation()) {
- case ADD_ROUTE:
- multicastRouteService.add(
- new McastRoute(IpAddress.valueOf(route.getSource()),
- IpAddress.valueOf(route.getGroup()),
- McastRoute.Type.STATIC));
- break;
- case ADD_SOURCE:
- break;
- case ADD_SINK:
- break;
- case REMOVE_ROUTE:
- break;
- case REMOVE_SOURCE:
- break;
- case REMOVE_SINK:
- break;
- case UNRECOGNIZED:
- default:
- break;
- }
-
- responseObserver.onNext(MulticastRouteServiceOuterClass.MulticastReply.newBuilder().build());
- }
-
- @Override
- public void onError(Throwable t) {
- log.warn("Error receiving multicast route", t);
- }
-
- @Override
- public void onCompleted() {
- // When the client closes their stream, we'll close ours too
- responseObserver.onCompleted();
- }
- }
-}
diff --git a/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/mcast/package-info.java b/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/mcast/package-info.java
deleted file mode 100644
index 60fc7d0..0000000
--- a/graveyard/rpc-nb/src/main/java/org/onosproject/incubator/rpc/nb/mcast/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2016-present Open Networking Foundation
- *
- * 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.
- */
-
-/**
- * Multicast gRPC implementation.
- */
-package org.onosproject.incubator.rpc.nb.mcast;
diff --git a/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/AbstractProviderRegistry.java b/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/AbstractProviderRegistry.java
deleted file mode 100644
index 2638064..0000000
--- a/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/AbstractProviderRegistry.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.impl;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.onosproject.incubator.rpc.RemoteServiceContextProvider;
-import org.onosproject.incubator.rpc.RemoteServiceContextProviderService;
-import org.onosproject.incubator.rpc.RemoteServiceProviderRegistry;
-import org.onosproject.net.provider.ProviderId;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Maps;
-
-// Probably should change name or add missing feature (provider from scheme) to
-// org.onosproject.net.provider.AbstractProviderRegistry<P, S>
-@Beta
-abstract class AbstractProviderRegistry
- implements RemoteServiceProviderRegistry {
-
-
- private final Map<ProviderId, RemoteServiceContextProvider> pidToProvider = Maps.newConcurrentMap();
- private final Map<String, RemoteServiceContextProvider> schemeToProvider = Maps.newConcurrentMap();
-
- public AbstractProviderRegistry() {
- super();
- }
-
- protected abstract RemoteServiceContextProviderService createProviderService(RemoteServiceContextProvider provider);
-
- @Override
- public synchronized RemoteServiceContextProviderService register(RemoteServiceContextProvider provider) {
- // TODO check if it already exists
- pidToProvider.put(provider.id(), provider);
- schemeToProvider.put(provider.id().scheme(), provider);
- return createProviderService(provider);
- }
-
- @Override
- public synchronized void unregister(RemoteServiceContextProvider provider) {
- pidToProvider.remove(provider.id(), provider);
- schemeToProvider.remove(provider.id().scheme(), provider);
- }
-
- @Override
- public Set<ProviderId> getProviders() {
- return ImmutableSet.copyOf(pidToProvider.keySet());
- }
-
- protected RemoteServiceContextProvider getProvider(ProviderId pid) {
- return pidToProvider.get(pid);
- }
-
- protected RemoteServiceContextProvider getProvider(String scheme) {
- return schemeToProvider.get(scheme);
- }
-
-}
diff --git a/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/LocalRemoteServiceProvider.java b/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/LocalRemoteServiceProvider.java
deleted file mode 100644
index 5ef0d20..0000000
--- a/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/LocalRemoteServiceProvider.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.impl;
-
-import static com.google.common.base.Preconditions.checkArgument;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Objects;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.osgi.service.component.annotations.Reference;
-import org.osgi.service.component.annotations.ReferenceCardinality;
-import org.onlab.osgi.DefaultServiceDirectory;
-import org.onlab.osgi.ServiceDirectory;
-import org.onosproject.incubator.rpc.RemoteServiceContext;
-import org.onosproject.incubator.rpc.RemoteServiceContextProvider;
-import org.onosproject.incubator.rpc.RemoteServiceContextProviderService;
-import org.onosproject.incubator.rpc.RemoteServiceProviderRegistry;
-import org.onosproject.net.provider.ProviderId;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Sample implementation of RemoteServiceContextProvider.
- *
- * Scheme: "local", calling corresponding local service on request.
- * Only expected for testing until real RPC implementation is ready.
- *
- * Note: This is expected to be removed or separated out as separate bundle
- * once other RPC implementaion became available.
- */
-@Beta
-@Component(immediate = true)
-public class LocalRemoteServiceProvider implements RemoteServiceContextProvider {
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- private RemoteServiceContext theOne = new LocalServiceContext();
-
- private static final ProviderId PID = new ProviderId("local", "org.onosproject.rpc.provider.local");
-
- @Reference(cardinality = ReferenceCardinality.MANDATORY)
- protected RemoteServiceProviderRegistry rpcRegistry;
-
- private final Map<Class<? extends Object>, Object> services = new ConcurrentHashMap<>();
-
- private RemoteServiceContextProviderService providerService;
-
- @Activate
- protected void activate() {
-
- services.put(SomeOtherService.class, new SomeOtherServiceImpl());
-
- providerService = rpcRegistry.register(this);
- log.info("Started");
- }
-
- @Deactivate
- protected void deactivate() {
- rpcRegistry.unregister(this);
- log.info("Stopped");
- }
-
- @Override
- public ProviderId id() {
- return PID;
- }
-
- @Override
- public RemoteServiceContext get(URI uri) {
- checkArgument(Objects.equals(uri.getScheme(), "local"));
- return theOne;
- }
-
- private final class LocalServiceContext implements RemoteServiceContext {
-
- private final ServiceDirectory directory = new DefaultServiceDirectory();
-
- @Override
- public <T> T get(Class<T> serviceClass) {
- @SuppressWarnings("unchecked")
- T service = (T) services.get(serviceClass);
- if (service != null) {
- return service;
- }
- // look up OSGi services on this host.
- // provided to unblock development depending on RPC.
- return directory.get(serviceClass);
- }
- }
-
- // Service provided by RPC can be non-OSGi Service
- public static interface SomeOtherService {
- String hello();
- }
-
- public static class SomeOtherServiceImpl implements SomeOtherService {
-
- @Override
- public String hello() {
- return "Goodbye";
- }
- }
-
-}
diff --git a/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/RemoteServiceManager.java b/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/RemoteServiceManager.java
deleted file mode 100644
index b6afe06..0000000
--- a/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/RemoteServiceManager.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.impl;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.incubator.rpc.RemoteServiceContext;
-import org.onosproject.incubator.rpc.RemoteServiceContextProvider;
-import org.onosproject.incubator.rpc.RemoteServiceContextProviderService;
-import org.onosproject.incubator.rpc.RemoteServiceDirectory;
-import org.onosproject.incubator.rpc.RemoteServiceProviderRegistry;
-import org.onosproject.net.provider.AbstractProviderService;
-import org.osgi.service.component.annotations.Activate;
-import org.osgi.service.component.annotations.Component;
-import org.osgi.service.component.annotations.Deactivate;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.net.URI;
-
-/**
- * Provides RemoteService related APIs.
- */
-@Beta
-@Component(immediate = true, service = { RemoteServiceDirectory.class, RemoteServiceProviderRegistry.class })
-public class RemoteServiceManager extends AbstractProviderRegistry
- implements RemoteServiceDirectory, RemoteServiceProviderRegistry {
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- @Activate
- protected void activate() {
- log.info("Started");
- }
-
- @Deactivate
- protected void deactivate() {
- log.info("Stopped");
- }
-
- @Override
- public RemoteServiceContext get(URI uri) {
- RemoteServiceContextProvider factory = getProvider(uri.getScheme());
- if (factory != null) {
- return factory.get(uri);
- }
- throw new UnsupportedOperationException(uri.getScheme() + " not supported");
- }
-
- private final class InternalRemoteServiceContextProviderService
- extends AbstractProviderService<RemoteServiceContextProvider>
- implements RemoteServiceContextProviderService {
-
- public InternalRemoteServiceContextProviderService(RemoteServiceContextProvider provider) {
- super(provider);
- }
- }
-
- // make this abstract method if slicing out
- @Override
- protected RemoteServiceContextProviderService createProviderService(RemoteServiceContextProvider provider) {
- return new InternalRemoteServiceContextProviderService(provider);
- }
-
-}
diff --git a/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/package-info.java b/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/package-info.java
deleted file mode 100644
index 79017c1..0000000
--- a/graveyard/rpc/src/main/java/org/onosproject/incubator/rpc/impl/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.
- */
-
-/**
- * Implementation of the inter-cluster RPC service.
- */
-package org.onosproject.incubator.rpc.impl;
diff --git a/graveyard/rpc/src/test/java/org/onosproject/incubator/rpc/impl/RemoteServiceManagerTest.java b/graveyard/rpc/src/test/java/org/onosproject/incubator/rpc/impl/RemoteServiceManagerTest.java
deleted file mode 100644
index 40458e5..0000000
--- a/graveyard/rpc/src/test/java/org/onosproject/incubator/rpc/impl/RemoteServiceManagerTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * 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.rpc.impl;
-
-import static org.junit.Assert.*;
-
-import java.net.URI;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.onosproject.incubator.rpc.RemoteServiceContext;
-import org.onosproject.incubator.rpc.RemoteServiceDirectory;
-import org.onosproject.incubator.rpc.impl.LocalRemoteServiceProvider.SomeOtherService;
-
-/**
- * Set of tests of the RemoteServiceManager component.
- */
-public class RemoteServiceManagerTest {
-
- private static final URI LOCAL_URI = URI.create("local://whateverIgnored");
-
- private RemoteServiceManager rpcManager;
- private RemoteServiceDirectory rpcDirectory;
-
- private LocalRemoteServiceProvider rpcProvider;
-
- @Before
- public void setUp() {
- rpcManager = new RemoteServiceManager();
- rpcManager.activate();
- rpcDirectory = rpcManager;
-
- rpcProvider = new LocalRemoteServiceProvider();
- rpcProvider.rpcRegistry = rpcManager;
- rpcProvider.activate();
-
- }
-
- @After
- public void tearDown() {
- rpcProvider.deactivate();
-
- rpcManager.deactivate();
- }
-
- @Test
- public void basics() {
- RemoteServiceContext remoteServiceContext = rpcDirectory.get(LOCAL_URI);
- assertNotNull("Expecting valid RPC context", remoteServiceContext);
-
- SomeOtherService someService = remoteServiceContext.get(SomeOtherService.class);
- assertNotNull("Expecting reference to sample service", someService);
-
- assertEquals("Goodbye", someService.hello());
- }
-
-}