Package org.kie.api.definition.type

Examples of org.kie.api.definition.type.FactType


                     "end";

        StatefulKnowledgeSession session = getSessionFromString( drl );
        session.fireAllRules();

        FactType factType = session.getKieBase().getFactType( "org.drools.defeasible", "Fact" );
        for ( Object o : session.getObjects( new ClassObjectFilter( factType.getFactClass() ) ) ) {
            if ( "wibble".equals( factType.get( o, "fact" ) ) ) {
                InternalFactHandle handle = (InternalFactHandle) session.getFactHandle( o );
                DefeasibleBeliefSet dbs = (DefeasibleBeliefSet) handle.getEqualityKey().getBeliefSet();

                assertEquals( 3, dbs.size() );
                assertTrue( dbs.isConflicting() );
View Full Code Here


     @Test
     public void testGeneratedBeans1() throws Exception {
         KnowledgeBase kbase = loadKnowledgeBase("test_GeneratedBeans.drl");

         // Retrieve the generated fact type
         FactType cheeseFact = kbase.getFactType( "org.drools.generatedbeans",
                                                  "Cheese" );

         // Create a new Fact instance
         Object cheese = cheeseFact.newInstance();

         // Set a field value using the more verbose method chain...
         // should we add short cuts?
         //        cheeseFact.getField( "type" ).set( cheese,
         //                                           "stilton" );

         cheeseFact.set( cheese,
                         "type",
                         "stilton" );
         assertEquals( "stilton",
                       cheeseFact.get( cheese,
                                       "type" ) );

         FactType personType = kbase.getFactType( "org.drools.generatedbeans",
                                                  "Person" );

         Object ps = personType.newInstance();
         personType.set( ps,
                         "age",
                         42 );

         Map<String, Object> personMap = personType.getAsMap( ps );
         assertEquals( 42,
                       personMap.get( "age" ) );

         personMap.put( "age",
                        43 );
         personType.setFromMap( ps,
                                personMap );

         assertEquals( 43,
                       personType.get( ps,
                                       "age" ) );

         // just documenting toString() result:
         //        assertEquals( "Cheese( type=stilton )",
         //                      cheese.toString() );

         // reading the field attribute, using the method chain
         assertEquals( "stilton",
                       cheeseFact.getField( "type" ).get( cheese ) );

         // creating a stateful session
         StatefulKnowledgeSession ksession = createKnowledgeSession( kbase );
         Object cg = cheeseFact.newInstance();
         ksession.setGlobal( "cg",
                             cg );
         List<Object> result = new ArrayList<Object>();
         ksession.setGlobal( "list",
                             result );

         // inserting fact
         ksession.insert( cheese );

         // firing rules
         ksession.fireAllRules();

         // checking results
         assertEquals( 1,
                       result.size() );
         assertEquals( new Integer( 5 ),
                       result.get( 0 ) );

         // creating a person that likes the cheese:
         // Retrieve the generated fact type
         FactType personFact = kbase.getFactType( "org.drools.generatedbeans",
                                                  "Person" );

         // Create a new Fact instance
         Object person = personFact.newInstance();

         // Set a field value using the more verbose method chain...
         // should we add short cuts?
         personFact.getField( "likes" ).set( person,
                                             cheese );
         // demonstrating primitive type support
         personFact.getField( "age" ).set( person,
                                           7 );

         // just documenting toString() result:
         //        assertEquals( "Person( age=7, likes=Cheese( type=stilton ) )",
         //                      person.toString() );
View Full Code Here

     @Test
     public void testGeneratedBeansMVEL() throws Exception {
         KnowledgeBase kbase = loadKnowledgeBase("test_GeneratedBeansMVEL.drl");

         // Retrieve the generated fact type
         FactType pf = kbase.getFactType( "mortgages",
                                          "Applicant" );
         FactType af = kbase.getFactType( "mortgages",
                                          "LoanApplication" );

         Object person = pf.newInstance();
         pf.set( person,
                 "creditRating",
                 "OK" );

         Object application = af.newInstance();
         StatefulKnowledgeSession ksession = createKnowledgeSession( kbase );
         ksession.insert( person );
         ksession.insert( application );

         ksession.fireAllRules();
View Full Code Here

     @Test
     public void testGeneratedBeans2() throws Exception {
         KnowledgeBase kbase = loadKnowledgeBase("test_GeneratedBeans2.drl");

         // Retrieve the generated fact type
         FactType cheeseFact = kbase.getFactType( "org.drools.generatedbeans",
                                                  "Cheese" );

         // Create a new Fact instance
         Object cheese = cheeseFact.newInstance();

         cheeseFact.set( cheese,
                         "type",
                         "stilton" );
         assertEquals( "stilton",
                       cheeseFact.get( cheese,
                                       "type" ) );

         // testing equals method
         Object cheese2 = cheeseFact.newInstance();
         cheeseFact.set( cheese2,
                         "type",
                         "stilton" );
         assertEquals( cheese,
                       cheese2 );

         FactType personType = kbase.getFactType( "org.drools.generatedbeans",
                                                  "Person" );

         Object ps = personType.newInstance();
         personType.set( ps,
                         "name",
                         "mark" );
         personType.set( ps,
                         "last",
                         "proctor" );
         personType.set( ps,
                         "age",
                         42 );

         Object ps2 = personType.newInstance();
         personType.set( ps2,
                         "name",
                         "mark" );
         personType.set( ps2,
                         "last",
                         "proctor" );
         personType.set( ps2,
                         "age",
                         30 );

         assertEquals( ps,
                       ps2 );

         personType.set( ps2,
                         "last",
                         "little" );

         assertFalse( ps.equals( ps2 ) );

         // creating a stateful session
         StatefulKnowledgeSession wm = createKnowledgeSession( kbase );
         Object cg = cheeseFact.newInstance();
         wm.setGlobal( "cg",
                       cg );
         List result = new ArrayList();
         wm.setGlobal( "list",
                       result );

         // inserting fact
         wm.insert( cheese );

         // firing rules
         wm.fireAllRules();

         // checking results
         assertEquals( 1,
                       result.size() );
         assertEquals( new Integer( 5 ),
                       result.get( 0 ) );

         // creating a person that likes the cheese:
         // Retrieve the generated fact type
         FactType personFact = kbase.getFactType( "org.drools.generatedbeans",
                                                  "Person" );

         // Create a new Fact instance
         Object person = personFact.newInstance();

         // Set a field value using the more verbose method chain...
         // should we add short cuts?
         personFact.getField( "likes" ).set( person,
                                             cheese );
         // demonstrating primitive type support
         personFact.getField( "age" ).set( person,
                                           7 );

         // just documenting toString() result:
         //        assertEquals( "Person( age=7, likes=Cheese( type=stilton ) )",
         //                      person.toString() );
View Full Code Here

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

         FactType addressFact = kbase.getFactType( "com.jboss.qa", "Address" );
         Object address = addressFact.newInstance();
         session.insert( address );
         session.fireAllRules();

         list = (List) session.getGlobal( "list" );
         assertEquals( 1,
View Full Code Here

        ksConf.setOption( ClockTypeOption.get("pseudo") );
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(ksConf,null);
        ArrayList list = new ArrayList();
        ksession.setGlobal( "list", list );

        FactType ft = kbase.getFactType( "com.sample", "FactTest" );

        ksession.insert( ft.newInstance() );
        ksession.fireAllRules();
        ksession.insert( ft.newInstance() );
        ksession.fireAllRules();
        ksession.insert( ft.newInstance() );
        ksession.fireAllRules();

        SessionPseudoClock clock = ksession.getSessionClock();
        clock.advanceTime( 1, TimeUnit.MINUTES );
View Full Code Here

    }

    @Test
    public void testContinuousDomainIntervals() throws Exception {

        FactType ivals = getKbase().getFactType(packageName,"Intervalled");
            assertNotNull( ivals );

        Object data1 = ivals.newInstance();
            ivals.set(data1,"value",-0.4);
        Object data2 = ivals.newInstance();
            ivals.set(data2,"value",0.3);
        Object data3 = ivals.newInstance();
            ivals.set(data3,"value",1.6);
        Object data4 = ivals.newInstance();
            ivals.set(data4,"value",2.0);
        Object data5 = ivals.newInstance();
            ivals.set(data5,"value",3.0);
        Object data6 = ivals.newInstance();
            ivals.set(data6,"value",8.2);
        Object data7 = ivals.newInstance();
            ivals.set(data7,"value",12.4);
        Object data8 = ivals.newInstance();
            ivals.set(data8,"value",999.9);

        getKSession().insert(data1);
        getKSession().insert(data2);
        getKSession().insert(data3);
        getKSession().insert(data4);
        getKSession().insert(data5);
        getKSession().insert(data6);
        getKSession().insert(data7);
        getKSession().insert(data8);

        getKSession().fireAllRules();

        assertEquals( false, ivals.get( data1, "valid" ) );
        assertEquals( true, ivals.get( data2, "valid" ) );
        assertEquals( false, ivals.get( data3, "valid" ) );
        assertEquals( true, ivals.get( data4, "valid" ) );
        assertEquals( false, ivals.get( data5, "valid" ) );
        assertEquals( false, ivals.get( data6, "valid" ) );
        assertEquals( true, ivals.get( data7, "valid" ) );
        assertEquals( false, ivals.get( data8, "valid" ) );

        checkGeneratedRules();

    }
View Full Code Here

    @Test
    public void testContinuousDomainValues() throws Exception {


        FactType vals = getKbase().getFactType(packageName,"Vallued");
            assertNotNull( vals );
//        FactType defval = getKbase().getFactType(packageName,"DefaultValid");
//            assertNotNull(vals);
//        FactType definv = getKbase().getFactType(packageName,"DefaultInvalid");
//            assertNotNull(vals);

        Object data1 = vals.newInstance();
            vals.set(data1,"value",1);
        Object data2 = vals.newInstance();
            vals.set(data2,"value",2);
        Object data3 = vals.newInstance();
            vals.set(data3,"value",3);
        Object data0 = vals.newInstance();
            vals.set(data0,"value",0);
        Object data99 = vals.newInstance();
            vals.set(data99,"value",-1);

        getKSession().insert(data1);
        getKSession().insert(data2);
        getKSession().insert(data3);
        getKSession().insert(data0);
        getKSession().insert(data99);


        getKSession().fireAllRules();

        assertEquals( true, vals.get( data1, "valid" ) );
        assertEquals( false, vals.get( data1, "missing" ) );

        assertEquals( true, vals.get( data2, "valid" ) );
        assertEquals( false, vals.get( data2, "missing" ) );

        assertEquals( false, vals.get( data3, "valid" ) );
        assertEquals( false, vals.get( data3, "missing" ) );

        assertEquals( false, vals.get( data0, "valid" ) );
        assertEquals( true, vals.get( data0, "missing" ) );

        assertEquals( false, vals.get( data99, "valid" ) );
        assertEquals( false, vals.get( data99, "missing" ) );

        checkGeneratedRules();
    }
View Full Code Here

        kSession.getEntryPoint( "in_Fld1" ).insert( 2.0 );
        kSession.getEntryPoint( "in_Fld2" ).insert( -1.0 );

        kSession.fireAllRules();
       
        FactType mu = kSession.getKieBase().getFactType( packageName, "DistanceMembership" );
        Collection mus = kSession.getObjects( new ClassObjectFilter( mu.getFactClass()) );
        assertTrue( mus.size() > 0 );
        for ( Object x : mus ) {
            Integer ix = (Integer) mu.get( x, "index" );
            String lab = (String) mu.get( x, "label" );
            Double m = (Double) mu.get( x, "mu" );

            if ( ix == 0 ) {
                assertEquals( "Klust1", lab );
                assertEquals( 41.1, m, 0.001 );
            } else if ( ix == 1 ) {
View Full Code Here

    @Test
    public void testDataTypes() throws Exception {
        setKSession(getModelSession(source,VERBOSE));
        setKbase(getKSession().getKieBase());

        FactType gender = getKbase().getFactType(packageName,"Gender");
        FactType noclaims = getKbase().getFactType(packageName,"NoOfClaims");
        FactType scrambled = getKbase().getFactType(packageName,"Scrambled");
        FactType domicile = getKbase().getFactType(packageName,"Domicile");
        FactType agecar = getKbase().getFactType(packageName,"AgeOfCar");
        FactType amklaims = getKbase().getFactType(packageName,"AmountOfClaims");


        Object g = gender.newInstance();
            assertEquals( "org.drools.pmml.pmml_4_2.test.Gender", g.getClass().getName() );
        gender.set(g,"value","M");
            assertEquals( "M", gender.get( g, "value" ) );


        Object n = noclaims.newInstance();
            assertEquals( "org.drools.pmml.pmml_4_2.test.NoOfClaims", n.getClass().getName() );
        noclaims.set(n, "value", "> 3");
            assertEquals( "> 3", noclaims.get( n, "value" ) );

        Object s = scrambled.newInstance();
            assertEquals( "org.drools.pmml.pmml_4_2.test.Scrambled", s.getClass().getName() );
        scrambled.set(s, "value", 1);
            assertEquals( 1, scrambled.get( s, "value" ) );

        Object d = domicile.newInstance();
            assertEquals( "org.drools.pmml.pmml_4_2.test.Domicile", d.getClass().getName() );
        domicile.set(d, "value", "SomeWhere");
            assertEquals( "SomeWhere", domicile.get( d, "value" ) );

        Object a = agecar.newInstance();
            assertEquals( "org.drools.pmml.pmml_4_2.test.AgeOfCar", a.getClass().getName() );
        agecar.set(a, "value", 24.3);
            assertEquals( 24.3, agecar.get( a, "value" ) );

        Object k = amklaims.newInstance();
            assertEquals( "org.drools.pmml.pmml_4_2.test.AmountOfClaims", k.getClass().getName() );
        amklaims.set(k, "value", 9);
            assertEquals( 9, amklaims.get( k, "value" ) );


        try {
            agecar.set(a,"value","Not a String field");
            Assert.fail();
View Full Code Here

TOP

Related Classes of org.kie.api.definition.type.FactType

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.