ONOS-1993 Implement API-level permission checking + security util code location replacement
Change-Id: I7bf20eda9c12ed2a44334504333b093057764cd2
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 a8ff84f..9894174 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
@@ -42,6 +42,7 @@
import static com.google.common.base.Preconditions.checkNotNull;
import static org.onosproject.app.ApplicationEvent.Type.*;
+import static org.onosproject.security.AppGuard.checkPermission;
import static org.slf4j.LoggerFactory.getLogger;
/**
@@ -91,29 +92,39 @@
@Override
public Set<Application> getApplications() {
+ checkPermission(Permission.APP_READ);
+
return store.getApplications();
}
@Override
public ApplicationId getId(String name) {
+ checkPermission(Permission.APP_READ);
+
checkNotNull(name, "Name cannot be null");
return store.getId(name);
}
@Override
public Application getApplication(ApplicationId appId) {
+ checkPermission(Permission.APP_READ);
+
checkNotNull(appId, APP_ID_NULL);
return store.getApplication(appId);
}
@Override
public ApplicationState getState(ApplicationId appId) {
+ checkPermission(Permission.APP_READ);
+
checkNotNull(appId, APP_ID_NULL);
return store.getState(appId);
}
@Override
public Set<Permission> getPermissions(ApplicationId appId) {
+ checkPermission(Permission.APP_READ);
+
checkNotNull(appId, APP_ID_NULL);
return store.getPermissions(appId);
}
@@ -155,11 +166,15 @@
@Override
public void addListener(ApplicationListener listener) {
+ checkPermission(Permission.APP_EVENT);
+
listenerRegistry.addListener(listener);
}
@Override
public void removeListener(ApplicationListener listener) {
+ checkPermission(Permission.APP_EVENT);
+
listenerRegistry.removeListener(listener);
}