ONOS-1767 SM-ONOS implementation

22a363e ONOS-17767 SM-ONOS impl

Change-Id: Ifca8129f2266bada68af735cf81a1d39f1ec8506
diff --git a/core/api/src/main/java/org/onosproject/core/Application.java b/core/api/src/main/java/org/onosproject/core/Application.java
index 8cd063a..fca5384 100644
--- a/core/api/src/main/java/org/onosproject/core/Application.java
+++ b/core/api/src/main/java/org/onosproject/core/Application.java
@@ -15,6 +15,8 @@
  */
 package org.onosproject.core;
 
+import org.onosproject.security.Permission;
+
 import java.net.URI;
 import java.util.List;
 import java.util.Optional;
diff --git a/core/api/src/main/java/org/onosproject/core/ApplicationRole.java b/core/api/src/main/java/org/onosproject/core/ApplicationRole.java
index 71ae1e3..5fcb80b 100644
--- a/core/api/src/main/java/org/onosproject/core/ApplicationRole.java
+++ b/core/api/src/main/java/org/onosproject/core/ApplicationRole.java
@@ -23,9 +23,9 @@
     ADMIN,
 
     /**
-     * Indicates that an application has a REGULAR role.
+     * Indicates that an application has a USER role.
      */
-    REGULAR,
+    USER,
 
     /**
      * Indicates that an application role has not been specified.
diff --git a/core/api/src/main/java/org/onosproject/core/DefaultApplication.java b/core/api/src/main/java/org/onosproject/core/DefaultApplication.java
index ab72c6f..d8062dd 100644
--- a/core/api/src/main/java/org/onosproject/core/DefaultApplication.java
+++ b/core/api/src/main/java/org/onosproject/core/DefaultApplication.java
@@ -15,6 +15,8 @@
  */
 package org.onosproject.core;
 
+import org.onosproject.security.Permission;
+
 import java.net.URI;
 import java.util.Set;
 import java.util.Optional;
diff --git a/core/api/src/main/java/org/onosproject/core/Permission.java b/core/api/src/main/java/org/onosproject/core/Permission.java
deleted file mode 100644
index 282388c..0000000
--- a/core/api/src/main/java/org/onosproject/core/Permission.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2015 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.core;
-
-/**
- * Representation of an application permission.
- */
-public enum Permission {
-    APP_READ,
-    APP_EVENT,
-    CONFIG_READ,
-    CONFIG_WRITE,
-    CLUSTER_READ,
-    CLUSTER_WRITE,
-    CLUSTER_EVENT,
-    DEVICE_READ,
-    DEVICE_EVENT,
-    DRIVER_READ,
-    DRIVER_WRITE,
-    FLOWRULE_READ,
-    FLOWRULE_WRITE,
-    FLOWRULE_EVENT,
-    GROUP_READ,
-    GROUP_WRITE,
-    GROUP_EVENT,
-    HOST_READ,
-    HOST_WRITE,
-    HOST_EVENT,
-    INTENT_READ,
-    INTENT_WRITE,
-    INTENT_EVENT,
-    LINK_READ,
-    LINK_WRITE,
-    LINK_EVENT,
-    PACKET_READ,
-    PACKET_WRITE,
-    PACKET_EVENT,
-    STATISTIC_READ,
-    TOPOLOGY_READ,
-    TOPOLOGY_EVENT,
-    TUNNEL_READ,
-    TUNNEL_WRITE,
-    TUNNEL_EVENT,
-    STORAGE_WRITE
-}