XMLDB.jp

XMLDB開発支援
HOME  >  XMLDB開発支援  >  チュートリアル ~Eclipse内でXML DBを操作できるTeam SoleSuite Xpriori plug-in

チュートリアル ~Eclipse内でXML DBを操作できるTeam SoleSuite Xpriori plug-in

2005年7月27日 更新


統合開発環境でデータベースを操作できる意義

プログラムを開発しているとき、ある特定の機能だけを繰り返しテスト実行することがある。しかし、実行する機能によっては、面倒な事態を引き起こす。例えば、Xprioriで構築されたXMLデータベースのある要素の内容を整数と見なし、その値をゼロクリアする機能を開発中だったとしよう。この機能だけを繰り返し実行する場合、以下の2つの問題が出てくる。


・ゼロクリアが行われることを確認するには、実行前の値がゼロであってはならないが、管理コンソールで書き換えるにはいちいちクエリを書く必要がある

・実行後に管理コンソールで結果を確認するには、やはりクエリを書く必要がある


1度や2度であればよいが、テスト実行の回数が多くなるとかなり面倒だ。


こうした場合に役立つのが、「Team SoleSuite Xpriori plug-in」(以下Xpriori plug-in)である。Xpriori plug-inはEclipse 3.x対応のプラグインで、Eclipse内でNeoCoreおよびXprioriのデータ構造を直接表示したり編集することができる。無償で配布されているので、ダウンロードして実際に試してみることをお勧めする。


Xpriori plug-inダウンロード


実際に、Xpriori plug-inが役立つ状況を見てみよう。例えば、以下のようなXML文書がXprioriにstoreされているとする。


<?xml version="1.0" encoding="utf-8"?>
<SampleInfo>
<Name>Cyclops</Name>
<Counter>0</Counter>
<Area>Atlantis</Area>
</SampleInfo>

このXML文書のCounter要素は、あるイベントによって1ずつ増加する。そして、Counter要素の内容を0に戻す機能が必要になったとする。以下は、その機能を実装してみたものだ。今回はこの機能に限定した小さなサンプルプログラムを作成したが、本来であれば大きなプログラムの一部となるコードだと思って見ていただきたい。なお、サンプルソースを簡潔にするために、例外処理などは意図的に含めていない。実用システムで使う場合は、そのようなコードが必要であることを心に留めておいていただきたい。


import com.neocore.httpclient.*;

public class sample1 {
    private static String id = "Administrator";
    private static String password = "samplePassword";
    private static String server = "localhost";

    public static void main(String[] args) throws Exception {
        SessionManagedNeoConnection neosession
            = new SessionManagedNeoConnection(server, 7700);
        neosession.login(id, password);
        neosession.modifyXML("/ND/SampleInfo/Counter\n", "0\n");
        neosession.logout();
    }
}

このプログラムを実行するのはとても簡単なのだが、XMLデータベース内の初期値の準備と結果の確認は前述したように面倒な作業になる。早速プラグインをインストールして活用してみよう。


Xpriori plug-inのインストール

Xpriori plug-inのインストールは簡単だ。Eclipseが実行されていない状態で、Xpriori plug-inのアーカイブファイルをEclipseと同じフォルダに展開しよう。画面1のように、pluginsフォルダの中に「com.solesuite.team.xpriori_1.0.0」というフォルダができていれば、正しい位置に展開できている。


g01.jpg
画面1 pluginsフォルダに展開


次に、Xprioriへの接続情報を設定する。Eclipseを起動し、[ウィンドウ]メニューの[設定]-[Team SoleSuite Xpriori plug-in]を選択する。ここで、

・ サーバ名
・ ポート
・ ユーザー名
・ Xprioriをインストールしたフォルダ

を設定する。


g02.jpg
画面2 Xprioriへの接続情報


Xprioriへ接続する

設定が完了したら、早速Xprioriへ接続し、そこに格納されたデータを見てみよう。まずプラグインを表示させる。それには、[ウィンドウ]メニューの[ビューの表示]-[その他]-[Team SoleSuite Xpriori plug-in]を選択し、[OK]ボタンをクリックする。


g03.jpg
画面3 プラグインを表示させる


すると、2つのボタンz01.gif z02.gif が表示された領域がウィンドウ内に追加される。これが、Xpriori plug-inの表示領域である。


g04.jpg
画面4 Xpriori plug-inが表示された


Xprioriに接続するには、z01.gif をクリックする。すると画面5のようなダイアログボックスが表示されるので、パスワードを入力して[OK]ボタンを押す。


