示例#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
 public void addRequestForStream(StreamDataSource sds, int serial) {
   if (afterLoadMap.containsKey(sds)) {
     List sList = (List) afterLoadMap.get(sds);
     sList.add(new Integer(serial));
   } else {
     List sList = new LinkedList();
     sList.add(new Integer(serial));
     afterLoadMap.put(sds, sList);
   }
 }
示例#3
0
  public void saveStreams() throws IOException {
    Config config = Config.getConfiguration("manager.streams");

    config.setArray("streams", streams.toArray());

    Iterator it = streams.iterator();
    while (it.hasNext()) {
      DataSource ds = (DataSource) it.next();
      ds.save();
    }

    config.save();
  }
示例#4
0
  private void fireAddedEvent(StreamDataSource sds) {
    Iterator it = listeners.iterator();

    while (it.hasNext()) {
      ((StreamManagerListener) it.next()).streamAdded(sds);
    }
  }
示例#5
0
 private void addDefault(StreamDataSource sds) {
   Iterator it = defaultProcs.iterator();
   while (it.hasNext()) {
     FlowProcessor proc = (FlowProcessor) it.next();
     sds.registerRaw(proc);
   }
 }
示例#6
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;
  }
示例#7
0
 private void addStreamNoFire(StreamDataSource stream) {
   streams.add(stream);
   serialToStream.put(new Integer(stream.getSerial()), stream);
 }
示例#8
0
 public void removeStreamManagerListener(StreamManagerListener l) {
   listeners.remove(l);
 }
示例#9
0
 public void addStreamManagerListener(StreamManagerListener l) {
   listeners.add(l);
 }
示例#10
0
 public void removeDefaultProcs(FlowProcessor proc) {
   defaultProcs.remove(proc);
 }
示例#11
0
 public void addDefaultProcs(FlowProcessor proc) {
   if (proc != null) {
     defaultProcs.add(proc);
   }
 }