Daily Archives Wednesday, May 2008

AppsLab FAQ: How Do I Start a Blog?

Here’s the second installment in my AppsLab FAQ series. The first was a huge success, 0 comments.
This installment focuses on another question I get asked a lot, “How do I start a blog?” or some variant. Typically, I answer with a question like “Why do you need a blog?” to get into the motivation behind [...]

ODTUG is just around the corner, I’ll be there

Coming up in a few weeks is the ODTUG Kaleidoscope 2008 event in New Orleans (June 15-19). I’ll be there to present a few sessions and, meet up with old friends and make new acquaintances as well. The location will be great (probably a bit warm and humid, though) and there will be much to [...]

Oracle RAC and Grid Q&A With The Experts

LewisC’s An Expert’s Guide To Oracle Technology

Q&A about RAC and Grid with the RAC Experts

I recently got the opportunity to sit down and talk to two RAC gurus and learn what RAC is and how it relates to Oracle’s Grid technology. Listen to

World’s Largest Database Runs on Postgres?

LewisC’s An Expert’s Guide To Oracle Technology

According to an article at Computerworld, Yahoo is running a 2 PB (not GB, not TB, PB - Petabyte) database that processes 24 billion events a day. Let’s put that in perspective. 24 billion events is 24,

Teaching data warehousing

One of my first tasks on joining Rittman Mead Consulting was to develop a new three-day course on data warehouse design.
A few weeks ago I had the opportunity to ‘road test’ some of the course content in a different presentation format; a tutorial-style workshop. Although I had a plan of the topics to be covered [...]

JDev 11gTP4 customising the DCErrorHandlerImpl class

As per section 27.8 of the JDev ADF Guide 11g for TP4, you’re allowed to customise the DCErrorHandlerImpl. This is done by creating your own customised handler class extending DCErrorHandlerImpl, than adding a reference in the ViewController’s DataBindings.cpx file.

An example class:

package view.controller.frameworkExtension;

import oracle.adf.model.binding.DCBindingContainer;
import oracle.adf.model.binding.DCErrorHandlerImpl;

class ErrorHandlerImpl extends DCErrorHandlerImpl {
  public ErrorHandlerImpl() { super(true); }

  @Override
  public void reportException(DCBindingContainer dCBindingContainer, Exception exception) {
    super.reportException(dCBindingContainer, exception);
  }
}

On opening the DataBindings.cpx file, selecting the DataBindings node in the structure window, then the ErrorHandlerClass property in the property inspector, and entering your custom package.class name (ie. view.controller.frameworkExtension.ErrorHandlerImpl), you may receive the following error in a dialog:

view.controller.frameworkExtension.ErrorHandlerImpl not an instance of oracle.adf.model.binding.DCErrorHandlerImpl

Or alternatively you may bypass the property inspector and enter the property in the DataBindings.cpx file, and at runtime receive the following Java error:

JBO-29000: Unexpected exception caught: java.lang.IllegalAccessException, msg=Class oracle.jbo.common.JBOClass can not access a member of class view.controller.frameworkExtension.ErrorHandlerImpl with modifiers “public”

The basic error here is being raised because your custom error handler class is not “public”. Simply change the class to be publically accessible, such as:

public class ErrorHandlerImpl extends DCErrorHandlerImpl {

If you’re interested on finding more help on JDeveloper errors, visit the wiki.oracle.com Understanding ADF Error Codes page.