Package org.apache.commons.collections15

Examples of org.apache.commons.collections15.FunctorException


     * complete. The remaining thread should complete after the
     * addition of a second singleton.
     */
    public void testBlockedRemoveWithAddAll1() {

        Buffer blockingBuffer = BlockingBuffer.decorate(new MyBuffer());
        Object obj = new Object();
       
        // run methods will remove and compare -- must wait for addAll
        Thread thread1 = new ReadThread(blockingBuffer, obj, null, "remove");
        Thread thread2 = new ReadThread(blockingBuffer, obj, null, "remove");
        thread1.start();
        thread2.start();
       
        // give hungry read threads ample time to hang
        delay();

        blockingBuffer.addAll(Collections.singleton(obj));
       
        // allow notified threads to complete
        delay();
       
        // There should be one thread waiting.
        assertTrue("There is one thread waiting", thread1.isAlive() ^ thread2.isAlive());

        blockingBuffer.addAll(Collections.singleton(obj));
       
        // allow notified thread to complete
        delay();

        // There should not be any threads waiting.
View Full Code Here


     * threads should complete. Each thread should have read a
     * different object.
     */
    public void testBlockedRemoveWithAddAll2() {

        Buffer blockingBuffer = BlockingBuffer.decorate(new MyBuffer());
        Object obj1 = new Object();
        Object obj2 = new Object();

        Set objs = Collections.synchronizedSet(new HashSet());
        objs.add(obj1);
        objs.add(obj2);

        // run methods will remove and compare -- must wait for addAll
        Thread thread1 = new ReadThread(blockingBuffer, objs, "remove");
        Thread thread2 = new ReadThread(blockingBuffer, objs, "remove");
        thread1.start();
        thread2.start();
       
        // give hungry read threads ample time to hang
        delay();

        blockingBuffer.addAll(objs);
       
        // allow notified threads to complete
        delay();

        assertEquals("Both objects were removed", 0, objs.size());
View Full Code Here

    /**
     * Tests interrupted remove.
     */
    public void testInterruptedRemove() {

        Buffer blockingBuffer = BlockingBuffer.decorate(new MyBuffer());
        Object obj = new Object();
       
        // spawn a read thread to wait on the empty buffer
        ArrayList exceptionList = new ArrayList();
        Thread thread = new ReadThread(blockingBuffer, obj, exceptionList, "remove");
View Full Code Here

    public Collection makeCollection() {
        return UnmodifiableBuffer.decorate(new UnboundedFifoBuffer());
    }

    public Collection makeFullCollection() {
        Buffer buffer = new UnboundedFifoBuffer();
        buffer.addAll(Arrays.asList(getFullElements()));
        return UnmodifiableBuffer.decorate(buffer);
    }
View Full Code Here

        return false;
    }

    public void testBufferRemove() {
        resetEmpty();
        Buffer buffer = (Buffer) collection;
        try {
            buffer.remove();
            fail();
        } catch (UnsupportedOperationException ex) {
        }
    }
View Full Code Here

    protected static class MyBuffer extends LinkedList implements Buffer {

        public Object get() {
            if (isEmpty())
                throw new BufferUnderflowException();
            return get(0);
        }
View Full Code Here

            return get(0);
        }

        public Object remove() {
            if (isEmpty())
                throw new BufferUnderflowException();
            return remove(0);
        }
View Full Code Here

            try {
                return (T) iCloneMethod.invoke(iPrototype, null);

            } catch (IllegalAccessException ex) {
                throw new FunctorException("PrototypeCloneFactory: Clone method must be public", ex);
            } catch (InvocationTargetException ex) {
                throw new FunctorException("PrototypeCloneFactory: Clone method threw an exception", ex);
            }
        }
View Full Code Here

                bais = new ByteArrayInputStream(baos.toByteArray());
                ObjectInputStream in = new ObjectInputStream(bais);
                return (T) in.readObject();

            } catch (ClassNotFoundException ex) {
                throw new FunctorException(ex);
            } catch (IOException ex) {
                throw new FunctorException(ex);
            } finally {
                try {
                    if (bais != null) {
                        bais.close();
                    }
View Full Code Here

     * @throws FunctorException if the transformer returns an invalid type
     */
    public boolean evaluate(T object) {
        Boolean result = iTransformer.transform(object);
        if (result == null) {
            throw new FunctorException("Transformer must return an instanceof Boolean, it was a " + (result == null ? "null object" : result.getClass().getName()));
        }
        return result.booleanValue();
    }
View Full Code Here

TOP

Related Classes of org.apache.commons.collections15.FunctorException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.