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

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

Introduction

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

Prototype

public UnboundedFifoBuffer() 

Source Link

Document

Constructs an UnboundedFifoBuffer with the default number of elements.

Usage

From source file:com.octo.captcha.engine.bufferedengine.buffer.MemoryCaptchaBufferTest.java

public void testRemoveEmptyBuffer() {
    UnboundedFifoBuffer fifoBuffer = new UnboundedFifoBuffer();
    try {/*from w w  w  . ja  v  a2  s. c  o m*/
        fifoBuffer.remove();
        fail("should throw an Exception");
    } catch (NoSuchElementException e) {
    }
}

From source file:edu.illinois.enforcemop.examples.apache.collections.TestBoundedBuffer.java

public Object makeObject() {
    return BoundedBuffer.decorate(new UnboundedFifoBuffer(), 1);
}

From source file:edu.illinois.enforcemop.examples.apache.collections.TestBoundedBuffer.java

/**@TO-DO How do we handle timed events? */
@Test/*  w ww .j  a  va2s  .  co  m*/
//  @Schedule(name = "addToFullBufferRemoveViaIterator", sequence = "[beforeAdd:afterAdd]@main->beforeRemove@removeThread")
public void testAddToFullBufferRemoveViaIterator() {
    final Buffer bounded = BoundedBuffer.decorate(new UnboundedFifoBuffer(), 1, 500);
    bounded.add("Hello");
    new NonDelayedIteratorRemove(bounded, 100, "removeThread").start();
    /* @Event("beforeAdd")*/
    bounded.add("World");
    /* @Event("afterAdd")*/
    assertEquals(1, bounded.size());
    assertEquals("World", bounded.get());

}

From source file:edu.illinois.enforcemop.examples.apache.collections.TestBoundedBuffer.java

@Test
//  @Schedule(name = "default", sequence = "[beforeAdd:afterAdd]@main->beforeRemove@removeThread")
public void testAddAllToFullBufferRemoveViaIterator() {
    final Buffer bounded = BoundedBuffer.decorate(new UnboundedFifoBuffer(), 2, 500);
    bounded.add("Hello");
    bounded.add("World");
    new NonDelayedIteratorRemove(bounded, 100, 2, "removeThread").start();
    /* @Event("beforeAdd")*/
    bounded.addAll(Arrays.asList(new String[] { "Foo", "Bar" }));
    /* @Event("afterAdd")*/
    assertEquals(2, bounded.size());/*  w  w w .  j  a va 2 s. c o m*/
    assertEquals("Foo", bounded.remove());
    assertEquals("Bar", bounded.remove());
}

From source file:gsn.wrappers.SystemTime.java

public boolean initialize() {
    AddressBean addressBean = getActiveAddressBean();
    //  TODO: negative values?
    timer = new Timer(addressBean.getPredicateValueAsInt(CLOCK_PERIOD_KEY, DEFAULT_CLOCK_PERIODS), this);
    maximumDelay = addressBean.getPredicateValueAsInt(MAX_DELAY_KEY, DEFAULT_MAX_DELAY);
    if (maximumDelay > 0) {
        streamElementBuffer = SynchronizedBuffer.decorate(new UnboundedFifoBuffer());
        delayPostingElements = true;//from  w  ww. jav  a 2 s.c  om
        if (timer.getDelay() < maximumDelay)
            logger.warn(
                    "Maximum delay is greater than element production interval. Running for a long time may lead to an OutOfMemoryException");
    }
    return true;
}

From source file:com.octo.captcha.engine.bufferedengine.buffer.MemoryCaptchaBuffer.java

public synchronized void putCaptcha(Captcha captcha, Locale locale) {

    if (!buffers.containsKey(locale)) {
        buffers.put(locale, new UnboundedFifoBuffer());
    }//w  ww .  j  a  va  2  s  .c  o  m

    ((UnboundedFifoBuffer) buffers.get(locale)).add(captcha);
}

