What's New in This Guide for Release 12c (

The following topics introduce the new and changed features of Oracle JDeveloper and Oracle Application Development Framework (Oracle ADF) and other significant changes, which are described in this guide. This document in previous JDeveloper releases had been titled Fusion Developer's Guide for Oracle Application Development Framework.

New and Changed Features for Release 12c (

Oracle Fusion Middleware Release 12c ( of Oracle JDeveloper and Oracle Application Development Framework (Oracle ADF) includes the following new and changed development features, which are described in this guide.

  • ADF REST Framework Runtime and Design Time

    • New runtime support for REST resources is provided with the addition of four new ADF REST framework versions. By declaring a default framework version to process requests, the REST application developer may opt into the features introduced by a specific ADF REST framework. The default ADF REST framework version is defined by the application in the adf-config.xml file. In JDeveloper release, framework versions 4, 5, 6, and 7 were added to existing versions 1 through 3.
      • Versions 4 and later enables exception details to appear in the response when the ADF REST request is made for either application/vnd.oracle.adf.error+json or application/json media types. See Obtaining an Exception Payload Error Response.
      • Versions 5 and later supports filtering resources by using a row match finder to access nested LOV resources, for example: /rest/v1/Cities?finder=ByState;name='California'. Starting with this version, row context LOV URLs are no longer returned in the payload or in the describe. Only LOV resource URLs that point to top-level resources are described and included in payloads. See Retrieving LOV-Enabled Attribute Values with Framework Version 5 and Later.

      • Versions 6 and later makes it easier to differentiate between resource fields and item context information, such as links and headers. A new element @context is introduced in this version and all the information for an item is moved under @context. Version 6 also supports obtaining warning details in the response. See Fetching a Resource with Grouped Context Information and Obtaining Warning Messages in the Payload Response.

      • Version 7 (latest version in release supports top-level LOVs, and removes row-level LOV resource descriptions in the ADF REST describe and removes LOV links from the resource item payload links section. Earlier framework versions support LOV in a context of a row in the REST resource. See What You May Need to Know About Versioning the ADF REST Framework.

      For an overview of the features introduced by all available framework versions, see What You May Need to Know About Versioning the ADF REST Framework.
    • A variety of new ways to limit the ADF REST resource catalog describe are available. The catalog describe can now be obtained by retrieving only minimal details (a minimal describe), or by retrieving based on resource visibility—private, public, or both (as specified on the resource at design time), or by retrieving parent resources and optionally excluding or including nested, child resources. See Retrieving the ADF REST Catalog Describe.

    • A variety of new ways to describe ADF REST resources are available. The resource describe can now be obtained by retrieving two or more named resources, by using parameters filters or partialDescription to limit the resource describe, and by retrieving resources based on ETag values as assigned by the web server to identify specific versions of a resource. See Retrieving the ADF REST Resource Describe.

    • The ADF REST resource describe now identifies whether or not an attribute is mandatory using the property “mandatory”. The “mandatory” property in the resource describe is based on the view object attribute metadata specified at design time. See What You May Need to Know About Mandatory Attributes in the ADF REST Resource.

    • A new Upsert mode on a POST method lets you merge payload content to either update resource items that exist, or if not, create the resource items. See Updating or Creating Resource Items (Upsert).

    • The use of special characters in the query parameter string of an ADF REST GET request is supported by the use of single quotes (in framework version 2 and later) to define literal values. See GET Method Operations.

    • Case-sensitive sorting of resource items of type String is now supported by the orderBy query string parameter of an ADF REST GET request. By default, the orderBy clause sorts the records with uppercase letters first and then lower case letters. To achieve case-insensitive sorting, the orderBy clause can be combined with upper(attrName) or lower(attrName). See Sorting a Resource Collection.

    • The ADF REST framework now supports configuration options for Cache-Control. You can specify these additional configuration options in the REST resource source editor. When defined on the resource, the Cache-Control header will be added in the payload of the ADF REST response. See What You May Need to Know About the Cache-Control Header.

    • The JDeveloper wizard Create Business Components from Tables combines generating the various business components together with creating ADF REST resources in a single end to end process. This wizard helps you to create ADF REST resources quickly and easily. See How to Create ADF REST Resources Using the Create Business Components from Tables Wizard.

    • Attribute hints defined in the JDeveloper overview editor for view objects can now optionally appear as attribute properties in the REST resource describe. See What You May Need to Know About ADF REST Attribute Hints.

  • ADF Business Components

    • The ADF application now supports custom script expression classes to define a class that can be used by other script classes. A script class file allows you to maintain common Groovy script expressions that can be called from within any business component class. See How to Create a Script Expression Class File.

    • The ADF application now allows the user to turn on/off data security of a View Object by setting a flag EOSecurityOverride. This is a metadata level setting on the viewdef.xml of the View Object. See What You May Need to Know About Overriding Security for Entity Objects.

  • ADF Task Flows
    • The ADF application now supports EL expressions set on the optional task flow binding property processRegionForRefresh to determine if the associated ADF region should participate in a refresh operation. By default, the ADF region participates in refresh operations. See How to Configure the Refresh of an ADF Region.
  • ADF Web User Interface

Other Significant Changes in this Document for Release 12c (

For Release 12c (, this document has been updated in several ways. Following are the sections that have been added or changed.

Part II Building Your Business Services

  • Removed sections related to creating custom methods for ADF REST resources. This is no longer supported in release

  • Removed sections that described obsolete use cases for bind variables. The generation of bind variables on custom view object classes is no longer an option in the Select Java Options dialog that you open from the Java page of the view object overview editor in JDeveloper. The recommended way to allow UI fields to update bind parameter values is through view criteria.

Part III Using the Model Layer

  • Revised the ADF REST batch requests section to remove the resource version in the payload sample that also shows the resource version in the POST URL to clarify that only the POST URL must provide a resource version. See Making Batch Requests.

  • Revised the ADF REST headers section to update the list of available headers for REST requests and responses. See ADF REST HTTP Headers Support.

  • Removed sections related to executing custom methods for ADF REST resources. This feature is no longer supported in release

Part IV Creating ADF Task Flows

Part VI Completing Your Application

Part VII Appendices

  • Revised the topic on EntityImpl methods to note that downcasting the return value of an EntityImpl.getStructureDef() method invocation to EntityCache is not supported. To obtain the instance of EntityCache invoke an existing getEntityCache()method on the EntityImpl object. See Methods You Typically Call on EntityImpl.