Oracle ADF - Распечатать в консоли viewobject с помощью итератора


Создаю viewObject с именем voEmp.

select * from emp

Добавляю в ApplicationModule этот voEmp получаю voEmp1.


DataBindings.cpx –>

В Page Definition Usage кликаю по ru.javadev.view.pageDefs.viewPageDef

В executables добавляю элемент “iterator” и выбираю voEmp1. В результате создается итератор с именем “voEmp1Iterator”

 <af:commandButton text="PushMe" id="cb1" action="#{mainBean.buttonPressed}"/>


package ru.javadev.view;

import java.util.Date;

import oracle.adf.model.BindingContext;
import oracle.adf.model.binding.DCBindingContainer;
import oracle.adf.model.binding.DCIteratorBinding;

import oracle.jbo.Row;
import oracle.jbo.RowSetIterator;

public class mainBean {

    public String buttonPressed() {
        System.out.println("");
        System.out.println("----------------------------");
        System.out.println("-- Method buttonPressed() BEGIN -------!!!");
        System.out.println("---" + (new Date()).toString() + "------");


        BindingContext ctx = BindingContext.getCurrent();
        DCBindingContainer bc = (DCBindingContainer)ctx.getCurrentBindingsEntry();
        DCIteratorBinding iterator = bc.findIteratorBinding("voEmp1Iterator");

        // Определить количество записей

        RowSetIterator rsi = iterator.getRowSetIterator();


        System.out.println("||||||||||||||||||||||||||");
        System.out.println("Всего записей: " + rsi.getRowCount());
        System.out.println("||||||||||||||||||||||||||");


        // Данные из строки, на которую указывает итератор

        Row r = rsi.getCurrentRow();


        System.out.println("||||||||||||||||||||||||||");
        System.out.println("Текущее значение: " + (String)r.getAttribute("Ename"));
        System.out.println("||||||||||||||||||||||||||");


        // Вывести все данные


           rsi.reset();

            while (rsi.getCurrentRow() != null) {

            System.out.println("||||||||||||||||||||||||||");
            System.out.print(rsi.getCurrentRowIndex());
            System.out.print(") ");

            System.out.println((String)rsi.getCurrentRow().getAttribute("Ename"));

            System.out.println("||||||||||||||||||||||||||");

            rsi.next();

            }

            rsi.closeRowSetIterator();



        System.out.println("");
        System.out.println("-- Method buttonPressed() END -------!!!");
        System.out.println("----------------------------");

        return null;

    }
}


Результат:

----------------------------
-- Method buttonPressed() BEGIN -------!!!
---Sat Nov 24 17:08:43 MSK 2012------


||||||||||||||||||||||||||
Всего записей: 14
||||||||||||||||||||||||||
||||||||||||||||||||||||||
Текущее значение: SMITH
||||||||||||||||||||||||||
||||||||||||||||||||||||||
0) SMITH
||||||||||||||||||||||||||
||||||||||||||||||||||||||
1) ALLEN
||||||||||||||||||||||||||
||||||||||||||||||||||||||
2) WARD
||||||||||||||||||||||||||
||||||||||||||||||||||||||
3) JONES
||||||||||||||||||||||||||
||||||||||||||||||||||||||
4) MARTIN
||||||||||||||||||||||||||
||||||||||||||||||||||||||
5) BLAKE
||||||||||||||||||||||||||
||||||||||||||||||||||||||
6) CLARK
||||||||||||||||||||||||||
||||||||||||||||||||||||||
7) SCOTT
||||||||||||||||||||||||||
||||||||||||||||||||||||||
8) KING
||||||||||||||||||||||||||
||||||||||||||||||||||||||
9) TURNER
||||||||||||||||||||||||||
||||||||||||||||||||||||||
10) ADAMS
||||||||||||||||||||||||||
||||||||||||||||||||||||||
11) JAMES
||||||||||||||||||||||||||
||||||||||||||||||||||||||
12) FORD
||||||||||||||||||||||||||
||||||||||||||||||||||||||
13) MILLER
||||||||||||||||||||||||||

-- Method buttonPressed() END -------!!!
----------------------------