Package org.drools.template.model

Examples of org.drools.template.model.Package


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

        final Package ruleset = listener.getRuleSet();
        assertNotNull( ruleset );

        final 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 );
        Condition cond = (Condition) rule.getConditions().get( 0 );
        assertEquals( "Foo(myObject.getColour().equals(red), myObject.size () > 1)",
                      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 String compile(final InputStream xlsStream,
                          final InputType type,
                          final RuleSheetListener listener) {
        final DecisionTableParser parser = type.createParser( listener );
        parser.parseFile( xlsStream );
        final Package rulePackage = listener.getRuleSet();
        final DRLOutput out = new DRLOutput();
        rulePackage.renderDRL( out );
        return out.getDRL();
    }
View Full Code Here

     */
    public String compile(final InputStream stream,
                          final String worksheetName) {
        final RuleSheetListener listener = getRuleSheetListener( stream,
                                                                 worksheetName );
        final Package rulePackage = listener.getRuleSet();
        final DRLOutput out = new DRLOutput();
        rulePackage.renderDRL( out );
        return out.getDRL();
    }
View Full Code Here

   */
  public Package getRuleSet() {
    if ( this._ruleList.isEmpty() ) {
      throw new DecisionTableParseException( "No RuleTable cells in spreadsheet." );
    }
    final Package ruleset = buildRuleSet();
    return ruleset;
  }
View Full Code Here

  private Package buildRuleSet() {
    final String defaultPackageName = "rule_table";
    final String rulesetName =
      getProperties().getSingleProperty( RULESET_TAG, defaultPackageName );

    final Package ruleset = new Package( (showPackage) ? rulesetName : null );
    for ( Rule rule : this._ruleList ) {
      ruleset.addRule( rule );
    }

    final List<Import> importList = RuleSheetParserUtil.getImportList( getProperties().getProperty( IMPORT_TAG ) );
    for ( Import import1 : importList ) {
      ruleset.addImport( import1 );
    }

    final List<Global> variableList = RuleSheetParserUtil.getVariableList( getProperties().getProperty( VARIABLES_TAG ) );
    for ( Global global : variableList ) {
      ruleset.addVariable( global );
    }

    final List<String> functions = getProperties().getProperty( FUNCTIONS_TAG );
    if( functions != null ){
      for( String function: functions ){
        ruleset.addFunctions( function );
      }
    }

    final List<String> queries = getProperties().getProperty( QUERIES_TAG );
    if( queries != null ){
      for( String query: queries ){
        ruleset.addQueries( query );
      }
    }

    for( Code code: ActionType.ATTRIBUTE_CODE_SET ){
      List<String> values = getProperties().getProperty( code.getColHeader() );
      if( values != null ){
        if( values.size() > 1 ){
          List<String> cells = getProperties().getPropertyCells( code.getColHeader() );         
          throw new DecisionTableParseException( "Multiple values for " + code.getColHeader() +
              " in cells " + cells.toString() );
        }
        String value = values.get( 0 );
        switch( code ){
        case SALIENCE:
          try {
            ruleset.setSalience( new Integer( value ) );
          } catch( NumberFormatException nfe ){
            throw new DecisionTableParseException( "Priority is not an integer literal, in cell " +
                getProperties().getSinglePropertyCell( code.getColHeader() ) );
          }
                    break;
        case DURATION:
          try {
            ruleset.setDuration( new Long( value ) );
          } catch( NumberFormatException nfe ){
            throw new DecisionTableParseException( "Duration is not an integer literal, in cell " +
                getProperties().getSinglePropertyCell( code.getColHeader() )  );
          }
          break;
        case NOLOOP:
          ruleset.setNoLoop( RuleSheetParserUtil.isStringMeaningTrue( value ) );
          break;
        case LOCKONACTIVE:
          ruleset.setLockOnActive( RuleSheetParserUtil.isStringMeaningTrue( value ) );
          break;
        case AUTOFOCUS:
          ruleset.setAutoFocus( RuleSheetParserUtil.isStringMeaningTrue( value ) );
          break;
        case ACTIVATIONGROUP:
          ruleset.setActivationGroup( value );
          break;
        case AGENDAGROUP:
          ruleset.setAgendaGroup( value );
          break;
        case RULEFLOWGROUP:
          ruleset.setRuleFlowGroup( value );
          break;
        }
      }
    }
View Full Code Here

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

        final Package ruleset = listener.getRuleSet();
        assertNotNull( ruleset );

        final 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 );
        Condition cond = (Condition) rule.getConditions().get( 0 );
        assertEquals( "Foo(myObject.getColour().equals(red), myObject.size () > 12\\\")",
                      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 Package getRuleSet() {
        if ( this._ruleList.isEmpty() ) {
            throw new DecisionTableParseException( "No RuleTable cells in spreadsheet." );
        }
        final Package ruleset = buildRuleSet();
        return ruleset;
    }
View Full Code Here

    private Package buildRuleSet() {
        final String defaultPackageName = "rule_table";
        final String rulesetName =
            getProperties().getSingleProperty( RULESET_TAG, defaultPackageName );

        final Package ruleset = new Package( (showPackage) ? rulesetName : null );
        for ( Rule rule : this._ruleList ) {
            ruleset.addRule( rule );
        }

        final List<Import> importList = RuleSheetParserUtil.getImportList( getProperties().getProperty( IMPORT_TAG ) );
        for ( Import import1 : importList ) {
            ruleset.addImport( import1 );
        }

        final List<Global> variableList = RuleSheetParserUtil.getVariableList( getProperties().getProperty( VARIABLES_TAG ) );
        for ( Global global : variableList ) {
            ruleset.addVariable( global );
        }

        final List<String> functions = getProperties().getProperty( FUNCTIONS_TAG );
        if( functions != null ){
            for( String function: functions ){
                ruleset.addFunctions( function );
            }
        }

        final List<String> queries = getProperties().getProperty( QUERIES_TAG );
        if( queries != null ){
            for( String query: queries ){
                ruleset.addQueries( query );
            }
        }

        for( Code code: ActionType.ATTRIBUTE_CODE_SET ){
            List<String> values = getProperties().getProperty( code.getColHeader() );
            if( values != null ){
                if( values.size() > 1 ){
                    List<String> cells = getProperties().getPropertyCells( code.getColHeader() );
                    throw new DecisionTableParseException( "Multiple values for " + code.getColHeader() +
                            " in cells " + cells.toString() );
                }
                String value = values.get( 0 );
                switch( code ){
                case SALIENCE:
                    try {
                        ruleset.setSalience( new Integer( value ) );
                    } catch( NumberFormatException nfe ){
                        throw new DecisionTableParseException( "Priority is not an integer literal, in cell " +
                                getProperties().getSinglePropertyCell( code.getColHeader() ) );
                    }
                    break;
                case DURATION:
                    try {
                        ruleset.setDuration( new Long( value ) );
                    } catch( NumberFormatException nfe ){
                        throw new DecisionTableParseException( "Duration is not an integer literal, in cell " +
                                getProperties().getSinglePropertyCell( code.getColHeader() )  );
                    }
                    break;
                case NOLOOP:
                    ruleset.setNoLoop( RuleSheetParserUtil.isStringMeaningTrue( value ) );
                    break;
                case LOCKONACTIVE:
                    ruleset.setLockOnActive( RuleSheetParserUtil.isStringMeaningTrue( value ) );
                    break;
                case AUTOFOCUS:
                    ruleset.setAutoFocus( RuleSheetParserUtil.isStringMeaningTrue( value ) );
                    break;
                case ACTIVATIONGROUP:
                    ruleset.setActivationGroup( value );
                    break;
                case AGENDAGROUP:
                    ruleset.setAgendaGroup( value );
                    break;
                case RULEFLOWGROUP:
                    ruleset.setRuleFlowGroup( value );
                    break;
                }
            }
        }
View Full Code Here

        startTimer( );
        RuleSheetListener listener = RuleWorksheetParseTest.getRuleSheetListener( stream );
        stopTimer( );

        System.out.println( "Time to parse large table : " + getTime() + "ms" );
        Package ruleset = listener.getRuleSet( );
        assertNotNull( ruleset );

//        startTimer();
//        String xml = ...;   // toXml() not in Package any more.
//        System.out.println( xml );
View Full Code Here

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

        final Package ruleset = listener.getRuleSet();
        assertNotNull( ruleset );

        final Rule firstRule = (Rule) ruleset.getRules().get( 0 );
        assertNotNull( firstRule.getSalience() );
        assertTrue( Integer.parseInt( firstRule.getSalience() ) > 0 );

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

        assertEquals( "myruleset", ruleset.getName() );
        assertEquals( 3, 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() );
        imp = (Import) ruleset.getImports().get( 2 );
        assertEquals( "lah.di.dah", imp.getClassName() );

        // check rules
        Rule rule = (Rule) ruleset.getRules().get( 0 );
        Condition cond = (Condition) rule.getConditions().get( 0 );
        assertEquals( "Foo(myObject.getColour().equals(red), myObject.size () > 12\\\")",
                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

TOP

Related Classes of org.drools.template.model.Package

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.