<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í)如果你要測(cè)試一些項(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 陳剛 閱讀(1006) 評(píng)論(0)  編輯  收藏 所屬分類: Eclipse

    主站蜘蛛池模板: 亚洲国产成人片在线观看无码| 中文字幕亚洲男人的天堂网络 | 图图资源网亚洲综合网站| 精品无码AV无码免费专区| 亚洲AV一区二区三区四区| 亚洲精品无码久久一线| 久久精品网站免费观看| www免费黄色网| 亚洲最大成人网色香蕉| 亚洲一级特黄大片无码毛片| 精品无码免费专区毛片| 特色特黄a毛片高清免费观看| 337p日本欧洲亚洲大胆精品555588| 国产精品麻豆免费版| 四虎国产精品永久免费网址 | 亚洲精品综合久久中文字幕| 亚洲VA综合VA国产产VA中| 99热在线精品免费播放6| 黄色毛片免费在线观看| 亚洲冬月枫中文字幕在线看| 亚洲精品第一国产综合精品99| www.免费在线观看| 在线免费观看伊人三级电影| 久久久亚洲精华液精华液精华液 | 成人午夜18免费看| 13小箩利洗澡无码视频网站免费| 亚洲av无码片vr一区二区三区| 久久久无码精品亚洲日韩按摩 | 亚洲欧洲免费无码| 日本免费人成网ww555在线| 国产亚洲午夜精品| 亚洲伊人久久大香线蕉结合| 久久精品亚洲综合| 日韩一卡2卡3卡4卡新区亚洲| 精品久久洲久久久久护士免费| aⅴ免费在线观看| 国产精品免费看久久久| 巨胸狂喷奶水视频www网站免费| 日韩色日韩视频亚洲网站| 亚洲 暴爽 AV人人爽日日碰| 亚洲欧洲精品在线|