[ONOS-5806] Revise virtual provider and provider service
Changes
1. VirtualProvider contains ProviderId
2. VirtualProviderRegistryService Interface is added
3. VirtualProviderManager which is the implementation
of the intetreface is added
Change-Id: I015f0b8d2a6d7ae3bb571f6e1fa0090be3b4f192
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/virtual/provider/AbstractVirtualProviderService.java b/incubator/api/src/main/java/org/onosproject/incubator/net/virtual/provider/AbstractVirtualProviderService.java
index b257d2e..e12f1ef 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/virtual/provider/AbstractVirtualProviderService.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/virtual/provider/AbstractVirtualProviderService.java
@@ -18,13 +18,24 @@
import static com.google.common.base.Preconditions.checkState;
+/**
+ * Base implementation of a virtual provider service,
+ * which tracks the provider to which it is issued and can be invalidated.
+ *
+ * @param <P> type of the information provider
+ */
public abstract class AbstractVirtualProviderService<P extends VirtualProvider>
implements VirtualProviderService {
private boolean isValid = true;
- private final P provider;
+ private P provider = null;
- protected AbstractVirtualProviderService(P provider) {
+ /**
+ * Creates a virtual provider service on behalf of the specified provider.
+ *
+ * @param provider provider to which this service is being issued
+ */
+ protected void setProvider(P provider) {
this.provider = provider;
}