KP day 13,..

June 25, 2008 by amirmuntaha

Ternyata tanggal 13 adalah tanggal keberuntungan,.. akhirnya hampir selesai juga method report yang dinamik,..

jadi berikut langkah2 yang harus dilakukan untuk menambahkan method ini,..

  1. copy report.java ke package backing bean dari jspx/jsp dengan form yang ingin dicetak reportnya,..
  2. masukkan library dari jasperreport (selengkap-lengkapnya)
  3. tambahkan report.jsp di faces-config.xml tanpa backing bean
  4. tambahkan tampilanReport.jspx di faces-config.xml dengan menambahkan JSF navigation case “-success” dari jsp/jspx tempat form berada dan “-back” untuk arah sebaliknya dan di backing beannya, tambahkan action back di tombol back,..
  5. tambahkan command button “make report” di jspx/jsp tempat form berada,.. dan tambahkan action “commandButtonX_action”,..
  6. tambahkan di backing bean jsp/jspx tempat form berada dengan fungsiberikut :
  7. public String getPublicFolderPath(){
    ExternalContext ectx = FacesContext.getCurrentInstance().getExternalContext();
    String requestPage = ((HttpServletRequest)ectx.getRequest()).getPathInfo();
    String requestPageOsTranslated = requestPage.replace(‘/’,File.separatorChar);
    String requestPathTranslated = ((HttpServletRequest)ectx.getRequest()).getPathTranslated();
    int end  =  requestPathTranslated.indexOf(requestPageOsTranslated);
    String public_html_location = requestPathTranslated.substring(0,end);
    return public_html_location + File.separatorChar;
    }

  8. mengganti isi fungsi “commandButtonX_action” dengan isi berikut :

