Skip to content

Commit

Permalink
Added a first persistence for bridge discovery
Browse files Browse the repository at this point in the history
this only saves data without using an algoritm to find link among the bridges
  • Loading branch information
rssntn67 committed May 23, 2014
1 parent d388c1f commit 15ddedf
Showing 1 changed file with 142 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import org.opennms.netmgt.dao.api.OspfElementDao;
import org.opennms.netmgt.dao.api.OspfLinkDao;
import org.opennms.netmgt.dao.support.UpsertTemplate;
import org.opennms.netmgt.model.BridgeBridgeLink;
import org.opennms.netmgt.model.BridgeElement;
import org.opennms.netmgt.model.BridgeMacLink;
import org.opennms.netmgt.model.BridgeStpLink;
Expand Down Expand Up @@ -163,7 +164,14 @@ public void reconcileIpNetToMedia(int nodeId, Date now) {

@Override
public void reconcileBridge(int nodeId, Date now) {
// TODO Auto-generated method stub
m_bridgeElementDao.deleteByNodeIdOlderThen(nodeId, now);
m_bridgeElementDao.flush();

m_bridgeStpLinkDao.deleteByNodeIdOlderThen(nodeId, now);
m_bridgeStpLinkDao.flush();

m_bridgeMacLinkDao.deleteByNodeIdOlderThen(nodeId, now);
m_bridgeMacLinkDao.flush();
}

@Override
Expand Down Expand Up @@ -357,22 +365,151 @@ public void store(int nodeId, IsIsElement element) {

@Override
public void store(int nodeId, BridgeElement bridge) {
// TODO Auto-generated method stub

if (bridge == null)
return;
saveBridgeElement(nodeId, bridge);
}

@Transactional
protected void saveBridgeElement(final int nodeId, final BridgeElement saveMe) {
new UpsertTemplate<BridgeElement, BridgeElementDao>(m_transactionManager,m_bridgeElementDao) {

@Override
protected BridgeElement query() {
return m_dao.getByNodeIdVlan(nodeId,saveMe.getVlan());
}

@Override
protected BridgeElement doUpdate(BridgeElement bridge) {
bridge.merge(saveMe);
m_dao.update(bridge);
m_dao.flush();
return bridge;
}

@Override
protected BridgeElement doInsert() {
final OnmsNode node = m_nodeDao.get(nodeId);
if ( node == null )
return null;
saveMe.setBridgeNodeLastPollTime(saveMe.getBridgeNodeCreateTime());
m_dao.saveOrUpdate(saveMe);
m_dao.flush();
return saveMe;
}

}.execute();
}

@Override
public void store(int nodeId, BridgeStpLink link) {
// TODO Auto-generated method stub
if (link == null)
return;
saveBridgeStpLink(nodeId, link);

}

@Transactional
protected void saveBridgeStpLink(final int nodeId, final BridgeStpLink saveMe) {
new UpsertTemplate<BridgeStpLink, BridgeStpLinkDao>(m_transactionManager,m_bridgeStpLinkDao) {

@Override
protected BridgeStpLink query() {
return m_dao.getByNodeIdBridgePort(nodeId,saveMe.getStpPort());
}

@Override
protected BridgeStpLink doUpdate(BridgeStpLink link) {
link.merge(saveMe);
m_dao.update(link);
m_dao.flush();
return link;
}

@Override
protected BridgeStpLink doInsert() {
final OnmsNode node = m_nodeDao.get(nodeId);
if ( node == null )
return null;
saveMe.setBridgeStpLinkLastPollTime(saveMe.getBridgeStpLinkCreateTime());
m_dao.saveOrUpdate(saveMe);
m_dao.flush();
return saveMe;
}

}.execute();
}

@Override
public void store(int nodeId, BridgeMacLink link) {
// TODO Auto-generated method stub
if (link == null)
return;
saveBridgeMacLink(nodeId, link);

}

@Transactional
protected void saveBridgeMacLink(final int nodeId, final BridgeMacLink saveMe) {
new UpsertTemplate<BridgeMacLink, BridgeMacLinkDao>(m_transactionManager,m_bridgeMacLinkDao) {

@Override
protected BridgeMacLink query() {
return m_dao.getByNodeIdBridgePort(nodeId,saveMe.getBridgePort());
}

@Override
protected BridgeMacLink doUpdate(BridgeMacLink link) {
link.merge(saveMe);
m_dao.update(link);
m_dao.flush();
return link;
}

@Override
protected BridgeMacLink doInsert() {
final OnmsNode node = m_nodeDao.get(nodeId);
if ( node == null )
return null;
saveMe.setBridgeMacLinkLastPollTime(saveMe.getBridgeMacLinkCreateTime());
m_dao.saveOrUpdate(saveMe);
m_dao.flush();
return saveMe;
}

}.execute();
}

@Transactional
protected void saveBridgeBridgeLink(final int nodeId, final BridgeBridgeLink saveMe) {
new UpsertTemplate<BridgeBridgeLink, BridgeBridgeLinkDao>(m_transactionManager,m_bridgeBridgeLinkDao) {

@Override
protected BridgeBridgeLink query() {
return m_dao.getByNodeIdBridgePort(nodeId,saveMe.getBridgePort());
}

@Override
protected BridgeBridgeLink doUpdate(BridgeBridgeLink link) {
link.merge(saveMe);
m_dao.update(link);
m_dao.flush();
return link;
}

@Override
protected BridgeBridgeLink doInsert() {
final OnmsNode node = m_nodeDao.get(nodeId);
if ( node == null )
return null;
saveMe.setBridgeBridgeLinkLastPollTime(saveMe.getBridgeBridgeLinkCreateTime());
m_dao.saveOrUpdate(saveMe);
m_dao.flush();
return saveMe;
}

}.execute();
}

@Override
public void store(int nodeId, IpNetToMedia ipnettomedia) {
if (ipnettomedia == null)
Expand Down

0 comments on commit 15ddedf

Please sign in to comment.