+++ /dev/null
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.controller.web;
-
-import org.opendaylight.controller.containermanager.IContainerAuthorization;
-import org.opendaylight.controller.sal.authorization.Privilege;
-import org.opendaylight.controller.sal.core.Description;
-import org.opendaylight.controller.sal.core.Name;
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.controller.sal.core.NodeConnector;
-import org.opendaylight.controller.sal.utils.GlobalConstants;
-import org.opendaylight.controller.sal.utils.ServiceHelper;
-import org.opendaylight.controller.switchmanager.ISwitchManager;
-import org.opendaylight.controller.usermanager.IUserManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DaylightWebUtil {
-
- private static final String AUDIT = "audit";
- private static final Logger logger = LoggerFactory.getLogger(AUDIT);
-
- /**
- * Returns the access privilege the user has on the specified container
- *
- * @param userName
- * The user name
- * @param container
- * The container name. If null, the default container will be assumed
- * @param bundle
- * The bundle originating the request
- * @return The access privilege the user is granted on the container
- */
- public static Privilege getContainerPrivilege(String userName,
- String container, Object bundle) {
- // Derive the target resource
- String resource = (container == null) ? GlobalConstants.DEFAULT.toString() : container;
-
- // Retrieve the Container Authorization service
- IContainerAuthorization auth = (IContainerAuthorization) ServiceHelper
- .getGlobalInstance(IContainerAuthorization.class, bundle);
- if (auth != null) {
- return auth.getResourcePrivilege(userName, resource);
- }
-
- /*
- * Container Authorization service not available. We can only derive the
- * access privilege to the default container based on user level
- */
- if (resource.equals(GlobalConstants.DEFAULT.toString())) {
- IUserManager userManager = (IUserManager) ServiceHelper
- .getGlobalInstance(IUserManager.class, bundle);
- if (userManager != null) {
- switch (userManager.getUserLevel(userName)) {
- case NETWORKADMIN:
- return Privilege.WRITE;
- case NETWORKOPERATOR:
- return Privilege.READ;
- default:
- return Privilege.NONE;
- }
- }
- }
-
- return Privilege.NONE;
- }
-
- public static void auditlog(String moduleName, String user, String action, String resource,
- String containerName) {
- String auditMsg = "";
- String mode = "UI";
- if (containerName != null) {
- auditMsg = "Mode: " + mode + " User " + user + " " + action + " " + moduleName + " " + resource + " in container "
- + containerName;
- } else {
- auditMsg = "Mode: " + mode + " User " + user + " " + action + " " + moduleName + " " + resource;
- }
- logger.trace(auditMsg);
- }
-
- public static void auditlog(String moduleName, String user, String action, String resource) {
- auditlog(moduleName, user, action, resource, null);
- }
-
- public static String getNodeDesc(Node node, ISwitchManager switchManager) {
- Description desc = (Description) switchManager.getNodeProp(node,
- Description.propertyName);
- String description = (desc == null) ? "" : desc.getValue();
- return (description.isEmpty() || description.equalsIgnoreCase("none")) ? node
- .toString() : description;
- }
-
- public static String getNodeDesc(Node node, String containerName,
- Object bundle) {
- ISwitchManager switchManager = (ISwitchManager) ServiceHelper
- .getInstance(ISwitchManager.class, containerName, bundle);
- if (switchManager == null) {
- return null;
- }
-
- return getNodeDesc(node, switchManager);
- }
-
- public static String getNodeDesc(Node node, Object bundle) {
- ISwitchManager switchManager = (ISwitchManager) ServiceHelper
- .getInstance(ISwitchManager.class,
- GlobalConstants.DEFAULT.toString(), bundle);
- if (switchManager == null) {
- return null;
- }
-
- return getNodeDesc(node, switchManager);
- }
-
- public static String getPortName(NodeConnector nodeConnector,
- String container, Object bundle) {
- ISwitchManager switchManager = (ISwitchManager) ServiceHelper
- .getInstance(ISwitchManager.class, container, bundle);
- return getPortName(nodeConnector, switchManager);
- }
-
- public static String getPortName(NodeConnector nodeConnector, Object bundle) {
- return getPortName(nodeConnector, GlobalConstants.DEFAULT.toString(), bundle);
- }
-
- public static String getPortName(NodeConnector nodeConnector,
- ISwitchManager switchManager) {
- Name ncName = ((Name) switchManager.getNodeConnectorProp(nodeConnector,
- Name.NamePropName));
- String nodeConnectorName = (ncName != null) ? ncName.getValue() : nodeConnector.getNodeConnectorIdAsString();
- nodeConnectorName = nodeConnectorName + "@"
- + getNodeDesc(nodeConnector.getNode(), switchManager);
- return nodeConnectorName.substring(0, nodeConnectorName.length());
- }
-}