<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    斷點

    每天進步一點點!
    posts - 174, comments - 56, trackbacks - 0, articles - 21

    Drools讀取Xsl文件

    Posted on 2010-03-10 22:29 斷點 閱讀(1268) 評論(0)  編輯  收藏 所屬分類: Drools

    package com.premium.rules;

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.Reader;
    import java.io.StringReader;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;

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

    public class DrlPackageManager {

     // 用于緩存Drools的Package,key為Excel的完整路徑,value為此文件編譯過后的Package
     static Map<String, Package> pkgMap = new HashMap<String, Package>();
     private static Logger logger = Logger.getLogger(DrlPackageManager.class);


    /**
      * 通過Excel的文件名緩存Drools的Package
      *
      * @param fileName
      * @return
      * @throws Exception
      */
     public static Package getPackageByXsl(String fileName) throws Exception {
      Package pkg = (Package) pkgMap.get(fileName);
      if (pkg != null)
       return pkg;

      final SpreadsheetCompiler converter = new SpreadsheetCompiler();
      InputStream is = null;
      try {
       is = DrlPackageManager.class.getResourceAsStream(fileName);
      } catch (Exception e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
       is.close();
       throw new Exception("====讀取規則的資源文件" + fileName + "出錯,請檢查文件"+ fileName + "=====", e);
      }
      String drl = null;
      try {
       drl = converter.compile(is, InputType.XLS);
       logger.debug("Drools Excel規則文件:" + fileName + "編譯成.drl文件的結果:"+ drl);
      } catch (Exception e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
       is.close();
       throw new Exception("xls文件編譯成drl文件出錯", e);
      }

      PackageBuilder builder = new PackageBuilder();
      StringReader srd = new StringReader(drl);
      builder.addPackageFromDrl(srd);
      pkg = builder.getPackage();
      pkgMap.put(fileName, pkg);
      is.close();
      return pkg;
     }

    }
    主站蜘蛛池模板: 野花视频在线官网免费1| 亚洲国产区男人本色在线观看| 特级毛片A级毛片免费播放| 日韩免费视频网站| 亚洲AV无码片一区二区三区| 成人免费淫片在线费观看| 亚洲综合一区国产精品| 337p日本欧洲亚洲大胆精品555588 | 免费观看91视频| 久久被窝电影亚洲爽爽爽| 免费91最新地址永久入口| 亚洲制服中文字幕第一区| h视频在线免费看| 亚洲理论片在线中文字幕| 成年人免费的视频| 亚洲精品国产av成拍色拍| 免费一级毛片不卡在线播放| 亚洲视频在线观看| 在线永久免费的视频草莓| 亚洲另类无码专区首页| 18女人腿打开无遮掩免费| 亚洲午夜国产片在线观看| 日韩电影免费在线观看网站| 亚洲图片中文字幕| 免费h视频在线观看| 亚洲av无码片区一区二区三区| 免费无码黄网站在线观看| 4hu四虎免费影院www| 亚洲bt加勒比一区二区| AAAAA级少妇高潮大片免费看| 久久精品国产亚洲av麻| 成年美女黄网站18禁免费| 特级毛片在线大全免费播放| 久久精品亚洲中文字幕无码网站| 免费AA片少妇人AA片直播 | 亚洲另类视频在线观看| 国产三级电影免费观看| 蜜桃视频在线观看免费视频网站WWW| 亚洲资源最新版在线观看| 亚洲A丁香五香天堂网| 久久99国产乱子伦精品免费|