blob: 2a66527f912af68cbdc99da40c73ec1b658314d9 [file] [log] [blame]
Pankaj Berdeda809572013-02-22 15:31:20 -08001package net.floodlightcontroller.onoslistener;
2
3import java.util.ArrayList;
4import java.util.Collection;
5import java.util.Map;
6
7import org.slf4j.Logger;
8import org.slf4j.LoggerFactory;
9
10import net.floodlightcontroller.core.IFloodlightProviderService;
11import net.floodlightcontroller.core.IOFSwitch;
12import net.floodlightcontroller.core.IOFSwitchListener;
13import net.floodlightcontroller.core.ISwitchStorage;
14import net.floodlightcontroller.core.internal.SwitchStorageImpl;
15import net.floodlightcontroller.core.module.FloodlightModuleContext;
16import net.floodlightcontroller.core.module.FloodlightModuleException;
17import net.floodlightcontroller.core.module.IFloodlightModule;
18import net.floodlightcontroller.core.module.IFloodlightService;
19import net.floodlightcontroller.devicemanager.IDevice;
20import net.floodlightcontroller.devicemanager.IDeviceListener;
21import net.floodlightcontroller.devicemanager.IDeviceService;
22import net.floodlightcontroller.devicemanager.IDeviceStorage;
23import net.floodlightcontroller.devicemanager.internal.DeviceStorageImpl;
24import net.floodlightcontroller.linkdiscovery.ILinkDiscoveryListener;
25
26public class OnosPublisher implements IDeviceListener, IOFSwitchListener,
27 ILinkDiscoveryListener, IFloodlightModule {
28
29 protected IDeviceStorage devStore;
Pankaj Berdeda809572013-02-22 15:31:20 -080030 protected static Logger log;
31 protected IDeviceService deviceService;
32
33 protected static final String DBConfigFile = "dbconf";
34
35 @Override
36 public void linkDiscoveryUpdate(LDUpdate update) {
37 // TODO Auto-generated method stub
38
39 }
40
41 @Override
42 public void addedSwitch(IOFSwitch sw) {
43 // TODO Auto-generated method stub
44
45 }
46
47 @Override
48 public void removedSwitch(IOFSwitch sw) {
49 // TODO Auto-generated method stub
50
51 }
52
53 @Override
54 public void switchPortChanged(Long switchId) {
55 // TODO Auto-generated method stub
56
57 }
58
59 @Override
60 public String getName() {
61 return "OnosPublisher";
62 }
63
64 @Override
65 public void deviceAdded(IDevice device) {
66 // TODO Auto-generated method stub
67 log.debug("{}:deviceAdded(): Adding device {}",this.getClass(),device.getMACAddressString());
68 devStore.addDevice(device);
69 }
70
71 @Override
72 public void deviceRemoved(IDevice device) {
73 // TODO Auto-generated method stub
74
75 }
76
77 @Override
78 public void deviceMoved(IDevice device) {
79 // TODO Auto-generated method stub
80 devStore.changeDeviceAttachments(device);
81
82 }
83
84 @Override
85 public void deviceIPV4AddrChanged(IDevice device) {
86 // TODO Auto-generated method stub
87 devStore.changeDeviceIPv4Address(device);
88
89 }
90
91 @Override
92 public void deviceVlanChanged(IDevice device) {
93 // TODO Auto-generated method stub
94 }
95
96
97 @Override
98 public Collection<Class<? extends IFloodlightService>> getModuleServices() {
99 // TODO Auto-generated method stub
100 return null;
101 }
102
103 @Override
104 public Map<Class<? extends IFloodlightService>, IFloodlightService> getServiceImpls() {
105 // TODO Auto-generated method stub
106 return null;
107 }
108
109 @Override
110 public Collection<Class<? extends IFloodlightService>> getModuleDependencies() {
111 Collection<Class<? extends IFloodlightService>> l =
112 new ArrayList<Class<? extends IFloodlightService>>();
113 l.add(IFloodlightProviderService.class);
114 l.add(IDeviceService.class);
115 return l;
116 }
117
118 @Override
119 public void init(FloodlightModuleContext context)
120 throws FloodlightModuleException {
121 // TODO Auto-generated method stub
122 Map<String, String> configMap = context.getConfigParams(this);
123 String conf = configMap.get(DBConfigFile);
124
125 log = LoggerFactory.getLogger(OnosPublisher.class);
126 deviceService = context.getServiceImpl(IDeviceService.class);
127
Pankaj Berdeda809572013-02-22 15:31:20 -0800128 devStore = new DeviceStorageImpl();
129 devStore.init(conf);
130
131 log.debug("Initializing OnosPublisher module with {}", conf);
132
133 }
134
135 @Override
136 public void startUp(FloodlightModuleContext context) {
137 // TODO Auto-generated method stub
138 deviceService.addListener(this);
139 }
140
141}