List of usage examples for org.apache.commons.collections.buffer UnboundedFifoBuffer UnboundedFifoBuffer
public UnboundedFifoBuffer()
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; }