Posts

Showing posts with the label ADF11g

Retrieve BPM composite version from ADF

It is a common scenario that you use the same ADF app for different versions of the BPM flow. In those cases you would like to control the visibility of the new features of the ADF app that supports the BPM flow changes .. Here is the way to read this info from ADF Add below to you page definitions.. <accessorIterator id="scaIterator" MasterBinding="taskIterator" Binds="sca" RangeSize="25" DataControl="Details" BeanClass="Details.scaType"/> <attributeValues IterBinding="scaIterator" id="compositeVersion"> <AttrNames> <Item Value="compositeVersion"/> </AttrNames> </attributeValues>                And then control your features as below, assuming the new button is visible at 1.10 rendered="#{bindings.compositeVersion.inputValue  >= 1.10 }”

Refreshing Data Controls When the BPM Payload is changed

As you all know by now that simple things can get complicated with JDeveloper. This is one of them, While working with BPM you sometime need to alter the Payload type and add new attributes to it. In able make those new attributes visible at the ADF taskflow side you need to refresh the data control definitions. This is a very simple, straighforward task. The issue comes around when you work with a team , where each member uses a different folder structure for their dev box. The project that you have the ADF pages and taskflows keeps a reference to the payload's schema definition files. The problem is this reference uses an absolute path instead of a relative path. So once you move your workspace to a different folder you can no longer do a "Refresh Data Control". To workaround this open DataControls.dcx file and update the references to the PayLoad XSD files.

Adhoc SQL Query Addon For Your ADF 11g Application

Image
It is very common that once you release your application you may need to execute some SQL queries through your application for trouble shooting purposes etc. I wanted to try how possible to implement  this in ADF and here is what I found in a very primitive way. I have a text area for the user to enter the SQL query and when the execute button is clicked the results will be displayed in the table below. In able to achieve this I am creating a View Object from a SQL statement in my AM. AM code ... @Override protected void prepareSession(Session session) { super.prepareSession(session); if (findViewObject("SQLVo") == null) { createViewObjectFromQueryStmt("SQLVo", " select 1 from dual "); } } public void executeSQL(String pSQLQuery){ ViewObjectImpl vo = null; if (findViewOb...

Custom Declarative Component- Multi-Select LOV

Image
 I needed to implement a multi select LOV solution for a requirement and I thought that building a declarative component would be the ideal way to go ..   Here I will give a sample of that component, you can enhance it according to your needs. 1-Start a new application and add a new generic application 2-From the new gallery pick "JSF Declarative Component" 3-Provide details for the component 4-Edit MultiSelect.jspx and add your components. I will use an inputText and an icon to simulate the LOV. When the icon is clicked I will launch a popup and in the popup I will use a af:query and af:table . LovModel has attributes for af:query and af:table. Those attributes will be utilized to fetch the lov data and search areas. Make sure you set the Simple attribute to true. Otherwise it wont align well in panelFormLayout Now we need to add the popup .. Pay attention to the af table I used here. It is a dynamic table and it forms itself from the lovModel. It is se...