private void configureEnrichers(Entity entity) { for (AttributeSensor sensor : Iterables.filter(entity.getEntityType().getSensors(), AttributeSensor.class)) { if ((DockerUtils.URL_SENSOR_NAMES.contains(sensor.getName()) || sensor.getName().endsWith(".url") || URI.class.isAssignableFrom(sensor.getType())) && !DockerUtils.BLACKLIST_URL_SENSOR_NAMES.contains(sensor.getName())) { AttributeSensor<String> target = DockerUtils.<String>mappedSensor(sensor); entity.addEnricher( dockerHost .getSubnetTier() .uriTransformingEnricher(EntityAndAttribute.create(entity, sensor), target)); Set<Hint<?>> hints = RendererHints.getHintsFor(sensor); for (Hint<?> hint : hints) { RendererHints.register(target, (NamedActionWithUrl) hint); } if (LOG.isDebugEnabled()) { LOG.debug("Mapped URL sensor: origin={}, mapped={}", sensor.getName(), target.getName()); } } else if (PortAttributeSensorAndConfigKey.class.isAssignableFrom(sensor.getClass())) { AttributeSensor<String> target = DockerUtils.mappedPortSensor((PortAttributeSensorAndConfigKey) sensor); entity.addEnricher( dockerHost .getSubnetTier() .hostAndPortTransformingEnricher( EntityAndAttribute.create(entity, sensor), target)); if (LOG.isDebugEnabled()) { LOG.debug("Mapped port sensor: origin={}, mapped={}", sensor.getName(), target.getName()); } } } }