목록 구성요소에서 목록 핸들링

목록 구성요소의 모든 인스턴스가 com.ibm.bpe.jsf.handler.BPCListHandler 클래스의 인스턴스와 연관됩니다.

목록 핸들러는 어떤 항목이 연관된 목록에서 선택되는지 추적하고, 공고 메커니즘을 제공합니다. 목록 핸들러는 bpe:list 태그의 model 속성을 통해 목록 구성요소에 바인드됩니다.

목록 핸들러의 공고 메커니즘은 com.ibm.bpe.jsf.handler.ItemListener 핸들러를 사용하여 구현됩니다. Business Process Choreographer 탐색기는 공고 메커니즘을 사용하여 목록 항목을 다른 종류의 항목에 대한 세부사항 페이지에 연관시킵니다. 공고 이벤트에 대한 트리거는 일반적으로 현재 목록에 표시되는 항목의 특성 중 하나입니다.

공고 메커니즘을 개발하려면 특성에 대한 bpe:column 태그의 action 속성 값을 공고 이벤트가 트리거될 때 응용프로그램이 계속하려는 JSF(JavaServer Faces) 탐색 대상으로 설정하십시오. 목록 구성요소는 열의 항목을 JSF 명령 링크로 표현합니다. 링크가 트리거되면 목록의 항목을 표현하는 오브젝트가 결정되고, 모든 등록된 항목 리스너에 이 오브젝트가 전달됩니다. JSF 응용프로그램의 구성 파일에서 이 인터페이스의 구현을 등록할 수 있습니다.

또한 BPCListHandler 클래스도 refreshList 메소드를 제공합니다. JSF 메소드 바인딩에서 이 메소드를 사용하여 조회를 다시 실행하기 위한 사용자 인터페이스 제어를 구현할 수 있습니다.

조회 구현

목록 핸들러를 사용하여 모든 종류의 오브젝트와 특성을 표시할 수 있습니다. 목록 컨텐츠는 목록 핸들러에 대해 구성되는 com.ibm.bpc.clientcore.Query 인터페이스의 구현이 리턴하는 오브젝트 목록에 따라 다르게 표시됩니다. BPCListHandler 클래스의 setQuery 메소드를 사용하여 쿼리를 프로그래밍하여 설정하거나 응용프로그램의 JSF 구성 파일에서 쿼리를 구성할 수 있습니다.

Business Process Choreographer API를 비롯하여, 컨텐츠 관리 시스템이나 데이터베이스와 같은 응용프로그램에서 액세스할 수 있는 다른 소스 정보에 대해서도 조회를 실행할 수 있습니다. 유일한 요구사항은 조회의 결과가 execute 메소드에 의한 오브젝트의 java.util.List로 리턴되어야 한다는 것입니다.

리턴된 오브젝트의 유형은 조회가 정의된 목록의 열에 표시되는 모든 특성에 대해 적절한 Getter 메소드를 사용할 수 있다는 것을 보장해야 합니다. faces 구성 파일에 정의된 BPCListHandler 인스턴스의 유형 특성 값을 리턴된 오브젝트의 완전한 클래스 이름으로 설정하여 리턴된 오브젝트의 유형이 목록 정의에 맞는지를 확인할 수 있습니다. 조회 구현의 getType 호출에서 이 이름을 리턴할 수 있습니다. 런타임 시 목록 핸들러가 오브젝트 유형이 정의에 맞는지를 확인합니다.

오류 메시지를 목록의 특정 항목으로 맵핑하기 위해 조회에서 리턴된 오브젝트가 서명을 가지고 메소드를 구현해야 합니다. public Object getID().

오류 핸들링

다음 오류가 발생하는 상황에서 BPCListHandler 클래스가 제공하는 오류 핸들링 기능의 이점을 얻을 수 있습니다.
  • 조회나 명령을 실행하는 중 오류가 발생한 경우

    조회를 실행하는 중에 오류가 발생하는 경우, BPCListHandler 클래스는 불충분한 액세스 권한 때문에 발생한 오류인지 아니면 다른 예외 때문에 발생한 오류인지를 구분합니다. 불충분한 액세스 권한 때문에 발생한 오류를 발견하려면 조회의 execute 메소드에서 발생한 ClientExceptionrootCause 매개변수가 com.ibm.bpe.api.EngineNotAuthorizedException 또는 com.ibm.task.api.NotAuthorizedException 예외여야 합니다. 목록 구성요소는 조회 결과 대신에 오류 메시지를 표시합니다.

    불충분한 액세스 권한 때문에 발생한 오류가 아닌 경우, BPCListHandler 클래스는 예외 오브젝트를 JSF 응용프로그램 구성 파일의 BPCError 키가 정의한 com.ibm.bpc.clientcore.util.ErrorBean 인터페이스의 구현에 전달합니다. 예외가 설정되면 오류 탐색 대상이 호출됩니다.

  • 목록에 표시된 항목을 사용하여 작업하는 중 오류가 발생한 경우

    BPCListHandler 클래스는 com.ibm.bpe.jsf.handler.ErrorHandler 인터페이스를 구현합니다. setErrors 메소드의 java.util.Map 유형의 맵 매개변수를 가진 오류에 대한 정보를 제공합니다. 이 맵은 ID(키로 사용)와 예외(값으로 사용)를 포함합니다. 이 ID는 오류를 일으킨 오브젝트의 getID 메소드에서 리턴된 값이어야 합니다. 맵이 설정되고 모든 ID가 목록에 표시된 모든 항목과 일치하는 경우, 목록 핸들러는 오류 메시지를 포함한 열을 목록에 자동으로 추가합니다.

    목록에 날짜가 지난 오류 메시지를 추가하지 않으려면 오류 맵을 재설정하십시오. 다음 상황에서는 맵이 자동으로 재설정됩니다.
    • BPCListHandler 클래스의 refreshList 메소드가 호출되는 경우
    • BPCListHandler 클래스에 새 조회가 설정되는 경우
    • 목록의 항목에 조치를 트리거하는 데 CommandBar 구성요소를 사용하는 경우. CommandBar 구성요소는 이 메커니즘을 오류 핸들링의 한 방법으로 사용합니다.

ⓒ Copyright IBM Corporation 2005, 2006.
이 Information Center는 Eclipse 기술을 기반으로 합니다. (http://www.eclipse.org)