Package org.drools.decisiontable.model

Examples of org.drools.decisiontable.model.Rule


    }

    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


        return ruleSet;
    }

    public void testBuildRuleBaseBadFormedXML() throws Exception
    {
        Rule rule = new Rule( "rule",
                              new Integer(1) );
        rule.setComment( "a comment" );
        Condition cond = new Condition( );

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

        Ruleset ruleset = new Ruleset( "xyz" );
        ruleset.addRule( rule );
        try
        {          
View Full Code Here

        }
    }

    public void testBuildRuleBaseBadSnippet()
    {
        Rule rule = new Rule( "rule", new Integer(1) ); //$NON-NLS-1$
        rule.setComment( "a comment" ); //$NON-NLS-1$
        Condition cond = new Condition( );

        // 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
View Full Code Here

        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)",
                      cons.getSnippet( ) );

    }
View Full Code Here

        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

        Integer salience = null;
        if ( _currentSequentialFlag )
        {
            salience = new Integer( Rule.calcSalience( row ) );
        }
        Rule rule = new Rule( name,
                              salience );
        rule.setComment( "From row number: " + (row + 1) );
        rule.setParameters( parameters );
        return rule;
    }
View Full Code Here

        if ( this._currentSequentialFlag ) {
            salience = new Integer( Rule.calcSalience( row ) );
        }
        final int spreadsheetRow = row + 1;
        final String name = this._currentRulePrefix + "_" + spreadsheetRow;
        final Rule rule = new Rule( name,
                                    salience,
                                    spreadsheetRow );
        rule.setComment( "From row number: " + (spreadsheetRow) );

        return rule;

    }
View Full Code Here

    private void createRule(final int row,
                                   final int column,
                                   final String value) {
        final Consequence consequence = createConsequence( value );

        Rule rule = firstRule;
        if ( rule == null ) {
            rule = new Rule( "rule_" + row + "_" + column,
                             null,
                             row );
            addRule( rule );
        } else {
            firstRule = null;
            rule.setName( "rule_" + row + "_" + column );
        }
        rule.setAgendaGroup( this._currentAgendaGroup );
        rule.addCondition( this._currentPrecondition );
        rule.addCondition( _currentVerticalCondition );
        rule.addCondition( (Condition) _horizontalConditions.get( column - (ruleTableColumn + 1) ) );
        rule.addConsequence( consequence );
    }
View Full Code Here

    return out.getDRL();

  }

  private void createTemplateRule(org.drools.decisiontable.model.Package p, int index, RuleTemplate template) {
    Rule rule = new Rule(template.getName(), null, index);
    Condition condition = new Condition();
    condition.setSnippet("r : Row()");
    rule.addCondition(condition);
    createColumnConditions(template, rule);
    rule.addConsequence(createConsequence(template));
    p.addRule(rule);
  }
View Full Code Here

    return out.getDRL();

  }

  private void createTemplateRule(org.drools.decisiontable.model.Package p, int index, RuleTemplate template) {
    Rule rule = new Rule(template.getName(), null, index);
    Condition condition = new Condition();
    condition.setSnippet("r : Row()");
    rule.addCondition(condition);
    createColumnConditions(template, rule);
    createNotColumnConditions(template, rule);
    rule.addConsequence(createConsequence(template));
    p.addRule(rule);
  }
View Full Code Here

TOP

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

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.