tag:blogger.com,1999:blog-78581181524318380562024-03-14T17:40:40.598+02:00jspx daily pressjspx is a daily posts about jspx life!jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.comBlogger29125tag:blogger.com,1999:blog-7858118152431838056.post-29084062977561295942011-03-15T11:34:00.001+02:002011-11-12T16:06:37.474+02:00IE 9 issue with Arabic<div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on">Have you tried IE9? well, it is released, and you can download from <a href="http://windows.microsoft.com/en-US/internet-explorer/downloads/ie-9/worldwide-languages">here</a><br />
<br />
</div>It is cool however, an obvious bug is seen while using Arabic text. Here is a sample HTML<br />
<br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: blue; font-family: Consolas; font-size: 9.5pt;"><</span><span style="color: maroon; font-family: Consolas; font-size: 9.5pt;">html</span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;">></span><span style="font-family: Consolas; font-size: 9.5pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;"><</span><span style="color: maroon;">head</span><span style="color: blue;">></span></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;"><</span><span style="color: maroon;">title</span> <span style="color: red;">name</span><span style="color: blue;">="jspx_generated_1"</span> <span style="color: red;">id</span><span style="color: blue;">="jspx_generated_1"></span> </span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;"><span style="color: maroon;">title</span><span style="color: blue;">></span></span></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;"><</span><span style="color: maroon;">meta</span> <span style="color: red;">http-equiv</span><span style="color: blue;">="Content-Type"</span> <span style="color: red;">content</span><span style="color: blue;">="text/html; charset=windows-1256"/></span></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;"><</span><span style="color: maroon;">meta</span> <span style="color: red;">http-equiv</span><span style="color: blue;">="Content-Language"</span> <span style="color: red;">content</span><span style="color: blue;">="ar-eg"/></span></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;"><span style="color: maroon;">head</span><span style="color: blue;">></span></span></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;"><</span><span style="color: maroon;">body</span> <span style="color: red;">dir</span><span style="color: blue;">="rtl"</span> <span style="color: red;">topmargin</span><span style="color: blue;">="0"></span></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;"><</span><span style="color: maroon;">span</span> <span style="color: red;">style</span><span style="color: blue;">="</span><span style="color: red;">font-style</span><span style="color: blue;">: italic; </span><span style="color: red;">font-family</span><span style="color: blue;">: arial;"></span></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> </span><span dir="RTL" lang="AR-SA" style="font-family: "Times New Roman","serif"; font-size: 9.5pt;">اقرأ</span><span dir="LTR"></span><span lang="AR-SA" style="font-family: Consolas; font-size: 9.5pt;"><span dir="LTR"></span> </span><span dir="RTL" lang="AR-SA" style="font-family: "Times New Roman","serif"; font-size: 9.5pt;">كل</span><span dir="LTR"></span><span lang="AR-SA" style="font-family: Consolas; font-size: 9.5pt;"><span dir="LTR"></span> </span><span dir="RTL" lang="AR-SA" style="font-family: "Times New Roman","serif"; font-size: 9.5pt;">الاخبار</span><span dir="LTR"></span><span style="font-family: Consolas; font-size: 9.5pt;"><span dir="LTR"></span> </span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;"><span style="color: maroon;">span</span><span style="color: blue;">></span></span></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;"><span style="color: maroon;">body</span><span style="color: blue;">></span></span></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: blue; font-family: Consolas; font-size: 9.5pt;"><span style="color: maroon; font-family: Consolas; font-size: 9.5pt;">html</span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;">></span></span></div><div class="MsoNormal"><br />
</div><br />
And this should produce the following:<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjofVA8KXZit5hzxBMM-lWkDPJZwqhp5RRpjd1ehGLicVyN266Yi3bV7JqItFE3suFoyxARxb_3nk6p9daGPH447LrdnaBxq-pII8aemalnDtWEqHuIYmGMYCD7F17pfJbXReDEDIVp8oI/s1600/good.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjofVA8KXZit5hzxBMM-lWkDPJZwqhp5RRpjd1ehGLicVyN266Yi3bV7JqItFE3suFoyxARxb_3nk6p9daGPH447LrdnaBxq-pII8aemalnDtWEqHuIYmGMYCD7F17pfJbXReDEDIVp8oI/s1600/good.jpg" /></a></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSwZA5FRxZ6GrNnkqr3rlBhAVx8MuwkajssULBMGw_kCCg5gcI-KMDjIjrkfe__jdY6s8QBevCRS0tyXv8JqHWY4M9m1fUDo-VybxV8IWfwF1Dz0qG5NShuv1ZgtI1eHmRXy74AEH2z7o/s1600/bad.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br />
</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
And that what is obtained<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSwZA5FRxZ6GrNnkqr3rlBhAVx8MuwkajssULBMGw_kCCg5gcI-KMDjIjrkfe__jdY6s8QBevCRS0tyXv8JqHWY4M9m1fUDo-VybxV8IWfwF1Dz0qG5NShuv1ZgtI1eHmRXy74AEH2z7o/s1600/bad.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSwZA5FRxZ6GrNnkqr3rlBhAVx8MuwkajssULBMGw_kCCg5gcI-KMDjIjrkfe__jdY6s8QBevCRS0tyXv8JqHWY4M9m1fUDo-VybxV8IWfwF1Dz0qG5NShuv1ZgtI1eHmRXy74AEH2z7o/s1600/bad.jpg" /></a></div><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
To solve this, simply use on of the two style not both of them.<br />
<br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span> </span><span style="color: blue;"><</span><span style="color: maroon;">span</span> <span style="color: red;">style</span><span style="color: blue;">="</span><span style="color: red;"></span><span style="color: blue;"><span></span></span><span style="color: red;">font-family</span><span style="color: blue;">: arial;"></span></span><br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"><span> </span></span><span dir="RTL" lang="AR-SA" style="font-family: "Times New Roman","serif"; font-size: 9.5pt;">اقرأ</span><span dir="LTR"></span><span lang="AR-SA" style="font-family: Consolas; font-size: 9.5pt;"><span dir="LTR"></span> </span><span dir="RTL" lang="AR-SA" style="font-family: "Times New Roman","serif"; font-size: 9.5pt;">كل</span><span dir="LTR"></span><span lang="AR-SA" style="font-family: Consolas; font-size: 9.5pt;"><span dir="LTR"></span> </span><span dir="RTL" lang="AR-SA" style="font-family: "Times New Roman","serif"; font-size: 9.5pt;">الاخبار</span><span dir="LTR"></span><span style="font-family: Consolas; font-size: 9.5pt;"><span dir="LTR"></span> </span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"><span> <!--</span--><span style="color: blue;"><span style="color: maroon;">span</span><span style="color: blue;">></span></span></span></span></div> OR<br />
<br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span> </span><span style="color: blue;"><</span><span style="color: maroon;">span</span> <span style="color: red;">style</span><span style="color: blue;">="</span><span style="color: red;">font-style</span><span style="color: blue;">: italic;<span></span></span><span style="color: red;"></span><span style="color: blue;">></span></span><br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"><span> </span></span><span dir="RTL" lang="AR-SA" style="font-family: "Times New Roman","serif"; font-size: 9.5pt;">اقرأ</span><span dir="LTR"></span><span lang="AR-SA" style="font-family: Consolas; font-size: 9.5pt;"><span dir="LTR"></span> </span><span dir="RTL" lang="AR-SA" style="font-family: "Times New Roman","serif"; font-size: 9.5pt;">كل</span><span dir="LTR"></span><span lang="AR-SA" style="font-family: Consolas; font-size: 9.5pt;"><span dir="LTR"></span> </span><span dir="RTL" lang="AR-SA" style="font-family: "Times New Roman","serif"; font-size: 9.5pt;">الاخبار</span><span dir="LTR"></span><span style="font-family: Consolas; font-size: 9.5pt;"><span dir="LTR"></span> </span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="font-family: Consolas; font-size: 9.5pt;"><span> <!--</span--><span style="color: blue;"><span style="color: maroon;">span</span><span style="color: blue;">></span></span></span></span></div><br />
<br />
way to GO IE9!<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script></div>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com13tag:blogger.com,1999:blog-7858118152431838056.post-91662276544326780172011-02-19T18:08:00.002+02:002011-02-19T18:55:15.986+02:00Jspx Build 1.1.0<div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on">Jspx build 1.1.0 is released. new features are added, few bugs are solved. and brand new demo project is added. here are the new release notes of the build.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://jspx-bay.sourceforge.net/imgs/shots/demoapp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="224" src="http://jspx-bay.sourceforge.net/imgs/shots/demoapp.png" width="320" /></a></div><br />
<a href="http://jspx-bay.sourceforge.net/">http://jspx-bay.sourceforge.net</a><br />
<br />
<br />
<div class="MsoNormal"><span style="font-family: "Courier New";">What is new in jspx 1.1.0?</span></div><div class="MsoNormal"><span style="font-family: "Courier New";">JSPX build 1.1.0 is an improvements in both UI and internal functionalities. It introduces many new features. Along with support for JBoss 5.1.0 and MySQL.</span></div><div class="MsoNormal"><span style="font-family: "Courier New";">New Demo project is added.</span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span style="font-family: "Courier New";">Build 1.1.0 vs. 1.0.10</span></div><div class="MsoNormal"><span style="font-family: "Courier New";">New Features:</span></div><div class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"><span style="font-family: "Courier New";">1.<span style="font: 7pt "Times New Roman";"> </span></span><span dir="LTR"></span><span style="font-family: "Courier New";">Support JBoss 5.1.0</span></div><div class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"><span style="font-family: "Courier New";">2.<span style="font: 7pt "Times New Roman";"> </span></span><span dir="LTR"></span><span style="font-family: "Courier New";">Support MySQL DB.</span></div><div class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"><span style="font-family: "Courier New";">3.<span style="font: 7pt "Times New Roman";"> </span></span><span dir="LTR"></span><span style="font-family: "Courier New";">Validations UI Improvements.</span></div><div class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"><span style="font-family: "Courier New";">4.<span style="font: 7pt "Times New Roman";"> </span></span><span dir="LTR"></span><span style="font-family: "Courier New";">Calendar UI improvements.</span></div><div class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"><span style="font-family: "Courier New";">5.<span style="font: 7pt "Times New Roman";"> </span></span><span dir="LTR"></span><span style="font-family: "Courier New";">DataTable has a Flickr like pagination.</span></div><div class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"><span style="font-family: "Courier New";">6.<span style="font: 7pt "Times New Roman";"> </span></span><span dir="LTR"></span><span style="font-family: "Courier New";">Sortable columns will have a default icon.</span></div><div class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"><span style="font-family: "Courier New";">7.<span style="font: 7pt "Times New Roman";"> </span></span><span dir="LTR"></span><span style="font-family: "Courier New";">Accepts any HTML outside the tag <page></page></span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span style="font-family: "Courier New";">Bugs Fixed:</span></div><div class="MsoListParagraphCxSpFirst" style="margin-left: 0.75in; text-indent: -0.5in;"><span style="font-family: "Courier New";">1.<span style="font: 7pt "Times New Roman";"> </span></span><span dir="LTR"></span><span style="font-family: "Courier New";">Remove NullPointerException in case the href is empty in anchor control.</span></div><div class="MsoListParagraphCxSpLast" style="margin-left: 0.75in; text-indent: -0.5in;"><span style="font-family: "Courier New";">2.<span style="font: 7pt "Times New Roman";"> </span></span><span dir="LTR"></span><span style="font-family: "Courier New";">Supporting mailto in the anchor href.</span></div><br />
<br />
</div><br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script></div>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com3tag:blogger.com,1999:blog-7858118152431838056.post-27929527194139709772010-12-13T12:56:00.005+02:002010-12-15T11:15:29.896+02:00Case Senstive DBMS<a href="http://jspx-bay.sourceforge.net/pages/tout/docs/DataTable.doc">DataTable</a> <br />
<br />
Is a powerful Web Control that is connecting directly to the DB making full management of data without no single line of codes. DataTable is using plain sql statement that it has a place holders for parameters and variables.<br />
<br />
Now let's consider the following SQL statement to run on MySql DB.<br />
<br />
<br />
<br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">SELECT</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(g.NAME)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AS</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">g_name</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(m.NAME)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AS</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">m_name</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">gen</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.NAME</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AS</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c_gender</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">bdb</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.NAME</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">bdb_name</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;">*</span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">FROM</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">dcs</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">customer</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">dcs</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">grade</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">g,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">dcs</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">martial_status</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">m,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">dcs</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">gender</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">gen</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">dcs</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">boolean_db</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">bdb</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">WHERE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">grade</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">g.ID</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">martial_status</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">m.ID</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">gender</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">gen</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.ID</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">bdb</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.ID</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">deleted</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.ID</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">custid</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">passport_num</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">LIKE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%pass%'</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.NAME</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">LIKE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%custName%'</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">phone</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">LIKE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%custPhone%'</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">gender</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">custgender</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">creation_date</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">>=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">str_to_date</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'from_date 00:00:00'</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%e/%m/%Y %H:%i:%s'</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">creation_date</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;"><=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">str_to_date</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'to_date 23:59:59'</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%e/%m/%Y %H:%i:%s'</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">job</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">LIKE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%custJob%'</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">grade</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">custgrade</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">martial_status</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">custmart</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">deleted</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">custdel</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: black; font-family: Courier; font-size: 10pt;">birth_date</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">)</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">>=</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: black; font-family: Courier; font-size: 10pt;">str_to_date</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: red; font-family: Courier; font-size: 10pt;">'from_Bdate'</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">,</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: red; font-family: Courier; font-size: 10pt;">'%e/%m/%Y'</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">)</span></div><div class="MsoNormal"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt; line-height: 115%;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt; line-height: 115%;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt; line-height: 115%;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt; line-height: 115%;">(</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: black; font-family: Courier; font-size: 10pt; line-height: 115%;">birth_date</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt; line-height: 115%;">)</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt; line-height: 115%;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt; line-height: 115%;"><=</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt; line-height: 115%;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: black; font-family: Courier; font-size: 10pt; line-height: 115%;">str_to_date</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt; line-height: 115%;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt; line-height: 115%;">(</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: red; font-family: Courier; font-size: 10pt; line-height: 115%;">'to_Bdate'</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt; line-height: 115%;">,</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt; line-height: 115%;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: red; font-family: Courier; font-size: 10pt; line-height: 115%;">'%e/%m/%Y'</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt; line-height: 115%;">)</span></div><br />
<br />
The highlighted conditions are used to limit the search to certain date window. The problem that the date formatter in Oracle is different than MySQL. in MySQL the formatter is case senstive. i.e. %Y is different than %y. Full description of the date formatting can found <a href="http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format">here</a><br />
<br />
<br />
Jspx DataParam is used to inject user values into the place holders in the SQL statement. To do that, DataParam converts the Expression [ <span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: black; font-family: Courier; font-size: 10pt;">birth_date</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">)</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">>=</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: black; font-family: Courier; font-size: 10pt;">str_to_date</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: red; font-family: Courier; font-size: 10pt;">'from_Bdate'</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">,</span><b style="background-color: yellow;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: red; font-family: Courier; font-size: 10pt;">'%e/%m/%Y'</span><span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: blue; font-family: Courier; font-size: 10pt;">) </span>] to lower case, then replaces the variable [ <span style="background: none repeat scroll 0% 0% rgb(255, 255, 0); color: red; font-family: Courier; font-size: 10pt;">from_Bdate</span>] with the value . Changing the case will cause the format to work differently on MySQL. That when we decided to make the replacement case sensitive which will work for both MySql and Oracle. This simply make it difficult to developer as he has to write the DataParam attributes (Expression, name) case identical.<br />
<br />
In order to solve this, a new Boolean attribute <span style="background-color: #fff2cc; font-size: small;"><b><span style="color: blue;">caseSensitive </span></b></span>is added to the DataTable to decide if the Expression will be case sensitive or not. As usual, this parameter has a default value to <b><span style="color: blue;">false</span></b>, which means that it will be backward compatible with what you have done before.<br />
<br />
If this attribute is set to true, then your expression should contain the place holder variable as the same case as the name attribute.<br />
<br />
<br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: teal; font-family: "Courier New"; font-size: 10pt;"><</span><span style="background-color: white;"><span style="-moz-background-clip: border; -moz-background-origin: padding; -moz-background-size: auto auto; background-attachment: scroll; background-image: none; background-position: 0% 0%; background-repeat: repeat; color: #3f7f7f; font-family: "Courier New"; font-size: 10pt;">dataparam</span></span><span style="font-family: "Courier New"; font-size: 10pt;"><span style="background-color: white;"> </span><span style="color: #7f007f;">name</span><span style="color: black;">=</span><i><span style="color: #2a00ff;">"<span style="background-color: yellow;">from_Bdate</span>"</span></i> <span style="color: #7f007f;">control</span><span style="color: black;">=</span><i><span style="color: #2a00ff;">"bdFrom" id</span></i></span><span style="font-family: "Courier New"; font-size: 10pt;"><span style="color: black;">=</span><i><span style="color: #2a00ff;">"dp1"</span></i></span><span style="font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> <span style="color: #7f007f;">expression</span><span style="color: black;">=</span><i><span style="color: #2a00ff;">"(BIRTH_DATE) >= STR_TO_DATE('<span style="background-color: yellow;">from_Bdate</span>','%e/%m/%Y')"</span></i><span style="color: teal;">/<span style="color: teal;">></span></span></span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"></div>in case there a casing diffrence, you will get the exception<br />
<br />
<br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: #2a00ff; font-family: "Courier New"; font-size: 10pt;">DataParam [dp1] has the Expression [</span><span style="font-family: "Courier New"; font-size: 10pt; line-height: 115%;"><i><span style="color: #2a00ff;">(BIRTH_DATE) >= STR_TO_DATE('<span style="background-color: yellow;">from_Bdate</span>','%e/%m/%Y')</span></i></span><span style="color: #2a00ff; font-family: "Courier New"; font-size: 10pt;">] that does not contain the name [</span><span style="color: #2a00ff; font-family: "Courier New"; font-size: 10pt;"><i><span style="color: #2a00ff;"><span style="background-color: yellow;">from_bdate</span></span></i>] Please make sure of the name exists and match case</span></div><br />
<br />
Despite that fact that this attribute <span style="background-color: #fff2cc; font-size: small;"><b><span style="color: blue;">caseSensitive </span></b></span>is related to the DataParam behavior, it is a property in DataTable. The reason for that, is that this property is consistent over the DB. So why it is not a property a cross the application instead of repeating it on every DataTable? The answer is, this will allow to have your application connecting to different DBMS (Oracle, MySQL) based on your DataTable.<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com2tag:blogger.com,1999:blog-7858118152431838056.post-5657176296127136092010-11-23T09:47:00.000+02:002010-11-23T09:47:32.018+02:00DeniedRolesJspx integrates with JAAS APIs providing an easy to use Authentication/Authorization module. Full Details about this can be found here <a href="http://jspx-press.blogspot.com/2009/09/jaas-on-web-control-level.html">jaas-on-web-control-level</a><br />
<br />
In the currently under developing build, jspx has added new attribute to both Page and WebControl.<br />
<br />
<br />
<b style="color: #674ea7;">DeniedRoles </b><br />
<br />
This attribute can be used the same way as <b style="color: #741b47;">AllowedRoles </b>has been used. So, if the value is set to * then no one can access this Page/Control.<br />
<br />
A list of Roles can be concatenated to the value like <b style="color: #674ea7;">DeniedRoles=<span style="color: #990000;">"System Admin,Super User,Guest"</span> </b><br />
<br />
This will allow all users does not have any of the roles listed above.<br />
<br />
<br />
<br />
This new attribute is planned to be released on the upcomming build of Jspx. <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com16tag:blogger.com,1999:blog-7858118152431838056.post-65790549647598436372010-11-03T10:37:00.000+02:002010-11-03T10:37:26.702+02:00MySQL 5.1<a href="http://jspx-bay.sourceforge.net/pages/tout/docs/DataTable.doc">DataTable </a>is a powerful control that is connecting to DB directly. Business cases like search, add, edit and delete from a DB table can be implemented without single line of Java Code.<br />
<br />
Jspx is being tested against MySQL DB. DataTable worked fine with normal quires like<br />
<br />
<br />
<br />
However, with quires like this,<br />
<br />
<br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">SELECT</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(g.NAME)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AS</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">g_name</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(m.NAME)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AS</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">m_name</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(CASE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">gender</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">WHEN</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: maroon; font-family: Courier; font-size: 10pt;">1</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">THEN</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'male'</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">WHEN</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: maroon; font-family: Courier; font-size: 10pt;">2</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">THEN</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'female'</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">ELSE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">gender</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">END</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AS</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c_gender</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;">*</span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">FROM</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">dcs</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: olive; font-family: Courier; font-size: 10pt;">customer</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">dcs</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">grade</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">g,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">dcs</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">martial_status</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">m</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">WHERE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">grade</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">g.ID</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">c</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">martial_status</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">m.ID</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">ID</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">custid</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">passport_num</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">LIKE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%pass%'</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">NAME</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">LIKE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%custName%'</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">phone</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">LIKE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%custPhone%'</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">gender</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">custgender</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">TRUNC</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">creation_date</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">>=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">str_to_date</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'from_date'</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%d/%m/%Y'</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">TRUNC</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">creation_date</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;"><=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">str_to_date</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">(</span><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'to_date'</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">,</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%d/%m/%Y'</span><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">)</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">job</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">LIKE</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: red; font-family: Courier; font-size: 10pt;">'%custJob%'</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">grade</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">cutgrade</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">martial_status</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt;">custmart</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt;"></span></b></div><div class="MsoNormal"><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt; line-height: 115%;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt; line-height: 115%;">AND</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt; line-height: 115%;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt; line-height: 115%;">deleted</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt; line-height: 115%;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: blue; font-family: Courier; font-size: 10pt; line-height: 115%;">=</span><b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: "Courier New"; font-size: 14pt; line-height: 115%;"> </span></b><span style="background: none repeat scroll 0% 0% white; color: black; font-family: Courier; font-size: 10pt; line-height: 115%;">custdel</span></div><br />
<br />
we noticed that it could not retrieval the full columns returned. To know the reason, let's dive under the Hood, while JSPX is executing the search SQL, it constructs a hashmap of the returned records<br />
<br />
<br />
<div class="MsoNormal"><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">public</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">static</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> </span><b><i><span style="color: #28335b; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">List</span></i></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"><</span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">Hashtable</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"><</span><b><i><span style="color: #094200; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">String</span></i></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">, </span><b><i><span style="color: #094200; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">DataField</span></i></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">>> search(</span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">String</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">datasource</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">, </span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">String</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">sql</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">, </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">int</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">start</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">, </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">int</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">size</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">) </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">throws</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> Exception</span></div><br />
where the <span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"></span><b><i><span style="color: #094200; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">DataField</span></i></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"></span> is storing the column name , type and value. The hash map representing one record of the result set is indexed by the column name.<br />
<br />
Inside the above method, the column name is retrieved as <br />
<br />
<br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">if</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> (resultSet.absolute(</span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt;">start</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> + 1))</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;">{</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-indent: 0.5in;"><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">int</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><span style="color: #6a6a6a; font-family: "Courier New"; font-size: 10pt;">colCount</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> = resultSet.getMetaData().getColumnCount();</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">do</span></b><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> {</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> cols = </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">new</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt;">Hashtable</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"><</span><b><i><span style="color: #094200; font-family: "Courier New"; font-size: 10pt;">String</span></i></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">, </span><b><i><span style="color: #094200; font-family: "Courier New"; font-size: 10pt;">DataField</span></i></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">>();</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">for</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> (</span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">int</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><span style="color: #6a6a6a; font-family: "Courier New"; font-size: 10pt;">i</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> = 1; i <= colCount; i++)</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> {</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> fieldName = <span style="background: none repeat scroll 0% 0% yellow;">resultSet.getMetaData().getColumnName(i).trim().toLowerCase()</span>;</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> cols.put(fieldName, </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">new</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt;">DataField</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">(fieldName, resultSet.getObject(i)));</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> }</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> rows.add(cols);</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> }</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">while</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> (resultSet.next() && (++counter < </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt;">size</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">));</span><span style="font-family: "Courier New"; font-size: 10pt;"></span></div><div class="MsoNormal"><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">}</span></div><br />
The method <span style="color: black; font-family: "Courier New"; font-size: 10pt;"><span style="background: none repeat scroll 0% 0% yellow;">getColumnName(i)</span></span> in MySQL JDBC driver returns the original name of the column instead of the alias name in the SQL statement, so assume you have table Customer with column "NAME" and you have table JOB with Filed "NAME".<br />
Creating aliasing for the filed "NAME" in JOB Table as "JOB_NAME" will return the column "NAME" from JOB table under the label "JOB_NAME". But JSPX will get "NAME" as the name of the column.<br />
<br />
Instead of this method we used the <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>AR-SA</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/> <w:DontBreakConstrainedForcedTables/> <w:DontVertAlignInTxbx/> <w:Word11KerningPairs/> <w:CachedColBalance/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style> <![endif]--><span style="background: none repeat scroll 0% 0% yellow; color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">getColumnLabel(i)</span> method to get the correct name of the column. <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com4tag:blogger.com,1999:blog-7858118152431838056.post-70806624121829551852010-11-01T21:33:00.002+02:002010-11-02T09:37:25.300+02:00JBoss 5 getResourceAsStreamRecently I was testing JSPX on JBoss 5.1.0. The first thing we encountered is the failure of getting Resource Bundles or Message Bundles.<br />
<br />
To get to that deeply, we need to know that JSPX is accessing resource files within the WAR/EAR file. The best example on that, the jspx HTML pages themselves.<br />
<br />
The other need to access resources when loading resource Bundle. Embedded resources inside JSPX like javascript files and images are also accessed as resources.<br />
<br />
<br />
When we moved to JBoss 5.1.0, we discovered that JSPX pages are opened normally however the resource bundles are not.<br />
<br />
<br />
After check the source we found out that they are using different techniques:<br />
<br />
<ol><li>1. Loading the JSPX Pages located in the WebContent. They are loaded using the Servlet Context context.getResourceAsStream(resourceName);</li>
<li>The embedded resources and bundles are loaded by <br/> asResourceUtility.class.getResourceAsStream(resourceName);</li>
</ol><br />
<br />
<br />
And this used to work on JBoss 4.2.2 but now it is no on JBoss 5.1.0. we simply tried to use the servlet context to load everything, but it did not work for jspx embedded reources as they are inside the jspx jar.<br />
<br />
<br />
It seems that JBoss separates the classpath of the loaded jars and web app. so using context to load embedded resources did not work. so it had to stay as it is. and the resource bundles to be loaded by servlet context.<br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com6tag:blogger.com,1999:blog-7858118152431838056.post-29590575674947505792010-06-29T14:29:00.002+03:002010-11-03T09:13:31.913+02:00jspx jar dependencyJspx is requiring the following jars in case there is a business need. <br />
<br />
<ol><li>commons-fileupload-1.2.1.jar (when using File Upload)</li>
<li>log4j-1.2.15.jar (Mandatory for logging)</li>
<li>poi-3.1-FINAL-20080629.jar (when using Export To Excel)</li>
<li>servlet-api.jar</li>
<li>commons-io-1.3.1.jar (when using File Upload)</li>
</ol><br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com12tag:blogger.com,1999:blog-7858118152431838056.post-48816587203328557982010-06-28T22:34:00.000+03:002010-06-28T22:34:07.043+03:00Jspx DocumentationMany questions about jspx documentation. Well, we do have a documentation.<br />
<br />
check out the following link <br />
<br />
<a href="http://jspx-bay.sourceforge.net/index.html?l=pages/tout/doc.html" linkindex="14">http://jspx-bay.sourceforge.net/index.html?l=pages/tout/doc.html</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com5tag:blogger.com,1999:blog-7858118152431838056.post-84618607556633407422010-06-17T15:23:00.001+03:002010-06-17T16:03:01.910+03:00jspx at MEAOSSjspx went public again at MEA OSS Forum <a href="http://www.meaossforum.com/overview" linkindex="15">http://www.meaossforum.com/overview</a>, the first Middle East and African Open Source Software Forum. <br />
<br />
jspx was well received by the audience. In the conference I met Sally Khudiri from Apache. She is a so sweet person.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://www.meaossforum.com" imageanchor="1" linkindex="16" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.meaossforum.com/css/../imgs/logo.png" /></a></div><br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com0tag:blogger.com,1999:blog-7858118152431838056.post-7040029084550403432010-05-27T09:54:00.000+03:002010-05-27T09:54:49.263+03:00Jspx on SoftpediaJspx has just hit <a href="http://www.softpedia.com%20/" linkindex="120">http://www.softpedia.com </a>. The framework was added to MAC and Linux section. Windows section is to follow.<br />
<br />
here is the image from MAC section<br />
<br />
<br />
<a href="http://mac.softpedia.com/get/Development/Java/jspx.shtml" linkindex="121">http://mac.softpedia.com/get/Development/Java/jspx.shtml </a><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqQUNdzNXcF3uC7rNfibb7PvgyXPLIrG5BZA3jOTfKuWIkQJc3KWJOhTsELuxL8aisru0vqsTKrD7D5T5CmkwV9CHfaLi_x5c7ueuBfcK07nyJB3snNaVgQPQx-Hnr2CF1ZrM7RwNdLgM/s1600/mac.jpg" imageanchor="1" linkindex="122" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqQUNdzNXcF3uC7rNfibb7PvgyXPLIrG5BZA3jOTfKuWIkQJc3KWJOhTsELuxL8aisru0vqsTKrD7D5T5CmkwV9CHfaLi_x5c7ueuBfcK07nyJB3snNaVgQPQx-Hnr2CF1ZrM7RwNdLgM/s320/mac.jpg" /></a></div><br />
<br />
and this is from Linux.<br />
<a href="http://linux.softpedia.com/get/Internet/HTTP-WWW-/JSPX-57080.shtml%20" linkindex="123">http://linux.softpedia.com/get/Internet/HTTP-WWW-/JSPX-57080.shtml </a><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaMddX5Nk8Du2kkhOpAbgi5vm9QJRUEk8o3hDAiSuqSHvhzaV1ZXIjekxv7d580ZMOSpCOB8TT7Z7gcQwizXAV20yZaciwr5tbJ5SBN9XpQW7l-2QionG1Dgw_tlgu9SJzVk_9A2Mp0ao/s1600/linux.jpg" imageanchor="1" linkindex="124" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaMddX5Nk8Du2kkhOpAbgi5vm9QJRUEk8o3hDAiSuqSHvhzaV1ZXIjekxv7d580ZMOSpCOB8TT7Z7gcQwizXAV20yZaciwr5tbJ5SBN9XpQW7l-2QionG1Dgw_tlgu9SJzVk_9A2Mp0ao/s320/linux.jpg" /></a></div><br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com4tag:blogger.com,1999:blog-7858118152431838056.post-21511926575922881502010-05-23T20:29:00.001+03:002010-06-28T22:34:35.622+03:00Internet Explorer cannot downloadIn web development, sometimes it is required to download documents to the client. These documents may not be physically existing on the file system, however they are in other place like DB, that is requiring problematically extract the document then send it to the client.<br />
<br />
Jspx provides a common method to write files directly to the client. <br />
<style type="text/css">
p.MsoNormal
{margin-top:0in;
margin-right:0in;
margin-bottom:10.0pt;
margin-left:0in;
line-height:115%;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
}
</style><br />
<br />
<div class="MsoNormal"><b><br />
<span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">public </span></b><b><br />
<span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">void</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> writeFile(</span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">byte</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">[]</span> <span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">file</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">, </span><b> <span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">String</span></b> <span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">fileName</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">, </span><b> <span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">String</span></b> <span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">mimeType</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">)</span></div><br />
This method can be called from any jspx controller.<br />
<br />
<br />
In some application that is using SSL for HTTPS interface. we noticed that if the client side is IE then we got the following error.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://www.nikmakris.com/images/blog/content-disposition-error.jpg" imageanchor="1" linkindex="77" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.nikmakris.com/images/blog/content-disposition-error.jpg" /></a></div><br />
<br />
<br />
Internet Explorer cannot download Internet Explorer was not able to open this Internet site. The requested site is either unavailable or cannot be found. Please try again later.<br />
<br />
<br />
We googled the web for such error and ended with the result that is described here<br />
<br />
<a href="http://support.microsoft.com/default.aspx?scid=KB;EN-US;q316431&" linkindex="78">http://support.microsoft.com/default.aspx?scid=KB;EN-US;q316431&</a><br />
<br />
we had to remove both header (Pragma, Cache-Control)<br />
<br />
<br />
so we did that in the writeFile method and now it look like this:<br />
<br />
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:1;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1073750139 0 0 159 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:0in;
margin-right:0in;
margin-bottom:10.0pt;
margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
{mso-style-type:export-only;
margin-bottom:10.0pt;
line-height:115%;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style> <br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-indent: 0.5in;"><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">public</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">void</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> writeFile(</span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">byte</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">[] </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt;">file</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">, </span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt;">String</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt;">fileName</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">, </span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt;">String</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt;">mimeType</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">)</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> {</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">try</span></b><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> {</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">this</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">.</span><span style="color: #0000c0; font-family: "Courier New"; font-size: 10pt;">response</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">.setHeader(</span><b><span style="color: #8f1803; font-family: "Courier New"; font-size: 10pt;">"Content-disposition"</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">, </span><b><span style="color: #8f1803; font-family: "Courier New"; font-size: 10pt;">"attachment; filename="</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> + </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt;">fileName</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">);</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">this</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">.</span><span style="color: #0000c0; font-family: "Courier New"; font-size: 10pt;">response</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">.setContentType(</span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt;">mimeType</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">);</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><span style="color: #3f7f5f; font-family: "Courier New"; font-size: 10pt;">// [May 23, 2010 4:51:08 PM] [Amr.ElAdawy] [removing the caching control headers </span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><span style="color: #3f7f5f; font-family: "Courier New"; font-size: 10pt;">// in order to solve the https problem]</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="background: none repeat scroll 0% 0% yellow; color: #7f0055; font-family: "Courier New"; font-size: 10pt;">this</span></b><span style="background: none repeat scroll 0% 0% yellow; color: black; font-family: "Courier New"; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% yellow; color: #0000c0; font-family: "Courier New"; font-size: 10pt;">response</span><span style="background: none repeat scroll 0% 0% yellow; color: black; font-family: "Courier New"; font-size: 10pt;">.setHeader(</span><b><span style="background: none repeat scroll 0% 0% yellow; color: #8f1803; font-family: "Courier New"; font-size: 10pt;">"Pragma"</span></b><span style="background: none repeat scroll 0% 0% yellow; color: black; font-family: "Courier New"; font-size: 10pt;">, </span><b><span style="background: none repeat scroll 0% 0% yellow; color: #7f0055; font-family: "Courier New"; font-size: 10pt;">null</span></b><span style="background: none repeat scroll 0% 0% yellow; color: black; font-family: "Courier New"; font-size: 10pt;">);</span><span style="background: none repeat scroll 0% 0% yellow; font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="background: none repeat scroll 0% 0% yellow; color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="background: none repeat scroll 0% 0% yellow; color: #7f0055; font-family: "Courier New"; font-size: 10pt;">this</span></b><span style="background: none repeat scroll 0% 0% yellow; color: black; font-family: "Courier New"; font-size: 10pt;">.</span><span style="background: none repeat scroll 0% 0% yellow; color: #0000c0; font-family: "Courier New"; font-size: 10pt;">response</span><span style="background: none repeat scroll 0% 0% yellow; color: black; font-family: "Courier New"; font-size: 10pt;">.setHeader(</span><b><span style="background: none repeat scroll 0% 0% yellow; color: #8f1803; font-family: "Courier New"; font-size: 10pt;">"Cache-Control"</span></b><span style="background: none repeat scroll 0% 0% yellow; color: black; font-family: "Courier New"; font-size: 10pt;">, </span><b><span style="background: none repeat scroll 0% 0% yellow; color: #7f0055; font-family: "Courier New"; font-size: 10pt;">null</span></b><span style="background: none repeat scroll 0% 0% yellow; color: black; font-family: "Courier New"; font-size: 10pt;">);</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt;">OutputStream</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><span style="color: #6a6a6a; font-family: "Courier New"; font-size: 10pt;">out</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> = </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">this</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">.</span><span style="color: #0000c0; font-family: "Courier New"; font-size: 10pt;">response</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">.getOutputStream();</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> out.write(</span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt;">file</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">);</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> out.close();</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> }</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">catch</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> (</span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt;">IOException</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><span style="color: #6a6a6a; font-family: "Courier New"; font-size: 10pt;">e</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">)</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> {</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> e.printStackTrace();</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> }</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">catch</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> (</span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt;">Exception</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><span style="color: #6a6a6a; font-family: "Courier New"; font-size: 10pt;">e</span><span style="color: black; font-family: "Courier New"; font-size: 10pt;">)</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> {</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><i><span style="color: blue; font-family: "Courier New"; font-size: 10pt;">logger</span></i></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">.error(</span><b><span style="color: #8f1803; font-family: "Courier New"; font-size: 10pt;">"Excpetion while writing file file "</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">, e);</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> }</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span style="color: black; font-family: "Courier New"; font-size: 10pt;"> </span><b><span style="color: #7f0055; font-family: "Courier New"; font-size: 10pt;">this</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt;">.skip();</span><span style="font-family: "Courier New"; font-size: 10pt;"><o:p></o:p></span></div><div class="MsoNormal"><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> }</span></div><br />
<br />
which had solved the problem<br />
<br />
cheers,<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x90, created 5/26/10 */
google_ad_slot = "2454685107";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com36tag:blogger.com,1999:blog-7858118152431838056.post-8179263106922092352010-03-02T07:48:00.003+02:002010-03-02T07:49:22.986+02:00Video: jspx jdc 2010 Demo<object height="505" width="640"><param name="movie" value="http://www.youtube.com/v/tkbOMWGYkn8&hl=en_US&fs=1&color1=0x006699&color2=0x54abd6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/tkbOMWGYkn8&hl=en_US&fs=1&color1=0x006699&color2=0x54abd6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object><br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 468x60, created 2/8/10 */
google_ad_slot = "7884451848";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com4tag:blogger.com,1999:blog-7858118152431838056.post-15053124660274251782010-03-02T07:37:00.001+02:002010-03-02T07:39:20.060+02:00Video: Full video for getting started<object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/4cptYTRcxz4&hl=en_US&fs=1&color1=0x006699&color2=0x54abd6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4cptYTRcxz4&hl=en_US&fs=1&color1=0x006699&color2=0x54abd6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object><br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 468x60, created 2/8/10 */
google_ad_slot = "7884451848";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com0tag:blogger.com,1999:blog-7858118152431838056.post-77150816919481392442010-03-01T03:49:00.001+02:002010-03-02T07:39:56.179+02:00Video: Getting Started with Jspx<object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/2H8dTlTn0kg&hl=en_US&fs=1&color1=0x006699&color2=0x54abd6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/2H8dTlTn0kg&hl=en_US&fs=1&color1=0x006699&color2=0x54abd6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505"></embed></object><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 468x60, created 2/8/10 */
google_ad_slot = "7884451848";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com0tag:blogger.com,1999:blog-7858118152431838056.post-26520577368335059652010-03-01T03:39:00.003+02:002010-03-02T07:43:32.523+02:00How Was it?Well, it was strange day.<br />
<br />
I had fun and some bad moments. I was very tired. I was well received.<br />
<br />
soo many things.<br />
<br />
<br />
<br />
I will be talking about all of that very soon but I will leave you with two video demosjspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com2tag:blogger.com,1999:blog-7858118152431838056.post-14763290096032511042010-02-10T16:27:00.001+02:002010-03-02T07:43:41.871+02:0030 minutes to ruleHave you checked the JDC 2010 agenda, if not yet you can see it <a href="http://jdc2010.egjug.org/node/4">here.</a><br />
<br />
Jspx has been enrolled to run starting from 12:30 to 1:00. only for 30 minutes right after the first coffee break..<br />
<br />
also on the second track, Ahmed Hashim will be conducting a parallel session.<br />
<br />
<br />
Well, it is a bit of challenge, to conduct the jspx fully in 30 minutes. But we are working on that.<br />
<br />
I hope to allocate time to work on the presentation for the event.<br />
<br />
<br />
<br />
___<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 468x60, created 2/8/10 */
google_ad_slot = "7884451848";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com0tag:blogger.com,1999:blog-7858118152431838056.post-37124999107955727812010-02-08T12:24:00.001+02:002010-02-08T12:25:58.176+02:00How Difficult would it be for a plugin?Have you searched for jspx on google? <a href="http://www.google.com/cse?cx=partner-pub-3210643720408501%3Afr3tznl0hc7&ie=windows-1256&q=jspx&siteurl=jspx-press.blogspot.com%2F">google.com/jspx</a><br />
You may encounter the jspx Wikipedia page on the first or the second hit.<br />
<br />
In this page, the limitation section is mentioning the absence of IDE support for JSPX as a major obstacle. <span style="font-size: large;"><i style="color: #45818e;"><b>I agree. </b></i></span><br />
<br />
Jspx is developed and used on Eclipse. However, there is no support for JSPX on Eclipse. We had been thinking of this since a lot. But we never come to find a time or a resource to do that support.<br />
<br />
During our preparation for <a href="http://jdc2010.egjug.org/">JDC 2010</a> the question jumped again. When will we see an eclipse plug-in for jspx?<br />
<br />
We started making the plug-in!!! but will be any help from the community?<br />
We are not looking from something very powerful, just a way to do the following<br />
<br />
<br />
<ol><li>Validate the XHTML of jspx tags and attributes (We already have XSD)</li>
<li>Link the HTML Editor to the Java controller. </li>
<li>Optionally creates back-end controls for any selected HTML element on the HTML page.</li>
</ol><br />
We are not sure if we can manage to have something solid before JDC 2010 but we are on the road.<br />
<br />
<br />
any ideas?<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 468x60, created 2/8/10 */
google_ad_slot = "7884451848";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com3tag:blogger.com,1999:blog-7858118152431838056.post-6968852931004932492010-01-25T09:53:00.002+02:002010-01-25T09:53:18.203+02:00Conversation Scope Jspx Bean<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:1;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1073750139 0 0 159 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:0in;
margin-right:0in;
margin-bottom:10.0pt;
margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;}
.MsoPapDefault
{mso-style-type:export-only;
margin-bottom:10.0pt;
line-height:115%;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style> <br />
<div class="MsoNormal"><br />
</div><div class="MsoNormal">Jspx bean is a very powerful feature in Jspx. Most of the time in web development; developer is required to link between Model and View. Sometimes this link is read only (Displaying Model extracted from Data Layer) or Read/Write (Collecting Data from the user in the View Layer and pass it to the Data Layer for persistence). <br />
</div><div class="MsoNormal">More Info about the Jspx Bean is found <a href="http://jspx-bay.sourceforge.net/pages/tout/docs/jspx-bean.doc">here</a><br />
</div><div class="MsoNormal">A very famous Business case is Form Entry like customer registration; where user fills in a form to compose a model. In such case the size of the Model properties is a factor in complexity of the development. <br />
</div><div class="MsoNormal">Jspx provides Jspx Bean to create the Read/Write Link between View and Model. In many different cases it is required to maintain the Model Data for later use. In some cases like a wizard, where the user is prompted through different steps; data entered should be maintained till the end of the wizard.<br />
</div><div class="MsoNormal">Initially Jspx provided to Maintainability Scopes (<b style="color: #0b5394;">Session</b>, <b style="color: #0b5394;">Request</b>).<br />
</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">The Request Scope is the default Scope for a bean. In Request Scope, the Bean is only life during one post-back cycle. So when the page is rendered the bean is destroyed.<br />
</div><div class="MsoNormal">The Session Scope is used to keep the bean live for a longer time. A bean has a Session Scope is visible by all other controllers in the project. Controller can share the same Session Scope Jspx Bean already declared by declaring a Session Bean with the same name. <br />
</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">However, a problem may occur due to the conflict of the name. Also, in case of wizards, the beans should be declared as Session Beans. This violates the concept of multi threading in a web application. As if the end user opens different windows on the wizard, he will be ending overriding the same bean.<br />
</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">For such a problem, the Conversation Scope Bean is used. The concept of Conversation is introduced as a solution for the problem of sharing beans in Session Scope and the stateless problem of the Request Scope.<br />
</div><div class="MsoNormal">Conversation scope beans are only visible to the pages that are declaring this bean. Other instant of the page or the wizard will create new instant of the bean with fresh values.<br />
</div><div class="MsoNormal">What about moving from one page to another? In a wizard example, the Developer should advance the user to the next page using dispatching <span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">dispatch(</span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">String</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">newPage</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">)</span>, rather than the redirecting. The target page should also declare a Conversation Scope Jspx Bean with the same name. By this way, the framework will populate the bean with the value of the bean in the previous page.<br />
</div><div class="MsoNormal">Still there is a drawback for such feature that is the fact that Conversation Beans are stored in the User HTTP Session. So for N number of times the user opens a page declaring a Conversation Bean, a new instant is created and stored in the session. <br />
</div><div class="MsoNormal">Cleaning up the Conversation Scope beans is not automatically done. So the developer should call the <span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">clearJspxBean(</span><b><span style="color: #0080c0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">String</span></b><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;"> </span><span style="color: #0000a0; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">jspxBeanName</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; line-height: 115%;">)</span> at the end of the conversation in order to remove the Bean from the Session. <br />
</div><div class="MsoNormal"><br />
</div><script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 468x60, created 1/24/10 */
google_ad_slot = "2955976834";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com0tag:blogger.com,1999:blog-7858118152431838056.post-79971160450471938832010-01-23T17:35:00.000+02:002010-01-23T17:35:14.458+02:00Follow Jspx on JDC 2010<span style="color: #0b5394; font-family: Verdana,sans-serif; font-size: x-large;"><b><a href="http://jdc2010.egjug.org/">http://jdc2010.egjug.org</a></b></span>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com0tag:blogger.com,1999:blog-7858118152431838056.post-1486102380081790392009-11-19T12:15:00.000+02:002009-11-19T12:15:53.523+02:00Check/SelectOne of the most power features of Jspx is Table Control. There are two types of Tables<br />
<br />
<ol><li>DataTable</li>
<ol><li>Bind directly to DB.</li>
<li>Commits action directly to DB<br />
</li>
</ol>
<li>ListTable</li>
<ol><li>Bind to Collection of Objects.</li>
<li>Commit Changes to Memory Objects.</li>
</ol>
</ol>Inside a Table you may need to show a check box to make the end user able to select some items and then perform some actions on them later. Adding Check box to table is very easy.<br />
<br />
<span style="color: #274e13;"><datacolumncommand></datacolumncommand></span> <span style="color: #cc0000;">type</span>="check" <span style="color: #cc0000;">checkType</span>="all" <span style="color: #274e13;">/></span><br />
<br />
<br />
This will add a new column in the table with check box in the header and a check box in each row. Which enables end user to select different items from the table. In case the user needed to select all the rows, he can simply click on the header check box. Now jspx will automatically disable all the check boxes in the table indicating that the whole rows were selected.<br />
<br />
Some people complained about it. They say that they wanted to selected All then unselect some single rows. This requires changes in the data column command control. As jspx preserves backward compatibility it was required to introduce the new behavior while keeping the old one. <br />
<br />
This was accomplished by the new attribute <b style="background-color: #b45f06;">selectType</b> , this attribute has one of two values:<br />
<ol><li>Select</li>
<ol><li>This is the default value.</li>
<li>It acts the same way as current.</li>
</ol><li>Check</li>
<ol><li>This is the new behavior.</li>
<li>The check boxes in each row will be check and uncheck instead of being disabled.</li>
</ol></ol>The HTML will look like this<br />
<br />
<span style="color: #274e13;"><datacolumncommand></datacolumncommand></span> <span style="color: #cc0000;">type</span>="check" <span style="color: #cc0000;">checkType</span>="all" <span style="color: #cc0000;">selectType</span>="check" <span style="color: #274e13;">/></span><br />
<br />
<br />
By this, the old code is maintained and the new feature is supported!<br />
<br />
<br />
<br />
<br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x15, created 10/9/09 */
google_ad_slot = "9626120721";
google_ad_width = 700;
google_ad_height = 15;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com0tag:blogger.com,1999:blog-7858118152431838056.post-14708506598639870532009-11-16T15:39:00.000+02:002009-11-16T15:39:45.340+02:00JSPX on SourceForgeJSPX on SourceForge Now has mirror domain<br />
<br />
<a href="http://jspx.sourceforge.net/">http://jspx.sourceforge.net</a><br />
<a href="https://sourceforge.net/projects/jspx">https://sourceforge.net/projects/jspx</a><br />
<br />
<br />
<script type="text/javascript">
<!--
google_ad_client = "pub-3210643720408501";
/* 728x15, created 10/9/09 */
google_ad_slot = "9626120721";
google_ad_width = 700;
google_ad_height = 15;
//-->
</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com0tag:blogger.com,1999:blog-7858118152431838056.post-81035931769450903312009-10-09T21:52:00.002+02:002009-10-09T21:57:17.180+02:00Jspx Dependency Injection<table><tr> <td><br />
<script type="text/javascript"><!--
google_ad_client = "pub-3210643720408501";
/* 728x15, created 10/9/09 */
google_ad_slot = "9626120721";
google_ad_width = 700;
google_ad_height = 15;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
</td> </tr>
<tr> <td><br />
<p style="color: #5994FF; font-style: italic">Jspx is up to latest java technologies, Dependency Injection is now used to <br />
less the amount of code in the controller. Dependency Injection is used for better<br />
and maintainable applications. Since the beginning of the framework, Jspx is always <br />
aiming at removing boilerplate code.<br />
</p><br />
<br />
<img src="http://jspx-bay.sourceforge.net/imgs/di600.png" /><br />
<br />
<br />
<h1>Jspx Controller<br />
</h1><span><br />
<p>Developing web application using Jspx is relatively easier than other frameworks; however the efforts for providing much simpler and easier did not stop just there. As we saw in the demo, interacting with HTML controls declared in view code (HTML file) requires declaring server side java controls for each of them. <br />
</p><p>Assume that we have a page with input field [UserName], if you want to interact with this control from java code in the page controller, and then you have to do the following:<br />
<ol><li><br />
HTML control with a given id i.e. userName<br />
</li>
<li><br />
Java instant of TextBox class.<br />
</li>
<li><br />
This instant should have a name the same as the id given to the HTML control.<br />
</li>
<li><br />
This inst ant should not be null.<br />
</li>
<li><br />
This instant should have getter and setter.<br />
</li>
</ol><br />
</p><img src="http://jspx-bay.sourceforge.net/imgs/oldCode.png" /><br />
<p>Any missing step of these five steps will not link the HTML control to the java control and will make any changes applied to the server side control will not be reflected to the end user. Also any initial values set in the HTML page will not be visible. <br />
Despite the fact how simple these steps are, there are several issues:<br />
<ol><li><br />
There has to be a lot of code that is irrelevant to the business logic.<br />
</li>
<li><br />
The name of the getters and setter should match the id of the control<br />
</li>
<li><br />
The coupling between HTML and java is limiting the flexibility of refactoring.<br />
</li>
<li><br />
Initializing controls has a negative impact on performance.<br />
</li>
</ol></p><p>The solution for this aimed at removing all these issues through simple way of declaring jspx web controls and also to remove the coupling. The solution was to simply declare the control in the page as following <br />
</p><img src="http://jspx-bay.sourceforge.net/imgs/diCode.png" /><br />
<pre>As you notice a new annotation [JspxWebControl] is used to annotate the declared control.
There is no need for any getters or setters for the control.
There is no need to initialize the control or change its visibility.
</pre><p>You may be wondering how this would clear the coupling between the id of the html control and the name of the declared object. The answer would be through using the annotation to use attributer [name] to set it to the id of the HTML control in the HTML page. <br />
</p><img src="http://jspx-bay.sourceforge.net/imgs/diCode2.png" /><br />
<p>Now if the id of the HTML control changes, this will require only changing the value of the name attribute, also any refactoring in the java control will not require any change.<br />
</p><p><br />
Dependency Injection is then used to inject the declared control with the HTML control declared in the HTML page. So at runtime, this declared control will not be null and any changes applied to the rendered HTML control.<br />
<br />
</p></span><br />
</td> </tr>
</table>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com1tag:blogger.com,1999:blog-7858118152431838056.post-64087044174727229242009-10-06T22:08:00.000+02:002009-10-06T22:08:57.527+02:00jspx build 1.0.9<a href="http://jspx-bay.sourceforge.net/">Jspx </a>Build 1.0.9 has been released. The release notes of the build as following:<br />
<br />
<blockquote><b><i>What is new in jspx 1.0.9?</i></b><br />
JSPX build 1.0.9 comes with new feature and bug fixes. JSPX build 1.0.9 is presenting two very important features (Decency Injection, and SQL Injection prevention).<br />
Along with more features and fixes.<br />
<br />
<b><i>Build 1.0.9 vs. 1.0.7</i></b><br />
New Features:<br />
1. Support <span style="color: #e06666;">OnSubmit </span>event in the form.<br />
2. Supporting dispatching while using ajax<br />
3. Using <b><span style="color: #134f5c;">Dependency Injection</span></b> to declare webcontrols in the page controller.<br />
4. <span style="color: red;">AllowedRoles </span>on the level of page.<br />
5. Resource Bundle returns the Key if it was not found.<br />
6. Internal Carriage in the page for shared Data.<br />
7. <b><span style="color: #134f5c;">SQL Injection prevention</span></b> using owasp.esapi <a href="http://www.aspectsecurity.com/">http://www.aspectsecurity.com</a>.<br />
<br />
<b><i>Bugs Fixed:</i></b><br />
1. Fixing bug with on click in the link command.<br />
2. Fixing bug with collapse panel.<br />
<br />
<br />
<i><b>Known Issues:</b></i><br />
1- Ajax validation is not working with auto refresh feature, so if the content of auto refreshing panel has a validation group, the validation will be true always.<br />
2- DataTabel should have PK, if not the edit and delete feature will apply to all records.<br />
3- Portlet pages cannot post back correctly.<br />
<br />
<i><b>Contact US:</b></i><br />
Mail us at:<br />
support DOT jspx AT gmail DOT com<br />
Official Website:<br />
<a href="http://jspx-bay.sourceforge.net/">http://jspx-bay.sourceforge.net</a><br />
Project Website:<br />
<a href="https://sourceforge.net/projects/jspx-bay"> https://sourceforge.net/projects/jspx-bay</a><br />
</blockquote><br />
<br />
______________________________________________________________-<br />
<br />
<br />
You can browse all files for <a href="https://sourceforge.net/projects/jspx-bay/files/"><b style="color: #38761d;">Download</b> from here</a>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com0tag:blogger.com,1999:blog-7858118152431838056.post-30383161729463948192009-10-06T13:12:00.004+02:002009-10-09T22:15:40.388+02:00jspx | Get jspx at SourceForge.net<a href="https://sourceforge.net/projects/jspx-bay/">jspx | Get jspx at SourceForge.net</a><br />
<br />
Shared via <a href="http://addthis.com">AddThis</a><br />
<br />
<script type="text/javascript"><!--
google_ad_client = "pub-3210643720408501";
/* 468x60, created 10/9/09 */
google_ad_slot = "5127374154";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>jspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com0tag:blogger.com,1999:blog-7858118152431838056.post-68037863651658131842009-09-25T13:00:00.030+02:002009-09-25T18:20:24.509+02:00Jspx Bay!Jspx as a name is very catchy. The time we chose this name, there were already many other technologies using the name.<br />
<ol><li>Oracle ADF files.</li>
<li>Java Server Documents. <br />
</li>
</ol><ol></ol>Some people also notice the familiarity between jspx and aspx from <a href="http://asp.net/">asp.net</a>, given that aspx as an extension to the ASP.NET pages was chosen to describe the evolution in the old ASP pages.<br />
<br />
Despite aspx is an extension, jspx is the name for the whole technology, jspx also does not impose using specific extension you HTML files unlike ASP.NET.<br />
<br />
<br />
Many similarities also can be found to different existing frameworks like JSF, Clay, Wickt and of course JSP. What makes it very unique that jspx combines different features and advantages our of these technologies. Also it removes many disadvantages found.<br />
<br />
Well, this makes sense for the name, but did u notice the <a href="http://jspx-bay.sourceforge.net/">official website url </a>http://jspx-bay.sourceforge.net it contains a suffix <i><u><b>BAY </b></u></i>that is distinguishing the name from other projects.<br />
<br />
The suffix itself stands for the three founder of the framework. Commonly the most used name is JSPXjspx diaryhttp://www.blogger.com/profile/01966467336586501699noreply@blogger.com5