in modules/core/src/main/java/org/apache/fluo/core/observer/v1/ObserverStoreV1.java [191:227]
public RegisteredObservers load(CuratorFramework curator) throws Exception {
Map<Column, org.apache.fluo.api.config.ObserverSpecification> observers;
Map<Column, org.apache.fluo.api.config.ObserverSpecification> weakObservers;
ByteArrayInputStream bais;
try {
bais =
new ByteArrayInputStream(curator.getData().forPath(ZookeeperPath.CONFIG_FLUO_OBSERVERS1));
} catch (NoNodeException nne) {
return null;
}
DataInputStream dis = new DataInputStream(bais);
observers = readObservers(dis);
weakObservers = readObservers(dis);
return new RegisteredObservers() {
@Override
public Observers getObservers(Environment env) {
return new ObserversV1(env, observers, weakObservers);
}
@Override
public Set<Column> getObservedColumns(NotificationType nt) {
switch (nt) {
case STRONG:
return observers.keySet();
case WEAK:
return weakObservers.keySet();
default:
throw new IllegalArgumentException("Unknown notification type " + nt);
}
}
};
}