public RegisteredObservers load()

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);
        }
      }
    };
  }