Package org.drools.common

Examples of org.drools.common.DefaultFactHandle


        assertEquals( 0,
                      map.size() );

        final Cheese stilton1 = new Cheese( "stilton",
                                            35 );
        final InternalFactHandle stiltonHandle1 = new DefaultFactHandle( 1,
                                                                         stilton1 );
        RightTuple stiltonRightTuple1 = new RightTuple( stiltonHandle1,
                                                        null );
        map.add( stiltonRightTuple1 );

        final Cheese cheddar1 = new Cheese( "cheddar",
                                            35 );
        final InternalFactHandle cheddarHandle1 = new DefaultFactHandle( 2,
                                                                         cheddar1 );
        RightTuple cheddarRightTuple1 = new RightTuple( cheddarHandle1,
                                                        null );
        map.add( cheddarRightTuple1 );

        final Cheese stilton2 = new Cheese( "stilton",
                                            81 );
        final InternalFactHandle stiltonHandle2 = new DefaultFactHandle( 3,
                                                                         stilton2 );
        RightTuple stiltonRightTuple2 = new RightTuple( stiltonHandle2,
                                                        null );
        map.add( stiltonRightTuple2 );
View Full Code Here


    }

    private RightTuple newRightTuple(int id,
                                     Object object) {
        return new RightTuple( new DefaultFactHandle( id,
                                                      object ),
                               null );

    }
View Full Code Here

        final RightTupleIndexHashTable map = new RightTupleIndexHashTable( new FieldIndex[]{fieldIndex} );

        final Cheese stilton = new Cheese( "stilton",
                                           55 );
        final InternalFactHandle stiltonHandle = new DefaultFactHandle( 2,
                                                                        stilton );

        assertNull( map.getFirst( new LeftTupleImpl( stiltonHandle,
                                                 null,
                                                 true ), stiltonHandle ) );
View Full Code Here

    @Test
    public void testAssertTuple() throws Exception {
        when( constraint.isAllowedCachedLeft(any(ContextEntry.class), any(InternalFactHandle.class))).thenReturn(true);
        when( constraint.isAllowedCachedRight(any(LeftTupleImpl.class), any(ContextEntry.class))).thenReturn(true);

        final DefaultFactHandle f0 = new DefaultFactHandle(0, "cheese");
        final LeftTupleImpl tuple0 = new LeftTupleImpl(f0, this.node, true);

        // assert tuple, should add one to left memory
        this.node.assertLeftTuple(tuple0, this.context, this.workingMemory);
        // check memories, left memory is populated, right memory is emptys
        assertEquals(1, this.memory.getLeftTupleMemory().size());
        assertEquals(0, this.memory.getRightTupleMemory().size());

        // assert tuple, should add left memory should be 2
        final DefaultFactHandle f1 = new DefaultFactHandle(1, "cheese");
        final LeftTupleImpl tuple1 = new LeftTupleImpl(f1, this.node, true);
        this.node.assertLeftTuple(tuple1, this.context, this.workingMemory);
        assertEquals(2, this.memory.getLeftTupleMemory().size());

        LeftTuple leftTuple = ((LeftTupleList)this.memory.getLeftTupleMemory()).getFirst();
View Full Code Here

        this.node.addTupleSink(this.sink);

        this.memory = (BetaMemory) this.workingMemory.getNodeMemory(this.node);

        final DefaultFactHandle f0 = new DefaultFactHandle(0, "cheese");
        final LeftTupleImpl tuple0 = new LeftTupleImpl(f0, this.node, true);

        this.node.assertObject(f0, new PropagationContextImpl(0,
                                                              PropagationContext.ASSERTION, null, null, f0), this.workingMemory);

        // assert tuple
        this.node.assertLeftTuple(tuple0, new PropagationContextImpl(0,
                                                                      PropagationContext.ASSERTION, null, null, f0), this.workingMemory);

        assertEquals(1, this.sink.getAsserted().size());

        assertNull(this.memory.getLeftTupleMemory());

        assertEquals(1, this.memory.getRightTupleMemory().size());

        assertEquals(new LeftTupleImpl(tuple0, f0.getFirstRightTuple(), this.sink,
                true), ((Object[]) this.sink.getAsserted().get(0))[0]);
    }
