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...
  • Oracle JDeveloper/ADF Developers Wanted
    In my current Oracle JDeveloper/ADF project we are searching for additional developers. Project is based on Oracle Fusion 11g, so it can be ...
  • 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...
  • Many-to-Many mapping in Oracle TopLink
    This kind of mapping in relational world is constructed using three tables. However, in object world only two classes are used for many-to-m...
  • Customizing Applications with MDS - Practical Overview
    During ODTUG Kaleidoscope 2008 , I was discussing with Shaun O'Brien (Principal Product Manager from Oracle Development Tools group) abo...
  • After UKOUG'08
    This week I was on UKOUG'08 conference. I really have enjoyed high quality of its content and I have learned new technical things about...
  • 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 ...
  • Multi-selection feature and ADF Faces af:table component
    In this post I will describe how to use multi-selection feature in ADF Faces. First of all I should say - multi-selection feature is fully s...
  • Hints for ADF 11g Application Credential and Policy Migration to Standalone WebLogic Servers
    Recently I was deploying our ADF 11g application on standalone WebLogic server. Deployment itself is straightforward, however it is little b...
  • Oracle Spatial and Network Data Model
    During this week, a student from university where I'm achieving my master degree - Vincent, have asked me how to create SDO network dat...

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