Moved Tunnel subsystem to ONOS core incubator area.

Change-Id: I03f90b068013fbf0490af5277b33459ccc0514ec
diff --git a/cli/pom.xml b/cli/pom.xml
index 2a9e922..ddeacc5 100644
--- a/cli/pom.xml
+++ b/cli/pom.xml
@@ -39,6 +39,10 @@
         </dependency>
         <dependency>
             <groupId>org.onosproject</groupId>
+            <artifactId>onos-incubator-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
             <artifactId>onlab-osgi</artifactId>
         </dependency>
         <dependency>
diff --git a/cli/src/main/java/org/onosproject/cli/net/BorrowTunnelCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelBorrowCommand.java
similarity index 92%
rename from cli/src/main/java/org/onosproject/cli/net/BorrowTunnelCommand.java
rename to cli/src/main/java/org/onosproject/cli/net/TunnelBorrowCommand.java
index 4a15d8e..61188d2 100644
--- a/cli/src/main/java/org/onosproject/cli/net/BorrowTunnelCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/TunnelBorrowCommand.java
@@ -27,13 +27,13 @@
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.PortNumber;
 import org.onosproject.net.provider.ProviderId;
-import org.onosproject.net.tunnel.DefaultOpticalTunnelEndPoint;
-import org.onosproject.net.tunnel.IpTunnelEndPoint;
-import org.onosproject.net.tunnel.OpticalLogicId;
-import org.onosproject.net.tunnel.OpticalTunnelEndPoint;
-import org.onosproject.net.tunnel.Tunnel;
-import org.onosproject.net.tunnel.TunnelEndPoint;
-import org.onosproject.net.tunnel.TunnelService;
+import org.onosproject.incubator.net.tunnel.DefaultOpticalTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.IpTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.OpticalLogicId;
+import org.onosproject.incubator.net.tunnel.OpticalTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.Tunnel;
+import org.onosproject.incubator.net.tunnel.TunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.TunnelService;
 
 /**
  * Borrows all tunnels between specific source tunnel end point and specific
@@ -43,7 +43,7 @@
 description = "Borrows all tunnels between specific source tunnel end point"
         + " and specific destination tunnel end point."
         + " Supports for IP address and optical as tunnel end point now. It's used by consumers.")
-public class BorrowTunnelCommand extends AbstractShellCommand {
+public class TunnelBorrowCommand extends AbstractShellCommand {
     @Argument(index = 0, name = "consumerId", description = "consumer id means application id.",
             required = true, multiValued = false)
     String consumerId = null;
diff --git a/cli/src/main/java/org/onosproject/cli/net/DeleteTunnelCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelDeleteCommand.java
similarity index 91%
rename from cli/src/main/java/org/onosproject/cli/net/DeleteTunnelCommand.java
rename to cli/src/main/java/org/onosproject/cli/net/TunnelDeleteCommand.java
index cded33b..9be0da8 100644
--- a/cli/src/main/java/org/onosproject/cli/net/DeleteTunnelCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/TunnelDeleteCommand.java
@@ -24,12 +24,12 @@
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.PortNumber;
 import org.onosproject.net.provider.ProviderId;
-import org.onosproject.net.tunnel.DefaultOpticalTunnelEndPoint;
-import org.onosproject.net.tunnel.IpTunnelEndPoint;
-import org.onosproject.net.tunnel.OpticalLogicId;
-import org.onosproject.net.tunnel.OpticalTunnelEndPoint;
-import org.onosproject.net.tunnel.TunnelAdminService;
-import org.onosproject.net.tunnel.TunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.DefaultOpticalTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.IpTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.OpticalLogicId;
+import org.onosproject.incubator.net.tunnel.OpticalTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.TunnelAdminService;
+import org.onosproject.incubator.net.tunnel.TunnelEndPoint;
 
 /**
  * Supports for deleting all tunnels by using IP address and optical as tunnel
@@ -37,7 +37,7 @@
  */
 @Command(scope = "onos", name = "delete-tunnels", description = "Supports for deleting all tunnels by using IP address"
         + " and optical as tunnel end point now. It's used by consumers.")
