X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=fcapsapplication%2Ffcapsapplication-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Ffcapsapp%2Fportinfo%2FPortNameMapping.java;fp=fcapsapplication%2Ffcapsapplication-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fvpnservice%2Ffcapsapp%2Fportinfo%2FPortNameMapping.java;h=5ea45556b7e4efa33599ec6fab1677ccc9f64e99;hb=4582fda1bcb5c39a57e8f3900f7ec534d1107faa;hp=0000000000000000000000000000000000000000;hpb=de6f0c4da2c7ac55cd9059ea957483ad04bc21f3;p=vpnservice.git diff --git a/fcapsapplication/fcapsapplication-impl/src/main/java/org/opendaylight/vpnservice/fcapsapp/portinfo/PortNameMapping.java b/fcapsapplication/fcapsapplication-impl/src/main/java/org/opendaylight/vpnservice/fcapsapp/portinfo/PortNameMapping.java new file mode 100644 index 00000000..5ea45556 --- /dev/null +++ b/fcapsapplication/fcapsapplication-impl/src/main/java/org/opendaylight/vpnservice/fcapsapp/portinfo/PortNameMapping.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2016 Ericsson India Global Services Pvt Ltd. 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.vpnservice.fcapsapp.portinfo; + +import java.lang.String; +import java.util.HashMap; +import java.util.Map; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import javax.management.*; +import java.lang.management.ManagementFactory; + +public class PortNameMapping implements PortNameMappingMBean { + + private static final Logger LOG = LoggerFactory.getLogger(PortNameMapping.class); + + private static Map portNameToPortIdMap = new HashMap(); + + @Override + public Map getPortIdtoPortNameMap() { + return portNameToPortIdMap; + } + + @Override + public String getPortName(String portId){ + return portNameToPortIdMap.get(portId); + } + + public static void updatePortMap(String portName,String portId,String status) { + if (status.equals("ADD")){ + portNameToPortIdMap.put(portId,portName); + LOG.debug("PortId {} : portName {} added",portId,portName); + } else if(status.equals("DELETE")){ + portNameToPortIdMap.remove(portId); + LOG.debug("PortId {} : portName {} removed",portId,portName); + } + } + + public static void registerPortMappingBean() { + MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); + ObjectName mbeanName = null; + String BEANNAME = "Ports:type=PortNameMapping"; + + try { + mbeanName = new ObjectName(BEANNAME); + } catch (MalformedObjectNameException e) { + LOG.error("ObjectName instance creation failed for BEANAME {} : {}", BEANNAME, e); + + } + try { + if (!mbs.isRegistered(mbeanName)) { + mbs.registerMBean(new PortNameMapping(), mbeanName); + LOG.debug("Registered Mbean {} successfully", mbeanName); + } + + } catch (Exception e) { + LOG.error("Registeration failed for Mbean {} :{}", mbeanName, e); + } + } +} \ No newline at end of file