blob: 52a58170460620da5d0c4017c4ebe9b0a8c137db [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
Pankaj Berde38646d62013-06-21 11:34:04 -07003import net.onrc.onos.graph.GraphDBOperation;
HIGUCHI Yuta20514902013-06-12 11:24:16 -07004import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
5import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
6import net.onrc.onos.ofcontroller.core.INetMapTopologyService.ITopoSwitchService;
Pankaj Berded1259e82013-01-23 14:10:00 -08007
Pankaj Berde62016142013-04-09 15:35:50 -07008import org.slf4j.Logger;
9import org.slf4j.LoggerFactory;
10
Pankaj Berded1259e82013-01-23 14:10:00 -080011public class TopoSwitchServiceImpl implements ITopoSwitchService {
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080012
Toshio Koide63622ea2013-06-13 13:34:28 -070013 private GraphDBOperation op;
Yuta HIGUCHI6ac8d182013-10-22 15:24:56 -070014 protected final static Logger log = LoggerFactory.getLogger(TopoSwitchServiceImpl.class);
Pankaj Berde15193092013-03-21 17:30:14 -070015
Toshio Koide63622ea2013-06-13 13:34:28 -070016 public TopoSwitchServiceImpl(String conf) {
Toshio Koidebfe9b922013-06-18 10:56:05 -070017 op = new GraphDBOperation(conf);
Toshio Koide63622ea2013-06-13 13:34:28 -070018 }
Pankaj Berde15193092013-03-21 17:30:14 -070019
Toshio Koide63622ea2013-06-13 13:34:28 -070020 public TopoSwitchServiceImpl() {
Pavlin Radoslavov0eac86d2013-10-18 18:40:16 -070021 this("");
Toshio Koide63622ea2013-06-13 13:34:28 -070022 }
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080023
24 @Override
25 protected void finalize() {
Pankaj Berde15193092013-03-21 17:30:14 -070026 close();
27 }
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080028
Pankaj Berde15193092013-03-21 17:30:14 -070029 @Override
30 public void close() {
Toshio Koide63622ea2013-06-13 13:34:28 -070031 op.close();
Pankaj Berde15193092013-03-21 17:30:14 -070032 }
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080033
Pankaj Berded1259e82013-01-23 14:10:00 -080034 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080035 public Iterable<ISwitchObject> getActiveSwitches() {
Pankaj Berded1259e82013-01-23 14:10:00 -080036 // TODO Auto-generated method stub
Toshio Koide63622ea2013-06-13 13:34:28 -070037 op.close(); //Commit to ensure we see latest data
38 return op.getActiveSwitches();
Pankaj Berded1259e82013-01-23 14:10:00 -080039 }
40
41 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080042 public Iterable<ISwitchObject> getAllSwitches() {
Pankaj Berde15193092013-03-21 17:30:14 -070043 // TODO Auto-generated method stub
Toshio Koide63622ea2013-06-13 13:34:28 -070044 op.close(); //Commit to ensure we see latest data
45 return op.getAllSwitches();
Pankaj Berded1259e82013-01-23 14:10:00 -080046 }
47
48 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080049 public Iterable<ISwitchObject> getInactiveSwitches() {
Pankaj Berded1259e82013-01-23 14:10:00 -080050 // TODO Auto-generated method stub
Toshio Koide63622ea2013-06-13 13:34:28 -070051 op.close(); //Commit to ensure we see latest data
52 return op.getInactiveSwitches();
Pankaj Berded1259e82013-01-23 14:10:00 -080053 }
54
55 @Override
Pankaj Berde2497e542013-02-19 18:51:24 -080056 public Iterable<IPortObject> getPortsOnSwitch(String dpid) {
Jonathan Hart9a21e0d2013-11-14 15:09:09 -080057 op.close(); //Commit to ensure we see latest data
58 ISwitchObject switchObject = op.searchSwitch(dpid);
59 if (switchObject != null) {
60 return switchObject.getPorts();
61 }
Pankaj Berde2497e542013-02-19 18:51:24 -080062 return null;
63 }
64
65 @Override
66 public IPortObject getPortOnSwitch(String dpid, short port_num) {
Pankaj Berded1259e82013-01-23 14:10:00 -080067 // TODO Auto-generated method stub
68 return null;
Yuta HIGUCHI67a7a3e2014-01-03 14:51:34 -080069 }
Pankaj Berded1259e82013-01-23 14:10:00 -080070}