« リファクタリングと環境整備(1) | トップページ | リファクタリングと環境整備(3) »

2012年1月27日 (金)

リファクタリングと環境整備(2)

Plugin フォルダの廃止

本家デジタルグローブ社の OpenDolphin-2.1.2M を見てみると,1.3 時代にあった plugin フォルダが廃止されて,plugin になっていた部分は open.dolphin.impl に配置転換されている。それに合わせて自分の環境もリファクタリングしてみた。

  1. plugin のパッケージを右クリック,「リファクタリング」から「名前の変更」を選択し,パッケージの名前を open.dolphin.impl.xxxx に変更する。
  2. 名前の変更ができたら,ドラッグ&ドロップで主プロジェクトに移動する。
  3. 全てのプラグインでこれを繰り返す。
  4. getResource(String) 等,ファイルの位置が文字列でコーディングされている部分はリファクタリングされないので,必要部分を手動で変更する。直し忘れがあると,実行時に変な場所で ExceptionInInitializerError が発生する。
  5. META-INF.plugin に入っているプラグイン情報が入ったファイルを,適宜追加・変更する。
    open.dolphin.client.AbstractSettingPanel
    open.dolphin.client.MainWindow
    open.dolphin.client.Chart
    open.dolphin.client.MmlMessageListener
    open.dolphin.client.ChartDocument
    open.dolphin.client.NChartDocument
    open.dolphin.client.ClaimMessageListener
    open.dolphin.client.SchemaEditor
    open.dolphin.client.Letter
    open.dolphin.server.PVTServer
    open.dolphin.client.MainComponent
    

Java EE EJB モジュール化

本家デジタルグローブ社の OpenDolphin-2.1.2M を見てみると,クライアントが OpenDolphin-2.1M,EJB が OpenDolphin-EA-2.0,OpenDolphin-EJB-2.0 と分離されている。これに合わせるようにリファクタリングしてみた。

  1. 「新規プロジェクト」→「JavaEE」→「エンタープライズアプリケーション」を選択
    • プロジェクト名 "OpenDolphin-EA-1.3.0.7"
    • サーバーと設定
      サーバー:JBoss Application Server,Java EE バージョン:Java EE 5
      「EJB モジュールを作成」と「Web アプリケーションモジュールを作成」は,ここでは両方ともチェックを外しておく
  2. 「新規プロジェクト」→「JavaEE」→「EJBモジュール」を選択
    • プロジェクト名:OpenDolphin-EJB-1.3.0.7
    • エンタープライズアプリケーションに追加:OpenDolphin-EA-1.3.0.7,サーバー:JBoss Application Server,Java EE バージョン:Java EE 5
  3. できあがった OpenDolphin-EJB-1.3.0.7 を右クリック→「プロファイル選択」
    ソース/バイナリ形式:JDK_6,エンコーディング:UTF-8 に設定
  4. OpenDolphin-EJB-1.3.0.7 を選択し,「新規ファイル」→「持続性」→「持続性ユニット」を選択
    持続性ユニット名:openDolphin,持続性プロバイダ:Hibernate (JPA 1.0)
  5. データソースから,「新しいデータソース」 を選択。JNDI 名:PostgresDS,データベース接続:jdbc:postgresql:... を選択。これで,EJB サーバリソースの jboss-ds.xml が作成される。既にサーバリソースに jboss-ds.xml がある場合は作成されないので,うまくできないときは jboss-ds.xml を削除して再度データソースを入力する。
  6. できあがった jboss-ds.xml を OpenDolphin-EA のサーバリソースに移動する。EA の方に入っていないとうまくデプロイされない。
  7. 持続性ユニットにプロパティーを設定する。デザインモードよりソースモードにして入力した方が楽。以下の property を追加する。hiberneate search の index directory は,書き込み可能なディレクトリに設定する。
    <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>            
    <!-- hibernate search -->
    <property name="hibernate.search.default.directory_provider" value="org.hibernate.search.store.FSDirectoryProvider"/>
    <property name="hibernate.search.default.indexBase" value="/Applications/jboss-5.1.0.GA/lucene/indexes"/>
    
  8. EJB 側からクライアント側を参照している部分を直す。ClaimConst.java と KarteState.java が EJB 側から参照されていて修正した。何で今まで動いていたのか分からない。恐ろしい・・・
    • KarteState.java を infomodel パッケージに「リファクタリング」→「移動」。
    • BundleMed から ClaimConst を参照している部分を,IInfoModel に値をコピーして,そちらを参照させる。
  9. ライブラリフォルダの位置を common/lib に移動する。NetBeans がライブラリを見失うので,OpenDolphin-1.3.0.7 のプロパティーから,ライブラリを設定しなおす。
  10. OpenDolphin-EJB-1.3.0.7 のライブラリを右クリックし,「JAR/フォルダを追加」を選択し,common/lib から以下のライブラリを追加する。
    • hibernate-search-3.1.1.GA.jar
    • jboss-ejb3-ext-api.jar
    • lucene-analyzers-2.4.1.jar
    • lucene-core-2.4.1.jar
    • velocity-1.7.jar
    • velocity-1.7-dep.jar
  11. 同じく,「ライブラリを追加」を選択して,「Hibernate JPA」を追加する
  12. 作った OpenDolphin-EJB-1.3.0.7 のソースパッケージに,OpenDolphin-1.3.0.7 から open.dolphin.dto,open.dolphin.ejb,open.dolphin.exception,open.dolphin.infomodel をドラッグ&ドロップで移動する。
  13. OpenDolphin-EA-1.3.0.7 を右クリック → 構築
  14. OpenDolphin-1.3.0.7 のライブラリを右クリック →「プロジェクトを追加」で OpenDolphin-EJB-1.3.0.7 を選択。
  15. これで,リファクタリングは終了。

« リファクタリングと環境整備(1) | トップページ | リファクタリングと環境整備(3) »

OpenDolphin」カテゴリの記事