SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Webサービスを利用したEclipseプラグインの作成

Google Web APIsを使用したEclipseのプラグインの作成

Webサービスを利用したEclipseプラグインの作成 第3回


検索メソッドを定義する

 続いてGoogleResultViewクラスに検索メソッドを定義します。メソッド名は、

検索メソッドの定義
public void search(String text);

 としました。ただ、中身については後ほど実装しますので、とりあえず以下のようなテスト実装としておきました。

検索メソッドのテスト実装
public void search(String text) {
    logger.debug("search(String) - start");
    try {
        String key = GooglePlugin.getDefault().getPreferenceStore()
                 .getString(PreferenceConstants.GOOGLE_KEY);
        GoogleSearchResult result
                   = GoogleCorePlugin.getDefault().search(key, text);
        ResultElement[] resultElements = result.getResultElements();
        logger.debug("search(String)の検索結果件数は "
                      + resultElements.length + " 件でした。");
        viewer.setInput(resultElements);
    } catch (CoreException e) {
        logger.error("search(String)", e);
    }
    logger.debug("search(String) - end");
}

 ここまでをまとめますと、

  • ビューにはTableViewerが配置されている
  • そのTableViewerにはTitle、Summary、URLという3つのカラムがある
  • 検索メソッドがテスト実装されている

 ということになりますね。

スクリーンショット

 実際にビューを表示してみると、こんな感じです。

スクリーンショット
スクリーンショット

 まだTitleのカラムにオブジェクトのハッシュコードが表示されるのみですが、これは後に修正していきます。

JUnitを使ってビューを生成する

 さて実際にビューを生成して検索メソッドを呼び出してみようと思うのですが、例によってJUnitを用いることができます。テスト用のプロジェクトは前回の「nu.mine.kino.plugin.google.ui.test」を用います。今回も外部のテストプラグインからクラスを呼び出すので、「nu.mine.kino.plugin.google.ui」プラグインの「外部に公開するパッケージ」に、

  • nu.mine.kino.plugin.google.ui.views

 を追加しました。

エクスポートされるパッケージ
エクスポートされるパッケージ

 前回と同様、nu.mine.kino.plugin.google.ui.views.GoogleResultViewクラスを選択してJUnitのテストクラスを「nu.mine.kino.plugin.google.ui.test」プロジェクトに生成します。JUnitのテストクラスはnu.mine.kino.plugin.google.ui.views.GoogleResultViewTestです。テストクラスには以下のメソッドを実装しました。

GoogleResultViewTestのテストメソッド
public void testGoogleResultView() {
    try {
        GooglePlugin.getDefault().getPreferenceStore().setValue(
                        PreferenceConstants.GOOGLE_KEY, "xxxxxxxxxx");
        IWorkbenchPage page = PlatformUI.getWorkbench()
                         .getActiveWorkbenchWindow().getActivePage();
        GoogleResultView view = (GoogleResultView) page
                         .showView(GoogleResultView.ID);
        view.search("eclipse");
    } catch (PartInitException e) {
        e.printStackTrace();
    }
}

 "xxxxxxxxxxxx"の箇所は、あらかじめGoogle SOAP Search APIのサイトで取得しておいたキーコードを設定してください。

 パッケージ・エクスプローラで[GoogleResultViewTest]を選択し、Eclipseのツールバーから[実行]-[JUnitプラグイン・テスト]を選択します。Eclipseが起動して上のメソッドが実行され、一瞬で消えてしまうのですがビュー現れ、検索結果一覧が表示されます。

次のページ
前回の状態を保存する場所org.eclipse.ui.IMemento

この記事は参考になりましたか?

Webサービスを利用したEclipseプラグインの作成連載記事一覧

もっと読む

この記事の著者

木野 雅富(キノ マサトミ)

2000年にシンクタンク系のSIerに入社後、サーバサイドJava開発やWEBサービスを利用したリッチクライアント開発など、さまざまな開発プロジェクトに携わる。2008年より株式会社プライムブレインズにて、システムコンサルタントとして従事。現在は会社作りも楽しんでいます!専門はJ2EEと最近はEcl...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/1541 2008/08/22 19:07

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー