Moved service PI classes/interfaces to appropriate package

Change-Id: I44a4aba848fd758a78a28eb484b7f579e3f22d08
diff --git a/core/api/src/main/java/org/onosproject/net/pi/model/package-info.java b/core/api/src/main/java/org/onosproject/net/pi/model/package-info.java
index a218d7c..bfcfb3c 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/model/package-info.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/model/package-info.java
@@ -15,6 +15,6 @@
  */
 
 /**
- * Base abstractions of a protocol-independent packet processing pipeline.
+ * Model abstractions of a protocol-independent packet processing pipeline.
  */
 package org.onosproject.net.pi.model;
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/package-info.java b/core/api/src/main/java/org/onosproject/net/pi/runtime/package-info.java
index 81fc805..2cad65c 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/package-info.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/runtime/package-info.java
@@ -15,6 +15,6 @@
  */
 
 /**
- * Base abstractions fot runtime control of a protocol-independent pipeline.
+ * Classes abstracting entities for runtime control of a protocol-independent packet processing pipeline.
  */
-package org.onosproject.net.pi.runtime;
\ No newline at end of file
+package org.onosproject.net.pi.runtime;
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfConfig.java b/core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfConfig.java
similarity index 92%
rename from core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfConfig.java
rename to core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfConfig.java
index a04dbf2..e8aa731 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfConfig.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfConfig.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.net.pi.runtime;
+package org.onosproject.net.pi.service;
 
 import com.google.common.annotations.Beta;
 import org.onosproject.net.DeviceId;
@@ -24,7 +24,7 @@
  * Configuration for the PiPipeconf susbystem.
  */
 @Beta
-public class PiPipeconfConfig extends Config<DeviceId> {
+public final class PiPipeconfConfig extends Config<DeviceId> {
 
     public static final String PIPIPECONFID = "piPipeconfId";
 
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfDeviceMappingEvent.java b/core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfDeviceMappingEvent.java
similarity index 90%
rename from core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfDeviceMappingEvent.java
rename to core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfDeviceMappingEvent.java
index 540967c..7a92449 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfDeviceMappingEvent.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfDeviceMappingEvent.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.net.pi.runtime;
+package org.onosproject.net.pi.service;
 
 import com.google.common.annotations.Beta;
 import org.onosproject.event.AbstractEvent;
@@ -24,7 +24,7 @@
  * Entity that represents pipeconf to device binding events.
  */
 @Beta
-public class PiPipeconfDeviceMappingEvent extends AbstractEvent<PiPipeconfDeviceMappingEvent.Type, DeviceId> {
+public final class PiPipeconfDeviceMappingEvent extends AbstractEvent<PiPipeconfDeviceMappingEvent.Type, DeviceId> {
 
     /**
      * Type of pipeconf to device mapping event.
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfMappingStore.java b/core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfMappingStore.java
similarity index 97%
rename from core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfMappingStore.java
rename to core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfMappingStore.java
index 76438b2..2f275ee 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfMappingStore.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfMappingStore.java
@@ -15,7 +15,7 @@
  */
 
 
-package org.onosproject.net.pi.runtime;
+package org.onosproject.net.pi.service;
 
 import com.google.common.annotations.Beta;
 import org.onosproject.net.DeviceId;
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfMappingStoreDelegate.java b/core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfMappingStoreDelegate.java
similarity index 95%
rename from core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfMappingStoreDelegate.java
rename to core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfMappingStoreDelegate.java
index c2fbf17..51e3909 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfMappingStoreDelegate.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfMappingStoreDelegate.java
@@ -15,7 +15,7 @@
  */
 
 
-package org.onosproject.net.pi.runtime;
+package org.onosproject.net.pi.service;
 
 import com.google.common.annotations.Beta;
 import org.onosproject.store.StoreDelegate;
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfService.java b/core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfService.java
similarity index 98%
rename from core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfService.java
rename to core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfService.java
index 2c6c66c..1e4088e 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfService.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/service/PiPipeconfService.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.net.pi.runtime;
+package org.onosproject.net.pi.service;
 
 import com.google.common.annotations.Beta;
 import org.onosproject.net.DeviceId;
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiTranslationService.java b/core/api/src/main/java/org/onosproject/net/pi/service/PiTranslationService.java
similarity index 93%
rename from core/api/src/main/java/org/onosproject/net/pi/runtime/PiTranslationService.java
rename to core/api/src/main/java/org/onosproject/net/pi/service/PiTranslationService.java
index d099583..210b7e0 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiTranslationService.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/service/PiTranslationService.java
@@ -14,12 +14,14 @@
  * limitations under the License.
  */
 
-package org.onosproject.net.pi.runtime;
+package org.onosproject.net.pi.service;
 
 import com.google.common.annotations.Beta;
 import org.onosproject.net.flow.FlowRule;
 import org.onosproject.net.group.Group;
 import org.onosproject.net.pi.model.PiPipeconf;
+import org.onosproject.net.pi.runtime.PiActionGroup;
+import org.onosproject.net.pi.runtime.PiTableEntry;
 
 /**
  * A service to translate protocol-dependent entities to protocol-independent ones.
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfMappingStoreDelegate.java b/core/api/src/main/java/org/onosproject/net/pi/service/package-info.java
similarity index 68%
copy from core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfMappingStoreDelegate.java
copy to core/api/src/main/java/org/onosproject/net/pi/service/package-info.java
index c2fbf17..13eeb3c 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfMappingStoreDelegate.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/service/package-info.java
@@ -14,15 +14,7 @@
  * limitations under the License.
  */
 
-
-package org.onosproject.net.pi.runtime;
-
-import com.google.common.annotations.Beta;
-import org.onosproject.store.StoreDelegate;
-
 /**
- * Pipeconf store delegate abstraction.
+ * Service abstractions for runtime control of a protocol-independent pipeline.
  */
-@Beta
-public interface PiPipeconfMappingStoreDelegate extends StoreDelegate<PiPipeconfDeviceMappingEvent> {
-}
+package org.onosproject.net.pi.service;