<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEABSHo8fCp7ImA9WhRaEEQ.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756</id><updated>2012-02-12T17:32:39.474-08:00</updated><category term="All about UK Visa HSMP VS H1" /><category term="oracle table previlege" /><category term="fedora 9 lenovo 3000 n200 windows xp dual boot problem" /><category term="maven cut reduce build time" /><category term="cloud comparision price" /><category term="keyboard music java typing soothing notes auto suggest" /><category term="SMTP MAIL telnet windows" /><category term="maven" /><category term="AJAX javascript" /><category term="Rewrite rules in apache and IIS" /><category term="jquery spring AJAX" /><category term="Blind folded chess" /><category term="Spring portlet mvc and spring servlet mvc validation" /><category term="Code generators" /><category term="Fire fox plugins and tweaks" /><category term="smart gwt" /><category term="pdf 2 text" /><category term="Useful Eclipse Plugins eclipse shortcuts keys" /><category term="struts magic" /><category term="Tomcat Exploded war - cut deployment time" /><category term="LinuxPerformance Tuning(apache" /><category term="smtp email test mock server james" /><category term="The art of debugging" /><category term="Single Sign on - OpenSSO with Liferay" /><category term="liferay web 2.0 java/j2ee" /><category term="Tomcat on linux tips" /><category term="Tomcat on linux tips commands" /><category term="java JDBC" /><category term="javascript junit testing" /><category term="java" /><category term="linux mysql setup quick start" /><category term="Spyware trojan and virus removal tools" /><category term="Software tools mind map freemind j2ee tools" /><category term="cron jobs expressions" /><category term="xpath xml xquery" /><category term="SVN/ Subversion Tips and traps" /><category term="Typinator" /><category term="apache commons usage" /><category term="image gallery" /><category term="scaffold" /><category term="cloud comparison blog" /><category term="rackspacecloud" /><category term="cloud usage" /><category term="apache commons configurator usage" /><category term="Pega PRPC" /><category term="cloud computing monthly price" /><category term="Spring + Hibernate Usefuls BaseDAOHibernate" /><category term="linux - the difference between hard and soft links" /><category term="JNDI test JSP page" /><category term="lucene solr" /><category term="TypeIt4Me" /><category term="web content" /><category term="gwt javascript" /><category term="jquery IE AJAX issues" /><category term="google app engine" /><category term="Linux ssh autologin with putty" /><category term="document library" /><category term="oracle connect by hierarchy" /><category term="Javascript trouble shooting tool" /><category term="Batch script to load developer environment" /><category term="cruisecontrol  cruise control" /><category term="log4j setup useful" /><category term="Useful Eclipse Plugins" /><category term="All about UK Visa HSMP VS H1 hsmp assistance" /><category term="tomcat" /><category term="Textpad tricks" /><category term="jmeter load testing custom java sampler javasamplerclient xml test" /><category term="liferay kids version" /><category term="mac m701 android skype not working crash" /><category term="opsourcecloud" /><category term="setup quick start" /><category term="JProfiler setup jprofiler on linux" /><category term="amazon" /><category term="hibernate second level cache" /><category term="setting up a static ip on SKY broadband" /><category term="LINUX usefuls" /><category term="i18n locale localization internationalization spring liferay portlet locale" /><category term="Cobertura- junit coverage tool" /><category term="arsenals for developers" /><category term="android apps ship control radio hindi" /><category term="gods debris the religion war scott adams dilbert" /><category term="Apache 2.x setup Quick guide for Linux" /><category term="Speed typing tips." /><category term="php" /><category term="Free PHP hosting" /><category term="Useful tools" /><category term="developer tools" /><category term="Spring annotations with spring-mock not working 2.0 2.5.6" /><category term="Castor castor convert dtd to xsd" /><category term="External Javascript from Java Servlets" /><category term="linux)" /><category term="debugging eclipse tips" /><category term="Jboss overview" /><category term="tabbed ms dos console cygwin console" /><category term="Oracle thin vs OCI(type II/thick) drivers" /><category term="microsoft ODBC oracle dll connection issues" /><category term="linux mysql" /><category term="article" /><category term="iphone apps bri8 apple" /><category term="Texter - An auto text expander autotyper" /><category term="spring jndi datasource lookup" /><category term="easy mock jmock vs mocking java tdd" /><category term="Joomla CMS" /><title>Simply blog</title><subtitle type="html">"It's not important that you know everything -just the
important things." — Miguel de Unamuno</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://simplyblogmadi.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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>131</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/FGWR" /><feedburner:info uri="blogspot/fgwr" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D0UERnY7fCp7ImA9WhRSFk8.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-7973685194381345422</id><published>2011-11-18T06:06:00.001-08:00</published><updated>2011-11-18T06:06:47.804-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-18T06:06:47.804-08:00</app:edited><title>Logo</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Logo do matter as it is the first impression created by your app&lt;br/&gt;&lt;br/&gt;Couple of options:&lt;br/&gt;&lt;b&gt;Online logo generator:&lt;/b&gt; (Most claim to be freee, but they are not..pay $blah..)&lt;br/&gt;1. &lt;a href='http://freelogoservices.com'&gt;Freelogoservices.com&lt;/a&gt; (have good collection of logos. but its paid service -  £29 for unlimited logos).&lt;br/&gt;&lt;br/&gt;&lt;b&gt;DIY&lt;/b&gt;:&lt;br/&gt;Build an apple like logo using Gimp&lt;br/&gt;&lt;a href='http://wickedowl.blogspot.com/2006/07/creating-apples-shiny-table-effect.html'&gt;http://wickedowl.blogspot.com/2006/07/creating-apples-shiny-table-effect.html&lt;/a&gt;&lt;br/&gt;&lt;a href='http://www.ehow.com/how_6896439_make-apple_like-3d-logo.html'&gt;http://www.ehow.com/how_6896439_make-apple_like-3d-logo.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Metallic text (using gimp):&lt;br/&gt;&lt;a href='http://penguinpetes.com/b2evo/index.php?p=351'&gt;http://penguinpetes.com/b2evo/index.php?p=351&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Online image editor : &lt;a href='www.sumopaint.com'&gt;&lt;span style='border-collapse: separate; color: rgb(0, 0, 0); font-family: arial,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: small;' class='Apple-style-span'&gt;&lt;span style='color: rgb(0, 153, 51); line-height: 15px;' class='Apple-style-span'&gt;www.sumo&lt;b&gt;paint&lt;/b&gt;.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Note:&lt;br/&gt;Windows desktop icon should be 32x32 px.&lt;br/&gt;Apple icons are 57x57px&lt;br/&gt;Android icons are &lt;span style='border-collapse: separate; color: rgb(0, 0, 0); font-family: &amp;apos;Times New Roman&amp;apos;; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;' class='Apple-style-span'&gt;&lt;span style='color: rgb(51, 51, 51); font-family: arial,sans-serif; font-size: 13px; line-height: 16px;' class='Apple-style-span'&gt; 96, 72, 48, or 36 pixels wide, depending on screen densit&lt;/span&gt;&lt;/span&gt;&lt;br/&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/7319827859294577756-7973685194381345422?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/7973685194381345422/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=7973685194381345422" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/7973685194381345422?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/7973685194381345422?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/aDrYVW_1ihI/logo-do-matter-as-it-is-first_18.html" title="Logo" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/11/logo-do-matter-as-it-is-first_18.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMNQXwzcCp7ImA9WhdaFUk.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-7224533886792572267</id><published>2011-10-25T05:55:00.001-07:00</published><updated>2011-10-25T05:58:10.288-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-25T05:58:10.288-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="android apps ship control radio hindi" /><title>Android apps</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Some useful android apps:&lt;br/&gt;&lt;br/&gt;1. &lt;b&gt;Data on demand &lt;/b&gt;- shutsdown wifi/3g when screen goes off. Saving bandwith/power. Nice green app&lt;br/&gt;2. &lt;b&gt;3g watchdog&lt;/b&gt; - watch and optionally disable 3g if quota limit is reached. Very useful to avoid surprise bills for 3g overuse.&lt;br/&gt;3. &lt;b&gt;Advanced task killer&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;The apps i have released on Android market are below(these are quite crappy but hope to improve them as i find time)&lt;br/&gt;1. &lt;a href='https://market.android.com/details?id=com.bri8.radio'&gt;Radio hindi &lt;/a&gt;&lt;br/&gt;&lt;img src='https://www.gstatic.com/android/market/com.bri8.radio/hi-124-7' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;2. &lt;a href='https://market.android.com/details?id=com.bri8.ship&amp;amp;hl=en'&gt;Ship control game&lt;/a&gt;  - It still needs lot  of improvement. But hey its my first android game..so be easy on me :)&lt;br/&gt;&lt;img width='126' height='126' style='max-width: 800px;' src='https://www.gstatic.com/android/market/com.bri8.ship/hi-256-1-1c4b1bb99ca990da0f509f7c5a25fae0c9f25fd8'/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=4ac37763-2dd2-849a-8dd4-a45aa9648ee7' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-7224533886792572267?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/7224533886792572267/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=7224533886792572267" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/7224533886792572267?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/7224533886792572267?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/iS3m-nxgIT4/android-apps.html" title="Android apps" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/10/android-apps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AHRno8eyp7ImA9WhdQEUk.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-9093725493736006349</id><published>2011-08-12T03:41:00.001-07:00</published><updated>2011-08-12T03:42:17.473-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-12T03:42:17.473-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="scaffold" /><category scheme="http://www.blogger.com/atom/ns#" term="php" /><category scheme="http://www.blogger.com/atom/ns#" term="Code generators" /><title>Online Code generators</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;A nice code generator for php:&lt;br/&gt;&lt;a href='http://www.phpscaffold.com/'&gt;http://www.phpscaffold.com/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Java Spring projects:&lt;br/&gt;&lt;a href='http://www.springfuse.com/'&gt;http://www.springfuse.com/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=5aad7cee-b16c-8f12-81a4-553b55049250' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-9093725493736006349?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/9093725493736006349/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=9093725493736006349" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/9093725493736006349?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/9093725493736006349?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/xLvtgms1kZ0/code-generators.html" title="Online Code generators" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/08/code-generators.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMCSHcyfSp7ImA9WhdTEE4.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-8169634254753523016</id><published>2011-07-07T03:56:00.001-07:00</published><updated>2011-07-07T04:34:29.995-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-07T04:34:29.995-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="keyboard music java typing soothing notes auto suggest" /><title>Keyboard music</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;&lt;span style='font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;&lt;span style='border-collapse: collapse; line-height: 16px; white-space: pre;'&gt;Coding for long time can leave you stressed. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;&lt;span style='border-collapse: collapse; line-height: 16px; white-space: pre;'&gt;So why not heal yourself as you code with some soothing music?  This program plays random notes when you type a key.  The idea is to create soothing music for coders or anyone who spends time typing in front of pc(instead of the boring keyboard noise).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;&lt;span style='border-collapse: collapse; line-height: 16px; white-space: pre;'&gt;Guitar and piano notes are included in the bundle, but user can add their own notes as mentioned in steps to run(wiki link below).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;&lt;span style='border-collapse: collapse; line-height: 16px; white-space: pre;'&gt;Also planning to include auto suggest with it  sometime (so you dont have to type a long sentence or word again).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;&lt;span style='border-collapse: collapse; line-height: 16px; white-space: pre;'&gt;Its partly implemented, but disabled  in code at the moment.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;There is lot more work to be done, like better notes etc. (I am no music expert). The basic idea is built and can be improved easily.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;If you wish to contribute for develoopment, please let me know. The project will always be open sourced.&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;For details please follow wiki notes &lt;a href='https://bitbucket.org/sandeep_maloth/keyboard-sound/wiki/Home'&gt;here&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style='color: rgb(0, 0, 0); font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;&lt;span style='border-collapse: collapse; line-height: 16px; white-space: pre;'&gt;The project is open sourced &lt;a href='https://bitbucket.org/sandeep_maloth/keyboard-sound/overview'&gt;here&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;span style='font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;&lt;span style='border-collapse: collapse; line-height: 16px; white-space: pre;'&gt;&lt;span style='border-collapse: separate; line-height: normal; white-space: normal;'&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;:1.  The code captures keystrokes provided by JNativeHook.jar and it should not be used for malicious intent. I will be in no way held responsible for any misuse. &lt;br/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;               2. The code built so far is basic and not yet fully tested. There is a possibility of notes played loud,etc. Please beware of this. &lt;br/&gt;&lt;span style='font-family: &amp;apos;times new roman&amp;apos;,times; font-size: medium;'&gt;&lt;span style='border-collapse: collapse; line-height: 16px; white-space: pre;'&gt;&lt;span style='border-collapse: separate; line-height: normal; white-space: normal;'/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=595eb02e-d609-809c-a13c-8b68c77d5ba8' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-8169634254753523016?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/8169634254753523016/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=8169634254753523016" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/8169634254753523016?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/8169634254753523016?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/rpZmAKAbyTg/keyboard-music.html" title="Keyboard music" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/07/keyboard-music.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQCQX05fip7ImA9WhdTFEo.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-2649621892084551224</id><published>2011-07-07T02:48:00.001-07:00</published><updated>2011-07-12T06:12:40.326-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-12T06:12:40.326-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gods debris the religion war scott adams dilbert" /><title>Gods Debris  By Scott Adams</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;For a change have been reading a novel called &lt;strong&gt;Gods Debris &lt;/strong&gt;by Scott Adams(creator of Dilbert comics). &lt;/p&gt;&lt;p&gt;It has no plot as such but an exchange of ideas/ a perspective about god/ belief system/universe/ etc. &lt;/p&gt;&lt;p&gt;In short it expands your imagination .&lt;/p&gt;&lt;p&gt;Though some concepts are abstract and made up, I enjoyed Gods debris and have started with his next book &lt;strong&gt;The Religion war&lt;/strong&gt; (futuristic novel about Christianity and Islam) .&lt;/p&gt;&lt;p&gt; Update: read The religion war. Quite nice! I am a fan of Scott Adams (his &lt;a href='http://www.dilbert.com/blog/'&gt;blog&lt;/a&gt;)&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Gods Debris ebook is free &lt;a href='../../images.ucomics.com/images/pdfs/sadams/godsdebris.pdf'&gt;here&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The Religion War ebook can be found &lt;a href='http://www.youblisher.com/files/publications/7/40927/pdf.pdf'&gt;here&lt;/a&gt;: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=9c5d6c74-eaa6-8ad8-bf29-dba4e1904669' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-2649621892084551224?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/2649621892084551224/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=2649621892084551224" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/2649621892084551224?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/2649621892084551224?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/JiB0aAfdBww/gods-debris-for-change.html" title="Gods Debris  By Scott Adams" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/07/gods-debris-for-change.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QARHY7eyp7ImA9WhZaFU0.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-3041040225880880396</id><published>2011-07-01T01:30:00.000-07:00</published><updated>2011-07-01T01:35:45.803-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-01T01:35:45.803-07:00</app:edited><title>When Windows+Eclipse+Firefox slow down</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;All big garbage collected programs have a problem on MS Windows where,  if you iconify them, the OS drastically reduces the working set size,  making its VM pages available to other processes. When you restore the  program, then the first time it tries to do a garbage collect (which  could be several times a second) it can suffer a long pause while it  brings in almost its entire virtual memory footprint in order to chase  references. I've seen it take as long as 200 seconds to do this, during  which time the program is unusable. &lt;br/&gt;&lt;br/&gt;Workaround : use windows key + D or show desktop buttton instead of minimize.&lt;br/&gt;&lt;a href='http://www.eclipsezone.com/eclipse/forums/t20829.html'&gt;More details&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;For eclipse performance imporvement, update shortcut as below:&lt;br/&gt;"C:\Program Files\eclipse\eclipse.exe" -vm  c:\j2sdk1.4.2\jre\bin\javaw.exe -vmargs -Xms64m -Xmx384m  -XX:CompileThreshold=5 -XX:+UseParallelGC &lt;br/&gt;The flags are discussed on the following website: &lt;a target='_blank' href='http://www.burnthacker.com/archives/000049.html'&gt;http://www.burnthacker.com/archives/000049.html&lt;/a&gt;. &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=2ec802aa-959b-8417-a04b-02bd08c911fe' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-3041040225880880396?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/3041040225880880396/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=3041040225880880396" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/3041040225880880396?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/3041040225880880396?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/g_20De_Nvp0/when-windowseclipsefirefox-slow-down.html" title="When Windows+Eclipse+Firefox slow down" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/07/when-windowseclipsefirefox-slow-down.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4DQXw9fyp7ImA9WhZaF0o.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-4071087343878057247</id><published>2011-06-28T06:30:00.001-07:00</published><updated>2011-07-04T03:06:10.267-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-04T03:06:10.267-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="smtp email test mock server james" /><title>SMTP email testing</title><content type="html">&lt;div&gt;&amp;nbsp;To run local integration test, install apache james mail server.&lt;br /&gt;&amp;nbsp;1. Start the server by [james]\bin\run.bat&lt;br /&gt;&amp;nbsp;2. Map the email host to you smtp server if required in hosts file&lt;br /&gt;&amp;nbsp;3. Run the test and check [james]\apps\james\var\mail\outgoing for emails sent out&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;To add a user in james :&lt;/div&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp;&amp;nbsp;1. telnet localhost 4555&lt;/div&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp;&amp;nbsp;2. login as root/root&lt;/div&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp;&amp;nbsp;3. adduser [name] [pass]&lt;/div&gt;&lt;div&gt;Also refer : james-2.3.2\apps\james\SAR-INF\config.xml for default user/pass&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://james.apache.org/server/2.3.0/adding_users.html"&gt;&lt;span style="white-space: pre;"&gt;M&lt;/span&gt;ore on adding user&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="white-space: normal;"&gt;Code to read email&amp;nbsp;&lt;a href="http://www.roseindia.net/javamail/read-mail.shtml"&gt;link&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="white-space: pre;"&gt;&lt;span style="white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;Simples&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="zemanta-pixie"&gt;&lt;img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=db97c78c-15cf-8470-a6c2-502af1a3ab29" alt="" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-4071087343878057247?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/4071087343878057247/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=4071087343878057247" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4071087343878057247?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4071087343878057247?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/7E6j5-nIaFs/smtp-email-testing.html" title="SMTP email testing" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/06/smtp-email-testing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4MRXo_eip7ImA9WhZRGEo.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-2197610649113592377</id><published>2011-04-15T07:16:00.001-07:00</published><updated>2011-04-15T07:16:24.442-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-15T07:16:24.442-07:00</app:edited><title>Drools - Java Rules engine</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;An implementation of &lt;span style='font-size: 11pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: rgb(31, 73, 125);'&gt;JSR 94  spec.&lt;br/&gt;More &lt;a href='http://java.sun.com/developer/technicalArticles/J2SE/JavaRule.html'&gt;here&lt;/a&gt; &lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=8c840539-5ab0-8074-ac1f-ab1b111b330f' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-2197610649113592377?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/2197610649113592377/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=2197610649113592377" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/2197610649113592377?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/2197610649113592377?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/_zVl4hkngy8/drools-java-rules-engine.html" title="Drools - Java Rules engine" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/04/drools-java-rules-engine.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYBRXg6eip7ImA9WhZRGEo.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-4842137974377492868</id><published>2011-04-10T10:11:00.001-07:00</published><updated>2011-04-15T07:19:14.612-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-15T07:19:14.612-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mac m701 android skype not working crash" /><title>Android - Getting skype to work</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;Installing skype on my android 2.2 powered M701(Haipad lol ) didnt work initially. It would crash after a login.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;This post was quite useful to get it rocking: &lt;a href='http://www.androidtablets.net/forum/telechips-tcc8902-development/6565-installing-gapps-official-android-2-2-m701-2gb.html'&gt;here&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Wish skype gives support for video calls on android soon. Till then happy calling.&lt;br/&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Quick Notes :&lt;/p&gt;&lt;p&gt;Adb - android debugging tool. This is found with android SDK under [android-sdk-mac_x86]/platform-tools&lt;/p&gt;&lt;p&gt;1. Connect your device using USB.&lt;/p&gt;&lt;p&gt;2. ./adb get-state   --&amp;gt; Get state of the device. If it has connected fine etc.&lt;/p&gt;&lt;p&gt;./adb remount&lt;/p&gt;&lt;p&gt;./adb pull /android/device/folder/file.txt /mac/folder  --&amp;gt; To copy a file&lt;/p&gt;&lt;p&gt;./adb push /mac/folder/file.xt /android/device/folder&lt;/p&gt;&lt;p&gt;./adb install &lt;path file='' to=''&gt; - Example: adb install c:/apps/apps2sd.apk&lt;/path&gt;&lt;/p&gt;&lt;p&gt;./adb uninstall &lt;name application='' of=''&gt; - Example: adb uninstall linda.apk&lt;/name&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=d3f40b64-0e1c-87cd-a608-9f2ce54e1a43' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-4842137974377492868?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/4842137974377492868/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=4842137974377492868" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4842137974377492868?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4842137974377492868?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/cd-WnqsQook/android-getting-skype-to-work.html" title="Android - Getting skype to work" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/04/android-getting-skype-to-work.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMFRHY-fip7ImA9WhZSFE0.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-4484135970363850470</id><published>2011-03-29T05:06:00.001-07:00</published><updated>2011-03-29T05:06:55.856-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-29T05:06:55.856-07:00</app:edited><title>Gwt JSNI gotchas</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;1. Expression evaluation &lt;br/&gt;http://code.google.com/p/google-web-toolkit/issues/detail?id=2912&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=950b14d1-b668-8621-94ca-43ae4ab4df6e' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-4484135970363850470?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/4484135970363850470/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=4484135970363850470" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4484135970363850470?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4484135970363850470?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/P4U5He8EUdk/gwt-jsni-gotchas.html" title="Gwt JSNI gotchas" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/03/gwt-jsni-gotchas.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcEQHk4cSp7ImA9WhdaGE0.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-4612485011425098435</id><published>2011-03-29T02:56:00.001-07:00</published><updated>2011-10-28T05:46:41.739-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-28T05:46:41.739-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="easy mock jmock vs mocking java tdd" /><title>Mock Mock Mock</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;h1&gt;&lt;font face='serif'&gt;&lt;b&gt;&lt;small&gt;&lt;small&gt;&lt;small&gt;&lt;small&gt;Mocking is serious business for evolved coding monkeys these days.&lt;/small&gt;&lt;/small&gt;&lt;/small&gt;&lt;/small&gt; &lt;small&gt;&lt;small&gt;&lt;small&gt;&lt;small&gt;There are few good frameworks which help in mocking like easymock, jMockit, &lt;a href='http://mockrunner.sourceforge.net/index.html'&gt;mockrunner&lt;/a&gt; etc&lt;/small&gt;&lt;/small&gt;&lt;/small&gt;&lt;/small&gt;&lt;/b&gt;&lt;/font&gt;&lt;/h1&gt;&lt;b&gt;PowerMock&lt;/b&gt;&lt;br/&gt;SmartGWT is a GWT widget library which has design issues as its classes doesnt mostly implement interfaces. But the problem is we have to use it as it has nice widgets. &lt;br/&gt;&lt;br/&gt;Question: how do we unit test these classes which have native code and hard to mock?&lt;br/&gt; Powermock came to rescue us. It can re-engineer the class and supress static block and method. &lt;br/&gt;Eg:&lt;br/&gt;@RunWith(PowerMockRunner.class)&lt;br/&gt;@PrepareForTest( {Appender.class}) &lt;br/&gt;@SuppressStaticInitializationFor({"com.google.gwt.user.client.ui.UIObject","com.smartgwt.client.widgets.BaseWidget"})&lt;br/&gt;@MockPolicy({Slf4jMockPolicy.class, Log4jMockPolicy.class})&lt;br/&gt;public class MyStaticTest{&lt;br/&gt;}&lt;br/&gt;The above supresses static blocks which have wierd native calls and helps us continue our junit as usual. But its a bit slow (worth it i believe).&lt;br/&gt;More on usage &lt;a href='http://code.google.com/p/powermock/wiki/GettingStarted'&gt;here&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;h1&gt;&lt;font face='serif'&gt;&lt;small&gt;&lt;small&gt;&lt;small&gt;&lt;small&gt;&lt;a href='%20http://jeantessier.com/SoftwareEngineering/Mocking.html'&gt;&lt;b&gt;jMock vs. EasyMock &lt;/b&gt;&lt;br/&gt;&lt;/a&gt;&lt;/small&gt;&lt;/small&gt;&lt;/small&gt;&lt;/small&gt;&lt;/font&gt;&lt;/h1&gt;&lt;font face='serif'&gt;&lt;a href='http://www.jmock.org/easymock-comparison.html'&gt;Comparison of jmock &amp;amp; easy mock&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Both have similar features. jMock has a DSL (domain specific language) while easy mock has record-replay style.&lt;br/&gt;&lt;br/&gt;Apparently jMock seems to be better in terms of readability and usability. Would prefer the more intuitive framework like jMock than Easy mock. &lt;br/&gt;&lt;br/&gt;Will post more when I actually try using jMock. Till than easy mock. &lt;br/&gt;&lt;br/&gt;&lt;small&gt;Useful links&lt;br/&gt;&lt;span&gt;1.	&lt;span class='highlight'&gt;EasyMock&lt;/span&gt; &lt;/span&gt;&lt;a rel='nofollow' target='_top' href='http://www.easymock.org/'&gt;&lt;span&gt;http://www.&lt;span class='highlight'&gt;easymock&lt;/span&gt;.org&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;span&gt;2.	&lt;span class='highlight'&gt;JMock &lt;/span&gt; &lt;/span&gt;&lt;a rel='nofollow' target='_top' href='http://www.jmock.org/'&gt;&lt;span&gt;http://www.&lt;span class='highlight'&gt;jmock&lt;/span&gt;.org&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;span&gt;3.	Mackinnon, T., et al. 2000. Endo-Testing: Unit Testing with Mock &lt;/span&gt;&lt;span&gt;Objects. In Proceedings of XP 2000. &lt;/span&gt;&lt;a rel='nofollow' target='_top' href='http://www.mockobjects.com/files/endotesting.pdf'&gt;&lt;span&gt;http://www.mockobjects.com/files/endotesting.pdf&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;span&gt;4.	Freeman, S., et al. 2004. Mock Roles, not Objects. In Proceedings &lt;/span&gt;&lt;span&gt;of OOPLSA 2004. &lt;/span&gt;&lt;a rel='nofollow' target='_top' href='http://www.mockobjects.com/files/mockrolesnotobjects.pdf'&gt;&lt;span&gt;http://www.mockobjects.com/files/mockrolesnotobjects.pdf&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;span&gt;5.	Walls, C. 2008. Spring in Action, 2nd Edition. Manning Publications &lt;/span&gt;&lt;span&gt;Co., Greenwich, CT. §B.2.1. &lt;/span&gt;&lt;br/&gt;&lt;span&gt;6.	Stewart, S. 2004. Approaches to Mocking. &lt;/span&gt;&lt;a rel='nofollow' target='_top' href='http://www.onjava.com/lpt/a/4526'&gt;&lt;span&gt;http://www.onjava.com/lpt/a/4526&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;span&gt;7.	Fowler, M. 2007. Mocks Aren't Stubs. &lt;/span&gt;&lt;a rel='nofollow' target='_top' href='http://martinfowler.com/articles/mocksArentStubs.html'&gt;&lt;span&gt;http://martinfowler.com/articles/mocksArentStubs.html&lt;/span&gt;&lt;/a&gt;&lt;/small&gt;&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img class='zemanta-pixie-img' alt='' src='http://img.zemanta.com/pixy.gif?x-id=f8a41aff-6667-8507-a33f-954afe6421eb'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-4612485011425098435?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/4612485011425098435/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=4612485011425098435" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4612485011425098435?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4612485011425098435?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/FiqCKU_UjA4/mock-mock-mock.html" title="Mock Mock Mock" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/03/mock-mock-mock.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MHR3c-cSp7ImA9WhZTEEw.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-4086325417923827831</id><published>2011-03-13T04:12:00.000-07:00</published><updated>2011-03-13T04:23:56.959-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-13T04:23:56.959-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Batch script to load developer environment" /><title>Batch script to load developer environment</title><content type="html">&lt;div&gt;Wrote a simple windows bat script to start my project work environment. &lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;This would save me&lt;/div&gt;&lt;div&gt; 4 + 2 + 3 + 2+2  = 14 mouse clicks&lt;/div&gt;&lt;div&gt;4+2  + 5  =  11 keystroke &lt;/div&gt;&lt;div&gt;3 + 3 = 6 copy paste&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;Saving me from making 14+ 3  + 6= 23 decisions..  lol&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;The effort involved to build this script is 1 hour though. On a long run saves my time and energy for making these 23 decisions.. Worth it i believe.&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;What this does is : start mysql server , tomcat, eclipse, mysql query browser and open command prompt into your current project&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;------------------&lt;/div&gt;&lt;div&gt;net start mysql5.1&lt;/div&gt;&lt;div&gt;f:&lt;/div&gt;&lt;div&gt;cd F:\apache-tomcat-6.0.29\bin\&lt;/div&gt;&lt;div&gt;start F:\apache-tomcat-6.0.29\bin\startup-debug.bat&lt;/div&gt;&lt;div&gt;start D:\tools\IDE\eclipse-jee-helios-SR2-win32\eclipse\eclipse_jee_helios.exe&lt;/div&gt;&lt;div&gt;"C:\Program Files\MySQL\MySQL Tools for 5.0\MySQLQueryBrowser.exe" -ulportal -pdontshow -hlocalhost&lt;/div&gt;&lt;div&gt;cd F:\project&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;-----------------&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-4086325417923827831?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/4086325417923827831/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=4086325417923827831" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4086325417923827831?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4086325417923827831?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/Ls2bhwtCfnA/batch-script-to-load-developer.html" title="Batch script to load developer environment" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/03/batch-script-to-load-developer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8CRHY4fCp7ImA9WhRREEk.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-1141774135594585683</id><published>2011-03-09T09:12:00.001-08:00</published><updated>2011-11-23T02:24:25.834-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-23T02:24:25.834-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="smart gwt" /><title>Smart GWT Gotchas</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div&gt; &lt;div id='Normalcontent' style='clear: both; padding: 0px 3px; position: relative;'&gt;&lt;div id='imcontent' style='margin-left: 12px;'&gt;&lt;span&gt; &lt;div style='font-size: 9pt; color: rgb(0, 0, 0); direction: ltr;'&gt;&lt;br/&gt;1. ListGrid - Change color of &lt;a href='http://forums.smartclient.com/showthread.php?t=5266&amp;amp;highlight=ListGrid+row+change+color'&gt;a row&lt;/a&gt; or individual &lt;a href='%20http://www.smartclient.com/smartgwt/showcase/#grid_appearance_hilite_replace'&gt;cell &lt;/a&gt;&lt;br/&gt;2. Dynamic Form &lt;br/&gt;           StaticTextItem&lt;br/&gt;3. JSON parsing :&lt;br/&gt;                JavaScriptObject jsObject = JSON.decode(responseData);&lt;br/&gt;                JSONArray accountNames = XMLTools.selectObjects(jsObject, "accounts");&lt;br/&gt;                final JSONValue jsonAccount = accountObjs.get(0);&lt;br/&gt;                final String accountNumber = jsonAccount.isObject().get("AccountNumber").isString().stringValue();&lt;br/&gt;4. Mock Presenter gotcha :&lt;br/&gt;&lt;pre&gt;   Caused by: java.lang.UnsupportedOperationException: ERROR: GWT.create() is only usable in client &lt;/pre&gt;     Fix : &lt;span&gt;GWTMockUtilities.disarm();   More &lt;a href='http://blog.danielwellman.com/2009/02/index.html'&gt;here&lt;/a&gt; &lt;/span&gt;&lt;br/&gt;&lt;br/&gt;5. Speed up gwt compile time : &lt;a href='http://architects.dzone.com/articles/google-web-toolkit-gwt'&gt;here&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;6. Error processing request: The response could not be deserialized &lt;br/&gt;             Annonying issue in dev mode from eclipse. See that the default compile target is set to ../web-inf/classes in eclipse. Restart eclipse. clean up target classes folder. Got  it working...after a redeploy of war again...strange..cant point to one specific  thing (as i did clear browser cache/eclipse classes output/restart  eclipse)&lt;br/&gt;&lt;div style='font-size: 9pt; color: rgb(0, 0, 0); direction: ltr;'&gt;Apparently workaround seems to be try redeploying app whenever this  issue occurs..&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;7. Wrap text in list grid:&lt;font color='#0000c0' size='3'&gt;&lt;font color='#0000c0' size='3'&gt;&lt;br/&gt;listGrid&lt;/font&gt;&lt;/font&gt;&lt;font size='3'&gt;.setFixedRecordHeights&lt;/font&gt;&lt;font color='#ff0080' size='3'&gt;&lt;font color='#ff0080' size='3'&gt;(&lt;/font&gt;&lt;/font&gt;&lt;b&gt;&lt;font color='#7f0055' size='3'&gt;&lt;font color='#7f0055' size='3'&gt;false&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;font color='#ff0080' size='3'&gt;&lt;font color='#ff0080' size='3'&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size='3'&gt;;&lt;/font&gt;&lt;font color='#0000c0' size='3'&gt;&lt;font color='#0000c0' size='3'&gt;&lt;br/&gt;listGrid&lt;/font&gt;&lt;/font&gt;&lt;font size='3'&gt;.setWrapCells&lt;/font&gt;&lt;font color='#ff0080' size='3'&gt;&lt;font color='#ff0080' size='3'&gt;(&lt;/font&gt;&lt;/font&gt;&lt;b&gt;&lt;font color='#7f0055' size='3'&gt;&lt;font color='#7f0055' size='3'&gt;true&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;font color='#ff0080' size='3'&gt;&lt;font color='#ff0080' size='3'&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size='3'&gt;;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;8. Listgrid pagination related issues(issues with page scroll based pagination):

