<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

    主站蜘蛛池模板: 亚洲免费综合色在线视频| 黄色网页免费观看| 69av免费观看| 亚洲AV无码1区2区久久| 久久爰www免费人成| 亚洲精品视频在线| 在线观看免费视频资源| 亚洲国产成人精品无码区在线秒播| 日韩精品久久久久久免费| 久久亚洲AV成人出白浆无码国产| 95老司机免费福利| 亚洲综合色7777情网站777| 在线观看免费人成视频色9| 亚洲国产精品无码久久| 国产jizzjizz免费看jizz| 免费无码午夜福利片69| 亚洲日韩小电影在线观看| 日本免费一区二区三区四区五六区| 久久久亚洲裙底偷窥综合| 四虎在线视频免费观看视频| 国产AV旡码专区亚洲AV苍井空| 日韩免费毛片视频| 一级毛片一级毛片免费毛片| 亚洲AV无码国产精品色午友在线| 人与禽交免费网站视频| 色噜噜噜噜亚洲第一| 亚洲色大成网站WWW久久九九 | 精品国产日韩亚洲一区在线| 亚洲福利中文字幕在线网址| 国产免费爽爽视频在线观看| 亚洲欧洲中文日产| 亚洲福利视频一区二区| 三年片在线观看免费观看大全一 | 国产激情免费视频在线观看| 亚洲国产av美女网站| www国产亚洲精品久久久日本| 精品免费视在线观看| 亚洲熟妇AV一区二区三区浪潮| 国产精品亚洲mnbav网站 | 亚洲人成中文字幕在线观看| 国产精品免费观看|