Posts

Showing posts with the label JDeveloper

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.

Soft delete with ADF entities

Say that you have a table created with this script, create table users(user_name varchar2(20) primary key, name varchar2(100),active_yn varchar2(1) default 'Y') And you want to set the active_yn to N when a delete occurs instead of doing a hard delete. I found this solution working, I am still not sure whether it is the best way or not.. I created my entity by using the wizard . Then edit the entity and on the Java tab select the below check boxes to generate the required Java classes. 1-Generate entity object class 2-Remove method 3-Data manipulation methods Then in the generated Java file change the remove and doDml methods as below /**Add entity remove logic in this method. */ public void remove() { setActiveYn("N"); super.remove(); } /**Custom DML update/insert/delete logic here. */ protected void doDML(int operation, TransactionEvent e) { if (operation != DML_DELETE) super.doDML(operation, e); ...

Handling the navigation from a backing bean

Yesterday I was experiencing some login form, in which I am calling a backing bean when the login button is pressed. In the backing bean depending on the return of the operation call I want to redirect the navigation to the corresponding page. After doing some research in the forums I found the below solution. We use NavigationHandler class to redirect the flow of the application. public String doLogin() { BindingContainer bindings = getBindings(); OperationBinding operationBinding = bindings.getOperationBinding("login"); Object result = operationBinding.execute(); FacesContext context = FacesContext.getCurrentInstance(); NavigationHandler nh = context.getApplication().getNavigationHandler(); if (((String)result).equals("SUCCESS")) nh.handleNavigation(context, null, "SUCCESS"); else nh.handleNavigation(context, null, "ERROR"); return null; }

Calling a PL/SQL function from ADF using JDeveloper 11G TP4

Image
I will go over how to call a PL/SQL function from Jdeveloper 11G Tp4 First create a function that you will use , for this I used JDeveloper's database editor Then create an ADF project and an Application Modulu within the new project. Follow the wizard until the Java screen, there we need to check the first check box to generate the Java class file for the application module. Once you are done with the wizard you will see that a Java file was created under the application module. Edit this file and add the a public method to call the PL/Sql API. For more information you can check the developer's guide documentation . Now we need to expose this function . To do this edit the application module and go to Java tab. There click the pen for client interface. You should the newly created function on the left side. Select it and move it to right. After completing the previous step you should be seeing your function under Data controls. Everything is ready now. We need to create a page...

JDeveloper 11G TP4

I started to work with the IDE 3 weeks ago. My company decided to migrate our existing forms application to ADF. My first impression with IDE was not so positive but it is still a preview release so I hope it will be better once released. I decided to write my experiences with this tool from now on..Lets see how it will be .. Wait me JDeveloper , I am coming to explore you !!