Package net.fp.rp.drools

Source Code of net.fp.rp.drools.ContextListener

/**
*
*/
package net.fp.rp.drools;

import java.io.InputStream;
import java.io.StringReader;
import java.util.ResourceBundle;

import javax.servlet.ServletContextEvent;

import net.fp.rp.drools.Utility;

import org.apache.log4j.Logger;
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.compiler.PackageBuilder;
import org.drools.decisiontable.InputType;
import org.drools.decisiontable.SpreadsheetCompiler;
import org.drools.rule.Package;

/**
* Allows us to plugin the drools loading to the Servlet mechanism
* @author Paul
* Copyright @link www.firstpartners.net/red
*/
public class ContextListener implements javax.servlet.ServletContextListener {
  public static RuleBase excelRules = null;
 
  protected final Logger logger = Logger.getLogger(getClass());
 
  public void contextDestroyed(ServletContextEvent event) {
  }

  public void contextInitialized(ServletContextEvent event) {
   
    try {         
     
      ResourceBundle rb = Utility.readPropFile();
      logger.debug("Could not find Resource file");
     
      SpreadsheetCompiler converter = new SpreadsheetCompiler();
      String xlResource =rb.getString("excel.decisiontable.path");
      logger.debug("name of Excel file:"+xlResource);
     
      InputStream is = getClass().getResourceAsStream(xlResource);
      String drl = converter.compile(is, InputType.XLS );     
     
      if (drl != null) { 
        PackageBuilder builder = new PackageBuilder();
        builder.addPackageFromDrl( new StringReader(drl) );
       
        Package pkg = builder.getPackage();
       
        if (pkg != null) {
          excelRules = RuleBaseFactory.newRuleBase();
          excelRules.addPackage( pkg );
        }     
      }
    }
    catch (Exception e) {
      e.printStackTrace();
    }   
  }
}
TOP

Related Classes of net.fp.rp.drools.ContextListener

TOP
Copyright © 2018 www.massapi.com. 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.