Class BridgeDomainSyncProvider
- java.lang.Object
-
- org.neotropic.kuwaiba.modules.commercial.sync.model.AbstractSyncProvider
-
- org.neotropic.kuwaiba.modules.commercial.sync.connectors.ssh.bdi.BridgeDomainSyncProvider
-
- All Implemented Interfaces:
Serializable
public class BridgeDomainSyncProvider extends AbstractSyncProvider
This provider connects to Cisco routers via SSH, retrieves the bridge domain configuration, and creates/updates the relationships between the bridge domains and the logical/physical- Author:
- Charles Edward Bedon Cortazar <charles.bedon@kuwaiba.org>
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BridgeDomainSyncProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<SyncResult>
automatedSync(List<AbstractDataEntity> originalData)
Implement this method if the supervised synchronization process won't be associated to a single object in the inventory, for example, if you want to see what virtual circuits were re-routed after switching to a backup link during a network failureList<SyncResult>
automatedSync(PollResult pollResult)
Implement this method if the supervised synchronization process will be associated to an object in the inventory, for example, you will retrieve the hardware information about a network element and find what has changed overnight.List<SyncResult>
finalize(List<SyncAction> actions)
Performs the actual actionsString
getDisplayName()
Display name/description of what the providers doesString
getId()
A string that uniquely identifies the current sync providerboolean
isAutomated()
Should the actions defined after finding the differences between the information retrieved from the sync data sources and the objects in the inventory be performed automatically or wait for approvalPollResult
mappedPoll(SynchronizationGroup syncGroup)
Some synchronization processes are related to a specific inventory object (for example when syncing the hardware of a given device).List<SyncFinding>
supervisedSync(List<AbstractDataEntity> originalData)
Implement this method if the supervised synchronization process won't be associated to a single object in the inventory, for example, if you want to see what virtual circuits were re-routed after switching to a backup link during a network failureList<SyncFinding>
supervisedSync(PollResult pollResult)
Implement this method if the supervised synchronization process will be associated to an object in the inventory, for example, you will retrieve the hardware information about a network element and find what has changed overnight.List<AbstractDataEntity>
unmappedPoll(SynchronizationGroup syncGroup)
Some synchronization processes are related to a specific inventory object (for example when syncing the hardware of a given device).
-
-
-
Method Detail
-
getDisplayName
public String getDisplayName()
Description copied from class:AbstractSyncProvider
Display name/description of what the providers does- Specified by:
getDisplayName
in classAbstractSyncProvider
- Returns:
- The configured name/description (typically a hard-coded string)
-
getId
public String getId()
Description copied from class:AbstractSyncProvider
A string that uniquely identifies the current sync provider- Specified by:
getId
in classAbstractSyncProvider
- Returns:
-
isAutomated
public boolean isAutomated()
Description copied from class:AbstractSyncProvider
Should the actions defined after finding the differences between the information retrieved from the sync data sources and the objects in the inventory be performed automatically or wait for approval- Specified by:
isAutomated
in classAbstractSyncProvider
- Returns:
- True if it doesn't require approval, False otherwise
-
unmappedPoll
public List<AbstractDataEntity> unmappedPoll(SynchronizationGroup syncGroup)
Description copied from class:AbstractSyncProvider
Some synchronization processes are related to a specific inventory object (for example when syncing the hardware of a given device). But there are some other scenarios where the the sync process uses information from many sources and none of them are necessarily mapped to an inventory object. A common example is when the sync process does not retrieve information from particular devices, but from an NMS, and the NMS provides information about the whole network, e.g. the logical circuits between different nodes in the network. This method should be implemented for the latter.- Specified by:
unmappedPoll
in classAbstractSyncProvider
- Parameters:
syncGroup
- The sync group to be synchronized- Returns:
- The raw information necessary to actually perform the synchronization process. This information is not related to any particular inventory object.
-
mappedPoll
public PollResult mappedPoll(SynchronizationGroup syncGroup)
Description copied from class:AbstractSyncProvider
Some synchronization processes are related to a specific inventory object (for example when syncing the hardware of a given device). But there are some other scenarios where the the sync process uses information from many sources and none of them are necessarily mapped to an inventory object. A common example is when the sync process does not retrieve information from particular devices, but from an NMS, and the NMS provides information about the whole network, e.g. the logical circuits between different nodes in the network. This method should be implemented for the former.- Specified by:
mappedPoll
in classAbstractSyncProvider
- Parameters:
syncGroup
- The sync group to be synchronized- Returns:
- The raw information necessary to actually perform the synchronization process. Each PollResult object contains the information of how the polling process turned out per each one of the Sync Configurations contained in the Sync Group, that is, each PollResult maps an inventory object
-
automatedSync
public List<SyncResult> automatedSync(PollResult pollResult)
Description copied from class:AbstractSyncProvider
Implement this method if the supervised synchronization process will be associated to an object in the inventory, for example, you will retrieve the hardware information about a network element and find what has changed overnight.- Specified by:
automatedSync
in classAbstractSyncProvider
- Parameters:
pollResult
- A set of high-level representations of the info coming from the sync data source and the corresponding inventory object it should be mapped against (for example, a Java matrix representing an SNMP table)- Returns:
- A set of results (e.g. new board on slot xxx was created, different serial number was set to router yyyy)
-
automatedSync
public List<SyncResult> automatedSync(List<AbstractDataEntity> originalData)
Description copied from class:AbstractSyncProvider
Implement this method if the supervised synchronization process won't be associated to a single object in the inventory, for example, if you want to see what virtual circuits were re-routed after switching to a backup link during a network failure- Specified by:
automatedSync
in classAbstractSyncProvider
- Parameters:
originalData
- A set of high-level representations of the info coming from the sync data source (for example, a Java list representing the hops of a virtual circuits)- Returns:
- A set of results (e.g. circuit YYY was re-routed to zzzz)
-
supervisedSync
public List<SyncFinding> supervisedSync(List<AbstractDataEntity> originalData)
Description copied from class:AbstractSyncProvider
Implement this method if the supervised synchronization process won't be associated to a single object in the inventory, for example, if you want to see what virtual circuits were re-routed after switching to a backup link during a network failure- Specified by:
supervisedSync
in classAbstractSyncProvider
- Parameters:
originalData
- A set of high-level representations of the info coming from the sync data source (for example, a Java list representing the hops of a virtual circuits)- Returns:
- A set of results (circuit YYY has a new route zzzz)
-
supervisedSync
public List<SyncFinding> supervisedSync(PollResult pollResult)
Description copied from class:AbstractSyncProvider
Implement this method if the supervised synchronization process will be associated to an object in the inventory, for example, you will retrieve the hardware information about a network element and find what has changed overnight.- Specified by:
supervisedSync
in classAbstractSyncProvider
- Parameters:
pollResult
- A set of high-level representations of the info coming from the sync data source and the corresponding inventory object it should be mapped against (for example, a Java matrix representing an SNMP table)- Returns:
- A set of results (e.g. new board on slot xxx, different serial number found for router yyyy)
-
finalize
public List<SyncResult> finalize(List<SyncAction> actions)
Description copied from class:AbstractSyncProvider
Performs the actual actions- Specified by:
finalize
in classAbstractSyncProvider
- Returns:
-
-