<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4078672234590373472</id><updated>2011-11-27T15:16:21.189-08:00</updated><category term='java compression'/><category term='AJAX HTML IE'/><category term='ruby UUID'/><category term='rails ruby select option'/><category term='Java JAXB Webservices Annotations Mule'/><title type='text'>Technology</title><subtitle type='html'>Code snippets that are used everyday</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>63</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-1960471430819786473</id><published>2011-10-10T09:27:00.000-07:00</published><updated>2011-10-10T09:32:43.034-07:00</updated><title type='text'>Text Overlapping over image ( JSF/Facelets )</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;CSS:&lt;br /&gt;#_1234bg&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;display:block;&lt;br /&gt;&lt;br /&gt;position:absolute;&lt;br /&gt;&lt;br /&gt;z-index:0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.c1{width:290px;}&lt;br /&gt;&lt;br /&gt;.c2{width:140px;}&lt;br /&gt;&lt;br /&gt;.c3{width:100px;}&lt;br /&gt;&lt;br /&gt;.c1a{width:130px;padding-left:160px;font-size:10px;font-weight:bold;}&lt;br /&gt;&lt;br /&gt;.c2a{width:50px;padding-left:91px;font-size:10px;font-weight:bolder;padding-top: 10px}&lt;br /&gt;&lt;br /&gt;.c3a{padding-left:40px;} &lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;JSF CODE :&lt;br /&gt;&amp;lt;&amp;nbsp; t:div style="width:800px;height:700px;"&amp;gt;&lt;br /&gt;&amp;lt;&amp;nbsp; t:div id="_1234bg"&amp;gt;&lt;br /&gt;&amp;lt;&amp;nbsp; h:graphicImage id="image1" alt="aa" width="701" value="#{facesContext.externalContext.requestContextPath}/css/wm.png" /&amp;gt; &lt;br /&gt;&lt;br /&gt;&lt;/&amp;nbsp; t:div=""&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&amp;nbsp; h:panelGrid style="position:absolute;font-size:large;margin-left:15px;margin-top:25px;" columns="3" columnClasses="c1, c2, c3 c3a"&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;&amp;nbsp; h:outputText value="&amp;nbsp;"/&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;&amp;nbsp; h:outputText value="#{homeManagedBean.account.cy.box1}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&amp;nbsp; h:outputText value="#{homeManagedBean.curryr}"/&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/&amp;nbsp; h:panelgrid=""&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&amp;nbsp; t:div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is specially useful when the user wants to print text overlaid on a background image.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-1960471430819786473?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/1960471430819786473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=1960471430819786473&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1960471430819786473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1960471430819786473'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2011/10/text-overlapping-over-image-jsffacelets.html' title='Text Overlapping over image ( JSF/Facelets )'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-4645198967972019889</id><published>2011-09-28T13:11:00.001-07:00</published><updated>2011-09-28T13:11:39.597-07:00</updated><title type='text'>Android forums link</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://developer.android.com/resources/community-groups.html"&gt;http://developer.android.com/resources/community-groups.html&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-4645198967972019889?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/4645198967972019889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=4645198967972019889&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4645198967972019889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4645198967972019889'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2011/09/android-forums-link.html' title='Android forums link'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-1887964366481380972</id><published>2011-09-21T13:45:00.000-07:00</published><updated>2011-09-21T13:45:15.326-07:00</updated><title type='text'>Run Jobs on Mainframe from Java using FTP</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;br /&gt;ftp my.zos.mainframe &lt;br /&gt;&lt;br /&gt;userid &lt;br /&gt;&lt;br /&gt;password &lt;br /&gt;&lt;br /&gt;quote site filetype=jes &lt;br /&gt;&lt;br /&gt;put job.txt &lt;br /&gt;&lt;br /&gt;quit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/systems/library/es-batch-zos.html"&gt;http://www.ibm.com/developerworks/systems/library/es-batch-zos.html&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-1887964366481380972?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/1887964366481380972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=1887964366481380972&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1887964366481380972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1887964366481380972'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2011/09/run-jobs-on-mainframe-from-java-using.html' title='Run Jobs on Mainframe from Java using FTP'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-4602643805701573719</id><published>2011-08-26T06:45:00.001-07:00</published><updated>2011-08-26T06:45:38.506-07:00</updated><title type='text'>Pull Files from Mainframe FTP or Push File to Mainframe</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://www.nsftools.com/tips/JakartaFtpWrapper.java"&gt;http://www.nsftools.com/tips/JakartaFtpWrapper.java&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Use the downloadfile method and it works !&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-4602643805701573719?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/4602643805701573719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=4602643805701573719&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4602643805701573719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4602643805701573719'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2011/08/pull-files-from-mainframe-ftp-or-push.html' title='Pull Files from Mainframe FTP or Push File to Mainframe'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-3557291611587538461</id><published>2011-08-15T03:33:00.000-07:00</published><updated>2011-08-15T03:33:11.434-07:00</updated><title type='text'>Run programs on system from java using cmd</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linglom.com/2007/06/06/how-to-run-command-line-or-execute-external-application-from-java/"&gt;source&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1"&gt;source2&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-3557291611587538461?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/3557291611587538461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=3557291611587538461&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3557291611587538461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3557291611587538461'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2011/08/run-programs-on-system-from-java-using.html' title='Run programs on system from java using cmd'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-9189425757155025314</id><published>2010-09-16T09:22:00.001-07:00</published><updated>2010-09-16T09:22:43.604-07:00</updated><title type='text'>vonage router behind another router</title><content type='html'>http://portforward.com/english/routers/port_forwarding/Dlink/DIR-615/Vonage.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-9189425757155025314?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/9189425757155025314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=9189425757155025314&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/9189425757155025314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/9189425757155025314'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2010/09/vonage-router-behind-another-router.html' title='vonage router behind another router'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-4511958212235944377</id><published>2010-05-21T14:24:00.001-07:00</published><updated>2010-05-21T14:24:52.952-07:00</updated><title type='text'>Hibernate:  Fixed char(n) in mysql  to java string</title><content type='html'>Please see this link. I had same problem: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://forum.hibernate.org/viewtopic.ph ... highlight= &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please see last entry which solved my problem. In mapping file if you can make changes link this: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;from your ref: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;property name="status" type="string"&gt;&lt;/property&gt;&lt;br /&gt;&lt;br /&gt;&lt;column&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;change to: &lt;br /&gt;&lt;br /&gt;&lt;property name="status" type="string"&gt;&lt;/property&gt;&lt;br /&gt;&lt;br /&gt;&lt;column&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This should solve you problem. By default Hibernate assumes that the column is string and compares against VARCHAR(255). This problem happens only when schema is validated. For any other cases this problem will not arise &lt;br /&gt;&lt;br /&gt;Source: &lt;a href="https://forum.hibernate.org/viewtopic.php?f=1&amp;amp;t=956019&amp;amp;start=0"&gt;https://forum.hibernate.org/viewtopic.php?f=1&amp;amp;t=956019&amp;amp;start=0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-4511958212235944377?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/4511958212235944377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=4511958212235944377&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4511958212235944377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4511958212235944377'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2010/05/hibernate-fixed-charn-in-mysql-to-java.html' title='Hibernate:  Fixed char(n) in mysql  to java string'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-8634179872854270518</id><published>2010-04-27T07:27:00.000-07:00</published><updated>2010-04-27T07:27:42.982-07:00</updated><title type='text'>Accessing Spring beans from Quartz jobs</title><content type='html'>http://cse-mjmcl.cse.bris.ac.uk/blog/2007/06/20/1182370280435.htm&lt;br /&gt;The Spring Framework integrates with the Quartz scheduler in a way that makes Quartz much easier to use. Although in order to use Spring beans with your Quartz jobs you have to deviate slightly from the usual Spring "dependency injection" way of doing things. According to the Spring API this is necessary because Quartz itself is responsible for the lifecycle of its Jobs. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I was recently refactoring my use of Quartz and Spring in my feed aggregator web application. Rather than explain the internal workings of my application at this time, I will explain some features I discovered with reference to James Goodwill's recent simple example of using Quartz and Spring together. James shows how a "cron style" job can easily be created by configuring Quartz Job, trigger, SchedulerFactoryBean and loading up the application context.&lt;br /&gt;&lt;br /&gt;Source : &lt;a href="http://cse-mjmcl.cse.bris.ac.uk/blog/2007/06/20/1182370280435.html"&gt;http://cse-mjmcl.cse.bris.ac.uk/blog/2007/06/20/1182370280435.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-8634179872854270518?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/8634179872854270518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=8634179872854270518&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8634179872854270518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8634179872854270518'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2010/04/accessing-spring-beans-from-quartz-jobs.html' title='Accessing Spring beans from Quartz jobs'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-4206273258016956958</id><published>2010-03-29T18:45:00.001-07:00</published><updated>2010-03-29T18:46:13.473-07:00</updated><title type='text'>javafx charts</title><content type='html'>&lt;a href="http://java.sun.com/developer/technicalArticles/javafx/v1_2_charts/"&gt;http://java.sun.com/developer/technicalArticles/javafx/v1_2_charts/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-4206273258016956958?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/4206273258016956958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=4206273258016956958&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4206273258016956958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4206273258016956958'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2010/03/javafx-charts.html' title='javafx charts'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-3974349651042373287</id><published>2010-03-29T14:06:00.000-07:00</published><updated>2010-03-29T14:06:24.265-07:00</updated><title type='text'>VM setting in Eclipse</title><content type='html'>http://wiki.eclipse.org/Eclipse.iniSpecifying the JVM &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One of the most recommended options to use is to specify a specific JVM for Eclipse to run on. Doing this ensures that you are absolutely certain which JVM Eclipse will run in and insulates you from system changes that can alter the "default" JVM for your system. Many a user has been tripped up because they thought they knew what JVM would be used by default, but they thought wrong. eclipse.ini lets you be CERTAIN. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The following examples of eclipse.ini demonstrate correct usage of the -vm option. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note the format of the -vm option - it is important to be exact: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The -vm option and its value (the path) must be on separate lines. &lt;br /&gt;&lt;br /&gt;The value must be the full absolute path to the Java executable, not just to the Java home directory. &lt;br /&gt;&lt;br /&gt;The -vm option must occur before the -vmargs option, since everything after -vmargs is passed directly to the JVM. &lt;br /&gt;&lt;br /&gt;Windows Example &lt;br /&gt;&lt;br /&gt;-showsplash&lt;br /&gt;&lt;br /&gt;org.eclipse.platform&lt;br /&gt;&lt;br /&gt;--launcher.XXMaxPermSize&lt;br /&gt;&lt;br /&gt;256m&lt;br /&gt;&lt;br /&gt;-vm&lt;br /&gt;&lt;br /&gt;C:\Java\JDK\1.5\bin\javaw.exe&lt;br /&gt;&lt;br /&gt;-vmargs&lt;br /&gt;&lt;br /&gt;-Xms40m&lt;br /&gt;&lt;br /&gt;-Xmx512m&lt;br /&gt;&lt;br /&gt;Source : &lt;a href="http://wiki.eclipse.org/Eclipse.ini"&gt;http://wiki.eclipse.org/Eclipse.ini&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-3974349651042373287?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/3974349651042373287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=3974349651042373287&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3974349651042373287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3974349651042373287'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2010/03/vm-setting-in-eclipse.html' title='VM setting in Eclipse'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-6415177639200407706</id><published>2010-03-29T08:15:00.000-07:00</published><updated>2010-03-29T08:15:34.168-07:00</updated><title type='text'>SQLite jdbc</title><content type='html'>&lt;a href="http://stackoverflow.com/questions/41233/java-and-sqlite"&gt;http://stackoverflow.com/questions/41233/java-and-sqlite&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.zentus.com/sqlitejdbc/"&gt;http://www.zentus.com/sqlitejdbc/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-6415177639200407706?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/6415177639200407706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=6415177639200407706&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6415177639200407706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6415177639200407706'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2010/03/sqlite-jdbc.html' title='SQLite jdbc'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-5171000796485784769</id><published>2010-01-17T16:40:00.000-08:00</published><updated>2010-01-17T16:40:52.894-08:00</updated><title type='text'>javascript : Select all checkbox</title><content type='html'>&lt;pre id="line48"&gt;function checkall()&lt;br /&gt;{&lt;br /&gt;   var len =document.getElementsByName('asid');&lt;br /&gt;   if(len.length != null)&lt;br /&gt;   {&lt;br /&gt;     for (var i = 0; i &amp;lt; len.length ; i++) {&lt;br /&gt;   len[i].checked = true;&lt;br /&gt;   }&lt;br /&gt;   }&lt;br /&gt;   else&lt;br /&gt;   {&lt;br /&gt;        len.checked = true;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function clearall()&lt;br /&gt;{&lt;/pre&gt;&lt;pre id="line48"&gt;var len =document.getElementsByName('asid');&lt;br /&gt;   if(len.length != null)&lt;br /&gt;   {&lt;br /&gt;     for (var i = 0; i &amp;lt; len.length ; i++) {&lt;br /&gt;   len[i].checked = false;&lt;br /&gt;   }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-5171000796485784769?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/5171000796485784769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=5171000796485784769&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/5171000796485784769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/5171000796485784769'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2010/01/javascript-select-all-checkbox.html' title='javascript : Select all checkbox'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-4267702981289126471</id><published>2009-12-28T13:14:00.001-08:00</published><updated>2009-12-28T13:14:50.432-08:00</updated><title type='text'>warbler</title><content type='html'>http://blog.headius.com/2008/08/zero-to-production-in-15-minutes.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-4267702981289126471?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/4267702981289126471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=4267702981289126471&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4267702981289126471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4267702981289126471'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/12/warbler.html' title='warbler'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-6907578969241198120</id><published>2009-11-12T17:56:00.001-08:00</published><updated>2009-11-12T17:56:19.202-08:00</updated><title type='text'>Removing Stale Rails Sessions</title><content type='html'>Source : http://www.realityforge.org/articles/2006/03/01/removing-stale-rails-sessions&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-6907578969241198120?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/6907578969241198120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=6907578969241198120&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6907578969241198120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6907578969241198120'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/11/removing-stale-rails-sessions.html' title='Removing Stale Rails Sessions'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-6983996955075670775</id><published>2009-11-12T17:47:00.000-08:00</published><updated>2009-11-12T17:47:19.936-08:00</updated><title type='text'>CGI::Session::ActiveRecordStore</title><content type='html'>&lt;pre&gt;if you upgrade to Rails 2.3, the session management has&lt;br /&gt;changed significantly, per the release notes:&lt;br /&gt;&lt;br /&gt;CGI::Session::CookieStore has been replaced by ActionController::Session::CookieStore.&lt;br /&gt;CGI::Session::MemCacheStore has been replaced by ActionController::Session::MemCacheStore.&lt;br /&gt;CGI::Session::ActiveRecordStore has been replaced by ActiveRecord::SessionStore.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-6983996955075670775?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/6983996955075670775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=6983996955075670775&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6983996955075670775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6983996955075670775'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/11/cgisessionactiverecordstore.html' title='CGI::Session::ActiveRecordStore'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-2852759240689218365</id><published>2009-11-12T16:53:00.001-08:00</published><updated>2009-11-12T16:53:59.154-08:00</updated><title type='text'>soap4r + rails + uninitialized constant  error</title><content type='html'>http://rubyglasses.blogspot.com/2008/10/soap4r-rails-cant-find.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-2852759240689218365?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/2852759240689218365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=2852759240689218365&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/2852759240689218365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/2852759240689218365'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/11/soap4r-rails-uninitialized-constant.html' title='soap4r + rails + uninitialized constant  error'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-8064485753883223619</id><published>2009-11-12T15:18:00.000-08:00</published><updated>2009-11-12T15:18:02.953-08:00</updated><title type='text'>Will_paginate + ajax</title><content type='html'>Good tutorial found at http://weblog.redlinesoftware.com/2008/1/30/willpaginate-and-remote-links&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-8064485753883223619?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/8064485753883223619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=8064485753883223619&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8064485753883223619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8064485753883223619'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/11/willpaginate-ajax.html' title='Will_paginate + ajax'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-6026147158741330293</id><published>2009-10-30T07:20:00.000-07:00</published><updated>2009-10-30T07:20:35.656-07:00</updated><title type='text'>Google charts ( Charts, Maps, ...)</title><content type='html'>The Google Chart API lets you dynamically   generate charts. To see the Chart API in action, open up a browser window and   copy the following URL into the address bar: &lt;code&gt;http://chart.apis.google.com/chart?cht=p3&amp;amp;chd=t:60,40&amp;amp;chs=250x100&amp;amp;chl=Hello|World&lt;/code&gt;&lt;br /&gt;Press the Enter or Return key and - presto! - you should see the following   image:&lt;br /&gt;&lt;img alt="Yellow pie chart" border="0" src="http://chart.apis.google.com/chart?cht=p3&amp;amp;chd=t:60,40&amp;amp;chs=250x100&amp;amp;chl=Hello%7CWorld" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/apis/chart/"&gt;http://code.google.com/apis/chart/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-6026147158741330293?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/6026147158741330293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=6026147158741330293&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6026147158741330293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6026147158741330293'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/10/google-charts-charts-maps.html' title='Google charts ( Charts, Maps, ...)'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-1816918200612887295</id><published>2009-10-23T16:09:00.001-07:00</published><updated>2009-10-23T16:09:44.622-07:00</updated><title type='text'>Win32::Service::Error: Access is denied.</title><content type='html'>Win32 access denied&lt;br /&gt;&lt;br /&gt;Rob Stiff&lt;br /&gt;Tue, 19 Aug 2008 07:27:31 -0700&lt;br /&gt;&lt;br /&gt;Rob Stiff wrote:&lt;br /&gt;&gt; Using the Win32 HOWTO information, I am attempting to start the service.&lt;br /&gt;&gt; upon the service::install command, I receiving the error 'Access is&lt;br /&gt;&gt; denied. (Win32::ServiceError).&lt;br /&gt;&gt; &lt;br /&gt;&gt; The error is occurring in line 146 of init.rb&lt;br /&gt;&gt; &lt;br /&gt;&gt; Version Information:&lt;br /&gt;&gt; Ruby 1.8.6&lt;br /&gt;&gt; Rails 1.2.0&lt;br /&gt;&gt; Gem 1.2.0&lt;br /&gt;&gt; Win32-Service 0.5.2&lt;br /&gt;&gt; Mongrel_service 0.3.4&lt;br /&gt;&gt; OS - Windows Vista&lt;br /&gt;&gt; &lt;br /&gt;&gt; There is a newer version of Win32 available (0.6.1), but this version is&lt;br /&gt;&gt; incompatible with mongrel_service and issues a version error.&lt;br /&gt;&gt; &lt;br /&gt;&gt; Thanks in advance!&lt;br /&gt;&lt;br /&gt;SOLVED.&lt;br /&gt;The issue was with Windows Vista. You must always run the command line &lt;br /&gt;by right-clicking and using the "Run as Administrator" option.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-1816918200612887295?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/1816918200612887295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=1816918200612887295&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1816918200612887295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1816918200612887295'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/10/win32serviceerror-access-is-denied.html' title='Win32::Service::Error: Access is denied.'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-4190220323553906810</id><published>2009-10-21T13:44:00.000-07:00</published><updated>2009-10-21T13:45:30.688-07:00</updated><title type='text'>classic pagination in Rails</title><content type='html'>Action Pack pagination for Active Record collections&lt;br /&gt;&lt;br /&gt;DEPRECATION WARNING: Pagination will be moved to a plugin in Rails 2.0. Install the classic_pagination plugin for forward compatibility:&lt;br /&gt;&lt;br /&gt;  script/plugin install svn://errtheblog.com/svn/plugins/classic_pagination&lt;br /&gt;&lt;br /&gt;The Pagination module aids in the process of paging large collections of Active Record objects. It offers macro-style automatic fetching of your model for multiple views, or explicit fetching for single actions. And if the magic isn‘t flexible enough for your needs, you can create your own paginators with a minimal amount of code.&lt;br /&gt;&lt;br /&gt;The Pagination module can handle as much or as little as you wish. In the controller, have it automatically query your model for pagination; or, if you prefer, create Paginator objects yourself.&lt;br /&gt;&lt;br /&gt;Pagination is included automatically for all controllers.&lt;br /&gt;&lt;br /&gt;For help rendering pagination links, see ActionView::Helpers::PaginationHelper.&lt;br /&gt;Automatic pagination for every action in a controller&lt;br /&gt;&lt;br /&gt;  class PersonController &lt; ApplicationController&lt;br /&gt;    model :person&lt;br /&gt;&lt;br /&gt;    paginate :people, :order =&gt; 'last_name, first_name',&lt;br /&gt;             :per_page =&gt; 20&lt;br /&gt;&lt;br /&gt;    # ...&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Source : http://api.rubyonrails.org/classes/ActionController/Pagination.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-4190220323553906810?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/4190220323553906810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=4190220323553906810&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4190220323553906810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4190220323553906810'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/10/classic-pagination-in-rails.html' title='classic pagination in Rails'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-5964763174331447082</id><published>2009-10-21T12:38:00.000-07:00</published><updated>2009-10-21T12:39:56.406-07:00</updated><title type='text'>reverse_proxy</title><content type='html'>Install via Subversion using the Ruby script/plugin install command. In the root of your Rails application structure&lt;br /&gt; (where you can see the app/ vendor/ and public/ folders)&lt;br /&gt; execute the following command:&lt;br /&gt;&lt;br /&gt;       ruby script/plugin install http://svn.napcsweb.com/public/reverse_proxy_fix&lt;br /&gt;&lt;br /&gt; You will be prompted by the script to specify the version of Rails you're using. Select&lt;br /&gt; the version that best matches your version of Rails and press the Enter key.&lt;br /&gt; You should be prompted to enter the base url of your front-end server when you install&lt;br /&gt; the plugin via script/plugin install.  You should not include the trailing slash! For&lt;br /&gt; example:&lt;br /&gt;&lt;br /&gt;       http://www.mydomain.com/typo&lt;br /&gt;&lt;br /&gt; If that doesn't work for some reason, you can run the install.rb script in&lt;br /&gt;&lt;br /&gt;    vendor/plugins/reverse_proxy_fix&lt;br /&gt;&lt;br /&gt; Or you can manually edit the file lib/config.rb and uncomment the BASE_URL line. (It should be the only line in the file. Enter the desired base url&lt;br /&gt; that you would like the plugin to prepend to any generated URLs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Source : http://www.napcsweb.com/rdoc/reverse_proxy_fix/index.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-5964763174331447082?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/5964763174331447082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=5964763174331447082&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/5964763174331447082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/5964763174331447082'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/10/reverseproxy.html' title='reverse_proxy'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-8956352341259144786</id><published>2009-10-18T06:10:00.001-07:00</published><updated>2009-10-18T06:10:52.948-07:00</updated><title type='text'>View Your Google Calendar in Outlook 2007</title><content type='html'>Google Calendar is a phenomenal web application for managing your calendars, but so many of us are still forced to use Outlook at work. The good thing is you can have the best of both worlds by subscribing to your Google Calendar from Outlook.&lt;br /&gt;&lt;br /&gt;The first thing you’ll have to do is get your Google Calendar iCal link. Just open your Google Calendar and go to Settings \ Calendar.&lt;br /&gt;&lt;br /&gt;Pick the calendar you want to sync with Outlook. Now in the Private Address field click on the ICAL button. This will show you your private Calendar address. Copy this address to the clipboard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-8956352341259144786?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/8956352341259144786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=8956352341259144786&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8956352341259144786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8956352341259144786'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/10/view-your-google-calendar-in-outlook.html' title='View Your Google Calendar in Outlook 2007'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-8686968018490933175</id><published>2009-10-08T15:04:00.001-07:00</published><updated>2009-10-08T15:04:31.255-07:00</updated><title type='text'>Installing Ruby 1.8.7 (and other stuff) manually</title><content type='html'>1. Download the windows binaries for Ruby 1.8.7 here: http://www.ruby-lang.org/en/downloads/ extract that to wherever you would like, I use c:\ruby. Then put c:\ruby\bin in your PATH environment variable.&lt;br /&gt;   2. Download the zlib package: http://www.zlib.net/zlib123-dll.zip and extract the zlib1.dll, rename it to zlib.dll and move it into your Windows\System32.&lt;br /&gt;   3. Download the iconv package: http://sourceforge.net/project/showfiles.php?group_id=25167&amp;package_id=51458. Find and extract the iconv.dll into your Windows\System32.&lt;br /&gt;   4. Download the rubygems package and follow the instructions, basically extracting the package and running ruby setup.rb&lt;br /&gt;   5. Verify that everything works properly by trying a gem install rails, once that installs then do: rails test_project&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://stackoverflow.com/questions/390897/installing-ruby-1-8-7-and-other-stuff-manually&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-8686968018490933175?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/8686968018490933175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=8686968018490933175&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8686968018490933175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8686968018490933175'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/10/installing-ruby-187-and-other-stuff.html' title='Installing Ruby 1.8.7 (and other stuff) manually'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-1512253521241987476</id><published>2009-10-08T14:18:00.000-07:00</published><updated>2009-10-08T14:19:12.773-07:00</updated><title type='text'>Ruby 1.8 missing lib ( SSLEAY.dll , ZLIB.dll)</title><content type='html'>Update: There is a new effort to create a decent Windows Ruby installer. You can get the new downloadable installers from http://rubyinstaller.org/downloads/ though as of August 2009 these are still in preview form. It seems from my brief experiment that you'll still have to set your PATH manually, as per my manual instructions below. This installer also promises a faster Ruby as it builds using superior tools, so might well be worthwhile if only for that. Below are my original manual instructions for installing Ruby on Windows, which should still be just as valid as they always were. The installer is probably worth a look though.&lt;br /&gt;&lt;br /&gt;The following worked for me on Windows XP, but maybe I'm yet to run into problems I don't know I've got:&lt;br /&gt;&lt;br /&gt;    * Download the Windows binary release from http://www.ruby-lang.org/en/downloads/&lt;br /&gt;    * Unzip it, in my case to C:\ruby191\&lt;br /&gt;    * Also download readline.dll (e.g. from http://www.econsultant.com/dll-database-r/readline.dll-download.html) and put the DLL in C:\ruby191\bin&lt;br /&gt;    * Put C:\ruby191\bin and C:\ruby191\lib on your PATH&lt;br /&gt;&lt;br /&gt;That got ruby working in a basic sense for me, but I wasn't able to install gems. If I tried, I got two errors in sequence: "The ordinal 277 could not be located in the dynamic link library SSLEAY32.dll" and "This application has failed to start because zlib.dll was not found."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The ssleay32.dll problem was solved by getting hold of a couple of DLLs and putting them in the right place, as follows:&lt;br /&gt;&lt;br /&gt;    * Download "Win32 OpenSSL v0.9.8k Light" from http://www.slproweb.com/products/Win32OpenSSL.html.&lt;br /&gt;    * Run the installer, but take note of the following:&lt;br /&gt;    * You can ignore any initial warning about not having Microsoft Visual C++ 2008 Redistributables.&lt;br /&gt;    * You can ignore any warnings about command prompts being open.&lt;br /&gt;    * Install to somewhere like C:\OpenSSL - it doesn't really matter, we just need a couple of DLLs.&lt;br /&gt;    * When prompted, choose to Copy OpenSSL DLLS to The OpenSSL binaries (/bin) directory.&lt;br /&gt;    * Once the installer has completed, you can go to C:\OpenSSL\bin (or wherever you installed it) and copy the two files ssleay32.dll and libeay32.dll to your Ruby bin directory, C:\ruby191\bin in my case.&lt;br /&gt;&lt;br /&gt;The zlib.dll problem was solved by in much the same way:&lt;br /&gt;&lt;br /&gt;    * Download the compiled zlib 1.2.3 DLL from http://www.zlib.net/ (about two thirds of the way down the page).&lt;br /&gt;    * Unzip it to get the zlib1.dll file.&lt;br /&gt;    * Put that file in your Ruby bin directory, but rename it to zlib.dll&lt;br /&gt;&lt;br /&gt;Et voila - gems can now be installed successfully! Note that you may have had copies of some of these DLLs in your \WINDOWS\system32 directory already (I certainly did) but the problem is that they are too old. I prefer to put the newer ones directly in the Ruby bin directory, so only Ruby picks them up and it can't break anything else on the system.&lt;br /&gt;&lt;br /&gt;http://alwaysthecritic.typepad.com/atc/2009/03/install-ruby-191-on-windows.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-1512253521241987476?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/1512253521241987476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=1512253521241987476&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1512253521241987476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1512253521241987476'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/10/ruby-18-missing-lib-ssleaydll-zlibdll.html' title='Ruby 1.8 missing lib ( SSLEAY.dll , ZLIB.dll)'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-7656365957081837610</id><published>2009-09-09T11:08:00.001-07:00</published><updated>2009-09-09T11:08:43.799-07:00</updated><title type='text'>Actionmailer 2.3.3</title><content type='html'>&lt;a href="http://support.heroku.com/forums/43117/entries/32352"&gt;http://support.heroku.com/forums/43117/entries/32352&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-7656365957081837610?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/7656365957081837610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=7656365957081837610&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/7656365957081837610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/7656365957081837610'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/09/actionmailer-233.html' title='Actionmailer 2.3.3'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-3193839458598096517</id><published>2009-08-27T06:58:00.000-07:00</published><updated>2009-08-27T06:59:04.388-07:00</updated><title type='text'>Ext Js Tutorial</title><content type='html'>http://extjs.com/learn/Tutorial:Introduction_to_Ext_2.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-3193839458598096517?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/3193839458598096517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=3193839458598096517&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3193839458598096517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3193839458598096517'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/08/ext-js-tutorial.html' title='Ext Js Tutorial'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-6768132255081564643</id><published>2009-08-06T13:44:00.000-07:00</published><updated>2009-08-06T13:45:33.778-07:00</updated><title type='text'>Rails 2.3 and Mysql 5.1</title><content type='html'>The title says it all. I wish Ruby on Rails wasn’t so difficult to get set up on Windows. It sounds like most Ruby on Rails developers are Mac OS X or Linux users.&lt;br /&gt;&lt;br /&gt;I was just trying to get a basic app set up with MySQL 5.1, Rails 2.3 and Ruby 1.8.6 and got this error when trying to run rake db:migrate:&lt;br /&gt;&lt;br /&gt;rake aborted!&lt;br /&gt;undefined method `each’ for #&lt;br /&gt;&lt;br /&gt;I found an answer here:&lt;br /&gt;&lt;br /&gt;http://www.nabble.com/rake-aborted!-undefined-method-%60each%27-for–%3CMysql:-td20760472.html&lt;br /&gt;&lt;br /&gt;Looks like most people uninstalled MySQL 5.1 and went back to 5.0. People also seemed to have better luck with Postgresql.&lt;br /&gt;&lt;br /&gt;Source : http://peterskim.org/2009/04/12/mysql-51-with-rails-23ruby-186-on-windows-doesnt-work/&lt;br /&gt;&lt;br /&gt;Also Comments : &lt;br /&gt;I’m running MYSQL 5.1 and had a similar problem. I have Ruby 1.8.6. I followed these instructions and the undefined method error was resolved when running rake.&lt;br /&gt;&gt; The problem is that libmysql.dll shipped with Mysql doesn’t play well&lt;br /&gt;&gt; with ruby 2.2..&lt;br /&gt;&gt;&lt;br /&gt;&gt; The solution is to download the libmysql.dll from:&lt;br /&gt;&gt;&lt;br /&gt;&gt; http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-6768132255081564643?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/6768132255081564643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=6768132255081564643&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6768132255081564643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6768132255081564643'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/08/rails-23-and-mysql-51.html' title='Rails 2.3 and Mysql 5.1'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-796642380403215324</id><published>2009-07-28T08:09:00.001-07:00</published><updated>2009-07-28T08:09:57.139-07:00</updated><title type='text'>Date Time format for Rails Ruby</title><content type='html'>------------------------------------------------------------------ Time#strftime&lt;br /&gt;time.strftime( string ) =&gt; string&lt;br /&gt;---------------------------------------------------------------------------------&lt;br /&gt;Formats time according to the directives in the given format string. Any text not listed as a directive will be passed through to the output string.&lt;br /&gt;&lt;br /&gt;"&lt;br /&gt;Format meaning:&lt;br /&gt;&lt;br /&gt;  %a - The abbreviated weekday name (``Sun'')&lt;br /&gt;  %A - The  full  weekday  name (``Sunday'')&lt;br /&gt;  %b - The abbreviated month name (``Jan'')&lt;br /&gt;  %B - The  full  month  name (``January'')&lt;br /&gt;  %c - The preferred local date and time representation&lt;br /&gt;  %d - Day of the month (01..31)&lt;br /&gt;  %H - Hour of the day, 24-hour clock (00..23)&lt;br /&gt;  %I - Hour of the day, 12-hour clock (01..12)&lt;br /&gt;  %j - Day of the year (001..366)&lt;br /&gt;  %m - Month of the year (01..12)&lt;br /&gt;  %M - Minute of the hour (00..59)&lt;br /&gt;  %p - Meridian indicator (``AM''  or  ``PM'')&lt;br /&gt;  %S - Second of the minute (00..60)&lt;br /&gt;  %U - Week  number  of the current year,&lt;br /&gt;          starting with the first Sunday as the first&lt;br /&gt;          day of the first week (00..53)&lt;br /&gt;  %W - Week  number  of the current year,&lt;br /&gt;          starting with the first Monday as the first&lt;br /&gt;          day of the first week (00..53)&lt;br /&gt;  %w - Day of the week (Sunday is 0, 0..6)&lt;br /&gt;  %x - Preferred representation for the date alone, no time&lt;br /&gt;  %X - Preferred representation for the time alone, no date&lt;br /&gt;  %y - Year without a century (00..99)&lt;br /&gt;  %Y - Year with century&lt;br /&gt;  %Z - Time zone name&lt;br /&gt;  %% - Literal ``%'' character&lt;br /&gt;&lt;br /&gt;   t = Time.now&lt;br /&gt;   t.strftime("Printed on %m/%d/%Y")   #=&gt; "Printed on 04/09/2003"&lt;br /&gt;   t.strftime("at %I:%M%p")            #=&gt; "at 08:56AM"&lt;br /&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-796642380403215324?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/796642380403215324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=796642380403215324&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/796642380403215324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/796642380403215324'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/07/date-time-format-for-rails-ruby.html' title='Date Time format for Rails Ruby'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-6551984169064995609</id><published>2009-05-31T19:02:00.001-07:00</published><updated>2009-05-31T19:02:53.499-07:00</updated><title type='text'>magicjack and Win xp issues</title><content type='html'>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11 CE-BFC1-08002BE10318&lt;br /&gt;&lt;br /&gt;Hopefully these simple directions will help those who are not master computer techs like me:) God knows I couldn't get it right to save my life! But a light bulb went off in my head and this is how I did it. Almost embarassing to mention; &lt;br /&gt;&lt;br /&gt;When looking for this file in device manager please consider the following Steps:&lt;br /&gt;&lt;br /&gt;To resolve this problem, remove the affected filter drivers. To do this, follow these steps:&lt;br /&gt;&lt;br /&gt;1. Click Start, type regedit in the Start Search box, and then click regedit in the Programs list.&lt;br /&gt;&lt;br /&gt;If you are prompted for an administrator password or confirmation, type your password, or click Continue. &lt;br /&gt;&lt;br /&gt;2. Locate, and then click the following registry subkey:&lt;br /&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}&lt;br /&gt;&lt;br /&gt;ie., 1. Go to HKEY_LOCAL_MACHINE and click on it.&lt;br /&gt;2. part of the sub directory will appear&lt;br /&gt;3. then click on SYSTEM&lt;br /&gt;4. You will then see Current Control Set click on it&lt;br /&gt;5. And so on......get the picture now! &lt;br /&gt;Whew! Now follow the rest of the directions and you should have any additional problems&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Caution There can be many instances of the registry subkey that is mentioned in step 2. You must make sure that you are in the appropriate registry subkey before modifying the UpperFilters and the LowerFilters values. To verify that you are in the appropriate registry subkey, make sure that the Default data value is DVD/CD-ROM and the Class data value is CDROM.&lt;br /&gt;&lt;br /&gt;3. In the right pane, right-click UpperFilters, and then click Delete.&lt;br /&gt;&lt;br /&gt;4. Click Yes to confirm the removal of the UpperFilters registry entry. &lt;br /&gt;&lt;br /&gt;5. In the right pane, right-click LowerFilters, and then click Delete. &lt;br /&gt;&lt;br /&gt;6. Click Yes to confirm the removal of the LowerFilters registry entry. &lt;br /&gt;&lt;br /&gt;7. Exit Registry Editor, and then restart the computer.&lt;br /&gt;&lt;br /&gt;Source : &lt;a href="http://forums.cnet.com/5208-12546_102-0.html?threadID=241915&amp;start=45&amp;tag=forum-w;forums06"&gt;http://forums.cnet.com/5208-12546_102-0.html?threadID=241915&amp;start=45&amp;tag=forum-w;forums06&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-6551984169064995609?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/6551984169064995609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=6551984169064995609&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6551984169064995609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6551984169064995609'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/05/magicjack-and-win-xp-issues.html' title='magicjack and Win xp issues'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-8149894482524730028</id><published>2009-05-20T06:23:00.000-07:00</published><updated>2009-05-20T06:24:25.468-07:00</updated><title type='text'>load files in jar</title><content type='html'>If you use a filename, then the filename has to refer to a real file. But if you use a "resource name," that resource might be a file or it might be a component of a JAR (or theoretically something else altogether.)&lt;br /&gt;The magic method(s) in this case are the family of loadResource() methods. For example, Class.getResource().&lt;br /&gt;If youve got a class foo/bar/Test.class inside a JAR file, and also a foo/bar/Image.jpg, then inside the Test class you can refer to Image.jpg using&lt;br /&gt;URL theURL = getClass().getResource("Image.jpg");&lt;br /&gt;and then pass the URL to ImageIcon's constructor for example.&lt;br /&gt;Source : &lt;a href="http://www.coderanch.com/t/276412/Streams/java/Load-file-inside-JAR"&gt;http://www.coderanch.com/t/276412/Streams/java/Load-file-inside-JAR&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-8149894482524730028?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/8149894482524730028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=8149894482524730028&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8149894482524730028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8149894482524730028'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/05/load-files-in-jar.html' title='load files in jar'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-8003370985262656069</id><published>2009-05-16T23:54:00.000-07:00</published><updated>2009-05-16T23:55:26.037-07:00</updated><title type='text'>Clear Winxp RAM</title><content type='html'>How to Clear Ram Cache in Windows XP - Tips and Tricks&lt;br /&gt;&lt;br /&gt;This is a nice and simple tip and trick, how to clear RAM on a Windows XP system that will release the idle processes which cause your system to run slowly, and doesn’t require a typical system reboot.&lt;br /&gt;&lt;br /&gt;Steps to follow:&lt;br /&gt;&lt;br /&gt;1. Locate an empty spot on your desktop, right click on your mouse and select - new shortcut.&lt;br /&gt;&lt;br /&gt;2. Type “%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks” without the brackets in the box and click next.&lt;br /&gt;&lt;br /&gt;3. Name your shortcut “XP Clear RAM,” and click finish…. All done!…&lt;br /&gt;&lt;br /&gt;Now, when your system slows down just click the XP clear ram shortcut, and you are back to your normal operating speed.&lt;br /&gt;&lt;br /&gt;Squeaky…….&lt;br /&gt;&lt;br /&gt;Source : &lt;a href="http://www.madmouseblog.com/clear-windows-xp-ram-without-a-system-restart/"&gt; madmouseblog &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-8003370985262656069?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/8003370985262656069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=8003370985262656069&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8003370985262656069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8003370985262656069'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/05/clear-winxp-ram.html' title='Clear Winxp RAM'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-7423205906782505095</id><published>2009-05-11T13:42:00.000-07:00</published><updated>2009-05-11T13:43:13.269-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java compression'/><title type='text'>Inflater Deflater</title><content type='html'>public class Inflater&lt;br /&gt;extends Object&lt;br /&gt;This class provides support for general purpose decompression using popular ZLIB compression library. The ZLIB compression library was initially developed as part of the PNG graphics standard and is not protected by patents. It is fully described in the specifications at the java.util.zip package description.&lt;br /&gt;&lt;br /&gt;The following code fragment demonstrates a trivial compression and decompression of a string using Deflater and Inflater.&lt;br /&gt;&lt;br /&gt; // Encode a String into bytes&lt;br /&gt; String inputString = "blahblahblah??";&lt;br /&gt; byte[] input = inputString.getBytes("UTF-8");&lt;br /&gt;&lt;br /&gt; // Compress the bytes&lt;br /&gt; byte[] output = new byte[100];&lt;br /&gt; Deflater compresser = new Deflater();&lt;br /&gt; compresser.setInput(input);&lt;br /&gt; compresser.finish();&lt;br /&gt; int compressedDataLength = compresser.deflate(output);&lt;br /&gt;&lt;br /&gt; // Decompress the bytes&lt;br /&gt; Inflater decompresser = new Inflater();&lt;br /&gt; decompresser.setInput(output, 0, compressedDataLength);&lt;br /&gt; byte[] result = new byte[100];&lt;br /&gt; int resultLength = decompresser.inflate(result);&lt;br /&gt; decompresser.end();&lt;br /&gt;&lt;br /&gt; // Decode the bytes into a String&lt;br /&gt; String outputString = new String(result, 0, resultLength, "UTF-8");&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-7423205906782505095?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/7423205906782505095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=7423205906782505095&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/7423205906782505095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/7423205906782505095'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/05/inflater-deflater.html' title='Inflater Deflater'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-9196907148001367008</id><published>2009-05-10T19:28:00.001-07:00</published><updated>2009-05-10T19:28:57.229-07:00</updated><title type='text'>each_hash error with Rails 2.2 and mysql 5.1</title><content type='html'>Rails 2.2 MySQL removed error SOLUTION&lt;br /&gt;by protech_v2 » Mon Dec 15, 2008 8:04 pm&lt;br /&gt;&lt;br /&gt;If at any point when you've upgraded to Rails 2.2. you get the following error on Windows: &lt;br /&gt;&lt;br /&gt;"!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql." &lt;br /&gt;&lt;br /&gt;the problem is because MySQL 5.1 client library doesn't play well with Rails - the solution is simple however: &lt;br /&gt;&lt;br /&gt;- download older MySQL client library, for example one from InstantRails: http://instantrails.rubyforge.org/svn/t ... bmySQL.dll &lt;br /&gt;&lt;br /&gt;- copy the downloaded file to C:\Ruby\bin (or wherever you installed Ruby) &lt;br /&gt;&lt;br /&gt;- restart MySQL server &lt;br /&gt;&lt;br /&gt;That's it! Just thought I'd share this with others, lost me an hour of researching. &lt;br /&gt;&lt;br /&gt;Good luck!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forums.aptana.com/viewtopic.php?t=7563"&gt;REF&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-9196907148001367008?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/9196907148001367008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=9196907148001367008&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/9196907148001367008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/9196907148001367008'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/05/eachhash-error-with-rails-22-and-mysql.html' title='each_hash error with Rails 2.2 and mysql 5.1'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-504818855436848657</id><published>2009-05-10T16:16:00.000-07:00</published><updated>2009-05-10T16:22:49.845-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX HTML IE'/><title type='text'>Internet Explorer Inner HTML</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap; "&gt;Reference : http://muffinresearch.co.uk/archives/2006/07/19/bug-when-creating-select-options-using-innerhtml-in-ie/&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;function helo()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;var a = document.getElementById('targetDiv');&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;opt = document.createElement("option");&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;opt_txt = document.createTextNode("aaaa");&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;opt.appendChild(opt_txt);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;opt.setAttribute("value", "bbbbb"); a.appendChild(opt);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;} &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;&lt; onclick="helo();"&gt;Using JavaScript functions&lt;/ h1 &gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;&lt; id="targetDiv" size="5"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;&lt; id="'a'"&gt;hh&lt; / option &gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 13px; white-space: pre-wrap;"&gt;&lt; / select &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-504818855436848657?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/504818855436848657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=504818855436848657&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/504818855436848657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/504818855436848657'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/05/internet-explorer-inner-html.html' title='Internet Explorer Inner HTML'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-941217577789000416</id><published>2009-05-10T14:19:00.000-07:00</published><updated>2009-05-10T14:20:16.622-07:00</updated><title type='text'>small textbox in IE 8.0</title><content type='html'>◦In IE8 click “Tools” | “Internet Options” | and choose the “Advanced” tab.&lt;br /&gt;◦Scroll down one full scrolls worth and uncheck the “Enable visual styles on buttons and controls in webpages“&lt;br /&gt;◦Click “OK” - it will take a few seconds, then your browser should display correctly.  You should not have to close/reopen the browser for the change to take effect.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.ejabs.com/2009/03/fix-tiny-forms-in-ie8/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-941217577789000416?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/941217577789000416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=941217577789000416&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/941217577789000416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/941217577789000416'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/05/small-textbox-in-ie-80.html' title='small textbox in IE 8.0'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-2807636050253929003</id><published>2009-05-03T18:02:00.000-07:00</published><updated>2009-05-03T18:03:28.224-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails ruby select option'/><title type='text'></title><content type='html'>What you do is create a select tag with the “select” method like so: (using the client/project scenario)&lt;br /&gt;&lt;br /&gt;f.select(:client_id,&lt;br /&gt;&lt;br /&gt;The next value you pass to the select method has to be an array of text/value pairs&lt;br /&gt;&lt;br /&gt;like this: [ [ "Jason Johnson", 1], ["Trey Piepmeier", 2], ["Royall", 3] ]&lt;br /&gt;&lt;br /&gt;In order to create this array, you do a find on your clients table and use Ruby’s “collect” method.&lt;br /&gt;&lt;br /&gt;like so:&lt;br /&gt;&lt;br /&gt;Client.find(:all).collect {|c| [ c.name, c.id ]}&lt;br /&gt;&lt;br /&gt;So, altogether now:&lt;br /&gt;&lt;br /&gt;f.select(:client_id, Client.find(:all).collect {|c| [ c.name, c.id ] })&lt;br /&gt;&lt;br /&gt;&lt;a href="http://solutions.treypiepmeier.com/2007/07/04/related-select-dropdowns-in-rails-views/"&gt;Reference&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-2807636050253929003?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/2807636050253929003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=2807636050253929003&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/2807636050253929003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/2807636050253929003'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/05/what-you-do-is-create-select-tag-with.html' title=''/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-3743640003885732078</id><published>2009-05-02T17:51:00.000-07:00</published><updated>2009-05-02T17:53:56.952-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java JAXB Webservices Annotations Mule'/><title type='text'>JAXB ignores "@required" fields in validation</title><content type='html'>Reference Links : &lt;br /&gt;&lt;br /&gt;http://www.cowtowncoder.com/blog/archives/cat_java.html&lt;br /&gt;http://kirkwylie.blogspot.com/2008/10/jaxb-2x-and-xmlelementrequiredtrue.html&lt;br /&gt;http://www.nabble.com/JAXB-ingores-@XmlElement(required%3Dtrue)-on-unmarshalling-in-JAX-RS-td22122276.html&lt;br /&gt;http://myarch.com/using-schema-validation-with-jaxb-and-xfire&lt;br /&gt;https://jaxb.dev.java.net/guide/Migrating_JAXB_2_0_applications_to_JavaSE_6.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-3743640003885732078?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/3743640003885732078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=3743640003885732078&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3743640003885732078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3743640003885732078'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/05/jaxb-ignores-required-fields-in.html' title='JAXB ignores &quot;@required&quot; fields in validation'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-3606707988080557038</id><published>2009-04-09T12:48:00.001-07:00</published><updated>2009-04-09T12:48:47.234-07:00</updated><title type='text'>WSDL2ruby</title><content type='html'>1. Download soap4r from SVN. &lt;br /&gt;svn co http://dev.ctor.org/svn/soap4r/trunk/bin soap4r &lt;br /&gt;This will result in two files being downloaded - wsdl2ruby.rb and &lt;br /&gt;xsd2ruby.rb. The one I used was the wsdl2ruby.rb. &lt;br /&gt;2. Generate sample SOAP client file &lt;br /&gt;ruby wsdl2ruby.rb --wsdl http://location_of_WSDL --type client &lt;br /&gt;This will result in the creation of three files - default.rb, &lt;br /&gt;defaultDriver.rb and WSClient.rb. The sample client file is &lt;br /&gt;WSClient.rb. Inside this file, I found all the remote methods and "nil" &lt;br /&gt;arguments being passed to them. For e.g., I had a remote method defined &lt;br /&gt;as follows in my web-service: &lt;br /&gt;string observe (string req_id, string[] names, string[] values); &lt;br /&gt;The second and third argument for this file were vectors of strings. &lt;br /&gt;In the ruby client file, this method was exposed as follows: &lt;br /&gt;obj = WSSoap.new(nil) &lt;br /&gt;parameters = nil &lt;br /&gt;puts obj.observe(parameters) &lt;br /&gt;So, even though my remote method should have three arguments, here &lt;br /&gt;there is only one. According to nahi's email, I needed to construct a &lt;br /&gt;hash table and pass that as the single argument. &lt;br /&gt;3. Pass actual arguments. &lt;br /&gt;name = ['CENTER', 'SPAN', 'SCALE', 'YREF', 'INTERVAL'] &lt;br /&gt;val = ['5.18 GHz', '2.95 MHz', '4.00', '-68.70', '30000'] &lt;br /&gt;parameters = { &lt;br /&gt;        'req_id' =&gt; '1', &lt;br /&gt;        'names' =&gt; {:string =&gt; name}, &lt;br /&gt;        'values' =&gt; {:string =&gt; val} &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;result = obj.observe(parameters) &lt;br /&gt;puts result.inspect&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-3606707988080557038?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/3606707988080557038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=3606707988080557038&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3606707988080557038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3606707988080557038'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/04/wsdl2ruby.html' title='WSDL2ruby'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-5514701657551966116</id><published>2009-04-09T06:23:00.000-07:00</published><updated>2009-04-09T06:24:32.642-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby UUID'/><title type='text'>UUID Ruby link</title><content type='html'>http://wiki.github.com/assaf/uuid&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-5514701657551966116?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/5514701657551966116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=5514701657551966116&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/5514701657551966116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/5514701657551966116'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/04/uuid-ruby-link.html' title='UUID Ruby link'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-4070506199216446923</id><published>2009-04-09T06:11:00.000-07:00</published><updated>2009-04-09T06:12:32.890-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby UUID'/><title type='text'>ruby UUID installation</title><content type='html'>gem install UUID&lt;br /&gt;create ENVironment variable "HOME" in windows. Set it to any Directory.&lt;br /&gt;&lt;br /&gt;require 'UUID'&lt;br /&gt;&lt;br /&gt;p UUID.generate&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-4070506199216446923?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/4070506199216446923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=4070506199216446923&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4070506199216446923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4070506199216446923'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/04/ruby-uuid-installation.html' title='ruby UUID installation'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-9052170542519801951</id><published>2009-03-18T19:13:00.000-07:00</published><updated>2009-03-18T19:15:07.203-07:00</updated><title type='text'>DOM to BLOB to DOM</title><content type='html'>&lt;pre&gt;&lt;br /&gt;private void test1() throws ParserConfigurationException {&lt;br /&gt;  ByteArrayOutputStream baos = new ByteArrayOutputStream(5120);&lt;br /&gt;  DocumentBuilderFactory doc1 = DocumentBuilderFactory.newInstance();&lt;br /&gt;  DocumentBuilder doc2 = doc1.newDocumentBuilder();&lt;br /&gt;  Document doc = doc2.newDocument();&lt;br /&gt;  org.w3c.dom.Element elem1 = doc.createElement("name1");&lt;br /&gt;  doc.appendChild(elem1);&lt;br /&gt;  org.w3c.dom.Node node = doc.getFirstChild();&lt;br /&gt;  TransformerFactory tfact = TransformerFactory.newInstance();&lt;br /&gt;  try {&lt;br /&gt;   Transformer tf = tfact.newTransformer();&lt;br /&gt;   StringWriter sw = new StringWriter();&lt;br /&gt;   Result rs = new StreamResult(sw);&lt;br /&gt;   Source src = new DOMSource(node);&lt;br /&gt;   tf.transform(src, rs);&lt;br /&gt;   baos.write(sw.toString().getBytes());&lt;br /&gt;   Object a = baos.toByteArray();&lt;br /&gt;   baos.flush();&lt;br /&gt;   baos.reset();&lt;br /&gt;   baos.close();&lt;br /&gt;   &lt;br /&gt;   sw.close();&lt;br /&gt;   System.err.println(sw.toString());&lt;br /&gt;   System.err.println(a.toString());&lt;br /&gt;   String n = new String((byte[])a);&lt;br /&gt;   try {&lt;br /&gt;    Document doc12 = doc2.parse(new InputSource(new StringReader(n)));&lt;br /&gt;    System.err.println(doc12.toString());&lt;br /&gt;   } catch (SAXException e) {&lt;br /&gt;    // TODO Auto-generated catch block&lt;br /&gt;    e.printStackTrace();&lt;br /&gt;   }&lt;br /&gt;   System.err.println("........."+n);&lt;br /&gt;&lt;br /&gt;  } catch (TransformerConfigurationException e) {&lt;br /&gt;   // TODO Auto-generated catch block&lt;br /&gt;   e.printStackTrace();&lt;br /&gt;  } catch (TransformerException e) {&lt;br /&gt;   // TODO Auto-generated catch block&lt;br /&gt;   e.printStackTrace();&lt;br /&gt;  } catch (IOException e) {&lt;br /&gt;   // TODO Auto-generated catch block&lt;br /&gt;   e.printStackTrace();&lt;br /&gt;  }&lt;br /&gt; &lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-9052170542519801951?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/9052170542519801951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=9052170542519801951&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/9052170542519801951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/9052170542519801951'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2009/03/dom-to-blob-to-dom.html' title='DOM to BLOB to DOM'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-7669344954356716354</id><published>2008-09-05T10:12:00.001-07:00</published><updated>2008-09-05T10:12:28.005-07:00</updated><title type='text'>java:comp/env</title><content type='html'>java:comp/env is a special context available to Java EE components. It provides the abstraction that each web application and ejb component has its own private naming context. The "java:comp/env" string is only used in the actual lookup() call. When defining the component dependency, it's up to the developer to pick a logical name that represents the dependency within its component naming context. There are recommendations for how to name things, e.g. prepending "jdbc" or "ejb" but those are only guidelines. The developer can choose any name he/she prefers.&lt;br /&gt;&lt;br /&gt;Taking your example, if the code expects to do a lookup of a datasource dependency using ctx.lookup("java:comp/env/jdbc/mydb")&lt;br /&gt;&lt;br /&gt;then the corresponding resource-ref would look like :&lt;br /&gt;&lt;br /&gt;&lt;resource-ref&gt;&lt;br /&gt;&lt;res-ref-name&gt;jdbc/mydb&lt;/res-ref-name&gt;&lt;br /&gt;&lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/resource-ref&gt;&lt;br /&gt;&lt;br /&gt;You're not the only one that has found dealing with java:comp/env a bit confusing. That's one reason the Java EE 5 platform provides an alternative to context lookups() in the form of resource injection.&lt;br /&gt;&lt;br /&gt;You might find the following presentation about component dependencies useful :&lt;br /&gt;https://glassfish.dev.java.net/javaee5/ejb/compdependencies_xmlforum_nov15.pdf&lt;br /&gt;&lt;br /&gt;Regarding the portability of code using java:comp/env between Java EE implementations and stand-alone web servers like Tomcat, it's true that not all Java EE code can be used outside of Java EE. However, it's guaranteed to be portable to other Java EE implementations.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://forums.java.net/jive/thread.jspa?threadID=14497&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-7669344954356716354?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/7669344954356716354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=7669344954356716354&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/7669344954356716354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/7669344954356716354'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/javacompenv.html' title='java:comp/env'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-838468127828136391</id><published>2008-09-05T09:12:00.001-07:00</published><updated>2008-09-05T09:12:38.814-07:00</updated><title type='text'>J2EE Basics</title><content type='html'>http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/GettingStarted5.html&lt;br /&gt;&lt;br /&gt;The J2EETM Tutorial&lt;br /&gt;Home&lt;br /&gt;TOC&lt;br /&gt;Index  PREV TOP NEXT  Search&lt;br /&gt;Feedback&lt;br /&gt;&lt;br /&gt;    Creating the J2EE Application Client&lt;br /&gt;&lt;br /&gt;    A J2EE application client is a program written in the Java programming language. At runtime, the client program executes in a different virtual machine than the J2EE server.&lt;br /&gt;&lt;br /&gt;    The J2EE application client in this example requires two different JAR files. The first JAR file is for the J2EE component of the client. This JAR file contains the client's deployment descriptor and its class files. When you run the New Application Client wizard, the deploytool utility automatically creates the JAR file and stores it in the application's EAR file. Defined by the J2EE Specification, the JAR file is portable across all compliant J2EE servers.&lt;br /&gt;&lt;br /&gt;    The second JAR file contains stub classes that are required by the client program at runtime. These stub classes enable the client to access the enterprise beans that are running in the J2EE server. Because this second JAR file is not covered by the J2EE Specification, it is implementation specific, intended only for the J2EE SDK.&lt;br /&gt;&lt;br /&gt;    The J2EE application client source code is in j2eetutorial/examples/src/ejb/converter/ConverterClient.java. You already compiled this code along with the enterprise bean code in the section Compiling the Source Files.&lt;br /&gt;    Coding the J2EE Application Client&lt;br /&gt;&lt;br /&gt;    The ConverterClient.java source code illustrates the basic tasks performed by the client of an enterprise bean:&lt;br /&gt;&lt;br /&gt;        * Locating the home interface&lt;br /&gt;        * Creating an enterprise bean instance&lt;br /&gt;        * Invoking a business method&lt;br /&gt;&lt;br /&gt;    Locating the Home Interface&lt;br /&gt;&lt;br /&gt;    The ConverterHome interface defines life-cycle methods such as create. Before the ConverterClient can invoke the create method, it must locate and instantiate an object whose type is ConverterHome. This is a four-step process.&lt;br /&gt;&lt;br /&gt;       1. Create an initial naming context.&lt;br /&gt;&lt;br /&gt;                  Context initial = new InitialContext();&lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;          The Context interface is part of the Java Naming and Directory Interface (JNDI). A naming context is a set of name-to-object bindings. A name that is bound within a context is the JNDI name of the object.&lt;br /&gt;          An InitialContext object, which implements the Context interface, provides the starting point for the resolution of names. All naming operations are relative to a context.&lt;br /&gt;&lt;br /&gt;       2. Obtain the environment naming context of the application client.&lt;br /&gt;&lt;br /&gt;                 Context myEnv = (Context)initial.lookup("java:comp/env");&lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;          The java:comp/env name is bound to the environment naming context of the ConverterClient component.&lt;br /&gt;&lt;br /&gt;       3. Retrieve the object bound to the name ejb/SimpleConverter.&lt;br /&gt;&lt;br /&gt;                 Object objref = myEnv.lookup("ejb/SimpleConverter");&lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;          The ejb/SimpleConverter name is bound to an enterprise bean reference, a logical name for the home of an enterprise bean. In this case, the ejb/SimpleConverter name refers to the ConverterHome object. The names of enterprise beans should reside in the java:com/env/ejb subcontext.&lt;br /&gt;&lt;br /&gt;       4. Narrow the reference to a ConverterHome object.&lt;br /&gt;&lt;br /&gt;                 ConverterHome home =&lt;br /&gt;                    (ConverterHome) PortableRemoteObject.narrow(objref,&lt;br /&gt;                       ConverterHome.class);&lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;    Creating an Enterprise Bean Instance&lt;br /&gt;&lt;br /&gt;    To create the bean instance, the client invokes the create method on the ConverterHome object. The create method returns an object whose type is Converter. The remote Converter interface defines the business methods of the bean that the client may call. When the client invokes the create method, the EJB container instantiates the bean and then invokes the ConverterBean.ejbCreate method. The client invokes the create method as follows:&lt;br /&gt;&lt;br /&gt;        Converter currencyConverter = home.create();&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;    Invoking a Business Method&lt;br /&gt;&lt;br /&gt;    Calling a business method is easy--you simply invoke the method on the Converter object. The EJB container will invoke the corresponding method on the ConverterEJB instance that is running on the server. The client invokes the dollarToYen business method in the following lines of code.&lt;br /&gt;&lt;br /&gt;        BigDecimal param = new BigDecimal ("100.00");&lt;br /&gt;        BigDecimal amount = currencyConverter.dollarToYen(param);&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;    ConverterClient Source Code&lt;br /&gt;&lt;br /&gt;    The full source code for the ConverterClient program follows.&lt;br /&gt;&lt;br /&gt;        import javax.naming.Context;&lt;br /&gt;        import javax.naming.InitialContext;&lt;br /&gt;        import javax.rmi.PortableRemoteObject;&lt;br /&gt;        import java.math.BigDecimal;&lt;br /&gt;&lt;br /&gt;        public class ConverterClient {&lt;br /&gt;&lt;br /&gt;           public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;              try {&lt;br /&gt;                 Context initial = new InitialContext();&lt;br /&gt;                 Object objref = initial.lookup&lt;br /&gt;                    ("java:comp/env/ejb/SimpleConverter");&lt;br /&gt;&lt;br /&gt;                 ConverterHome home = &lt;br /&gt;                    (ConverterHome)PortableRemoteObject.narrow(objref, &lt;br /&gt;                                                  ConverterHome.class);&lt;br /&gt;&lt;br /&gt;                 Converter currencyConverter = home.create();&lt;br /&gt;&lt;br /&gt;                 BigDecimal param = new BigDecimal ("100.00");&lt;br /&gt;                 BigDecimal amount =&lt;br /&gt;                    currencyConverter.dollarToYen(param);&lt;br /&gt;                 System.out.println(amount);&lt;br /&gt;                 amount = currencyConverter.yenToEuro(param);&lt;br /&gt;                 System.out.println(amount);&lt;br /&gt;&lt;br /&gt;                 System.exit(0);&lt;br /&gt;&lt;br /&gt;              } catch (Exception ex) {&lt;br /&gt;                 System.err.println("Caught an unexpected exception!");&lt;br /&gt;                 ex.printStackTrace();&lt;br /&gt;              }&lt;br /&gt;           } &lt;br /&gt;        }&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;    Compiling the Application Client&lt;br /&gt;&lt;br /&gt;    The application client files are compiled at the same time as the enterprise bean files, as described in Compiling the Source Files.&lt;br /&gt;    Packaging the J2EE Application Client&lt;br /&gt;&lt;br /&gt;    To package an application client component, you run the New Application Client wizard of the deploytool. During this process the wizard performs the following tasks.&lt;br /&gt;&lt;br /&gt;        * Creates the application client's deployment descriptor&lt;br /&gt;        * Puts the deployment descriptor and client files into a JAR file&lt;br /&gt;        * Adds the JAR file to the application's ConverterApp.ear file&lt;br /&gt;&lt;br /&gt;    After the packaging process you can view the deployment descriptor by selecting ToolsDescriptor Viewer.&lt;br /&gt;&lt;br /&gt;    To start the New Application Client wizard, select FileNewApplication Client. The wizard displays the following dialog boxes.&lt;br /&gt;&lt;br /&gt;       1. Introduction dialog box&lt;br /&gt;             1. Read the explanatory text for an overview of the wizard's features.&lt;br /&gt;             2. Click Next.&lt;br /&gt;       2. JAR File Contents dialog box&lt;br /&gt;             1. In the combo box, select ConverterApp.&lt;br /&gt;             2. Click Edit.&lt;br /&gt;             3. In the tree under Available Files, locate the j2eetutorial/examples/build/ejb/converter directory.&lt;br /&gt;             4. Select the ConverterClient.class file and click Add.&lt;br /&gt;             5. Click OK.&lt;br /&gt;             6. Click Next.&lt;br /&gt;       3. General dialog box&lt;br /&gt;             1. In the Main Class combo box, select ConverterClient.&lt;br /&gt;             2. Verify that the entry in the Display Name field is ConverterClient.&lt;br /&gt;             3. In the Callback Handler Class combo box, select container-managed authentication.&lt;br /&gt;             4. Click Next.&lt;br /&gt;             5. Click Finish.&lt;br /&gt;&lt;br /&gt;    Specifying the Application Client's Enterprise Bean Reference&lt;br /&gt;&lt;br /&gt;    When it invokes the lookup method, the ConverterClient refers to the home of an enterprise bean:&lt;br /&gt;&lt;br /&gt;        Object objref = myEnv.lookup("ejb/SimpleConverter");&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;    You specify this reference as follows.&lt;br /&gt;&lt;br /&gt;       1. In the tree, select ConverterClient.&lt;br /&gt;       2. Select the EJB Refs tab.&lt;br /&gt;       3. Click Add.&lt;br /&gt;       4. In the Coded Name column, enter ejb/SimpleConverter.&lt;br /&gt;       5. In the Type column, select Session.&lt;br /&gt;       6. In the Interfaces column, select Remote.&lt;br /&gt;       7. In the Home Interface column, enter ConverterHome.&lt;br /&gt;       8. In the Local/Remote Interface column, enter Converter.&lt;br /&gt;&lt;br /&gt;Home&lt;br /&gt;TOC&lt;br /&gt;Index  PREV TOP NEXT  Search&lt;br /&gt;Feedback&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-838468127828136391?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/838468127828136391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=838468127828136391&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/838468127828136391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/838468127828136391'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/j2ee-basics.html' title='J2EE Basics'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-233088399898035509</id><published>2008-09-05T09:00:00.000-07:00</published><updated>2008-09-05T09:04:45.247-07:00</updated><title type='text'>Create PDF with IText</title><content type='html'>com.lowagie.text.Document pdoc = null;&lt;br /&gt;        PdfWriter pw = null;&lt;br /&gt;        FileOutputStream fosPdf = null;&lt;br /&gt;        File ftemp = createTemp();&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            fosPdf = new FileOutputStream(ftemp); // File to be determined by properties&lt;br /&gt;            pdoc = new com.lowagie.text.Document(PageSize.A4.rotate());&lt;br /&gt;            pw = PdfWriter.getInstance(pdoc, fosPdf);&lt;br /&gt;            pdoc.open();&lt;br /&gt; flushRoot(companyElement, rootElement, pw, pdoc);&lt;br /&gt;pdoc.close();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-233088399898035509?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/233088399898035509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=233088399898035509&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/233088399898035509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/233088399898035509'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/create-pdf-with-itext.html' title='Create PDF with IText'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-559485104451113533</id><published>2008-09-05T08:57:00.001-07:00</published><updated>2008-09-05T08:57:36.565-07:00</updated><title type='text'>Add Date Time  STring to XML</title><content type='html'>private static void addDate(Element elemAdd, String field, String value)&lt;br /&gt;    {&lt;br /&gt;        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            Date dt = sdf.parse(value);&lt;br /&gt;            SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd");&lt;br /&gt;            addString(elemAdd, field, df.format(dt));&lt;br /&gt;        }&lt;br /&gt;        catch ( Exception any )&lt;br /&gt;        {&lt;br /&gt;            &lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    private static void addTime(Element elemAdd, String field, String value)&lt;br /&gt;    {&lt;br /&gt;        SimpleDateFormat sdf = new SimpleDateFormat("HHmm");&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            Date dt = sdf.parse(value);&lt;br /&gt;            SimpleDateFormat df = new SimpleDateFormat("HH:mm");&lt;br /&gt;            addString(elemAdd, field, df.format(dt));&lt;br /&gt;        }&lt;br /&gt;        catch ( Exception any )&lt;br /&gt;        {&lt;br /&gt;            &lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    private static void addString(Element elemAdd, String field, String value)&lt;br /&gt;    {&lt;br /&gt;        if ( value.length() &gt; 0 )&lt;br /&gt;        {&lt;br /&gt;            elemAdd.setAttribute(field, value.trim());&lt;br /&gt;        }&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-559485104451113533?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/559485104451113533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=559485104451113533&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/559485104451113533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/559485104451113533'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/add-date-time-string-to-xml.html' title='Add Date Time  STring to XML'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-5154399129491592582</id><published>2008-09-05T08:56:00.001-07:00</published><updated>2008-09-05T08:56:24.546-07:00</updated><title type='text'>serialize XML</title><content type='html'>private int writeData(Element rootElement, String saccount, int page) throws Exception&lt;br /&gt;    {&lt;br /&gt;        int result = 0;&lt;br /&gt;        if ( saccount != null )&lt;br /&gt;        {&lt;br /&gt;            result = 1;&lt;br /&gt;&lt;br /&gt;            // Output the XML to a byte stream&lt;br /&gt;            XMLOutputter outp = new XMLOutputter();&lt;br /&gt;            outp.setEncoding("ISO-8859-1");&lt;br /&gt;            outp.setIndent("  ");&lt;br /&gt;            outp.setNewlines(true);&lt;br /&gt;            ByteArrayOutputStream baos1st = new ByteArrayOutputStream(5120);&lt;br /&gt;            Document doc = new Document(rootElement.detach());&lt;br /&gt;            outp.output(doc, baos1st);&lt;br /&gt;            baos1st.close();&lt;br /&gt;            byte[] bytesXML = baos1st.toByteArray();&lt;br /&gt;            &lt;br /&gt;            // Update the DB&lt;br /&gt;            baos1st.reset(); // re-use the stream&lt;br /&gt;            PrintWriter pw = new PrintWriter(baos1st);&lt;br /&gt;            pw.println(saccount);&lt;br /&gt;            pw.close();&lt;br /&gt;            byte[] bytesHeader = baos1st.toByteArray();&lt;br /&gt;            &lt;br /&gt;            baos1st.reset(); // re-use stream&lt;br /&gt;            DeflaterOutputStream dos = new DeflaterOutputStream(baos1st);&lt;br /&gt;            dos.write(bytesHeader);&lt;br /&gt;            dos.write(bytesXML);&lt;br /&gt;            dos.close();&lt;br /&gt;&lt;br /&gt;            byte[] bytes = baos1st.toByteArray();&lt;br /&gt;&lt;br /&gt;            m_versionData.setPage(page);&lt;br /&gt;            m_versionData.setData(bytes);&lt;br /&gt;&lt;br /&gt;            m_versionDAO.addVersionData(m_versionData);&lt;br /&gt;        }&lt;br /&gt;        return result;&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-5154399129491592582?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/5154399129491592582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=5154399129491592582&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/5154399129491592582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/5154399129491592582'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/serialize-xml.html' title='serialize XML'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-483683526887527912</id><published>2008-09-05T08:54:00.002-07:00</published><updated>2008-09-05T08:55:07.691-07:00</updated><title type='text'>File write</title><content type='html'>FileOutputStream fout = null;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            fout = new FileOutputStream(mrofile);&lt;br /&gt;            fout.write(sb.toString().getBytes());&lt;br /&gt;            fout.flush();&lt;br /&gt;        }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-483683526887527912?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/483683526887527912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=483683526887527912&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/483683526887527912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/483683526887527912'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/file-write.html' title='File write'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-8319798503694780095</id><published>2008-09-05T08:54:00.001-07:00</published><updated>2008-09-05T08:54:39.902-07:00</updated><title type='text'>File read</title><content type='html'>BufferedReader reader;&lt;br /&gt;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            reader = new BufferedReader(new FileReader(mrofile));&lt;br /&gt;&lt;br /&gt;            // File header&lt;br /&gt;            reader.readLine();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-8319798503694780095?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/8319798503694780095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=8319798503694780095&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8319798503694780095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8319798503694780095'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/file-read.html' title='File read'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-8185657027594751273</id><published>2008-09-05T08:53:00.001-07:00</published><updated>2008-09-05T08:53:47.045-07:00</updated><title type='text'>xml from xsl overlap file</title><content type='html'>Document doc = request.getFormData();&lt;br /&gt;        Element root = doc.getRootElement();&lt;br /&gt;        Element data = root.getChild("data");&lt;br /&gt;&lt;br /&gt;        String xslpath = xslDir + "/" + xslfile;&lt;br /&gt;        String output = transform(xslpath, doc, request);&lt;br /&gt;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            String strCustNumber = data.getChild("bankid").getText() + data.getChild("unitid").getText().substring(0, 5);&lt;br /&gt;            &lt;br /&gt;            File outfile = getFileByCustomer(strCustNumber);&lt;br /&gt;           &lt;br /&gt;            report.reportRequest(request, new File(aDir, outfile.getName())); // keep track of where we write the request&lt;br /&gt;&lt;br /&gt;            // take transformed XML and append to file.&lt;br /&gt;            fout = new FileOutputStream(outfile, true);&lt;br /&gt;            fout.write(output.getBytes());&lt;br /&gt;            fout.flush();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-8185657027594751273?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/8185657027594751273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=8185657027594751273&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8185657027594751273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/8185657027594751273'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/xml-from-xsl-overlap-file.html' title='xml from xsl overlap file'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-4864580847955886507</id><published>2008-09-05T08:51:00.001-07:00</published><updated>2008-09-05T08:51:25.886-07:00</updated><title type='text'>REflection again</title><content type='html'>Class c = Class.forName(sclass);&lt;br /&gt;            Constructor ct = c.getConstructor(new Class[] { String.class });&lt;br /&gt;            result = (IPostExtractionJob) ct.newInstance(new Object[] { spattern })&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-4864580847955886507?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/4864580847955886507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=4864580847955886507&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4864580847955886507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4864580847955886507'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/reflection-again.html' title='REflection again'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-6816756042127140411</id><published>2008-09-05T08:50:00.001-07:00</published><updated>2008-09-05T08:50:55.708-07:00</updated><title type='text'>ResourceBundle to find properties file on system</title><content type='html'>java.util.Properties prop = new java.util.Properties();&lt;br /&gt;&lt;br /&gt;            try {&lt;br /&gt;                prop.load(new FileInputStream("inputdata.properties"));&lt;br /&gt;                file1 = prop.getProperty("file1");&lt;br /&gt;                file2 = prop.getProperty("file2");&lt;br /&gt;            } catch (IOException e) {&lt;br /&gt;            }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-6816756042127140411?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/6816756042127140411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=6816756042127140411&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6816756042127140411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/6816756042127140411'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/resourcebundle-to-find-properties-file.html' title='ResourceBundle to find properties file on system'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-2291817266134108055</id><published>2008-09-05T08:49:00.001-07:00</published><updated>2008-09-05T08:49:38.702-07:00</updated><title type='text'>ResourceBundle</title><content type='html'>ResourceBundle rb = ResourceBundle.getBundle(spattern);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-2291817266134108055?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/2291817266134108055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=2291817266134108055&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/2291817266134108055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/2291817266134108055'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/resourcebundle.html' title='ResourceBundle'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-3708273229000221680</id><published>2008-09-05T08:43:00.000-07:00</published><updated>2008-09-05T08:44:54.646-07:00</updated><title type='text'>Excel File manipulation</title><content type='html'>// close out workbooks&lt;br /&gt;                WritableWorkbook wb = out.getWorkbook();&lt;br /&gt;                // Write meta data in second sheet, i.e. sheet 1&lt;br /&gt;                WritableSheet ws = wb.getSheet(1);&lt;br /&gt;                WritableSheet ws0 = wb.getSheet(0);&lt;br /&gt;&lt;br /&gt;/ bordFmt.setBorder(Border.ALL, BorderLineStyle.THICK);&lt;br /&gt;                    WritableCellFormat dtFmt = new WritableCellFormat(bold ,new DateFormat("MM/dd/yyyy"));&lt;br /&gt;                    &lt;br /&gt;                    ws.addCell(new Label(0,0,"Date", boldFmt));&lt;br /&gt;                    // Get the current date and time from the Calendar object&lt;br /&gt;                    Date now = Calendar.getInstance().getTime();&lt;br /&gt;                    dtFmt.setBorder(Border.ALL, BorderLineStyle.THIN);&lt;br /&gt;                    WritableCellFormat dateFormat = new WritableCellFormat (dtFmt);&lt;br /&gt;                    DateTime dateCell = new DateTime(1, 0, now, dateFormat);&lt;br /&gt;                    ws.addCell(dateCell);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  // remove second sheet that contains meta data.&lt;br /&gt;                    wb.write();&lt;br /&gt;                    wb.close();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-3708273229000221680?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/3708273229000221680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=3708273229000221680&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3708273229000221680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3708273229000221680'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/excel-file-manipulation.html' title='Excel File manipulation'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-3706852997272152298</id><published>2008-09-05T08:41:00.001-07:00</published><updated>2008-09-05T08:41:54.752-07:00</updated><title type='text'>IPworks to zip</title><content type='html'>protected void encryptWithIPWorks(File[] files, File fSendZip, String sPassword) throws IPWorksZipException, IOException&lt;br /&gt;    {&lt;br /&gt;        Zip zip = new Zip();&lt;br /&gt;        zip.setArchiveFile(fSendZip.getAbsolutePath());&lt;br /&gt;        System.out.println("Encrypting to strength: " + zipEncrypt);&lt;br /&gt;        zip.setEncryptionAlgorithm(zipEncrypt);&lt;br /&gt;        zip.setPassword(sPassword);&lt;br /&gt;        &lt;br /&gt;        for ( int i = 0; i &lt; files.length; ++i )&lt;br /&gt;        {&lt;br /&gt;            zip.includeFiles(files[i].getCanonicalPath());&lt;br /&gt;        }&lt;br /&gt;        zip.compress();&lt;br /&gt;        &lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-3706852997272152298?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/3706852997272152298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=3706852997272152298&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3706852997272152298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3706852997272152298'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/ipworks-to-zip.html' title='IPworks to zip'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-769304569429913949</id><published>2008-09-05T08:39:00.000-07:00</published><updated>2008-09-05T08:40:04.411-07:00</updated><title type='text'>check dir or create it</title><content type='html'>protected void checkDir(File dir) throws IOException&lt;br /&gt;    {&lt;br /&gt;        if (!dir.exists())&lt;br /&gt;            dir.mkdir();&lt;br /&gt;        if (!dir.isDirectory() )&lt;br /&gt;           throw new IOException("Working dir specified is not a directory");&lt;br /&gt;        if (!dir.canWrite())&lt;br /&gt;            throw new IOException("Working dir is not writable");&lt;br /&gt;        &lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-769304569429913949?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/769304569429913949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=769304569429913949&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/769304569429913949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/769304569429913949'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/check-dir-or-create-it.html' title='check dir or create it'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-1433264852256556045</id><published>2008-09-05T08:38:00.001-07:00</published><updated>2008-09-05T08:38:38.300-07:00</updated><title type='text'>copy File</title><content type='html'>protected void copyFile(File in, File out) throws IOException&lt;br /&gt;    {&lt;br /&gt;        byte [] buf = new byte[1024];&lt;br /&gt;        int n=0;&lt;br /&gt;        &lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            FileInputStream fin = new FileInputStream(in);&lt;br /&gt;            FileOutputStream fout = new FileOutputStream(out);&lt;br /&gt;            while ((n = fin.read(buf)) &gt; 0)&lt;br /&gt;                fout.write(buf, 0, n);&lt;br /&gt;            fin.close();&lt;br /&gt;            fout.close();&lt;br /&gt;        }&lt;br /&gt;        catch (IOException e)&lt;br /&gt;        {&lt;br /&gt;            throw new IOException(e.getMessage());&lt;br /&gt;        }&lt;br /&gt;        return;&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-1433264852256556045?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/1433264852256556045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=1433264852256556045&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1433264852256556045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1433264852256556045'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/copy-file.html' title='copy File'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-5493438592377597739</id><published>2008-09-05T08:36:00.001-07:00</published><updated>2008-09-05T08:36:29.323-07:00</updated><title type='text'>XML Transformer</title><content type='html'>protected String transform(String xslFile, Document doc, Request req)&lt;br /&gt;    {&lt;br /&gt;        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss\tzzzz");&lt;br /&gt;        SimpleDateFormat sdf2 = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");&lt;br /&gt;        InputSource is = new InputSource(new StringReader(JDOMUtils.serialize(doc)));&lt;br /&gt;        Source xml = new SAXSource(is);&lt;br /&gt;&lt;br /&gt;        StringWriter output=null;&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            TransformerFactory tfactory = TransformerFactory.newInstance();&lt;br /&gt;            Transformer trans = tfactory.newTransformer(new StreamSource(xslFile));&lt;br /&gt;            output = new StringWriter();&lt;br /&gt;            trans.setParameter("request-date", sdf2.format(req.getCreation()));&lt;br /&gt;            &lt;br /&gt;            trans.transform(xml,new StreamResult(output));&lt;br /&gt;        }&lt;br /&gt;        catch (TransformerConfigurationException e)&lt;br /&gt;        {&lt;br /&gt;            System.out.println("Configuration exception " + e.getMessageAndLocation());&lt;br /&gt;        }&lt;br /&gt;        catch (TransformerException e)&lt;br /&gt;        {&lt;br /&gt;            System.out.println("Transformer exception " + e.getMessageAndLocation());&lt;br /&gt;            System.out.println("Line: " + e.getLocator().getLineNumber() + "Col: " + e.getLocator().getColumnNumber());&lt;br /&gt;           &lt;br /&gt;        } &lt;br /&gt;        return output.toString();&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-5493438592377597739?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/5493438592377597739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=5493438592377597739&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/5493438592377597739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/5493438592377597739'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/xml-transformer.html' title='XML Transformer'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-1824634611279777967</id><published>2008-09-03T07:32:00.001-07:00</published><updated>2008-09-03T07:32:33.414-07:00</updated><title type='text'>Exception class</title><content type='html'>public class NXExceptionReport&lt;br /&gt;{&lt;br /&gt;    public static void recordEvent(String strHeading, String strMessage)&lt;br /&gt;    {&lt;br /&gt;        NXExceptionReport report = new NXExceptionReport(strHeading);&lt;br /&gt;        report.appendMessage(strMessage);&lt;br /&gt;        report.report();&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public static void recordException(String strHeading, Throwable t, boolean bTrace)&lt;br /&gt;    {&lt;br /&gt;        NXExceptionReport report = new NXExceptionReport(strHeading, t);&lt;br /&gt;        report.setShowStackTrace(bTrace);&lt;br /&gt;        report.report();&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public static void recordAdminException(String strHeading, Throwable t, boolean bTrace)&lt;br /&gt;    {&lt;br /&gt;        NXExceptionReport report = new NXExceptionReport(strHeading, t);&lt;br /&gt;        report.setShowStackTrace(bTrace);&lt;br /&gt;        report.setEmailAdmin(true);&lt;br /&gt;        report.report(true);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public static void recordAdminEvent(String strHeading, String strMessage)&lt;br /&gt;    {&lt;br /&gt;        NXExceptionReport report = new NXExceptionReport(strHeading);&lt;br /&gt;        report.appendMessage(strMessage);&lt;br /&gt;        report.setEmailAdmin(true);&lt;br /&gt;        report.report(true);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public static void recordException(Throwable t, boolean bTrace)&lt;br /&gt;    {&lt;br /&gt;        recordException("EXCEPTION", t, bTrace);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public NXExceptionReport(String heading, Throwable t)&lt;br /&gt;    {&lt;br /&gt;        this.heading = heading;&lt;br /&gt;        this.throwable = t;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public NXExceptionReport(String heading)&lt;br /&gt;    {&lt;br /&gt;        this.heading = heading;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void appendMessage(Object message)&lt;br /&gt;    {&lt;br /&gt;        messages.addElement(message);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void appendMessageTimestamp(Object message)&lt;br /&gt;    {&lt;br /&gt;        java.text.DateFormat tf = java.text.DateFormat.getTimeInstance(java.text.DateFormat.LONG);&lt;br /&gt;        StringBuffer sb = new StringBuffer(tf.format(new Date()));&lt;br /&gt;        sb.append(": ");&lt;br /&gt;        sb.append(message);&lt;br /&gt;        messages.addElement(sb.toString());        &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void report()&lt;br /&gt;    {&lt;br /&gt;        report(false);&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    public void report(boolean bemail)&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            java.text.DateFormat df = java.text.DateFormat.getDateTimeInstance(java.text.DateFormat.FULL, java.text.DateFormat.FULL);&lt;br /&gt;            String strDate = df.format(new Date());&lt;br /&gt;            java.io.StringWriter sw = new StringWriter();&lt;br /&gt;            PrintWriter pw = new PrintWriter(sw);&lt;br /&gt;            pw.println("................................................................................................");&lt;br /&gt;            pw.println(".                                                                                              .");&lt;br /&gt;            pw.println(".                                                                                              .");&lt;br /&gt;&lt;br /&gt;            pw.print(strDate);&lt;br /&gt;            pw.print(": ");            &lt;br /&gt;            pw.println(heading);&lt;br /&gt;            Iterator iter = messages.iterator();&lt;br /&gt;            while ( iter.hasNext() )&lt;br /&gt;            {&lt;br /&gt;                pw.println(iter.next());&lt;br /&gt;            }&lt;br /&gt;            if ( getClazz() != null )&lt;br /&gt;            {&lt;br /&gt;                pw.println("Recording Class: " + getClazz().getName());&lt;br /&gt;            }&lt;br /&gt;            if ( throwable != null )&lt;br /&gt;            {&lt;br /&gt;                pw.print("Original Exception ");&lt;br /&gt;                pw.print(throwable.getClass().getName());&lt;br /&gt;                pw.print(" [");&lt;br /&gt;                pw.print(throwable.getMessage());&lt;br /&gt;                pw.println("]");&lt;br /&gt;                if ( isShowStackTrace() )&lt;br /&gt;                {&lt;br /&gt;                    pw.println("&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Begin Stack Trace &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;");&lt;br /&gt;                    throwable.printStackTrace(pw);&lt;br /&gt;                    pw.println("&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; End Stack Trace   &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;");&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            pw.println(".                                                                                              .");&lt;br /&gt;            pw.println(".                                                                                              .");&lt;br /&gt;            pw.println("................................................................................................");&lt;br /&gt;            pw.close();&lt;br /&gt;            String strMessage = sw.toString();&lt;br /&gt;            System.err.println(strMessage);&lt;br /&gt;            &lt;br /&gt;            if ( bemail || (throwable != null &amp;&amp; this.isEmailException()) )&lt;br /&gt;            {&lt;br /&gt;                emailException(strMessage);&lt;br /&gt;            }&lt;br /&gt;            if ( this.isEmailAdmin() )&lt;br /&gt;            {&lt;br /&gt;                this.emailAdmin(strMessage);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        catch ( Exception e )&lt;br /&gt;        {&lt;br /&gt;            e.printStackTrace();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /**&lt;br /&gt;     * @param strMessage&lt;br /&gt;     */&lt;br /&gt;    private void emailException(String strMessage)&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            ResourceBundle rb = ResourceBundle.getBundle("ospp");&lt;br /&gt;            String strList = rb.getString("exception_email_list");&lt;br /&gt;            String strOriginator = rb.getString("exception_originator");&lt;br /&gt;            StringTokenizer st = new StringTokenizer(strList, ";:");&lt;br /&gt;            Vector vSend = new Vector();&lt;br /&gt;            while ( st.hasMoreTokens() )&lt;br /&gt;            {&lt;br /&gt;                dao.beans.NXUser user = new dao.beans.NXUser();&lt;br /&gt;                user.setEmail(st.nextToken());&lt;br /&gt;                user.setRealName("OSPP Technician");&lt;br /&gt;                vSend.addElement(user);&lt;br /&gt;            }&lt;br /&gt;            if ( !vSend.isEmpty() )&lt;br /&gt;            {&lt;br /&gt;                NXEmail email = new NXEmail();&lt;br /&gt;                email.setRecipients(vSend);&lt;br /&gt;                email.setBody(strMessage);&lt;br /&gt;                email.setSubject("OSPP Exception");&lt;br /&gt;                email.setOriginatorName("OSPP Watch");&lt;br /&gt;                email.setOriginatorEmail(strOriginator);&lt;br /&gt;                email.send();&lt;br /&gt;            }&lt;br /&gt;             &lt;br /&gt;        }&lt;br /&gt;        catch ( Exception e )&lt;br /&gt;        {&lt;br /&gt;            // do nothing&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    private void emailAdmin(String strMessage)&lt;br /&gt;    {&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            ResourceBundle rb = ResourceBundle.getBundle("ospp");&lt;br /&gt;            String strList = rb.getString("exception_email_admins");&lt;br /&gt;            String strOriginator = rb.getString("exception_originator");&lt;br /&gt;            StringTokenizer st = new StringTokenizer(strList, ";:");&lt;br /&gt;            Vector vSend = new Vector();&lt;br /&gt;            while ( st.hasMoreTokens() )&lt;br /&gt;            {&lt;br /&gt;                dao.beans.NXUser user = new dao.beans.NXUser();&lt;br /&gt;                user.setEmail(st.nextToken());&lt;br /&gt;                user.setRealName("OSPP Administrator");&lt;br /&gt;                vSend.addElement(user);&lt;br /&gt;            }&lt;br /&gt;            if ( !vSend.isEmpty() )&lt;br /&gt;            {&lt;br /&gt;                NXEmail email = new NXEmail();&lt;br /&gt;                email.setRecipients(vSend);&lt;br /&gt;                email.setBody(strMessage);&lt;br /&gt;                email.setSubject("OSPP Exception");&lt;br /&gt;                email.setOriginatorName("OSPP Watch");&lt;br /&gt;                email.setOriginatorEmail(strOriginator);&lt;br /&gt;                email.send();&lt;br /&gt;            }&lt;br /&gt;             &lt;br /&gt;        }&lt;br /&gt;        catch ( Exception e )&lt;br /&gt;        {&lt;br /&gt;            // do nothing&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @return&lt;br /&gt;     */&lt;br /&gt;    public boolean isShowStackTrace()&lt;br /&gt;    {&lt;br /&gt;        return showStackTrace;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @param b&lt;br /&gt;     */&lt;br /&gt;    public void setShowStackTrace(boolean b)&lt;br /&gt;    {&lt;br /&gt;        showStackTrace = b;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @return&lt;br /&gt;     */&lt;br /&gt;    public Throwable getThrowable()&lt;br /&gt;    {&lt;br /&gt;        return throwable;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @param throwable&lt;br /&gt;     */&lt;br /&gt;    public void setThrowable(Throwable throwable)&lt;br /&gt;    {&lt;br /&gt;        this.throwable = throwable;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /**&lt;br /&gt;     * @return&lt;br /&gt;     */&lt;br /&gt;    public Class getClazz()&lt;br /&gt;    {&lt;br /&gt;        return clazz;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @param class1&lt;br /&gt;     */&lt;br /&gt;    public void setClazz(Class class1)&lt;br /&gt;    {&lt;br /&gt;        clazz = class1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @return&lt;br /&gt;     */&lt;br /&gt;    public boolean isEmailException()&lt;br /&gt;    {&lt;br /&gt;        return emailException;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @param b&lt;br /&gt;     */&lt;br /&gt;    public void setEmailException(boolean b)&lt;br /&gt;    {&lt;br /&gt;        emailException = b;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /**&lt;br /&gt;     * @return Returns the emailAdmin.&lt;br /&gt;     */&lt;br /&gt;    public boolean isEmailAdmin()&lt;br /&gt;    {&lt;br /&gt;        return emailAdmin;&lt;br /&gt;    }&lt;br /&gt;    /**&lt;br /&gt;     * @param emailAdmin The emailAdmin to set.&lt;br /&gt;     */&lt;br /&gt;    public void setEmailAdmin( boolean emailAdmin )&lt;br /&gt;    {&lt;br /&gt;        this.emailAdmin = emailAdmin;&lt;br /&gt;    }&lt;br /&gt;    private String heading;&lt;br /&gt;    private Throwable throwable;&lt;br /&gt;    private Vector messages = new Vector();&lt;br /&gt;    private boolean showStackTrace;&lt;br /&gt;    private Class clazz;&lt;br /&gt;    private boolean emailException = true;&lt;br /&gt;    private boolean emailAdmin;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-1824634611279777967?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/1824634611279777967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=1824634611279777967&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1824634611279777967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1824634611279777967'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/exception-class.html' title='Exception class'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-7049203733441371205</id><published>2008-09-03T07:29:00.001-07:00</published><updated>2008-09-03T07:29:25.974-07:00</updated><title type='text'>some more java</title><content type='html'>try&lt;br /&gt;        {&lt;br /&gt;            String sclass = ResourceBundle.getBundle("version-index").getString("index.type." + docType);&lt;br /&gt;            Class cls = Class.forName(sclass);&lt;br /&gt;&lt;br /&gt;            Class[] classes = { Properties.class };&lt;br /&gt;            Object[] params = { props };&lt;br /&gt;            Constructor ct = cls.getConstructor(classes);&lt;br /&gt;            return (IVersionIndex) ct.newInstance(params);&lt;br /&gt;        }&lt;br /&gt;        catch ( Exception any )&lt;br /&gt;        {&lt;br /&gt;            throw new IllegalArgumentException();&lt;br /&gt;        }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-7049203733441371205?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/7049203733441371205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=7049203733441371205&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/7049203733441371205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/7049203733441371205'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/some-more-java.html' title='some more java'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-4721544200916989484</id><published>2008-09-03T07:26:00.001-07:00</published><updated>2008-09-03T07:26:46.695-07:00</updated><title type='text'>java reflections i think</title><content type='html'>try&lt;br /&gt;            {&lt;br /&gt;                // develop class to execute file conversion&lt;br /&gt;                Class cls = ( strClass != null &amp;&amp; strClass.length() &gt; 0 )&lt;br /&gt;                    ? Class.forName(strClass)&lt;br /&gt;                    : (nDocType == 1)&lt;br /&gt;                        ? _TypicalFileConverter.class&lt;br /&gt;                        : _PDFFileConverter.class;&lt;br /&gt;&lt;br /&gt;                Constructor ct = cls.getConstructor(null);&lt;br /&gt;                iConvert = (NX_IFileConvert) ct.newInstance(null);&lt;br /&gt;            }&lt;br /&gt;            catch ( Exception e )&lt;br /&gt;            {&lt;br /&gt;                report.appendMessageTimestamp("Invalid File Conversion Class: " + strClass);&lt;br /&gt;                throw new IllegalArgumentException("Invalid file conversion class");&lt;br /&gt;            }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-4721544200916989484?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/4721544200916989484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=4721544200916989484&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4721544200916989484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/4721544200916989484'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2008/09/java-reflections-i-think.html' title='java reflections i think'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-1726209267004533745</id><published>2007-04-05T07:57:00.000-07:00</published><updated>2007-04-05T08:03:16.580-07:00</updated><title type='text'>PC World's 50 Best Tech Products of All Time</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.pcworld.com/reviews/graphics/130207-50bestTech_badge.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px;" src="http://images.pcworld.com/reviews/graphics/130207-50bestTech_badge.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;The Beatles. Citizen Kane. Muhammad Ali. Many have laid claim to being the "best ever" in their respective fields of work, but only one can top the list. And the same is true when it comes to technology.&lt;br /&gt;&lt;br /&gt;So what's the best tech product to come out of the digital age? And what qualifies a product as being "best"? First and foremost, it must be a quality product. In many cases, that means a piece of hardware or software that has truly changed our lives and that we can't live without (or couldn't at the time it debuted). Beyond that, a product should have attained a certain level of popularity, had staying power, and perhaps made some sort of breakthrough, influencing the development of later products of its ilk.&lt;br /&gt;&lt;br /&gt;So after considering hundreds of products and engaging in many hours of painstaking debate, PC World presents the 50 best tech products. Note that we're looking only at technology that has arisen since the dawn of the personal computer, so don't expect to see the cotton gin and the transistor radio on the list. Instead, you'll find gear that, in all likelihood, you used yourself at one point or another--and, in many cases, products you're still using today. &lt;br /&gt;&lt;a href="http://www.pcworld.com/article/id,130207-page,1-c,technology/article.html"&gt;Read more ...&lt;/a&gt;&lt;br /&gt;Source : &lt;a href="http://www.pcworld.com"&gt;PCworld.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-1726209267004533745?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/1726209267004533745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=1726209267004533745&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1726209267004533745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/1726209267004533745'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2007/04/pc-worlds-50-best-tech-products-of-all.html' title='PC World&apos;s 50 Best Tech Products of All Time'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-2574238031178296877</id><published>2007-04-05T07:54:00.000-07:00</published><updated>2007-04-05T07:55:49.794-07:00</updated><title type='text'>French Train Breaks Speed Record</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i.a.cnn.net/cnn/2007/WORLD/europe/04/03/TGVspeedrecord.ap/story.tgv.gi.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px;" src="http://i.a.cnn.net/cnn/2007/WORLD/europe/04/03/TGVspeedrecord.ap/story.tgv.gi.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;A French train on the TGV line has broken the wheeled train speed record - again. At a speed of 350 miles per hour, they came close to breaking the all time record of 361 miles per hour, held by a Japanese maglev train. It was last broken back in 1990. From the article: 'The TGV, short for "train a grande vitesse," as France's bullet trains are called, is made up of three double-decker cars between two engines. It has been equipped with larger wheels than the usual TGV to cover more ground with each rotation and a stronger, 25,000-horsepower engine, said Alain Cuccaroni, in charge of the technical aspects of testing&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cnn.com/2007/WORLD/europe/04/03/TGVspeedrecord.ap/index.html"&gt;Read more ...&lt;/a&gt;&lt;br /&gt;Source : Slashdot.org&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-2574238031178296877?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/2574238031178296877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=2574238031178296877&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/2574238031178296877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/2574238031178296877'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2007/04/french-train-breaks-speed-record.html' title='French Train Breaks Speed Record'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4078672234590373472.post-3490540729809681929</id><published>2007-04-05T07:46:00.000-07:00</published><updated>2007-04-05T07:49:07.443-07:00</updated><title type='text'>Apple Ships 8-Core MacPro</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://a248.e.akamai.net/7/248/2041/1238/store.apple.com/Catalog/US/Images/cp_top_macpro_070404.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px;" src="http://a248.e.akamai.net/7/248/2041/1238/store.apple.com/Catalog/US/Images/cp_top_macpro_070404.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;The Apple website is announcing the availability of an 8-core Mac Pro. The machine will ship with two 3.0 GHz Quad-Core Intel Xeon 5300 processors. Older models with the Dual-Core chips remain available. Base model with two 3.0 GHz Quad-Core Xeon processors start at $3997, (albeit with unacceptably minimal RAM or HD space; fully spec'd with dual 30" monitors and tons o' RAM/HD still over $10K... bummer)&lt;br /&gt;&lt;a href="http://www.apple.com/"&gt;Read more...&lt;/a&gt;&lt;br /&gt;Source : Slashdot.org&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4078672234590373472-3490540729809681929?l=ztechz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ztechz.blogspot.com/feeds/3490540729809681929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4078672234590373472&amp;postID=3490540729809681929&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3490540729809681929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4078672234590373472/posts/default/3490540729809681929'/><link rel='alternate' type='text/html' href='http://ztechz.blogspot.com/2007/04/apple-ships-8-core-macpro.html' title='Apple Ships 8-Core MacPro'/><author><name>z b</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