From source file:edu.illinois.enforcemop.examples.apache.collections.TestBoundedBuffer.java

@Test
// @Schedule(name = "addToFullBufferWithTimeout", sequence = "[beforeAdd:afterAdd]@main->beforeRemove@removeThread,afterRemove@removeThread->afterAdd@main")
public void testAddToFullBufferWithTimeout() {
    final Buffer bounded = BoundedBuffer.decorate(new UnboundedFifoBuffer(), 1, 500);
    bounded.add("Hello");
    new NonDelayedRemove(bounded, 100, "removeThread").start();
    /* @Event("beforeAdd")*/
    bounded.add("World");
    /* @Event("afterAdd")*/
    assertEquals(1, bounded.size());/*www  .j a  va2  s  .  c o m*/
    assertEquals("World", bounded.get());
    try {
        bounded.add("!");
        fail();
    } catch (BufferOverflowException e) {
    }
}

From source file:com.octo.captcha.engine.bufferedengine.buffer.MemoryCaptchaBuffer.java

/**
 * @see com.octo.captcha.engine.bufferedengine.buffer.CaptchaBuffer#putAllCaptcha(java.util.Collection)
 *///from   ww  w.  ja  v a 2  s.c om
public synchronized void putAllCaptcha(Collection captchas, Locale locale) {

    if (!buffers.containsKey(locale)) {
        buffers.put(locale, new UnboundedFifoBuffer());
    }

    ((UnboundedFifoBuffer) buffers.get(locale)).addAll(captchas);

    logDebug("put into mem  : " + captchas.size() + " for locale :" + locale.toString() + " with size : "
            + ((UnboundedFifoBuffer) buffers.get(locale)).size());
}

From source file:com.octo.captcha.engine.bufferedengine.buffer.MemoryCaptchaBuffer.java

/**
 * @see com.octo.captcha.engine.bufferedengine.buffer.CaptchaBuffer#size()
 *///  w ww . j  a  va 2s  .  c o  m
public int size(Locale locale) {
    if (!buffers.containsKey(locale)) {
        buffers.put(locale, new UnboundedFifoBuffer());
    }
    return ((UnboundedFifoBuffer) buffers.get(locale)).size();
}

From source file:com.octo.captcha.engine.bufferedengine.buffer.DiskCaptchaBuffer.java

/**
 * Gets an entry from the Disk Store./*from  www  .  ja va2 s. com*/
 *
 * @return The element
 */
protected synchronized Collection remove(int number, Locale locale) throws IOException {
    if (!isInitalized)
        return new ArrayList(0);
    DiskElement diskElement = null;
    int index = 0;
    boolean diskEmpty = false;

    Collection collection = new UnboundedFifoBuffer();

    //if no locale
    if (!diskElements.containsKey(locale)) {
        return collection;
    }

    try {
        while (!diskEmpty && index < number) {

            // Check if the element is on disk
            try {
                diskElement = (DiskElement) ((LinkedList) diskElements.get(locale)).removeFirst();

                // Load the element
                randomAccessFile.seek(diskElement.position);
                byte[] buffer = new byte[diskElement.payloadSize];
                randomAccessFile.readFully(buffer);
                ByteArrayInputStream instr = new ByteArrayInputStream(buffer);
                ObjectInputStream objstr = new ObjectInputStream(instr);

                collection.add(objstr.readObject());
                instr.close();
                objstr.close();

                freeBlock(diskElement);
                index++;
            } catch (NoSuchElementException e) {
                diskEmpty = true;
                log.debug("disk is empty for locale : " + locale.toString());
            }
        }
    } catch (Exception e) {
        log.error("Error while reading on disk ", e);
    }
    if (log.isDebugEnabled()) {
        log.debug("removed  " + collection.size() + " from disk buffer with locale " + locale.toString());
    }
    return collection;
}