devprg

limit offset mysql start dari 0

Ditulis dalam Uncategorized oleh devprg pada 18.09.2010

daripada lupa terus lebih baik ditulis, limit offset mysql start dari 0, bukan dari 1

Menghasilkan Random String Aplhanumeric, Numeric, Ascii

Ditulis dalam Uncategorized oleh devprg pada 04.09.2010

gunakan RandomStringUtils dari commons-lang

melakukan sinkronisasi server dengan ntp

Ditulis dalam Uncategorized oleh devprg pada 29.08.2010

install ack gagal

Ditulis dalam Uncategorized oleh devprg pada 24.08.2010

dapat link ini mengenai bagaimana install ack:

http://dancingpenguinsoflight.com/2008/09/ack-grep-but-better/

coba install di centos gagal karena tidak bisa mengakses

ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY

solusi cepat yang dibuat : download sendiri lewat browser file diatas.

di screen instalasi cpan, isikan manual mirror indonesia yang tertulis dalam file tersebut

ibator last_insert_id

Ditulis dalam Ibatis oleh devprg pada 23.08.2010

Sedang menggunakan ibator dalam mysql. Sedang bertanya-tanya dimanakah bisa memperoleh last_insert_id dihasilkan oleh ibator for mysql?

Sekilas googling memberikan kesan bahwa ibator :

  1. tidak mengcreate ‘selectKey’
  2. melakukan insert value ke field bersifat ‘auto_increment’

Penyelesaian yang diperoleh sejauh ini hanyalah harus mengedit manual artifact yang dihasilkan ibator.

Ditandai sebagai:, , ,

test publish lewat email

Ditulis dalam Uncategorized oleh devprg pada 21.08.2010

baru tahu kalau ternyata wordpress juga bisa publish lewat email.  Sekarang bisa bersaing dengan tumblr. Mantaps

wicket SignOutPage

Ditulis dalam Wicket oleh devprg pada 21.08.2010

Apa yang sebenarnya dikerjakan oleh SignOutPage sehingga bisa membuat user jadi sign out :

getSession().invalidate();

Ditandai sebagai:

javascript event

Ditulis dalam Uncategorized oleh devprg pada 12.07.2009

IE menggunakan event bubbling. Event merambat dari element paling khusus terus ke element paling general.

Event Handler / Listener
traditional
IE : attachEvent, detachEvent
Mozilla : addEventListener, removeEventListener

Event Object
IE : window.event
DOM : event adalah satu-satunya argument pada event handler.

Stop event propagation:
IE : oEvent.cancelBubble = true;
DOM : oEvent.stopPropagation();

direct-printing-3

Ditulis dalam Uncategorized oleh devprg pada 11.07.2009

1. siapkan direktori tempat penyimpanan file report yang dibuat. tempatkan lokasi tersebut di web.xml.


<context-param>
<param-name>jdevlab.REPORT_DIR</param-name>
<param-value>f:/temp/adfupload</param-value>
 </context-param>

2. siapkan servlet. servlet berfungsi mengirimkan PDF ke applet untuk dicetak.

servlet harus diregistrasikan di web.xml sbb:


<servlet>
 <servlet-name>ReportPdfServlet</servlet-name>
 <servlet-class>lab.view.servlet.ReportPdfServlet</servlet-class>
 </servlet>

