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

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

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

    子在川上曰

      逝者如斯夫不舍晝夜
    隨筆 - 71, 文章 - 0, 評(píng)論 - 915, 引用 - 0
    數(shù)據(jù)加載中……

    Plugin和App的統(tǒng)一路徑接口

    在Eclipse插件(Plugin)開發(fā)中,需要寫一些Test Case(by JUnit),這些Test Case不是以插件方法運(yùn)行的,而是一些普通的Application。這時(shí)要注意到插件和App獲取路徑的方式是不同的,這時(shí)如果你要測試一些項(xiàng)目中的一些涉及到讀文件的一些類,無疑會(huì)導(dǎo)致出錯(cuò)。為了讓Plugin和App路徑獲取透明化,不防寫一個(gè)工具類來提供統(tǒng)一的路徑獲取方法,示例類如下所示:

    這個(gè)思路也可以擴(kuò)展到Plugin和App不一樣的地方,這樣寫起Test Case就方便多了。

    說明:示例中的AdminConsolePlugin類就是創(chuàng)建插件項(xiàng)目自動(dòng)生成的那個(gè)類,你的項(xiàng)目也許叫“項(xiàng)目名+Plugin”

    import?java.io.IOException;
    import?java.io.InputStream;
    import?java.net.MalformedURLException;
    import?java.net.URL;

    import?org.eclipse.core.runtime.Path;
    import?org.eclipse.ui.plugin.AbstractUIPlugin;

    import?com.wxxr.management.admin.console.AdminConsolePlugin;

    /**
    ?*?用于插件項(xiàng)目和非插件項(xiàng)目,提供兩者通用的方法接口
    ?*?
    @author?chengang?2006-3-30
    ?
    */
    public?class?ProjectUtil?{

    ????
    private?static?AbstractUIPlugin?plugin?=?AdminConsolePlugin.getDefault();

    ????
    private?ProjectUtil()?{}

    ????
    /**
    ?????*?判斷當(dāng)前的運(yùn)行狀態(tài)是否為插件方式
    ?????*?
    @return?true=插件方式運(yùn)行
    ?????
    */
    ????
    private?static?boolean?isPlugin()?{
    ????????
    return?plugin?!=?null;
    ????}

    ????
    public?static?URL?getURL(String?path)?{
    ????????
    if?(isPlugin())//如果是插件
    ????????????//return?plugin.find(new?Path(path));
    ??????????? return?FileLocator.find(plugin.getBundle(), new?Path(path), null);??? //陳剛修改于2006-8-24,eclipse3.2已經(jīng)建議用此方法
    ????????
    else
    ????????????
    try?{
    ????????????????
    return?new?URL("file:"?+?path);
    ????????????}?
    catch?(MalformedURLException?e)?{
    ????????????????
    throw?new?RuntimeException(path?+?"?is?error",?e);
    ????????????}
    ????}

    ????
    public?static?InputStream?getInputStream(String?path)?{
    ????????URL?url?
    =?getURL(path);
    ????????
    try?{
    ????????????
    return?url.openStream();
    ????????}?
    catch?(IOException?e)?{
    ????????????
    throw?new?RuntimeException(e);
    ????????}
    ????}

    }

    posted on 2006-03-30 11:22 陳剛 閱讀(1007) 評(píng)論(0)  編輯  收藏 所屬分類: Eclipse

    主站蜘蛛池模板: 免费看国产精品3a黄的视频| 四虎在线最新永久免费| 日韩一区二区免费视频| 亚洲精品国产成人| 亚洲精品视频免费在线观看| 狠狠色伊人亚洲综合成人| 久久久国产精品福利免费| 亚洲av日韩av无码| 美女内射毛片在线看免费人动物| 亚洲欧洲精品久久| 黄色永久免费网站| 亚洲国产欧美国产综合一区| 日本免费一区二区三区最新| 免费无码专区毛片高潮喷水 | 亚洲Av高清一区二区三区| 国产成人精品免费视频大全麻豆 | 99在线观看视频免费| 亚洲AV美女一区二区三区| 99在线视频免费| 亚洲男人的天堂久久精品| 暖暖在线日本免费中文| 男人免费视频一区二区在线观看| 国产成人高清亚洲| 一级毛片免费毛片一级毛片免费| 亚洲免费二区三区| 哒哒哒免费视频观看在线www| 亚洲天堂免费在线视频| 麻豆亚洲AV永久无码精品久久 | 免费一看一级毛片全播放| 皇色在线免费视频| 麻豆亚洲AV永久无码精品久久| 曰批全过程免费视频在线观看| 人人狠狠综合久久亚洲| 亚洲精品国偷自产在线| 黄页免费的网站勿入免费直接进入 | 日韩不卡免费视频| 国产青草亚洲香蕉精品久久| 亚洲国产成人一区二区精品区| 久草在视频免费福利| 国产免费黄色无码视频| 精品亚洲AV无码一区二区|