|
 |
Lotus Notes 8.5.1 の "com.ibm.notes.java.ui" を使ってみた
先日英語版がリリースされたばかりの Lotus Notes 8.5.1 の新フィーチャーである com.ibm.notes.java.ui を使ってみました。
これは Eclipse プラグインのコードから利用することができるようになった、Lotus Notes の UI(フロントエンド)のクラス群です。これらのクラスを利用することで SWT などを使って作成した Eclipse プラグインのアプリケーションから、直接 Lotus Notes のフロントエンドを呼び出すことができるようになります。
準備として、まずバージョン 3.4 ベースの Eclipse(Ganymede) に Lotus Expeditor Toolkit 6.2.1 を導入(PDF) して、Lotus Notes 8.5.1 用のプラグインアプリケーション開発環境を構築します。
"com.ibm.notes.java.ui" を使うには、プラグインアプリケーションのプロジェクトの中で、Dependencies の Required Plug-ins として、この "com.ibm.notes.java.ui" を追加します。これでこのプロジェクト内のコードで Lotus Notes の UI にアクセスするために必要なクラス群が使えるようになります。

この後、com.ibm.notes.java.ui.NotesUIWorkspace インスタンスを取得するには、この一行で呼び出せるようになります: NotesUIWorkspace ws = new NotesUIWorkspace();
これが LotusScript などで使っていた NotesUIWorkSpace クラスに相当するインスタンスとして扱えるようになります。したがって、別途バックエンドで取得したある NotesDocument 型のクラスがあれば、以下のようなコードを記述すると、そのクラスが示す文書を LotusNotes で表示する、ということが実現できます:
try{
//. Notes スレッドの初期化 NotesThread.sinitThread();
//. Notes セッションの生成 Session session = NotesFactory.createSessionWithFullAccess();
//. DB を取得 Database db = session.getDatabase( server, dbpath );
//. Document を取得 Document doc = db.getDocumentByUNID( unid );
//. 取得した Document を UI で表示 NotesUIWorkspace ws = new NotesUIWorkspace(); ws.openUrl( doc.getNotesURL() );
}catch( Exception e ){ }finally{
//. Notes スレッドの終了
NotesThread.stermThread();
}
とまあ、こんな感じ。Notes のデータをバックエンドに、フロントエンドを SWT でリッチに作りこむようなアプリケーションであっても、シームレスにリアルデータを呼び出すことが出来るようになりました。
ただ、残念ながらこの UI クラスは Eclipse プラグインからしか使うことができず、通常の(?)Java エージェントなどからは使えないようです。気をつけてください。
早速社内業務で使っているアプリケーションに組み込んでみました。周りの評価は上々。これを理由にチームメンバーの環境を 8.5.1 に無理やり上げてもらおう。
カテゴリー
: [ 8.5.1 | eclipse | java | notes | plugin | ui ]
2009年 11月 04日 , 18:39:38 JST
|
 |
|
 |
| 日 | 月 | 火 | 水 | 木 | 金 | 土 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | 8 | 9 | 10 | 11 | 12 | 13 | 14 | | 15 | 16 | 17 | 18 | 19 | 20 | 21 | | 22 | 23 | 24 | 25 | 26 | 27 | 28 | | 29 | 30 | | | | | | | | | | | | | | | 今日 |
|
|