blob: 56e6b7395741183efdbeb7f236646db723ca5386 [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 {
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080013
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) {
Yoshi Muroi5804ce92014-02-08 03:58:04 -080018 op = GraphDBManager.getDBOperation();
Toshio Koide63622ea2013-06-13 13:34:28 -070019 }
Pankaj Berde15193092013-03-21 17:30:14 -070020
Toshio Koide63622ea2013-06-13 13:34:28 -070021 public TopoSwitchServiceImpl() {
yoshif7424e42013-11-25 22:07:40 -080022 this("","");
Toshio Koide63622ea2013-06-13 13:34:28 -070023 }
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080024
25 @Override
26 protected void finalize() {
Pankaj Berde15193092013-03-21 17:30:14 -070027 close();
28 }
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080029
Pankaj Berde15193092013-03-21 17:30:14 -070030 @Override
31 public void close() {
yoshif7424e42013-11-25 22:07:40 -080032 op.close();
Pankaj Berde15193092013-03-21 17:30:14 -070033 }
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080034
Pankaj Berded1259e82013-01-23 14:10:00 -080035 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080036 public Iterable<ISwitchObject> getActiveSwitches() {
Pankaj Berded1259e82013-01-23 14:10:00 -080037 // TODO Auto-generated method stub
yoshi9535fc82013-12-05 11:34:52 -080038 //op.close(); //Commit to ensure we see latest data
yoshif7424e42013-11-25 22:07:40 -080039 return op.getActiveSwitches();
Pankaj Berded1259e82013-01-23 14:10:00 -080040 }
41
42 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080043 public Iterable<ISwitchObject> getAllSwitches() {
Pankaj Berde15193092013-03-21 17:30:14 -070044 // TODO Auto-generated method stub
yoshi9535fc82013-12-05 11:34:52 -080045 //op.close(); //Commit to ensure we see latest data
yoshif7424e42013-11-25 22:07:40 -080046 return op.getAllSwitches();
Pankaj Berded1259e82013-01-23 14:10:00 -080047 }
48
49 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080050 public Iterable<ISwitchObject> getInactiveSwitches() {
Pankaj Berded1259e82013-01-23 14:10:00 -080051 // TODO Auto-generated method stub
yoshi9535fc82013-12-05 11:34:52 -080052 //op.close(); //Commit to ensure we see latest data
yoshif7424e42013-11-25 22:07:40 -080053 return op.getInactiveSwitches();
Pankaj Berded1259e82013-01-23 14:10:00 -080054 }
55
56 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080057 public Iterable<IPortObject> getPortsOnSwitch(String dpid) {
yoshi9535fc82013-12-05 11:34:52 -080058 //op.close(); //Commit to ensure we see latest data
yoshif7424e42013-11-25 22:07:40 -080059 ISwitchObject switchObject = op.searchSwitch(dpid);
Jonathan Hart9a21e0d2013-11-14 15:09:09 -080060 if (switchObject != null) {
61 return switchObject.getPorts();
62 }
Pankaj Berde2497e542013-02-19 18:51:24 -080063 return null;
64 }
65
66 @Override
67 public IPortObject getPortOnSwitch(String dpid, short port_num) {
Pankaj Berded1259e82013-01-23 14:10:00 -080068 // TODO Auto-generated method stub
69 return null;
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080070 }
Pankaj Berded1259e82013-01-23 14:10:00 -080071}