Completes CRD for sdxl2cp.

Changes:
- Implements monitoring service;
- Implements sdxl2cp command;
- Implements sdxl2cps-list command;
- Updates unit tests

Change-Id: I55b5f4e9cac9cd7270f5c56c0e9e902781206fd2
diff --git a/sdx-l2/src/main/java/org/onosproject/sdxl2/SdxL2MonitoringService.java b/sdx-l2/src/main/java/org/onosproject/sdxl2/SdxL2MonitoringService.java
new file mode 100644
index 0000000..4da17e0
--- /dev/null
+++ b/sdx-l2/src/main/java/org/onosproject/sdxl2/SdxL2MonitoringService.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2016-present Open Networking Laboratory
+ *
+ * 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.sdxl2;
+
+import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.intent.Key;
+
+/**
+ * Service that provides the current state of
+ * the SDX-L2 related intents and of the
+ * client interfaces.
+ */
+public interface SdxL2MonitoringService {
+
+    /**
+     * Returns the state of the Intent that has been provided as input.
+     *
+     * @param intentKey key of the intent;
+     * @return the last state of the intent;
+     */
+    SdxL2State getIntentState(Key intentKey);
+
+    /**
+     * Returns the state of the EdgePort that has been provided as input.
+     *
+     * @param edgeport the connect point representing the edge port
+     * @return the last state of the edge port;
+     */
+    SdxL2State getEdgePortState(ConnectPoint edgeport);
+
+    /**
+     * Remove listeners.
+     */
+    void cleanup();
+
+}