&lt;br/&gt;&lt;div&gt;&lt;div id='Normalcontent' style='position: relative; padding: 0px 3px; clear: both;'&gt;&lt;div id='imcontent' style='margin-left: 12px;'&gt;&lt;span&gt;&lt;div style='direction: ltr; color: rgb(0, 0, 0); font-size: 9pt;'&gt;Serendipity 
might have already solved the pagination and csv export : &lt;a href='http://code.google.com/p/crmdipity/downloads/list' title='http://code.google.com/p/crmdipity/downloads/list'&gt;http://code.google.com/p/crmdipity/downloads/list&lt;/a&gt; 
&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div id='Normalcontent' style='position: relative; padding: 0px 3px; clear: both;'&gt;
&lt;div id='imwidget' style='margin-left: 5px;'&gt;
&lt;/div&gt;
&lt;div id='imcontent' style='margin-left: 12px;'&gt;&lt;span&gt;
&lt;div style='direction: ltr; color: rgb(0, 0, 0); font-size: 9pt;'&gt;think 
best if we have traditional pagination approach. and have as PaginatedListGrid 
which will solve all list grid related issues:&lt;br/&gt;  - sorting&lt;br/&gt;  - export to 
excel&lt;br/&gt;  - print&lt;br/&gt;  - slow page load&lt;br/&gt;  - less browser load (as only one 
page of data is available at any point of time)&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;a title='http://forums.smartclient.com/showthread.php?t=5266&amp;amp;highlight=ListGrid+row+change+color' href='http://forums.smartclient.com/showthread.php?t=5266&amp;amp;highlight=ListGrid+row+change+color'&gt;&lt;br/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img class='zemanta-pixie-img' alt='' src='http://img.zemanta.com/pixy.gif?x-id=726605ee-a4fa-8005-a996-14880a6c6e3e'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-1141774135594585683?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/1141774135594585683/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=1141774135594585683" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/1141774135594585683?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/1141774135594585683?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/XrzA8DsOjqw/smart-gwt-gotchas.html" title="Smart GWT Gotchas" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/03/smart-gwt-gotchas.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcER3g5eCp7ImA9WhRQF0U.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-3788964587836284895</id><published>2011-02-17T06:57:00.001-08:00</published><updated>2011-12-13T06:36:46.620-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-13T06:36:46.620-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gwt javascript" /><title>GWT + Smart GWT</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p style='' class='MsoNormal'&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Technology stack:&lt;/span&gt;&lt;/b&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;            &lt;/span&gt;Client side:&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt; GWT Sdk 2.1&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt; / Smart GWT 2.4&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;           &lt;/span&gt;&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;            &lt;/span&gt;Server side:&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'&gt;  Spring 3 mvc application       which returns response in JSON data format. &lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'&gt;/ Tomcat 6&lt;/span&gt;&lt;/p&gt;    &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;            &lt;/span&gt;Development tools&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;  : Eclipse Helios 3.6&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt; /  GWT plug-in&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt; / GWT designer plug-in (this has       useful features to design the UI, but consumes lot of memory and quite       buggy and annoying)&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt; / To show debug console: javascript:       isc.showConsole()&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt; &lt;/span&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;POC Implementation Approach:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style='' class='MsoNormal'&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;            &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;A simple application to use Smart GWT components was designed. The key areas to investigate were – how well the UI components fit together and client server interaction options. &lt;/span&gt;&lt;/p&gt;    &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;            *&lt;/span&gt;.gwt.xml defines the GWT module with core classes to be inherited and also the entry point class. The entry point class onModuleLoad() method is the first to be called in the GWT application to load the rest of the UI components. &lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/p&gt;    &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;            &lt;/span&gt;Used Smart GWT components for layout - VLayout, HLayout and SectionStack for collapsible sections.&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/p&gt;  &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;            &lt;/span&gt;Smart GWT ListGrid widget, can easily render the search result data by setting a specific Datasource. &lt;/span&gt;&lt;/p&gt;    &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt; (&lt;b style=''&gt;Note&lt;/b&gt;: This notion of datasource is not the same a database datasource; it is just a terminology for abstracting client server communication by Smart GWT). &lt;/span&gt;&lt;/p&gt;    &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt; Various datasource can be used to handle JSON, XML, RPC, etc server responses. These can be found in package : &lt;b&gt;com.smartgwt.client.data.*DataSource &lt;/b&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt; &lt;span style=''&gt;            &lt;/span&gt;The prototype uses RestDataSource to consume JSON response generated by a Spring MVC 3 application.&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;                      &lt;/span&gt;&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;            &lt;/span&gt;Once these components are organized in the Entry point class, using the gwt compiler generate all the JavaScript and HTML code required by the app. This can be deployed to a server.&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/p&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Initial impression&lt;/span&gt;&lt;/b&gt;    &lt;p style='' class='MsoNormal'&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Pros:&lt;/span&gt;&lt;/b&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Less JavaScript and HTML to write     and maintain.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Open source Smart GWT code allows viewing     code and identifying bugs easily: code &lt;a href='http://code.google.com/p/smartgwt/'&gt;source link&lt;/a&gt; . Also an active     smart GWT development &lt;a href='http://forums.smartclient.com/'&gt;forum&lt;/a&gt;     is helpful.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Choice of Smart GWT datasource     allows you to mock data for static prototypes and then switch to real web     application for data. Also this decouples client UI development from     server side build.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Swing style UI development:&lt;span style=''&gt;  &lt;/span&gt;Using smart GWT, you get a swing     development feel, with components added into container classes and event     handlers defined for &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;              &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Components&lt;span style=''&gt;                        &lt;/span&gt;&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/p&gt;  &lt;ul type='disc' style='margin-top: 0in;'&gt;&lt;li style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Ready&lt;span style=''&gt;  &lt;/span&gt;to use components:&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;            &lt;/span&gt;&lt;span style=''&gt;    &lt;/span&gt;Using Smart GWT you get widgets out of the box, but best practise around usage and modification needs to be identified. . Smart GWT has a rich set of ready to use widgets, a showcase is available &lt;a href='http://www.smartclient.com/smartgwt/showcase/#main'&gt;here&lt;/a&gt; &lt;span style=''&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/p&gt;  &lt;p style='' class='MsoNormal'&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Cons:&lt;/span&gt;&lt;/b&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Modular design for building large     scale apps is yet to be identified. Initial impression shows SmartGWT is     not written with MVP pattern in mind as suggested by Google. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Unit testing : &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;          &lt;p style='' class='MsoNormal'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt; &lt;/span&gt;&lt;span style=''&gt;           &lt;/span&gt;How best to make SmartGWT components unit testable needs to be identified. There is not much mention of how the Smart GWT components can be unit tested. If we consider using only GWT, this can be achieved using junit GWTTest case. &lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style='' class='MsoNormal'&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;TODO:&lt;/span&gt;&lt;/b&gt;&lt;b style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Symbol;'&gt;&lt;span style=''&gt;&lt;span style='font: 7pt &amp;quot;Times New Roman&amp;quot;;'&gt;&lt;i style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Smart GWT or just GWT: &lt;span style=''&gt; &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Building a GWT application from scratch without using any frameworks will need considerable amount of effort to follow the standard MVP pattern. But this is more flexible and unit testable, though time consuming. GWT best practise suggests using MVP design pattern for building larger applications. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;SmartGWT has its own approach, where you use a widget, introduce a &lt;span style=''&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;datasource into it and you are done. Yet to identify the best practise around building &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;such smart GWT components in a modularised (or MVP) fashion.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Symbol;'&gt;&lt;span style=''&gt;&lt;span style='font: 7pt &amp;quot;Times New Roman&amp;quot;;'&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Using framework GWT-platform and SmartGWT could be an option to try MVP architecture as mentioned &lt;a href='http://uptick.com.au/content/serendipity-working-gwt-platform-and-smartgwt'&gt;here&lt;/a&gt;. This would need more investigation.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;&lt;span style=''&gt;&lt;span style='font-size: 10pt; font-family: Symbol;'&gt;&lt;span style=''&gt;&lt;span style='font: 7pt &amp;quot;Times New Roman&amp;quot;;'&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Validation/message/exceptions display and other generic feature support of smart GWT is yet to be investigated.&lt;/span&gt;&lt;span style='font-size: 10pt; font-family: Tahoma;'/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 10pt; font-family: Symbol;'&gt;&lt;span style=''&gt;&lt;span style='font: 7pt &amp;quot;Times New Roman&amp;quot;;'&gt;&lt;i style=''&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt;Client server architecture:&lt;/span&gt;&lt;/i&gt;&lt;span style='font-size: 10pt; font-family: Tahoma; color: black;'&gt; &lt;span style=''&gt; &lt;/span&gt;Having Spring MVC + Spring core on the server side and GWT + Smart GWT on the client side could be a good stack of open source technologies, but given that GWT by default uses RPC for client server interaction, usage of these needs to be better evaluated. (esp. authentication/session handling/security etc).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;GWT performance tuning&lt;/b&gt;&lt;br/&gt;Server side tracing &lt;a href='http://code.google.com/webtoolkit/speedtracer/server-side-tracing.html'&gt;link&lt;/a&gt;&lt;br/&gt;Client side Speed tracer &lt;a href='http://code.google.com/webtoolkit/speedtracer/get-started.html#downloading'&gt;link&lt;/a&gt;&lt;br/&gt;Appstats for java &lt;a href='http://code.google.com/appengine/docs/java/tools/appstats.html'&gt;link&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Debug setting:&lt;/b&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;Run GWT Development Mode&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;small&gt;Go into the &lt;em&gt;Run Configuration&lt;/em&gt; menu and create a new Web Application configuration (this little Google &lt;em&gt;g&lt;/em&gt;). &lt;br/&gt;&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;Select the &lt;em&gt;slf4gwt-samples-client-app&lt;/em&gt; project and set &lt;em&gt;com.google.gwt.dev.DevMode&lt;/em&gt; as the &lt;em&gt;Main Class&lt;/em&gt;. On the &lt;em&gt;Server&lt;/em&gt; tab uncheck &lt;em&gt;Run built-in server &lt;/em&gt;and on the GWT tab set the &lt;em&gt;URL&lt;/em&gt; as &lt;a href='http://localhost:8080/slf4gwt-samples-server-app'&gt;http://localhost:8080/slf4gwt-samples-server-app&lt;/a&gt;.&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;Save and run!&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;Select the &lt;em&gt;src/main/webapp&lt;/em&gt; directory from the&lt;em&gt; project and you are done. Now the GWT development mode runs.&lt;/em&gt;&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;em&gt;&lt;small&gt;There will be an Eclipse view called &lt;em&gt;Development Mode&lt;/em&gt;, that shows you the URL for development mode. Copy it into your browser. &lt;/small&gt;&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;em&gt;   Run GWT debug on tomcat:&lt;br/&gt; 1. Get google plugin for eclipse &lt;br/&gt;2. Then in eclipse, right click on your project and choose Debug as -&amp;gt; Web Application (running on external server) &lt;br/&gt;3. Enter URL of your web app on tomcat (like &lt;a href='http://localhost:8080/YourApp/YourApp.html' rel='nofollow'&gt;http://localhost:8080/YourApp/YourApp.html&lt;/a&gt; and eclipse will give you new one - it will add stuff like ?gwt.codesvr=127.0.0.1:9997&lt;br/&gt;And you can hot replace the code as the code will be served from eclipse and not from application deployed in tomcat. So cool. Thanks google&lt;br/&gt;&lt;br/&gt;&lt;b&gt;GWT compiler performance tip:&lt;/b&gt;&lt;br/&gt;   Add &lt;localworkers&gt;4&lt;/localworkers&gt; in gwt-maven-plugin setting ..&lt;a href='http://josephmarques.wordpress.com/2010/07/30/gwt-compilation-performance/'&gt;more&lt;/a&gt;&lt;br/&gt;  &lt;a href='http://mojo.codehaus.org/gwt-maven-plugin/user-guide/library.html'&gt;Gwt plugin &lt;/a&gt;&lt;br/&gt;&lt;a href='http://code.google.com/appengine/docs/java/tools/appstats.html'&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Useful links&lt;/b&gt;&lt;br/&gt;&lt;/a&gt;&lt;a href='http://code.google.com/webtoolkit/overview.html'&gt;GWT&lt;/a&gt;: &lt;br/&gt;&lt;a href='http://www.smartclient.com/index.jsp#showcaseApp'&gt;Smart GWT &lt;/a&gt;: has rich set of gwt components.&lt;br/&gt;&lt;a href='http://code.google.com/p/gwt-cx/'&gt;Smart GWT+ GWT +MVP example&lt;/a&gt;&lt;br/&gt;&lt;a href='http://www.ducktools.org/2010/05/gwt-eclipse-tomcat-2.html'&gt;GWT debug mode on tomcat&lt;/a&gt; &lt;a href='http://www.ducktools.org/2010/04/gwt-eclipse-tomcat.html'&gt;link2&lt;/a&gt;&lt;br/&gt;&lt;a href='article%20on%20multiple%20modules,%20which%20is%20fairly%20decent%20http://www.summa-tech.com/blog/2011/02/22/structuring-gwt-modules-for-large-applications/'&gt;Modular GWT&lt;/a&gt; &lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.javacodegeeks.com/2010/07/add-json-gwt-application.html'&gt;JSON GWT integration&lt;/a&gt; : &lt;br/&gt;&lt;br/&gt;&lt;a href='http://code.google.com/javadevtools/download-wbpro.html'&gt;GWT gui designer &lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.webspin.be/?p=5'&gt;GWT EventBus sample&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img class='zemanta-pixie-img' alt='' src='http://img.zemanta.com/pixy.gif?x-id=ad72dc4d-7573-8e84-8504-255b489d1651'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-3788964587836284895?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/3788964587836284895/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=3788964587836284895" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/3788964587836284895?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/3788964587836284895?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/9tmAs-zH9Ak/gwt.html" title="GWT + Smart GWT" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/02/gwt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cBRXc8fSp7ImA9Wx9WGUg.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-8088343494431947201</id><published>2011-01-25T04:31:00.001-08:00</published><updated>2011-01-25T04:37:34.975-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-25T04:37:34.975-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="jquery IE AJAX issues" /><title>jquery IE AJAX issues</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;The list of issues when working with jquery IE AJAX issues are so huge and painful that I plan to maintain a log here :&lt;br/&gt;&lt;br/&gt;1. trim() javascript function is not implemented in IE.&lt;br/&gt; Solution: Use $.trim('str ') instead of javascript trim()&lt;br/&gt;&lt;br/&gt;2. Use javascript stacktrace jquery plugin. This is a life savior for identifying IE issues..&lt;br/&gt;&lt;a href='http://eriwen.com/javascript/js-stack-trace/'&gt;http://eriwen.com/javascript/js-stack-trace/&lt;/a&gt;&lt;br/&gt;Open source in &lt;a href='https://github.com/emwendelin/javascript-stacktrace'&gt;git here&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=4a3a9e70-f1b0-8189-a82a-eafb0b63bc94' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-8088343494431947201?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/8088343494431947201/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=8088343494431947201" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/8088343494431947201?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/8088343494431947201?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/cjZf_aFis2I/jquery-ie-ajax-issues.html" title="jquery IE AJAX issues" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/01/jquery-ie-ajax-issues.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAMQH0zfip7ImA9Wx9WFk0.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-1778911347706187710</id><published>2011-01-21T03:03:00.001-08:00</published><updated>2011-01-21T03:03:01.386-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-21T03:03:01.386-08:00</app:edited><title>Spring mvc 3 junit test</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Below is a code snippet to easily test a spring annotated web controller&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;public abstract class BaseWebControllerTest {&lt;/b&gt;&lt;br/&gt;    @Autowired&lt;br/&gt;    protected ApplicationContext context;&lt;br/&gt;    protected MockHttpServletRequest request;&lt;br/&gt;    protected MockHttpServletResponse response;&lt;br/&gt;    protected HandlerAdapter handlerAdapter;&lt;br/&gt;&lt;br/&gt;    public void before() {&lt;br/&gt;        handlerAdapter = context.getBean(HandlerAdapter.class);&lt;br/&gt;    }&lt;br/&gt;    &lt;br/&gt;    void handle(HttpServletRequest request, HttpServletResponse response) throws Exception {&lt;br/&gt;        final HandlerMapping handlerMapping = context.getBean(HandlerMapping.class);&lt;br/&gt;        final HandlerExecutionChain handler = handlerMapping.getHandler(request);&lt;br/&gt;        assertNotNull("No handler found for request, check you request mapping", handler);&lt;br/&gt;&lt;br/&gt;        final Object controller = handler.getHandler();&lt;br/&gt;&lt;br/&gt;        final HandlerInterceptor[] interceptors = handlerMapping.getHandler(request).getInterceptors();&lt;br/&gt;        for (HandlerInterceptor interceptor : interceptors) {&lt;br/&gt;            final boolean carryOn = interceptor.preHandle(request, response, controller);&lt;br/&gt;            if (!carryOn) {&lt;br/&gt;                return;&lt;br/&gt;            }&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;        handlerAdapter.handle(request, response, controller);&lt;br/&gt;    }&lt;br/&gt;&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&lt;b&gt;&lt;br/&gt;@RunWith(SpringJUnit4ClassRunner.class)&lt;br/&gt;@ContextConfiguration("/spring/test-app-config.xml")&lt;/b&gt;&lt;br/&gt;&lt;b&gt;public class MyControllerTest extends BaseWebControllerTest{&lt;/b&gt;&lt;br/&gt;    MyController controller;&lt;br/&gt;&lt;br/&gt;    @Before&lt;br/&gt;    public void before() {&lt;br/&gt;        super.before();&lt;br/&gt;        controller = context.getBean(MyController.class);&lt;br/&gt;    }&lt;br/&gt;&lt;br/&gt;    @Test&lt;br/&gt;    public void testGetRestRequest() throws Exception {&lt;br/&gt;        request = new MockHttpServletRequest();&lt;br/&gt;        response = new MockHttpServletResponse();&lt;br/&gt;        &lt;br/&gt;        request.setContentType("application/json");&lt;br/&gt;        request.setMethod("GET");&lt;br/&gt;        request.setRequestURI("/rule/"+id);&lt;br/&gt;&lt;br/&gt;        handle(request, response);&lt;br/&gt;        &lt;br/&gt;        String result =response.getContentAsString();&lt;br/&gt;        logger.info("RESULT : "+result);&lt;br/&gt;        //assert json response is right.&lt;br/&gt;    }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;Reference:&lt;br/&gt;http://efreedom.com/Question/1-2314377/Testing-Spring-MVC-Annotations&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=c794075c-b3f1-85d9-9eb2-ae7a26ea7917' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-1778911347706187710?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/1778911347706187710/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=1778911347706187710" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/1778911347706187710?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/1778911347706187710?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/D-mFyf8KC0I/spring-mvc-3-junit-test.html" title="Spring mvc 3 junit test" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/01/spring-mvc-3-junit-test.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMFRH0zfyp7ImA9Wx9XGU4.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-4133844265840636136</id><published>2011-01-13T08:33:00.001-08:00</published><updated>2011-01-13T08:33:35.387-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-13T08:33:35.387-08:00</app:edited><title>Batch scripts</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;b&gt;Context &lt;/b&gt;: If you are a java programmer? and you use tomcat  on windows? and you do not want repeated stress injury? &lt;br/&gt;If yes then below are the scripts:&lt;br/&gt;&lt;br/&gt;&lt;b&gt;#1# Script to shutdown tomcat, deploy app, and startup ##&lt;/b&gt;&lt;br/&gt;set tomcat_home=C:\..\apache-tomcat-6.0.20&lt;br/&gt;set CATALINA_HOME = %tomcat_home%&lt;br/&gt;cmd /c %tomcat_home%\bin\shutdown.bat&lt;br/&gt;&lt;br/&gt;cmd /c mvn clean package -Dmaven.test.skip&lt;br/&gt;rmdir /s /q %tomcat_home%\webapps\coacs&lt;br/&gt;&lt;br/&gt;copy target\myhotapp.war %tomcat_home%\webapps&lt;br/&gt;cmd /c %tomcat_home%\bin\startup.bat&lt;br/&gt;&lt;br/&gt;&lt;b&gt;#2# Run tomcat in debug mode  - store this under tomcat/bin as tomcat-debug.bat ##&lt;/b&gt;&lt;br/&gt;set CATALINA_HOME=C:\Apps\apache-tomcat-6.0.20&lt;br/&gt;set JPDA_ADDRESS=8000&lt;br/&gt;set JPDA_TRANSPORT=dt_socket&lt;br/&gt;%CATALINA_HOME%\bin\catalina.bat jpda start&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=44428108-049e-8e4f-8963-848141d535a6' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-4133844265840636136?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/4133844265840636136/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=4133844265840636136" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4133844265840636136?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4133844265840636136?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/hbla3FcLgYY/batch-scripts.html" title="Batch scripts" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/01/batch-scripts.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IHR3w_cSp7ImA9WhdXEE0.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-423153849625231210</id><published>2011-01-07T08:04:00.001-08:00</published><updated>2011-08-22T02:32:16.249-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-22T02:32:16.249-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oracle table previlege" /><title>Oracle fix for schema table prefix and running scripts from sql developer</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;In oracle it appears like a NON_OWNER user  though granted access(select, insert, delete, update) to tables created by OWNER of the table cannot directly view them without the schema prefix.&lt;br/&gt;&lt;br/&gt;This would mean all the queries in the java application will have to have this table owner user name prefix. &lt;br/&gt;&lt;br/&gt;The possible options to drop this prefix :&lt;br/&gt;&lt;br/&gt;1.  ALTER SESSION SET CURRENT_SCHEMA= OWNER_SCHEMA ;  (AFTER LOGON trigger as mentioned &lt;a href='http://stackoverflow.com/questions/283589/oracle-setting-per-user-default-scheme-not-altering-a-session'&gt;here &lt;/a&gt;)&lt;br/&gt;   But this works only for the current session unless we have a logon trigger. This seems like a preferred approach as per various forum threads.&lt;br/&gt;&lt;br/&gt;2. Create views/synonyms from the NON_OWNER  current user per table. So the tables can be accessed without prefix.&lt;br/&gt;&lt;br/&gt;3. It could be something simpler as well (I am no DB expert) like setting the default current schema for the NON_OWNER user in some other way.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Running scripts from SQL developer:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;To run this from sqldeveloper :&lt;br/&gt;1. Set a default Path: Tools menu &amp;gt; Preferences &amp;gt; Database &amp;gt; Worksheet &amp;gt; Select default path to look for scripts &lt;br/&gt;2. open run.sql from sqldeveloper File &amp;gt; Open&lt;br/&gt;3. Run script.&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=f8a41aff-6667-8507-a33f-954afe6421eb' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-423153849625231210?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/423153849625231210/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=423153849625231210" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/423153849625231210?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/423153849625231210?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/pqQmZyPpclg/oracle-schema-table-prefix.html" title="Oracle fix for schema table prefix and running scripts from sql developer" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/01/oracle-schema-table-prefix.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUINSXk-cCp7ImA9WhZRGEo.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-4016829650182797142</id><published>2011-01-04T03:18:00.001-08:00</published><updated>2011-04-15T07:26:38.758-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-15T07:26:38.758-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="iphone apps bri8 apple" /><title>iPhone apps - App-le a day</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;span style='font-size: 85%;'&gt;iPhone apps seems like the new trend and what else should  a developer be doing in his spare time?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;My motivation:&lt;br/&gt;&lt;br/&gt;1. Millions of users. You can share apps with the world and make a small earning till iphone user base exists. Isn't that cool&lt;br/&gt;&lt;br/&gt;2. Its market place is excellent&lt;br/&gt;&lt;br/&gt;3. One of the best integration of technology man possesses - all in the palms of your hand.&lt;br/&gt;&lt;br/&gt;4. Good way to know more about Apple &amp;amp; their products.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style='font-size: 85%;'&gt;Few iPhone apps that I have been churning are now live on itunes:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;1. AutoSignIn(free) - formerly called LogMeIn.&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://itunes.apple.com/us/app/logmein/id412767404?mt=8'&gt;&lt;br/&gt;&lt;img height='125' width='125' src='http://images.macworld.com/appguide/images/429/508/702/lrg.jpg' style='max-width: 800px;'/&gt;&lt;br/&gt;&lt;/a&gt;&lt;br/&gt;An auto login app to help you login to most of the popular sites -like gmail, admob, ebay, yahoo, gdocs, etc.. As iphone has no provision to store your password/email this should be handy. I use most of the time.&lt;br/&gt;The idea is that you dont need an app for every popular website on the internet. Just  an autologin app should do as most websites are mobile friendly these days.&lt;br/&gt;Was formerly called &lt;/span&gt;&lt;span style='font-size: 85%;'&gt;&lt;b&gt;LogMeIn. &lt;/b&gt;Due to copyright issues had to rename to AutoSignIn with a better icon. &lt;/span&gt;&lt;span style='font-size: 85%;'&gt;Hope we enjoy.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;2. gDox (free)&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://itunes.apple.com/hk/app/gdox/id406490665?mt=8'&gt;&lt;img src='http://a1.phobos.apple.com/us/r1000/058/Purple/5d/11/76/mzi.ethzhikm.100x100-75.jpg' style='max-width: 800px;'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;An auto login app for gDocs. Live now.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;3. Radio players (free)&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://itunes.apple.com/us/app/radiokannada/id396847398?mt=8'&gt;&lt;img src='http://a1.phobos.apple.com/us/r1000/030/Purple/0f/e8/fc/mzl.kmrixjrx.175x175-75.jpg' style='max-width: 800px;'/&gt;&lt;/a&gt;&lt;/span&gt; &lt;br/&gt; &lt;span style='font-size: 85%;'&gt;&lt;br/&gt;Has a very intuitive interface for couple of iphone radio apps i have been spamming itunes store with (until they said no more). Some are regional. Below is the list.&lt;br/&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style='font-size: 85%;'&gt;         Radio kannada&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 85%;'&gt;         Tamil Hits&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 85%;'&gt;         Telugu hits&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 85%;'&gt;         Radio Eye - English radio stations organized based on top stations and genre&lt;br/&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style='font-size: 85%;'&gt;         Hindi hits&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style='font-size: 85%;'&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;4. aMaze!! (free)&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://itunes.apple.com/us/app/amaze/id405542659?mt=8'&gt;&lt;img src='http://a1.phobos.apple.com/us/r1000/050/Purple/ca/72/33/mzi.qfrehyjc.175x175-75.jpg' style='max-width: 800px;'/&gt;&lt;/a&gt;&lt;/span&gt;&lt;br/&gt; &lt;span style='font-size: 85%;'&gt;&lt;br/&gt;An attempt to use Chipmunk physics engine and sparrow framework to build a maze game with balls moved into target square  through iphone movement. Its a free app with some nice music and interface (except that the physics engine is not that great).&lt;br/&gt;&lt;b&gt;Learnings:&lt;/b&gt;&lt;br/&gt;Chipmunk C library is free but hard to code(its objective C library costs 200 bucks and i didn't wanted to shell out a $). Though this was a good experience with physics engine, i found it to be unstable and not so easy to work around memory and timer issues of chipmunk C library. Would not recommend anyone to use chipmunk c library (don't know if the paid objective C bundle is better). Better go for cocos 2d. Its more popular.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;5. Java JEE IQ (Was $1. Now free)&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href='http://itunes.apple.com/us/app/java-jee-iq/id396544385?mt=8'&gt;&lt;img src='http://a1.phobos.apple.com/us/r1000/023/Purple/76/e0/5c/mzi.ogiuavvl.175x175-75.jpg' style='max-width: 800px;'/&gt;&lt;/a&gt;&lt;/span&gt;&lt;br/&gt;   &lt;span style='font-size: 85%;'&gt;&lt;br/&gt;Java/j2ee quick notes for revision etc esp. during interview. It consists of notes from an industry perspective- has spring/hibernate/struts/JSR's/core java/ etc and some useful  pdfs. This was my first app and i spent a lot of time learning objective c/buying macbook &amp;amp; ipod touch/installing snow leopard/xml parsing library/xcode/interface builder/ and understanding how to make a release to itunes. I am charging a $ for all that effort of mine. Hope it is acceptable.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;All the above apps can be found by searching 'bri8' on itunes store or following this link:&lt;br/&gt;&lt;a href='http://itunes.apple.com/us/artist/bri8-ltd/id396468155'&gt;http://itunes.apple.com/us/artist/bri8-ltd/id396468155&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=5b1b952d-3587-8eba-974a-5d9a4856b3e7' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-4016829650182797142?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/4016829650182797142/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=4016829650182797142" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4016829650182797142?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4016829650182797142?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/OS5dI4wbSqw/iphone-apps-app-le-day.html" title="iPhone apps - App-le a day" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/01/iphone-apps-app-le-day.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8GSXs9cCp7ImA9Wx9XEU4.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-7710911872764126556</id><published>2011-01-04T02:27:00.001-08:00</published><updated>2011-01-04T02:27:08.568-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-04T02:27:08.568-08:00</app:edited><title>OpenID</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;It is so convenient to pull out information from account which user already has instead of making the user key in the boring registration form. In a way it follows DRY(do no repeat yourself) principle.&lt;br/&gt;&lt;br/&gt;Here comes OpenID. You can also auto register the user with this php script. Cool stuff for my community site..&lt;br/&gt;&lt;br/&gt;Open ID +PHP :&lt;a href='http://devzone.zend.com/article/3581'&gt; http://devzone.zend.com/article/3581&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=38092a1c-5ae2-806f-9913-f5eb6657917a' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-7710911872764126556?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/7710911872764126556/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=7710911872764126556" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/7710911872764126556?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/7710911872764126556?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/n8MpkA72FFc/openid.html" title="OpenID" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2011/01/openid.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UBSX46cCp7ImA9WhZUFkw.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-4780579595806962796</id><published>2010-12-31T02:04:00.001-08:00</published><updated>2011-06-09T02:20:58.018-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-09T02:20:58.018-07:00</app:edited><title>Tomcat remote debug</title><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;pre class="code-java"&gt;&lt;b&gt;Windows:&lt;/b&gt;
under tomcatHome/bin create a file called &lt;font color="#993300"&gt;startup-debug.bat&lt;/font&gt; or &lt;font color="#993300"&gt;startup.bat&lt;/font&gt; and add below:

