@Override
@SuppressWarnings("unchecked")
protected void addCustoms(RebindContext rebindContext, EntityMemento memento) {
for (ConfigKey<?> key : memento.getDynamicConfigKeys()) {
entity.getMutableEntityType().addConfigKey(key);
}
for (Effector<?> eff : memento.getEffectors()) {
entity.getMutableEntityType().addEffector(eff);
}
for (Map.Entry<AttributeSensor<?>, Object> entry : memento.getAttributes().entrySet()) {
try {
AttributeSensor<?> key = entry.getKey();
Object value = entry.getValue();
@SuppressWarnings("unused")
Class<?> type = (key.getType() != null) ? key.getType() : rebindContext.loadClass(key.getTypeName());
entity.sensors().setWithoutPublishing((AttributeSensor<Object>)key, value);
} catch (Exception e) {
LOG.warn("Error adding custom sensor "+entry+" when rebinding "+entity+" (rethrowing): "+e);
throw Exceptions.propagate(e);
}
}
setParent(rebindContext, memento);
addChildren(rebindContext, memento);
addMembers(rebindContext, memento);
addLocations(rebindContext, memento);
}