Using Bean Validation in Oracle ADF

Oracle ADF version 12c runs on JEE6 container Weblogic 12c.  ADF Faces 12c (current version 12.1.2) is based on Java Server Faces 2.1 standard. Version 2 of JSF introduced support for Bean Validation , as described in  JSF specification ( Chapter 2.5.7). To summarize: it basically states,  that java bean properties , annotated with Bean Validation constraints, are going to be validated

Slides for my german presentation “Quality Assurance for ADF projects” available

I have presented today on DOAG Development 2014 in Dusseldorf. For all non DOAG members – you can find the german presentation on slideshare too.


Filed under: Quality Assurances Tagged: 11g, 12c, acceptance test, ADF, Checkstyle, code coverage, commit test, Continous Integration, FindBugs, gui test, JaCoCo, JDeveloper, Jenkins, JUnit, Mockito, PMD, Powermock, Static Code Analysis, unit test

Announcement: ADF EMG XML DataControl

During the ADF community event at AMIS Services last Thursday (22 may 2014), Wilfred and myself announced a new upcoming open source project, named XML DataControl.

On the AMIS Live blog there was a good summary about the functionality of the XML DataControl:
The XML Data Control is an ADF Data Control that is used by developers to create data bindings in ADF Faces pages, just like the ADF BC Data Control and the (more...)

Quality Assurance for ADF projects

If you speak german and you are interested in quality assurance for your ADF projects you should come and attend my presentation at DOAG Development on 06/04/2014 in Dusseldorf.

I will show you, how you can implement in the JDeveloper IDE and in Continous Integration server Jenkins:

  • static code analysis with PMD, FindBugs and Checkstyle
  • Task’s
  • Commit tests with JUnit, Mockito and Powermock for Mockito
  • Code coverage for commit tests with JaCoCo
  • Acceptance tests with JUnit (more...)

New release of the ADF EMG Audit Rules

There is a new release of the ADF EMG Audit Rules extension. With this release there is now support for both JDeveloper11R1 and JDeveloper12c. However, remember that JDeverlop11g does not support the suppression of violations, so this may lead to a lot of violation on existing projects.
Remember that you can define a custom profile in the Audit tab under preferences to unselect certain rules, but off course it is better to look at the (more...)

ADF Book Bundle – get one free!

Packt Publishing has a “buy one, get two” offer that runs until Wednesday. If you don’t have my ADF books, this would be a great opportunity to buy my new book Oracle ADF Enterprise Application Development – Made Simple: Second Edition and get a free copy of Developing Web Applications with Oracle ADF Essentials (or the other way around ;-)

What I learned from the UX Event

Last Tuesday, March 18, there was an UX Event organized by AMIS Services together with the Oracle Applications User Experience Team. Between noon and 8 p.m. I visited a total of 13 sessions, 3 demonstrations and had a lot of great discussions, overall a great day and amazing event.

I picked up various things, from small tips and tricks to big lessons. Instead of keeping my notes to myself, I will try to give (more...)

Web.xml parameter Default Dimensions

In a previous post, I explained how you can use the property 'autoHeightRows' to stretch a table. This is mainly useful in JDeveloper 11g, because in JDeveloper12c the stretching of tables is a lot better.

The main reason for this is that JDeveloper 12c sets the context-parameter Default Dimensions to 'auto' in the web.xml file:

The default value of this property (if not set) is not (more...)

The Long Tail of Application Usage

A long tail is a distribution of some data point where a few data point have a high value, but most of the data points have a much lower value. When sorting the data points by value, there will be a large “head” and a long “tail”.

Application usage displays the “long tail” characteristic: A few screens are used much more than others.

Long tail of app usage

If you are re-developing your application, for example moving from Oracle Forms (more...)

Start an incognito browser from JDeveloper

In web development, a lot of times you want to avoid your browser caching messing up different sessions. Luckily most browser have some sort of an incognito modus now a days. I myself use Google Chrome the most while developing in ADF.

