tom

Added a few todos.

1 package org.onlab.onos.net; 1 package org.onlab.onos.net;
2 2
3 -import java.util.Objects;
4 -
5 /** 3 /**
6 * Representation of a network edge location where an end-station host is 4 * Representation of a network edge location where an end-station host is
7 * connected. 5 * connected.
8 */ 6 */
9 public class HostLocation extends ConnectPoint { 7 public class HostLocation extends ConnectPoint {
10 8
9 + // Note that time is explicitly excluded from the notion of equality.
11 private final long time; 10 private final long time;
12 11
13 public HostLocation(DeviceId deviceId, PortNumber portNumber, long time) { 12 public HostLocation(DeviceId deviceId, PortNumber portNumber, long time) {
...@@ -25,18 +24,4 @@ public class HostLocation extends ConnectPoint { ...@@ -25,18 +24,4 @@ public class HostLocation extends ConnectPoint {
25 return time; 24 return time;
26 } 25 }
27 26
28 - @Override
29 - public int hashCode() {
30 - return 31 * super.hashCode() + Objects.hash(time);
31 - }
32 -
33 - @Override
34 - public boolean equals(Object obj) {
35 - if (obj instanceof HostLocation) {
36 - final HostLocation other = (HostLocation) obj;
37 - return super.equals(obj) && Objects.equals(this.time, other.time);
38 - }
39 - return false;
40 - }
41 -
42 } 27 }
......
...@@ -43,7 +43,6 @@ public interface HostService { ...@@ -43,7 +43,6 @@ public interface HostService {
43 * @param vlanId vlan identifier 43 * @param vlanId vlan identifier
44 * @return set of hosts in the given vlan id 44 * @return set of hosts in the given vlan id
45 */ 45 */
46 - // FIXME: change long to VLanId
47 Set<Host> getHostsByVlan(VlanId vlanId); 46 Set<Host> getHostsByVlan(VlanId vlanId);
48 47
49 /** 48 /**
...@@ -62,6 +61,8 @@ public interface HostService { ...@@ -62,6 +61,8 @@ public interface HostService {
62 */ 61 */
63 Set<Host> getHostsByIp(IpAddress ip); 62 Set<Host> getHostsByIp(IpAddress ip);
64 63
64 + // TODO: consider adding Host getHostByIp(IpAddress ip, VlanId vlan);
65 +
65 /** 66 /**
66 * Returns the set of hosts whose most recent location is the specified 67 * Returns the set of hosts whose most recent location is the specified
67 * connection point. 68 * connection point.
......
...@@ -76,14 +76,14 @@ public class SimpleHostStore { ...@@ -76,14 +76,14 @@ public class SimpleHostStore {
76 HostDescription descr) { 76 HostDescription descr) {
77 DefaultHost updated; 77 DefaultHost updated;
78 HostEvent event; 78 HostEvent event;
79 - // Consider only actual location (not timestamp) change? 79 + if (!host.location().equals(descr.location())) {
80 - if (!(host.location().port().equals(descr.location().port()))) {
81 updated = new DefaultHost(providerId, host.id(), 80 updated = new DefaultHost(providerId, host.id(),
82 host.mac(), 81 host.mac(),
83 host.vlan(), 82 host.vlan(),
84 descr.location(), 83 descr.location(),
85 host.ipAddresses()); 84 host.ipAddresses());
86 event = new HostEvent(HOST_MOVED, updated); 85 event = new HostEvent(HOST_MOVED, updated);
86 +
87 } else if (!(host.ipAddresses().equals(descr.ipAddresses()))) { 87 } else if (!(host.ipAddresses().equals(descr.ipAddresses()))) {
88 updated = new DefaultHost(providerId, host.id(), 88 updated = new DefaultHost(providerId, host.id(),
89 host.mac(), 89 host.mac(),
...@@ -134,7 +134,7 @@ public class SimpleHostStore { ...@@ -134,7 +134,7 @@ public class SimpleHostStore {
134 * @return iterable collection of all hosts 134 * @return iterable collection of all hosts
135 */ 135 */
136 Iterable<Host> getHosts() { 136 Iterable<Host> getHosts() {
137 - return Collections.unmodifiableSet(new HashSet<Host>(hosts.values())); 137 + return Collections.unmodifiableSet(new HashSet<>(hosts.values()));
138 } 138 }
139 139
140 /** 140 /**
...@@ -154,7 +154,7 @@ public class SimpleHostStore { ...@@ -154,7 +154,7 @@ public class SimpleHostStore {
154 * @return set of hosts in the vlan 154 * @return set of hosts in the vlan
155 */ 155 */
156 Set<Host> getHosts(VlanId vlanId) { 156 Set<Host> getHosts(VlanId vlanId) {
157 - Set<Host> vlanset = new HashSet<Host>(); 157 + Set<Host> vlanset = new HashSet<>();
158 for (Host h : hosts.values()) { 158 for (Host h : hosts.values()) {
159 if (h.vlan().equals(vlanId)) { 159 if (h.vlan().equals(vlanId)) {
160 vlanset.add(h); 160 vlanset.add(h);
......
...@@ -12,7 +12,7 @@ export KARAF_LOG=$KARAF/data/log/karaf.log ...@@ -12,7 +12,7 @@ export KARAF_LOG=$KARAF/data/log/karaf.log
12 12
13 # Setup a path 13 # Setup a path
14 export PS=":" 14 export PS=":"
15 -export PATH="$PATH:$ONOS_ROOT/tools/dev;$ONOS_ROOT/tools/package" 15 +export PATH="$PATH:$ONOS_ROOT/tools/dev:$ONOS_ROOT/tools/package"
16 export PATH="$PATH:$MAVEN/bin:$KARAF/bin" 16 export PATH="$PATH:$MAVEN/bin:$KARAF/bin"
17 export PATH="$PATH:." 17 export PATH="$PATH:."
18 18
......
...@@ -29,18 +29,13 @@ cd $ONOS_STAGE ...@@ -29,18 +29,13 @@ cd $ONOS_STAGE
29 # Unroll the Apache Karaf bits and make the ONOS top-level directories. 29 # Unroll the Apache Karaf bits and make the ONOS top-level directories.
30 unzip $KARAF_ZIP 30 unzip $KARAF_ZIP
31 mkdir bin 31 mkdir bin
32 -mkdir lib
33 32
34 # Stage the ONOS admin scripts 33 # Stage the ONOS admin scripts
35 cp -r $ONOS_ROOT/tools/package/bin . 34 cp -r $ONOS_ROOT/tools/package/bin .
36 35
37 # Stage the ONOS bundles 36 # Stage the ONOS bundles
38 -mkdir -p lib/org/onlab 37 +mkdir -p system/org/onlab
39 -cp -r $M2_REPO/org/onlab lib/org 38 +cp -r $M2_REPO/org/onlab system/org/
40 -
41 -
42 -# Patch the Apache Karaf distribution file to point to the lib as maven repo
43 -#perl -pi.old -e "s|^org.ops4j.pax.url.mvn.repositories= |org.ops4j.pax.url.mvn.repositories= \\\n file:../../lib, |" $ONOS_STAGE/$KARAF_DIST/etc/org.ops4j.pax.url.mvn.cfg
44 39
45 # Patch the Apache Karaf distribution file to add ONOS features repository 40 # Patch the Apache Karaf distribution file to add ONOS features repository
46 perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.onlab.onos/onos-features/$ONOS_VERSION/xml/features|" \ 41 perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.onlab.onos/onos-features/$ONOS_VERSION/xml/features|" \
......