package es.tid.topologyModuleBase.plugins.readerwriter; import es.tid.bgp.bgp4Peer.peer.BGPPeer; import es.tid.topologyModuleBase.TopologyModuleParams; import es.tid.topologyModuleBase.database.TopologiesDataBase; import java.util.concurrent.locks.Lock; /** * Created by <a href="mailto:jgm1986@hotmail.com">Javier Gusano Martinez</a> on 23/09/2016. */ public class TopologyReaderWriterBGPLS extends TopologyReaderWriter{ /** * This flag is used for analize if the current thread is running. */ private boolean isRunning; /** * Class constructor. * @// TODO: 23/09/2016 Write javadoc constructor fields description. * @param ted * @param actualLittleParams * @param lock */ public TopologyReaderWriterBGPLS(TopologiesDataBase ted, TopologyModuleParams actualLittleParams, Lock lock) { // @// TODO: 23/09/2016 Develop current constructor. super(ted, actualLittleParams,lock); } /** * Read/Write topology BGPLS * @// TODO: 23/09/2016 Write javadoc constructor fields description. */ @Override public void readServeTopology() { // @// TODO: 23/09/2016 log.info("Acting as BGP Peer"); BGPPeer bgpPeer = new BGPPeer(); bgpPeer.configure(params.getBGPSConfigurationFile()); bgpPeer.setIntraTEDBs(ted.getTeds()); bgpPeer.setMultiDomainTEDB(ted.getMdTed()); bgpPeer.createUpdateDispatcher(); log.info("Testing change"); bgpPeer.startClient(); bgpPeer.startServer(); bgpPeer.startManagementServer(); bgpPeer.startSendTopology(); } /** * Returns true if it's running, false otherwise. */ @Override public boolean isRunning() { return isRunning; } /** * Returns the plugin name. */ @Override public String getPluginName() { return "BGPLS importer/exporter peer"; } /** * Shows the information about the current plugin object. */ @Override public String displayInfo() { String str=getPluginName()+"\n"; str+="Status: "; if(isRunning())str+="running"; else str+="stop"; str+="\nParameters file:"+params.getBGPSConfigurationFile(); return str; } /** * Launch reader and writer methods. */ @Override public void run() { readServeTopology(); } }