Showing posts with label ADF. Show all posts
Showing posts with label ADF. Show all posts

Tuesday, June 4, 2019

JDev/ADF sample - ADF Faces and Client Side Value with innerHTML

    Download - GitHub

Wednesday, February 20, 2019

JDev/ADF sample - Intercepting ADF Table Column Show/Hide Event with Custom Change Manager Class

  • Intercepting ADF Table Column Show/Hide Event with Custom Change Manager Class. Ever wondered how to intercept ADF table column show/hide event from ADF Panel Collection component? Yes, you could use ADF MDS functionality to store user preference for table visible columns. But what if you would want to implement it yourself without using MDS? Actually, this is possible through custom persistence manager class. I will show you how.
    Download - GitHub

Saturday, January 19, 2019

JDev/ADF sample - Oracle ADF BC Reusing SQL from Statement Cache

  • Oracle ADF BC Reusing SQL from Statement Cache. Oracle ADF BC by default is trying to reuse prepared SQL query from statement cache. It works this way when ADF BC runs with DB pooling off (jbo.doconnectionpooling=false). Normally we tune ADF application to run with DB pooling on (jbo.doconnectionpooling=true), this allows to release unused DB connection back to the pool when a request is completed (and in this case, statement cache will not be used anyway). If View Object is re-executed multiple times during the same request - in this situation, it will use statement cache too.
    Download - GitHub

Sunday, December 23, 2018

JDev/ADF sample - Understanding Attributes Enum in ADF BC Row Class

  • Understanding Attributes Enum in ADF BC Row Class. Did you ever wonder why Attributes Enum is generated by JDeveloper in Entity or View Row class? Attributes Enum holds a collection of attribute names and there is a set of static variables with attribute indexes. These indexes are used to locate attribute in getter/setter. Attributes Enum is a structure which is required for JDeveloper on design time to generate Java code. On runtime Attributes Enum is needed only as long as you are using a static variable index in the getter/setter.
    Download - GitHub

Sunday, November 25, 2018

JDev/ADF sample - Oracle ADF + Jasper Visualize.js = Awesome

  • Oracle ADF + Jasper Visualize.js = Awesome. This week I was working on a task to integrate Jasper Visualize.js into Oracle ADF application JSF page fragment. I must say integration was successful and Jasper report renders very well in Oracle ADF screen with the help of Visualize.js. Great thing about Visualize.js - it renders report in ADF page through client side HTML/JS, there is no iFrame. Report HTML structure is included into HTML generated by ADF, this allows to use CSS to control report size and make it responsive.
    Download - GitHub

Sunday, July 15, 2018

JDev/ADF sample - ADF Postback Payload Size Optimization

  • ADF Postback Payload Size Optimization. Recently I came across property called oracle.adf.view.rich.POSTBACK_PAYLOAD_TYPE. This property helps to optimize postback payload size. It is described in ADF Faces configuration section - A.2.3.16 Postback Payload Size Optimization. ADF partial request is executing HTTP post with values from all fields included. When postback property is set to dirty, it will include into HTTP post only changed values. As result - server will get only changed attributes, potentially this can reduce server time processing and make HTTP request size smaller. This especially can be important for large forms, with many fields.
    Download - GitHub

Thursday, March 22, 2018

JDev/ADF sample - ADF Declarative Component Example

  • ADF Declarative Component Example. ADF Declarative Component support is popular ADF framework feature, but in this post I would like to explain it from slightly different angle. I will show how to pass ADF binding and Java bean objects into component through properties, in these cases when component must show data from ADF bindings, such approach could offer robustness and simplify component development.
    Download - GitHub

Sunday, March 11, 2018

JDev/ADF sample - Find In Cache By Key ADF BC API Method Usage

  • Find In Cache By Key ADF BC API Method Usage. What if you need to verify - if row with given key exists in fetched rowset? This could be useful while implementing validation logic. ADF BC API method findByKey - will trigger SQL call and fetch row from DB, if row with given key doesn't exist in fetched rowset. Luckily there is ADF BC API method called findInCacheByKey, this method only checks for row in fetched rowset, without going to DB - very convenient in certain situations, when you actually don't want to bring record from DB, if it wasn't fetched.
    Download - GitHub

Sunday, February 25, 2018

JDev/ADF sample - Microservices with Oracle ADF Remote Regions

  • Microservices with Oracle ADF Remote Regions. ADF remote regions - functionality available in the latest ADF 12c versions. ADF remote region runs on different server and content is delivered to consuming module through ADF remote region servlet. This allows to decouple large enterprise system into separate modules, each running independently on separate servers. Gained advantage - system becomes more scalable and reliable, even if several modules will be down, system will continue to be functional.
    Download - GitHub

Monday, January 29, 2018

