Wednesday, 30 October 2013

ADF : VO Performance Increase:

VO Performance Increase:




1.    Mark VOs as insert only. This will avoid unnecessary select queries from being issued.
 
2.       2. Set VO in forward only mode which will prevent caching of previous sets of rows.

3.       3. Enable EO batch processing which reduces no of trips to database.

4.      4. Commit records at regular intervals.

5.   Set setListenToEntityEvents to false.




Through JAVA : The Same thing can be set using Java (Programatically)

VO Impl change

---------------------------------------------------------------
  voi.setListenToEntityEvents(false);
                    voi.setMaxFetchSize(0);
                    voi.setAccessMode(RowSet.FORWARD_ONLY);
                    if(voi.getViewDef() != null){
                        voi.getViewDef().setFetchMode(voi.FETCH_AS_NEEDED);
                        voi.getViewDef().setInheritPersonalizationStrValue("merge");
                    }

 EO Impl change

----------------------------------------------------------------
if(voi != null && voi.getViewDef() != null){
                        EntityReference[] er =  voi.getViewDef().getEntityUsages();
                        if(er != null){
                            for(EntityReference e:er){
                                   EntityDefImpl eoDefImpl = e.getEntityDef();
                                    if(eoDefImpl != null)
                                    eoDefImpl.setBatchThreshold(10);
                            }
                        }
                    }

NOTE: If Entity has BLOB/CLOB attributes then eoDefImpl.setBatchThreshold(10); will not work.

It starts giving different error like : RowAllreadyDeleteException .....etc.
MoreInfo: http://waslleysouza.com.br/en/2014/08/enabling-update-batching-in-adf/



Friday, 25 October 2013

ADF : Skin Selection

ADF : Skin Selection









ADF Security Implementation

ADF Security Implementation






It Creates the jazn-data.xml – to create user, roles and grants.

Define User
admin
normal



Define Role
admin – role
normal – role

Give Grants
1.       Page Level Security


1.       Field Level Security
#{securityContext.userInRole['staff']}







ADF : Oracle extended template use

oracle extended template


1.       Download the oracle extended template source code from http://www.oracle.com/technetwork/developer-tools/adf/uishell-093084.html
Use this link http://www.oracle.com/technetwork/developer-tools/adf/394631.zip. In the above site to download zip file.
2.       You will get like this in jdeveloper. Change according to your change.


1.       Take the jar file of this.


1.        Use it in SecondUI project library.







ADF : View Object - Operations

View Object - setCurrentRowWithKey

 https://blogs.oracle.com/shay/entry/selecting_a_row_in_a_table_to


Thursday, 24 October 2013

ADF Expression Use on JSPX

ADF Expression Use on JSPX


####################
My Requirement is i should disable the button if table rowcount is > = 500

Use -> #{bindings.MapView11.estimatedRowCount ge 500}  on Disabled property of button

########################IN JSPX ##########################

 <af:commandButton text="#{bindings.MapView11.estimatedRowCount}"
                          binding="#{backingBeanScope.backing_ObjectMain_ObjectFake_MapView.cb1}"
                          id="cb1" partialTriggers="tt1 tt2 t1"
                          disabled="#{bindings.MapView11.estimatedRowCount ge 500}"/>


ADF Working Flow

ADF Working Flow