blob: 6f046cf52fb618a498c5aad7f322bc5bc2256ce4 [file] [log] [blame]
Ray Milkey26921af2014-06-30 16:27:40 -07001package net.onrc.onos.core.metrics;
2
3import net.floodlightcontroller.core.module.FloodlightModuleContext;
4import net.floodlightcontroller.core.module.FloodlightModuleException;
5import net.floodlightcontroller.core.module.IFloodlightModule;
6import net.floodlightcontroller.core.module.IFloodlightService;
7import net.floodlightcontroller.restserver.IRestApiService;
8import net.onrc.onos.core.registry.IControllerRegistryService;
9
10import java.util.ArrayList;
11import java.util.Collection;
12import java.util.List;
13import java.util.Map;
14
15/**
16 * Floodlight module to add the REST APIs for Metrics.
17 */
18public class OnosMetricsModule implements IFloodlightModule {
19
20 private IRestApiService restApi;
21
22 @Override
23 public Collection<Class<? extends IFloodlightService>> getModuleServices() {
24 return null;
25 }
26
27 @Override
28 public Map<Class<? extends IFloodlightService>, IFloodlightService>
29 getServiceImpls() {
30 return null;
31 }
32
33 @Override
34 public Collection<Class<? extends IFloodlightService>> getModuleDependencies() {
35 List<Class<? extends IFloodlightService>> dependencies =
36 new ArrayList<>();
37 dependencies.add(IControllerRegistryService.class);
38 dependencies.add(IRestApiService.class);
39 return dependencies;
40 }
41
42 @Override
43 public void init(FloodlightModuleContext context)
44 throws FloodlightModuleException {
45 restApi = context.getServiceImpl(IRestApiService.class);
46 }
47
48 @Override
49 public void startUp(FloodlightModuleContext context) {
50 restApi.addRestletRoutable(new MetricsWebRoutable());
51 }
52}
53