「Xpriori plug-inのインストール」で設定したサーバ情報が使用される


g05.jpg
画面5 Xprioriに接続するダイアログボックス


すると、Xprioriに格納されたデータベースの概要が、ツリー状に表示される。


g06.jpg
画面6 Xprioriとの接続に成功


なお、要素と属性はアイコンで区別される。z03.gif が付いているものが要素であり、z04.gif が付いているものは属性となる。ここで表示されるのは、データベースに格納されているXMLの構造である。同名の要素や属性が複数存在する場合、それらは1つにまとめられて表示される。また、インスタンスごとに異なる要素についてはすべて列挙される。これにより巨大なデータであっても、コンパクトな表示を実現している。正確な構造までは見ることができないが、後述する詳細な閲覧ウィンドウを使うことで完全なデータを見ることも可能だ。


Xpriori plug-inの使い勝手

これで準備は完了した。早速実際に使ってみよう。プログラムを実行する前に、まずは現状のXMLデータベースの内容を確認してみよう。プラグインのツリーにあるSampleInfo要素をダブルクリックすると、画面7のようなダイアログボックスが表示される。


g07.jpg
画面7 Document Listダイアログボックス


これは、同じ名前の要素や属性が複数あった場合に選択可能にするリスト表示と、それに対して行うアクション(View、Edit、Delete)を指定するためにある。SampleInfo要素の場合、対応する要素は1つしかない。1行だけ表示されたリストをクリックして選択状態にしたうえで、下の[View]ボタンをクリックしよう。すると、以下のようにXML文書の内容が表示される。


g08.jpg
画面8 表示されたXML文書の内容


この画面で、Counter要素の内容が現在は0であることが読み取れる。これではテスト実行しても、本当に書き換えた結果0になったのか、それとも書き換えは行われず古い値がそのまま残って0という結果になったのか区別できない。そこで、この値を0ではない値に書き換えてしまおう。それを行うには、[Close]ボタンでこのウィンドウを閉じてから、画面7で編集を行う[Edit]ボタンをクリックする。これで、編集可能なXML Editウィンドウが表示される。


g09.jpg
画面9 XML Editウィンドウ


上半分が現在の内容で、下半分に新しい値を書き込む。ここではほとんどそのままでよいので、上の内容を全選択して[Ctrl]+[C]キーでコピーする。次に下の領域をクリックしてフォーカスを移したら、[Ctrl]+[V]キーを押して貼り付けよう。そして、Counter要素の「0」という文字を「123」に書き換え、ウィンドウ右下の[Update]ボタンをクリックすればよい。すると、確認のメッセージボックスが表示されるので、[OK]ボタンをクリックする。


g10.jpg
画面10 変更の確認を求めるメッセージボックス


現在の仕様では、該当する要素(エレメント)をすべて更新する。ちなみに、Xpriori plug-inのソースコードを公開することも検討されている。もしこれが実現すれば、更新方法の仕様などを自分で修正することもできるようになるだろう。


書き換えが完了したら、前述の[View]ボタンでCounter要素が確かに書き換わっていることを確認しておこう。


最初に紹介したプログラムの実行準備が整った。早速実行してみよう。プログラムの実行は、設定などが正しければ一瞬で終わる。終わったら、前述の手順でもう1度SampleInfo要素を表示させてみよう。


g11.jpg
画面11 再びSampleInfo要素を表示


このとおり、確かにCounter要素の内容が「0」に書き換えられたことを確認することができた。作業がすべて終了したら、z02.gif ボタンをクリックして、Xprioriとの接続を閉じておくこと。


作業のスムーズさは段違い

ここまでの作業が、Eclipseから一歩も出ることなく完了したことに注目してほしい。また、管理コンソールのウィンドウが必要とされなかっただけでなく、データベースの確認や手動変更のためのクエリを1つも書かずに終わったことも見逃さないでほしい。


もちろん、この程度の作業で要求されるクエリは大したものではない。しかし、それでも繰り返し入力することになるとうんざりするし、入力間違いなども入り込みやすい。しかし、Xpriori plug-inを使えばそのような問題からは解放されるのである。



企画協力:アイティメディア株式会社it_S.gif  

▲このページのTOPへ

  • 無償で使える!XMLDB「NeoCore」
  • サイバーテック求人情報
  • メールマガジン申し込み
  • TEchScore

  • ▲NeoCoreについて記載されています!

  • ▲XMLマスター教則本です。試験対策はこれでばっちり!
Copyright (c) CyberTech corporation ltd. All ights Reserved. | サイバーテックについて | ご利用ガイド