Monthly Archives: May 2010

Mission Accomplished within Oracle!!


Finally.. I have reached this point.. all out of frustrations.. 🙂

They.. still point the finger at me… again

I started this from December 2009(last 6 months was awesome)

setting uniqueid for the attributes


At design time, Fusion Middleware extensions provide the ability to identify if an entity attribute needs a globally Unique ID. This is accomplished by setting Application Unique ID to true in the entity attribute’s Property Inspector

oracle.jbo.server.uniqueid.UniqueIdHelper.getUniqueId(adf.object.unwrapObject());

Increase the minimum/maximum heap size of Jdeveloper


To change the values for minimum and maximum Java heap, modify the corresponding parameters in $JDEV_HOME/ide/bin/ide.conf

Other parameters can be set in $JDEV_HOME/jdev/bin/jdev.conf

What is Fusion and what are we doing


Fusion as the name describes is the collective integration of best of breed softwares to simplify business needs. The revolutionary dream of Oracle claims to change the way we see business applications.
Some of the key technologies included are

UI Technology – ADF UI, ADF DI, ADF Mobile, DVT

Model Technology – Toplink, EJB

Backend Technology – Oracle Database, Essbase

Orchestration – Oracle BPEL Process Manager, SOA

Secuirty – Oracle Platform Secuirty Services,OPSS

Server – Oracle Weblogic Server

Customization – Oracle Metadata Services MDS

Aditional Technology – Oracle Enterprise Scheduler Services ESS, Oracle Business Rules OBR, Oracle Data Integrator ODI

and many more technologies from acquired products.

Javascript code to fire the event


The following function can be called using the af:clientListener on any event

function showMenu(event){
 var adfRichMenu = event.getSource();
 adfRichMenu.getPeer().show(null,true);

}

Difference between commandToolBarbutton and commandButton


Ever wonder what is the difference between a commandToolBarButton and the commandButton

here it goes

CommandToolBarButton – partialSubmit – Default Value: true
whether the action should be done through a partial page submit or not. The default is true for commandToolBarButton, so be sure to specify partialTriggers if content needs to be updated.

CommandButton – partialSubmit – Default Value: false
whether the action should be done through a partial page submit or not. Default is false: no partial page submit; the full page will be refreshed. When set to true, the full page will not be refreshed. To re-render specific components on your page in response to the partial page submit, you have to tell ADF Faces. The easiest way to do this is with the partialTriggers attribute.

solving ws/common/contextProvider error


Adding the web service data control library to the project will kick this error out

Placeholder Datacontrol


There are two types of development in ADF development using jdeveloper. ui-first approach and data-first approach.

ui-first approach – design the UI first and then the data

data-first approach – design the data first and then design the UI accordingly.

In the first approach, we are sure that its very hard to design a real-time web application without some data. For this purpose adf provides a placeholder datacontrol using which we can design the page accordingly. The placeholder datacontrol is a simulation of actual data control in realtime scenario and we have full options to design the page without the actual data using this.

To start with,

In the Application Navigator, right-click the project and choose New

In the New Gallery, expand Business Tier, select Data Controls and then Placeholder Data Control, and click OK

Enter the values for place holder name, Directory name, Description and click ok

Datacontrol.dcx, adfm.xml, placeHolder.xml file gets created

Now, right-click the created datacontrol in the panel and select ‘Create Placeholder data type

create the attributes and click ok

The created datacontrol is exposed in the panel like a normal datacontrol

The attributes that are exposed can be dragged and dropped to the page as usual

Scroll to specific row in a table on pageload


Following code will help you to scroll to a specific row in a af:table on page load.

//Code to scroll to a specific row
this.tableBinding.setRowIndex(rowIndex);
RowKeySet ps = this.tableBinding.getSelectedRowKeys();
ps.clear();
ps.add(this.tableBinding.getRowKey());
AdfFacesContext.getCurrentInstance().addPartialTarget(this.tableBinding);

Also set the displayRow=selected for the table

How normal jar library is different from ADF Library?


Whenever you create a deployment profile for the model project in ADF you will select the ADF Library type rather an ordinary library type (java jar type)

Both act as a library archive supporting jar and zip files

What is the difference then?

  • ADF library differ in a way that it behaves. It has the uniqueness of automatically pulling in the dependent jar files that is referred by any of the files and written in to the manifest files. The dependent libraries that are needed at runtime is pulled n by Jdeveloper as secondary imports.
  • The library exposes the meta data files likes task flows allowing the user to drag and drop in their files as dependent files which normal jar will not expose and support. The dropped taskflow will be added as a region in the page.