Skip to main content

Posts

Showing posts from January, 2014

Show Page Loader (Progress) when Page Busy, Delay (Long Execution Time).

As we know some actions can take long time to return back the response, in this case the user may do not know what happens at this time, so we need to show or display some indicators that reflect these delays or executions to the user. To get start we need to know some  JavaScript . Inside the target page add popup component and design your own style as you need, I prefer use animated image to reflect the real functionality of loader. Now you need to add the following script inside your page using  <af:resources>  tag, this script will open the popup by id, the yellow color in the images show that. Inside the page add command button to execute your action, this button contains  <af:clientListener>  component  to invoke function in the JavaScript when start executing the action. Button will be execute run method and open popup by invoking JavaScript function. To show the loader we need to make page delay, for test I will use the following code, 

Display Editable Row on Table or Form as Read Only.

Some times we need to apply some logic on our business , today we will talk about how we can display editable row based on entity object as a read only just when our conditions appear. For example if we need to display editable row as read only when employee salary greater than 15000$. To do that we need to override  isAttributeUpdateable( ) inside the EntityObjectImpl class. Then we need to add business logic inside this method, in our example business logic will be : As you will see if the method return true then the row is editable, else if the method return false then the row is read only, Now run your application module or page to do the test : Employee Salary = 17000, Condition result = true. Employee Salary = 9000,  Condition result = false. Also in the page you can see the first three rows is read only based on employee salary : Employee Salary in the first three rows is (24000, 17000, 17000)   You can download the sample from here -  Display Ed

Using Database Sequence in ADF BC.

You can use database sequence in ADF BC in different ways and I will explain some of these ways. 1 - Override Create() method in the entity object :   t his solution depends on create operation, mean when you create new row then the database sequence generate new value, in the entity object select java, then click on edit icon ,  and check  Create Method . Now inside the  EntityObjectImpl  go to the  create()  method and add the following code,  make sure your key attribute data type is  compatible  with sequence return value. 2 - Using Groovy Expression :  in this way we need to set the key attribute  with   default value and this value will be expression, this expression will get the sequence value from database sequence, make sure to pick Expression choice. The expression value will be like  Also you can write your own method that call database sequence inside the  EntityObjectImpl  and call it using groovy expression, but you make sure your method return