(ORDER BY) Упорядочить ViewObject в бине


Базовый пример, может выглядить вот так

String orderStr1 = " MY_DATE ";
vo.setOrderByClause(orderStr1 + "desc");
vo.executeQuery();



Имеем SelectOneChoice в котором можно выбрать порятк отображения данных из ViewObject.
Следующим образом, можно реализовать сортировку.

Ла я знаю, что можно и получше сделать.
Пока так.

public void onTasksOrderChanged (ValueChangeEvent valueChangeEvent) {

    ApplicationModule am = ADFUtils.getApplicationModuleForDataControl("AppModuleDataControl");
    ViewObject vo = am.findViewObject("Tasks_List");

    switch (valueChangeEvent.getNewValue().toString()) {
            case "1":  sortByDate(vo);
                     break;
            case "2":  sortByPriority(vo);
                     break;
        }
}


private void sortByDate(ViewObject vo){

    String orderStr1 = " MY_DATE ";
    String orderStr2 = " MY_PRIORITY ";

    vo.setOrderByClause(orderStr1 + " desc, "  + orderStr2 );

    vo.executeQuery();
}

private void sortByPriority(ViewObject vo){

    String orderStr1 = " MY_PRIORITY ";
    String orderStr2 = " MY_DATE ";
    vo.setOrderByClause(orderStr1 + ", "  + orderStr2 + "desc");
    vo.executeQuery();
}

Здесь описан еще и пример с setSortBy: https://blogs.oracle.com/imc/entry/adf_bussiness_components_in_memory