[Oracle ADF] - Пример переопределения execute в IMPL

ViewObject -> Java -> Java Classes

Generate View Object Class

Include bind vatiable accesson


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import oracle.jbo.Variable;
import oracle.jbo.VariableValueManager;
import oracle.jbo.server.ViewObjectImpl;

***

public void dumpQueryAndParameters()
{
    // get the query in it's current state
    String lQuery = getQuery();

    //get Valriables
    VariableValueManager lEnsureVariableManager = ensureVariableManager();
    Variable[] lVariables = lEnsureVariableManager.getVariables();
    int lCount = lEnsureVariableManager.getVariableCount();

    // Dump query
    System.out.println("---query--- " + lQuery);
    // if variables found dump them
    if (lCount > 0)
    {
        System.out.println("---Variables:");
        for (int ii = 0; ii < lCount; ii++)
        {
            Object lObject = lEnsureVariableManager.getVariableValue(lVariables[ii]);
            System.out.println("  --- Name: " + lVariables[ii].getName() + " Value: " +
                               (lObject != null ?  lObject.toString() : "null"));
        }
    }
}


@Override
public void executeQuery() {
    dumpQueryAndParameters();
    super.executeQuery();
}


Перед execute выполняется наш метод.
Он пишет в консоль ViewObject и переменные.

Если, что у нас в утилитах лежит метод VOUtils.PrintVO(vo) - который делает тоже самое без переопределения.