ONOS-1767 SM-ONOS implementation
22a363e ONOS-17767 SM-ONOS impl
Change-Id: Ifca8129f2266bada68af735cf81a1d39f1ec8506
diff --git a/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java b/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java
index a96d805..161659f 100644
--- a/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java
+++ b/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java
@@ -33,7 +33,8 @@
import org.onosproject.event.AbstractListenerManager;
import org.onosproject.core.Application;
import org.onosproject.core.ApplicationId;
-import org.onosproject.core.Permission;
+import org.onosproject.security.Permission;
+import org.onosproject.security.SecurityUtil;
import org.slf4j.Logger;
import java.io.InputStream;
@@ -41,6 +42,7 @@
import static com.google.common.base.Preconditions.checkNotNull;
import static org.onosproject.app.ApplicationEvent.Type.*;
+import static org.onosproject.security.AppPermission.Type.*;
import static org.onosproject.security.AppGuard.checkPermission;
import static org.slf4j.LoggerFactory.getLogger;
@@ -87,34 +89,34 @@
@Override
public Set<Application> getApplications() {
- checkPermission(Permission.APP_READ);
+ checkPermission(APP_READ);
return store.getApplications();
}
@Override
public ApplicationId getId(String name) {
- checkPermission(Permission.APP_READ);
+ checkPermission(APP_READ);
checkNotNull(name, "Name cannot be null");
return store.getId(name);
}
@Override
public Application getApplication(ApplicationId appId) {
- checkPermission(Permission.APP_READ);
+ checkPermission(APP_READ);
checkNotNull(appId, APP_ID_NULL);
return store.getApplication(appId);
}
@Override
public ApplicationState getState(ApplicationId appId) {
- checkPermission(Permission.APP_READ);
+ checkPermission(APP_READ);
checkNotNull(appId, APP_ID_NULL);
return store.getState(appId);
}
@Override
public Set<Permission> getPermissions(ApplicationId appId) {
- checkPermission(Permission.APP_READ);
+ checkPermission(APP_READ);
checkNotNull(appId, APP_ID_NULL);
return store.getPermissions(appId);
}
@@ -122,7 +124,9 @@
@Override
public Application install(InputStream appDescStream) {
checkNotNull(appDescStream, "Application archive stream cannot be null");
- return store.create(appDescStream);
+ Application app = store.create(appDescStream);
+ SecurityUtil.register(app.id());
+ return app;
}
@Override
@@ -138,6 +142,9 @@
@Override
public void activate(ApplicationId appId) {
checkNotNull(appId, APP_ID_NULL);
+ if (!SecurityUtil.isAppSecured(appId)) {
+ return;
+ }
store.activate(appId);
}