Package org.drools.core.base

Examples of org.drools.core.base.DroolsQuery


        public ProtobufMessages.ActionQueue.Action serialize(MarshallerWriteContext context) throws IOException {
            throw new UnsupportedOperationException( "Should not be present in network on serialisation" );
        }

        public void execute(InternalWorkingMemory workingMemory) {
            DroolsQuery query = (DroolsQuery) factHandle.getObject();
            RightTupleList rightTuples = query.getResultRetractRightTupleList();
            query.setResultRetractRightTupleList( null ); // null so further operations happen on a new stack element

            for ( RightTuple rightTuple = rightTuples.getFirst(); rightTuple != null; ) {
                RightTuple tmp = (RightTuple) rightTuple.getNext();
                rightTuples.remove( rightTuple );
                this.node.getSinkPropagator().propagateRetractRightTuple( rightTuple,
View Full Code Here


        public ProtobufMessages.ActionQueue.Action serialize(MarshallerWriteContext context) {
            throw new UnsupportedOperationException( "Should not be present in network on serialisation" );
        }

        public void execute(InternalWorkingMemory workingMemory) {
            DroolsQuery query = (DroolsQuery) factHandle.getObject();
            RightTupleList rightTuples = query.getResultUpdateRightTupleList();
            query.setResultUpdateRightTupleList( null ); // null so further operations happen on a new stack element

            for ( RightTuple rightTuple = rightTuples.getFirst(); rightTuple != null; ) {
                RightTuple tmp = (RightTuple) rightTuple.getNext();
                rightTuples.remove( rightTuple );
                this.node.getSinkPropagator().propagateModifyChildLeftTuple( rightTuple.firstChild,
View Full Code Here

            this.lock.lock();

            this.ruleBase.executeQueuedActions();
            executeQueuedActions();

            DroolsQuery queryObject = new DroolsQuery( queryName,
                                                       arguments,
                                                       getQueryListenerInstance(),
                                                       false ,
                                                       null,
                                                       null,
                                                       null,
                                                       null );

            InternalFactHandle handle = this.handleFactory.newFactHandle( queryObject,
                                                                          null,
                                                                          this,
                                                                          this );

            final PropagationContext pCtx = new PropagationContextImpl( getNextPropagationIdCounter(),
                                                                                      PropagationContext.INSERTION,
                                                                                      null,
                                                                                      null,
                                                                                      handle,
                                                                                      getEntryPoint() );


            BaseNode[] tnodes = evalQuery(queryName, queryObject, handle, pCtx);

            List<Map<String, Declaration>> decls = new ArrayList<Map<String, Declaration>>();
            if ( tnodes != null ) {
                for ( BaseNode node : tnodes ) {
                    decls.add( ((QueryTerminalNode) node).getSubRule().getOuterDeclarations() );
                }
            }

            executeQueuedActions();
           
            this.handleFactory.destroyFactHandle( handle );
           
            return new QueryResults( (List<QueryRowWithSubruleIndex>) queryObject.getQueryResultCollector().getResults(),
                                     decls.toArray( new Map[decls.size()] ),
                                     this,
                                     ( queryObject.getQuery() != null ) ? queryObject.getQuery().getParameters()  : new Declaration[0] );
        } finally {
            this.lock.unlock();
            this.ruleBase.readUnlock();
            endOperation();
        }
View Full Code Here

            this.lock.lock();

            this.ruleBase.executeQueuedActions();
            executeQueuedActions();

            DroolsQuery queryObject = new DroolsQuery( query,
                                                       arguments,
                                                       new OpenQueryViewChangedEventListenerAdapter( listener ),
                                                       true,
                                                       null,
                                                       null,
                                                       null,
                                                       null );
            InternalFactHandle handle = this.handleFactory.newFactHandle( queryObject,
                                                                          null,
                                                                          this,
                                                                          this );

            final PropagationContext pCtx = new PropagationContextImpl( getNextPropagationIdCounter(),
                                                                                      PropagationContext.INSERTION,
                                                                                      null,
                                                                                      null,
                                                                                      handle,
                                                                                      getEntryPoint() );

            BaseNode[] tnodes = evalQuery(queryObject.getName(), queryObject, handle, pCtx);

            executeQueuedActions();

            return new LiveQueryImpl( this,
                                      handle );
View Full Code Here

                boolean isOpen = node.isOpenQuery();

                context.writeBoolean( isOpen );
                if ( isOpen ) {
                    InternalFactHandle factHandle = (InternalFactHandle) leftTuple.getObject();
                    DroolsQuery query = (DroolsQuery) factHandle.getObject();
                   
                    //context.out.println( "factHandle:" +  factHandle );
                   
                    factHandle.setObject( null );
                    writeFactHandle( context,
View Full Code Here

                                  LeftTupleSets srcLeftTuples) {
            for (LeftTuple leftTuple = srcLeftTuples.getDeleteFirst(); leftTuple != null; ) {
                LeftTuple next = leftTuple.getStagedNext();

                InternalFactHandle fh = (InternalFactHandle) leftTuple.getObject();
                DroolsQuery dquery = (DroolsQuery) fh.getObject();
                if (dquery.isOpen()) {
                    LeftInputAdapterNode lian = (LeftInputAdapterNode) qmem.getQuerySegmentMemory().getRootNode();
                    LiaNodeMemory lm = (LiaNodeMemory) qmem.getQuerySegmentMemory().getNodeMemories().get(0);
                    LeftTuple childLeftTuple = fh.getFirstLeftTuple(); // there is only one, all other LTs are peers
                    LeftInputAdapterNode.doDeleteObject(childLeftTuple, childLeftTuple.getPropagationContext(), qmem.getQuerySegmentMemory(), wm, lian, false, lm);
                } // else do nothing, no state is maintained
View Full Code Here

                                                                                            leftTuple.getPropagationContext());

                // find the DroolsQuery object
                LeftTuple rootEntry = leftTuple.getRootLeftTuple();

                DroolsQuery dquery = (DroolsQuery) rootEntry.getLastHandle().getObject();
                dquery.setQuery(qtnNode.getQuery());
                if (dquery.getStackEntry() != null) {
                    checkAndTriggerQueryReevaluation(wm, stack, rootEntry, dquery);
                }

                // Add results to the adapter
                dquery.getQueryResultCollector().rowAdded(qtnNode.getQuery(),
                                                          leftTuple,
                                                          pCtx,
                                                          wm);

                leftTuple.clearStaged();
View Full Code Here

                // find the DroolsQuery object
                while (rootEntry.getParent() != null) {
                    rootEntry = rootEntry.getParent();
                }
                DroolsQuery dquery = (DroolsQuery) rootEntry.getLastHandle().getObject();
                dquery.setQuery(qtnNode.getQuery());
                if (dquery.getStackEntry() != null) {
                    checkAndTriggerQueryReevaluation(wm, stack, rootEntry, dquery);
                }

                // Add results to the adapter
                dquery.getQueryResultCollector().rowUpdated(qtnNode.getQuery(),
                                                            leftTuple,
                                                            pCtx,
                                                            wm);

                leftTuple.clearStaged();
View Full Code Here

                // find the DroolsQuery object
                while (rootEntry.getParent() != null) {
                    rootEntry = rootEntry.getParent();
                }
                DroolsQuery dquery = (DroolsQuery) rootEntry.getLastHandle().getObject();
                dquery.setQuery(qtnNode.getQuery());

                if (dquery.getStackEntry() != null) {
                    checkAndTriggerQueryReevaluation(wm, stack, rootEntry, dquery);
                }

                // Add results to the adapter
                dquery.getQueryResultCollector().rowRemoved(qtnNode.getQuery(),
                                                            leftTuple,
                                                            pCtx,
                                                            wm);

                leftTuple.clearStaged();
View Full Code Here

                InternalFactHandle handle = queryNode.createFactHandle(pCtx,
                                                                       wm,
                                                                       leftTuple);

                DroolsQuery dquery = queryNode.createDroolsQuery(leftTuple, handle, stackEntry,
                                                                 qmem.getSegmentMemory().getPathMemories(),
                                                                 qmem.getResultLeftTuples(),
                                                                 stackEntry.getSink(), wm);

                LeftInputAdapterNode lian = (LeftInputAdapterNode) qmem.getQuerySegmentMemory().getRootNode();
                LiaNodeMemory lm = (LiaNodeMemory) qmem.getQuerySegmentMemory().getNodeMemories().get(0);
                LeftInputAdapterNode.doInsertObject(handle, pCtx, lian, wm, lm, false, dquery.isOpen());

                leftTuple.clearStaged();
                leftTuple = next;
            }
        }
View Full Code Here

TOP

Related Classes of org.drools.core.base.DroolsQuery

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.