Domain Portal

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Sunday, 6 January 2008

Hints for List-Of-Values (LOV) in JDeveloper 11g TP3

Posted on 01:19 by Unknown
Recently I was experimenting with LOV component provided by JDeveloper 11g Technology Preview 3. What I can say - if you are planning to use this component with current JDeveloper 11g TP3, you definitely will face some issues. However, in this post I will describe two workarounds I found, hopefully this will be helpful until next JDeveloper 11g Technology Preview will be released.

Sample application - LOV11.zip is based on two problems and implements workarounds I have described in OTN forum. I will describe those two problems and workarounds I found.

1. LOV with Read-Only View object (Server Exception during PPR, #1)

First problem I faced was Server Exception during PPR error. This exception was generated right after some value in LOV was selected and OK button was pressed. So, in other words LOV wasn't working:


LOV component was based on Read-Only View object, I have created this View object separately - with New View Object... wizard.


However, when I have tested Model layer with Oracle Business Components Browser everything was working fine. So, LOV wasn't working in ADF Faces Rich Client, but was working when testing Model layer. I decided to create new Read-Only View object with Business Components from Tables wizard and to test it with LOV component - it was working. I have compared two Read-Only View objects and noticed that there was only one difference - Key Attribute wasn't set for View object generated with New View Object... wizard:


I have set Key Attribute in JobsLovView, and LOV started to work as it should work. But, I have faced other issue - incorrect behavior in Create form.

2. LOV issue in Create form with Mandatory fields

Let's say we have Create form, all fields in Create form are empty and some fields are indicated as mandatory ones:


Everything seems clear and correct, but when user will try to set value from LOV component - validation errors will be generated. Validation errors for all empty mandatory fields, you should agree this is quite strange behavior - it's impossible to use LOV component until other mandatory fields are empty. LOV component is opened, but when value is selected and submit button is pressed, similar screen is shown:


Problem is described, but how to solve it? One solution is to wait for next JDeveloper 11g Technology Preview release, other solution is to find workaround. My suggested workaround is to remove standard ADF Business Components validation for mandatory fields and implement custom validation. Also, its even possible not to implement custom validation in ADF, in this case validation will be done on database side.

In this post I will describe how to implement custom validation in ADF. First, deselect all Mandatory fields, available in Create form where LOV components are used:


In Create form, set for all mandatory fields, ShowRequired property to true. This will inform user about required fields in the form:


Custom validation will be done, when user will try to submit form data into database. So, we can create Action method for Save button and check all required values there:


Custom validation code in saveButton_action() method is straightforward:


Sample application implements both described workarounds. Value in LOV component can be successfully selected and returned into Create form:


Value in LOV component is selected and data in other fields is provided also, data in Create form is ready to be submitted into database:


We can test, how implemented custom validation works. Let's say value in Email field is removed and Save button is pressed - validation logic in Backing bean catches this and prints error message:

Email ThisBlogThis!Share to XShare to Facebook
Posted in ADF, JDeveloper 11g | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Groovy - Multiple LOV's per Attribute in JDeveloper 11g
    I was blogging previously about multiple LOV's per attribute functionality. I was using RowImpl class for View object in order to calcu...
  • External Transaction Service in Oracle TopLink
    I have developed sample application, in order to demonstrate how to use External Transaction Service (ETS), when Oracle TopLink is used in M...
  • Workaround for Null Value Bug in ADF List Of Values 11g
    Those of you, who are using List Of Values (LOV) component in ADF 11g, most probably already have noticed bug related to Null value. Simple ...
  • Trip to US
    I'm in US this week, Connecticut. Here is the same weather as in Lithuania, it's winter with about -5 degrees in Celsius.
  • Oracle ADF - between 4GL and J2EE is only one step
    According to ADF architecture described in Oracle JDeveloper 10g (10.1.3) Developer's Guide Section 1.1.1 - Framework Architecture and S...
  • Creating new row using CreateInsert operation
    Sample application - CreateInsert.zip , demonstrates how to create editable table with 'create new row' functionality in ADF BC. We ...
  • Show Buttons based on Disclosed Tab
    In 11g it becomes quite common use case to structure application page with tabbed panels. If you develop your pages based on templates, most...
  • Multilanguage in fixed af:selectOneChoice ADF Faces component
    If someone will face a problem how to enable multilanguage support in fixed af:selectOneChoice component, or simply how to bind fixed af:sel...
  • JDeveloper 11g on Mac OS X Leopard
    I'm using Apple Mac Book Pro for about half of a year, but shame for me all this time I was running Windows OS using Apple Boot Camp so...
  • Why I'm here?
    Oracle for me is more then technology, it is a way how I think. So, I'm creating this blog in order to express my knowledge in Oracle Fu...

Categories

  • ADF
  • Apex
  • Apple
  • BPEL
  • Events
  • Forms
  • Groovy
  • JDeveloper 11g
  • Nomination
  • ODTUG Kaleidoscope
  • OFUG
  • Oracle Magazine
  • Oracle OpenWorld
  • Security
  • SOA
  • Spatial
  • TopLink
  • Traveling
  • Uncategorized
  • Vgo Software
  • Web Services
  • WebCenter
  • WebLogic
  • Workarounds

Blog Archive

  • ▼  2008 (72)
    • ►  December (2)
    • ►  November (3)
    • ►  October (9)
    • ►  September (4)
    • ►  August (9)
    • ►  July (6)
    • ►  June (10)
    • ►  May (4)
    • ►  April (5)
    • ►  March (7)
    • ►  February (5)
    • ▼  January (8)
      • Athens - Warm and Friendly City
      • Using af:popup Component in JDeveloper 11g
      • Trip to US
      • Oracle to acquire BEA
      • ODTUG Kaleidoscope '08 - Abstract Accepted
      • Complex Calculated Values in Oracle ADF af:table C...
      • Hints for List-Of-Values (LOV) in JDeveloper 11g TP3
      • Complex List-Of-Values (LOV) in Oracle ADF
  • ►  2007 (65)
    • ►  December (6)
    • ►  November (7)
    • ►  October (6)
    • ►  September (4)
    • ►  August (3)
    • ►  July (4)
    • ►  June (6)
    • ►  May (5)
    • ►  April (6)
    • ►  March (4)
    • ►  February (5)
    • ►  January (9)
  • ►  2006 (9)
    • ►  December (9)
Powered by Blogger.

About Me

Unknown
View my complete profile