ошибка при фиксации и навигации с помощью всплывающего окна ADF - PullRequest
0 голосов
/ 13 июля 2020

Я вставляю данные в форму, поэтому транзакция становится грязной, и я проверяю это.

если она грязная, я показываю всплывающее окно с параметрами для навигации и фиксации или навигации с откатом.

Я пробовал перетаскивать кнопка с таким же действием вне всплывающего окна, и она сработала. поэтому я предполагаю, что проблема возникает из всплывающего окна !! но я вижу, что все в порядке.

я что-то пропустил?

всплывающее окно:

<af:popup childCreation="immediate" autoCancel="disabled" id="p1" contentDelivery="immediate">
                <af:panelWindow id="pw2" contentWidth="400" title="Warning" closeIconVisible="false">
                    <af:panelGridLayout id="pgl8">
                        <af:gridRow marginTop="5px" height="auto" id="gr3">
                            <af:gridCell marginStart="5px" width="100%" marginEnd="5px" id="gc4">
                                <af:outputText value="SaveFirst" id="ot17"/>
                            </af:gridCell>
                        </af:gridRow>
                        <af:gridRow marginTop="5px" height="auto" marginBottom="5px" id="gr4">
                            <af:gridCell marginStart="5px" width="100%" marginEnd="5px" id="gc5" halign="end">
                                <af:panelGroupLayout id="pgl15" layout="horizontal">
                                    <af:button text="NavigateWithCommit" id="b1"
                                               actionListener="#{homeMgr.navigateWithCommit}"/>
                                    <af:button text="NavigateWithRollBack" id="b2"
                                               actionListener="#{homeMgr.navigateWithRollBack}"/>
                                    <af:button text="Cancel" id="b3"
                                               actionListener="#{homeMgr.closeConfimPopup}"/>
                                    <f:facet name="separator">
                                        <af:spacer width="5" height="0" id="s8"/>
                                    </f:facet>
                                </af:panelGroupLayout>
                            </af:gridCell>
                        </af:gridRow>
                    </af:panelGridLayout>
                </af:panelWindow>
            </af:popup>

метод фиксации:

    public void navigateWithCommit(ActionEvent actionEvent) {
    System.err.println("before");
    ADFUtils.executeOperator("Commit");
    System.err.println("After");
    navigateMethod();
}

это показано ниже в журнале без фиксации

before
<oracle.adf.model> <QueryCollection> <clearNRT> <Initialized row(s) exists after commit, in collection:
TspGovernorateVO1
in ViewObject:
TspGovernorateVO1.
Application should ensure the created row is posted or removed, before commit.Removing row(s) from collection on commit.>
after
...