<servlet-mapping>
 <servlet-name>ReportPdfServlet</servlet-name>
 <url-pattern>/reportdir/*</url-pattern>
 </servlet-mapping>

Tempatkan sourcecode ReportPdfServlet di direktori sesuai nama packagenya.  Contoh diatas menggunakan package ‘lab.view.servlet‘. Sesuaikan dengan tempat direktori yang dipakai di aplikasi.

3. persiapkan codebase applet.

codebase applet adalah tempat dimana file-file jar yang diperlukan applet ditempatkan. codebase tidak dapat ditempatkan di bawah WEB-INF/lib karena lokasi tersebut tidak bisa diakses dari luar. tempatkan codebase di subdirectory biasa seperti file html/jsp/jspx lainnya. contoh tempatkan di public_html/commonapplet.

jar yang terlibat adalah:

  1. PDFRenderer.jar
  2. plugin.jar (ambil dari jdk6)
  3. printpdf.jar

4. buat html/jsp/jspx yang akan digunakan untuk menghasilkan report.

jspx setidaknya melibatkan komponen-komponen berikut:

  1. ADF commandButton yang digunakan untuk mentrigger proses pembuatan report di server. commandButton ini terhubung dengan actionListener yang akan membuat report di server.
  2. javascript untuk mentrigger commandButton pada point 1
  3. applet yang akan memangil javascript di point2 untuk membuat ADF menghasilkan report. selanjutnya applet membaca report tersebut melalui servlet dan mengirimnya ke printer.

Berikut ini commandButton. perhatikan command button dimasukkan dalam panelButtonBar dengan inlineStype=”display:none”.  Fungsi panelButtonBar tersebut untuk membuat commandButton tersembunyi dari user. Dalam proses pembuatan bisa hilangkan dulu panelButtonBar untuk mengetes apakah proses pembuatan report di server sudah berhasil atau belum.


<af:panelButtonBar binding="#{backing_report_testReport.panelButtonBar1}"
 id="panelButtonBar1" inlineStyle="display:none">
 <af:commandButton text="doReport"
 binding="#{backing_report_testReport.cbDoReport}"
 id="cbDoReport"
 action="#{backing_report_testReport.cbDoReport_action}"/>
 </af:panelButtonBar>

Berikut javascript yang digunakan. perhatikan javascript memanggil fungsi document.getElementById(‘form1.cbDoReport‘) . Sesuaikan nama cbDoReport dengan nama ADF commandButton yang digunakan untuk mentrigger printing.


<afh:head title="testReport"
 binding="#{backing_report_testReport.head1}" id="head1">
 <meta http-equiv="Content-Type"
 content="text/html; charset=windows-1252"/>

 <script type="text/javascript">
 function createReport()
 {
 var elm = null;
 elm = document.getElementById('form1:cbDoReport');
 if (elm)
 {
 if (elm.dispatchEvent)
 {
 var evt = document.createEvent("MouseEvents");
 evt.initMouseEvent("click", true, true, window, 
 0, 0, 0, 0, 0, false, false, false, false, 0, null);
 elm.dispatchEvent(evt);
 }
 else
 {
 elm.fireEvent("onclick");
 }
 }
 }
 </script>

 </afh:head>

Pasang applet seperti dibawah ini. parameter FILENAME applet diset ke backingbean outputFileName yang akan diisi dengan nama report yang dihasilkan backing bean.

<f:verbatim>
 <applet archive="printpdf.jar" code="pdfrendererlab.PdfPrint"
 codebase="../commonapplet/" height="35" width="75">
<param name="FILENAME"
 value="${backing_report_testReport.outputFileName}"/>
 </applet>
 </f:verbatim>

Good Luck.

javascript event trigger programmatically

Ditulis dalam Uncategorized oleh devprg pada 08.07.2009

tujuan : mentrigger event click pada elm lain dari javascript, yang bisa bekerja di IE maupun Firefox.

<html>
<head>
<title>Multi Browser Event Trigger</title>

<script type="text/javascript">

function doFirstButton()
{
 alert("the first button clicked");
}

function doSecondButton()
{
 var elm = null;
 elm = document.getElementById('firstButton');
 if (elm)
 {
 if (elm.dispatchEvent)
 {
 // do Mozilla
 var evt = document.createEvent("MouseEvents");
 evt.initMouseEvent("click", true, true, window, 
 0, 0, 0, 0, 0, false, false, false, false, 0, null);
 elm.dispatchEvent(evt);
 }
 else
 {
 // do Internet Explorer
 elm.fireEvent("onclick");
 }
 }
}

</script>

</head>
<body>

demo event trigger yang bisa dijalankan di Mozilla maupun IE 
<form>
<input id="firstButton" type="button" value="first button" onclick="doFirstButton()"/>
<input id ="secondButton" type="button" value="second button" onclick="doSecondButton()"/>
</form>

</body>
</html>


Telah ditest berjalan di Firefox 3.5, IE6, Opera 9.64

Ikuti

Get every new post delivered to your Inbox.