<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;
     }

    }
    主站蜘蛛池模板: 亚洲综合激情另类专区| 亚洲精品在线视频| 国产免费久久精品99re丫y| 免费无码又爽又刺激高潮视频| 最近最好最新2019中文字幕免费| a成人毛片免费观看| 东北美女野外bbwbbw免费| 18成禁人视频免费网站| 亚洲伊人久久大香线蕉苏妲己| 亚洲av午夜精品无码专区| 亚洲1区2区3区精华液| h片在线观看免费| 欧洲乱码伦视频免费| 久久亚洲AV无码西西人体| 亚洲字幕AV一区二区三区四区 | 亚洲中文无码亚洲人成影院| 男男AV纯肉无码免费播放无码| 亚洲人成图片小说网站| 亚洲日韩精品国产3区| 免费h视频在线观看| 免费A级毛片无码A| 亚洲日韩乱码中文无码蜜桃臀 | 亚洲一区二区三区无码国产| 天天干在线免费视频| 在线观看亚洲一区二区| 国产无遮挡又黄又爽免费网站| 亚洲国产精品一区| 中文字幕高清免费不卡视频| 亚洲成年人在线观看| 中文字幕免费在线看| 久久九九兔免费精品6| 免费三级毛片电影片| 国产精品免费看香蕉| 最近最新高清免费中文字幕 | 又大又硬又粗又黄的视频免费看| 色欲A∨无码蜜臀AV免费播| 亚洲精品国产精品乱码不卞| 日本免费人成网ww555在线 | 亚洲嫩模在线观看| 精品久久久久久久免费人妻| 亚洲啪AV永久无码精品放毛片|