bdi-network-resilience

Network config

11/4/2014 3:59:53 PM

Details

diff --git a/network-resilience/src/br/ufrgs/inf/bdinetr/BDINetRApp.java b/network-resilience/src/br/ufrgs/inf/bdinetr/BDINetRApp.java
index 0a7af6a..d05796d 100644
--- a/network-resilience/src/br/ufrgs/inf/bdinetr/BDINetRApp.java
+++ b/network-resilience/src/br/ufrgs/inf/bdinetr/BDINetRApp.java
@@ -66,9 +66,13 @@ import br.ufrgs.inf.bdinetr.domain.omnet.OMNeTRouterComponentFactory;
  */
 public class BDINetRApp {
 
+	enum SimulationType {
+		OMNeT, SIMPLE_NETWORK, COMPLEX_NETWORK
+	};
+
 	private static final Set<Link> AFFECTED_LINKS;
 	private static final Network NETWORK;
-	private static final boolean OMNeT = true;
+	private static final SimulationType SIMULATION_TYPE = SimulationType.SIMPLE_NETWORK;
 
 	static {
 		PropertyConfigurator.configure(BDINetRApp.class
@@ -76,9 +80,11 @@ public class BDINetRApp {
 
 		NETWORK = new Network();
 		AFFECTED_LINKS = new HashSet<>();
+		AbstractRouterComponentFactory factory;
 
-		if (OMNeT) {
-			AbstractRouterComponentFactory factory = new OMNeTRouterComponentFactory();
+		switch (SIMULATION_TYPE) {
+		case OMNeT:
+			factory = new OMNeTRouterComponentFactory();
 			NETWORK.addRouter(new Router(new Ip("Inet.sas1.core0.idsModule"),
 					"ids_one", Role.ANOMALY_DETECTION.getId(), factory));
 			NETWORK.addRouter(new Router(new Ip("Inet.sas1.core0.linkMonitor"),
@@ -90,8 +96,23 @@ public class BDINetRApp {
 					Role.FLOW_EXPORTER.getId(), factory));
 			NETWORK.addRouter(new Router(new Ip("Inet.sas1.core0.rateLimiter"),
 					"ratelimiter_one", Role.RATE_LIMITER.getId(), factory));
-		} else {
-			AbstractRouterComponentFactory factory = new DummyRouterComponentFactory();
+			break;
+		case SIMPLE_NETWORK:
+			factory = new DummyRouterComponentFactory();
+			NETWORK.addRouter(new Router(new Ip("LC+RL"), Role.LINK_MONITOR
+					.getId() | Role.RATE_LIMITER.getId(), factory));
+			NETWORK.addRouter(new Router(new Ip("IPC+RL"),
+					Role.ANOMALY_DETECTION.getId() | Role.RATE_LIMITER.getId(),
+					factory));
+			NETWORK.addRouter(new Router(new Ip("FC+RL"), Role.CLASSIFIER
+					.getId() | Role.RATE_LIMITER.getId(), factory));
+			NETWORK.addRouter(new Router(new Ip("FE"), Role.FLOW_EXPORTER
+					.getId(), factory));
+
+			AFFECTED_LINKS.add(new Link("AFFECTED_LINK"));
+			break;
+		case COMPLEX_NETWORK:
+			factory = new DummyRouterComponentFactory();
 			NETWORK.addRouter(new Router(new Ip("RouterLM"), Role.LINK_MONITOR
 					.getId(), factory));
 			NETWORK.addRouter(new Router(new Ip("RouterRL"), Role.RATE_LIMITER
@@ -106,6 +127,7 @@ public class BDINetRApp {
 					.getId(), factory));
 
 			AFFECTED_LINKS.add(new Link("AFFECTED_LINK"));
+			break;
 		}
 
 		Set<Router> routers = NETWORK.getRouters();