&lt;font color="#993300"&gt;set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
catalina.bat jpda start&lt;/font&gt;

&lt;b&gt;UNIX: &lt;/b&gt;
&lt;font color="#993300"&gt;export JPDA_ADDRESS=8000
export JPDA_TRANSPORT=dt_socket
catalina.sh jpda start&lt;/font&gt;

Run the bat/sh file you just modified. Connect at port 8000 for debug..


&lt;/pre&gt;&lt;p&gt;To configure remote debugging when windows as setup as a service you  edit your tomcat configuration and add these startup parameters:&lt;/p&gt;  &lt;p&gt;C:\tomcat\bin&gt; tomcat5w //ES//Tomcat5&lt;/p&gt;  &lt;p&gt;-Xdebug
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n&lt;/p&gt;&lt;pre class="code-java"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;

&lt;div class="zemanta-pixie"&gt;&lt;img src="http://img.zemanta.com/pixy.gif?x-id=14a21f24-8d5d-8fc6-a942-998a8234e0d0" alt="" class="zemanta-pixie-img" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-4780579595806962796?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/4780579595806962796/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=4780579595806962796" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4780579595806962796?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4780579595806962796?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/bRwMjfykX4w/tomcat-remote-debug.html" title="Tomcat remote debug" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2010/12/tomcat-remote-debug.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUNRX87eCp7ImA9Wx9SGUU.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-268459145100898085</id><published>2010-12-10T04:14:00.001-08:00</published><updated>2010-12-10T04:14:54.100-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-10T04:14:54.100-08:00</app:edited><title>Online java IDE</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Its a shame we don't have  a proper online java editor to build full scale web applications in java. &lt;br/&gt;&lt;br/&gt;Most of them found only allow you to compile a small code snippet or dont allow you to execute java code for security reasons. &lt;br/&gt;&lt;br/&gt;Cant imagine the amount of progress we can make if we have a full fledged online java editor. eg: Imagine we are able to do online development of existing java projects on sourceforge site. Imagine how much code you can produce if development is as simple as opening up a browser and keying in your ideas.. Imagine how many projects u can get involved in simultaneously.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;JDK6 has the new in memory as well as runtime compiler API: search JavaCompiler. Not many have taken advantage of it i believe.&lt;br/&gt;&lt;br/&gt;Some online ide like options:&lt;br/&gt;&lt;a href='http://compilr.com/'&gt;compilr&lt;/a&gt; - can only compile, not run&lt;br/&gt;&lt;a href='https://sourceforge.net/projects/ecco/'&gt;ECCO&lt;/a&gt;: - looks like an interesting project on SF but abandoned 3 yrs back&lt;br/&gt;&lt;a href='http://ideone.com/'&gt;ideOne&lt;/a&gt;a simple code  compile and run project&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=27793984-0d1d-8598-8eb5-4b4318951517' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-268459145100898085?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/268459145100898085/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=268459145100898085" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/268459145100898085?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/268459145100898085?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/igu1fixMLT8/online-java-ide.html" title="Online java IDE" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2010/12/online-java-ide.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEESH04fCp7ImA9Wx9SGE8.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-6849776612925573001</id><published>2010-12-08T09:16:00.001-08:00</published><updated>2010-12-08T09:16:49.334-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-08T09:16:49.334-08:00</app:edited><title>iBatis - simplify persistence</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;small&gt;iBatis is in between hibernate and jdbc. A somewhat ORM. It is more about simplicity.&lt;br/&gt;&lt;/small&gt;&lt;h2 class='secondary'&gt;&lt;small&gt;&lt;small&gt;&lt;a name='11'&gt;&lt;span class='atitle'&gt;What is iBatis ?&lt;/span&gt;&lt;/a&gt;&lt;/small&gt;&lt;/small&gt;&lt;/h2&gt;
   &lt;ul&gt;&lt;li&gt;&lt;small&gt;A JDBC Framework&lt;/small&gt;&lt;ul&gt;&lt;li&gt;&lt;small&gt;Developers write SQL, iBATIS executes it using JDBC.
   		&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;No more try/catch/finally/try/catch.
   	&lt;/small&gt;&lt;/li&gt;&lt;/ul&gt;&lt;small&gt;
   	&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;An SQL Mapper&lt;/small&gt;&lt;ul&gt;&lt;li&gt;&lt;small&gt;Automatically maps object properties to prepared statement parameters.
		&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;Automatically maps result sets to objects.
		&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;Support for getting rid of N+1 queries.
   		 	&lt;/small&gt;&lt;/li&gt;&lt;/ul&gt;&lt;small&gt;
   	&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;A Transaction Manager&lt;/small&gt;&lt;ul&gt;&lt;li&gt;&lt;small&gt;iBATIS will provide transaction management for database operations if no
			other transaction manager is available.
		 &lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;iBATIS will use external transaction management (Spring, EJB CMT, etc.)
			if available.  		
   	&lt;/small&gt;&lt;/li&gt;&lt;/ul&gt;&lt;small&gt;
   	&lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;Great integration with &lt;a href='http://www.springframework.com/'&gt;Spring&lt;/a&gt;, but can also be used without Spring (the
Spring folks were early supporters of iBATIS).
   &lt;/small&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;small&gt;&lt;br/&gt;&lt;/small&gt;&lt;h2 class='secondary'&gt;&lt;small&gt;&lt;small&gt;&lt;a name='12'&gt;&lt;span class='atitle'&gt;What isn't iBATIS ?&lt;/span&gt;&lt;/a&gt;&lt;/small&gt;&lt;/small&gt;&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;&lt;small&gt;An ORM&lt;/small&gt;&lt;ul&gt;&lt;li&gt;&lt;small&gt;Does not generate SQL
 &lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;Does not have a proprietary query language
 &lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;Does not know about object identity
 &lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;Does not transparently persist objects
 &lt;/small&gt;&lt;/li&gt;&lt;li&gt;&lt;small&gt;Does not build an object cache
	&lt;/small&gt;&lt;/li&gt;&lt;/ul&gt;&lt;big&gt;
