示例#1
0
  public void removeStream(StreamDataSource stream) {
    Iterator it = streams.iterator();
    while (it.hasNext()) {
      StreamDataSource sds = (StreamDataSource) it.next();
      sds.removeStream(stream);
    }

    streams.remove(stream);
    fireRemovedEvent(stream);
  }
示例#2
0
 private void addDefault(StreamDataSource sds) {
   Iterator it = defaultProcs.iterator();
   while (it.hasNext()) {
     FlowProcessor proc = (FlowProcessor) it.next();
     sds.registerRaw(proc);
   }
 }
示例#3
0
  public void loadStreams() throws Exception {
    Config config = Config.getConfiguration("manager.streams");
    afterLoadMap = new HashMap();
    Object[] names = config.getArray("streams", null);

    if (names == null) {
      return;
    }

    for (int i = 0; i < names.length; i++) {
      StreamDataSource sds = new StreamDataSource(names[i].toString());
      sds.load();
      sds.initiate();
      addStreamNoFire(sds);
      addDefault(sds);
    }

    Iterator it = afterLoadMap.keySet().iterator();
    while (it.hasNext()) {
      StreamDataSource sds = (StreamDataSource) it.next();
      List sList = (List) afterLoadMap.get(sds);

      Iterator addIt = sList.iterator();
      while (addIt.hasNext()) {
        Integer serial = (Integer) addIt.next();
        StreamDataSource addStream = getStream(serial.intValue());
        if (addStream != null) {
          sds.addStream(addStream);
        } else {
          logger.warn("Unable to find source (" + serial + ") for " + sds);
        }
      }
    }

    afterLoadMap = null;
  }
示例#4
0
 private void addStreamNoFire(StreamDataSource stream) {
   streams.add(stream);
   serialToStream.put(new Integer(stream.getSerial()), stream);
 }