Browse Year by 2016

ADF: Filtering parent and child nodes in af:tree / af:treeTable

One of our customers required to filter data in a page with a tree component. Using Ashish’s post I am going to show you how to filter both parent and child nodes having just a single filter value. This can also be applied to treeTable component.

The first thing we need is a tree component and data structure, in this case we are going to use Oracle’s hr schema tables: Departments and Employees.

In our page we drag and drop DepartmentsView from datacontrols palette and create a tree component.

The next thing we have to do is to create a View Criteria in Departments View Object (parent).

We also have to crete a View Criteria in Employees View Object (child).

We have to expose setter method of the bind variable in parent View Object.
As we exposed the bind variable in parent, we need  to pass that value to the child by overriding createViewLinkAccessorRS method in parent View Object Implementation class (DepartmentsViewImpl.java)

The last step in the Model is to set a default View Criteria in parent View Object. To set it we have to right click on the View Object instance in our AppModule, click on ‘Edit’, select the View Criteria and click on ‘Ok’ button.

The Model is now finished, we now have to drag and drop the setter method from the data controls palette and create an ‘ADF Parameter Form’ so we can provide the filter value.

This will create ‘setsearchValue’ method binding in the pageDef. We also need to create a Execute operation of the parent View Object and call both operations from the ‘Filter’ button ActionListener.

This is how we should have the page.

If we run the application we can see the if we filter by ‘pat’ we just get values that contains that string.

If now we filter by ‘les’, we can see that we get values with ‘les’ string in both parent and child nodes.

PCS: Form rules in human tasks

In Oracle BPM it is possible to use Oracle ADF to implement Human Tasks, but in Oracle Process Cloud Service you can only create a form using web forms. Creating a form is an easy task and it offers us to define rules that it gives us a lot of flexibility to achieve complex requirements.

Having this simple form. We can navigate to rules clicking on the marked button.

For each of the elements we have a number of properties or events that we can manage,
For example we can manage form load event, or get if a field value is valid…

To build the rules we have to use JavaScript and we can get code snippets if we click on the button next to each of the properties.

Let’s build a couple of rules so you can see how easy it is.
Having this combo with this value.

We can build a rules that populates that combo and also add some kind of value change listener so if its value is “Spain” we can set the country code in Telephone field.

If we have any syntax errors, will be displayed in the bottom of the editor.

Once the error is fixed we can test the form clicking on the marked button.
We can see that the combo is now populated and if we select Spain, the country code is set.