Class SpreadsheetCompiler


  • public class SpreadsheetCompiler
    extends Object
    This class handles the input XLS and CSV and extracts the rule DRL, ready for pumping into drools.
    • Field Detail

      • logger

        protected static final transient org.slf4j.Logger logger
    • Constructor Detail

      • SpreadsheetCompiler

        public SpreadsheetCompiler()
      • SpreadsheetCompiler

        public SpreadsheetCompiler​(boolean trimCell)
    • Method Detail

      • compile

        public String compile​(boolean showPackage,
                              InputStream xlsStream,
                              InputType type)
        Generates DRL from the input stream containing the spreadsheet.
        Parameters:
        showPackage - tells it to print or not print any package statements in the spreadsheet.
        xlsStream - The stream to the spreadsheet. Uses the first worksheet found for the decision tables, ignores others.
        Returns:
        DRL xml, ready for use in drools.
      • compile

        public String compile​(InputStream xlsStream,
                              InputType type)
        Generates DRL from the input stream containing the spreadsheet.
        Parameters:
        xlsStream - The stream to the spreadsheet. Uses the first worksheet found for the decision tables, ignores others.
        Returns:
        DRL xml, ready for use in drools.
      • compile

        public String compile​(org.kie.api.io.Resource resource,
                              InputType type)
      • compile

        public String compile​(InputStream xlsStream,
                              InputType type,
                              RuleSheetListener listener)
        Generates DRL from the input stream containing the spreadsheet.
        Parameters:
        xlsStream - The stream to the spreadsheet. Uses the first worksheet found for the decision tables, ignores others.
        type - The type of the file - InputType.CSV or InputType.XLS
        listener -
        Returns:
        DRL xml, ready for use in drools.
      • compile

        public String compile​(String classPathResource,
                              InputType inputType)
        Convenience implementation, taking rules from the classpath. It is recommended to use the stream version, as you can then change rules dynamically. (that is a lot of the benefit of rule engines !).
        Parameters:
        classPathResource - full class path to the spreadsheet you wish to convert to DRL. Uses the first worksheet for the decision tables.
        Returns:
        DRL.
      • compile

        public String compile​(InputStream stream,
                              String worksheetName)
        Looks for a named worksheet to find the decision tables on. Only works with XLS format spreadsheets (as they have multiple worksheets).
        Parameters:
        stream - The stream of the decision tables (spreadsheet) IN XLS format !!
        worksheetName - The name of the worksheet that the decision tables live on.
        Returns:
        DRL, ready to go.
      • compile

        public String compile​(org.kie.api.io.Resource resource,
                              String worksheetName)