| package net.floodlightcontroller.devicemanager.test; |
| |
| import static net.floodlightcontroller.devicemanager.IDeviceService.DeviceField.MAC; |
| import static net.floodlightcontroller.devicemanager.IDeviceService.DeviceField.PORT; |
| import static net.floodlightcontroller.devicemanager.IDeviceService.DeviceField.SWITCH; |
| import static net.floodlightcontroller.devicemanager.IDeviceService.DeviceField.VLAN; |
| |
| import java.util.EnumSet; |
| |
| import net.floodlightcontroller.devicemanager.IDeviceService; |
| import net.floodlightcontroller.devicemanager.IEntityClass; |
| import net.floodlightcontroller.devicemanager.IDeviceService.DeviceField; |
| import net.floodlightcontroller.devicemanager.internal.DefaultEntityClassifier; |
| import net.floodlightcontroller.devicemanager.internal.Entity; |
| |
| /** A simple IEntityClassifier. Useful for tests that need IEntityClassifiers |
| * and IEntityClass'es with switch and/or port key fields |
| */ |
| public class MockEntityClassifier extends DefaultEntityClassifier { |
| public static class TestEntityClass implements IEntityClass { |
| @Override |
| public EnumSet<DeviceField> getKeyFields() { |
| return EnumSet.of(MAC, VLAN, SWITCH, PORT); |
| } |
| |
| @Override |
| public String getName() { |
| return "TestEntityClass"; |
| } |
| } |
| public static IEntityClass testEC = |
| new MockEntityClassifier.TestEntityClass(); |
| |
| @Override |
| public IEntityClass classifyEntity(Entity entity) { |
| if (entity.getSwitchDPID() >= 10L) { |
| return testEC; |
| } |
| return DefaultEntityClassifier.entityClass; |
| } |
| |
| @Override |
| public EnumSet<IDeviceService.DeviceField> getKeyFields() { |
| return EnumSet.of(MAC, VLAN, SWITCH, PORT); |
| } |
| |
| } |