View Full Code Here

    @Test
    public void testAssertObject() throws Exception {
        when( constraint.isAllowedCachedLeft(any(ContextEntry.class), any(InternalFactHandle.class))).thenReturn(true);
        when( constraint.isAllowedCachedRight(any(LeftTupleImpl.class), any(ContextEntry.class))).thenReturn(true);

        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory
                .insert("test0");

        // assert object, should add one to right memory
        this.node.assertObject(f0, this.context, this.workingMemory);
        assertEquals(0, this.memory.getLeftTupleMemory().size());
        assertEquals(1, this.memory.getRightTupleMemory().size());

        // check new objects/handles still assert
        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory
                .insert("test1");
        this.node.assertObject(f1, this.context, this.workingMemory);
        assertEquals(2, this.memory.getRightTupleMemory().size());

        RightTuple rightTuple = this.memory.getRightTupleMemory().getFirst(
View Full Code Here

    public void testAssertPropagations() throws Exception {
        when( constraint.isAllowedCachedLeft(any(ContextEntry.class), any(InternalFactHandle.class))).thenReturn(true);
        when( constraint.isAllowedCachedRight(any(LeftTupleImpl.class), any(ContextEntry.class))).thenReturn(true);

        // assert first right object
        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory
                .insert("test0");
        this.node.assertObject(f0, this.context, this.workingMemory);

        // assert tuple, should add left memory should be 2
        final DefaultFactHandle f1 = new DefaultFactHandle(1, "cheese");
        final LeftTupleImpl tuple1 = new LeftTupleImpl(f1, this.node, true);
        this.node.assertLeftTuple(tuple1, this.context, this.workingMemory);

        assertEquals(1, this.sink.getAsserted().size());

        assertEquals(new LeftTupleImpl(tuple1, f0.getFirstRightTuple(), this.sink,
                true), ((Object[]) this.sink.getAsserted().get(0))[0]);

        final DefaultFactHandle f2 = new DefaultFactHandle(2, "cheese");
        final LeftTupleImpl tuple2 = new LeftTupleImpl(f2, this.node, true);
        this.node.assertLeftTuple(tuple2, this.context, this.workingMemory);

        assertEquals(2, this.sink.getAsserted().size());
        assertEquals(new LeftTupleImpl(tuple2, f0.getFirstRightTuple(), this.sink,
                true), ((Object[]) this.sink.getAsserted().get(1))[0]);

        final DefaultFactHandle f3 = (DefaultFactHandle) this.workingMemory
                .insert("test2");
        this.node.assertObject(f3, this.context, this.workingMemory);

        assertEquals(4, this.sink.getAsserted().size());

        final List tuples = new ArrayList();
        tuples.add(((Object[]) this.sink.getAsserted().get(2))[0]);
        tuples.add(((Object[]) this.sink.getAsserted().get(3))[0]);

        assertTrue(tuples.contains(new LeftTupleImpl(tuple1, f3
                .getFirstRightTuple(), this.sink, true)));
        assertTrue(tuples.contains(new LeftTupleImpl(tuple2, f3
                .getFirstRightTuple(), this.sink, true)));
    }
View Full Code Here

    public void testRetractTuple() throws Exception {
        when( constraint.isAllowedCachedLeft(any(ContextEntry.class), any(InternalFactHandle.class))).thenReturn(true);
        when( constraint.isAllowedCachedRight(any(LeftTupleImpl.class), any(ContextEntry.class))).thenReturn(true);

        // setup 2 tuples 3 fact handles
        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory
                .insert("test0");
        this.node.assertObject(f0, this.context, this.workingMemory);

        final DefaultFactHandle f1 = (DefaultFactHandle) this.workingMemory
                .insert("test1");
        final LeftTupleImpl tuple1 = new LeftTupleImpl(f1, this.node, true);
        this.node.assertLeftTuple(tuple1, this.context, this.workingMemory);

        final DefaultFactHandle f2 = (DefaultFactHandle) this.workingMemory
                .insert("test2");
        final LeftTupleImpl tuple2 = new LeftTupleImpl(f2, this.node, true);
        this.node.assertLeftTuple(tuple2, this.context, this.workingMemory);

        final DefaultFactHandle f3 = (DefaultFactHandle) this.workingMemory
                .insert("test3");
        this.node.assertObject(f3, this.context, this.workingMemory);

        final DefaultFactHandle f4 = (DefaultFactHandle) this.workingMemory
                .insert("test4");
        this.node.assertObject(f4, this.context, this.workingMemory);

        assertLength(6, this.sink.getAsserted());

        // Double check the item is in memory
        final BetaMemory memory = (BetaMemory) this.workingMemory
                .getNodeMemory(this.node);
        assertTrue(memory.getRightTupleMemory().contains(
                f0.getFirstRightTuple()));

        // Retract an object, check propagations and memory
        this.node.retractRightTuple(f0.getFirstRightTuple(), this.context,
                this.workingMemory);
        assertLength(2, this.sink.getRetracted());

        List tuples = new ArrayList();
        tuples.add(((Object[]) this.sink.getRetracted().get(0))[0]);
        tuples.add(((Object[]) this.sink.getRetracted().get(1))[0]);

        assertTrue(tuples.contains(new LeftTupleImpl(tuple1, f0
                .getFirstRightTuple(), this.sink, true)));
        assertTrue(tuples.contains(new LeftTupleImpl(tuple1, f0
                .getFirstRightTuple(), this.sink, true)));

        // Now check the item is no longer in memory
        assertFalse(memory.getRightTupleMemory().contains(
                f0.getFirstRightTuple()));

        this.node.retractLeftTuple(tuple2, this.context, this.workingMemory);
        assertEquals(4, this.sink.getRetracted().size());

        tuples = new ArrayList();
        tuples.add(((Object[]) this.sink.getRetracted().get(2))[0]);
        tuples.add(((Object[]) this.sink.getRetracted().get(3))[0]);

        assertTrue(tuples.contains(new LeftTupleImpl(tuple2, f3
                .getFirstRightTuple(), this.sink, true)));
        assertTrue(tuples.contains(new LeftTupleImpl(tuple2, f4
                .getFirstRightTuple(), this.sink, true)));
    }
View Full Code Here

    public void testConstraintPropagations() throws Exception {
        when( constraint.isAllowedCachedLeft(any(ContextEntry.class), any(InternalFactHandle.class))).thenReturn(false);
        when( constraint.isAllowedCachedRight(any(LeftTupleImpl.class), any(ContextEntry.class))).thenReturn(false);

        // assert first right object
        final DefaultFactHandle f0 = (DefaultFactHandle) this.workingMemory
                .insert("test0");
        this.node.assertObject(f0, this.context, this.workingMemory);

        // assert tuple, should add left memory should be 2
        final DefaultFactHandle f1 = new DefaultFactHandle(1, "cheese");
        final LeftTupleImpl tuple1 = new LeftTupleImpl(f1, this.node, true);
        this.node.assertLeftTuple(tuple1, this.context, this.workingMemory);

        // Should be no assertions
        assertLength(0, this.sink.getAsserted());
View Full Code Here

        // Add the first tuple sink and assert a tuple and object
        // The sink has no memory
        final MockLeftTupleSink sink1 = new MockLeftTupleSink(2);
        joinNode.addTupleSink(sink1);

        final DefaultFactHandle f0 = new DefaultFactHandle(0, "string0");

        final LeftTupleImpl tuple1 = new LeftTupleImpl(f0, this.node, true);

        joinNode.assertLeftTuple(tuple1, this.context, workingMemory);

        final String string1 = "string1";
        final DefaultFactHandle string1Handle = new DefaultFactHandle(1,
                string1);

        joinNode.assertObject(string1Handle, this.context, workingMemory);

        assertLength(1, sink1.getAsserted());
View Full Code Here

TOP

Related Classes of org.drools.common.DefaultFactHandle

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.