Thursday, December 18, 2014

ADF - Dynamic Region

Pada kesempatan ini saya ingin berbagi tentang ADF Dynamic Region. Apa sih Dynamic Region itu? Dynamic Region itu adalah sebuah region yang bisa berubah secara dinamis dari region 1 ke region lain nya berdasarkan kondisi tertentu. Sebagai contoh, saya akan membuat sebuah dynamic region yang terdiri dari 2 buah region yang bisa di switch dari region 1 ke region 2. Oke sekarang kita langsung masuk ke step by step nya.
  • Buat aplikasi ADF, jika sudah memberi nama bisa langsung di klik Finish. Expand folder View Controller, kemudian klik kanan di folder pageflow lalu pilih new. Buat ADF Task Flow, kemudian beri nama TaskFlowSatu. Buat 2 taskFlow lagi dan beri nama TaskFlowDua dan TaskFlowMain. TaskFlowSatu dan TaskFlowDua yang akan digabungkan kedalam TaskFlowMain.

  • Pada masing masing taskFlow buat sebuah View, drag and drop view tersebut ke dalam taskflow yang sudah dibuat, lalu double klik, kemudian beri nama view sesuai taskFlow nya, sebagai contoh saya akan memberi nama ViewTaskFlowSatu, ViewTaskFlowDua, ViewTaskFlowMain.

  • Buka ViewTaskFlowSatu yang tadi sudah kita buat, kemudian design seperti contoh gambar dibawah

  • Buka ViewTaskFlowDua yang tadi sudah kita buat, kemudian design seperti contoh gambar dibawah.

  • Buka ViewTaskFlowMain, kemudian tarik TaskFlowSatu ke dalam ViewTaskFlowMain, lalu akan muncul pilihan akan kita jadikan sebagai region atau dynamic region, pilih Dynamic Region.

  • Jika sebelum nya kita belum membuat managedbean nya, klik tanda tambah, kemudian isi sesuai gambar dibawah.

  • Buka TaskFlowMain, kemudian pilih overview. Klik pada bagian Managed Bean, pada bagian scope, ganti dari backingbean menjadi view.

  • Buka kembali ViewTaskFlowMain, kemudian klik binding pada bagian bawah, lalu edit taskFlow binding yang awalnya mengambil value dari backingBean menjadi viewScope.

  • Jika Sudah, tambahkan 2 buah button di dalam ViewTaskFlowMain. Kemudian cari component SetPropertyListener dan masukkan kedalam masing masing button yang sudah kita buat tadi. Sebelum nya buat String yg diberi nama currentTF pada java class yang sudah kita buat tadi di awal.


  • Pada bagian struktur file, klik region yang sudah kita buat tadi, kemudian buka property lalu pilih partial trigger kemudian edit. Pindahkan 2 button yang sudah kita buat ke kanan kemudian klik ok. 

  • Buat file JSP pada folder View Controller, kemudian drag and drop TaskFlowMain ke dalam file JSPX yang sudah kita buat.

  • Step terakhir, buka java class yang sudah kita buat tadi kemudian kita isi dengan contoh berikut :
 import oracle.adf.controller.TaskFlowId;  
 public class bean {  
   private String taskFlowId = "/WEB-INF/taskFlow1.xml#taskFlow1";  
   private String currentTF = "taskflow1";  
   private String taskFlow2 = "/WEB-INF/taskFlow2.xml#taskFlow2";  
   public bean() {  
   }  
   public TaskFlowId getDynamicTaskFlowId() {  
     if (this.getCurrentTF().equalsIgnoreCase("taskflow1"))  
     return TaskFlowId.parse(taskFlowId);  
     else   
       return TaskFlowId.parse(taskFlow2);  
   }  
   public void setCurrentTF(String currentTF) {  
     this.currentTF = currentTF;  
   }  
   public String getCurrentTF() {  
     return currentTF;  
   }  
 }  

  • Jika sudah run file jspx yang sudah kita buat tadi. Maka akan muncul seperti gambar dibawah, jika kita klik button taskFlowSatu, maka yang akan muncul tampilan dari taskFlowSatu, namun jika kita klik button TaskFlowDua, maka yang akan muncul tampilan dari TaskFlowDua.


Terima Kasih, semoga bermanfaat !
Untuk mendownload project bisa di klik disini 

No comments:

Post a Comment