&lt;/big&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;&lt;b&gt;Useful links:&lt;/b&gt;&lt;br/&gt;Spring 3 + ibatis + maven sample in git : &lt;a href='https://github.com/novoj/iBatisWorkShop'&gt;link &lt;/a&gt;&lt;br/&gt;ibatis tutorial: &lt;a href='http://www.developersbook.com/ibatis/iBatis-tutorials/iBatis-tutorials.php'&gt;link&lt;/a&gt;&lt;br/&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/7319827859294577756-6849776612925573001?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/6849776612925573001/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=6849776612925573001" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/6849776612925573001?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/6849776612925573001?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/WARxeY2zjOU/ibatis-simplify-persistence.html" title="iBatis - simplify persistence" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2010/12/ibatis-simplify-persistence.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cGSXY4cCp7ImA9WxFaEU8.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-6265780328943266115</id><published>2010-07-14T08:23:00.001-07:00</published><updated>2010-07-14T08:23:48.838-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-14T08:23:48.838-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Jboss overview" /><title>Jboss overview</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;At a high level :  EJB container + Servlet container  = Jboss application server&lt;br/&gt;&lt;br/&gt;With more and more web applications turning to spring and hibernate tomcat is more than sufficient. But I am writing down the jboss details here as part of my porting project investigation work.&lt;br/&gt;&lt;br/&gt;Default Port: 8180&lt;br/&gt;http:[jboss]/jmx-console makes managing server easier using mbeans.&lt;br/&gt;&lt;br/&gt;&lt;h3&gt;JBoss Directory Structure&lt;/h3&gt;&lt;font face='Courier' font-size='11px'&gt;bin/&lt;/font&gt;  :Scripts to control JBoss&lt;font face='Courier' font-size='11px'&gt;&lt;br/&gt;client/&lt;/font&gt; : Libraries for use by remote clients.&lt;font face='Courier' font-size='11px'&gt;&lt;br/&gt;docs/&lt;/font&gt;  : it's documentation!&lt;font face='Courier' font-size='11px'&gt;&lt;br/&gt;lib/&lt;/font&gt; :Core libraries.&lt;font face='Courier' font-size='11px'&gt;&lt;br/&gt;&lt;font color='#009900'&gt;&lt;b&gt;server/&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;b&gt; : &lt;/b&gt;Services hosted and served. Your apps go in here.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;big&gt;&lt;big&gt;&lt;big&gt;&lt;font face='Courier' font-size='11px'&gt;&lt;font color='#009900'&gt;&lt;b&gt;server/&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;&lt;b&gt; &lt;br/&gt;&lt;/b&gt;               There are three sample configurations: &lt;em&gt;default(&lt;/em&gt;security, transaction services and RMI), &lt;em&gt;minimal&lt;/em&gt;(logging and hot-deployment)
 and &lt;em&gt;all&lt;/em&gt;(Everything in default plus clustering, webservices) . Thee folders under this are useful:&lt;br/&gt;&lt;br/&gt;  &lt;font color='#006600'&gt;&lt;b&gt;conf/ &lt;/b&gt;&lt;/font&gt;    Meta-information for the configuration.&lt;br/&gt;  data/     Data store for JBoss. This directory is created by JBoss when the configuration is started for the first time.&lt;br/&gt;  &lt;b&gt;&lt;font color='#006600'&gt;deploy/&lt;/font&gt;&lt;/b&gt;  Location for the deployed components - dynamically scanned do detect any additions or changes made while JBoss is running (hot-deployment). Put apps here.&lt;br/&gt;  lib/        Libraries (in addition to the core ones) required by this configuration.&lt;br/&gt;  log/      Service specific logs. Like data/ this directory is created by JBoss on first instantiation.&lt;br/&gt;  tmp/     Used as temporary store by JBoss. Similarly to log/ and data/ this directory is created by JBoss.&lt;br/&gt;  work/    Used for JSP caching.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;You can run your own instance of jboss under server/ and starting it from bin/run_[instance].bat ..what this batch file should do is set environment variables, and start jboss using &lt;b&gt;org.jboss.Main -c [instance name]&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Ref: &lt;a href='http://www.novell.com/coolsolutions/feature/14912.html'&gt;http://www.novell.com/coolsolutions/feature/14912.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;&lt;br/&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-6265780328943266115?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/6265780328943266115/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=6265780328943266115" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/6265780328943266115?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/6265780328943266115?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/MK6kK_UkhH8/jboss-overview.html" title="Jboss overview" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2010/07/jboss-overview.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEHQH88fip7ImA9Wx5XGU0.&quot;"><id>tag:blogger.com,1999:blog-7319827859294577756.post-4823465707592738465</id><published>2010-07-07T09:44:00.001-07:00</published><updated>2010-09-19T08:03:51.176-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-19T08:03:51.176-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="document library" /><category scheme="http://www.blogger.com/atom/ns#" term="web content" /><category scheme="http://www.blogger.com/atom/ns#" term="image gallery" /><category scheme="http://www.blogger.com/atom/ns#" term="article" /><category scheme="http://www.blogger.com/atom/ns#" term="liferay web 2.0 java/j2ee" /><title>Liferay CMS/ web content management/ workflow/ staging</title><content type="html">&lt;pre&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Liferay out of the box has a web content management system. The web pages can mostly have these web content (articles) as web pages.
