Package org.drools.template.parser

Examples of org.drools.template.parser.DecisionTableParseException


    /**
     * This is where a code snippet template is added.
     */
    public void addTemplate(int row, int column, String content) {
      if( this.sourceBuilder == null ){
        throw new DecisionTableParseException(
                    "Unexpected content \"" + content + "\" in cell " +
                    RuleSheetParserUtil.rc2name(row, column) + ", leave this cell blank" );
      }
        this.sourceBuilder.addTemplate( row, column, content );
    }
View Full Code Here


                                  _listeners.get( sheetName ) );

                }
            }
        } catch ( BiffException e ) {
            throw new DecisionTableParseException( "An error occured opening the workbook. It is possible that the encoding of the document did not match the encoding of the reader.",
                                                   e );

        } catch ( IOException e ) {
            throw new DecisionTableParseException( "Failed to open Excel stream, " + "please check that the content is xls97 format.",
                                                   e );
        }

    }
View Full Code Here

    try {
      startSheet();
      processRows(reader);
      finishSheet();
    } catch (final IOException e) {
      throw new DecisionTableParseException(
          "An error occurred reading the CSV data.", e);
    }
  }
View Full Code Here

  /* (non-Javadoc)
   * @see org.drools.decisiontable.parser.RuleSheetListener#getRuleSet()
   */
  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

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

  private void objectTypeRow(final int row,
      final int column,
      final String value,
      final int mergedColStart) {
    if ( value.indexOf( "$param" ) > -1 || value.indexOf( "$1" ) > -1 ) {
      throw new DecisionTableParseException( "It looks like you have snippets in the row that is " +
          "meant for object declarations." + " Please insert an additional row before the snippets, " +
          "at cell " + RuleSheetParserUtil.rc2name( row, column ) );
    }
    ActionType action = getActionForColumn( row, column );
    if ( mergedColStart == RuleSheetListener.NON_MERGED ) {
View Full Code Here

    if ( value.trim().equals( "" ) &&
      (actionType.getCode() == Code.ACTION ||
       actionType.getCode() == Code.CONDITION ||
       actionType.getCode() == Code.METADATA) ) {
      throw new DecisionTableParseException( "Code description in cell " +
          RuleSheetParserUtil.rc2name( row, column ) +
      " does not contain any code specification. It should!" );
    }

    actionType.addTemplate( row, column, value );
View Full Code Here

  private ActionType getActionForColumn(final int row,
      final int column) {
    final ActionType actionType = this._actions.get( new Integer( column ) );

    if ( actionType == null ) {
      throw new DecisionTableParseException( "Code description in cell " +
          RuleSheetParserUtil.rc2name( row, column ) +
      " does not have an 'ACTION' or 'CONDITION' column header." );
    }

    return actionType;
View Full Code Here

          this._currentRule.setSalience( value );
        } else {
          try {
            this._currentRule.setSalience( new Integer( value ) );
          } catch( NumberFormatException nfe ){
            throw new DecisionTableParseException( "Priority is not an integer literal, in cell " +
                RuleSheetParserUtil.rc2name( row, column ) );
          }
        }
      }
      break;
    case NAME:
      this._currentRule.setName( value );
      break;
    case DESCRIPTION:
      this._currentRule.setDescription( value );
      break;
    case ACTIVATIONGROUP:
      this._currentRule.setActivationGroup( value );
      break;
    case AGENDAGROUP:
      this._currentRule.setAgendaGroup( value );
      break;
    case RULEFLOWGROUP:
      this._currentRule.setRuleFlowGroup( value );
      break;
    case NOLOOP:
      this._currentRule.setNoLoop( RuleSheetParserUtil.isStringMeaningTrue( value ) );
      break;
    case LOCKONACTIVE:
      this._currentRule.setLockOnActive( RuleSheetParserUtil.isStringMeaningTrue( value ) );
      break;
    case AUTOFOCUS:
      this._currentRule.setLockOnActive( RuleSheetParserUtil.isStringMeaningTrue( value ) );
      break;
    case DURATION:
      try {
        this._currentRule.setDuration( new Long( value ) );
      } catch( NumberFormatException nfe ){
        throw new DecisionTableParseException( "Duration is not an integer literal, in cell " +
            RuleSheetParserUtil.rc2name( row, column ) );
      }
      break;
    }
  }
View Full Code Here

        final String token = tokens.nextToken();
        final Global vars = new Global();
        final StringTokenizer paramTokens = new StringTokenizer( token, " " );
        vars.setClassName( paramTokens.nextToken() );
        if ( !paramTokens.hasMoreTokens() ) {
          throw new DecisionTableParseException( "The format for global variables is incorrect. " + "It should be: [Class name, Class otherName]. But it was: [" + variableCell + "]" );
        }
        vars.setIdentifier( paramTokens.nextToken() );
        variableList.add( vars );
      }
    }
View Full Code Here

TOP

Related Classes of org.drools.template.parser.DecisionTableParseException

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.