JDeveloper Bug and Workaround – Wrong Instance Name for Method Action Binding

After upgrade to JDeveloper I have noticed issue related to Method Action binding instance name. This is not ADF bug, but JDeveloper bug. JDeveloper sets incorrect name for Method Action binding instance name.

If you are going to create custom method in VO/AM and expose it through interface to be called in bindings layer - there will be similar error as below on runtime:

Source of this (more...)

BPM Worklist API and Custom ADF Application

I have updated my sample app with BPM API usage in ADF application to Originally this was developed with ADF/BPM - Dynamic ADF Buttons Solution for Oracle BPM Outcomes. There are several changes in BPM libraries usage. I will describe it all step by step.

Download sample application - adfbpm12211.zip. This archive contains both BPM and ADF app. BPM process implements two roles - request holiday (more...)

OOW16: What is new in ADF

| Sep 23, 2016
It was not hard to find the ADF sessions this year at Open World, mainly because there was really only one session, Shay his session about new features in JDeveloper & ADF. It was worth seeing who would show op in the room and to be honest, it was quite crowded for an ADF session. 

JDeveloper came out in June 2016, however, this new JDeveloper is only a Patch (more...)

Dynamic Flying Dashboard UI in ADF

I took my old sample application implemented in 2010 - Dynamic Flying Dashboard UI Shell and upgraded it to recent ADF It runs pretty well, without major changes - this proves ADF migration between releases can be smooth (well, not always in practice - but let's be positive).

I have recorded gif to give you an impression how it runs and how UI switch works in ADF UI panel dashboard component:


Workaround for ADF Match Media Behavior Tag

If you run ADF application with adaptive UI implemented by af:matchMediaBehavior tag (ADF 12.2.1 Responsive UI Improvements), most likely you will face Null Pointer Exception in Match Media Behavior tag class. Apparently af:matchMediaBehavior tag expects default value to be set on UI component. If default value is not set explicitly, it fails to read it and generates exception (this was not the case in ADF 12.2. (more...)

Generic BigDecimal Formatter in ADF

I have implemented couple of improvements for BigDecimal formatter based on ADF Originally formatter was implemented and described in this post - Handling Format for BigDecimal Numbers in ADF BC. New improvements: option to support trailing zeros and disabling number rounding.

1. Support for trailing zeros

If you type number 3000.10, BigDecimal type attribute will keep it as 3000.10. But in database it will be saved without trailing zero (more...)

JDeveloper Shortcut Keys: Go To File

| Aug 23, 2016
I have been noticing that a lot of developers are either struggling with finding files in JDeveloper or taking a long time to open all the packages and browsing to the files. However, JDeveloper has a lot of shortcut keys that come in handy.

First of, a shortcut key to 'Go To Java Type', I think most developers know this one. It is the 'ctrl' + '-' on windows or '⌘' + 'J' on mac, (more...)

Set all WebLogic log levels to “Inherit” via WLST

Logging is a very useful feature of WebLogic.

Unfortunately the log levels, which are set after a clean install of WebLogic or some of the Fusion Middleware product creates a lot of noise and therefore it costs I/O performance.

Additional after analyzing an issue with logging often resetting the log level is forgotten.

Here you get a script to reset the log levels at regular intervals or after a trace session.


How To Control Row Removal in ADF BC

There is a flaw in ADF BC remove operation. Row could be successfully removed in ADF BC - it dissapears from UI as well, but if there is DB integrity constraint violation - row is not removed in DB and error message is displayed to the user. This could be misleading to the user, he sees message about failed removal, but at the same time row is not present anymore.

Easier to explain with example. (more...)

UKOUG Slides – Forms, ADF and JET a Non-Aggression Pact

Florin Marcus was presenting topic on Forms modernization during UKOUG Development SIG seminar in London. Session was based on our production experience from recent Forms modernization project to ADF 12c and Alta UI.


- Who integrates Forms and ADF?

- Java Plugin to be Discontinued. Consequences for Oracle Forms.

- Why Yet Another Web Framework? Oracle JET.

- Forms and ADF and JET - Business Integration Patterns

- Forms Developer's perspective: life after learning (more...)

#DBADev (Ops), who knows what is going on…

I have been considering writing this article for quite some time now.
APEX Connect 2016 in Germany’s capital Berlin and the DOAG Database days have finally persuaded me to talk more about #DBADev, let me explain why…

Whenever in the stone age…

During my career as DBA, I was always working closely together with Oracle Forms & Reports developers. In retrospect, the cooperation in that time was remarkable.
These Forms & Reports developers had always (more...)

#Javaland 2016 conference day 2


This was my second day:

Michael Tamm (optivo GmbH): Feature Toggles on Steroids

Very good summary off all topic’s covering feature toggles. Wish I had this summary 2 years before, were we have evaluated this. Unfortunately furthermore no solutions for declarative frameworks like Oracle ADF with it’s wizards and xml configurations, which later generated code. Ironic answer to my question: “Don’t use frameworks – use Java”

Alexander Casall (Saxonia Systems AG): User Experience for techies

Now (more...)

#Javaland 2016 conference day 1

This year I have decided to give the Javaland conference a try. I’m not a java professional, but in the program was listed a lot of interesting testing presentations, so my company booked for me.

The location in Phantasierend Brühl near cologne was very fine. Unfortunately the conference rooms had not enough space this year so for some presentation you have to go to 2 rooms outside of the parc. Additionally it is not understandable, why (more...)

Why GUI sucks…

Of course we all know GUI stands for Graphical User Interface, just as CLI stands for Command Line Interface, right!
Or, rather, a GUI is this nice, flashy screen where you can easily roam with your mouse, comparable to a multiple choice quiz, where the right answer is there for the picking.
A CLI on the other hand is this dark, mysterious blinking cursor… Nothing happens unless you know more or less what (more...)

OOW15: New features in ADF 12.2.1

The whole stack of Fusion Middleware 12c  was launched just before open world. This means there is also a new, cooler and better version of Oracle Application Development Framework (ADF) out! It was not too hard to follow all the session about ADF on open world this year, there were not that many to begin with. 

So what is new? To start with, the infrastructure, we can now use JDK 8 in ADF and (more...)

OOW15: Announcing Oracle JET

This is the first blog in a series about Oracle Open World 2015 (OOW15), it focuses on the release of the Oracle JavaScript Extension Toolkit (Oracle JET). This was one of the big announcements this week in San Francisco. Oracle now has a JavaScript toolkit to create and build responsive websites.

One of the most heard questions is what is the different from Oracle JET with Oracle ADF? Will the one replace the other? Or (more...)

Mastering Oracle ADF Bindings: Advanced Techniques

My Oracle OpenWorld presentation “Mastering Oracle ADF Bindings: Advanced Techniques” is now available for download from the OpenWorld web site. In this presentation, I talk about

  • Reading the Bindings tab
  • Bindings in the ADF lifecycle
  • Working programmatically with bindings
  • Getting the binding from a component
  • Working with dynamic bindings
  • Creating a binding programmatically

If you are interested in creating bindings programmatically, you should read Eugene Fedorenko’s blog post on this. He also makes (more...)

UKOUG Tech 14 in Liverpool

I’ll be going to the UKOUG Tech 14 conference in Liverpool in December to give one of my favorite presentations: “APEX or ADF? From Requirements to Tool Choice”. I’m also leading the Development Tools roundtable, which is always lively at the UKOUG conference. If you want to discuss your options as a developer in the Oracle world, UKOUG Tech 14 is the place to be.

APEX or ADF? From Requirements to Tool Choice
APEX or (more...)

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

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 ;-)