Initial implementation of the intent domain manager

Change-Id: I9721449599a4a67bfad7469173c3b47a681873f6
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentDomain.java b/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentDomain.java
index 7450114..a52dce6 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentDomain.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentDomain.java
@@ -19,7 +19,6 @@
 import org.onosproject.net.ConnectPoint;
 import org.onosproject.net.DeviceId;
 
-import java.util.Objects;
 import java.util.Set;
 
 /**
@@ -37,7 +36,7 @@
 
     private IntentDomainProvider provider;
 
-    IntentDomain(IntentDomainId id, String name,
+    public IntentDomain(IntentDomainId id, String name,
                  Set<DeviceId> internalDevices,
                  Set<ConnectPoint> edgePorts) {
         this.id = id;
@@ -88,7 +87,7 @@
      *
      * @return intent domain provider
      */
-    IntentDomainProvider provider() {
+    public IntentDomainProvider provider() {
         return provider;
     }
 
@@ -115,16 +114,10 @@
     }
 
     /**
-     * Unsets the provider for the intent domain if the given provider matches
-     * the existing provider.
-     *
-     * @param provider provider to unset
+     * Unsets the provider for the intent domain.
      */
-    public void unsetProvider(IntentDomainProvider provider) {
-        // TODO consider checkState depending on caller
-        if (Objects.equals(this.provider, provider)) {
-            this.provider = null;
-        }
+    public void unsetProvider() {
+        this.provider = null;
     }
 
     //TODO add remaining setters (we will probably want to link this to the network config)