private void onItemRemoved(Entity item) { if (items.remove(item)) { subscriptions().unsubscribe(item); sensors().emit(ITEM_REMOVED, item); } }
@Override @Deprecated public void removeAttribute(AttributeSensor<?> attribute) { sensors().remove(attribute); }
/** * Adds the given {@link Sensor} to this entity. */ public void addSensor(Sensor<?> newSensor) { sensors.put(newSensor.getName(), newSensor); invalidateSnapshot(); instance.sensors().emit(AbstractEntity.SENSOR_ADDED, newSensor); }
@Override public MarathonTaskLocation getDynamicLocation() { return (MarathonTaskLocation) sensors().get(DYNAMIC_LOCATION); }
@Override public String getHostname() { return sensors().get(Attributes.HOSTNAME); }
@Override public MesosFramework getFramework() { return (MesosFramework) sensors().get(FRAMEWORK); }
@Override public DockerContainerLocation getDynamicLocation() { return (DockerContainerLocation) sensors().get(DYNAMIC_LOCATION); }
@Override public SshMachineLocation getMachine() { return sensors().get(SSH_MACHINE_LOCATION); }
@Override public DockerHostLocation getDynamicLocation() { return (DockerHostLocation) sensors().get(DYNAMIC_LOCATION); }
@Override public Integer getDockerPort() { return sensors().get(DOCKER_SSL_PORT); }
@Override public DynamicCluster getDockerHostCluster() { return sensors().get(DOCKER_HOST_CLUSTER); }
private void addNode(Entity member, String name) { synchronized (clusterMutex) { LOG.info("Adding node {}: {}; {} to cluster", new Object[] { this, member, name }); Map<Entity, String> nodes = MutableMap.copyOf(sensors().get(ETCD_CLUSTER_NODES)); nodes.put(member, name); recalculateClusterAddresses(nodes); member.sensors().set(EtcdNode.ETCD_NODE_HAS_JOINED_CLUSTER, Boolean.TRUE); Entities.waitForServiceUp(member); } }
@Override public MesosSlave getMesosSlave(String hostname) { Collection<Entity> slaves = sensors().get(MESOS_SLAVES).getMembers(); Optional<Entity> found = Iterables.tryFind(slaves, Predicates.or( EntityPredicates.attributeEqualTo(MesosSlave.HOSTNAME, hostname), EntityPredicates.attributeEqualTo(MesosSlave.ADDRESS, hostname))); if (found.isPresent()) { return (MesosSlave) found.get(); } else { throw new IllegalStateException("Cannot find slave for host: " + hostname); } }
@Override public void rebind() { super.rebind(); // Reload our location definition on rebind ManagementContext.PropertiesReloadListener listener = sensors().get(Attributes.PROPERTIES_RELOAD_LISTENER); if (listener != null) { listener.reloaded(); } }
@Override public void addItem(Entity item) { if (LOG.isDebugEnabled()) LOG.debug("Mocks: adding item {} to container {}", item, this); if (!running || offloading) throw new IllegalStateException("Container "+getDisplayName()+" is not running; cannot add item "+item); addMember(item); sensors().emit(ITEM_ADDED, item); }
private void onContainerDown(BalanceableContainer<?> oldContainer) { if (containers.remove(oldContainer)) { sensors().emit(CONTAINER_REMOVED, oldContainer); } }