[Oracle ADF] Bindings Layer > action
Примеры вызова OperationBinding
В bindigs создаем action типа Commit, Rollback, Execute с одноименными названиями
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
private String commit = "commit";
private String rollback = "Rollback";
private String execute = "Execute";
private String executeWithParams = "ExecuteWithParams";
private String myParam1 = "myParam1";
private String myParam2 = "myParam2";
private void commit() {
DCBindingContainer bindings = (DCBindingContainer) BindingContext.getCurrent().getCurrentBindingsEntry();
OperationBinding operationBinding = bindings.getOperationBinding(commit);
operationBinding.execute();
// Наверное, лучше сразу попробовать такое
// ADFUtils.findOperation(commit).execute();
}
private void rollback() {
DCBindingContainer bindings = (DCBindingContainer) BindingContext.getCurrent().getCurrentBindingsEntry();
OperationBinding operationBinding = bindings.getOperationBinding("rollback");
operationBinding.execute();
}
private void execute() {
DCBindingContainer bindings = (DCBindingContainer) BindingContext.getCurrent().getCurrentBindingsEntry();
OperationBinding operationBinding = bindings.getOperationBinding(execute);
operationBinding.execute();
}
private void executeWithParams() {
DCBindingContainer bindings = (DCBindingContainer) BindingContext.getCurrent().getCurrentBindingsEntry();
OperationBinding operationBinding = bindings.getOperationBinding(executeWithParams);
operationBinding.getParamsMap().put("my_param1", myParam1);
operationBinding.getParamsMap().put("my_param2", myParam2);
// Если нужно передать null. Можно попробовать выполнить это следующей командой.
// Я пытался передавать null, "null", вообще не выполнять эту команду, но получилось только следующим образом.
// operationBinding.getParamsMap().put("my_param2", "");
Object result1 = operationBinding.execute();
if(!operationBinding.getErrors().isEmpty()){
System.out.println("Error");
} else {
System.out.println("Success");
}
}
this.commit();
this.rollback();
this.execute();
this.executeWithParams();
Еще пример с использованием ADFUtils:
1
2
3
4
OperationBinding getTaskoperation = ADFUtils.findOperation("ExecuteWithParams");
getTaskoperation.getParamsMap().put("myParam1", "myValue1");
getTaskoperation.getParamsMap().put("myParam2", "myValue2");
Object result = getTaskoperation.execute();
И еще у меня осталось в закладках:
http://matteoformica.blogspot.ru/2014/02/executing-operation-binding.html