-public class DeleteTunnelCommand extends AbstractShellCommand {
+public class TunnelDeleteCommand extends AbstractShellCommand {
     static String applicationId = "DEFAULT_APP_ID";
     @Argument(index = 0, name = "src", description = "Source tunnel point."
             + " Only supports for IpTunnelEndPoint and OpticalTunnelEndPoint as end point now."
diff --git a/cli/src/main/java/org/onosproject/cli/net/QueryTunnelCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java
similarity index 91%
rename from cli/src/main/java/org/onosproject/cli/net/QueryTunnelCommand.java
rename to cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java
index b4bc117..4e1fe28 100644
--- a/cli/src/main/java/org/onosproject/cli/net/QueryTunnelCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/TunnelQueryCommand.java
@@ -25,13 +25,13 @@
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.PortNumber;
 import org.onosproject.net.provider.ProviderId;
-import org.onosproject.net.tunnel.DefaultOpticalTunnelEndPoint;
-import org.onosproject.net.tunnel.IpTunnelEndPoint;
-import org.onosproject.net.tunnel.OpticalLogicId;
-import org.onosproject.net.tunnel.OpticalTunnelEndPoint;
-import org.onosproject.net.tunnel.Tunnel;
-import org.onosproject.net.tunnel.TunnelEndPoint;
-import org.onosproject.net.tunnel.TunnelService;
+import org.onosproject.incubator.net.tunnel.DefaultOpticalTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.IpTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.OpticalLogicId;
+import org.onosproject.incubator.net.tunnel.OpticalTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.Tunnel;
+import org.onosproject.incubator.net.tunnel.TunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.TunnelService;
 
 /**
  * Supports for querying all tunnels by using IP address and optical as tunnel
@@ -40,7 +40,7 @@
 @Command(scope = "onos", name = "query-tunnels", description = "Supports for querying all tunnels by using IP address"
         + " and optical as tunnel end point now."
         + " It's used by consumers.")
-public class QueryTunnelCommand extends AbstractShellCommand {
+public class TunnelQueryCommand extends AbstractShellCommand {
     @Argument(index = 0, name = "src", description = "Source tunnel point."
             + " Only supports for IpTunnelEndPoint and OpticalTunnelEndPoint as end point now."
             + " If deletess a ODUK or OCH type tunnel, the formatter of this argument is DeviceId-PortNumber."
diff --git a/cli/src/main/java/org/onosproject/cli/net/QueryTunnelSubscriptionCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelQuerySubscriptionCommand.java
similarity index 91%
rename from cli/src/main/java/org/onosproject/cli/net/QueryTunnelSubscriptionCommand.java
rename to cli/src/main/java/org/onosproject/cli/net/TunnelQuerySubscriptionCommand.java
index c91dcce..45d1e78 100644
--- a/cli/src/main/java/org/onosproject/cli/net/QueryTunnelSubscriptionCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/TunnelQuerySubscriptionCommand.java
@@ -22,8 +22,8 @@
 import org.onosproject.cli.AbstractShellCommand;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.DefaultApplicationId;
-import org.onosproject.net.tunnel.TunnelService;
-import org.onosproject.net.tunnel.TunnelSubscription;
+import org.onosproject.incubator.net.tunnel.TunnelService;
+import org.onosproject.incubator.net.tunnel.TunnelSubscription;
 
 /**
  * Query all tunnel subscriptions of consumer by consumer id.
@@ -31,7 +31,7 @@
  */
 @Command(scope = "onos", name = "query-tunnel-subscriptions",
       description = "Query all request orders of consumer by consumer id. It's used by consumers.")
-public class QueryTunnelSubscriptionCommand extends AbstractShellCommand {
+public class TunnelQuerySubscriptionCommand extends AbstractShellCommand {
     @Argument(index = 0, name = "consumerId",
             description = "consumer id means provider id",
             required = true, multiValued = false)
diff --git a/cli/src/main/java/org/onosproject/cli/net/ReturnTunnelCommand.java b/cli/src/main/java/org/onosproject/cli/net/TunnelReturnCommand.java
similarity index 92%
rename from cli/src/main/java/org/onosproject/cli/net/ReturnTunnelCommand.java
rename to cli/src/main/java/org/onosproject/cli/net/TunnelReturnCommand.java
index c3111e8..3de8f00 100644
--- a/cli/src/main/java/org/onosproject/cli/net/ReturnTunnelCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/TunnelReturnCommand.java
@@ -26,12 +26,12 @@
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.PortNumber;
 import org.onosproject.net.provider.ProviderId;
-import org.onosproject.net.tunnel.DefaultOpticalTunnelEndPoint;
-import org.onosproject.net.tunnel.IpTunnelEndPoint;
-import org.onosproject.net.tunnel.OpticalLogicId;
-import org.onosproject.net.tunnel.OpticalTunnelEndPoint;
-import org.onosproject.net.tunnel.TunnelEndPoint;
-import org.onosproject.net.tunnel.TunnelService;
+import org.onosproject.incubator.net.tunnel.DefaultOpticalTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.IpTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.OpticalLogicId;
+import org.onosproject.incubator.net.tunnel.OpticalTunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.TunnelEndPoint;
+import org.onosproject.incubator.net.tunnel.TunnelService;
 
 /**
  * Returns all tunnels between specific source tunnel end point and specific
@@ -42,7 +42,7 @@
 description = "Returns all tunnels between specific source tunnel end point and specific "
         + " destination tunnel end point. Supports for IP address and optical as tunnel end point now."
         + " It's used by consumers.")
-public class ReturnTunnelCommand extends AbstractShellCommand {
+public class TunnelReturnCommand extends AbstractShellCommand {
     @Argument(index = 0, name = "consumerId", description = "consumer id means application id.",
             required = true, multiValued = false)
     String consumerId = null;
diff --git a/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml b/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml
index 93afcd5..d92129a 100644
--- a/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml
+++ b/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml
@@ -369,19 +369,19 @@
         </command>
         <!-- tunnel commands -->
         <command>
-            <action class="org.onosproject.cli.net.DeleteTunnelCommand"/>
+            <action class="org.onosproject.cli.net.TunnelDeleteCommand"/>
         </command>
         <command>
-            <action class="org.onosproject.cli.net.BorrowTunnelCommand"/>
+            <action class="org.onosproject.cli.net.TunnelBorrowCommand"/>
         </command>
         <command>
-            <action class="org.onosproject.cli.net.ReturnTunnelCommand"/>
+            <action class="org.onosproject.cli.net.TunnelReturnCommand"/>
         </command>
         <command>
-            <action class="org.onosproject.cli.net.QueryTunnelCommand"/>
+            <action class="org.onosproject.cli.net.TunnelQueryCommand"/>
         </command>
         <command>
-            <action class="org.onosproject.cli.net.QueryTunnelSubscriptionCommand"/>
+            <action class="org.onosproject.cli.net.TunnelQuerySubscriptionCommand"/>
         </command>
     </command-bundle>