Commit 91048727 authored by Björn Richerzhagen's avatar Björn Richerzhagen
Browse files

Config-Flag to disable TopologyComp as SiSDataProvider

parent bccf15b5
......@@ -92,6 +92,8 @@ public class DefaultTopologyComponent implements TopologyComponent {
private PlacementModel placementModel;
private final boolean registerAsInformationProviderInSiS;
/**
* Create a TopologyComponent for the current host.
*
......@@ -100,7 +102,7 @@ public class DefaultTopologyComponent implements TopologyComponent {
* @param movementModel
*/
public DefaultTopologyComponent(SimHost host, Topology topology,
MovementModel movementModel, PlacementModel placementModel) {
MovementModel movementModel, PlacementModel placementModel, boolean registerAsInformationProviderInSiS) {
this.topology = topology;
this.host = host;
this.position = new PositionVector(0, 0);
......@@ -114,6 +116,7 @@ public class DefaultTopologyComponent implements TopologyComponent {
if (this.placementModel != null) {
this.placementModel.addComponent(this);
}
this.registerAsInformationProviderInSiS = registerAsInformationProviderInSiS;
}
@Override
......@@ -132,6 +135,7 @@ public class DefaultTopologyComponent implements TopologyComponent {
position.set(placementModel.place(this));
}
if (registerAsInformationProviderInSiS) {
try {
final SiSComponent sis = host.getComponent(SiSComponent.class);
sis.provide().nodeState(SiSTypes.PHY_LOCATION,
......@@ -180,6 +184,7 @@ public class DefaultTopologyComponent implements TopologyComponent {
// OK
}
}
}
@Override
public void shutdown() {
......
......@@ -72,6 +72,8 @@ public class TopologyFactory implements HostComponentFactory {
private ObstacleModel obstacleModel;
private boolean registerAsInformationProviderInSiS = false;
private static NetMeasurementDB measurementDB = null;
private static Map<SimHost, NetMeasurementDB.Host> measurementDBHosts = new LinkedHashMap<SimHost, NetMeasurementDB.Host>();
......@@ -125,7 +127,7 @@ public class TopologyFactory implements HostComponentFactory {
* movement model.
*/
TopologyComponent toCo = new DefaultTopologyComponent(host, topo,
movement, placement);
movement, placement, registerAsInformationProviderInSiS);
/*
* Need to register TopoViews as movement listeners, as they might need
......@@ -228,6 +230,17 @@ public class TopologyFactory implements HostComponentFactory {
TopologyFactory.useRegionGroups = useRegionGroups;
}
/**
* Option to disable the default behavior of nodes registering as
* topology providers.
*
* @param registerAsLocationProviderInSiS
*/
public void setRegisterAsInformationProviderInSiS(
boolean registerAsInformationProviderInSiS) {
this.registerAsInformationProviderInSiS = registerAsInformationProviderInSiS;
}
/**
* Allows GNP-based strategies to retrieve the unique
* {@link NetMeasurementDB.Host} - as this object should only be created
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment