воскресенье, 26 января 2014 г.

Запуск критериев (ViewCriteria) с Java кода в JDeveloper

     В Oracle ADF существует возможность создания критериев для сформированных  нами ViewObject-ов, чтобы при необходимости выполнять запросы к базе   по определенным  полям.  В этой статье будет описано создание этих критериев и вызов их с Java кода.Для этого в приложение созданное в прошлой статье " Использование af:iteraror вместо af:table в JDeveloper "  добавим два критерия : Фильтр сотрудников по номеру отдел и фильтр по дате рождения. Приступим.
     Зайдите во VO  EmpView и перейдите во вкладку Query. Там находится три секции:
  • Query - в ней находится запрос по которому формируется VO
  • Bind Variables - в эту секцию добавляются параметры которые  будут использоваться в критериях
  • View Criteria -секция в которой создаются критерии.

суббота, 18 января 2014 г.

Использование af:iteraror вместо af:table в JDeveloper

       В Oracle ADF стандартным компонентом для отображения таблиц баз данных является af : table.
       Это стандартная таблица. Часто бывает так, что заказчик хочет увидеть данные не в виде таблицы, а в каком то другом виде. Для этого существует af:iterator. Этот  компонент выводит данные  с БД в том виде, какой вы создадите : )

       af:iterator   в отличии af : table  нельзя создать путем  переноса VO c DataControl. Но что бы не создавать в ручную итераторы и   компонент, мы переконвертируем  компонент af:table.

Приступим.

1. Создайте приложение ADF приложение
2. Добавьте connection с базой к стандартной схеме  Scott.
3. Их соединения scott добавьте ADF Busines Component  Emp
4. Создайте jspx страницу
5. Добавьте на страницу c DataControl EmpView1  как таблицу.
Страница должна выглядеть так

четверг, 16 января 2014 г.

Добавление компонентов на форму в режиме реального времени в ADF

     Иногда  появляется необходимость добавлять компоненты на страницу ADF приложений в режиме реального времени. В этой статье я хочу описать, что нужно сделать для этого.

     Сначала нужно написать метод описанный снизу


public void addComponent(UIComponent parentUIComponent, 
                            UIComponent childUIComponent)
   {
 parentUIComponent.getChildren().add(childUIComponent);
 AdfFacesContext.getCurrentInstance().addPartialTarget(parentUIComponent);
    }


     Этот метод добавляют созданную компоненту childUIComponent  в родительский компонент parentUIComponent (например panelGroupLayout) и обновляет родительский компонент, что бы отобразился созданный элемент.

    Далее в нужном вам методе добавьте строки

RichInputText uic = new RichInputText();  
uic.setId("rit1");
uic.setLabel("Название поля");
uic.setValue("Значение поля");
addComponent(pGL1,  uic);


     В первой строке создается  компонент RichInputText ( компонент для ввода строк)
     Во второй, третьей и четвертой устанавливаются свойства компонента.
     В пятой при помощи созданного ранее метода  addComponent новый компонент добавляется на форму.

     Как вы сами понимаете добавлять можно не только inputtext.
     По следующей ссылку можно увидеть список компонентов и их свойства:

воскресенье, 15 декабря 2013 г.

Работа с Web-сервисами в Oracle JDeveloper(Часть 3.Создание ADF Web service connection)

              Когда идет разработка продукта, то приложения деплоятся на много площадок  и сервисы соответственно находятся тоже на разных площадках. Если у вас всего один сервис в приложении, то вы можете просто перегенирировать  его. Но лучше всего использовать ADF Web service connection. При его помощи создаются соединения,  в которых потом в режиме реального  времени можно менять адреса к wsdl сервису.
             ADF Web service connection создается очень просто.Нужно  найти в  прокси классе сервиса контейнер, он заканчивается словом Proxy, нажать по нему правой кнопкой и выбрать там Create ADF Web Service Connection. 
   

Работа с Web-сервисами в Oracle JDeveloper(Часть 2.Создание прокси класса и работа с сервисом в коде)

Когда в Orace ADF начинается разработка, то часто начинают использоваться  данные не только c БД, но и с других источников. И очень часто каким то другим источником является веб сервис. Для взаимодействия сервиса  c приложением используется  "Web Service proxy". 

В этой статье я хочу показать как создавать  для сервиса  "Web Service proxy" и  с его помощью вызвать необходимые методы в сервисе(Сервис будет использоваться из предыдущей статьи 
Работа с Web-сервисами в Oracle JDeveloper(Часть 1.Создание Web-сервиса   ).Если вам не хочется  читать прошлую статью используйте какой нибудь сервис с сайта  http://www.service-repository.com/

Приступим. Для создания прокси класса  нужно нажать CTRL+N и во вкладке "Web Services" выбрать Web Service proxy

среда, 30 октября 2013 г.

Работа с Web-сервисами в Oracle JDeveloper(Часть 1.Создание Web-сервиса)

Так как интернет  имеет  различные приложения, на разных аппаратно-программных платформах, и используют различные технологии и языки возникла необходимость обмена данных  между ними.Для этого придумали  веб-сервисы.

Веб-сервисы — это реализация абсолютно четких интерфейсов обмена данными между различными приложениями, которые написаны не только на разных языках, но и распределены на разных узлах сети.

в JDeveloper есть возможность их создания.
Для этого создадим касс Calculating который  будет считать в зависимости от введенного знака(+,-,*,/) считать x и y.



понедельник, 28 октября 2013 г.

Использование JavaScript в ADF

Доброго времени суток. В этой статье будет показано на примере как использовать Java Script(JS) в ADF.А именно,рассмотрим такие вещи как:
1. Вызов JS функции с ADF страницы.
2. Вызов JS функции с Java.
3. Передача аргументов в JS функцию.
4. Работа с ADF компонентам в JS.

Для этого создайте  форму с компонентами:

  • 2 af:commandButton  (cb1,b2);
  • af:inputText(it1,it2,it3);
  • 2  af:outputText (ot1,ot2).
  •  af:popup (p1) с af:dialog (d2) и af:outputText (ot3) с value="Привет Мир  


и назовите их как показано на следующем рисунке :


Описание работы  кнопок:
 "Запустить сценарий со страницы" - запуск  JS функции по нажатию кнопки со страницы, которая передаст  данные с X(it1),Y(it2) в JS   при помощи  af:clientatribute и установит в Z cсумму X и Y при помощи поиска;
"Запустить сценарий с Java" - запуск  функции через Java код;