/** * Returns a description of the given host. * * @param host the host * @return a description of the host */ public static HostDescription descriptionOf(Host host) { checkNotNull(host, "Must supply a non-null Host"); return new DefaultHostDescription(host.mac(), host.vlan(), host.locations(), host.ipAddresses(), host.configured(), (SparseAnnotations) host.annotations()); } }
@Override public ObjectNode encode(Host host, CodecContext context) { checkNotNull(host, "Host cannot be null"); final JsonCodec<HostLocation> locationCodec = context.codec(HostLocation.class); final ObjectNode result = context.mapper().createObjectNode() .put("id", host.id().toString()) .put("mac", host.mac().toString()) .put("vlan", host.vlan().toString()) .put("innerVlan", host.innerVlan().toString()) .put("outerTpid", host.tpid().toString()) .put("configured", host.configured()); final ArrayNode jsonIpAddresses = result.putArray("ipAddresses"); for (final IpAddress ipAddress : host.ipAddresses()) { jsonIpAddresses.add(ipAddress.toString()); } result.set("ipAddresses", jsonIpAddresses); final ArrayNode jsonLocations = result.putArray("locations"); for (final HostLocation location : host.locations()) { jsonLocations.add(locationCodec.encode(location, context)); } result.set("locations", jsonLocations); return annotate(result, host, context); }
/** * Providers should only be able to remove a host that is provided by itself, * or a host that is not configured. */ private boolean allowedToChange(HostId hostId) { Host host = store.getHost(hostId); return host == null || !host.configured() || host.providerId().equals(provider().id()); } }
Host host = store.getHost(hostId); if (host != null && host.configured()) { return;
/** * Prints information about a host. * * @param host end-station host */ protected void printHost(Host host) { if (shortOnly) { print(FMT_SHORT, host.id(), host.mac(), host.locations(), host.vlan(), host.ipAddresses()); } else { print(FMT, host.id(), host.mac(), host.locations(), host.vlan(), host.ipAddresses(), annotations(host.annotations()), host.innerVlan(), host.tpid().toString(), host.providerId().scheme(), host.providerId().id(), host.configured()); } } }