2 * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.vpnservice.fcapsapp.portinfo;
10 import java.lang.String;
11 import java.util.HashMap;
13 import org.slf4j.Logger;
14 import org.slf4j.LoggerFactory;
15 import javax.management.*;
16 import java.lang.management.ManagementFactory;
18 public class PortNameMapping implements PortNameMappingMBean {
20 private static final Logger LOG = LoggerFactory.getLogger(PortNameMapping.class);
22 private static Map<String,String> portNameToPortIdMap = new HashMap<String,String>();
25 public Map<String,String> getPortIdtoPortNameMap() {
26 return portNameToPortIdMap;
30 public String getPortName(String portId){
31 return portNameToPortIdMap.get(portId);
34 public static void updatePortMap(String portName,String portId,String status) {
35 if (status.equals("ADD")){
36 portNameToPortIdMap.put(portId,portName);
37 LOG.debug("PortId {} : portName {} added",portId,portName);
38 } else if(status.equals("DELETE")){
39 portNameToPortIdMap.remove(portId);
40 LOG.debug("PortId {} : portName {} removed",portId,portName);
44 public static void registerPortMappingBean() {
45 MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
46 ObjectName mbeanName = null;
47 String BEANNAME = "Ports:type=PortNameMapping";
50 mbeanName = new ObjectName(BEANNAME);
51 } catch (MalformedObjectNameException e) {
52 LOG.error("ObjectName instance creation failed for BEANAME {} : {}", BEANNAME, e);
56 if (!mbs.isRegistered(mbeanName)) {
57 mbs.registerMBean(new PortNameMapping(), mbeanName);
58 LOG.debug("Registered Mbean {} successfully", mbeanName);
61 } catch (Exception e) {
62 LOG.error("Registeration failed for Mbean {} :{}", mbeanName, e);