JavaServer Faces JavaServer Page (JSP) に Faces Client コンポーネントを含む WebSphere® Studio V5.1.x でプロジェクトを作成した場合は、 Faces Client コンポーネントのランタイム・リソースを最新レベルにマイグレーションする 必要があります。
<class_name>.java を読み取れなかったため、プロジェクトを構築できません。V5.1.x プロジェクト のクライアント・データ仲介クラスにエンコードされなかった特殊文字が含まれている可能性がありますが、 Rational Application Developer V6.0 の仲介クラスはこれらの文字をエンコードするため、ファイルを読み取れませんでした。これらの エラー・メッセージは、前述のステップに従ってクライアント・データを 再生成すると表示されなくなります。ただし、Faces Client コンポーネントを 含むプロジェクトをマイグレーションするステップに従う前に、ワークスペースを構築できるように、 まず V6.0 にロードされたプロジェクトからクライアント・データ仲介ファイルを 削除する必要があります。クライアント・データ仲介ファイルを削除するには、 以下のようにします。
いくつかのインスタンスでは、「仲介の生成に失敗しました」 というメッセージを受け取ることがあります。 この問題を訂正するには、OdysseyBrowserFramework.properties ファイルを編集して、 EMAP_FILES and ECORE_FILES プロパティーの項目を削除してから、もう一度実行してください。
EMAP_FILES=com\\ibm\\dynwdo4jsmediators/account.emap com\\ibm\\dynwdo4jsmediators/orders.emap項目から com\\ibm\\dynwdo4jsmediators/orders.emap を削除します。すると、 この項目は次のように表示されます。
EMAP_FILES=com\\ibm\\dynwdo4jsmediators/account.emap
プロジェクト内の JSP のクライアント・データ仲介クラスを再生成した後、 コンパイルされない仲介クラスがまだいくつか残ります。V6.0 の Service Data Object (SDO) では使用されなくなったスキーマ・エレメントの仲介があります。これらの 仲介は命名規則 * DataGraphSchema_wdo4js_*.java および *_RootDataObject_wdo4js_*.java を持ちます。これらのコンパイル・エラーを回避するためには、プロジェクトからこれらの仲介クラスを 削除してください。
マイグレーションが正常に完了した後、 OdysseyBrowserFramework.properties ファイルのオリジナルの内容を復元します。
String Diff = getClientData1().getDiffStr(); if (DiffProcessor.Synch(getRoot(), Diff) == true) return ""; return "failure";
生成された DiffHandler により find および getId メソッドが内部で使用される。 カスタム DiffHandler については、このインターフェースに準拠させるためだけに 空のメソッドをインプリメントすることができます。それらのメソッドは、 フレームワークによって呼び出されません。
public interface DiffHandler { public void handle(DiffInfo Diff) throws DiffException, Exception; public Object find (DiffInfo Diff) throws DiffException, Exception; public String getId (DiffInfo Diff, boolean Original); }
public class DiffInfo { public char getCrud() public DataObject getCurrent() public String getEClassName() public DataObject getOriginal() public String getPropertyName() public DiffInfo getParent() }