blob: c6a5b77e91e8b521b3ab345ab21858f0a39b01ef [file] [log] [blame]
HIGUCHI Yutaed49ef72013-06-12 11:34:10 -07001package net.onrc.onos.ofcontroller.core.internal;
Pankaj Berded1259e82013-01-23 14:10:00 -08002
yoshi29bba842013-11-25 19:47:33 -08003import net.onrc.onos.graph.DBOperation;
4import net.onrc.onos.graph.GraphDBManager;
HIGUCHI Yuta20514902013-06-12 11:24:16 -07005import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
6import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
7import net.onrc.onos.ofcontroller.core.INetMapTopologyService.ITopoSwitchService;
Pankaj Berded1259e82013-01-23 14:10:00 -08008
Pankaj Berde62016142013-04-09 15:35:50 -07009import org.slf4j.Logger;
10import org.slf4j.LoggerFactory;
11
Pankaj Berded1259e82013-01-23 14:10:00 -080012public class TopoSwitchServiceImpl implements ITopoSwitchService {
13
yoshif7424e42013-11-25 22:07:40 -080014 private DBOperation op;
Yuta HIGUCHI6ac8d182013-10-22 15:24:56 -070015 protected final static Logger log = LoggerFactory.getLogger(TopoSwitchServiceImpl.class);
Pankaj Berde15193092013-03-21 17:30:14 -070016
yoshi29bba842013-11-25 19:47:33 -080017 public TopoSwitchServiceImpl(final String dbStore, String conf) {
yoshib6a66eb2014-01-21 10:11:49 -080018 op = GraphDBManager.getDBOperation("ramcloud", "/tmp/ramcloud.conf");
yoshid38cd312013-12-02 19:54:44 -080019 //op = GraphDBManager.getDBOperation(dbStore, conf);;
Toshio Koide63622ea2013-06-13 13:34:28 -070020 }
Pankaj Berde15193092013-03-21 17:30:14 -070021
Toshio Koide63622ea2013-06-13 13:34:28 -070022 public TopoSwitchServiceImpl() {
yoshif7424e42013-11-25 22:07:40 -080023 this("","");
Toshio Koide63622ea2013-06-13 13:34:28 -070024 }
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080025
26 @Override
27 protected void finalize() {
Pankaj Berde15193092013-03-21 17:30:14 -070028 close();
29 }
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080030
Pankaj Berde15193092013-03-21 17:30:14 -070031 @Override
32 public void close() {
yoshif7424e42013-11-25 22:07:40 -080033 op.close();
Pankaj Berde15193092013-03-21 17:30:14 -070034 }
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080035
Pankaj Berded1259e82013-01-23 14:10:00 -080036 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080037 public Iterable<ISwitchObject> getActiveSwitches() {
Pankaj Berded1259e82013-01-23 14:10:00 -080038 // TODO Auto-generated method stub
yoshi9535fc82013-12-05 11:34:52 -080039 //op.close(); //Commit to ensure we see latest data
yoshif7424e42013-11-25 22:07:40 -080040 return op.getActiveSwitches();
Pankaj Berded1259e82013-01-23 14:10:00 -080041 }
42
43 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080044 public Iterable<ISwitchObject> getAllSwitches() {
Pankaj Berde15193092013-03-21 17:30:14 -070045 // TODO Auto-generated method stub
yoshi9535fc82013-12-05 11:34:52 -080046 //op.close(); //Commit to ensure we see latest data
yoshif7424e42013-11-25 22:07:40 -080047 return op.getAllSwitches();
Pankaj Berded1259e82013-01-23 14:10:00 -080048 }
49
50 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080051 public Iterable<ISwitchObject> getInactiveSwitches() {
Pankaj Berded1259e82013-01-23 14:10:00 -080052 // TODO Auto-generated method stub
yoshi9535fc82013-12-05 11:34:52 -080053 //op.close(); //Commit to ensure we see latest data
yoshif7424e42013-11-25 22:07:40 -080054 return op.getInactiveSwitches();
Pankaj Berded1259e82013-01-23 14:10:00 -080055 }
56
57 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080058 public Iterable<IPortObject> getPortsOnSwitch(String dpid) {
yoshi9535fc82013-12-05 11:34:52 -080059 //op.close(); //Commit to ensure we see latest data
yoshif7424e42013-11-25 22:07:40 -080060 ISwitchObject switchObject = op.searchSwitch(dpid);
Jonathan Hart9a21e0d2013-11-14 15:09:09 -080061 if (switchObject != null) {
62 return switchObject.getPorts();
63 }
Pankaj Berde2497e542013-02-19 18:51:24 -080064 return null;
65 }
66
67 @Override
68 public IPortObject getPortOnSwitch(String dpid, short port_num) {
Pankaj Berded1259e82013-01-23 14:10:00 -080069 // TODO Auto-generated method stub
70 return null;
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080071 }
Pankaj Berded1259e82013-01-23 14:10:00 -080072}