Showing
5 changed files
with
10 additions
and
29 deletions
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|" \ | ... | ... |
-
Please register or login to post a comment