public String commandButton1_action() {
try {
int jml_col = 0;
String[] inputs1 = new String[getPanelForm1().getChildCount()];
String[] inputs2 = new String[getPanelForm1().getChildCount()];

java.util.List children = getPanelForm1().getChildren();
java.util.Iterator iter = children.iterator();
while(iter.hasNext()){
javax.faces.component.UIComponent comp = (javax.faces.component.UIComponent)iter.next();
if(comp.getId().substring(0,8).compareTo(“inputText”)==-1){
try {
CoreInputText temp = (CoreInputText)comp;
inputs1[jml_col]=temp.getLabel();
inputs2[jml_col]=temp.getValue().toString();
} catch (Exception e) {
System.out.println(e.getMessage());
}
jml_col++;
}
}

int pjg[]=new int[jml_col];
for(int i=0;i<jml_col;i++){
if (inputs2[i].length()>inputs1[i].length()) {
pjg[i]=inputs2[i].length()+2;
}
else {
pjg[i]=inputs1[i].length()+2;
}
}
Report tes = new Report();
tes.runReport(jml_col,inputs1,pjg,inputs2,getPublicFolderPath());
}
catch (Exception e) {
System.out.println(e.getMessage());
}finally{
return “success”;
}

dan selesai,.. :D ,.

berikut contoh hasilnya,..

Report versi dinamik

KP day 12,..

June 24, 2008 by amirmuntaha

Hari ini fokus ke penggabungan jasper reort ke jdev secara dinamik,.. sampe jam 12 googling dan tidak menambah kemajuan,..akhirnya malah mencoba2, memasukkan gambar dan juga memasukkan chart,.. yang masukin gambar udah bisa on the fly, tp yg masukin chartnya masih bisa dari iReport blm bisa langsung,..

Akhirnya jam 1 memutuskan untuk mencoba posting di forum oracle,.. dan sekitar jam 4 tadi baru di jawab,.. jadi selama jam 1 smp jam 4 cm nyari2, ke forum2,..

Ternyata ada orang yang bisa,.. wohohoho,.. ini hasil implementasi nya,..

public String commandButton1_action() {
int jml_col = 0;
String[] inputs2 = new String[getForm1().getChildCount()];
System.out.println(“”+getForm1().getChildCount());

java.util.List children = getForm1().getChildren();
java.util.Iterator iter = children.iterator();
while(iter.hasNext()){
javax.faces.component.UIComponent comp = (javax.faces.component.UIComponent)iter.next();
System.out.println(comp.getId()+comp.getId().substring(0,8).compareTo(“inputText”));
if(comp.getId().substring(0,8).compareTo(“inputText”)==-1){
try {
HtmlInputText temp = (HtmlInputText)comp;
inputs2[jml_col]=temp.getValue().toString();
} catch (Exception e) {
System.out.println(e.getMessage());
}
System.out.println(inputs2[jml_col]+jml_col);
jml_col++;
}
}

//String texts[]={” id “,”nama”};
//String inputs[]={getInputText1().getValue().toString(),getInputText2().getValue().toString()};
int pjg[]=new int[jml_col];
for(int i=0;i<jml_col;i++){
pjg[i]=inputs2[i].length()+2;
}

Report tes = new Report();
tes.runReport(jml_col,inputs2,pjg,inputs2);
return “success”;
}

dengan begitu sudah didapat jml colom dan value tiap2 field nya,..

KP day11

June 23, 2008 by amirmuntaha

hari lagi2,.. tidak banyak progress yang bisa diperbuat,.. gimana caranya supaya bisa langsung ngambil si kolom dari jsp langsung,.. gmn klo belom ada bindingnya ke bean,.. trus cari cara binding,..

cara binding dari xml ke java,…

pertama ngedefinisikan manage bean nya di faces-config.html
<managed-bean>
<managed-bean-name>backing_untitled2</managed-bean-name>
<managed-bean-class>ui.backing.Untitled2</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<!–oracle-jdev-comment:managed-bean-jsp-link:1untitled2.jsp–>
</managed-bean>

trus di file jsp/jspx ditambah atribut binding
contoh binding=”#{backing_untitled2.form1}”

jika mau memanggil fungsi untuk button maka dapat langsung dipanggil di atribut action
contoh action=”#{backing_untitled2.commandButton1_action}” -> akan memanggil fungsi commandButton1_action di untitled2.java

trus udah aja tetep ga bisa tahu jumlah field yg ada di jsp,..

akhirnya cuma ngelengkapi aja file yang bisa di generate dari jasperreport,.. nambah lagi bisa generate file xls dan txt,.. :D

trus dari jam 3 tadi diskusi ama mas Satria n mbak Tessa,.. masih aja bingung,..

yah kiranya cukup untuk hari ini,..

KP day 10,..

June 20, 2008 by amirmuntaha

hari ke 10,.. akhirnya beralih juga ke komputer yang lebih bagus :D ,..

di hari yang ke 10 ini lebih banyak ditekankan ke penggabungan jasper ke JDEV,.. jadi untuk penggabungan mirip seperti di JDEV 11 tapi jika ingin ditambahkan link untuk mendownload, file report yang dibuat harus ditaruh di folder public_html,.. yah terus report yang digenerate jangan pernah di view memakai jasperViewer, karena jika viewer di close maka server akan mati, memang sih hal ini bisa ditangani dengan timer untuk meng-invisible viewer lagipula diclient viewer tidak akan tampak, untuk mengatasi hal itu maka report di-eksport ke html terlebih dahulu, kemudian menampilkan halaman itu di file jsp,..

yah berikut contoh sederhananya,..

latihan jasper gabung jdev

yah sekian untuk hari ini,..

KP day 9,..

June 19, 2008 by amirmuntaha

akhirnya hari ini pindah ke JDEV 10,..

tapi sebenarnya progress hari ini ga terlalu banyak,.. nyiapin prosedur membuat banyak parameter dan ngeset field text parameternya,.. trus sudah bisa dengan memakai empty data source, jadi ga perlu connect ke database klo yang ditampilin hanya parameter aja,.. trus untuk penggabungan dengan JDEV masih dengan jspx biasa belum bisa digabung ke SR demonya, soalnya belum disediain class java yang terhubung ke jspxnya, jadi aksinya di button nya masih belum bisa,..

dan percobaan eksport report ke txt masih gagal juga,.. yang terbuat cuma file txt dengan sejumlah baris kosong,..

KP day 8,…

June 18, 2008 by amirmuntaha

di hari ini benar-benar hanya dihabiskan untuk meng-eksplore gmn caranya membuat jasper tanpa menggunakan iReport,..

yang sudah bisa dilakukan antara lain,..

  • mendefinisikan query
  • mendefinisikan field dan paramater,..
  • mengenerate sekian static text untuk header kolom
  • membuat garis horizontal
  • mengatur tinggi tiap2 band
  • insert objek2 jasper design ke band,..
  • mendefinisikan style,.
  • mengeksport ke PDF,..

yah, mulai besok, barang2 yang sebelumnya harus segera dipindah ke JDEV 10g,..

KP day 7,..

June 17, 2008 by amirmuntaha

Setelah mengeksplore dari tadi pagi akhirnya dapet pencerahan juga,..

akhirnya bisa membuat report secara manual, ga pake iReport, langsung ngotak-ngatik class jasperDesignnya,.. tapi masih bingung juga untuk recordnya gmn,.. jadi untuk sementara kolom header nya aja yang diambil dari masukan,.. jadi dengan masukan jumlah kolom dan string array dari judul2 nya,.. lebar dari kolom jg masih belum dinamik,tapi sudah bisa connect ke database… oh,ya sebagai tambahan akhirnya sudah bisa di-Eksport ke PDF,..

kelemahan yang paling mencolok adalah tampilan report masih belum bisa dibuat rapi,..

KP day 6,..

June 16, 2008 by amirmuntaha

akhirnya JDEV dan Jasper berhasil diintegrasikan,..

tapi tetep aja, masih harus mendefinisikan koneksi sendiri, belum bisa langsung memakai koneksi yang di-connect langsung dari JDEV nya,..

hasil eksplorasi

yah kurang lebih hasilnya seperti diatas ini,.. menampilkan data singkat employee yang mempunyai id sesuai dengan masukan,..

KP day 5

June 16, 2008 by amirmuntaha

ya hari jumat dimulai dengan mencoba lagi tugas eksplorasi kemarin,..

masih belum bisa juga menggabungkan jasper dengan jdev, tapi jaspernya sendiri sudah bisa connect ke oracle,..

akhirnya meng-eksplore iReport lagi, membuat report dengan paramater dan juga penambahan sub-report,..

KP day 4

June 12, 2008 by amirmuntaha

hari keempat diawali dengan eksplorasi untuk menyatukan jasper report dan JDEV,..

Download file dari blog JDEV diary, alhasil depedency yang di download tidak berhasil di selesaikan, jadi program masih belum bisa running,..

eksplorasi berlanjut dengan tugas yang hampir sama dengan yang kemarin lusa, tetapi sekarang dengan single record saja, dan bisa di print dengan data yang belum atau sudah commit,..