Package org.drools.runtime.rule

Examples of org.drools.runtime.rule.QueryResults


        List list = new ArrayList();
        ks.setGlobal( "list", list );
        ks.fireAllRules();

        QueryResults res = ks.getQueryResults( "queryA" );
        Iterator<QueryResultsRow> iter = res.iterator();
        Object a = iter.next().get( "$x" );
        assertFalse( iter.hasNext() );

        assertEquals( 1, res.size() );

    }
View Full Code Here


            if (arguments.get(j) instanceof Variable) {
                arguments.set(j, Variable.v);
            }
        }

        QueryResults results = ksession.getQueryResults(name, this.arguments.toArray());

        if (this.outIdentifier != null) {
           
            if (((StatefulKnowledgeSessionImpl) ksession).session.getExecutionResult() != null && !this.disconnected) {
                ((StatefulKnowledgeSessionImpl) ksession).session.getExecutionResult().getResults().put(this.outIdentifier, results);
            }
            if (((StatefulKnowledgeSessionImpl) ksession).session.getExecutionResult() != null && this.disconnected) {
                QueryResultsDescriptor disconnectedResults = new QueryResultsDescriptor(this.name, this.outIdentifier, results.size());
                ((StatefulKnowledgeSessionImpl) ksession).session.getExecutionResult().getResults().put(this.outIdentifier, disconnectedResults);
                context.getContextManager().getContext( "__TEMP__" ).set(this.outIdentifier, results);
                return disconnectedResults;
            }
        }
View Full Code Here

        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();

        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );
        ksession.fireAllRules();

        QueryResults res = ksession.getQueryResults( "getResults", "1", Variable.v );
        assertEquals( 1, res.size() );

        Object o = res.iterator().next().get( "$holders" );
        assertTrue( o instanceof List );
        assertEquals( 1, ((List) o).size() );
    }
View Full Code Here

        Object result = ksession.getObject(handle);

        Assert.assertEquals(obj1, result);

        QueryResults queryResults = ksession.getQueryResults("getMyObjects", new Object[]{"obj1"});
        //Do black magic stuff with remoting :)
        InternalQueryResultsClient results = ((QueryResultsRemoteClient) queryResults).getResults();
        String[] parameters = results.getParameters();
        Assert.assertEquals(1, parameters.length);
        Assert.assertEquals("n", parameters[0]);

        String[] identifiers = queryResults.getIdentifiers();

        Assert.assertEquals(2, identifiers.length);
        Assert.assertEquals("n", identifiers[0]);
        Assert.assertEquals("$mo", identifiers[1]);
        Assert.assertEquals(1, queryResults.size());

        Assert.assertNotNull(results.getObject(identifiers[0]));
        Assert.assertEquals("obj1", results.getObject(identifiers[0]));
        Assert.assertEquals(obj1, results.getObject(identifiers[1]));
View Full Code Here

    }

    public QueryResults execute(Context context) {
        StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
       
        QueryResults results = null;
        if ( this.arguments == null || this.arguments.isEmpty() ) {
            this.arguments = Collections.emptyList();
        }
       
        results = ksession.getQueryResults( name, this.arguments.toArray() );
View Full Code Here

        List<String> list = new ArrayList<String>();
        ksession.setGlobal("list", list);
        ksession.insert("Some String");
        ksession.insert("Some Other String");

        QueryResults queryResults = ksession.getQueryResults("all the Strings");

        ksession.dispose();


        assertEquals(2, queryResults.size());

        Iterator<QueryResultsRow> iterator = queryResults.iterator();
        while (iterator.hasNext()){
            System.out.println("Row= "+iterator.next().get("$strings"));
        }

        //we are going to modify the query definition
        // have to sleep here as linux lastModified does not do milliseconds
        // http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=1&t=019789
        System.gc();
        Thread.sleep(2000);

        //we are going to add function1 now
        String query1V2 = "";
        query1V2 += "query \"all the Strings\"\n";
        query1V2 += "     $strings : String(this == \"Some String\")\n";
        query1V2 += "end\n";

        output = new BufferedWriter(new FileWriter(f1));
        output.write(header);
        output.write(query1V2);
        output.write(rule1);
        output.close();
        System.gc();
        Thread.sleep(3000);

        ksession = kbase.newStatefulKnowledgeSession();
        list = new ArrayList<String>();
        ksession.setGlobal("list", list);
        ksession.insert("Some String");
        ksession.insert("Some Other String");

        queryResults = ksession.getQueryResults("all the Strings");

        ksession.dispose();


        assertEquals(1, queryResults.size());
        assertEquals("Some String",queryResults.iterator().next().get("$strings"));

        kagent.monitorResourceChangeEvents(false);
    }
View Full Code Here

                                         o2 );
            } else if ( doRetract ) {
                knowledgeSession.retract( handle2 );
                handle2 = knowledgeSession.insert( o2 );
            }
            QueryResults queryResults = knowledgeSession.getQueryResults( query );
            assertEquals( expected,
                          queryResults.size() );
        } finally {
            knowledgeSession.dispose();
        }
    }
View Full Code Here

        assertTrue(kbase.getKnowledgePackages().iterator().next().getRules().iterator().next().getName().equals("all the Strings"));

        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        ksession.insert("Some String");

        QueryResults queryResults = ksession.getQueryResults("all the Strings");

        assertTrue(queryResults.size() == 1);
        assertTrue(queryResults.iterator().next().get("$strings").equals("Some String"));

        Thread.sleep(2000);

        query1 = "";
        query1 += "query \"all the Strings 2\"\n";
        query1 += "     $strings : String()\n";
        query1 += "end\n";

        output = new BufferedWriter(new FileWriter(f1));
        output.write(header);
        output.write(query1);
        output.close();

        this.waitUntilKBaseUpdate();

        assertEquals(1, kbase.getKnowledgePackages().iterator().next().getRules().size());
        assertTrue(kbase.getKnowledgePackages().iterator().next().getRules().iterator().next().getName().equals("all the Strings 2"));

        queryResults = ksession.getQueryResults("all the Strings 2");

        assertTrue(queryResults.size() == 1);
        assertTrue(queryResults.iterator().next().get("$strings").equals("Some String"));


        ksession.dispose();

    }
View Full Code Here

        }

        public void marshal(Object object,
                            HierarchicalStreamWriter writer,
                            MarshallingContext context) {
            QueryResults results = (QueryResults) object;

            // write out identifiers
            String[] identifiers = results.getIdentifiers();

            writer.startNode( "identifiers" );
            for ( int i = 0; i < identifiers.length; i++ ) {
                writeItem( identifiers[i],
                           context,
View Full Code Here

    }

    public QueryResults execute(Context context) {
        StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession();
       
        QueryResults results = null;

        //TODO {bauna} remove this try
        try {
      if ( arguments == null || arguments.size() == 0 ) {
          results = ksession.getQueryResults( name );
View Full Code Here

TOP

Related Classes of org.drools.runtime.rule.QueryResults

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.