Example usage for org.apache.commons.collections.buffer CircularFifoBuffer CircularFifoBuffer

List of usage examples for org.apache.commons.collections.buffer CircularFifoBuffer CircularFifoBuffer

Introduction

In this page you can find the example usage for org.apache.commons.collections.buffer CircularFifoBuffer CircularFifoBuffer.

Prototype

public CircularFifoBuffer(Collection coll) 

Source Link

Document

Constructor that creates a buffer from the specified collection.

Usage

From source file:com.shapira.examples.zkconsumer.simplemovingavg.SimpleMovingAvgZkConsumer.java

public static void main(String[] args) {
    if (args.length == 0) {
        System.out//from  www.  j ava 2  s .  c  o m
                .println("SimpleMovingAvgZkConsumer {zookeeper} {group.id} {topic} {window-size} {wait-time}");
        return;
    }

    String next;
    int num;
    SimpleMovingAvgZkConsumer movingAvg = new SimpleMovingAvgZkConsumer();
    String zkUrl = args[0];
    String groupId = args[1];
    String topic = args[2];
    int window = Integer.parseInt(args[3]);
    movingAvg.waitTime = args[4];

    CircularFifoBuffer buffer = new CircularFifoBuffer(window);

    movingAvg.configure(zkUrl, groupId);

    movingAvg.start(topic);

    while ((next = movingAvg.getNextMessage()) != null) {
        int sum = 0;

        try {
            num = Integer.parseInt(next);
            buffer.add(num);
        } catch (NumberFormatException e) {
            // just ignore strings
        }

        for (Object o : buffer) {
            sum += (Integer) o;
        }

        if (buffer.size() > 0) {
            System.out.println("Moving avg is: " + (sum / buffer.size()));
        }

        // uncomment if you wish to commit offsets on every message
        // movingAvg.consumer.commitOffsets();

    }

    movingAvg.consumer.shutdown();
    System.exit(0);

}

From source file:com.carrotgarden.nexus.aws.s3.publish.metrics.WatchQueueGuage.java

public WatchQueueGuage(final int size) {
    this.size = size;
    this.buffer = new CircularFifoBuffer(size);
}

From source file:gda.gui.text.TextArea.ThreadSafeRingBuffer.java

public ThreadSafeRingBuffer(int capacity) {
    this.buffer = new CircularFifoBuffer(capacity);
}

From source file:com.intuit.cto.selfservice.service.RollingLogOutputStream.java

@SuppressWarnings("unchecked")
RollingLogOutputStream(int maxLines) {
    ringBuffer = new CircularFifoBuffer(maxLines);
}

From source file:com.github.tomakehurst.wiremock.verification.journal.BoundedInMemoryRequestJournal.java

public BoundedInMemoryRequestJournal(int capacity) {
    requests = new CircularFifoBuffer(capacity);
}

From source file:be.ugent.tiwi.sleroux.newsrec.newsreclib.newsFetch.storm.bolts.trendDetect.NthLastModifiedTimeTracker.java

/**
 *
 * @param numTimesToTrack//  w  w  w  .  ja  v a 2s  .  co m
 */
public NthLastModifiedTimeTracker(int numTimesToTrack) {
    if (numTimesToTrack < 1) {
        throw new IllegalArgumentException(
                "numTimesToTrack must be greater than zero (you requested " + numTimesToTrack + ")");
    }
    lastModifiedTimesMillis = new CircularFifoBuffer(numTimesToTrack);
    initLastModifiedTimesMillis();
}

From source file:chen.guo.X.storm.example.tools.NthLastModifiedTimeTracker.java

public NthLastModifiedTimeTracker(int numTimesToTrack) {
    if (numTimesToTrack < 1) {
        throw new IllegalArgumentException(
                "numTimesToTrack must be greater than zero (you requested " + numTimesToTrack + ")");
    }/*from   w  w w .j  a v a 2s.c  o  m*/
    lastModifiedTimesMillis = new CircularFifoBuffer(numTimesToTrack);
    long nowCached = Time.currentTimeMillis();
    for (int i = 0; i < lastModifiedTimesMillis.maxSize(); i++) {
        lastModifiedTimesMillis.add(nowCached);
    }
}

From source file:ca.phon.app.log.LogHandler.java

public LogHandler() {
    super();
    logBuffer = new CircularFifoBuffer(DEFAULT_BUFFER_SIZE);
    instanceRef.set(this);
}

From source file:com.linkedin.databus.core.DbusLogAccumulator.java

public DbusLogAccumulator(int maxNumberMsgs) {
    _msgs = new CircularFifoBuffer(maxNumberMsgs);
    reset();
}

From source file:com.neoris.storm.tools.NthLastModifiedTimeTracker.java

public NthLastModifiedTimeTracker(int numTimesToTrack) {
    if (numTimesToTrack < 1) {
        throw new IllegalArgumentException(
                "numTimesToTrack must be greater than zero (you requested " + numTimesToTrack + ")");
    }/*from   www . j  ava2  s . c o  m*/
    lastModifiedTimesMillis = new CircularFifoBuffer(numTimesToTrack);
    initLastModifiedTimesMillis();
}