tom

Added a few todos.

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 @@ public class HostLocation extends ConnectPoint {
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;
}
}
......
......@@ -43,7 +43,6 @@ public interface HostService {
* @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 @@ public interface HostService {
*/
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.
......
......@@ -48,7 +48,7 @@ public class SimpleHostStore {
* @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 @@ public class SimpleHostStore {
// 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 @@ public class SimpleHostStore {
// 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 @@ public class SimpleHostStore {
* @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 @@ public class SimpleHostStore {
* @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);
......
......@@ -12,7 +12,7 @@ export KARAF_LOG=$KARAF/data/log/karaf.log
# 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:."
......
......@@ -29,18 +29,13 @@ cd $ONOS_STAGE
# 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|" \
......