No post anterior, nós criamos um save point explicito no Oracle ADF 12c (12.1.3), mas desta vez vou usar o Save Point Restore Finalizer para executar o método removeSavePoint após o estado do task flow ter sido restaurado. Desta forma, toda vez que eu restaurar um save point, ele será removido do banco de dados.
Para fazer isso, vou usar a aplicação deste post: ADF: Usando Save Points (Explícito).
Faça o download do aplicativo de amostra: ADFSavePointApp_v2.
Abra o task flow dept-flow.
Vá para a página Overview e clique no ícone que aparece perto do campo da propriedade Save Point Restore Finalizer.
Expanda os nós: ADF Controller Objects > controllerContext > savePointManager, e selecione o método removeSavePoint.
Adicione sessionScope.savePointSelected como parâmetro do método.
#{controllerContext.savePointManager.removeSavePoint(sessionScope.savePointSelected)}
Volte para a página Diagram e remova o removeSavePoint Method Call.
Abra a página deptEditView, remova o segundo botão Save Now e a propriedade rendered dos outros botões.
Faça deploy da aplicação e divirta-se!
Restaure o save point, e ele será removido do banco de dados.