JavaServer Faces JSP(JavaServer Page)의 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 및 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에서 SDO(Service Data Object)에 사용되지 않는 스키마 요소용 중개자입니다. 이러한 중개자의 이름 지정 규칙은 *_DataGraphSchema_wdo4js_*.java 및 *_RootDataObject_wdo4js_*.java입니다. 프로젝트에서 이 중개자 클래스를 삭제하여 이러한 컴파일 오류가 발생하지 않도록 하십시오.
이주를 완료한 후, OdysseyBrowserFramework.properties 파일의 원래 컨텐츠를 복원하십시오.
String Diff = getClientData1().getDiffStr(); if (DiffProcessor.Synch(getRoot(), Diff) == true) return ""; return "failure";
find 및 getId 메소드는 생성된 DiffHandler에 의해 내부에서 사용됩니다. 사용자 정의 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() }