The web content resource are organized as below:

In liferay control panel you have the following for CMS:

&lt;b&gt;Article&lt;/b&gt;
Holds the content. The article fields can be configured using a structure. Can belong to a type. Can apply a category. Can be tagged. Stored in DB column &lt;b&gt;journalarticle.content&lt;/b&gt; as  xml. Web content list and web content article portlets use these articles.

&lt;b&gt;Structure&lt;/b&gt;
Defines all the fields the article will have like text input, text area, image input,etc . Also the velocity template can access these fields using the names configured here.

&lt;b&gt;Template
&lt;/b&gt;  An article&lt;b&gt; &lt;/b&gt;can be displayed using a velocity template. Template can have a structure applied to it. So an article on using a structure can choose one of these templates.

&lt;b&gt;Tags and categories&lt;/b&gt;
Provides a way to organize articles.

&lt;b&gt;Document library&lt;/b&gt;
Documents can be uploaded. They are stored in the database. There is a document library portlet for managing this.

&lt;b&gt;Image gallery&lt;/b&gt;
Holds images. These are available for article.


More on the workflow staging later...&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;/div&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Please refer my other post &lt;a href="http://simplyblogmadi.blogspot.com/2010/05/liferay-5.html"&gt;here&lt;/a&gt; for more




&lt;/div&gt;
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7319827859294577756-4823465707592738465?l=simplyblogmadi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://simplyblogmadi.blogspot.com/feeds/4823465707592738465/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7319827859294577756&amp;postID=4823465707592738465" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4823465707592738465?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7319827859294577756/posts/default/4823465707592738465?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/FGWR/~3/fziVZoObOrU/liferay-cms-web-content-management.html" title="Liferay CMS/ web content management/ workflow/ staging" /><author><name>sandeep</name><uri>http://www.blogger.com/profile/10421899857049098710</uri><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><feedburner:origLink>http://simplyblogmadi.blogspot.com/2010/07/liferay-cms-web-content-management.html</feedburner:origLink></entry></feed>

