Skip to main content


Showing posts from February, 2013

Free Virtual Developer Day – Oracle Fusion Development

Free Virtual Developer Day – Oracle Fusion Development

Join a free online developer day where you can learn about the various components that make up the Oracle Fusion Development platform including ADF, ADF Mobile, Oracle WebCenter, Business Intelligence and more. Online seminars and hands-on labs available directly from your browser. Register now and join on March 5th.

Interested in getting hands-on with Oracle ADF?  Join virtual event for EMEA on 5 March

EMEA Developers? Free virtual event Tues, Mar 5 #Oracle ADF & Fusion Development. Live chats w/ tech staff

Speak to #Oracle experts about Mobile Application Development with #ADF Mobile. Free virtual event 5 Mar

Why af:autoSuggestBehavior fails for input component with immediate=true ?

Sharing a point that I learned today. Thanks to my colleague Srinathreddy(who owns LOV) for this tip. Quoting him:
The af:autoSuggestBehavior tag will not work as you are expecting when it is used with input component whose immediate property is set to true. When immedaite is set to true on the editable input components, the validation happens during the Apply Request Values phase and this is the same phase in which the autoSuggest event is also processed. If there is a validation failure (there is good chance for validation failure here because mostly user enters only a partial text expecting an 'auto suggest' ) the autoSuggest popup will not be shown.

Securing Your ADF Applications Using Apache Shiro (Java Security Framework)

In case if you are using ADF Essential(free version of Oracle ADF) for building applications, or if you want to make you application portable across multiple application servers(certified as well as non certified), you may need to compromise on using certain non portable pieces from the ADF stack(security, MDS etc). In such cases, for security related things you may end up in using JAAS or some custom Java security frameworks. In this post I'm sharing some tips on using a really cool Java security framework known as Apache Shiro. The thing that I personally liked is its usability aspects- its very flexible and easy to use. Let us see how Shiro can be used for securing an ADF application.

A note of thanks... 
I would not have tried Apache Shiro unless I had seen the following blog post while googling for Java security frameworks A well written article. So the credit goes to Bauke Scholtz(BalusC) who wrot…

Customizing the SQL Builder Class

Sometimes you might want to add some special treatment for specific types when framework generates JDBC statements for Create, Read, Update or Delete. ADF let you to add your own custom SQL builder class for an application module through jbo.SQLBuilderClass parameter that you configure in bc4j.xcfg file. To do so, you must set jbo.SQLBuilder="Custom" and then specify fully qualified name of your class as parameter to jbo.SQLBuilderClass in bc4j.xcfg file. Hers is an example:

<AppModuleConfig DeployPlatform="LOCAL" jbo.project="model.demo.DemoModel" name="AppModuleAMLocal" ApplicationName="model.demo.AppModuleAM"> <Database jbo.SQLBuilder="Custom" jbo.SQLBuilderClass="framework.bc.extension.OracleSQLBuilderImplEx" jbo.locking.mode="optimistic"/> <Security AppModuleJndiName="model.demo.AppModuleAM"/> <Cust…

Using XMLTYPE with ADF Business Components

What is XMLType ?

From the official Oracle documentation:

XMLType is a system-defined opaque type for handling XML data. It has predefined member functions on it to extract XML nodes and fragments.You can create columns of XMLType and insert XML documents into it. You can also generate XML documents as XMLType instances dynamically using the SYS_XMLGEN and SYS_XMLAGG SQL functions.

In nutshell, you can use XMLType data type, to facilitate native handling of XML data in the database.  More details about XMLType  can be found here:


In this post, I'm sharing a sample ADF application that reads and updates a database table with XMLTYPE  column type.  My primary objective was to enable the support  for XMLTYPE in ADF business components in pure 'Java' way.  Let me make it more clear. If you have used  Hibernate before, you might have noticed the org.hibernate.usertype.UserType  which will hel…