Posts

Programmatically publishing Contextual Events

ADF task flows provide modularity to the web applications. Bounded task flows are really useful while realizing business use cases, which may repeats across application(s). Please refer Fusion Developer's Guide if you want to know more about this topic. Bounded task flows are added to the page as regions. It is very common that one region may need to communicate with other regions. This is accomplished by Contextual Events. To know more about Contextual Events, please refer Creating Contextual Events . There are scenarios where task flows may need to raise the Contextual Events based on complex business conditions. Declarative event handling mechanism might not be sufficient in this case. Now the question is how to raise 'Contextual Events' programmatically from backing bean? Let me try summarizing the steps below. Please refer the Fusion Developer's Guide for detailed explanation on creation of Contextual Event. 1. Create the Producer (Payload) Method 2. Bind the Prod...

Target Unreachable, identifier row resolved to null !

Image
SEVERE: Server Exception during PPR, #1 javax.el.PropertyNotFoundException: Target Unreachable, identifier 'row' resolved to null at com.sun.el.parser.AstValue.getTarget(AstValue.java:xx) at com.sun.el.parser.AstValue.isReadOnly(AstValue.java:xxx) at com.sun.el.ValueExpressionImpl.isReadOnly(ValueExpressionImpl.java:xxx) at Have you ever seen the above exception while running the web application built on ADF? Apparently, this exception doesn’t communicate much on the root cause and noticed that developers search in dark to find a solution. This article discusses couple of possible reasons for this error. Incorrect Key definition for ViewOject Consider the classic Employee - Department example. Below diagram shows the association between Employee and Department . Please note that Emp has Empno as Primary Key(PK) defined and Dept has Deptno as Primary Key. Let us try visualizing User Interface for Employee. An Employee can belong to a specific Department. So let us try de...

A detailed look at Binding Model Parameter Options (NDOption)

Image
ADF binding layer has been always a pleasant surprise for me. I have not seen such a 'rich glue layer' in any other frameworks. While wiring the business service methods with UI Components , developers can opt for specific 'Parameter Options' . These options would decide how the binding container should assign the value to the parameter(s) at runtime. This article discusses the significance of the Binding Model Parameters Options and their proper usage. Please note that Binding Model Parameters Option is termed as NDOption in your page definition file. Where can I see Binding Model Parameter Options? To answer this question let us start building an application and see where we really use this in real life. Follow the steps given below. 1. Here, I assume that you already have one Fusion Web Application in place, with Application Module defined. Please refer Fusion Developer's Guide for Oracle Application Development Framework in case you are not familiar with buildi...

ADF Business Components With MySQL

Image
Most of the application built on Oracle ADF uses Oracle RDBMS as Database. The driving factor here is to leverage the feature richness of Oracle DB. Does it mean ADF is tightly coupled with Oracle DB? Answer is NO, ADF can be well integrated with other databases as well. Small to medium size applications can live even with some light weight databases and they may not require the sophisticated features provided by Oracle DB. MySQL appears to be more popular among the community now a days. There are quite a lot articles on using ADF with MySQL. But it seems that most of them are outdated or rather ADF improves at lightening speed. This article can be considered as an extension of How To Use ADF Business Components with MySQL OK, had enough theory ,now into action. Setup the basic infrastructure JDeveloper discussed in this article is based on version 11.1.1.1.0 and MySQL is 5.x or higher. Apparently, JDeveloper is not packaged with JDBC driver library for MySQL. So let us...