package org.opennaas.extensions.network.mock;
import java.util.ArrayList;
import java.util.List;
import org.opennaas.core.resources.descriptor.network.Device;
import org.opennaas.core.resources.descriptor.network.DeviceId;
import org.opennaas.core.resources.descriptor.network.Interface;
import org.opennaas.core.resources.descriptor.network.InterfaceId;
import org.opennaas.core.resources.descriptor.network.Link;
import org.opennaas.core.resources.descriptor.network.NetworkDomain;
import org.opennaas.core.resources.descriptor.network.NetworkTopology;
public class MockNetworkDescriptor {
public static NetworkTopology newSimpleNDLNetworkDescriptor() {
NetworkTopology rdfDescriptor = new NetworkTopology();
/* set new devices */
List<Device> devices = new ArrayList<Device>();
/* new device */
Device logicalRouter = new Device();
logicalRouter.setName("router:R-AS2-1");
/* interfaces */
List<InterfaceId> hasInterfaces = new ArrayList<InterfaceId>();
InterfaceId LR1interfaceId = new InterfaceId();
LR1interfaceId.setResource("#router:R-AS2-1:lt-1/2/0.51");
hasInterfaces.add(LR1interfaceId);
InterfaceId LR1interfaceId2 = new InterfaceId();
LR1interfaceId2.setResource("#router:R-AS2-1:lt-1/2/0.100");
hasInterfaces.add(LR1interfaceId2);
InterfaceId LR1interfaceId3 = new InterfaceId();
LR1interfaceId3.setResource("#router:R-AS2-1:lo0.1");
hasInterfaces.add(LR1interfaceId3);
logicalRouter.setHasInterfaces(hasInterfaces);
devices.add(logicalRouter);
Device logicalRouter2 = new Device();
logicalRouter2.setName("router:R-AS2-2");
/* interfaces */
List<InterfaceId> hasInterfaces2 = new ArrayList<InterfaceId>();
InterfaceId LR2interfaceId = new InterfaceId();
LR2interfaceId.setResource("#router:R-AS2-2:lt-1/2/0.102");
hasInterfaces2.add(LR2interfaceId);
InterfaceId LR2interfaceId2 = new InterfaceId();
LR2interfaceId2.setResource("#router:R-AS2-2:lt-1/2/0.101");
hasInterfaces2.add(LR2interfaceId2);
InterfaceId LR2interfaceId3 = new InterfaceId();
LR2interfaceId3.setResource("#router:R-AS2-2:lo0.3");
hasInterfaces2.add(LR2interfaceId3);
logicalRouter2.setHasInterfaces(hasInterfaces2);
devices.add(logicalRouter2);
Device logicalRouter3 = new Device();
logicalRouter3.setName("router:R-AS2-3");
/* interfaces */
List<InterfaceId> hasInterfaces3 = new ArrayList<InterfaceId>();
InterfaceId LR3interfaceId = new InterfaceId();
LR3interfaceId.setResource("#router:R-AS2-3:lt-1/2/0.103");
hasInterfaces3.add(LR3interfaceId);
InterfaceId LR3interfaceId2 = new InterfaceId();
LR3interfaceId2.setResource("#router:R-AS2-3:lo0.4");
hasInterfaces3.add(LR3interfaceId2);
logicalRouter3.setHasInterfaces(hasInterfaces3);
devices.add(logicalRouter3);
rdfDescriptor.setDevices(devices);
List<Interface> interfaces = new ArrayList<Interface>();
interfaces.add(newInterface("router:R-AS2-1:lt-1/2/0.51", "#router:R1:lt-1/2/0.50", "1.2E+9")); // link to external interface
interfaces.add(newInterface("router:R-AS2-1:lt-1/2/0.100", "#router:R-AS2-2:lt-1/2/0.101", "1.2E+9"));
interfaces.add(newInterface("router:R-AS2-1:lo0.1"));
interfaces.add(newInterface("router:R-AS2-2:lt-1/2/0.101", "#router:R-AS2-1:lt-1/2/0.100", "1.2E+9"));
interfaces.add(newInterface("router:R-AS2-2:lt-1/2/0.102", "#router:R-AS2-3:lt-1/2/0.103", "1.2E+9"));
interfaces.add(newInterface("router:R-AS2-2:lo0.3"));
interfaces.add(newInterface("router:R-AS2-3:lt-1/2/0.103", "#router:R-AS2-2:lt-1/2/0.102", "1.2E+9"));
interfaces.add(newInterface("router:R-AS2-3:lo0.4"));
rdfDescriptor.setInterfaces(interfaces);
return rdfDescriptor;
}
public static NetworkTopology newNetworkDescriptorWithNetworkDomain() {
NetworkTopology rdfDescriptor = newSimpleNDLNetworkDescriptor();
List<NetworkDomain> networkDomains = new ArrayList<NetworkDomain>();
NetworkDomain networkDomain = new NetworkDomain();
List<DeviceId> deviceIds = new ArrayList<DeviceId>();
DeviceId deviceId = new DeviceId();
deviceId.setResource(rdfDescriptor.getDevices().get(0).getName());
deviceIds.add(deviceId);
DeviceId deviceId2 = new DeviceId();
deviceId2.setResource(rdfDescriptor.getDevices().get(1).getName());
deviceIds.add(deviceId2);
DeviceId deviceId3 = new DeviceId();
deviceId3.setResource(rdfDescriptor.getDevices().get(2).getName());
deviceIds.add(deviceId3);
networkDomain.setHasDevices(deviceIds);
networkDomains.add(networkDomain);
rdfDescriptor.setNetworkDomains(networkDomains);
return rdfDescriptor;
}
public static Interface newInterface(String name, String linkName, String capacity) {
Interface interf = new Interface();
Link link = new Link();
link.setName(linkName);
interf.setLinkTo(link);
interf.setName(name);
interf.setCapacity(capacity);
return interf;
}
public static Interface newInterface(String name) {
Interface interf = new Interface();
interf.setName(name);
return interf;
}
}