リファクタリングと環境整備(2)
Plugin フォルダの廃止
本家デジタルグローブ社の OpenDolphin-2.1.2M を見てみると,1.3 時代にあった plugin フォルダが廃止されて,plugin になっていた部分は open.dolphin.impl に配置転換されている。それに合わせて自分の環境もリファクタリングしてみた。
- plugin のパッケージを右クリック,「リファクタリング」から「名前の変更」を選択し,パッケージの名前を open.dolphin.impl.xxxx に変更する。
- 名前の変更ができたら,ドラッグ&ドロップで主プロジェクトに移動する。
- 全てのプラグインでこれを繰り返す。
- getResource(String) 等,ファイルの位置が文字列でコーディングされている部分はリファクタリングされないので,必要部分を手動で変更する。直し忘れがあると,実行時に変な場所で ExceptionInInitializerError が発生する。
- 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 と分離されている。これに合わせるようにリファクタリングしてみた。
- 「新規プロジェクト」→「JavaEE」→「エンタープライズアプリケーション」を選択
- プロジェクト名 "OpenDolphin-EA-1.3.0.7"
- サーバーと設定
サーバー:JBoss Application Server,Java EE バージョン:Java EE 5
「EJB モジュールを作成」と「Web アプリケーションモジュールを作成」は,ここでは両方ともチェックを外しておく。
- 「新規プロジェクト」→「JavaEE」→「EJBモジュール」を選択
- プロジェクト名:OpenDolphin-EJB-1.3.0.7
- エンタープライズアプリケーションに追加:OpenDolphin-EA-1.3.0.7,サーバー:JBoss Application Server,Java EE バージョン:Java EE 5
- できあがった OpenDolphin-EJB-1.3.0.7 を右クリック→「プロファイル選択」
ソース/バイナリ形式:JDK_6,エンコーディング:UTF-8 に設定 - OpenDolphin-EJB-1.3.0.7 を選択し,「新規ファイル」→「持続性」→「持続性ユニット」を選択
持続性ユニット名:openDolphin,持続性プロバイダ:Hibernate (JPA 1.0) - データソースから,「新しいデータソース」 を選択。JNDI 名:PostgresDS,データベース接続:jdbc:postgresql:... を選択。これで,EJB サーバリソースの jboss-ds.xml が作成される。既にサーバリソースに jboss-ds.xml がある場合は作成されないので,うまくできないときは jboss-ds.xml を削除して再度データソースを入力する。
- できあがった jboss-ds.xml を OpenDolphin-EA のサーバリソースに移動する。EA の方に入っていないとうまくデプロイされない。
- 持続性ユニットにプロパティーを設定する。デザインモードよりソースモードにして入力した方が楽。以下の 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"/>
- EJB 側からクライアント側を参照している部分を直す。ClaimConst.java と KarteState.java が EJB 側から参照されていて修正した。何で今まで動いていたのか分からない。恐ろしい・・・
- KarteState.java を infomodel パッケージに「リファクタリング」→「移動」。
- BundleMed から ClaimConst を参照している部分を,IInfoModel に値をコピーして,そちらを参照させる。
- ライブラリフォルダの位置を common/lib に移動する。NetBeans がライブラリを見失うので,OpenDolphin-1.3.0.7 のプロパティーから,ライブラリを設定しなおす。
- 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
- 同じく,「ライブラリを追加」を選択して,「Hibernate JPA」を追加する
- 作った OpenDolphin-EJB-1.3.0.7 のソースパッケージに,OpenDolphin-1.3.0.7 から open.dolphin.dto,open.dolphin.ejb,open.dolphin.exception,open.dolphin.infomodel をドラッグ&ドロップで移動する。
- OpenDolphin-EA-1.3.0.7 を右クリック → 構築
- OpenDolphin-1.3.0.7 のライブラリを右クリック →「プロジェクトを追加」で OpenDolphin-EJB-1.3.0.7 を選択。
- これで,リファクタリングは終了。
« リファクタリングと環境整備(1) | トップページ | リファクタリングと環境整備(3) »
「OpenDolphin」カテゴリの記事
- Java 17 への移行(7) - OpenDolphin client の対応 (2023.02.04)
- Java 17 への移行(6) - Hibernate 6 でやらかす(2023.02.03)
- Java 17 への移行(5) - OpenDolphin server の対応(2023.02.02)
- Java 17 への移行(4) - OpenSearch の準備 [ubuntu 編](2023.02.01)
- Java 17 への移行(3) - OpenSearch の準備 [mac 編](2023.01.31)