There is a command line start up parameter to start Google Chrome in incognito modus, a great feature in JDeveloper is that you can set these command line parameters.
If you navigate to (more...)

New publication for Oracle professionals

OTech Magazine Winter 2014If you are working with Oracle software as a developer, DBA or application server administrator, you should read the new OTech Magazine.

The Winter 2014 issue is almost a book: 136 pages of high-quality technology articles by some of the leading experts in their respective fields.  My contribution is the article “From Requirements to Tool Choice” about how to choose the right Oracle development tools (ADF, APEX, or Forms).

And did I mention it (more...)

The Sorcerer’s Apprentice

The first issue of my ADF Mastery newsletter has just been published (sign up here if you missed it). In this issue, I discuss Oracle ADF skill levels.

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.

Gerald Weinberg, Weinberg’s Second Law

Too many programmers simply Google for a code snippet that seems like it might solve the problem at hand, and use it (more...)

Dynamic table height with the autoHeightRows property

Our use case was to have a table displaying data, with under this table some content. The content needed to be directly under the last table row. In ADF 12c this goes a lot better, but in ADF 11g, the table takes up some default space. 

I recreated this on a HR example application: 

ADF has a cool feature which can help in situations like this, it’s called ‘autoHeightRows’.  In the documentation of the (more...)

Index page for Audit Rules

Over the last few weeks, I gathered and produced more and more info about Audit Rules, JDeveloper Extension Projects and other stuff related to creating Audit Rules.
I thought it might be wise to create some sort of an index page to refer to all these blogs, guides, articles and (more...)

ADF Meetup in Copenhagen January 7

I’m establishing an ADF community here in Denmark (primarily Copenhagen) where we can meet face to face and discuss our ADF projects and challenges across companies and projects. The next meeting is on January 7 – please sign up here:

Extra Christmas Present?

In 2014, I’ll be sending out a monthly ADF newsletter to help you on your way towards mastering ADF. If you sign up for the newsletter before Christmas, you’ll be entered into the drawing for a copy of my latest book “Developing Web Applications with Oracle ADF Essentials”. Sign up (more...)

Webservice interaction patterns – part 2 – Synchronous Webservice call timeouts

Goal: For reasons of performance and more importantly, good user experience, he client application (ADF) should be able to timeout gracefully instead of hanging indefinitely (and/or potentially causing STUCK threads on the ADF server) when invoking an external 'synchronous' web service.

At runtime
When I run the application,
If I (more...)

ADF EMG Audit Rules 1.0 Released

Today at the UKOUG I showed a new plug-in for JDeveloper 12c together with Wilfred, the ADF EMG Audit Rules. You can find it through JDevelopers Check for Updates in the Help menu. This plug-in is a starting point for creating rules out of the code guidelines document you (more...)

Installing ADF on Red Hat 6

Here is my experiences with installing ADF on Red Hat 6 (64-bit) using Java 7.

FMW releases are big and complicated. Between the main FMW releases, Oracle release some products on separate “branches”. This is to fast track new features.

ADF 11g Release 2 is such a fast track product. The latest ADF 11g release 1 version is and the latest release 2 is 11.1. (more...)

Easy way to display ADF version for FMW installations

Extra from jar files

# FMW 12.1.2
[oracle@wintermute ~]$ cd /u01/app/oracle/product/adf12c/oracle_common
[oracle@wintermute oracle_common]$ unzip -p modules/oracle.adf.share_12.1.2/adf-share-support.jar | tr '[\000-\011\013-\037\177-\377]' '.'  | grep "JDEVADF"

Oracle-Label: JDEVADF_12.
Oracle-Label-JDEVADF: JDEVADF_12.

[oracle@wintermute ~]$ cd /u01/app/oracle/product/osb111/oracle_common
[oracle@wintermute oracle_common]$ unzip -p modules/oracle.adf.share_11.1.1/adf-share-support.jar | tr '[\000-\011\013-\037\177-\377]' '.'  | grep JDEVADF