之前我們在做Social Post Overview頁面的時候沒有去實作下面的get_main_entity方法,在正常的測試裡并沒有發現問題。

但是最近收到一個ticket,報的問題是:
選中一個post進入detail頁面。
退回到IC inbox search page,把之前選中的post删除。
在右上角的back裡面點選被删除的post對應的entry。
系統出現異常。
經過一些debug,發現實際上framework提供了一個功能就是當某個bol_entity删除過後,會把這個entry在navigation history裡面的
記錄一并清除。
這個功能是在CL_BSP_WD_HIST_MANAGER_BASE->ON_ENTITY_DELETED裡面做的,下面可以看到,它是bol entity deleted的事件處理函數。
然後事件處理的挂接是在每次navigation trigger的時候進行的,也就是在方法CL_BSP_WD_HIST_MANAGER_BASE->ON_HISTORY_TRIGGER裡面做的。
但是在這個方法裡面就要求trigger navigation的overview page (social post overview page)實作GET_MAIN_ENTITY方法,然後傳回對應的social post bol entity,這樣framework就可以挂接目前這個bol entity的deleted事件了。
當這個實作了以後,framework就在我們的social post被删除以後,幫我們同時清除navigation history的資訊,進而避免錯誤。