Added a few todos.
diff --git a/core/api/src/main/java/org/onlab/onos/net/HostLocation.java b/core/api/src/main/java/org/onlab/onos/net/HostLocation.java
index 22673a6..626b027 100644
--- a/core/api/src/main/java/org/onlab/onos/net/HostLocation.java
+++ b/core/api/src/main/java/org/onlab/onos/net/HostLocation.java
@@ -1,13 +1,12 @@
package org.onlab.onos.net;
-import java.util.Objects;
-
/**
* Representation of a network edge location where an end-station host is
* connected.
*/
public class HostLocation extends ConnectPoint {
+ // Note that time is explicitly excluded from the notion of equality.
private final long time;
public HostLocation(DeviceId deviceId, PortNumber portNumber, long time) {
@@ -25,18 +24,4 @@
return time;
}
- @Override
- public int hashCode() {
- return 31 * super.hashCode() + Objects.hash(time);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof HostLocation) {
- final HostLocation other = (HostLocation) obj;
- return super.equals(obj) && Objects.equals(this.time, other.time);
- }
- return false;
- }
-
}
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/HostService.java b/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
index 357fb61..a42e231 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
@@ -43,7 +43,6 @@
* @param vlanId vlan identifier
* @return set of hosts in the given vlan id
*/
- // FIXME: change long to VLanId
Set<Host> getHostsByVlan(VlanId vlanId);
/**
@@ -62,6 +61,8 @@
*/
Set<Host> getHostsByIp(IpAddress ip);
+ // TODO: consider adding Host getHostByIp(IpAddress ip, VlanId vlan);
+
/**
* Returns the set of hosts whose most recent location is the specified
* connection point.
diff --git a/core/trivial/src/main/java/org/onlab/onos/net/trivial/host/impl/SimpleHostStore.java b/core/trivial/src/main/java/org/onlab/onos/net/trivial/host/impl/SimpleHostStore.java
index 91c02d8..c53d2c8 100644
--- a/core/trivial/src/main/java/org/onlab/onos/net/trivial/host/impl/SimpleHostStore.java
+++ b/core/trivial/src/main/java/org/onlab/onos/net/trivial/host/impl/SimpleHostStore.java
@@ -48,7 +48,7 @@
* @return appropriate event or null if no change resulted
*/
HostEvent createOrUpdateHost(ProviderId providerId, HostId hostId,
- HostDescription hostDescription) {
+ HostDescription hostDescription) {
Host host = hosts.get(hostId);
if (host == null) {
return createHost(providerId, hostId, hostDescription);
@@ -58,12 +58,12 @@
// creates a new host and sends HOST_ADDED
private HostEvent createHost(ProviderId providerId, HostId hostId,
- HostDescription descr) {
+ HostDescription descr) {
DefaultHost newhost = new DefaultHost(providerId, hostId,
- descr.hwAddress(),
- descr.vlan(),
- descr.location(),
- descr.ipAddresses());
+ descr.hwAddress(),
+ descr.vlan(),
+ descr.location(),
+ descr.ipAddresses());
synchronized (this) {
hosts.put(hostId, newhost);
locations.put(descr.location(), newhost);
@@ -73,23 +73,23 @@
// checks for type of update to host, sends appropriate event
private HostEvent updateHost(ProviderId providerId, Host host,
- HostDescription descr) {
+ HostDescription descr) {
DefaultHost updated;
HostEvent event;
- // Consider only actual location (not timestamp) change?
- if (!(host.location().port().equals(descr.location().port()))) {
+ if (!host.location().equals(descr.location())) {
updated = new DefaultHost(providerId, host.id(),
- host.mac(),
- host.vlan(),
- descr.location(),
- host.ipAddresses());
+ host.mac(),
+ host.vlan(),
+ descr.location(),
+ host.ipAddresses());
event = new HostEvent(HOST_MOVED, updated);
+
} else if (!(host.ipAddresses().equals(descr.ipAddresses()))) {
updated = new DefaultHost(providerId, host.id(),
- host.mac(),
- host.vlan(),
- descr.location(),
- descr.ipAddresses());
+ host.mac(),
+ host.vlan(),
+ descr.location(),
+ descr.ipAddresses());
event = new HostEvent(HOST_UPDATED, updated);
} else {
return null;
@@ -134,7 +134,7 @@
* @return iterable collection of all hosts
*/
Iterable<Host> getHosts() {
- return Collections.unmodifiableSet(new HashSet<Host>(hosts.values()));
+ return Collections.unmodifiableSet(new HashSet<>(hosts.values()));
}
/**
@@ -154,7 +154,7 @@
* @return set of hosts in the vlan
*/
Set<Host> getHosts(VlanId vlanId) {
- Set<Host> vlanset = new HashSet<Host>();
+ Set<Host> vlanset = new HashSet<>();
for (Host h : hosts.values()) {
if (h.vlan().equals(vlanId)) {
vlanset.add(h);
diff --git a/tools/dev/bash_profile b/tools/dev/bash_profile
index d4aa64a..a9852ba 100644
--- a/tools/dev/bash_profile
+++ b/tools/dev/bash_profile
@@ -12,7 +12,7 @@
# Setup a path
export PS=":"
-export PATH="$PATH:$ONOS_ROOT/tools/dev;$ONOS_ROOT/tools/package"
+export PATH="$PATH:$ONOS_ROOT/tools/dev:$ONOS_ROOT/tools/package"
export PATH="$PATH:$MAVEN/bin:$KARAF/bin"
export PATH="$PATH:."
diff --git a/tools/package/package b/tools/package/package
index 870acc6..0bf8a39 100755
--- a/tools/package/package
+++ b/tools/package/package
@@ -29,18 +29,13 @@
# Unroll the Apache Karaf bits and make the ONOS top-level directories.
unzip $KARAF_ZIP
mkdir bin
-mkdir lib
# Stage the ONOS admin scripts
cp -r $ONOS_ROOT/tools/package/bin .
# Stage the ONOS bundles
-mkdir -p lib/org/onlab
-cp -r $M2_REPO/org/onlab lib/org
-
-
-# Patch the Apache Karaf distribution file to point to the lib as maven repo
-#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
+mkdir -p system/org/onlab
+cp -r $M2_REPO/org/onlab system/org/
# Patch the Apache Karaf distribution file to add ONOS features repository
perl -pi.old -e "s|^(featuresRepositories=.*)|\1,mvn:org.onlab.onos/onos-features/$ONOS_VERSION/xml/features|" \