<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

    主站蜘蛛池模板: 亚洲国产精品综合久久久| 亚洲精品乱码久久久久久按摩| 亚洲色成人网一二三区| 好久久免费视频高清| 人人狠狠综合久久亚洲婷婷| 久久久WWW免费人成精品| 久久伊人亚洲AV无码网站| 成人性生活免费视频| 学生妹亚洲一区二区| 德国女人一级毛片免费| 亚洲乱色熟女一区二区三区蜜臀| 免费看AV毛片一区二区三区| 亚洲精品国产av成拍色拍| 四虎永久免费影院| 深夜久久AAAAA级毛片免费看| 亚洲日本在线观看视频| 韩国免费a级作爱片无码| 亚洲av无码专区在线播放| 少妇无码一区二区三区免费| 亚洲欧洲精品久久| 午夜爱爱免费视频| 黄网站色视频免费观看45分钟| 亚洲人成人网站在线观看| GOGOGO免费观看国语| 亚洲一区二区三区日本久久九| 国产h视频在线观看网站免费| 亚洲欧美第一成人网站7777| 亚洲国产精品人人做人人爱| 永久免费不卡在线观看黄网站| 亚洲综合色丁香麻豆| 黄网址在线永久免费观看 | 久久福利青草精品资源站免费| 亚洲国产一区二区a毛片| 福利免费观看午夜体检区| 国产亚洲欧美日韩亚洲中文色| 中文亚洲AV片不卡在线观看| 国产AV日韩A∨亚洲AV电影| 亚洲午夜久久久久久久久久| 免费观看的毛片大全| 亚洲黄色免费网址| 好男人视频在线观看免费看片|