JDev/ADF sample - Avoid Blind SQL Call from ADF Task Flow Method

  • Avoid Blind SQL Call from ADF Task Flow Method. Keep an eye open on ADF Task Flow Method Call activities where methods from ADF Bindings are called. JDEV 12c sets deferred refresh for ADF binding iterators related to TF Method Call activities and this causing blind SQL to be executed. Blind SQL - query without bind variables.
    Download - ADFTFCallBindingApp.zip

Thursday, December 21, 2017

JDev/ADF sample - Recipe for JQuery Menu integration into ADF Faces

  • Recipe for JQuery Menu integration into ADF Faces. May be you are thinking to add some fresh looking element into your ADF app? I would propose JQuery menu. Advantage of such menu - it is purely client side implementation and it allows user to navigate through items really fast. Besides fast navigation, it looks great too and can be easily customized.
    Download - ADFJQueryMenuApp.zip

Tuesday, December 5, 2017

JDev/ADF sample - JET Composite Component in ADF Faces UI - Deep Integration

    Download - jetadfcomposite

Friday, November 10, 2017

JDev/ADF sample - ADF Performance Story - This Time Developer Was Wrong

  • ADF Performance Story - This Time Developer Was Wrong. ADF is fast. If ADF application is slow, most likely this is related to development mistakes. I would like to tell you one story, based on my ADF tuning experience. Problem description: ADF application runs fast in DEV, when DB size is small. Same application runs slow in TEST/PROD, when DB size is large. Question - what is slow. Answer - slow means forms are loading slow. Ok, lets go to the story.
    Download - ADFRangeSizeApp.zip

Sunday, September 3, 2017

JDev/ADF sample - ADF 12c Table CRUD Fix for Auto Focus

  • ADF 12c Table CRUD Fix for Auto Focus. I had a post about how to improve user data entry for ADF table with auto focus for new row - Improving ADF UI Table CRUD Functionality with Auto Focus. If you follow comments thread for that post - you will see described approach doesn't work exactly as it should in ADF 12c (focus is set for new row but later is lost after tab navigation - it should move focus to another column). Thanks to the community we have simple fix for this issue, read OTN Forum thread - Set Focus on CreateINsert row in ADF Table. I hope Oracle will fix this functionality in the next ADF versions (currently they say it is expected behaviour, and I don't agree with this). But for now - fix does the job.
    Download - ADFTableFocusApp_v2.zip

Wednesday, August 30, 2017

JDev/ADF sample - ADF Client Side Validation with JavaScript

    Download - ADFFormattingApp_v2.zip

Saturday, July 22, 2017

JDev/ADF sample - ADF Goes Client Side - UI Performance Boost with JavaScript

  • ADF Goes Client Side - UI Performance Boost with JavaScript. If you would like to boost ADF UI performance, you should look into client side validation and formatting options possible to be done in ADF UI. Today I will describe how you can implement client side converter, to format number value on client side, without making request to the server. Same approach could be used to implement client side validators. You can raise error message and it will be assigned to UI field in the same way, just like any standard ADF error message. While this approach is documented long ago in Oracle ADF developer guide - How To Create Client Side Converter, it is not well known and not often used.
    Download - ADFFormattingApp.zip

Sunday, July 16, 2017

JDev/ADF sample - ADF BC - Create View Object From Query with Custom Implementation Class

    Download - ADFVOFromSQLApp.zip

Monday, July 10, 2017

JDev/ADF sample - ADF 12c BC Proxy User DB Connection and Save Point Error

  • ADF 12c BC Proxy User DB Connection and Save Point Error. If you are modernising Oracle Forms system, high chance you need to rely on DB proxy connection. Read more about it in my previous post for ADF 11g - Extending Application Module for ADF BC Proxy User DB Connection. It works in the same way for ADF 12c, but there is issue related to handling DB error, when DB proxy connection is on. DB error is propagated to ADF but is being substituted by save point error (as result - user would not see original error from DB). It seems like related to JDBC driver in 12c. The workaround is to override ADF SQL builder class and disable save point error propagation (there might be better ways to workaround it).
    Download - AMExtendApp_v3.zip

Monday, June 19, 2017

JDev/ADF sample - Fixes for ADF Cloud User Experience Rapid Development Kit (RDK) UI Layout Issues

  • Fixes for ADF Cloud User Experience Rapid Development Kit (RDK) UI Layout Issues. If you was evaluating Oracle RDK UI template, probably you noticed information popup coming up, when RDK home page is loaded. Popup is loaded through showPopupBehavior listener, which is executed on Welcome page load event. Such popup is not required in practice, and usually is disabled. But as soon as you disable it, there will be layout issues with Welcome page. User information widget will not align the name and menu navigation items will not be ordered correctly.
    Download - AppsCloudUIKit_v3.zip

Wednesday, June 14, 2017

JDev/ADF sample - Nice Trick to Get ADF LOV Description Text

    Download - ADFLovDescriptionApp.zip