+ } else {
+ status = new Status(StatusCode.NOSERVICE, "Configuration Service is not available");
+ }
+ break;
+ case NETWORKOPERATOR:
+ case CONTAINERUSER:
+ IContainerAuthorization containerAuth = (IContainerAuthorization) ServiceHelper.getGlobalInstance(
+ IContainerAuthorization.class, this);
+ if (containerAuth != null) {
+ boolean oneSaved = false;
+ Set<Resource> authorizedContainers = containerAuth.getAllResourcesforUser(username);
+ if (authorizedContainers.isEmpty()) {
+ status = new Status(StatusCode.UNAUTHORIZED, "User is not authorized for any container");
+ } else {
+ for (Resource container : authorizedContainers) {
+ if (container.getPrivilege() == Privilege.WRITE) {
+ String containerName = (String)container.getResource();
+ IConfigurationContainerService containerConfigService = (IConfigurationContainerService) ServiceHelper
+ .getInstance(IConfigurationContainerService.class, containerName, this);
+ if (containerConfigService != null) {
+ status = containerConfigService.saveConfigurations();
+ if (status.isSuccess()) {
+ oneSaved = true;
+ }
+ }
+ }
+ }
+ if (oneSaved) {
+ status = new Status(StatusCode.SUCCESS);
+ } else {
+ status = new Status(StatusCode.UNAUTHORIZED, "Operation not allowed for current user");
+ }
+ }
+ } else {
+ status = new Status(StatusCode.NOSERVICE, "Container Authorization Service is not available");