Package org.drools.decisiontable.model

Examples of org.drools.decisiontable.model.Ruleset


        assertNotNull( ruleBase );
    }

    public static Ruleset getTestRuleSet()
    {
        Ruleset ruleSet = new Ruleset( "name" ); //$NON-NLS-1$
        Rule rule = new Rule( "rule", new Integer(1) ); //$NON-NLS-1$
        rule.setComment( "a comment" ); //$NON-NLS-1$

        Condition cond = new Condition( );
        cond.setSnippet( "System.currentTimeMillis() > 42 /* comment here */" );
        rule.addCondition( cond );

        Consequence cons = new Consequence( );
        cons.setSnippet( "System.out.println(\"yeah\");" );
        rule.addConsequence( cons );

        Parameter param = new Parameter( );
        param.setClassName( "java.lang.String" ); //$NON-NLS-1$
        param.setIdentifier( "s" );
        param.setComment( "param comment" ); //$NON-NLS-1$

        rule.addParameter( param );
        ruleSet.addRule( rule );

        return ruleSet;
    }
View Full Code Here


        Condition cond = new Condition( );

        cond.setSnippet( "<badformedxml>" );
        rule.addCondition( cond );

        Ruleset ruleset = new Ruleset( "xyz" );
        ruleset.addRule( rule );
        try
        {          
            RuleSetLoader ruleSetLoader = new RuleSetLoader();          
            ruleSetLoader.addFromReader(new StringReader( ruleset.toXML( ) ) );           
           
            RuleBaseLoader ruleBaseLoader = new RuleBaseLoader();
            ruleBaseLoader.addFromRuleSetLoader(ruleSetLoader);
            ruleBaseLoader.buildRuleBase();           
           
View Full Code Here

        // TODO: find out why run out of memory when use the // comment notation
        cond.setSnippet( "this.is.not.java /*this.is.not.java*/" ); //$NON-NLS-1$
        rule.addCondition( cond );

        Ruleset ruleset = new Ruleset( "xyz" ); //$NON-NLS-1$
        ruleset.addRule( rule );

        try
        {
            RuleSetLoader ruleSetLoader = new RuleSetLoader();          
            ruleSetLoader.addFromReader(new StringReader( ruleset.toXML( ) ) );           
           
            RuleBaseLoader ruleBaseLoader = new RuleBaseLoader();
            ruleBaseLoader.addFromRuleSetLoader(ruleSetLoader);
            RuleBase ruleBase = ruleBaseLoader.buildRuleBase();     
            fail( );
View Full Code Here

     *
     * @throws Exception
     */
    public void testRulesetExec() throws Exception
    {
        Ruleset ruleSet = RulesetToDRLTest.getTestRuleSet( );
              
        RuleSetLoader ruleSetLoader = new RuleSetLoader();          
        ruleSetLoader.addFromReader(new StringReader( ruleSet.toXML( ) ) );           
       
        RuleBaseLoader ruleBaseLoader = new RuleBaseLoader();
        ruleBaseLoader.addFromRuleSetLoader(ruleSetLoader);
        RuleBase ruleBase = ruleBaseLoader.buildRuleBase();          

View Full Code Here

    public void testWorkbookParse() throws Exception
    {
        InputStream stream = RuleWorksheetParseTest.class.getResourceAsStream( "/data/BasicWorkbook.xls" );
        RuleSheetListener listener = getRuleSheetListener( stream );

        Ruleset ruleset = listener.getRuleSet( );
        assertNotNull( ruleset );

        Rule firstRule = (Rule) ruleset.getRules( ).get( 0 );
        assertNotNull(firstRule.getSalience( ));
        assertTrue(firstRule.getSalience( ).intValue() > 0);

        // System.out.println(ruleset.toXML());

        assertEquals( "myruleset",
                      ruleset.getName( ) );
        assertEquals( 2,
                      ruleset.getImports( ).size( ) );
        assertEquals( 6,
                      ruleset.getRules( ).size( ) );

        // check imports
        Import imp = (Import) ruleset.getImports( ).get( 0 );
        assertEquals( "blah.class1",
                      imp.getClassName( ) );
        imp = (Import) ruleset.getImports( ).get( 1 );
        assertEquals( "blah.class2",
                      imp.getClassName( ) );

        // check rules
        Rule rule = (Rule) ruleset.getRules( ).get( 0 );
        Parameter param = (Parameter) rule.getParameters( ).get( 1 );
        assertEquals( "au.com.nothing.ParamClass2",
                      param.getClassName( ) );
        Condition cond = (Condition) rule.getConditions( ).get( 0 );
        assertEquals( "myObject.getColour().equals(red)",
                      cond.getSnippet( ) );

        Consequence cons = (Consequence) rule.getConsequences( ).get( 0 );
        assertNotNull( cons );
        assertEquals( "myObject.setIsValid(Y)",
                      cons.getSnippet( ) );

        rule = (Rule) ruleset.getRules( ).get( 5 );
        cond = (Condition) rule.getConditions( ).get( 1 );
        assertEquals( "myObject.size () > 7",
                      cond.getSnippet( ) );
        cons = (Consequence) rule.getConsequences( ).get( 0 );
        assertEquals( "myObject.setIsValid(10-Jul-1974)",
View Full Code Here

    public void testComplexWorksheetMissingConditions() throws Exception
    {
        InputStream stream = RuleWorksheetParseTest.class.getResourceAsStream( "/data/ComplexWorkbook.xls" );
        RuleSheetListener listener = getRuleSheetListener( stream );

        Ruleset ruleset = listener.getRuleSet( );
        assertEquals( 6,
                      ruleset.getRules( ).size( ) );
        assertEquals( 0,
                      ruleset.getImports( ).size( ) );

        Rule rule = (Rule) ruleset.getRules( ).get( 0 );
        assertEquals( 3,
                      rule.getConditions( ).size( ) );
        assertEquals( 2,
                      rule.getConsequences( ).size( ) );
        Consequence cons = (Consequence) rule.getConsequences( ).get( 1 );
        assertEquals( "myObject.setIsValid(1, 2)",
                      cons.getSnippet( ) );
        Condition con = (Condition) rule.getConditions( ).get( 2 );
        assertEquals( "myObject.size() < 3",
                      con.getSnippet( ) );

        rule = (Rule) ruleset.getRules( ).get( 4 );

        // this should have less conditions
        assertEquals( 1,
                      rule.getConditions( ).size( ) );

        rule = (Rule) ruleset.getRules( ).get( 5 );
        assertEquals( 2,
                      rule.getConditions( ).size( ) );
        assertEquals( 1,
                      rule.getConsequences( ).size( ) );
View Full Code Here

    public String convertToDRL(InputStream xlsStream,
                               InputType type)
    {
        RuleSheetListener listener = getRuleSheetListener( xlsStream,
                                                           type );
        Ruleset ruleset = listener.getRuleSet( );
        return ruleset.toXML( );
    }
View Full Code Here

    public String convertToDRL(InputStream stream,
                               String worksheetName)
    {
        RuleSheetListener listener = getRuleSheetListener( stream,
                                                           worksheetName );
        Ruleset ruleset = listener.getRuleSet( );
        return ruleset.toXML( );
    }
View Full Code Here

    {
        if ( _ruleList.isEmpty( ) )
        {
            throw new DecisionTableParseException( "No RuleTable's were found in spreadsheet." );
        }
        Ruleset ruleset = buildRuleSet( );
        return ruleset;
    }
View Full Code Here

    }

    private Ruleset buildRuleSet()
    {
        String rulesetName = getProperties( ).getProperty( RULESET_TAG );
        Ruleset ruleset = new Ruleset( rulesetName );
        for ( Iterator it = _ruleList.iterator( ); it.hasNext( ); )
        {
            ruleset.addRule( (Rule) it.next( ) );
        }
        List importList = RuleSheetParserUtil.getImportList( getProperties( ).getProperty( IMPORT_TAG ) );
        for ( Iterator it = importList.iterator( ); it.hasNext( ); )
        {
            ruleset.addImport( (Import) it.next( ) );
        }
        List variableList = RuleSheetParserUtil.getVariableList( getProperties( ).getProperty( VARIABLES_TAG ) ); // Set the list of variables to be added to the application-data tags
        for ( Iterator it = variableList.iterator( ); it.hasNext( ); )
        {
            ruleset.addVariable( (Variable) it.next( ) );
        }

        String functions = getProperties( ).getProperty( FUNCTIONS_TAG );
        ruleset.addFunctions( functions );
        return ruleset;
    }
View Full Code Here

TOP

Related Classes of org.drools.decisiontable.model.Ruleset

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.